aboutsummaryrefslogtreecommitdiff
path: root/src/or/connection_or.c
Commit message (Collapse)AuthorAge
* Only connection_add connections once they have conn->s sett; refactor code ↵Nick Mathewson2004-05-05
| | | | | | around this. Should make stuff more bulletproof. svn:r1788
* Handle windows socket errors correctly; comment most of common.Nick Mathewson2004-05-01
| | | | svn:r1756
* use tor_assertRoger Dingledine2004-04-25
| | | | | | | remove obsolete BUF_OK macro svn:r1697
* Remove onion_pkey from connection, since onion keys can change more often ↵Nick Mathewson2004-04-25
| | | | | | than connections. Also add more log messages svn:r1693
* Note router addr:port in log messagesNick Mathewson2004-04-24
| | | | svn:r1685
* Compare nicknames casei.Nick Mathewson2004-04-24
| | | | svn:r1684
* Merge flagday into main branch.Nick Mathewson2004-04-24
| | | | svn:r1683
* note which preexisting or connection we found.Nick Mathewson2004-04-08
| | | | svn:r1571
* Put ourself in router list; act accordingly.Nick Mathewson2004-04-07
| | | | svn:r1521
* make it less noisy for normal ORs when a server uses a false nicknameRoger Dingledine2004-03-28
| | | | svn:r1359
* fix two assert triggers (darn it, I hate releasing software)Roger Dingledine2004-03-26
| | | | | | | | when connecting to a dirserver or OR and the network is down, we would crash. svn:r1340
* Replace all connection_removes outsice of main.c with connection_mark_for_closeNick Mathewson2004-03-21
| | | | svn:r1328
* Add a RunTesting option to try to learn link state by creating test ↵Nick Mathewson2004-03-21
| | | | | | circuits, even when SocksPort is off. svn:r1327
* Integrate the new "rephist" [rep(utation) hist(ory)] module to traceNick Mathewson2004-03-20
| | | | | | | | | | | | | | successful/failed connections, successful/failed extends, and connection uptimes. It's still not done: more tests are needed, and not everything calls connection/circuit_mark_for_close properly. This skews the results. Also, there needs to be a 'testing' mode for non-OP ORs, where they periodically build circuits just to test whether extends work. svn:r1313
* stop troubling router operators with unapproved router connect attemptsRoger Dingledine2004-03-09
| | | | | | | but give the dirserver operator more information svn:r1246
* stop asserting that computers always go forward in timeRoger Dingledine2004-03-06
| | | | | | | it's simply not true svn:r1236
* use conn->hold_open_until_flushed for streamsRoger Dingledine2004-03-03
| | | | | | | and also note/fix a variety of other stream-based bugs svn:r1210
* Push responsibility for connection marking down as far as possible; have ↵Nick Mathewson2004-02-28
| | | | | | only a close path; add some missing end cells; change return conventions a little. svn:r1149
* oh, and make it compileRoger Dingledine2004-01-11
| | | | | | | | still need to make a decision about per-connection rate limiting (take it out? update it?) svn:r984
* checkpoint: revamp relay cell packaging and handlingRoger Dingledine2003-12-23
| | | | | | | | include the infrastructure for inserting padding cells when there's a relay-recognized conflict, but it does not work currently. svn:r958
* remove trailing whitespaceRoger Dingledine2003-12-17
| | | | svn:r951
* move cell size to 512 bytesRoger Dingledine2003-12-16
| | | | | | | | | move length to 2 bytes, put it in the relay header remove 4 reserved bytes in cell add 4 bytes to relay header for the integrity check svn:r942
* simplify: options.OnionRouter==1 iff options.ORPort>0Roger Dingledine2003-11-20
| | | | svn:r857
* removed unused variable; silence warningNick Mathewson2003-11-19
| | | | svn:r844
* revert part of that last changeRoger Dingledine2003-11-18
| | | | | | | time for bed svn:r840
* make more sure we can't end up with two connections to the same ORRoger Dingledine2003-11-18
| | | | | | | fix leaked pk in connection_tls_finish_handshake svn:r839
* bugfix: don't ask for ->next of an expired circuitRoger Dingledine2003-11-18
| | | | | | | | | | | | | | | bugfix: keep going when a circ fails in circuit_n_conn_open (make circuit_enumerate_by_naddr_nport obsolete) bugfix: make circuit_n_conn_open only look at circ's that start at us bugfix: only try circuit_n_conn_open if we're an OP. Otherwise we expect connections to always already be up. bugfix: when choosing path length, pay attention to whether the directory says a router is down. bugfix: when picking good exit, skip routers which are known to be down (more work needs to be done on this one) svn:r838
* Simplify post-TLS-handshake checks, and add check for correct nicknameNick Mathewson2003-11-18
| | | | svn:r834
* make dir parsing robust to invalid but well-formed descriptorsRoger Dingledine2003-11-12
| | | | svn:r800
* Rename aci to circ_id throughout.Nick Mathewson2003-11-11
| | | | svn:r784
* move closer to being able to reload config on HUPRoger Dingledine2003-10-21
| | | | | | | | rename APPort to SocksPort introduce new tor_free() macro svn:r642
* Example code to get nickname from certNick Mathewson2003-10-19
| | | | svn:r628
* Build without warnings on OS X.Nick Mathewson2003-10-15
| | | | svn:r595
* change WARNING to WARNRoger Dingledine2003-10-10
| | | | | | | and fix a few typos svn:r571
* Refactor, rename, and clarifyNick Mathewson2003-10-09
| | | | svn:r569
* 0.0.2pre11, new licenseRoger Dingledine2003-10-08
| | | | svn:r564
* Update LICENSE and copyright dates.Nick Mathewson2003-10-08
| | | | svn:r560
* more details to track a warning in tls handshakesRoger Dingledine2003-10-07
| | | | | | | plus make exit policy comparisons not always reject svn:r559
* wrap strdup; prefer time() to gettimeofday()Roger Dingledine2003-10-04
| | | | svn:r538
* refactor so connection_write_to_buf() never failsRoger Dingledine2003-10-04
| | | | svn:r537
* my_routerinfo, router_is_me, and learn_my_address are obsoleteRoger Dingledine2003-10-01
| | | | | | | ACIs are decided now by strcmp'ing nicknames, rather than comparing addr:port svn:r529
* fix the SSL_read() bug again. this time for sure!Roger Dingledine2003-09-30
| | | | svn:r518
* move the tls handshake stuff to connection_orRoger Dingledine2003-09-30
| | | | svn:r510
* Write necessary backends for online directory generation. I think.Nick Mathewson2003-09-27
| | | | svn:r503
* clean up receiver buckets; prepare for payloads in relay_end; note a few bugsRoger Dingledine2003-09-27
| | | | svn:r502
* connection_new() can't ever failRoger Dingledine2003-09-27
| | | | svn:r497
* first pass: obey log conventionRoger Dingledine2003-09-26
| | | | | | | | | | | | | | | | | | | | | ERR is if something fatal just happened WARNING is something bad happened, but we're still running. The bad thing is either a bug in the code, an attack or buggy protocol/implementation of the remote peer, etc. The operator should examine the bad thing and try to correct it. (No error or warning messages should be expected. I expect most people to run on -l warning eventually.) NOTICE is never ever used. INFO means something happened (maybe bad, maybe ok), but there's nothing you need to (or can) do about it. DEBUG is for everything louder than INFO. svn:r486
* various bugfixes and updatesRoger Dingledine2003-09-25
| | | | | | | | | | | | | | | | | | | | redo all the config files for the new format (we'll redo them again soon) fix (another! yuck) segfault in log_fn when input is too large tor_tls_context_new() returns -1 for error, not NULL fix segfault in check_conn_marked() on conn's that die during tls handshake make ORs also initialize conn from router when we're the receiving node make non-dirserver ORs upload descriptor to every dirserver on startup add our local address to the descriptor add Content-Length field to POST command revert the Content-Length search in fetch_from_buf_http() to previous code fix segfault in memmove in fetch_from_buf_http() raise maximum allowed headers/body size in directory.c svn:r484
* Refactor buffers; implement descriptors.Nick Mathewson2003-09-25
| | | | | | | | | | | | | | | | | 'buf_t' is now an opaque type defined in buffers.c . Router descriptors now include all keys; routers generate keys as needed on startup (in a newly defined "data directory"), and generate their own descriptors. Descriptors are now self-signed. Implementation is not complete: descriptors are never published; and upon receiving a descriptor, the directory doesn't do anything with it. At least "routers.or" and orkeygen are now obsolete, BTW. svn:r483
* cleanups, bugfixes, more verbose logsRoger Dingledine2003-09-24
| | | | | | | | | | | | | | | | | | | Fixed up the assert_*_ok funcs some (more work remains) Changed config so it reads either /etc/torrc or the -f arg, never both Finally tracked down a nasty bug with our use of tls: It turns out that if you ask SSL_read() for no more than n bytes, it will read the entire record from the network (and maybe part of the next record, I'm not sure), give you n bytes of it, and keep the remaining bytes internally. This is fine, except our poll-for-read looks at the network, and there are no bytes pending on the network, so we never know to ask SSL_read() for more bytes. Currently I've hacked it so if we ask for n bytes and it returns n bytes, then it reads again right then. This will interact poorly with our rate limiting; we need a cleaner solution. svn:r481