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