summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2009-09-01Use a simpler fix for the byte-reversing warningNick Mathewson
2009-09-01Fix compile warnings on Snow LeopardSebastian Hahn
Big thanks to nickm and arma for helping me with this!
2009-08-31Add getinfo accepted-server-descriptor. Clean spec.Roger Dingledine
Add a "getinfo status/accepted-server-descriptor" controller command, which is the recommended way for controllers to learn whether our server descriptor has been successfully received by at least on directory authority. Un-recommend good-server-descriptor getinfo and status events until we have a better design for them.
2009-09-01Reduce log level for bug case that we now know really exists.Karsten Loesing
2009-08-31Only send reachability status events on overall success/failureRoger Dingledine
We were telling the controller about CHECKING_REACHABILITY and REACHABILITY_FAILED status events whenever we launch a testing circuit or notice that one has failed. Instead, only tell the controller when we want to inform the user of overall success or overall failure. Bugfix on 0.1.2.6-alpha. Fixes bug 1075. Reported by SwissTorExit.
2009-08-29Avoid segfault when accessing hidden service.Karsten Loesing
2009-08-28Only send netinfo clock_skew to controller if an authority told us soRoger Dingledine
We were triggering a CLOCK_SKEW controller status event whenever we connect via the v2 connection protocol to any relay that has a wrong clock. Instead, we should only inform the controller when it's a trusted authority that claims our clock is wrong. Bugfix on 0.2.0.20-rc; starts to fix bug 1074. Reported by SwissTorExit.
2009-08-20Fix a rare infinite-recursion bug when shutting down.Nick Mathewson
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-11Fix possible segmentation fault on directory authorities.Karsten Loesing
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-10Send sendmes when we're down 100 cells, not 101.Roger Dingledine
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-10Set up urras as the seventh v3 directory authority.Roger Dingledine
2009-07-30Cleaner fix for get_effective_bw(rate|burst), with comment on why it is ok.Nick Mathewson
2009-07-28Fix a signed/unsigned compile warning in 0.2.1.19Roger Dingledine
2009-07-28bump to 0.2.1.19tor-0.2.1.19Roger Dingledine
2009-07-27Changing MaxAdvertisedBW may not need a republishSebastian Hahn
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-27Write fingerprint to file and log without spacesRoger Dingledine
Now it will look like the fingerprints in our bridges documentation, and confuse fewer users.
2009-07-27Don't leak memory if we get too many create cellsRoger Dingledine
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-27three hacks to workaround bug 1038Roger Dingledine
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-24bump to 0.2.1.18tor-0.2.1.18Roger Dingledine
2009-07-07Bump version to 0.2.1.17-rc-devNick Mathewson
2009-07-07Bump version to 0.2.1.17-rctor-0.2.1.17-rcNick Mathewson
2009-07-07Make "Invalid onion hostname" msg respect SafeLogging.Nick Mathewson
Patch by Roger; fixes bug 1027.
2009-07-02Make an attempt to fix bug 1024.Karsten Loesing
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-06-30another minor patch to add to 0.2.1.xRoger Dingledine
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-30the third piece of bug 969 fixingRoger Dingledine
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-30the second piece of bug 969 fixingRoger Dingledine
whenever we remove a relay from the main routerlist, tell the rephist module that it's no longer running.
2009-06-30the first piece of bug 969 fixingRoger Dingledine
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-30Have eventdns set the "truncated" bit correctly.Nick Mathewson
Fixed bug 1022; This isn't actually a live bug in Tor, since in Tor we never generate large DNS replies.
2009-06-25stop capping bandwidths we see in the consensusRoger Dingledine
but continue capping bandwidths we see in local server descriptors, if we have no consensus weights for them.
2009-06-24Ignore control port commands after a QUITMarcus Griep
When a QUIT has been issued on a control port connection, then ignore further commands on that port. This fixes bug 1016.
2009-06-24Flush long replies over control port on QUITMarcus Griep
Marks the control port connection for flushing before closing when the QUIT command is issued. This allows a QUIT to be issued during a long reply over the control port, flushing the reply and then closing the connection. Fixes bug 1015.
2009-06-22Clients now use bandwidth values in the consensusRoger Dingledine
rather than the bandwidth values in each relay descriptor. This approach opens the door to more accurate bandwidth estimates once the directory authorities start doing active measurements. Implements more of proposal 141.
2009-06-22Serve DirPortFrontPage even if the write bucket is low.Nick Mathewson
arma's rationale: "I think this is a bug, since people intentionally set DirPortFrontPage, so they really do want their relay to serve that page when it's asked for. Having it appear only sometimes (or roughly never in Sebastian's case) makes it way less useful." Fixes bug 1013; bugfix on 0.2.1.8-alpha.
2009-06-22Add warning that the results of --enable-geoip-stats are different from ↵Karsten Loesing
those in master.
2009-06-20Bump version to 0.2.1.16-rc.devNick Mathewson
2009-06-20Bump version to 0.2.1.16-rctor-0.2.1.16-rcNick Mathewson
2009-06-19Better fix for 997.Karsten Loesing
2009-06-19Revert "Backport fix for bug 997."Karsten Loesing
This reverts commit 3847f54945933a11d14053b80427f268ffcfd8ad.
2009-06-18tor-resolve: Don't automatically refuse .onion addresses.Nick Mathewson
If the Tor is running with AutomapHostsOnResolve set, it _is_ reasonable to do a DNS lookup on a .onion address. So instead we make tor-resolve willing to try to resolve anything. Only if Tor refuses to resolve it do we suggest to the user that resolving a .onion address may not work. Fix for bug 1005.
2009-06-16Backport fix for bug 997.Karsten Loesing
Backporting 6a32beb and ca8708a.
2009-06-16Revise earlier check for correct IPv4 addr length to check for ==4.Nick Mathewson
We need this to match the check in connection_ap_handshake_socks_resolved(). Found by optimist.
2009-06-12Check answer_len in the remap_addr case of process_relay_cell_not_open.Roger Dingledine
Fix an edge case where a malicious exit relay could convince a controller that the client's DNS question resolves to an internal IP address. Bug found and fixed by "optimist"; bugfix on 0.1.2.8-beta.
2009-06-05Avoid a memory corruption problem related to "private" in DirPolicy.Nick Mathewson
This is a posible fix for bug 996.
2009-06-04Update the rest of the geoip file.Karsten Loesing
2009-06-03Update the geoip fileNick Mathewson
2009-06-03Fix gprof bottlenecks on exit nodes found by Jacob.Nick Mathewson
Apparently all the stuff that does a linear scan over all the DNS cache entries can get really expensive when your DNS cache is very large. It's hard to say how much this will help performance, since gprof doesn't count time spent in OpenSSL or zlib, but I'd guess 10%. Also, this patch removes calls to assert_connection_ok() from inside the read and write callbacks, which are similarly unneeded, and a little costlier than I'm happy with. This is probably worth backporting to 0.2.0.
2009-05-31Do not report a node as a "chosen exit" when it is not in fact an exit.Nick Mathewson
Provide a useful warning when launch_circuit tries to make us use a node we don't want to use. Just give an info message when this is a normal and okay situation. Fix for logging issues in bug 984.
2009-05-31Make the second argument to routerset_contains_extendinfo constNick Mathewson
2009-05-30Don't attempt to log messages to a controller from a worker thread.Nick Mathewson
This patch adds a function to determine whether we're in the main thread, and changes control_event_logmsg() to return immediately if we're in a subthread. This is necessary because otherwise we will call connection_write_to_buf, which modifies non-locked data structures. Bugfix on 0.2.0.x; fix for at least one of the things currently called "bug 977".
2009-05-29Clean up a bit of C logic, and fix an erroneous warning.Nick Mathewson
(Simplify "if (cond) return 1; return 0;" to "return cond;", and don't give a warning when we start with accounting on but dirport off.)