aboutsummaryrefslogtreecommitdiff
path: root/src/or/connection.c
Commit message (Collapse)AuthorAge
* fix some bugs; more remainRoger Dingledine2004-04-03
| | | | svn:r1450
* Refactor directory serversRoger Dingledine2004-03-30
| | | | | | | | | | | * read all the time (before we would ignore eof sometimes, oops) * we can handle different urls now * send back 404 for an un-handled url * commands initiated by the client can handle payloads now * introduce conn->purpose to avoid exponential state-space explosion svn:r1400
* bugfix: we were closing socks-request connections immediately, ratherRoger Dingledine2004-03-29
| | | | | | | than flushing them, if they were timing out before we marked them svn:r1366
* hold socks reply open until flushed (if possible)Roger Dingledine2004-03-28
| | | | svn:r1356
* work around a tsocks bugRoger Dingledine2004-03-27
| | | | | | | | when an AP connection dies early, be sure to do a socks reject for it. if you just hang up, tsocks goes into an infinite loop. svn:r1352
* fix an assert trigger where an OP would fail to handshake, and we'dRoger Dingledine2004-03-27
| | | | | | | expect it to have a nickname. svn:r1351
* a missing comma could wreak all sorts of havoc.Roger Dingledine2004-03-26
| | | | svn:r1335
* 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
* bugfix: decrement OR connections from global_bucket tooRoger Dingledine2004-03-14
| | | | | | | | bugfix: don't return immediately for has_pending_tls_data unless the conn is allowed to read svn:r1270
* refactor bandwidth-control token bucketsRoger Dingledine2004-03-14
| | | | | | | | this is a checkpoint commit; there still remain some bugs, er, somewhere. svn:r1269
* get rid of those pesky tabsRoger Dingledine2004-03-12
| | | | svn:r1264
* Make OP work on windows! (Also misc logging tweaks)Nick Mathewson2004-03-11
| | | | svn:r1258
* Fix DOS line endings; autoconfize checks for strptime and inet_atonNick Mathewson2004-03-09
| | | | svn:r1248
* Make tor build on windows again. More work still neededNick Mathewson2004-03-09
| | | | svn:r1247
* stop asserting that computers always go forward in timeRoger Dingledine2004-03-06
| | | | | | | it's simply not true svn:r1236
* Try to find out early if buffers get trashed or double-freed.Nick Mathewson2004-03-03
| | | | svn:r1225
* holding until flush was borkedRoger Dingledine2004-03-03
| | | | | | | | | | we were never writing anything when hold_open_until_flushed was set, since conn_write returns early if marked_for_conn is set. seems a bit better now. svn:r1214
* close immediately when write() fails too, else things will turn badRoger Dingledine2004-03-03
| | | | svn:r1212
* use conn->hold_open_until_flushed for streamsRoger Dingledine2004-03-03
| | | | | | | and also note/fix a variety of other stream-based bugs svn:r1210
* Implement hold_open_until_flushed. I may have missed something important.Nick Mathewson2004-03-03
| | | | svn:r1209
* warn more when losing data on closed/marked connections.Nick Mathewson2004-03-03
| | | | svn:r1203
* bugfix: close_immediate called buf_clear but listeners don't have bufsRoger Dingledine2004-03-03
| | | | svn:r1202
* Fix assertion failure spotted by arma.Nick Mathewson2004-03-02
| | | | | | | | | | | Apparently, when a DNS failure was already cached, then when we tried to mark the exit connection as closed, we'd try to remove it from the pending queue anyway, and hit an assert. Now, we put failed-resolve connections in a separate state so that mark_for_close does the right thing. svn:r1196
* create a separate connection_edge_destroy() functionRoger Dingledine2004-02-29
| | | | svn:r1176
* bugfix: in some cases, connection_mark_for_close wasn't marking the connRoger Dingledine2004-02-28
| | | | svn:r1174
* Split dns_cancel_pending_resolve into dns_cancel_pending_resolve (kill aNick Mathewson2004-02-28
| | | | | | | | resolve in response to a DNS worker dying) and connection_dns_remove (remove a pending connection from the resolve structure.) svn:r1168
* Stop trying to flush on broken sockets marked for close.Nick Mathewson2004-02-28
| | | | svn:r1163
* some comments to point nick at the latest bugsRoger Dingledine2004-02-28
| | | | svn:r1162
* enable assert_connection_ok()Roger Dingledine2004-02-28
| | | | | | | we weren't actually asserting much. oops. svn:r1160
* note bug in assert_connection_okRoger Dingledine2004-02-28
| | | | svn:r1159
* clean up some log messages and severitiesRoger Dingledine2004-02-28
| | | | | | | still plenty more left to clean svn:r1158
* some more small fixesRoger Dingledine2004-02-28
| | | | svn:r1152
* 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
* Make has_sent_end irrelevant: only try to send end if reason is nonzeroNick Mathewson2004-02-28
| | | | svn:r1148
* and another oneRoger Dingledine2004-02-27
| | | | svn:r1147
* patches/answers to nick's commitRoger Dingledine2004-02-27
| | | | svn:r1146
* Refactor mark_for_close, connection_edge_end and friends. Now, everybodyNick Mathewson2004-02-27
| | | | | | | | | | | | | | | | who wants to shut down a connection calls connection_mark_for_close instead of setting marked_for_close to 1. This automatically removes the connection from the DNS cache if needed, sends a RELAY END cell if appropriate, and can be changed to do whatever else is needed. Still to do: - The same for circuits, maybe. - Add some kind of hold_connection_open_until_flushed flag, maybe. - Change stuff that closes connections with return -1 to use mark_for_close, maybe. svn:r1145
* Fix a bug where you might flush some data on a tls connection, and thenRoger Dingledine2004-02-27
| | | | | | | | | | add some more data to be flushed but never turn POLLOUT on. not sure how commonly this bug was hit, but it would be a doozy. Also add some asserts to see if it happens elsewhere. svn:r1142
* Basic RAM poisoning and magic-checking to notice connection and circuitNick Mathewson2004-02-25
| | | | | | | | corruption faster; also, check for corruption in dns.c so we can fail fast for the bug that's nailing Lucky and moria3. svn:r1123
* bugfix: if the exit stream is pending on the resolve, and a destroyRoger Dingledine2004-02-25
| | | | | | | | | | | arrives, then the stream wasn't getting removed from the pending list. this may have been the lucky-bug. this commit may also not actually fix the bug. it's darn hard to reproduce. svn:r1122
* fix some bugs in assert_connection_okRoger Dingledine2004-02-24
| | | | svn:r1118
* last minute fix: don't early-flush non-tls streamsRoger Dingledine2004-01-31
| | | | | | | e.g., this breaks directory service svn:r1033
* add an ap_conn connecting state; report connecting delayRoger Dingledine2004-01-20
| | | | svn:r1011
* push out a tls record's worth of data once you've got itRoger Dingledine2004-01-20
| | | | svn:r1009
* Fix the dns bug: children weren't dyingRoger Dingledine2004-01-06
| | | | | | | | | | | | | | | We were telling a child to die by closing the parent's file descriptor to him. But newer children were inheriting the open file descriptor from the parent, and since they weren't closing them, the socket never closed, so the child never read eof, so he never knew to exit. As a side effect to this bug, we were probably failing to properly close connections to remote hosts, ORs, and OPs, after a dns child was born. I'm surprised Tor worked at all. svn:r974
* randomize the initial circ_id and stream_id, so an adversary whoRoger Dingledine2003-12-28
| | | | | | | | breaks in part-way through can't learn how many circs/streams have been made svn:r960
* rename circ_id_t to uint16_t for code clarityRoger Dingledine2003-12-19
| | | | | | | change message when using non-recommended tor version svn:r954
* make a relay_header_t struct and pack/unpack funcsRoger Dingledine2003-12-19
| | | | | | | | | | | | | | split 7-byte stream_id string into 2-byte recognized and 2-byte stream_id fix two seg faults in fetch_from_buf_http fix several lurking seg faults in handling unexpected relay cells still need to * clean up relay_crypt * use relay dummies if there's going to be a conflict with rh.recognized * check for a conflict when generating stream_ids svn:r953
* remove trailing whitespaceRoger Dingledine2003-12-17
| | | | svn:r951
* infrastructure for integrity-checks in relay cellsRoger Dingledine2003-12-16
| | | | | | | | make circuit_consider_sending_sendme use connection_edge_send_command fix endian bug in relay length handling (maybe) svn:r946