aboutsummaryrefslogtreecommitdiff
path: root/src/or/main.c
AgeCommit message (Collapse)Author
2016-03-14Add comments to connection_check_event().Nick Mathewson
2016-03-11Change behavior on missing/present event to warn instead of asserting.Nick Mathewson
Add a changes file.
2016-03-11If we start/stop reading on a dnsserv connection, don't assert.Nick Mathewson
Fixes bug 16248. Patch from cypherpunks. Bugfix on 0.2.0.1-alpha.
2016-01-18Merge remote-tracking branch 'teor/bug18050' into maint-0.2.7Nick Mathewson
2016-01-18Check ORPort and DirPort reachability before publishing a relay descriptorteor (Tim Wilson-Brown)
Otherwise, relays publish a descriptor with DirPort 0 when the DirPort reachability test takes longer than the ORPort reachability test. Closes bug #18050. Reported by "starlight", patch by "teor". Bugfix on 0.1.0.1-rc, commit a1f1fa6ab on 27 Feb 2005.
2015-12-17Add some more ed25519 key files to the seccomp sandbox listNick Mathewson
Fixes bug 17675; bugfix on 0.2.7.3-alpha.
2015-10-15Merge remote-tracking branch 'origin/maint-0.2.6' into maint-0.2.7Nick Mathewson
2015-10-15Add hidserv-stats filname to our sandbox filterDavid Goulet
Fixes #17354 Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2015-09-10Merge remote-tracking branch 'public/ed25519_hup_v2'Nick Mathewson
2015-09-02Let recent relays run with the chutney sandbox.Nick Mathewson
Fixes 16965
2015-09-02Let bridge authorities run under the sandboxNick Mathewson
(found thanks to teor's chutney haxx)
2015-08-19Reload Ed25519 keys on sighup.Nick Mathewson
Closes ticket 16790.
2015-08-19Merge branch 'ed25519_keygen_squashed'Nick Mathewson
2015-08-19Don' call failure to get keys a bug; it's possible now.Nick Mathewson
2015-08-19Resolve failing test_keygen tests.Nick Mathewson
2015-08-18Merge branch 'decouple_controller_events_squashed'Nick Mathewson
2015-08-18Refactor our logic for sending events to controllersNick Mathewson
Previously we'd put these strings right on the controllers' outbufs. But this could cause some trouble, for these reasons: 1) Calling the network stack directly here would make a huge portion of our networking code (from which so much of the rest of Tor is reachable) reachable from everything that potentially generated controller events. 2) Since _some_ events (EVENT_ERR for instance) would cause us to call connection_flush(), every control_event_* function would appear to be able to reach even _more_ of the network stack in our cllgraph. 3) Every time we generated an event, we'd have to walk the whole connection list, which isn't exactly fast. This is an attempt to break down the "blob" described in http://archives.seul.org/tor/dev/Mar-2015/msg00197.html -- the set of functions from which nearly all the other functions in Tor are reachable. Closes ticket 16695.
2015-08-17Merge remote-tracking branches 'public/decouple_lost_owner' and ↵Nick Mathewson
'public/decouple_signals'
2015-08-17Merge remote-tracking branch 'public/decouple_retry_directory'Nick Mathewson
2015-08-14Merge remote-tracking branch 'public/decouple_init_keys'Nick Mathewson
2015-08-13Decouple routerlist_retry_directory_downloads() from the blobNick Mathewson
Instead of having it call update_all_descriptor_downloads and update_networkstatus_downloads directly, we can have it cause them to get rescheduled and called from run_scheduled_events. Closes ticket 16789.
2015-08-12Fix a windows compilation errorNick Mathewson
2015-08-12Try to decouple process_signal() from anything not event-drivenNick Mathewson
This needs debugging; it currently breaks the stem tests.
2015-08-12Decouple the backend for directory_all_unreachable to simplify our CFGNick Mathewson
See ticket 16762.
2015-08-11Split the client-only parts of init_keys() into a separate functionNick Mathewson
This should simplify the callgraph a little more.
2015-08-11Expire after 5 minutes rend cache failure entriesDavid Goulet
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2015-07-21Remove casting of void pointers when handling signals.cypherpunks
2015-07-14Change the name for the keypinning file; delete the old one if foundNick Mathewson
This is a brute-force fix for #16580, wherein #16530 caused some routers to do bad things with the old keypinning journal.
2015-06-17Merge branch '13642_offline_master_v2_squashed'Nick Mathewson
2015-06-17Support encrypted offline master keys with a new --keygen flagNick Mathewson
When --keygen is provided, we prompt for a passphrase when we make a new master key; if it is nonempty, we store the secret key in a new crypto_pwbox. Also, if --keygen is provided and there *is* an encrypted master key, we load it and prompt for a passphrase unconditionally. We make a new signing key unconditionally when --keygen is provided. We never overwrite a master key.
2015-06-17Merge remote-tracking branch 'origin/maint-0.2.6'Nick Mathewson
2015-06-17Merge remote-tracking branch 'origin/maint-0.2.5' into maint-0.2.6Nick Mathewson
2015-06-17Correctly handle failed crypto_early_initteor
If crypto_early_init fails, a typo in a return value from tor_init means that tor_main continues running, rather than returning an error value. Fixes bug 16360; bugfix on d3fb846d8c98 in 0.2.5.2-alpha, introduced when implementing #4900. Patch by "teor".
2015-06-02Merge remote-tracking branch 'origin/maint-0.2.6'Nick Mathewson
2015-06-02Fix sandboxing to work when running as a relayPeter Palfrader
This includes correctly allowing renaming secret_id_key and allowing the eventfd2 and futex syscalls. Fixes bug 16244; bugfix on 0.2.6.1-alpha.
2015-05-28Merge branch '12498_ed25519_keys_v6'Nick Mathewson
Fixed numerous conflicts, and ported code to use new base64 api.
2015-05-28Generate weird certificates correctlyNick Mathewson
(Our link protocol assumes that the link cert certifies the TLS key, and there is an RSA->Ed25519 crosscert)
2015-05-28# This is a combination of 2 commits.Nick Mathewson
# The first commit's message is: Regenerate ed25519 keys when they will expire soon. Also, have testing-level options to set the lifetimes and expiration-tolerances of all key types, plus a non-testing-level option to set the lifetime of any auto-generated signing key. # The 2nd commit message will be skipped: # fixup! Regenerate ed25519 keys when they will expire soon.
2015-05-28Tie key-pinning logic into directory authority operationNick Mathewson
With this patch: * Authorities load the key-pinning log at startup. * Authorities open a key-pinning log for writing at startup. * Authorities reject any router with an ed25519 key where they have previously seen that ed25519 key with a different RSA key, or vice versa. * Authorities warn about, but *do not* reject, RSA-only descriptors when the RSA key has previously gone along with an Ed25519 key. (We should make this a 'reject' too, but we can't do that until we're sure there's no legit reason to downgrade to 0.2.5.)
2015-05-28prop220: Implement certificates and key storage/creationNick Mathewson
For prop220, we have a new ed25519 certificate type. This patch implements the code to create, parse, and validate those, along with code for routers to maintain their own sets of certificates and keys. (Some parts of master identity key encryption are done, but the implementation of that isn't finished)
2015-05-20Merge branch 'bug16034_no_more_openssl_098_squashed'Nick Mathewson
Conflicts: src/test/testing_common.c
2015-05-20Now that OpenSSL 0.9.8 is dead, crypto_seed_rng() needs no argsNick Mathewson
It needed an argument before because it wasn't safe to call RAND_poll() on openssl 0.9.8c if you had already opened more fds than would fit in fd_set.
2015-05-13tor_tls_get_buffer_sizes() will not work on openssl 1.1. Patch from yawningNick Mathewson
2015-04-23whitespace fixesNick Mathewson
2015-04-23Fix some conversion problemsNick Mathewson
2015-04-21Add crypto_rand_int_range() and use itDavid Goulet
Incidently, this fixes a bug where the maximum value was never used when only using crypto_rand_int(). For instance this example below in rendservice.c never gets to INTRO_POINT_LIFETIME_MAX_SECONDS. int intro_point_lifetime_seconds = INTRO_POINT_LIFETIME_MIN_SECONDS + crypto_rand_int(INTRO_POINT_LIFETIME_MAX_SECONDS - INTRO_POINT_LIFETIME_MIN_SECONDS); Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2015-04-16code style fixesNick Mathewson
2015-04-16Fix missing-initializer warningNick Mathewson
2015-04-16Merge remote-tracking branch 'arma/ticket8766'Nick Mathewson
2015-04-15Make --hash-password imply --hush to prevent unnecessary noise.cypherpunks