Commit Graph

11132 Commits

Author SHA1 Message Date
Nick Mathewson
9d11827780 Fix a rare infinite-recursion bug when shutting down.
Once we had called log_free_all(), anything that tried to log a
message (like a failed tor_assert()) would fail like this:

   1. The logging call eventually invokes the _log() function.
   2. _log() calls tor_mutex_lock(log_mutex).
   3. tor_mutex_lock(m) calls tor_assert(m).
   4. Since we freed the log_mutex, tor_assert() fails, and tries to
      log its failure.
   5. GOTO 1.

Now we allocate the mutex statically, and never destroy it on
shutdown.

Bugfix on 0.2.0.16-alpha, which introduced the log mutex.

This bug was found by Matt Edman.
2009-08-20 11:55:33 -04:00
Andrew Lewman
c9b8a4a133 update fetch-all with dir auth 2009-08-13 21:13:09 -04:00
Karsten Loesing
a98643c1b5 Fix possible segmentation fault on directory authorities.
The more verbose logs that were added in ee58153 also include a string
that might not have been initialized. This can lead to segfaults, e.g.,
when setting up private Tor networks. Initialize this string with NULL.
2009-08-11 17:33:58 +02:00
Roger Dingledine
e50b7768b9 Send sendmes when we're down 100 cells, not 101.
Send circuit or stream sendme cells when our window has decreased
by 100 cells, not when it has decreased by 101 cells. Bug uncovered
by Karsten when testing the "reduce circuit window" performance
patch. Bugfix on the 54th commit on Tor -- from July 2002,
before the release of Tor 0.0.0. This is the new winner of the
oldest-bug prize.
2009-08-10 04:13:18 -04:00
Roger Dingledine
e53ee805a9 directory-archive scripts now fetch from urras too 2009-08-10 03:06:56 -04:00
Roger Dingledine
8abe3bac7e Set up urras as the seventh v3 directory authority. 2009-08-10 01:32:51 -04:00
Nick Mathewson
c497d21ee1 Merge commit 'karsten/hsauth-manpage-maint-0.2.1' into maint-0.2.1 2009-08-09 18:12:01 -07:00
Andrew Lewman
431202fb63 add geoip file to uninstall 2009-08-03 12:42:29 -04:00
Andrew Lewman
0d12f12cf5 add receipts to be wiped. 2009-08-01 22:41:29 -04:00
Karsten Loesing
fe36f69ce8 Make configuration of hidden services with authorization somewhat clearer. 2009-08-01 11:36:51 +02:00
Nick Mathewson
4577bda766 Cleaner fix for get_effective_bw(rate|burst), with comment on why it is ok. 2009-07-30 10:14:12 -04:00
Nick Mathewson
0f944e496a Merge commit 'debian-tor-0.2.1.19-1' into maint-0.2.1 2009-07-29 18:35:50 -04:00
Peter Palfrader
58ccdfccef Mention that this closes #538960 in the changelog 2009-07-29 12:49:52 +02:00
Peter Palfrader
cd8d488d83 Merge branch 'debian-merge' into debian
* debian-merge:
  New upstream version
  bump to 0.2.1.19
  document my new relay-early behavior
  Changing MaxAdvertisedBW may not need a republish
  Write fingerprint to file and log without spaces
  Don't leak memory if we get too many create cells
  three hacks to workaround bug 1038
2009-07-29 12:18:37 +02:00
Peter Palfrader
3d99723411 New upstream version 2009-07-29 12:18:25 +02:00
Peter Palfrader
5962431a36 Merge commit 'tor-0.2.1.19' into debian-merge
* commit 'tor-0.2.1.19':
  bump to 0.2.1.19
  document my new relay-early behavior
  Changing MaxAdvertisedBW may not need a republish
  Write fingerprint to file and log without spaces
  Don't leak memory if we get too many create cells
  three hacks to workaround bug 1038
