aboutsummaryrefslogtreecommitdiff
path: root/src/or/connection.c
Commit message (Expand)AuthorAge
...
| * | | Add a missing cast to silence the compilerSebastian Hahn2011-03-28
| * | | Fix some 'impossible' overflow bugs in byte counting•••The first was genuinely impossible, I think: it could only happen when the amount we read differed from the amount we wanted to read by more than INT_MAX. The second is just very unlikely: it would give incorrect results to the controller if you somehow wrote or read more than 4GB on one edge conn in one second. That one is a bugfix on 0.1.2.8-beta. Nick Mathewson2011-03-25
| * | | Triage the XXX022 and XXX021 comments remaining in the code•••Remove some, postpone others, leave some alone. Now the only remaining XXX022s are ones that seem important to fix or investigate. Nick Mathewson2011-03-25
* | | | Add a missing ! to the check for CountPrivatebandwidth.Nick Mathewson2011-04-06
* | | | Tweaks to Cagara's CountPrivateBandwidth patch:••• - Document it in the manpage - Add a changes entry - No need to log when it is set: we don't log for other options. - Use doxygen to document the new flag. - Test truth of C variables with "if (x)", not "if (x == 1)". - Simplify a complex boolean expression by breaking it up. Nick Mathewson2011-04-05
* | | | Patch from cagara: Add a CountPrivateBandwidth flagDaniel Cagara2011-04-05
* | | | Merge remote branch 'arma/optimistic_server'Nick Mathewson2011-03-15
|\ \ \ \
| * | | | whitespace fixes to pass 'make check-spaces'Roger Dingledine2011-03-15
| * | | | Implement server side of Proposal 174 (optimistic data)•••Ian's original message: The current code actually correctly handles queued data at the Exit; if there is queued data in a EXIT_CONN_STATE_CONNECTING stream, that data will be immediately sent when the connection succeeds. If the connection fails, the data will be correctly ignored and freed. The problem with the current server code is that the server currently drops DATA cells on streams in the EXIT_CONN_STATE_CONNECTING state. Also, if you try to queue data in the EXIT_CONN_STATE_RESOLVING state, bad things happen because streams in that state don't yet have conn->write_event set, and so some existing sanity checks (any stream with queued data is at least potentially writable) are no longer sound. The solution is to simply not drop received DATA cells while in the EXIT_CONN_STATE_CONNECTING state. Also do not send SENDME cells in this state, so that the OP cannot send more than one window's worth of data to be queued at the Exit. Finally, patch the sanity checks so that streams in the EXIT_CONN_STATE_RESOLVING state that have buffered data can pass. [...] Here is a simple patch. It seems to work with both regular streams and hidden services, but there may be other corner cases I'm not aware of. (Do streams used for directory fetches, hidden services, etc. take a different code path?) Ian Goldberg2011-03-14
* | | | | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2011-03-15
|\ \ \ \ \ | | |/ / / | |/| | |
| * | | | Merge branch 'bug2756_relay' into maint-0.2.2Nick Mathewson2011-03-15
| |\ \ \ \
| | * | | | Consider sending stream-level SENDME cells on partial flushes.•••Right now, we only consider sending stream-level SENDME cells when we have completely flushed a connection_edge's outbuf, or when it sends us a DATA cell. Neither of these is ideal for throughput. This patch changes the behavior so we now call connection_edge_consider_sending_sendme when we flush _some_ data from an edge outbuf. Fix for bug 2756; bugfix on svn r152. Nick Mathewson2011-03-14
* | | | | | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2011-03-15
|\| | | | | | |_|/ / / |/| | | |
| * | | | Check newconn, not conn, before marking newconn for close•••This fixes bug 2757. It's a bugfix on 85da676108f0d. Nick Mathewson2011-03-14
| |/ / /
* | | | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2011-02-07
|\| | |
| * | | Add client code to detect attempts to connect to 127.0.0.1 etc•••We detect and reject said attempts if there is no chosen exit node or circuit: connecting to a private addr via a randomly chosen exit node will usually fail (if all exits reject private addresses), is always ill-defined (you're not asking for any particular host or service), and usually an error (you've configured all requests to go over Tor when you really wanted to configure all _remote_ requests to go over Tor). This can also help detect forwarding loop requests. Found as part of bug2279. Nick Mathewson2011-01-25
| * | | Fix double-mark bug when failing to init transparent connection•••Fixes part of bug 2279. Bugfix on 0.1.2.1-alpha. Nick Mathewson2011-01-25
* | | | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2011-01-03
|\| | | | |_|/ |/| |
| * | Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2•••Conflicts: src/common/test.h src/or/test.c Nick Mathewson2011-01-03
| |\|
| | * Bump copyright statements to 2011Nick Mathewson2011-01-03
* | | Add metric on uni/bidirectional connection usage.Karsten Loesing2010-12-03
* | | Merge remote branch 'origin/maint-0.2.2'•••Conflicts: src/or/config.c src/or/cpuworker.c Nick Mathewson2010-11-15
|\| |
| * | Change Natd into NATD in our options.•••Breaking this out of the last commit because this might be more controversial. Sebastian Hahn2010-11-10
| * | Synx manpage and source wrt option capitalization•••We had a spelling discrepancy between the manpage and the source code for some option. Resolve these in favor of the manpage, because it makes more sense (for example, HTTP should be capitalized). Sebastian Hahn2010-11-10
* | | Make the return value of tor_addr_sockaddr always be signedNick Mathewson2010-10-15
* | | Whitespace fixes on recent merges to master.Nick Mathewson2010-09-30
* | | New function to grab a directory connection fetching a resource•••We need this to tell if a given consensus flavor is being downloaded or not. Nick Mathewson2010-09-27
* | | Document and/or fix stuff found by Sebastian in code review•••Thanks to Sebastian for his code-review of the bufferevents patch series.x Nick Mathewson2010-09-27
* | | Some bufferevents related fixes and pointers for nickmSebastian Hahn2010-09-27
* | | Convert bufferevents to use rate-limiting.•••This requires the latest Git version of Libevent as of 24 March 2010. In the future, we'll just say it requires Libevent 2.0.5-alpha or later. Since Libevent doesn't yet support hierarchical rate limit groups, there isn't yet support for tracking relayed-bytes separately when using the bufferevent system. If a future version does add support for hierarchical buckets, we can add that back in. Nick Mathewson2010-09-27
* | | Fix a couple of bufferevent incompatibilities that snuck in.Nick Mathewson2010-09-27
* | | Get zlib compression working with bufferevents.Nick Mathewson2010-09-27
* | | Implement SOCKS-client support for buffereventsNick Mathewson2010-09-27
* | | Documentation for a few bufferevent functions.Nick Mathewson2010-09-27
* | | Get SSL connections and linked connections working with bufferevents.•••Clients are now verified to work and build circuits correctly. There are still a few warnings given here and there that I need to look into. Nick Mathewson2010-09-27
* | | Make control connections use buffereventsNick Mathewson2010-09-27
* | | Fix crash/warning bug when we get an unexpected close.•••This was possible if we have already decided to close a bufferevent connection, but the other side decides to close it first. Nick Mathewson2010-09-27
* | | Add support for linked connections with bufferevent_pair.•••Also, set directory connections (linked and otherwise) to use bufferevents. Also, stop using outbuf_flushlen anywhere except for OR connections. Nick Mathewson2010-09-27
* | | Add bufferevent support for outgoing connections; exits are now supported.Nick Mathewson2010-09-27
* | | Fix more remaining users of inbuf/outbuf to handle bufferevents instead.Nick Mathewson2010-09-27
* | | Be a little more abstract about which connection type use buffereventsNick Mathewson2010-09-27
* | | Make a function to mark a connection and set hold_open_until_flushed.Nick Mathewson2010-09-27
* | | Allow hold-open-until-flushed logic to work for bufferevents.Nick Mathewson2010-09-27
* | | Move the "stop writing when the buffer is empty" logic to cnnection_finished_...Nick Mathewson2010-09-27
* | | Basic bufferevent callbacks•••These are based strongly on connection_handle_read and connection_handle_write, but hopefully without so much mixture of IO logic and Tor logic. Nick Mathewson2010-09-27
* | | Add a new connection_fetch_from_buf_line() that can handle buffereventsNick Mathewson2010-09-27
* | | New bufferevent-related check in assert_connection_ok().•••{Make sure that if we have a bufferevent on a connection, we do not have the other libevent/buffering-related fields set.} Nick Mathewson2010-09-27
* | | Add bufferevent versions of connection_write/fetch_to/from_buf.Nick Mathewson2010-09-27
* | | Refactor users of buf_datalen to bufferevent-friendly version.Nick Mathewson2010-09-27
* | | Teach read_event/write_event manipulators about bufferevents.•••Add an --enable-bufferevents config switch. Nick Mathewson2010-09-27
|/ /