| Commit message (Expand) | Author | Age |
* | Fix compile warnings on windows | Sebastian Hahn | 2011-11-15 |
* | Fix memory leak in retry_all_listeners: Coverity CID 485 | Nick Mathewson | 2011-10-26 |
* | Fix names of functions that convert strings to addrs•••Now let's have "lookup" indicate that there can be a hostname
resolution, and "parse" indicate that there wasn't. Previously, we
had one "lookup" function that did resolution; four "parse" functions,
half of which did resolution; and a "from_str()" function that didn't
do resolution. That's confusing and error-prone!
The code changes in this commit are exactly the result of this perl
script, run under "perl -p -i.bak" :
s/tor_addr_port_parse/tor_addr_port_lookup/g;
s/parse_addr_port(?=[^_])/addr_port_lookup/g;
s/tor_addr_from_str/tor_addr_parse/g;
This patch leaves aton and pton alone: their naming convention and
behavior is is determined by the sockets API.
More renaming may be needed.
| Nick Mathewson | 2011-10-11 |
* | Cell types and states for new OR handshake•••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.
| Nick Mathewson | 2011-10-10 |
* | Merge remote-tracking branch 'asn2/bug3656'•••Conflicts:
src/common/util.c
src/common/util.h
src/or/config.h
src/or/main.c
src/test/test_util.c
| Nick Mathewson | 2011-10-07 |
|\ |
|
| * | Remove connection_uses_transport() since it was unused. | George Kadianakis | 2011-09-11 |
| * | Reverting the accounting thing introduced in 5492de76 till I think how it sho... | George Kadianakis | 2011-07-14 |
| * | Put some last missing pieces together.•••* Add some utility transport functions in circuitbuild.[ch] so that we
can use them from pt.c.
* Make the accounting system consider traffic coming from proxies.
* Make sure that we only fetch bridge descriptors when all the
transports are configured.
| George Kadianakis | 2011-07-13 |
* | | Fix issues in 3630 patch noted by Karsten | Nick Mathewson | 2011-09-22 |
* | | Make bufferevents work with TokenBucketRefillInterval | Nick Mathewson | 2011-09-22 |
* | | Refactor connection_bucket_refill(_helper) to avoid roundoff•••We were doing "divide bandwidth by 1000, then multiply by msec", but
that would lose accuracy: instead of getting your full bandwidth,
you'd lose up to 999 bytes per sec. (Not a big deal, but every byte
helps.)
Instead, do the multiply first, then the division. This can easily
overflow a 32-bit value, so make sure to do it as a 64-bit operation.
| Nick Mathewson | 2011-09-22 |
* | | New torrc option to allow bucket refill intervals of less than 1 sec•••Implements bug3630.
| Florian Tschorsch | 2011-09-22 |
* | | Log errno on listener socket creation failure.•••This may help diagnose bug 4027.
| Nick Mathewson | 2011-09-15 |
* | | Fix whitespace issues in patches merged today so far | Nick Mathewson | 2011-09-07 |
* | | chown() sockets when User option is set•••Fixes bug 3421
| Jérémy Bobbio | 2011-09-07 |
* | | Merge remote-tracking branch 'public/split_entry_conn'•••Conflicts:
src/or/connection.c
src/or/connection_edge.c
src/or/connection_edge.h
src/or/dnsserv.c
Some of these were a little tricky, since they touched code that
changed because of the prop171 fixes.
| Nick Mathewson | 2011-09-07 |
|\ \ |
|
| * | | Move entry-only fields from edge_connection_t to entry_connection_t•••Also, refactor the code accordingly.
| Nick Mathewson | 2011-07-21 |
| * | | Add a new type entry_connection_t for entry connections•••No fields have moved there yet; for now, it's just a placeholder type.
| Nick Mathewson | 2011-07-21 |
* | | | Explicitly set bucket_cfg to NULL after we freed it•••This should fix bug 3888.
| Sebastian Hahn | 2011-09-01 |
* | | | Fix compilation on non-bufferevent systems after 3803 fix: oops. | Nick Mathewson | 2011-08-29 |
* | | | Split out rephist parts of buckets_decrement•••For bufferevents, we had all of connection_buckets_decrement() stubbed
out. But that's not actually right! The rephist_* parts were
essential for, inter alia, recording our own bandwidth. This patch
splits out the rephist parts of connection_buckets_decrement() into their
own function, and makes the bufferevent code call that new function.
Fixes bug 3803, and probably 3824 and 3826 too. Bugfix on 0.2.3.1-alpha.
| Nick Mathewson | 2011-08-29 |
* | | | Set write low-watermarks on all bufferevents.•••If we don't do this, then we never invoke the bufferevent write
callbacks until all the bufferevent's data is flushed.
| Nick Mathewson | 2011-08-24 |
* | | | Apply rate-limiting to the lowest bufferevent in the stack.•••When we're doing filtering ssl bufferevents, we want the rate-limits
to apply to the lowest level of the bufferevent stack, so that we're
actually limiting bytes sent on the network. Otherwise, we'll read
from the network aggressively, and only limit stuff as we process it.
| Nick Mathewson | 2011-08-24 |
* | | | Appease "make check-spaces" | Nick Mathewson | 2011-08-18 |
* | | | Merge remote-tracking branch 'origin/maint-0.2.2'•••Conflicts:
src/or/config.c
| Nick Mathewson | 2011-08-17 |
|\ \ \ |
|
| * | | | Don't write ControlPorts to disk till after we setuid and make datadir•••Fix for bug 3747; bugfix on 0.2.2.26-beta.
| Nick Mathewson | 2011-08-17 |
* | | | | Actually pick a random port when "auto" is specified•••ddc65e2b3303559ab7b842a176ee6c2eda9e4027 had broken this
| Sebastian Hahn | 2011-08-17 |
* | | | | Free global_rate_limit in connection_free_all(). | George Kadianakis | 2011-08-13 |
* | | | | Move connection_free_all() to the bottom of connection.c to enjoy maximum vis... | George Kadianakis | 2011-08-13 |
* | | | | Implement protocol-type isolation correctly.•••Previously we'd just looked at the connection type, but that's
always CONN_TYPE_AP. Instead, we should be looking at the type of
the listener that created the connection.
Spotted by rransom; fixes bug 3636.
| Nick Mathewson | 2011-08-02 |
| |/ /
|/| | |
|
* | | | Don't assert for listener connections | Sebastian Hahn | 2011-07-20 |
* | | | Initialize listener connection addr fields properly | Nick Mathewson | 2011-07-20 |
* | | | Add a missing break in a switch statement | Nick Mathewson | 2011-07-20 |
* | | | Merge branch 'optimistic-client'•••The conflicts are with the proposal 171 circuit isolation code, and
they're all trivial: they're just a matter of both branches adding
some unrelated code in the same places.
Conflicts:
src/or/circuituse.c
src/or/connection.c
| Nick Mathewson | 2011-07-20 |
|\ \ \ |
|
| * | | | Remember optimistically sent data until we have gotten a CONNECTED•••Since we can retry failed streams under some circumstances, we need
to be ready to send data queued on them.
| Nick Mathewson | 2011-07-18 |
* | | | | Use socks username/password information in stream isolation | Nick Mathewson | 2011-07-19 |
* | | | | Implement sensible isolation for tunneled directory conns•••One-hop dirconn streams all share a session group, and get the
ISO_SESSIONGRP flag: they may share circuits with each other and
nothing else.
Anonymized dirconn streams get a new internal-use-only ISO_STREAM
flag: they may not share circuits with anything, including each other.
| Nick Mathewson | 2011-07-19 |
* | | | | Implement destaddr-based isolation•••The new candidate rule, which arma suggested and I like, is that
the original address as received from the client connection or as
rewritten by the controller is the address that counts.
| Nick Mathewson | 2011-07-19 |
* | | | | Add a new isolation type and field: "nym epoch"•••The "nym epoch" of a stream is defined as the number of times that
NEWNYM had been called before the stream was opened. All streams
are isolated by nym epoch.
This feature should be redundant with existing signewnym stuff, but
it provides a good belt-and-suspenders way for us to avoid ever
letting any circuit type bypass signewnym.
| Nick Mathewson | 2011-07-19 |
* | | | | (Unused) backend logic for stream isolation•••This patch adds fields to track how streams should be isolated, and
ensures that those fields are set correctly. It also adds fields to
track what streams can go on a circuit, and adds functions to see
whether a streams can go on a circuit and update the circuit
accordingly. Those functions aren't yet called.
| Nick Mathewson | 2011-07-19 |
* | | | | Refactor listener_connection_t into its own type.•••This will allow us to add more fields to listener_connection_t
without bloating the other connection types.
| Nick Mathewson | 2011-07-19 |
* | | | | Parse prop171 options; refactor listener/port option code•••Proposal 171 gives us a new syntax for parsing client port options.
You can now have as many FooPort options as you want (for Foo in
Socks, Trans, DNS, NATD), and they can have address:port arguments,
and you can specify the level of isolation on those ports.
Additionally, this patch refactors the client port parsing logic to
use a new type, port_cfg_t. Previously, ports to be bound were
half-parsed in config.c, and later re-parsed in connection.c when
we're about to bind them. Now, parsing a port means converting it
into a port_cfg_t, and binding it uses only a port_cfg_t, without
needing to parse the user-provided strings at all.
We should do a related refactoring on other port types. For
control ports, that'll be easy enough. For ORPort and DirPort,
we'll want to do this when we solve proposal 118 (letting servers
bind to and advertise multiple ports).
This implements tickets 3514 and 3515.
| Nick Mathewson | 2011-07-19 |
|/ / / |
|
* | | | Merge remote-tracking branch 'public/bug1666'•••Conflicts:
doc/spec/socks-extensions.txt
src/or/buffers.c
src/or/config.c
src/or/connection_edge.c
| Nick Mathewson | 2011-07-13 |
|\ \ \ |
|
| * | | | Record username/password data in socks_request_t•••This change also requires us to add and use a pair of
allocator/deallocator functions for socks_request_t, instead of
using tor_malloc_zero/tor_free directly.
| Nick Mathewson | 2011-06-29 |
* | | | | Disable recording new broken conns when we have bootstrapped•••Rationale: right now there seems to be no way for our bootstrap
status to dip under 100% once it has reached 100%. Thus, recording
broken connections after that point is useless, and wastes memory.
If at some point in the future we allow our bootstrap level to go
backwards, then we should change this rule so that we disable
recording broken connection states _as long as_ the bootstrap status
is 100%.
| Nick Mathewson | 2011-07-11 |
* | | | | Record the states of failing OR connections•••This code lets us record the state of any outgoing OR connection
that fails before it becomes open, so we can notice if they're all
dying in the same SSL state or the same OR handshake state.
More work is still needed:
- We need documentation
- We need to actually call the code that reports the failure when
we realize that we're having a hard time connecting out or
making circuits.
- We need to periodically clear out all this data -- perhaps,
whenever we build a circuit successfully?
- We'll eventually want to expose it to controllers, perhaps.
Partial implementation of feature 3116.
| Nick Mathewson | 2011-07-11 |
* | | | | Split connection_about_to_close_connection into separate functions•••This patch does NOTHING but:
- move code
- add declarations and includes as needed to make the new code
work
- declare the new functions.
| Nick Mathewson | 2011-07-11 |
* | | | | Fix compilation from 2841 branch | Nick Mathewson | 2011-07-11 |
* | | | | Merge remote-tracking branch 'public/bug2841'•••Conflicts:
src/or/config.c
| Nick Mathewson | 2011-07-11 |
|\ \ \ \
| | |_|/
| |/| | |
|
| * | | | Refactor the interfaces of transport/proxy lookup fns•••Returning a tristate is needless here; we can just use the yielded
transport/proxy_type field to tell whether there's a proxy, and have
the return indicate success/failure.
Also, store the proxy_type in the or_connection_t rather than letting
it get out of sync if a configuration reload happens between launching
the or_connection and deciding what to say with it.
| Nick Mathewson | 2011-07-03 |