aboutsummaryrefslogtreecommitdiff
path: root/src/or/connection.c
Commit message (Expand)AuthorAge
* Split dns_cancel_pending_resolve into dns_cancel_pending_resolve (kill a•••resolve in response to a DNS worker dying) and connection_dns_remove (remove a pending connection from the resolve structure.) svn:r1168 Nick Mathewson2004-02-28
* Stop trying to flush on broken sockets marked for close.•••svn:r1163 Nick Mathewson2004-02-28
* some comments to point nick at the latest bugs•••svn:r1162 Roger Dingledine2004-02-28
* enable assert_connection_ok()•••we weren't actually asserting much. oops. svn:r1160 Roger Dingledine2004-02-28
* note bug in assert_connection_ok•••svn:r1159 Roger Dingledine2004-02-28
* clean up some log messages and severities•••still plenty more left to clean svn:r1158 Roger Dingledine2004-02-28
* some more small fixes•••svn:r1152 Roger Dingledine2004-02-28
* Push responsibility for connection marking down as far as possible; have only...•••svn:r1149 Nick Mathewson2004-02-28
* Make has_sent_end irrelevant: only try to send end if reason is nonzero•••svn:r1148 Nick Mathewson2004-02-28
* and another one•••svn:r1147 Roger Dingledine2004-02-27
* patches/answers to nick's commit•••svn:r1146 Roger Dingledine2004-02-27
* Refactor mark_for_close, connection_edge_end and friends. Now, everybody•••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 Nick Mathewson2004-02-27
* Fix a bug where you might flush some data on a tls connection, and then•••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 Roger Dingledine2004-02-27
* Basic RAM poisoning and magic-checking to notice connection and circuit•••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 Nick Mathewson2004-02-25
* bugfix: if the exit stream is pending on the resolve, and a destroy•••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 Roger Dingledine2004-02-25
* fix some bugs in assert_connection_ok•••svn:r1118 Roger Dingledine2004-02-24
* last minute fix: don't early-flush non-tls streams•••e.g., this breaks directory service svn:r1033 Roger Dingledine2004-01-31
* add an ap_conn connecting state; report connecting delay•••svn:r1011 Roger Dingledine2004-01-20
* push out a tls record's worth of data once you've got it•••svn:r1009 Roger Dingledine2004-01-20
* Fix the dns bug: children weren't dying•••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 Roger Dingledine2004-01-06
* randomize the initial circ_id and stream_id, so an adversary who•••breaks in part-way through can't learn how many circs/streams have been made svn:r960 Roger Dingledine2003-12-28
* rename circ_id_t to uint16_t for code clarity•••change message when using non-recommended tor version svn:r954 Roger Dingledine2003-12-19
* make a relay_header_t struct and pack/unpack funcs•••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 Roger Dingledine2003-12-19
* remove trailing whitespace•••svn:r951 Roger Dingledine2003-12-17
* infrastructure for integrity-checks in relay cells•••make circuit_consider_sending_sendme use connection_edge_send_command fix endian bug in relay length handling (maybe) svn:r946 Roger Dingledine2003-12-16
* start tracking the 'It appears I've already sent the end' warning•••svn:r932 Roger Dingledine2003-12-14
* on hup, close and rebind listener ports too (in case their config has changed)•••svn:r926 Roger Dingledine2003-12-14
* back out the broken change from yesterday•••svn:r891 Roger Dingledine2003-12-09
* general cleanups•••svn:r889 Roger Dingledine2003-12-07
* fix vicious bug in connection_ap_attach_pending that caused it to••• never work. fix vicious bug in choose_good_exit_server that caused it to *skip over* pending circuits, and look only at *non-pending circuits*, when choosing a good exit node for the new circuit. bugfix: remove incorrect asserts in circuit_get_newest() svn:r876 Roger Dingledine2003-12-03
* bugfix: we were writing to stderr even when it's closed•••svn:r868 Roger Dingledine2003-11-30
* remove a conn_close_if_marked warning•••Nov 27 15:45:19.003 [warn] connection_write_to_buf(): write_to_buf failed. Closing connection (fd 42). Nov 27 15:45:19.010 [warn] conn_close_if_marked(): Conn (socket 42) still wants to flush. Losing 0 bytes! svn:r866 Roger Dingledine2003-11-30
* bugfix: an offline OP would leak all its sockets and stop working•••svn:r865 Roger Dingledine2003-11-29
* Bring assert_connection_ok up to date•••svn:r863 Nick Mathewson2003-11-23
* make more sure we can't end up with two connections to the same OR•••fix leaked pk in connection_tls_finish_handshake svn:r839 Roger Dingledine2003-11-18
* use the tor_malloc_zero wrapper•••svn:r837 Roger Dingledine2003-11-18
* Rename aci to circ_id throughout.•••svn:r784 Nick Mathewson2003-11-11
* Make AP connections wait for a circuit if none exists.•••Also: - Refactor socks request into a separate struct - Add a separate 'waiting for circuit' state to AP connections between 'waiting for socks' and 'open'. Arma: can you check out the XXX's I've added to connection_edge? I may be mishandling some async and close logic. svn:r783 Nick Mathewson2003-11-11
* client now survives going offline better•••fix badness in usage() if neither socksport nor orrport is defined, quit obsolete connection_flush_buf() svn:r780 Roger Dingledine2003-11-10
* add DirBindAddress, parse the BindAddress's when you bind•••exit if bind fails add usage printfs rearrange config options for readability svn:r674 Roger Dingledine2003-10-25
* make end relay cells have payloads•••move default exit policy into config files svn:r653 Roger Dingledine2003-10-22
* move closer to being able to reload config on HUP•••rename APPort to SocksPort introduce new tor_free() macro svn:r642 Roger Dingledine2003-10-21
* send the end cell when we realize we're going to end,•••not when we're closing the stream. this lets us put a payload in the end cell if we want to, to describe why we're closing the stream. there are still some places where we don't send the end cell immediately. i need to track them down. but it's a low priority, since i've made it send the end cell when we close the stream if we haven't already sent it. svn:r640 Roger Dingledine2003-10-21
* clean up logging, allow user to specify log files•••If DebugLogFile is specified, log to it at -l debug If LogFile is specified, log to it at the -l from the commandline (default info) If no LogFile *and* not a Daemon, then log to stdout. Make conn->s = -1 by default (this might break things) When kill -USR1, prefer to log at INFO, but make sure they always see it. svn:r596 Roger Dingledine2003-10-15
* Stop using stdout for non-debugging cases•••svn:r592 Nick Mathewson2003-10-15
* make the buffer resize stuff work•••and make listener connections not have bufs svn:r584 Roger Dingledine2003-10-14
* change WARNING to WARN•••and fix a few typos svn:r571 Roger Dingledine2003-10-10
* Refactor, rename, and clarify•••svn:r569 Nick Mathewson2003-10-09
* Update LICENSE and copyright dates.•••svn:r560 Nick Mathewson2003-10-08
* some early bugfixes•••our log() conflicts with log(3) distribute only the correct files from doc/ and src/config/ sometimes laptops go back in time. i guess that's ok for now. and bump the version number because we're live. svn:r544 Roger Dingledine2003-10-07