summaryrefslogtreecommitdiff
path: root/src/common/container.c
AgeCommit message (Collapse)Author
2012-06-04Update copyright dates to 2012; add a few missing copyright statementsNick Mathewson
2012-02-13Port over the last ht.h changes from libevent: avoid _reserved identifiersNick Mathewson
2012-01-18Rename nonconformant identifiers.Nick Mathewson
Fixes bug 4893. These changes are pure mechanical, and were generated with this perl script: /usr/bin/perl -w -i.bak -p s/crypto_pk_env_t/crypto_pk_t/g; s/crypto_dh_env_t/crypto_dh_t/g; s/crypto_cipher_env_t/crypto_cipher_t/g; s/crypto_digest_env_t/crypto_digest_t/g; s/aes_free_cipher/aes_cipher_free/g; s/crypto_free_cipher_env/crypto_cipher_free/g; s/crypto_free_digest_env/crypto_digest_free/g; s/crypto_free_pk_env/crypto_pk_free/g; s/_crypto_dh_env_get_dh/_crypto_dh_get_dh/g; s/_crypto_new_pk_env_rsa/_crypto_new_pk_from_rsa/g; s/_crypto_pk_env_get_evp_pkey/_crypto_pk_get_evp_pkey/g; s/_crypto_pk_env_get_rsa/_crypto_pk_get_rsa/g; s/crypto_new_cipher_env/crypto_cipher_new/g; s/crypto_new_digest_env/crypto_digest_new/g; s/crypto_new_digest256_env/crypto_digest256_new/g; s/crypto_new_pk_env/crypto_pk_new/g; s/crypto_create_crypto_env/crypto_cipher_new/g; s/connection_create_listener/connection_listener_new/g; s/smartlist_create/smartlist_new/g; s/transport_create/transport_new/g;
2011-11-23Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson
2011-11-23Merge remote-tracking branch 'public/bug4230' into maint-0.2.2Nick Mathewson
2011-11-09Correct the handling of overflow behavior in smartlist_ensure_capacityNick Mathewson
The old behavior was susceptible to the compiler optimizing out our assertion check, *and* could still overflow size_t on 32-bit systems even when it did work.
2011-06-22Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson
2011-06-22Improve documentation of smartlist_split_stringRobert Ransom
2011-05-15Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson
2011-05-15Increase the length of the buffer in smartlist_string_num_isin().Nick Mathewson
This was harmless, since we only used this for checking for lists of port values, but it's the principle of the thing. Fixes 3175; bugfix on 0.1.0.1-rc
2011-05-15Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson
Conflicts: src/or/connection_edge.c
2011-05-13New smartlist function to see if two lists of strings are equal.Nick Mathewson
We'll use this to detect changes in CSV options.
2011-05-11Merge remote-tracking branch 'public/bug3122_memcmp_022' into bug3122_memcmp_023Nick Mathewson
Conflicts in various places, mainly node-related. Resolved them in favor of HEAD, with copying of tor_mem* operations from bug3122_memcmp_022. src/common/Makefile.am src/or/circuitlist.c src/or/connection_edge.c src/or/directory.c src/or/microdesc.c src/or/networkstatus.c src/or/router.c src/or/routerlist.c src/test/test_util.c
2011-05-11Re-apply the automated conversion to 0.2.2 to make handle any memcmps that ↵Nick Mathewson
snuck in
2011-05-11Merge remote-tracking branch 'public/3122_memcmp_squashed' into ↵Nick Mathewson
bug3122_memcmp_022 Conflicts throughout. All resolved in favor of taking HEAD and adding tor_mem* or fast_mem* ops as appropriate. src/common/Makefile.am src/or/circuitbuild.c src/or/directory.c src/or/dirserv.c src/or/dirvote.c src/or/networkstatus.c src/or/rendclient.c src/or/rendservice.c src/or/router.c src/or/routerlist.c src/or/routerparse.c src/or/test.c
2011-05-11Hand-conversion and audit phase of memcmp transitionNick Mathewson
Here I looked at the results of the automated conversion and cleaned them up as follows: If there was a tor_memcmp or tor_memeq that was in fact "safe"[*] I changed it to a fast_memcmp or fast_memeq. Otherwise if there was a tor_memcmp that could turn into a tor_memneq or tor_memeq, I converted it. This wants close attention. [*] I'm erring on the side of caution here, and leaving some things as tor_memcmp that could in my opinion use the data-dependent fast_memcmp variant.
2011-05-11Automated conversion of memcmp to tor_memcmp/tor_mem[n]eqNick Mathewson
This commit is _exactly_ the result of perl -i -pe 's/\bmemcmp\(/tor_memcmp\(/g' src/*/*.[ch] perl -i -pe 's/\!\s*tor_memcmp\(/tor_memeq\(/g' src/*/*.[ch] perl -i -pe 's/0\s*==\s*tor_memcmp\(/tor_memeq\(/g' src/*/*.[ch] perl -i -pe 's/0\s*!=\s*tor_memcmp\(/tor_memneq\(/g' src/*/*.[ch] git checkout src/common/di_ops.[ch] git checkout src/or/test.c git checkout src/common/test.h
2011-03-16Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson
Trivial Conflicts in src/common/crypto.c src/or/main.h src/or/or.h
2011-03-16Doxygen documentation for about 100 things that didn't have anyNick Mathewson
About 860 doxygen-less things remain in 0.2.2
2011-01-03Merge remote branch 'origin/maint-0.2.2'Nick Mathewson
2011-01-03Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2Nick Mathewson
Conflicts: src/common/test.h src/or/test.c
2011-01-03Bump copyright statements to 2011Nick Mathewson
2010-10-01Implement a basic node and nodelist typeNick Mathewson
The node_t type is meant to serve two key functions: 1) Abstracting difference between routerinfo_t and microdesc_t so that clients can use microdesc_t instead of routerinfo_t. 2) Being a central place to hold mutable state about nodes formerly held in routerstatus_t and routerinfo_t. This patch implements a nodelist type that holds a node for every router that we would consider using.
2010-07-09Rename log.h to torlog.hNick Mathewson
This should make us conflict less with system files named "log.h". Yes, we shouldn't have been conflicting with those anyway, but some people's compilers act very oddly. The actual change was done with one "git mv", by editing Makefile.am, and running find . -name '*.[ch]' | xargs perl -i -pe 'if (/^#include.*\Wlog.h/) {s/log.h/torlog.h/; }'
2010-02-27Merge remote branch 'origin/maint-0.2.1'Nick Mathewson
Conflicts: src/common/test.h src/or/test.c
2010-02-27Update Tor Project copyright yearsNick Mathewson
2009-12-15Fix comment typos in container.cNick Mathewson
2009-12-12Enhance pqueue so we can remove items from the middle.Nick Mathewson
This changes the pqueue API by requiring an additional int in every structure that we store in a pqueue to hold the index of that structure within the heap.
2009-12-12*_free functions now accept NULLSebastian Hahn
Some *_free functions threw asserts when passed NULL. Now all of them accept NULL as input and perform no action when called that way. This gains us consistence for our free functions, and allows some code simplifications where an explicit null check is no longer necessary.
2009-10-19Fix two bugs found by Coverity scan.Nick Mathewson
One was a simple buffer overrun; the other was a high-speed pointer collision. Both were introduced by my microdescs branch.
2009-10-15Add a function to get the most frequent member of a list.Nick Mathewson
2009-09-14Add a median_int32 and find_nth_int32Nick Mathewson
2009-05-27Spell-check Tor.Nick Mathewson
2009-05-04Update copyright to 2009.Karsten Loesing
2009-01-20Add a better (non-locale-having) ctypes implementation to avoid protocol and ↵Nick Mathewson
parsing mismatches on different platforms. svn:r18189
2009-01-04Remove svn $Id$s from our source, and remove tor --version --version.Nick Mathewson
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
2008-12-26Document our Bloom filter parameter choices.Nick Mathewson
svn:r17785
2008-12-26Add more missing documentation, and correct an error in container.c ↵Nick Mathewson
documentation: Don't introduce two parameters called n when you're calling an algorithm O(n). svn:r17783
2008-12-22Fix most DOCDOCs remaining and/or added by redox.Nick Mathewson
svn:r17734
2008-12-22Add DOCDOC comments for all undocumented functions. Add missing *s to other ↵Nick Mathewson
comments so that they will get recognized as doxygen. svn:r17729
2008-11-26Revert my older supposed gcc-4.4 warning workaround. GCC was not being ↵Nick Mathewson
needlessly prissy; it was hinting at the wrongly pure smartlist_bsearch_idx. svn:r17396
2008-11-22Resolve a warning under gcc 4.4 trunk.Nick Mathewson
svn:r17357
2008-10-01Now NodeFamily and MyFamily config options allow spaces inRoger Dingledine
identity fingerprints, so it's easier to paste them in. Suggested by Lucky Green. svn:r17021
2008-09-05Add an assert to make tools happier.Nick Mathewson
svn:r16782
2008-09-01take out the crazy line from last night that made no sense. apparentlyRoger Dingledine
it does work for tas after all. svn:r16724
2008-09-01Fix compile on OpenBSD 4.4-current. Bugfix on 0.2.1.5-alpha.Roger Dingledine
Reported by Tas. svn:r16713
2008-04-10 r19283@catbus: nickm | 2008-04-09 21:44:18 -0400Nick Mathewson
The optimist calls the glass half full. The pessimist calls it half empty. The engineer says it is twice as large as it needs to be. In this case, the engineer says that the default smartlist size is twice as large as it needs to be and wouldn't it be nice to save half a megabyte with a one-line patch? svn:r14341
2008-04-08 r19233@catbus: nickm | 2008-04-08 13:06:34 -0400Nick Mathewson
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-02-22 r18356@catbus: nickm | 2008-02-21 21:54:55 -0500Nick Mathewson
Remove redundant check from container.c that gcc 4.2 didnt like svn:r13668
2008-02-21 r18294@catbus: nickm | 2008-02-20 22:42:44 -0500Nick Mathewson
Fix a spelling error and clean up a recent veracode-induced integer overflow check. Both spotted by Chris Palmer. svn:r13639