aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Don't use signed 1-bit bitfieldsSebastian Hahn2011-06-08
| | | | | This was harmless, we never compared it to anything but itself or 0. But Coverity complained, and it had a point.
* Comment out some obviously dead code.Sebastian Hahn2011-06-08
| | | | Coverity warned about it, it's harmless to comment out.
* Remove a few dead assignments during router parsingSebastian Hahn2011-06-08
|
* Check some more return values in unit testsSebastian Hahn2011-06-08
|
* remove some dead code, found by coveritySebastian Hahn2011-06-08
|
* Merge branch 'bug3306_nm_squashed' into maint-0.2.2Nick Mathewson2011-06-06
|\
| * Detect insanely large circuit build state; don't give its length to rand_intNick Mathewson2011-06-06
| |
| * Check maximum properly in crypto_rand_int()Nick Mathewson2011-06-06
| | | | | | | | | | | | | | | | | | | | | | | | George Kadianakis notes that if you give crypto_rand_int() a value above INT_MAX, it can return a negative number, which is not what the documentation would imply. The simple solution is to assert that the input is in [1,INT_MAX+1]. If in the future we need a random-value function that can return values up to UINT_MAX, we can add one. Fixes bug 3306; bugfix on 0.2.2pre14.
* | Merge branch 'maint-0.2.1' into maint-0.2.2Roger Dingledine2011-06-05
|\ \ | |/ |/|
| * move to the june 1 2011 maxmind geoip dbRoger Dingledine2011-06-05
| |
* | Merge branch 'bug3318c' into maint-0.2.2Nick Mathewson2011-06-03
|\ \
| * | Reject 128-byte keys that are not 1024-bitNick Mathewson2011-06-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we added the check for key size, we required that the keys be 128 bytes. But RSA_size (which defers to BN_num_bytes) will return 128 for keys of length 1017..1024. This patch adds a new crypto_pk_num_bits() that returns the actual number of significant bits in the modulus, and uses that to enforce key sizes. Also, credit the original bug3318 in the changes file.
* | | Merge remote-tracking branch 'rransom/bug2748-v2' into maint-0.2.2Nick Mathewson2011-06-03
|\ \ \
| * | | Log malformed HS descriptor requests at the proper levelRobert Ransom2011-03-14
| | | | | | | | | | | | | | | | This log message should be a 'protocol warning', not a 'warning'.
| * | | Remove dead code from rend_cache_lookup_v2_desc_as_dirRobert Ransom2011-03-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | hid_serv_responsible_for_desc_id's return value is never negative, and there is no need to search through the consensus to find out whether we are responsible for a descriptor ID before we look in our cache for a descriptor.
* | | | Add an "auto" option to UseBridgesNick Mathewson2011-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | UseBridges 1 now means "connect only to bridges; if you know no bridges, don't make connections." UseBridges auto means "Use bridges if they are known, and we have no EntryNodes set, and we aren't a server." UseBridges 0 means "don't use bridges."
* | | | Merge remote-tracking branch 'rransom-tor/bug3309' into maint-0.2.2Nick Mathewson2011-06-02
|\ \ \ \
| * | | | Add info-level log messages during HS-client-state purgeRobert Ransom2011-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | I hope these will never be useful, but having them and not needing them is better than needing them and not having them.
| * | | | Refactor HS client state-clearing code into a separate functionRobert Ransom2011-06-02
| | | | |
| * | | | Clear last_hid_serv_requests on SIGNAL NEWNYMRobert Ransom2011-06-02
| | | | | | | | | | | | | | | | | | | | Fixes bug #3309.
| * | | | Make last_hid_serv_requests functions less fragileRobert Ransom2011-06-02
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | Previously, Tor would dereference a NULL pointer and crash if lookup_last_hid_serv_request were called before the first call to directory_clean_last_hid_serv_requests. As far as I can tell, that's currently impossible, but I want that undocumented invariant to go away in case I^Wwe break it someday.
* | | | Merge remote-tracking branch 'arma/bug3321' into maint-0.2.2Nick Mathewson2011-06-02
|\ \ \ \
| * | | | fix a bridge edge case similar to 2511Roger Dingledine2011-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | If you had configured a bridge but then switched to a different bridge via the controller, you would still be willing to use the old one.
* | | | | Fix unit test failure in dir/formatsSebastian Hahn2011-06-02
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | options->DirPort is 0 in the unit tests, so router_get_advertised_dir_port() would return 0 so we wouldn't pick a dirport. This isn't what we want for the unit tests. Fixes bug introduced in 95ac3ea5946.
* | | | Fix compile error in procmon.cGisle2011-06-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An elusive compile-error (MingW-gcc v4.50 on Win_XP); a missing comma (!) and a typo ('err_msg' at line 277 changed to 'errmsg'). Aso changed the format for 'err_code' at line 293 into a "%ld" to suppress a warning. How did this go unnoticed for ~1 month? Btw. This is my 1st ever 'git commit', so it better work.
* | | | Report wrong key sizes correctlyNick Mathewson2011-06-01
|/ / / | | | | | | | | | | | | | | | | | | | | | When we introduced NEED_KEY_1024 in routerparse.c back in 0.2.0.1-alpha, I forgot to add a *8 when logging the length of a bad-length key. Bugfix for 3318 on 0.2.0.1-alpha.
* | | stop asserting at bootRoger Dingledine2011-05-30
| | | | | | | | | | | | | | | | | | | | | | | | The patch for 3228 made us try to run init_keys() before we had loaded our state file, resulting in an assert inside init_keys. We had moved it too early in the function. Now it's later in the function, but still above the accounting calls.
* | | Merge branch 'bug3216_v2' into maint-0.2.2Nick Mathewson2011-05-30
|\ \ \
| * | | Don't try to build descriptors when router_get_advertised_or_port()==0Nick Mathewson2011-05-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous attempt was incomplete: it told us not to publish a descriptor, but didn't stop us from generating one. Now we treat an absent OR port the same as not knowing our address. (This means that when we _do_ get an OR port, we need to mark the descriptor dirty.) More attempt to fix bug3216.
| * | | Don't build descriptors if ORPort auto is set and we have no OR listenerNick Mathewson2011-05-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This situation can happen easily if you set 'ORPort auto' and 'AccountingMax'. Doing so means that when you have no ORPort, you won't be able to set an ORPort in a descriptor, so instead you would just generate lots of invalid descriptors, freaking out all the time. Possible fix for 3216; fix on 0.2.2.26-beta.
* | | | Merge branch 'bug3289' into maint-0.2.2Nick Mathewson2011-05-30
|\ \ \ \
| * | | | Warn when two hs use the same directorySebastian Hahn2011-05-30
| | | | | | | | | | | | | | | | | | | | | | | | | This simple implementation has a few issues, but it should do for 0.2.2.x. We will want to revisit this later and make it smarter.
* | | | | minor cleanups while reviewing 3216Roger Dingledine2011-05-30
|/ / / /
* | | | whitespace fixesNick Mathewson2011-05-30
| | | |
* | | | Merge branch 'bug3045' into maint-0.2.2Nick Mathewson2011-05-30
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Conflicts: src/or/circuitbuild.c
| * | | | Improve comments and defensive programming for 3045Nick Mathewson2011-05-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The comment fixes are trivial. The defensive programming trick is to tolerate receiving NULL inputs on the describe functions. That should never actually happen, but it seems like the likeliest mistake for us to make in the future.
| * | | | Log descriptions of nodes, not just nicknames.Nick Mathewson2011-05-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces a few new functions in router.c to produce a more helpful description of a node than its nickame, and then tweaks nearly all log messages taking a nickname as an argument to call these functions instead. There are a few cases where I left the old log messages alone: in these cases, the nickname was that of an authority (whose nicknames are useful and unique), or the message already included an identity and/or an address. I might have missed a couple more too. This is a fix for bug 3045.
* | | | | Merge remote-tracking branch 'public/bug3270' into maint-0.2.2Nick Mathewson2011-05-30
|\ \ \ \ \
| * | | | | Use a 64-bit type to hold sockets on win64.Nick Mathewson2011-05-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On win64, sockets are of type UINT_PTR; on win32 they're u_int; elsewhere they're int. The correct windows way to check a socket for being set is to compare it with INVALID_SOCKET; elsewhere you see if it is negative. On Libevent 2, all callbacks take sockets as evutil_socket_t; we've been passing them int. This patch should fix compilation and correctness when built for 64-bit windows. Fixes bug 3270.
* | | | | | Reinit keys at the start of options_act().Nick Mathewson2011-05-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we did this nearer to the end (in the old_options && transition_affects_workers() block). But other stuff cares about keys being consistent with options... particularly anything which tries to access a key, which can die in assert_identity_keys_ok(). Fixes bug 3228; bugfix on 0.2.2.18-alpha.
* | | | | | Merge branch 'bug1297a' into maint-0.2.2Nick Mathewson2011-05-30
|\ \ \ \ \ \
| * | | | | | Use the normal four-hop CBT for client intro circuitsRobert Ransom2011-05-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes another part of bug 1297.
| * | | | | | Set timestamp_dirty on HS circuits as circuit_expire_building requiresRobert Ransom2011-05-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes part of #1297; bugfix on 48e0228f1e031a709c1deb149c7dfd187c3609cf, when circuit_expire_building was changed to assume that timestamp_dirty was set when a circuit changed purpose to _C_REND_READY. (It wasn't.)
* | | | | | | answer an XXX nickm asked in aa950e6c4Roger Dingledine2011-05-29
|/ / / / / /
* | | | | | Merge remote-tracking branch 'origin/maint-0.2.1' into maint-0.2.2Nick Mathewson2011-05-28
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | |
| * | | | | Merge branch 'bug2574' into maint-0.2.1Nick Mathewson2011-05-28
| |\ \ \ \ \
| | * | | | | Work correctly if your nameserver is ::1Nick Mathewson2011-05-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We had all the code in place to handle this right... except that we were unconditionally opening a PF_INET socket instead of looking at sa_family. Ow. Fixes bug 2574; not a bugfix on any particular version, since this never worked before.
* | | | | | | Fix GCC 4.6's new -Wunused-but-set-variable warnings.Nick Mathewson2011-05-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most instances were dead code; for those, I removed the assignments. Some were pieces of info we don't currently plan to use, but which we might in the future. For those, I added an explicit cast-to-void to indicate that we know that the thing's unused. Finally, one was a case where we were testing the wrong variable in a unit test. That one I fixed. This resolves bug 3208.
* | | | | | | Remove the -F option from tor-resolve.Nick Mathewson2011-05-23
| |_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It used to mean "Force": it would tell tor-resolve to ask tor to resolve an address even if it ended with .onion. But when AutomapHostsOnResolve was added, automatically refusing to resolve .onion hosts stopped making sense. So in 0.2.1.16-rc (commit 298dc95dfd8), we made tor-resolve happy to resolve anything. The -F option stayed in, though, even though it didn't do anything. Oddly, it never got documented. Found while fixing GCC 4.6 "set, unused variable" warnings.
* | | | | | Unbreak the build on libevent 1.x systemsRobert Ransom2011-05-22
| | | | | |