2009-07-29 12:18:06 +02:00
Roger Dingledine
6a960d515f credit optimist for the bug 1038 diagnosis
also bring the release notes up to date
2009-07-28 20:44:51 -04:00
Roger Dingledine
6249b0fd77 Fix a signed/unsigned compile warning in 0.2.1.19 2009-07-28 18:34:35 -04:00
Roger Dingledine
69706f99e8 bump to 0.2.1.19 2009-07-28 17:39:51 -04:00
Roger Dingledine
146eae318f document my new relay-early behavior 2009-07-28 17:39:12 -04:00
Sebastian Hahn
3e45445104 Changing MaxAdvertisedBW may not need a republish
Relays no longer publish a new server descriptor if they change
their MaxAdvertisedBandwidth config option but it doesn't end up
changing their advertised bandwidth numbers. Bugfix on 0.2.0.28-rc;
fixes bug 1026. Patch from Sebastian.
2009-07-27 23:53:06 -04:00
Roger Dingledine
a73acdd46f Write fingerprint to file and log without spaces
Now it will look like the fingerprints in our bridges documentation,
and confuse fewer users.
2009-07-27 22:51:20 -04:00
Roger Dingledine
0a4e2397c0 Don't leak memory if we get too many create cells
Specifically, every time we get a create cell but we have so many already
queued that we refuse it.

Bugfix on 0.2.0.19-alpha; fixes bug 1034. Reported by BarkerJr.
2009-07-27 22:38:09 -04:00
Roger Dingledine
2b63fa40e8 three hacks to workaround bug 1038
The problem is that clients and hidden services are receiving
relay_early cells, and they tear down the circuit.

Hack #1 is for rendezvous points to rewrite relay_early cells to
relay cells. That way there are never any incoming relay_early cells.

Hack #2 is for clients and hidden services to never send a relay_early
cell on an established rendezvous circuit. That works around rendezvous
points that haven't upgraded yet.

Hack #3 is for clients and hidden services to not tear down the circuit
when they receive an inbound relay_early cell. We already refuse extend
cells at clients.
2009-07-27 21:58:32 -04:00
Peter Palfrader
f39cee3754 Merge branch 'debian-merge' into debian
* debian-merge:
  New upstream version
  bump to 0.2.1.18
  put in the full 0.2.1 release notes
  add a changelog entry for the upcoming 0.2.1.18
  make phobos's lines start with tabs again
  added LIBS=-lrt to Makefile.am for static libevent in the tor rpms.
  forward-port the 0.2.0.35 release notes
  add blurbs for recent release candidates
  Bump version to 0.2.1.17-rc-dev
2009-07-25 11:15:42 +02:00
Peter Palfrader
805b19e4f1 New upstream version 2009-07-25 11:15:34 +02:00
Peter Palfrader
d7ffd0ed8a Merge commit 'tor-0.2.1.18' into debian-merge
* commit 'tor-0.2.1.18':
  bump to 0.2.1.18
  put in the full 0.2.1 release notes
  add a changelog entry for the upcoming 0.2.1.18
  make phobos's lines start with tabs again
  added LIBS=-lrt to Makefile.am for static libevent in the tor rpms.
  forward-port the 0.2.0.35 release notes
  add blurbs for recent release candidates
  Bump version to 0.2.1.17-rc-dev
2009-07-25 11:10:36 +02:00
Roger Dingledine
52b142219b bump to 0.2.1.18 2009-07-24 17:31:04 -04:00
Roger Dingledine
6b334bb813 put in the full 0.2.1 release notes 2009-07-24 17:25:51 -04:00
Roger Dingledine
575519d9a5 add a changelog entry for the upcoming 0.2.1.18 2009-07-24 17:16:07 -04:00
Roger Dingledine
4b5371686c make phobos's lines start with tabs again
in case Make on openirix128 can't handle it otherwise
2009-07-24 17:15:14 -04:00
Andrew Lewman
be5faae7a9 added LIBS=-lrt to Makefile.am for static libevent in the tor rpms. 2009-07-24 17:07:26 -04:00
Roger Dingledine
6277aee031 forward-port the 0.2.0.35 release notes 2009-07-24 16:54:54 -04:00
Roger Dingledine
b2fa8e8622 add blurbs for recent release candidates 2009-07-24 16:53:40 -04:00
Nick Mathewson
bdd367eb45 Merge commit 'debian-tor-0.2.1.17-rc-1' into maint-0.2.1 2009-07-14 15:35:16 -04:00
Peter Palfrader
95a6623645 Release 0.2.1.17-rc-1 2009-07-13 23:38:13 +02:00
Peter Palfrader
a08a35fea0 Merge branch 'debian-merge' into debian
* debian-merge: (21 commits)
  Bump version to 0.2.1.17-rc
  Make "Invalid onion hostname" msg respect SafeLogging.
  updated rpm instructions for realtime libevent.
  Revise 0.2.1.17-rc changelog.
  Make an attempt to fix bug 1024.
  Update the year for the copyright statement in two more files
  another minor patch to add to 0.2.1.x
  and give the bug 969 fixes a changelog
  the third piece of bug 969 fixing
  the second piece of bug 969 fixing
  the first piece of bug 969 fixing
  Have eventdns set the "truncated" bit correctly.
  stop capping bandwidths we see in the consensus
  Added ChangeLog entry for control port fix
  Ignore control port commands after a QUIT
  Flush long replies over control port on QUIT
  add a changelog entry: clients use bw in consensus
  Clients now use bandwidth values in the consensus
  Serve DirPortFrontPage even if the write bucket	is low.
  Add warning that the results of --enable-geoip-stats are different from those in master.
  ...
