Nick Mathewson
00b37f071d
Revise parsing of time and memory units to handle spaces.
...
When we added support for fractional units (like 1.5 MB) I broke
support for giving units with no space (like 2MB). This patch should
fix that. It also adds a propoer tor_parse_double().
Fix for bug 1076. Bugfix on 0.2.2.1-alpha.
2009-08-31 00:18:55 -04:00
Karsten Loesing
7b716878cb
Fix dirreq and cell stats on 32-bit architectures.
...
When determining how long directory requests take or how long cells spend
in queues, we were comparing timestamps on microsecond detail only to
convert results to second or millisecond detail later on. But on 32-bit
architectures this means that 2^31 microseconds only cover time
differences of up to 36 minutes. Instead, compare timestamps on
millisecond detail.
2009-07-27 16:23:53 +02:00
Karsten Loesing
8f1a973669
Two tweaks to exit-port statistics.
...
Add two functions for round_to_next_multiple_of() for uint32_t and
uint64_t.
Avoid division in every step of the loop over all ports.
2009-07-13 22:43:06 +02:00
Nick Mathewson
cb18fc2190
Merge commit 'origin/maint-0.2.1'
2009-05-27 18:12:18 -04:00
Nick Mathewson
ec7e054668
Spell-check Tor.
2009-05-27 17:55:51 -04:00
Karsten Loesing
9b32e8c141
Update copyright to 2009.
2009-05-04 11:28:27 -04:00
Karsten Loesing
4ebcc4da34
Update copyright to 2009.
2009-05-02 22:00:54 +02:00
Nick Mathewson
6ac3a8b0cd
Command-line option to dump SHA1 digests of all source files.
...
Now, when you call tor --digests, it dumps the SHA1 digest of each
source file that Tor was built with. We support both 'sha1sum' and
'openssl sha1'. If the user is building from a tarball and they
haven't edited anything, they don't need any program that calculates
SHA1. If they _have_ modified a file but they don't have a program to
calculate SHA1, we try to build so we do not output digests.
2009-04-29 14:46:04 -04:00
Nick Mathewson
26d83fc04c
Add a simple locale-independent no-surprises sscanf replacement.
...
tor_sscanf() only handles %u and %s for now, which will make it
adequate to replace sscanf() for date/time/IP parsing. We want this
to prevent attackers from constructing weirdly formed descriptors,
cells, addresses, HTTP responses, etc, that validate under some
locales but not others.
svn:r18760
2009-03-03 18:02:31 +00:00
Nick Mathewson
c4b8fef362
Remove svn $Id$s from our source, and remove tor --version --version.
...
The subversion $Id$ fields made every commit force a rebuild of
whatever file got committed. They were not actually useful for
telling the version of Tor files in the wild.
svn:r17867
2009-01-04 00:35:51 +00:00
Nick Mathewson
e8a3fa91a6
Use a consistent naming standard for header file guard macros, taking care not to collide with any system headers. This tripped us up on Android.
...
svn:r17805
2008-12-29 02:21:02 +00:00
Nick Mathewson
efb863189c
Expose hex_decode_digit from util.c
...
svn:r17706
2008-12-19 18:51:52 +00:00
Nick Mathewson
bf80e2df3f
Replace calls to time(NULL) that occur on the order of once per read, one per write, or once per cell with calls to a function that looks at a cached value of time. This is tricksy to benchmark, since it will only help on systems where time() is a syscall and syscalls are relatively slow.
...
svn:r17690
2008-12-18 17:19:04 +00:00
Nick Mathewson
4277b0e926
Remove some cargo-cult gcc hacks around tor_assert and predict_unlikely; instead, use the standard convert-to-boolean hack of "svn st"
...
svn:r17597
2008-12-11 20:23:46 +00:00
Nick Mathewson
35bef7fefd
make read_all and write_all return ssize_t.
...
svn:r17194
2008-11-05 19:29:17 +00:00
Nick Mathewson
3f84ed3d46
Add a new memcmpstart to use instead of strcmpstart when the thing we are comparing is not nul-terminated.
...
svn:r17187
2008-11-03 16:35:48 +00:00
Nick Mathewson
0ab45fee73
Document some dmalloc stuff and some stupid C tricks.
...
svn:r17161
2008-10-27 16:30:52 +00:00
Nick Mathewson
9da0482007
r17358@pc-10-8-1-079: nickm | 2008-07-25 16:41:03 +0200
...
Split out the address manipulation functions from compat and util: they were about 21% of the total of those, and spread out too much.
svn:r16208
2008-07-25 14:43:24 +00:00
Nick Mathewson
3ce6e2fba2
r17346@aud-055: nickm | 2008-07-24 15:37:19 +0200
...
Make generic address manipulation functions work better. Switch address policy code to use tor_addr_t, so it can handle IPv6. That is a good place to start.
svn:r16178
2008-07-24 13:44:04 +00:00
Nick Mathewson
b375472d14
r14373@tombo: nickm | 2008-02-21 16:29:18 -0500
...
Apply warnings about implicit 64-to-32 conversions; some from Sebastian Hahn; some not.
svn:r13664
2008-02-21 21:57:42 +00:00
Nick Mathewson
8b1789c71f
r18336@catbus: nickm | 2008-02-21 09:33:15 -0500
...
Patch from Sebastian Hahn: remove obsolete timeval manipulation functions.
svn:r13653
2008-02-21 14:33:20 +00:00
Nick Mathewson
24e8e1fb36
r14185@tombo: nickm | 2008-02-15 18:05:54 -0500
...
Replace the hefty tor_strpartition with a simple function to replace its only (trivial) use.
svn:r13532
2008-02-15 23:39:14 +00:00
Nick Mathewson
842a33ff20
Update some copyright notices: it is now 2008.
...
svn:r13412
2008-02-07 05:31:47 +00:00
Nick Mathewson
6d58d80e78
r17472@catbus: nickm | 2008-01-05 22:10:19 -0500
...
Another test for the increasingly bad check-spaces style checker to check: #else\n#if is almost a sure sign of a failure to use #elif. Fortunately, we only did that 3 times.
svn:r13039
2008-01-06 03:16:08 +00:00
Nick Mathewson
86f5180853
r15786@tombo: nickm | 2008-01-02 01:11:51 -0500
...
Push the strdups used for parsing configuration lines into parse_line_from_string(). This will make it easier to parse more complex value formats, which in turn will help fix bug 557
svn:r13020
2008-01-02 06:59:12 +00:00
Nick Mathewson
0c8142e981
r15691@tombo: nickm | 2007-12-25 18:13:54 -0500
...
New, slightly esoteric function, tor_malloc_roundup(). While tor_malloc(x) allocates x bytes, tor_malloc_roundup(&x) allocates the same size of chunk it would use to store x bytes, and sets x to the usable size of that chunk.
svn:r12981
2007-12-26 00:12:01 +00:00
Roger Dingledine
1d8a8063b9
clean up copyrights, and assign 2007 copyrights to The Tor Project, Inc
...
svn:r12786
2007-12-12 21:09:01 +00:00
Nick Mathewson
c0c2001a5b
r16279@catbus: nickm | 2007-10-30 11:14:29 -0400
...
Improved skew reporting: "You are 365 days in the duture" is more useful than "You are 525600 minutes in the future". Also, when we get something that proves we are at least an hour in the past, tell the controller "CLOCK_SKEW MIN_SKEW=-3600" rather than just "CLOCK_SKEW"
svn:r12283
2007-10-30 15:17:07 +00:00
Nick Mathewson
509bc3b4a0
r14359@Kushana: nickm | 2007-09-08 15:07:17 -0400
...
Add some generic skew-and-tolerance functions so we can handle time more sanely.
svn:r11406
2007-09-08 19:08:46 +00:00
Nick Mathewson
f189ecbf20
r14832@catbus: nickm | 2007-08-29 15:00:27 -0400
...
Use (and debug) new file-writing functions in order to simplify code that formerly built big strings in RAM.
svn:r11301
2007-08-29 19:02:43 +00:00
Nick Mathewson
8408122222
r14831@catbus: nickm | 2007-08-29 14:17:42 -0400
...
Refactor write_chunks_to_file_impl: break out the "pick a temporary name if it makes sense, and open the right filename" logic and the "close the file and unlink or rename if necessary" logic. This will let us write big files in a smarter way than "Build a big string" or "make a list of chunks", once we get around to using it.
svn:r11300
2007-08-29 19:02:37 +00:00
Nick Mathewson
3fc04529d4
r14093@catbus: nickm | 2007-08-08 01:49:54 -0400
...
Include fewer redundant headers; use the compiler search paths better.
svn:r11060
2007-08-08 05:50:31 +00:00
Nick Mathewson
50f5f63678
r14091@catbus: nickm | 2007-08-08 01:13:17 -0400
...
Fix an annoying warning on OpenBSD: only include malloc.h if we are using it.
svn:r11059
2007-08-08 05:14:03 +00:00
Nick Mathewson
45c82b1d85
r14024@catbus: nickm | 2007-07-30 14:13:58 -0400
...
Glibc (and maybe others) define a mallinfo() that can be used to see how the platform malloc is acting inside. When we have it, dump its output on dumpmemusage().
svn:r10996
2007-07-30 18:14:14 +00:00
Nick Mathewson
4a240552c4
r13834@catbus: nickm | 2007-07-19 15:40:42 -0400
...
Another patch from croup: drop support for address masks that do not correspond to bit prefixes. Nobody has used this for a while, and we have given warnings for a long time.
svn:r10881
2007-07-19 19:40:45 +00:00
Nick Mathewson
bbbf504281
r13827@catbus: nickm | 2007-07-19 14:42:25 -0400
...
Merge in some generic address manipulation code from croup. Needs some work.
svn:r10880
2007-07-19 18:46:09 +00:00
Nick Mathewson
ad45ddfb07
r13788@catbus: nickm | 2007-07-16 14:26:25 -0400
...
Patch from croup: rewrite the logic of get_next_token() to do the right thing with input that ends at weird places, or aligns with block boundaries after mmap. should fix bug 455. Needs fuzzing.
svn:r10847
2007-07-16 18:26:31 +00:00
Nick Mathewson
7e20fdbefb
r13687@catbus: nickm | 2007-07-10 16:08:14 -0400
...
Possible partial fix for bug 455: use eos logic everywhere.
svn:r10786
2007-07-10 20:08:18 +00:00
Nick Mathewson
5adfa09fce
r13477@catbus: nickm | 2007-06-17 14:22:03 -0400
...
Sun CC likes to give warnings for the do { } while(0) construction for making statement-like macros. Define STMT_BEGIN/STMT_END macros that do the right thing, and use them everywhere.
svn:r10645
2007-06-17 18:22:39 +00:00
Nick Mathewson
aee7f01624
r13154@catbus: nickm | 2007-06-02 11:26:44 -0400
...
Server-side support for If-Modified-Since in HTTP requsts for v1 stuff, and for network-status documents.
svn:r10451
2007-06-02 15:26:57 +00:00
Nick Mathewson
bb524e99c9
r12955@catbus: nickm | 2007-05-25 13:17:30 -0400
...
First bare stubs of ipv6 work: commit some (untested, hence doublessly broken) implementations of inet_ntop/pton for systems that lack them.
svn:r10326
2007-05-25 18:22:37 +00:00
Nick Mathewson
d3d86b17a7
r12916@catbus: nickm | 2007-05-24 12:43:45 -0400
...
Add math functions to round values to the nearest power of 2. Make mempools more careful about making sure that the size of their chunks is a little less than a power of 2, not a little more.
svn:r10304
2007-05-24 17:12:57 +00:00
Nick Mathewson
4ec5e139c8
r12850@catbus: nickm | 2007-05-21 22:20:42 -0400
...
Partial backport candidate: do not rely on finding a \0 after an mmaped() router/extrainfo file. Also, set journal length correctly when starting up.
svn:r10248
2007-05-22 02:20:52 +00:00
Nick Mathewson
d1ad950ca8
Turn bool_neq and bool_eq into macros.
...
svn:r9914
2007-03-29 02:37:06 +00:00
Nick Mathewson
d62e37b4a9
r12473@Kushana: nickm | 2007-03-06 15:49:45 -0500
...
Excise PREDICT and PREDICT_FALSE in favor of PREDICT_LIKELY and PREDICT_UNLIKELY.
svn:r9781
2007-03-09 21:39:19 +00:00
Nick Mathewson
5d1bee87ff
r12468@Kushana: nickm | 2007-03-06 15:24:00 -0500
...
More unit tests: gcov is fun.
svn:r9748
2007-03-06 20:25:44 +00:00
Roger Dingledine
9946bb7fbd
cosmetic, comment, and todo fixes
...
svn:r9627
2007-02-24 01:12:53 +00:00
Nick Mathewson
d4aaffc6e7
r11824@catbus: nickm | 2007-02-16 13:16:47 -0500
...
Move all struct-offset-manipulation macros into util.h, and use them consistently. Because there are days when "SUBTYPE_P(handle, subtype, _base)" is just easier to read and write than "(basetp*)(((handle) - STRUCT_OFFSET(subtype, _base))".
svn:r9592
2007-02-16 20:00:43 +00:00
Nick Mathewson
759c58151e
r11775@catbus: nickm | 2007-02-12 16:39:09 -0500
...
Update copyright dates.
svn:r9570
2007-02-12 21:39:53 +00:00
Nick Mathewson
30e7c05075
r11774@catbus: nickm | 2007-02-12 16:31:47 -0500
...
Handle errors on opening cached-routers* more uniformly and sanely: log not-found errors at level INFO, and all other errors at level WARN. Needs testing on win32.
svn:r9569
2007-02-12 21:39:44 +00:00
Nick Mathewson
f02be02356
r11639@catbus: nickm | 2007-02-05 13:33:38 -0500
...
Add documentation to src/common/*.h; improve documentation for SMARTLIST_FOREACH; remove never-used options and corresponding tests from tor_strpartition.
svn:r9483
2007-02-05 18:33:52 +00:00
Nick Mathewson
fefba95363
r11629@catbus: nickm | 2007-02-02 15:06:17 -0500
...
Removing the last DOCDOC comment hurt so much that I had to use Doxygen to identify undocumented macros and comments, and add 150 more DOCDOCs to point out where they were. Oops. Hey, kids! Fixing some of these could be your first Tor patch!
svn:r9477
2007-02-02 20:06:43 +00:00
Nick Mathewson
5cb99857bc
r11620@catbus: nickm | 2007-02-01 13:06:27 -0500
...
Call stat() slightly less often; use fstat() when possible.
svn:r9472
2007-02-01 18:09:27 +00:00
Nick Mathewson
6fbf17e7b0
r11749@Kushana: nickm | 2006-12-29 00:51:42 -0500
...
Remove dead code; make targets of addressmap commands/configs use AllowNonRFC953Hostnames
svn:r9211
2006-12-29 05:51:50 +00:00
Nick Mathewson
078aab810b
r11597@Kushana: nickm | 2006-12-15 15:49:27 -0500
...
Add a rudimentary line-wrapping function for use in dumping comments in config files.
svn:r9132
2006-12-15 21:26:23 +00:00
Nick Mathewson
7551c44a53
r9274@Kushana: nickm | 2006-10-19 16:16:58 -0400
...
Add unit tests for tor_mmap_file(); make tor_mmap_t.size always be the size of the file (not the size of the mapping); add an extra argument to read_file_to_str() so it can return the size of the result string.
svn:r8762
2006-10-19 23:05:02 +00:00
Nick Mathewson
bff83b666c
r8846@totoro: nickm | 2006-10-02 16:59:57 -0400
...
Move is_local_IP to config.c; have it check for same-/24; make it used only for reachability (not for banwidth, because that is probably not what we want). Fixes an XXX.
svn:r8578
2006-10-02 21:00:35 +00:00
Nick Mathewson
78c068397a
add missing paren in dmalloc tor_free
...
svn:r8498
2006-09-25 15:44:40 +00:00
Nick Mathewson
6b716fdfb9
NEEDS REVIEW. Act on previous comment, and handle named servers differently: now, we allow multiple servers with the same name in the routerlist even if that name is reserved, but we check whether names are reserved when we try to look up routers by nickname. This is a minor security fix. This makes router_add_to_routerlist O(1). This is a backport candidate.
...
svn:r8433
2006-09-19 23:48:14 +00:00
Roger Dingledine
9af3175687
parameterize the loudness of get_interface_address()
...
svn:r8358
2006-09-09 19:20:27 +00:00
Nick Mathewson
b68ffcc193
r7341@Kushana: nickm | 2006-08-11 00:51:05 -0700
...
Amazing how much difference adding a ! to all your asserts can make.
svn:r7029
2006-08-11 07:51:34 +00:00
Nick Mathewson
33fc829273
r7337@Kushana: nickm | 2006-08-11 00:42:04 -0700
...
Only use __builtin_offsetof with gcc 4 or later
svn:r7028
2006-08-11 07:42:11 +00:00
Nick Mathewson
ffab3b48a8
r7326@Kushana: nickm | 2006-08-10 23:50:49 -0700
...
And another GCC change: predict that tor_frees() are usually real frees, and tor_asserts() usually wont happen. Other test should wait till -fprofile-arcs
svn:r7022
2006-08-11 07:09:35 +00:00
Nick Mathewson
4eddbcf262
r7325@Kushana: nickm | 2006-08-10 23:37:31 -0700
...
Use gcc offsetof where available.
svn:r7021
2006-08-11 07:09:28 +00:00
Nick Mathewson
09a895e222
r7324@Kushana: nickm | 2006-08-10 23:23:15 -0700
...
Add more warnings to the list of those we tolerate. Start using GCC attributes more, for better error checking and better code generation.
svn:r7020
2006-08-11 07:09:17 +00:00
Nick Mathewson
ea0f5ec8ad
r6980@Kushana: nickm | 2006-07-31 13:18:22 -0400
...
Add a utility function to verify that a string has been through strlower.
svn:r6959
2006-07-31 18:01:37 +00:00
Nick Mathewson
35960e1162
Add a mem_is_zero function (I think we will need this) and a STRUCT_OFFSET macro (we already need this).
...
svn:r6810
2006-07-23 05:32:35 +00:00
Roger Dingledine
fad85f173a
when an exit node gets a malformed begin cell, don't complain to
...
the node operator, since he can't do anything about it.
svn:r6733
2006-07-06 02:44:07 +00:00
Roger Dingledine
35e95d7783
minor fixes
...
svn:r6710
2006-07-04 03:25:07 +00:00
Nick Mathewson
f83a628a76
perhaps the reason I rail against cut-and-paste programming so vehemently is that I am so bad at it.
...
svn:r6638
2006-06-18 07:32:31 +00:00
Nick Mathewson
af8096815e
Add a memdup function to util
...
svn:r6635
2006-06-18 07:22:36 +00:00
Roger Dingledine
0e62befab8
add tor_strisprint() back in, this time with comments.
...
svn:r6170
2006-03-15 23:35:55 +00:00
Roger Dingledine
4cd4353847
and remove now-extraneous function
...
svn:r6168
2006-03-15 19:17:46 +00:00
Nick Mathewson
0c132ee2a1
Instead of listing a set of compilers that prefers __func__ to __FUNCTION__, use autoconf. Also, prefer __func__ in our own code: __func__ is a C99 standard, whereas __FUNCTION__ is not. [Fixes bug 254.]
...
svn:r6144
2006-03-13 00:25:36 +00:00
Nick Mathewson
5777ee0e1a
Add some functions to escape values from the network before sending them to the log. Use them everywhere except for routerinfo->plaftorm, routerinfo->contact_info, and rend*.c. (need sleep now)
...
svn:r6087
2006-03-05 09:50:26 +00:00
Nick Mathewson
6a4e304d9e
Allow private:* in routerdescs; not generated yet (because older Tors do not understand it); needs testing.
...
svn:r6086
2006-03-05 05:27:59 +00:00
Nick Mathewson
dba155ecff
Generate 18.0.0.0/8 address policy format in descs when we can; warn when the mask is not reducible to a bit-prefix.
...
svn:r5991
2006-02-12 23:58:22 +00:00
Roger Dingledine
5f051574d5
Happy new year!
...
svn:r5949
2006-02-09 05:46:49 +00:00
Nick Mathewson
7fc62029d4
Refuse to use RunAsDaemon when torrc is a relative path. Fixes bug 229.
...
svn:r5767
2006-01-10 20:00:20 +00:00
Nick Mathewson
a1bcdb2f76
util.c:1308: error: conflicting types for "is_internal_IP"
...
svn:r5545
2005-12-09 05:15:36 +00:00
Nick Mathewson
6b49a93bd5
Move code to check for zero digests into util.c
...
svn:r5468
2005-11-30 02:47:59 +00:00
Roger Dingledine
c68cadc0c8
tor_assert had a misleading comment
...
svn:r5338
2005-11-01 06:12:51 +00:00
Nick Mathewson
5d85560d9e
Remove last vestiges of old logging interface.
...
svn:r5317
2005-10-25 18:01:01 +00:00
Nick Mathewson
932106f54c
Efficiency hack: call tor_fix_source_file late, not early. Add "BUG" domain. Domains are now bitmasks... just in case. Make some err msgs non-general.
...
svn:r5309
2005-10-25 07:05:03 +00:00
Nick Mathewson
edf5698474
Start dividing log messages into logging domains. No, LD_ is not the best of identifiers. src/or has not been converted yet. Domains dont do anything yet.
...
svn:r5284
2005-10-18 21:58:19 +00:00
Nick Mathewson
768160c872
Inline key smartlist functions; use fast versions by default.
...
svn:r5265
2005-10-18 04:51:07 +00:00
Nick Mathewson
ba24193ab5
Make doxygen marginally happier
...
svn:r5208
2005-10-06 04:33:40 +00:00
Nick Mathewson
c5ee3e961e
Reorganize some quick-and-dirty code to find out what openssl stuff is leaking, using dmalloc.
...
svn:r5178
2005-10-03 20:20:38 +00:00
Nick Mathewson
26e7a05725
even better function start checks; give dmalloc a chance of working.
...
svn:r5162
2005-09-30 01:39:24 +00:00
Nick Mathewson
5c53545d81
Add a bunch more warnings to out warning suite; resolve them; pack structs a little better.
...
svn:r5150
2005-09-29 22:59:17 +00:00
Nick Mathewson
d4fb1fcd6c
Two new functions like write_bytes_to_file: one takes a list of byte-and-len structs; one appends.
...
svn:r5024
2005-09-13 06:19:31 +00:00
Nick Mathewson
c4b3bf06c6
add strupper function
...
svn:r4934
2005-09-08 18:33:51 +00:00
Nick Mathewson
b6a13b6cdf
Add directory listing functions to util.[ch]. Watch the features creep!
...
svn:r4906
2005-09-03 04:40:05 +00:00
Roger Dingledine
d5e426ab51
add a tor_dup_addr() function to simplify malloc()+tor_inet_ntoa()
...
svn:r4838
2005-08-26 07:37:07 +00:00
Nick Mathewson
11ff0aba80
Make clients regenerate their keys when their IP address changes.
...
svn:r4688
2005-08-03 20:42:17 +00:00
Nick Mathewson
0831823763
Change end-of-file NLNL convention. It turns out arma I and I agree.
...
svn:r4382
2005-06-09 19:03:31 +00:00
Roger Dingledine
509405a5f7
clean up this TOR_FRAGILE business
...
svn:r4116
2005-04-26 18:52:16 +00:00
Roger Dingledine
652dde72f1
bugfix: chdir to your datadirectory at the *end* of the
...
daemonize process, not the beginning. this was a problem
because the first time you run tor, if your datadir isn't
there, and you have runasdaemon set to 1, it will try to
chdir to it before it tries to create it. oops.
svn:r4033
2005-04-06 19:07:38 +00:00
Nick Mathewson
0e81265359
update copyright notices.
...
svn:r3982
2005-04-01 20:15:56 +00:00
Nick Mathewson
bbaa3c7792
Implement more control spec functionality
...
- Mapaddress
- Postdescriptor
- GetInfo on descriptors
Required changes elsewhere:
- Keep the most recent running_routers_t in the routerlist_t. That way we
can learn about new routers and remember whether we were last told that
they were up or down. Also enables more simplifications.
- Keep the signed descriptor inside routerinfo_t. This makes
descriptor_entry_t in dirservers.c unneeded.
- Rename AddressMap (the verb) to MapAddress. Keep AddressMap as a noun.
- Check addresses for plausibility before mapping them.
svn:r3696
2005-02-25 20:46:13 +00:00
Nick Mathewson
6e6d95b3db
Change from inet_ntoa to a threadproof tor_inet_ntoa.
...
svn:r3656
2005-02-22 08:18:36 +00:00
Peter Palfrader
ddd724ef94
Add --with-dmalloc configure option
...
svn:r3508
2005-02-03 07:25:10 +00:00
Roger Dingledine
cf17d0d29c
move network_init from or/main to common/compat
...
call network_init in tor-resolve.c too
move tor_lookup_hostname from common/util to common/compat
svn:r3203
2004-12-22 05:29:06 +00:00
Nick Mathewson
c79c4200f4
Fix a bug in last patch; and keep my name out of the assert() call too.
...
svn:r3200
2004-12-22 02:46:28 +00:00
Nick Mathewson
32978afa54
Workaround for brain-damaged __FILE__ handling on MSVC: keep Nick's name out
...
of the warning messages.
svn:r3199
2004-12-22 02:32:26 +00:00
Nick Mathewson
ad7db5e43a
Add casei versions of strcmpstart/strcmpend
...
svn:r3026
2004-11-30 03:10:56 +00:00
Nick Mathewson
7fbd297532
Suggestion from weasel: Make tor --version --version dump the cvs Id of every file.
...
svn:r3019
2004-11-29 22:25:31 +00:00
Nick Mathewson
eccfe23a21
Disallow NDEBUG. It is very stupid.
...
svn:r3012
2004-11-29 07:22:57 +00:00
Nick Mathewson
6f5dbefa7e
Normalize space: add one between every control keyword and control clause.
...
svn:r3003
2004-11-28 09:05:49 +00:00
Roger Dingledine
7c9a707900
remove emacs droppings, since nick says he doesn't need them anymore
...
svn:r2989
2004-11-26 04:00:55 +00:00
Nick Mathewson
55df2620c6
Add function to format local time in ISO format
...
svn:r2935
2004-11-22 21:38:44 +00:00
Nick Mathewson
cd753df7bf
Resolve many XXXs and all DOCDOCs
...
svn:r2755
2004-11-09 18:22:17 +00:00
Nick Mathewson
180e0a9326
Make check_private_dir trimodal (check/create/ignore), not bimodal (create/ignore).
...
svn:r2733
2004-11-09 07:12:31 +00:00
Roger Dingledine
865f341708
parse_line_from_file is obsolete.
...
svn:r2693
2004-11-06 05:18:29 +00:00
Nick Mathewson
38ed0ce5e6
Unify tor_parse_(numeric); make sure MAX_UINT32 and MAX_UINT64 are defined
...
svn:r2688
2004-11-05 17:54:50 +00:00
Nick Mathewson
9d604ec615
Add code to read configuration lines from a string as well as a file
...
svn:r2676
2004-11-04 22:29:45 +00:00
Nick Mathewson
d5244e3872
Add a write_bytes_to_file so we can have files with NULs in them.
...
svn:r2662
2004-11-03 19:02:48 +00:00
Roger Dingledine
e761cc9750
my assert.h takes extra pains to be certain to _re-include_
...
itself if you include it twice. this is dumb, but hey.
svn:r2653
2004-11-03 07:29:03 +00:00
Nick Mathewson
67f14032b1
Handle strlcat/strlcpy correctly on platforms that have them.
...
svn:r2647
2004-11-02 19:25:52 +00:00
Roger Dingledine
85c79ffbc7
canonicalize "src" and "dest" arg order in crypto.c (and others)
...
svn:r2644
2004-11-02 02:28:51 +00:00
Nick Mathewson
ce79bab7f1
Split util into util (general utilities), container (smartlist and strmap), and compat (cross-platform compatability).
...
svn:r2640
2004-11-01 20:41:47 +00:00
Roger Dingledine
4689243242
make sure options.MaxConn can be reached
...
svn:r2638
2004-11-01 08:24:34 +00:00
Nick Mathewson
ce5709184b
Pass with -Wstrict-prototypes
...
svn:r2614
2004-10-27 18:16:37 +00:00
Nick Mathewson
22dc19b590
snprintf wrapper with consistant (though not C99) overflow behavior
...
svn:r2606
2004-10-27 06:26:23 +00:00
Nick Mathewson
5d53828c57
Handle more errnos from accept() without closing the connection. This may fix a bug that could close OR listeners when (a) TCP connections were hung up before accept() could be called, or (b) during FD exhaustion.
...
svn:r2579
2004-10-24 00:55:18 +00:00
Nick Mathewson
6899b8001a
Check for low _MSC_VER, not high. On windows, always use winsock.
...
svn:r2575
2004-10-20 23:30:38 +00:00
Roger Dingledine
c4c6ee7d61
add winsock if you've got it, regardless of whether you're msv
...
svn:r2573
2004-10-20 23:23:53 +00:00
Nick Mathewson
69d7b468b4
Refactor parse-addr-mask-and-port-range into a separate function
...
svn:r2540
2004-10-16 21:41:12 +00:00
Nick Mathewson
f619c4603e
Add an autoconf test to make sure that memset(&ptr, 0, sizeof(ptr)) and ptr=NULL are equivalent
...
svn:r2536
2004-10-16 20:26:12 +00:00
Nick Mathewson
f359389866
Oops; make sure that break; and continue; work within SMARTLIST_FOREACH
...
svn:r2532
2004-10-15 20:49:31 +00:00
Nick Mathewson
5e80944c52
Use token-pasting magic to make nested SMARTLIST_FOREACH work.
...
svn:r2526
2004-10-15 04:45:47 +00:00
Nick Mathewson
c5964d6738
Basic string-join functionality
...
svn:r2521
2004-10-14 19:51:47 +00:00
Roger Dingledine
69830afc16
and another one
...
svn:r2484
2004-10-14 02:49:48 +00:00
Roger Dingledine
fe54bd00b9
ok, vim isn't the greatest editor in the world
...
svn:r2457
2004-10-12 20:28:53 +00:00
Roger Dingledine
a7d858bd6e
start the great migration from int to size_t
...
and clean some deadweight from util.h
svn:r2455
2004-10-12 20:20:19 +00:00
Nick Mathewson
19da1f36c2
Make a bounds-checking replacement for strtol with slightly easier error-checking in the common case
...
svn:r2452
2004-10-12 19:32:41 +00:00
Nick Mathewson
8b037509f3
Add functions to parse addr[:port] consistently
...
svn:r2440
2004-10-12 15:48:30 +00:00
Nick Mathewson
6c970aec94
Turn tor_strpartion into a swiss-army-knife function, so it can terminate or not-terminate appropriately.
...
svn:r2429
2004-10-07 21:37:06 +00:00
Nick Mathewson
7b98fb58eb
More complete docs for crypto.c; factor out string partitioning code
...
svn:r2427
2004-10-07 20:58:53 +00:00
Nick Mathewson
ce3162d035
Make base-64-encoded DER work, including workaround for ugly openssl misfeature that makes base64 decoding fail when you strip out the newlines.
...
svn:r2423
2004-10-07 03:11:42 +00:00
Nick Mathewson
0ef85f6dba
Some platforms have weird translations when you open files in "test" mode; make read/write_str_to_file aware.
...
svn:r2336
2004-09-08 07:16:34 +00:00
Nick Mathewson
f311206d1d
Make split function smarter; add a strcmpstart function so we can stop bungling strcmp(x, y, strlen(y));
...
svn:r2325
2004-09-02 18:25:50 +00:00
Roger Dingledine
d91cacb839
agree with nick: this legal-chars-in-filename stuff gets us nothing
...
svn:r2310
2004-08-24 21:57:12 +00:00
Nick Mathewson
015232bd39
As far as I can tell, CONFIG_LEGAL_FILENAME_CHARACTERS is both pointless and broken. #if it out, pending agreement from arma. This fixes a bug on win32 that rejected paths with a : in them.
...
svn:r2309
2004-08-24 20:48:22 +00:00
Nick Mathewson
7979c0277d
Workaround for oddity in cygwin autoconf
...
svn:r2301
2004-08-19 17:21:17 +00:00
Nick Mathewson
86980cf6e2
Functions to test nickname validity
...
svn:r2269
2004-08-18 04:44:24 +00:00
Nick Mathewson
7cb93e5bb6
Move string-splitting into a separate function
...
svn:r2263
2004-08-17 21:06:36 +00:00
Nick Mathewson
8566bbb489
Add strmap_isempty
...
svn:r2250
2004-08-17 06:28:34 +00:00
Nick Mathewson
15a903b21c
Convenience function to do a strcmp on each member of a smartlist of strings
...
svn:r2243
2004-08-16 20:46:00 +00:00
Nick Mathewson
6453a25567
Add replace_file to util.[ch] to survive stupidity of windows rename call
...
svn:r2208
2004-08-09 04:28:25 +00:00
Nick Mathewson
f6cc218742
Refactor ISO-style (yyyy-mm-dd hh:mm:ss) time parsing into util.c; rename format/parse_rfc1123_time; make rephist remember used bandwidth; published used bandwidth in descriptors in 15-minute chunks. Breaks unittests.
...
svn:r2182
2004-08-07 02:46:16 +00:00
Nick Mathewson
380f32f07d
hex_encode is obsoleted by base16_encode, and never actually worked in the first place. (Thanks to Timo Lindfors for noticing the never-actually-worked part.)
...
svn:r2175
2004-08-07 01:03:33 +00:00
Nick Mathewson
14d5478f29
Add functions to format and parse RFC1123-style times, for HTTP protocol.
...
svn:r2129
2004-08-04 01:11:15 +00:00
Nick Mathewson
849e998ac6
It is possible to have struct timeval but not gettimeofday.
...
svn:r2125
2004-08-03 23:31:22 +00:00
Nick Mathewson
06c11a61ce
When faking gettimeofday with ftime, do it right.
...
svn:r2068
2004-07-20 21:23:50 +00:00
Nick Mathewson
9364c40afd
Add generic expand_filename function to handle expanding ~/
...
svn:r2047
2004-07-15 02:00:43 +00:00
Roger Dingledine
7e344f191a
add is_local_IP() function to help distinguish which bandwidth "matters"
...
svn:r2040
2004-07-13 16:57:37 +00:00
Nick Mathewson
b1e9adf056
Always use get_data_directory() instead of options.DataDirectory; fix a memory leak in router.c
...
svn:r1991
2004-06-30 16:37:08 +00:00
Nick Mathewson
17b5b3685f
Make tor build on win32 again; handle locking for server
...
svn:r1948
2004-06-05 01:50:35 +00:00
Nick Mathewson
7511fbf993
Resolve some XXXs
...
svn:r1889
2004-05-18 15:35:21 +00:00
Roger Dingledine
5dd9e60231
doxygen markup for common/*.h
...
svn:r1840
2004-05-10 07:54:13 +00:00
Nick Mathewson
93576d5289
Add doxygen markup for util and buffers
...
svn:r1820
2004-05-07 17:04:12 +00:00
Nick Mathewson
e6f3bf2a68
tor_assert(), not assert()
...
svn:r1777
2004-05-02 20:27:48 +00:00
Nick Mathewson
af08c4f878
Working strerror for windows socket errors, plus some snide comments.
...
svn:r1775
2004-05-02 20:18:21 +00:00
Nick Mathewson
908ccb9dcd
Handle windows socket errors correctly; comment most of common.
...
svn:r1756
2004-05-01 20:46:28 +00:00
Roger Dingledine
4b316b4a7d
some cosmetic fixes
...
svn:r1747
2004-04-29 02:52:49 +00:00
Nick Mathewson
5a9b144092
Oops -- the Windows function is closesocket, not socketclose
...
svn:r1746
2004-04-28 21:17:42 +00:00
Nick Mathewson
9322641710
Use socketclose on windows as appropriate; end pid files with newline
...
svn:r1745
2004-04-28 21:14:56 +00:00
Nick Mathewson
ddb15b8f67
Remove IVs from cipher code, since AES-ctr has none.
...
svn:r1742
2004-04-28 20:31:32 +00:00
Roger Dingledine
47dc5cd1c8
nick, is this what you meant?
...
svn:r1740
2004-04-28 20:18:22 +00:00
Nick Mathewson
7055f837ab
Make Tor build on win32 with VC6 without warnings.
...
svn:r1739
2004-04-28 20:13:21 +00:00
Nick Mathewson
ac622d94dc
Workarounds for a couple of pieces of windows strangeness.
...
svn:r1734
2004-04-28 19:35:12 +00:00
Nick Mathewson
e062ca046b
Add a tor_assert macro that logs failed assertions.
...
svn:r1695
2004-04-25 19:37:39 +00:00
Nick Mathewson
8169da5c30
Don't use Tor version 0.0.5 for intro/rendezvous points. (We don't need
...
to worry about 0.0.4 or earlier, because nobody is running them any more.)
svn:r1533
2004-04-07 21:36:03 +00:00
Nick Mathewson
75c19716a8
Put ourself in router list; act accordingly.
...
svn:r1521
2004-04-07 19:46:27 +00:00
Nick Mathewson
8b371c2aa5
router_choose_random_node wants a smartlist of routers, not of nicknames.
...
svn:r1510
2004-04-06 21:19:59 +00:00
Nick Mathewson
6290d027c9
Continue attack on magic numbers; use new crypto wrappers where possible
...
svn:r1504
2004-04-06 20:16:12 +00:00
Nick Mathewson
ce51a30adc
Remove the last tab in non-contributed code
...
svn:r1503
2004-04-06 03:46:37 +00:00
Nick Mathewson
82cde03ddc
Make it build on linux
...
svn:r1468
2004-04-03 04:08:54 +00:00
Nick Mathewson
b3c2b62a14
Make "common" no longer depend on or.h
...
svn:r1466
2004-04-03 04:05:12 +00:00
Nick Mathewson
d93ff0b82f
Handle rendezvous relay cells
...
svn:r1464
2004-04-03 03:37:11 +00:00
Nick Mathewson
fc4d15baf6
Hide smartlist internals
...
svn:r1451
2004-04-03 00:58:54 +00:00
Nick Mathewson
e8345bfced
refactor; start adding debugging logs to midpoint rend stuff
...
svn:r1445
2004-04-02 23:30:54 +00:00
Nick Mathewson
08d748b6b3
Implement rennd_services_init
...
svn:r1443
2004-04-02 23:01:00 +00:00
Nick Mathewson
6ea61d5e0d
Parse and generate service descriptors
...
svn:r1403
2004-03-31 02:07:38 +00:00
Nick Mathewson
93ab51e9ac
Make smartlist Do What Arma Expects.
...
svn:r1401
2004-03-30 22:59:00 +00:00
Nick Mathewson
96a86ef14d
Remove maximum-size field from smartlists
...
svn:r1397
2004-03-30 20:05:52 +00:00
Nick Mathewson
abcf3d9341
Make smartlists start small and grow as needed.
...
svn:r1394
2004-03-30 19:25:43 +00:00
Nick Mathewson
b69f5f3e1b
Add an autoconf test for whether unaligned int access is permitted.
...
It works on macos, and works correctly when I twiddle the test code to
generate a spurious segfault. Will it work anywhere else?
svn:r1329
2004-03-21 04:14:06 +00:00
Nick Mathewson
0d8feba6d8
Add macros and functions to wrap memcpy/alignment logic.
...
svn:r1326
2004-03-21 02:01:17 +00:00
Nick Mathewson
da9d5ccfda
Add initial history-tracking backend code for reputation module. Not called or tested yet.
...
svn:r1310
2004-03-20 01:48:05 +00:00
Nick Mathewson
9199696182
Add some wrappers around SPLAY_* for the common map-from-string-to-X case.
...
It will probably be less blindingly fast than using SPLAY_* directly, but
only slightly so.
svn:r1306
2004-03-19 22:07:24 +00:00
Nick Mathewson
971b002d93
Include strlcpy and strlcat where not available, so our string ops can be less error-prone.
...
svn:r1289
2004-03-17 07:28:09 +00:00
Roger Dingledine
f55ff5b8d2
teach us to recognize internal IPs
...
svn:r1271
2004-03-14 18:07:46 +00:00
Nick Mathewson
976bacae94
Make all the other read/writes into recv/sends, except when they shouldn't be.
...
svn:r1260
2004-03-11 06:35:03 +00:00
Nick Mathewson
2da54de968
Make tor build on windows again. More work still needed
...
svn:r1247
2004-03-09 22:01:17 +00:00
Roger Dingledine
5cf0b6224b
bugfix: stop trying to write to a stderr that may not be there
...
also, tell start_daemon our desired cwd
svn:r1170
2004-02-28 23:21:29 +00:00
Nick Mathewson
cacacfe2b1
Integrate new daemon code, adapted from submission by christian grothoff
...
svn:r969
2004-01-03 22:40:49 +00:00
Roger Dingledine
eb730c41c8
clean tabs, trailing whitespace
...
svn:r952
2003-12-17 21:14:13 +00:00
Roger Dingledine
3465c4dee4
make it compile
...
svn:r923
2003-12-14 05:00:09 +00:00