Nick Mathewson
f366d10a2f
r17435@tombo: nickm | 2008-07-30 08:50:54 -0400
...
Allow alternate form of SMARTLIST_FOREACH with paired BEGIN and END macros. This lets the compiler tell us which line an error has occurred on.
svn:r16256
2008-07-30 13:04:28 +00:00
Nick Mathewson
a627407fcb
r19233@catbus: nickm | 2008-04-08 13:06:34 -0400
...
When we remove old routers, use Bloom filters rather than a digestmap-based set in order to tell which ones we absolutely need to keep. This will save us roughly a kazillion little short-lived allocations for hash table entries.
svn:r14318
2008-04-08 17:06:41 +00:00
Nick Mathewson
2d68487e7f
r19229@catbus: nickm | 2008-04-07 12:28:22 -0400
...
Add a new SMARTLIST_FOREACH_JOIN macro to iterate through two sorted lists in lockstep. This happens at least 3 times in the code so far, and is likely to happen more in the future. Previous attempts to do so proved touchy, tricky, and error-prone: now, we only need to get it right in one place.
svn:r14309
2008-04-07 16:28:34 +00:00
Nick Mathewson
4c04b7f4f6
r19201@catbus: nickm | 2008-04-04 14:23:19 -0400
...
Better macro documentation
svn:r14298
2008-04-04 21:18:51 +00:00
Roger Dingledine
1cd90948ab
maybe appease the overflow detectors more
...
svn:r13663
2008-02-21 21:56:04 +00:00
Nick Mathewson
5c03f82a65
r18345@catbus: nickm | 2008-02-21 13:45:04 -0500
...
Do the last part of arma's fix for bug 437: Track the origin of every addrmap, and use this info so we can remove all the trackhostexits-originated mappings for a given exit.
svn:r13660
2008-02-21 18:45:11 +00:00
Roger Dingledine
b3c0d066e5
other cleanups that have been sitting in my sandbox
...
svn:r13649
2008-02-21 09:01:32 +00:00
Nick Mathewson
7b022eda9c
r18290@catbus: nickm | 2008-02-20 22:34:59 -0500
...
Correct handling of nested MAP_FOREACH loops. There are none of those ATM, but isn't it nice that now they'll be correct?
svn:r13637
2008-02-21 03:38:44 +00:00
Nick Mathewson
b30c1637bd
One last tweak on debugging code.
...
svn:r13621
2008-02-20 17:30:00 +00:00
Nick Mathewson
88efec10a2
r18256@catbus: nickm | 2008-02-20 11:57:31 -0500
...
Simplify rounding logic in bitarray; fix a bug in bitarray_expand().
svn:r13619
2008-02-20 16:57:41 +00:00
Nick Mathewson
dbcf29d301
r18228@catbus: nickm | 2008-02-19 18:05:53 -0500
...
Chris Palmer notes that almost nobody is using smartlist_set_capacity(). Chris Palmer is right. Remove this basically pointless function.
svn:r13596
2008-02-19 23:05:56 +00:00
Nick Mathewson
632c035ad9
r18221@catbus: nickm | 2008-02-19 17:46:16 -0500
...
New debugging code to figure out what is happending with socket counts.
svn:r13593
2008-02-19 22:46:19 +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
8366da01fb
r17935@catbus: nickm | 2008-02-05 20:54:54 -0500
...
Add typechecking cast functions for typed digestmap variants.
svn:r13396
2008-02-06 05:31:15 +00:00
Nick Mathewson
3958d7b16f
r17898@catbus: nickm | 2008-02-05 14:01:35 -0500
...
Add (and use) a MAP_DEL_CURRENT macro to augment a non-const variant of MAP_FOREACH.
svn:r13379
2008-02-05 19:40:17 +00:00
Nick Mathewson
c7fe633780
New macros to simplify writing loops over map key-value pairs.
...
svn:r13302
2008-01-26 22:49:36 +00:00
Nick Mathewson
864d830598
r17471@catbus: nickm | 2008-01-05 21:47:08 -0500
...
Missing documentation in container.h
svn:r13038
2008-01-06 03:16:06 +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
e0b9c893bc
r16573@catbus: nickm | 2007-11-08 11:57:16 -0500
...
Mess with the formula for the Guard flag again. Now it requires that you be in the most familiar 7/8 of nodes, and have above median wfu for that 7/8th. See spec for details. Also, log thresholds better.
svn:r12440
2007-11-08 16:58:59 +00:00
Nick Mathewson
c217be996d
r14677@tombo: nickm | 2007-11-03 15:16:27 -0400
...
Add a smartlist_bsearch_idx function that gives more useful output than regular bsearch for the value-not-found case.
svn:r12360
2007-11-03 20:12:38 +00:00
Nick Mathewson
9f93d48697
r15989@catbus: nickm | 2007-10-20 19:48:29 -0400
...
Fix implementation of sdmap_size and rimap_size() and eimap_size(). Nobody was using them, so no backport needed.
svn:r12068
2007-10-20 23:48:35 +00:00
Nick Mathewson
8c13967803
r14448@Kushana: nickm | 2007-09-17 14:26:56 -0400
...
Unify all of the divergent median/nth-percentile code in container.[ch]
svn:r11457
2007-09-17 18:27:49 +00:00
Peter Palfrader
0713606469
redefine BITARRAY_MASK as a function of BITARRAY_SHIFT
...
svn:r11160
2007-08-17 22:43:00 +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
35561a542c
r13934@catbus: nickm | 2007-07-27 10:41:00 -0400
...
Fix spelling; add a comment.
svn:r10943
2007-07-27 14:41:08 +00:00
Peter Palfrader
49db52abe6
Maybe fix #471 . Compute the size of bitfields more correctly. Nick, please check.
...
svn:r10941
2007-07-27 04:45:42 +00:00
Nick Mathewson
b1c873182d
r13926@catbus: nickm | 2007-07-26 17:21:06 -0400
...
Add a bit-array type with reasonably fast inline functions.
svn:r10938
2007-07-26 21:26:53 +00:00
Peter Palfrader
f274c1413e
Make it build with -O0 as well
...
svn:r10722
2007-07-02 17:50:57 +00:00
Peter Palfrader
adff891463
Make DEBUG_SMARTLIST work
...
svn:r10721
2007-07-02 17:48:56 +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
93f32db438
r13476@catbus: nickm | 2007-06-17 14:04:41 -0400
...
Build with fewer compiler warnings on Sun. (This and previous Sun patches are thanks to the tremendously handy services of unix-center.net.)
svn:r10644
2007-06-17 18:22:35 +00:00
Nick Mathewson
dddf065e62
r13358@catbus: nickm | 2007-06-11 18:46:24 -0400
...
Fix some dumb copypasta in r10562.
svn:r10565
2007-06-11 22:46:35 +00:00
Nick Mathewson
f45732513e
r13354@catbus: nickm | 2007-06-11 18:17:40 -0400
...
Add typechecking wrappers to digestmap, so we can work with "map from digest to [FOO]" for arbitrary FOOs and still have some typesafety.
svn:r10562
2007-06-11 22:19:37 +00:00
Nick Mathewson
bb6f53d60c
r13243@catbus: nickm | 2007-06-04 15:17:15 -0400
...
Start of code to compute consensus network-status stuff from a bunch of votes. Strangely, it does not yet feel like an enormous ugly hack.
svn:r10489
2007-06-04 19:19:01 +00:00
Nick Mathewson
f89a3b1448
r13050@catbus: nickm | 2007-05-29 13:31:11 -0400
...
Resolve all but 3 DOCDOCs.
svn:r10393
2007-05-29 17:31:13 +00:00
Nick Mathewson
5f58bee0b0
r12812@catbus: nickm | 2007-05-19 16:17:36 -0400
...
Fix compilation with -O0; add unit tests for swap and shuffle.
svn:r10223
2007-05-19 20:17:37 +00:00
Nick Mathewson
a187704872
r12980@Kushana: nickm | 2007-05-18 14:11:05 -0400
...
Add a "swap" function to smartlist, add a "shuffle" function for smartlist to crypto.c, and make appropriate hashtable functions be more const.
svn:r10208
2007-05-18 21:19:14 +00:00
Roger Dingledine
522a97098b
more cleanups; getting closer
...
svn:r9655
2007-02-26 05:36:02 +00:00
Nick Mathewson
f599adf40a
r11909@catbus: nickm | 2007-02-24 02:37:40 -0500
...
Move tricky "delete the member of the smartlist currently under iteration" logic into its own happyfun macro.
svn:r9633
2007-02-24 07:37:45 +00:00
Nick Mathewson
3c691b9da6
r11785@catbus: nickm | 2007-02-12 20:27:48 -0500
...
Node-picking fixes: Never warn when a down node is listed in a config option (bug 348); always warn when a node in a config option is unnamed. Also, when entrynodes is configured, then build the guard list as: (parts of EntryNodes that were guards before), (the rest of EntryNodes), (the rest of the old guards). This last point ensures that EntryNode users will get the EntryNodes they want with the minimum change to their guard list.
svn:r9574
2007-02-13 01:27:55 +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
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
4cd302a1eb
r11722@Kushana: nickm | 2006-12-28 13:51:42 -0500
...
Add a helper function for case-insensitive search through a smartlist
svn:r9198
2006-12-28 21:29:03 +00:00
Nick Mathewson
e58b9c1151
r8819@Kushana: nickm | 2006-09-15 00:27:45 -0400
...
Implement a smartlist_uniq() that will with luck not end the world.
svn:r8396
2006-09-15 04:27:58 +00:00
Nick Mathewson
42a5d7a4ba
r7335@Kushana: nickm | 2006-08-11 00:13:03 -0700
...
fix wide lines
svn:r7025
2006-08-11 07:17:16 +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
d934607069
r6979@Kushana: nickm | 2006-07-31 13:16:58 -0400
...
Add assert_ok functions for strmap and digestmap; use them in unit test code.
svn:r6958
2006-07-31 18:01:27 +00:00
Nick Mathewson
2fe537c57a
r6958@Kushana: nickm | 2006-07-29 18:54:15 -0400
...
Looks like we might need a priority queue.
svn:r6953
2006-07-31 17:59:37 +00:00
Nick Mathewson
e2697a62ac
When requesting or serving resources via fingerprint/digest, request and respond in-order, removing duplicates.
...
svn:r6673
2006-06-21 04:57:12 +00:00
Nick Mathewson
78428dccdb
Add smartlist_reverse and smartlist_pop_last.
...
svn:r6634
2006-06-18 07:21:35 +00:00
Roger Dingledine
5f051574d5
Happy new year!
...
svn:r5949
2006-02-09 05:46:49 +00:00
Nick Mathewson
1af630d32c
Bite the bullet and limit all our source lines to 80 characters, the way IBM intended.
...
svn:r5582
2005-12-14 20:40:40 +00:00
Nick Mathewson
ce3cdecb9d
Make more arguments const; do not call hash tables trees.
...
svn:r5487
2005-12-03 02:00:51 +00:00
Nick Mathewson
9cec3a13f5
remove some functions that are not used; #if0 out some files that are not likely to be used.
...
svn:r5471
2005-11-30 06:27:59 +00:00
Nick Mathewson
05482a0899
Add functions to return number of elts in associative containers
...
svn:r5448
2005-11-23 07:48:13 +00:00
Nick Mathewson
a39269572f
Replace balanced trees with hash tables: this should make stuff significantly faster.
...
svn:r5441
2005-11-23 04:18:45 +00:00
Roger Dingledine
a2a4f4ae61
cleanups and a smidgen more docs
...
svn:r5335
2005-11-01 03:47:55 +00:00
Nick Mathewson
5828f8920e
Add a "Map from digest to void*" abstraction, since we already faked it in 3 places by encoding keys in hex and sticking them in a strmap.
...
svn:r5278
2005-10-18 20:11:39 +00:00
Nick Mathewson
0349598928
stupid gcc. stupid nickm.
...
svn:r5277
2005-10-18 17:52:45 +00:00
Nick Mathewson
95514b32a5
Make smartlist_foreach always use the fast versions.
...
svn:r5275
2005-10-18 17:38:07 +00:00
Nick Mathewson
cf73ff195b
Actually, use #defines for common case. Nothing to see here.
...
svn:r5266
2005-10-18 05:03:44 +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
2689cb081b
We have so many special cases for smartlists of strings, why not add a sort function?
...
svn:r5014
2005-09-12 08:27:01 +00:00
Nick Mathewson
24bfac635d
Document SMARTLIST_FOREACH macro, along with previously-naughty foo_sl_idx variable.
...
svn:r5000
2005-09-11 23:14:14 +00:00
Nick Mathewson
035b1953eb
Add sorting/searching to smartlist
...
svn:r4977
2005-09-09 23:12:54 +00:00
Nick Mathewson
18c11eb3bc
Be consistent about preferring foo* to struct foo*
...
svn:r4637
2005-07-22 21:12:10 +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
Nick Mathewson
ff545c3103
Add useful smartlist_string_remove function.
...
svn:r3996
2005-04-03 05:52:32 +00:00
Nick Mathewson
0e81265359
update copyright notices.
...
svn:r3982
2005-04-01 20:15:56 +00:00
Roger Dingledine
51f47d746e
clean up smartlist_string_isin so callers don't have to manage bufs
...
themselves
svn:r3338
2005-01-12 04:53:53 +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
Roger Dingledine
22727b4edc
wrong is ok, and right is fine, but in between is apparently
...
totally unacceptable to me.
svn:r3005
2004-11-28 11:39:53 +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
a8f9ba91db
Nobody was using the return values from smartlist_(set|del|del_keeporder), so remove them.
...
svn:r2823
2004-11-12 21:14:06 +00:00
Nick Mathewson
238a895e69
Add a FAST_SMARTLIST define to optionally inline smartlist_get and smartlist_len, which are two major profiling offenders.
...
svn:r2822
2004-11-12 20:41:52 +00:00
Nick Mathewson
11de62aa60
Add a slightly trickier string-join interface for making NUL-terminated string messages
...
svn:r2659
2004-11-03 18:28:00 +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