2009-07-13 23:37:30 +02:00
Peter Palfrader
e504374bee Merge commit 'tor-0.2.1.17-rc' into debian-merge
* commit 'tor-0.2.1.17-rc': (21 commits)
  Bump version to 0.2.1.17-rc
  Make "Invalid onion hostname" msg respect SafeLogging.
  updated rpm instructions for realtime libevent.
  Revise 0.2.1.17-rc changelog.
  Make an attempt to fix bug 1024.
  Update the year for the copyright statement in two more files
  another minor patch to add to 0.2.1.x
  and give the bug 969 fixes a changelog
  the third piece of bug 969 fixing
  the second piece of bug 969 fixing
  the first piece of bug 969 fixing
  Have eventdns set the "truncated" bit correctly.
  stop capping bandwidths we see in the consensus
  Added ChangeLog entry for control port fix
  Ignore control port commands after a QUIT
  Flush long replies over control port on QUIT
  add a changelog entry: clients use bw in consensus
  Clients now use bandwidth values in the consensus
  Serve DirPortFrontPage even if the write bucket	is low.
  Add warning that the results of --enable-geoip-stats are different from those in master.
  ...
2009-07-13 23:26:44 +02:00
Nick Mathewson
d996b7463e Bump version to 0.2.1.17-rc-dev 2009-07-07 12:39:35 -04:00
Nick Mathewson
32d4060724 Bump version to 0.2.1.17-rc 2009-07-07 12:22:46 -04:00
Nick Mathewson
258b980331 Make "Invalid onion hostname" msg respect SafeLogging.
Patch by Roger; fixes bug 1027.
2009-07-07 12:19:04 -04:00
Andrew Lewman
2c221e923b updated rpm instructions for realtime libevent. 2009-07-02 17:57:47 -04:00
Roger Dingledine
4e8d22846b Revise 0.2.1.17-rc changelog. 2009-07-02 10:13:01 -04:00
Karsten Loesing
3e6bb050dd Make an attempt to fix bug 1024.
The internal error "could not find intro key" occurs when we want to send
an INTRODUCE1 cell over a recently finished introduction circuit and think
we built the introduction circuit with a v2 hidden service descriptor, but
cannot find the introduction key in our descriptor.

My first guess how we can end up in this situation is that we are wrong in
thinking that we built the introduction circuit based on a v2 hidden
service descriptor. This patch checks if we have a v0 descriptor, too, and
uses that instead.
2009-07-02 10:00:28 -04:00
Peter Palfrader
0cbc0c463b Update the year for the copyright statement in two more files 2009-06-30 10:35:10 -04:00
Roger Dingledine
690db1331d another minor patch to add to 0.2.1.x
o Minor features:
    - If we're a relay and we change our IP address, be more verbose
      about the reason that made us change. Should help track down
      further bugs for relays on dynamic IP addresses.
2009-06-30 10:21:30 -04:00
Roger Dingledine
1ace3799fa and give the bug 969 fixes a changelog 2009-06-30 10:11:17 -04:00
Roger Dingledine
e7bc189f7c the third piece of bug 969 fixing
when we write out our stability info, detect relays that have slipped
through the cracks. log about them and correct the problem.

if we continue to see a lot of these over time, it means there's another
spot where relays fall out of the routerlist without being marked as
unreachable.
2009-06-30 10:10:13 -04:00
Roger Dingledine
bdca5476da the second piece of bug 969 fixing
whenever we remove a relay from the main routerlist, tell the
rephist module that it's no longer running.
2009-06-30 10:10:13 -04:00
Roger Dingledine
0cd16c4ad3 the first piece of bug 969 fixing
tell the rephist module that a given relay is down whenever
we determine that it's down, not just when we thought it used
to be up.
2009-06-30 10:10:13 -04:00