summaryrefslogtreecommitdiff
path: root/src/or/main.c
AgeCommit message (Collapse)Author
2011-05-04Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson
2011-05-05Fix compile warning on windowsSebastian Hahn
2011-05-03Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson
Conflicts: src/or/main.c src/or/microdesc.c
2011-05-03Change who calls microdesc_cache_rebuild().Nick Mathewson
Previously we ensured that it would get called periodically by doing it from inside the code that added microdescriptors. That won't work though: it would interfere with our code that tried to read microdescs from disk initially. Instead, we should consider rebuilding the cache periodically, and on startup.
2011-04-28Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson
2011-04-28Ignore SIGNAL NEWNYM on relay-only Tor instancesRobert Ransom
2011-04-28Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson
Conflicts: src/or/rendcommon.h
2011-04-28Merge branch 'bug3k_021' into bug3k_022Sebastian Hahn
Conflicts: src/or/or.h src/or/rendclient.c
2011-04-28Forget all rendezvous client state on SIGNAL NEWNYMRobert Ransom
2011-04-26Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson
Conflicts: src/or/main.h
2011-04-26Expose a new process_signal(uintptr_t), not signal_callback()Nick Mathewson
This is a tweak to the bug2917 fix. Basically, if we want to simulate a signal arriving in the controller, we shouldn't have to pretend that we're Libevent, or depend on how Tor sets up its Libevent callbacks.
2011-04-19Merge remote-tracking branch 'asn/heartbeat'Nick Mathewson
2011-04-16Reuse get_bytes_{read,written}() in status.cGeorge Kadianakis
2011-04-15Make SIGNAL DUMP work on FreeBSDSebastian Hahn
While doing so, get rid of the now unnecessary function control_signal_act(). Fixes bug 2917, reported by Robert Ransom. Bugfix on commit 9b4aa8d2abbce71398e58188209a1b1d04885b96. This patch is loosely based on a patch by Robert (Changelog entry).
2011-03-30Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson
Conflicts: src/common/compat.h src/or/circuitlist.c src/or/circuituse.c src/or/or.h src/or/rephist.c
2011-03-30Use timevals, not time_t, when expiring circuits.Nick Mathewson
We've got millisecond timers now, we might as well use them. This change won't actually make circuits get expiered with microsecond precision, since we only call the expiry functions once per second. Still, it should avoid the situation where we have a circuit get expired too early because of rounding. A couple of the expiry functions now call tor_gettimeofday: this should be cheap since we're only doing it once per second. If it gets to be called more often, though, we should onsider having the current time be an argument again.
2011-03-14Merge remote branch 'origin/maint-0.2.2'Nick Mathewson
Fix trivial add/add conflict in main.c Conflicts: src/or/main.c
2011-03-12Tweak bug2716 patch a littleNick Mathewson
Name the magic value "10" rather than re-deriving it. Comment more. Use the pattern that works for periodic timers, not the pattern that doesn't work. ;)
2011-03-11improve accuracy for when a relay went unreachableRoger Dingledine
2011-02-22Implement more heartbeat message stuff.George Kadianakis
(This squashes multiple commits: * Adds uptime monitoring support. * Adds circuit counting code. * Trivially tweaks the documentation. * Trivial run_scheduled_events() code tweaking. * Adds a status.h to export functions. * Added bandwidth monitoring code. * Added consensus presense detection code. * Restricts the precision of the bandwidth output. * Various fixes. * Fixed style and spacing problems. * Tidied up src/or/Makefile.am * Couple of minor fixes on status.c functions. * 'Implemented' client heartbeat support )
2011-02-22Initial heartbeat subsystem commit.Sebastian Hahn
Sets: * Documentation * Logging domain * Configuration option * Scheduled event * Makefile It also creates status.c and the log_heartbeat() function. All code was written by Sebastian Hahn. Commit message was written by me (George Kadianakis).
2011-02-07change APIs slightly to make #1944 easierRoger Dingledine
2011-02-03Merge remote branch 'origin/maint-0.2.2'Nick Mathewson
2011-02-03Enable ASLR and permanent DEP for Windows executablesJohn Brooks
Fix for #2358
2011-01-07GETINFO options for querying traffic usageDamian Johnson
This was originally a patch provided by pipe (http://www.mail-archive.com/or-talk@freehaven.net/msg13085.html) to provide a method for controllers to query the total amount of traffic tor has handled (this is a frequently requested piece of information by relay operators).
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-12-21Merge remote branch 'origin/maint-0.2.2'Nick Mathewson
2010-12-03Call the new config option ConnDirectionStatistics.Karsten Loesing
2010-12-03Add metric on uni/bidirectional connection usage.Karsten Loesing
2010-11-19Better fix for 2190: defer libevent->controller messages instead of droppingNick Mathewson
2010-11-19Add a SIGNAL event for control connectionsJohn Brooks
Implements ticket #1955
2010-10-21Merge remote branch 'origin/maint-0.2.2'Nick Mathewson
Conflicts: src/common/tortls.c
2010-10-21Rename get_client_identity_key to get_tlsclient_identity_keyNick Mathewson
2010-10-13Fix some XXXXs in connection_add_impl related to bufferevent error checkingNick Mathewson
This might make bufferevents more asserty for a while, but they should make other bugs less likely to go unnoticed. Noted by Sebastian.
2010-10-13Implement node_set_exit_policy_to_reject_all with a flagNick Mathewson
Also remove some debugging code.
2010-10-13Merge branch 'nodes'Nick Mathewson
2010-10-13Send END cells on bufferevent tunneled directory connsNick Mathewson
Our old code correctly called bufferevent_flush() on linked connections to make sure that the other side got an EOF event... but it didn't call bufferevent_flush() when the connection wasn't hold_open_until_flushed. Directory connections don't use hold_open_until_flushed, so the linked exit connection never got an EOF, so they never sent a RELAY_END cell to the client, and the client never concluded that data had arrived. The solution is to make the bufferevent_flush() code apply to _all_ closing linked conns whose partner is not already marked for close.
2010-10-13Use connection_mark_and_flush consistently.Nick Mathewson
2010-10-04Maintain separate server and client identity keys when appropriate.Robert Ransom
Fixes a bug described in ticket #988.
2010-10-04Maintain separate server and client TLS contexts.Robert Ransom
Fixes bug #988.
2010-10-04Refactor tor_tls_context_new:Robert Ransom
* Make tor_tls_context_new internal to tortls.c, and return the new tor_tls_context_t from it. * Add a public tor_tls_context_init wrapper function to replace it.
2010-10-01Try to make most routerinfo_t interfaces constNick 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-09-30Start tor-fw-helper in the background, and log whatever it outputsSteven Murdoch
2010-09-29Merge remote branch 'origin/maint-0.2.2'Nick Mathewson
2010-09-28handle ugly edge case in retrying entrynodesRoger Dingledine
Specifically, a circ attempt that we'd launched while the network was down could timeout after we've marked our entrynodes up, marking them back down again. The fix is to annotate as bad the OR conns that were around before we did the retry, so if a circuit that's attached to them times out we don't do anything about it.
2010-09-28refactor; no actual changesRoger Dingledine
2010-09-27Download microdescriptors if you're a cacheNick Mathewson
This commit adds some functions to see what microdescriptors we're missing, and adds fetch-microdesc/store-microdesc logic to the directory code.