aboutsummaryrefslogtreecommitdiff
path: root/src/or/command.c
Commit message (Collapse)AuthorAge
* Reject create/begin/etc cells with {circ,stream}ID 0.Nick Mathewson2013-01-14
| | | | | | | | 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.
* Fix a remotely triggerable assertion failure (CVE-2012-2250)Nick Mathewson2012-10-23
| | | | | | | | | | | | | 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.
* Discard extraneous renegotiation attempts in the v3 link protocolNick Mathewson2012-10-17
| | | | | | 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".
* Refuse extra create cells with reason "resource limit"Roger Dingledine2012-10-03
| | | | | In the past we had used reason "internal", which is more vague than it needs to be. Resolves bug 7037.
* Update copyright dates to 2012; add a few missing copyright statementsNick Mathewson2012-06-04
|
* Merge remote-tracking branch 'linus/bug4369'Nick Mathewson2012-05-30
|\
| * Fix minor typo in warning printout.Linus Nordberg2012-05-29
| |
| * Close OR connections that send junk before AUTHORIZE/VERSIONSNick Mathewson2012-04-27
| | | | | | | | Fix for 4369.
* | Extract data from DESTROY cell _after_ protocol violation checks.George Kadianakis2012-05-18
|/
* Merge remote-tracking branch 'public/bug4361'Nick Mathewson2012-03-08
|\ | | | | | | | | Conflicts: src/or/command.c
| * Add comments and changes file for 4361; tweak control flow a bitNick Mathewson2011-11-03
| |
| * Do not send a NETINFO cell as a client until after we have got a CERT cellfrosty2011-11-03
| |
* | Rename nonconformant identifiers.Nick Mathewson2012-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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;
* | Do not pretend to allow PADDING as the first cell of a v3 handshakeNick Mathewson2012-01-11
| |
* | Implement proposal 187: reserve a cell type for client authorizationNick Mathewson2012-01-11
| | | | | | | | This needs a changes file and more testing.
* | Merge branch 'bug4360'Nick Mathewson2011-11-21
|\ \
| * | normalize the name of the CERTS cellRoger Dingledine2011-10-31
| |/
* | Log more loudly on a bad cert from an authority.Nick Mathewson2011-11-20
| | | | | | | | | | | | 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.
* | Make certificate skew into a protocol warningNick Mathewson2011-11-15
| |
* | Even when we can't answer an AUTH_CHALLENGE, send NETINFO.Nick Mathewson2011-11-03
| | | | | | | | Fixes bug 4368; fix on 0.2.3.6-alpha; bug found by "frosty".
* | Fix bug 4367: correctly detect auth_challenge cells we can't useNick Mathewson2011-11-03
|/ | | | Found by frosty_un, bugfix on 0.2.3.6-alpha, fix suggested by arma.
* Merge branch 'bug4343'Nick Mathewson2011-10-28
|\
| * "Authetnicate" is not the usual spellingNick Mathewson2011-10-28
| |
| * Fix a double-free that would occur on an invalid cert in a CERTS cellNick Mathewson2011-10-28
| | | | | | | | | | | | | | | | | | 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.
* | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-10-28
|\ \ | |/ |/| | | | | Conflicts: src/or/command.c
| * Discard all cells on a marked connectionNick Mathewson2011-10-28
| | | | | | | | Fix for bug 4299
* | Merge branch 'maint-0.2.2_secfix' into master_secfixSebastian Hahn2011-10-27
|\| | | | | | | | | | | | | | | Conflicts: src/common/tortls.c src/or/connection_or.c src/or/dirserv.c src/or/or.h
| * Merge branch 'maint-0.2.1_secfix' into maint-0.2.2_secfixSebastian Hahn2011-10-26
| |\ | | | | | | | | | | | | Conflicts: src/or/connection_or.c
| | * Reject create cells on outgoing OR connections from bridgesRobert Ransom2011-10-26
| | |
| | * Don't use any OR connection which sent us a CREATE_FAST cell for an EXTENDRobert Ransom2011-10-26
| | | | | | | | | | | | Fix suggested by Nick Mathewson.
| | * manually backport a5232e0c4cRoger Dingledine2011-10-26
| | |
* | | Do not tread vpadding cell as versions cell. Not in any released version.Nick Mathewson2011-10-26
| | |
* | | Double-check that we really can get RSA keys from ID/Auth certsNick Mathewson2011-10-23
| | | | | | | | | | | | Addresses issue 4287; issue not in any released Tor.
* | | Fix memory leak in prop176 codeNick Mathewson2011-10-23
| | | | | | | | | | | | This fixes part of bug4252. Bug not in any released version.
* | | Fix a bunch of whitespace errorsNick Mathewson2011-10-11
| | |
* | | Add some points to make it easy to turn off v3 supportNick Mathewson2011-10-10
| | |
* | | Quiet two notices, and spelling mistake cleanupSebastian Hahn2011-10-10
| | |
* | | Add more log statements for protocol/internal failuresNick Mathewson2011-10-10
| | |
* | | Remove auth_challenge field from or_handshake_state_tNick Mathewson2011-10-10
| | | | | | | | | | | | | | | | | | We didn't need to record this value; it was already recorded implicitly while computing cell digests for later examination in the authenticate cells.
* | | spec conformance: allow only one cert of each typeNick Mathewson2011-10-10
| | |
* | | Give tor_cert_get_id_digests() fail-fast behaviorNick Mathewson2011-10-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Make more safe_str usage happen for new logs in command.cNick Mathewson2011-10-10
| | |
* | | Set up network parameters on non-authenticated incoming connectionsNick Mathewson2011-10-10
| | | | | | | | | | | | | | | | | | Also add some info log messages for the steps of the v3 handshake. Now my test network bootstraps!
* | | Make sure we stop putting cells into our hash at the right time.Nick Mathewson2011-10-10
| | |
* | | Bugfixes for authenticate handling and generationNick Mathewson2011-10-10
| | |
* | | Fix log message about what cells we are sendingNick Mathewson2011-10-10
| | |
* | | Hook up all of the prop176 code; allow v3 negotiations to actually workNick Mathewson2011-10-10
| | |
* | | Make tor_tls_cert_is_valid check key lengthsNick Mathewson2011-10-10
| | |
* | | Implement cert/auth cell readingNick Mathewson2011-10-10
| | |
* | | Cell types and states for new OR handshakeNick Mathewson2011-10-10
| | | | | | | | | | | | | | | | | | Also, define all commands > 128 as variable-length when using v3 or later link protocol. Running into a var cell with an unrecognized type is no longer a bug.