aboutsummaryrefslogtreecommitdiff
path: root/src/or/command.c
AgeCommit message (Collapse)Author
2013-08-21Make bridges send AUTH_CHALLENGE cellsNick Mathewson
The spec requires them to do so, and not doing so creates a situation where they can't send-test because relays won't extend to them because of the other part of bug 9546. Fixes bug 9546; bugfix on 0.2.3.6-alpha.
2013-08-21Send NETINFO on receiving a NETINFO if we have not yet sent one.Nick Mathewson
(Backport to Tor 0.2.3) Relays previously, when initiating a connection, would only send a NETINFO after sending an AUTHENTICATE. But bridges, when receiving a connection, would never send AUTH_CHALLENGE. So relays wouldn't AUTHENTICATE, and wouldn't NETINFO, and then bridges would be surprised to be receiving CREATE cells on a non-open circuit. Fixes bug 9546.
2013-01-14Reject create/begin/etc cells with {circ,stream}ID 0.Nick Mathewson
Otherwise, it's possible to create streams or circuits with these bogus IDs, leading to orphaned circuits or streams, or to ones that can cause bandwidth DOS problems. Fixes bug 7889; bugfix on all released Tors.
2012-10-23Fix a remotely triggerable assertion failure (CVE-2012-2250)Nick Mathewson
If we completed the handshake for the v2 link protocol but wound up negotiating the wong protocol version, we'd become so confused about what part of the handshake we were in that we'd promptly die with an assertion. This is a fix for CVE-2012-2250; it's a bugfix on 0.2.3.6-alpha. All servers running that version or later should really upgrade. Bug and fix from "some guy from France." I tweaked his code slightly to make it log the IP of the offending node.
2012-10-17Discard extraneous renegotiation attempts in the v3 link protocolNick Mathewson
Failure to do so left us open to a remotely triggerable assertion failure. Fixes CVE-2012-2249; bugfix on 0.2.3.6-alpha. Reported by "some guy from France".
2012-10-03Refuse extra create cells with reason "resource limit"Roger Dingledine
In the past we had used reason "internal", which is more vague than it needs to be. Resolves bug 7037.
2012-06-04Update copyright dates to 2012; add a few missing copyright statementsNick Mathewson
2012-05-30Merge remote-tracking branch 'linus/bug4369'Nick Mathewson
2012-05-29Fix minor typo in warning printout.Linus Nordberg
2012-05-18Extract data from DESTROY cell _after_ protocol violation checks.George Kadianakis
2012-04-27Close OR connections that send junk before AUTHORIZE/VERSIONSNick Mathewson
Fix for 4369.
2012-03-08Merge remote-tracking branch 'public/bug4361'Nick Mathewson
Conflicts: src/or/command.c
2012-01-18Rename nonconformant identifiers.Nick Mathewson
Fixes bug 4893. These changes are pure mechanical, and were generated with this perl script: /usr/bin/perl -w -i.bak -p s/crypto_pk_env_t/crypto_pk_t/g; s/crypto_dh_env_t/crypto_dh_t/g; s/crypto_cipher_env_t/crypto_cipher_t/g; s/crypto_digest_env_t/crypto_digest_t/g; s/aes_free_cipher/aes_cipher_free/g; s/crypto_free_cipher_env/crypto_cipher_free/g; s/crypto_free_digest_env/crypto_digest_free/g; s/crypto_free_pk_env/crypto_pk_free/g; s/_crypto_dh_env_get_dh/_crypto_dh_get_dh/g; s/_crypto_new_pk_env_rsa/_crypto_new_pk_from_rsa/g; s/_crypto_pk_env_get_evp_pkey/_crypto_pk_get_evp_pkey/g; s/_crypto_pk_env_get_rsa/_crypto_pk_get_rsa/g; s/crypto_new_cipher_env/crypto_cipher_new/g; s/crypto_new_digest_env/crypto_digest_new/g; s/crypto_new_digest256_env/crypto_digest256_new/g; s/crypto_new_pk_env/crypto_pk_new/g; s/crypto_create_crypto_env/crypto_cipher_new/g; s/connection_create_listener/connection_listener_new/g; s/smartlist_create/smartlist_new/g; s/transport_create/transport_new/g;
2012-01-11Do not pretend to allow PADDING as the first cell of a v3 handshakeNick Mathewson
2012-01-11Implement proposal 187: reserve a cell type for client authorizationNick Mathewson
This needs a changes file and more testing.
2011-11-21Merge branch 'bug4360'Nick Mathewson
2011-11-20Log more loudly on a bad cert from an authority.Nick Mathewson
Clock skew made this situation way too frequent so we demoted it to "protocol_warn", but when there's an authority, it should really just be warn.
2011-11-15Make certificate skew into a protocol warningNick Mathewson
2011-11-03Even when we can't answer an AUTH_CHALLENGE, send NETINFO.Nick Mathewson
Fixes bug 4368; fix on 0.2.3.6-alpha; bug found by "frosty".
2011-11-03Add comments and changes file for 4361; tweak control flow a bitNick Mathewson
2011-11-03Do not send a NETINFO cell as a client until after we have got a CERT cellfrosty
2011-11-03Fix bug 4367: correctly detect auth_challenge cells we can't useNick Mathewson
Found by frosty_un, bugfix on 0.2.3.6-alpha, fix suggested by arma.
2011-10-31normalize the name of the CERTS cellRoger Dingledine
2011-10-28Merge branch 'bug4343'Nick Mathewson
2011-10-28Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson
Conflicts: src/or/command.c
2011-10-28Discard all cells on a marked connectionNick Mathewson
Fix for bug 4299
2011-10-28"Authetnicate" is not the usual spellingNick Mathewson
2011-10-28Fix a double-free that would occur on an invalid cert in a CERTS cellNick Mathewson
We would stash the certs in the handshake state before checking them for validity... and then if they turned out to be invalid, we'd give an error and free them. Then, later, we'd free them again when we tore down the connection. Fixes bug 4343; fix on 0.2.3.6-alpha.
2011-10-27Merge branch 'maint-0.2.2_secfix' into master_secfixSebastian Hahn
Conflicts: src/common/tortls.c src/or/connection_or.c src/or/dirserv.c src/or/or.h
2011-10-26Merge branch 'maint-0.2.1_secfix' into maint-0.2.2_secfixSebastian Hahn
Conflicts: src/or/connection_or.c
2011-10-26Reject create cells on outgoing OR connections from bridgesRobert Ransom
2011-10-26Don't use any OR connection which sent us a CREATE_FAST cell for an EXTENDRobert Ransom
Fix suggested by Nick Mathewson.
2011-10-26manually backport a5232e0c4cRoger Dingledine
2011-10-26Do not tread vpadding cell as versions cell. Not in any released version.Nick Mathewson
2011-10-23Double-check that we really can get RSA keys from ID/Auth certsNick Mathewson
Addresses issue 4287; issue not in any released Tor.
2011-10-23Fix memory leak in prop176 codeNick Mathewson
This fixes part of bug4252. Bug not in any released version.
2011-10-11Fix a bunch of whitespace errorsNick Mathewson
2011-10-10Add some points to make it easy to turn off v3 supportNick Mathewson
2011-10-10Quiet two notices, and spelling mistake cleanupSebastian Hahn
2011-10-10Add more log statements for protocol/internal failuresNick Mathewson
2011-10-10Remove auth_challenge field from or_handshake_state_tNick Mathewson
We didn't need to record this value; it was already recorded implicitly while computing cell digests for later examination in the authenticate cells.
2011-10-10spec conformance: allow only one cert of each typeNick Mathewson
2011-10-10Give tor_cert_get_id_digests() fail-fast behaviorNick Mathewson
Right now we can take the digests only of an RSA key, and only expect to take the digests of an RSA key. The old tor_cert_get_id_digests() would return a good set of digests for an RSA key, and an all-zero one for a non-RSA key. This behavior is too error-prone: it carries the risk that we will someday check two non-RSA keys for equality and conclude that they must be equal because they both have the same (zero) "digest". Instead, let's have tor_cert_get_id_digests() return NULL for keys we can't handle, and make its callers explicitly test for NULL.
2011-10-10Make more safe_str usage happen for new logs in command.cNick Mathewson
2011-10-10Set up network parameters on non-authenticated incoming connectionsNick Mathewson
Also add some info log messages for the steps of the v3 handshake. Now my test network bootstraps!
2011-10-10Make sure we stop putting cells into our hash at the right time.Nick Mathewson
2011-10-10Bugfixes for authenticate handling and generationNick Mathewson
2011-10-10Fix log message about what cells we are sendingNick Mathewson
2011-10-10Hook up all of the prop176 code; allow v3 negotiations to actually workNick Mathewson
2011-10-10Make tor_tls_cert_is_valid check key lengthsNick Mathewson