summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-06-14Make ControlSocketsGroupWritable work with User.Jérémy Bobbio
Original message from bug3393: check_private_dir() to ensure that ControlSocketsGroupWritable is safe to use. Unfortunately, check_private_dir() only checks against the currently running user… which can be root until privileges are dropped to the user and group configured by the User config option. The attached patch fixes the issue by adding a new effective_user argument to check_private_dir() and updating the callers. It might not be the best way to fix the issue, but it did in my tests. (Code by lunar; changelog by nickm)
2011-06-08Fix a rare memleak during stats writingSebastian Hahn
If rep_hist_buffer_stats_write() was called unitinitalized, we'd leak memory.
2011-06-08Don't use signed 1-bit bitfieldsSebastian Hahn
This was harmless, we never compared it to anything but itself or 0. But Coverity complained, and it had a point.
2011-06-08Comment out some obviously dead code.Sebastian Hahn
Coverity warned about it, it's harmless to comment out.
2011-06-08Remove a few dead assignments during router parsingSebastian Hahn
2011-06-08Check some more return values in unit testsSebastian Hahn
2011-06-08remove some dead code, found by coveritySebastian Hahn
2011-06-06Merge branch 'bug3306_nm_squashed' into maint-0.2.2Nick Mathewson
2011-06-06Detect insanely large circuit build state; don't give its length to rand_intNick Mathewson
2011-06-06Check maximum properly in crypto_rand_int()Nick Mathewson
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.
2011-06-05Merge branch 'maint-0.2.1' into maint-0.2.2Roger Dingledine
2011-06-05move to the june 1 2011 maxmind geoip dbRoger Dingledine
2011-06-03Merge branch 'bug3318c' into maint-0.2.2Nick Mathewson
2011-06-03Reject 128-byte keys that are not 1024-bitNick Mathewson
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.
2011-06-03Merge remote-tracking branch 'rransom/bug2748-v2' into maint-0.2.2Nick Mathewson
2011-06-02Changes file for bug2355.Nick Mathewson
2011-06-02Update man page for new UseBridges tristate behaviour.anonym
2011-06-02Add an "auto" option to UseBridgesNick Mathewson
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."
2011-06-02Merge remote-tracking branch 'rransom-tor/bug3309' into maint-0.2.2Nick Mathewson
2011-06-02Merge remote-tracking branch 'arma/bug3321' into maint-0.2.2Nick Mathewson
2011-06-02Fix unit test failure in dir/formatsSebastian Hahn
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.
2011-06-02Add info-level log messages during HS-client-state purgeRobert Ransom
I hope these will never be useful, but having them and not needing them is better than needing them and not having them.
2011-06-02Refactor HS client state-clearing code into a separate functionRobert Ransom
2011-06-02Clear last_hid_serv_requests on SIGNAL NEWNYMRobert Ransom
Fixes bug #3309.
2011-06-02Make last_hid_serv_requests functions less fragileRobert Ransom
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.
2011-06-01Fix compile error in procmon.cGisle
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.
2011-06-01Report wrong key sizes correctlyNick Mathewson
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.
2011-05-31fix a bridge edge case similar to 2511Roger Dingledine
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.
2011-05-30stop asserting at bootRoger Dingledine
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.
2011-05-30Merge branch 'bug3216_v2' into maint-0.2.2Nick Mathewson
2011-05-30Merge branch 'bug3289' into maint-0.2.2Nick Mathewson
2011-05-30Warn when two hs use the same directorySebastian Hahn
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.
2011-05-30minor cleanups while reviewing 3216Roger Dingledine
2011-05-30whitespace fixesNick Mathewson
2011-05-30Merge branch 'bug3045' into maint-0.2.2Nick Mathewson
Conflicts: src/or/circuitbuild.c
2011-05-30Improve comments and defensive programming for 3045Nick Mathewson
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.
2011-05-30Merge remote-tracking branch 'public/bug3270' into maint-0.2.2Nick Mathewson
2011-05-30Merge branch 'bug3228_squashed' into maint-0.2.2Nick Mathewson
2011-05-30Reinit keys at the start of options_act().Nick Mathewson
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.
2011-05-30Merge branch 'bug1297a' into maint-0.2.2Nick Mathewson
2011-05-30Use the normal four-hop CBT for client intro circuitsRobert Ransom
Fixes another part of bug 1297.
2011-05-30Set timestamp_dirty on HS circuits as circuit_expire_building requiresRobert Ransom
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.)
2011-05-29answer an XXX nickm asked in aa950e6c4Roger Dingledine
2011-05-28Merge remote-tracking branch 'origin/maint-0.2.1' into maint-0.2.2Nick Mathewson
2011-05-28Fix typo in changes/bug2574. Thanks, rransomNick Mathewson
2011-05-28Merge remote-tracking branch 'origin/maint-0.2.1' into maint-0.2.2Nick Mathewson
2011-05-28Merge branch 'bug2574' into maint-0.2.1Nick Mathewson
2011-05-24Don't try to build descriptors when router_get_advertised_or_port()==0Nick Mathewson
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.
2011-05-24Don't build descriptors if ORPort auto is set and we have no OR listenerNick Mathewson
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.
2011-05-23Work correctly if your nameserver is ::1Nick Mathewson
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.