summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2012-08-27Fix whitespaceNick Mathewson
2012-08-27Merge branch 'bug6524_nm'Nick Mathewson
2012-08-27build: minimal adjustments to make out-of-tree build workJim Meyering
2012-08-27Merge remote-tracking branch 'linus/bug6364'Nick Mathewson
2012-08-27Merge remote-tracking branch 'linus/bug6362'Nick Mathewson
2012-08-24Merge remote-tracking branch 'origin/maint-0.2.3'Nick Mathewson
2012-08-24Merge remote-tracking branch 'public/bug6472' into maint-0.2.3Nick Mathewson
2012-08-24Make node_assert_ok less duplicateyNick Mathewson
This comes at the cost of making its failure message a little less friendly, but since when do assertion failures count as user-friendly?
2012-08-24Clarify docs on get_configured_bridge_by_*_digestNick Mathewson
2012-08-23Move ipv6_preferred from routerinfo_t to node_t.Linus Nordberg
Move extend_info_from_router() from circuitbuild.c to router.c and make it static. Add get_configured_bridge_by_orports_digest() and have get_configured_bridge_by_routerinfo() and node_is_a_configured_bridge() use it. We now consider all OR ports of a bridge when looking for it. Move node_get_*_orport to nodelist.c. Fix a cut'n'paste error in header of nodelist.h. Add node_assert_ok(). Add router_get_all_orports(). It's duplicating code from node_get_all_orports(). Worth fixing at the cost of complicating the API slightly?
2012-08-23Make the _sha1.i file generation quieterNick Mathewson
2012-08-21Fetch IPv6 address from NETINFO "other OR's address" field.Linus Nordberg
The my_apparent_addr is still unused, apart from now being logged in the "Got good NETINFO cell" info message.
2012-08-21Merge branch 'bug6638'Nick Mathewson
2012-08-21Merge remote-tracking branch 'origin/maint-0.2.3'Nick Mathewson
2012-08-21Merge remote-tracking branch 'public/bug6404' into maint-0.2.3Nick Mathewson
2012-08-21Merge remote-tracking branch 'linus/bug6621'Nick Mathewson
2012-08-21Avoid spurious warnings in rend_service_introduceNick Mathewson
There was some code in the "err:" block that would always log a warning, reporting an "unknown error" if we hadn't set err_msg. But there were also plenty of "goto err" blocks that did their own logging, and never set err_msg at all. Now we should only log when we have an error message to log. This fixes bug 6638, from no released Tor version.
2012-08-20Send IPv6 address in NETINFO cells.Linus Nordberg
Closes #6364.
2012-08-19Make all relays, not only bridges, capable of advertising an IPv6 OR port.Linus Nordberg
Closes #6362.
2012-08-17Merge remote-tracking branch 'origin/maint-0.2.3'Nick Mathewson
2012-08-17whitespace fixNick Mathewson
2012-08-17When iterating over connections pending DNS, skip marked onesNick Mathewson
Failure to do this would lead to double-free cases and similar, especially when the exit's DNS was broken. See bug 6472 for full details; this is a fix for 6472. Anonymous patch from "cypherpunks" on trac.
2012-08-17Merge remote-tracking branch 'public/bug5124'Nick Mathewson
2012-08-17Remove needless flush-on-write code.Nick Mathewson
Long ago, before we had cell queues, it was necessary to maybe call connection_handle_write() from connectino_write_to_buf_impl() on OR connections, so that we wouldn't get into a loop of reading infinite amounts of data and queueing it all on an outbuf before bothering to write any data. If that doesn't sounds like what our code does now, you're right: right now, we won't stick more than OR_CONN_HIGHWATER bytes of cells on an outbuf, and we won't suck more than CELL_QUEUE_HIGHWATER_SIZE cells off any edge connection. So, there's no more call for that code. Removing this code will simplify our data flow, and that should be something we can all get behind.
2012-08-17Merge remote-tracking branch 'origin/maint-0.2.3'Nick Mathewson
2012-08-17Consider IPv6 OR ports when deciding whether a routerinfo change is cosmetic.Linus Nordberg
Closes #6423.
2012-08-17Merge remote-tracking branch 'origin/maint-0.2.3'Nick Mathewson
2012-08-17Merge branch 'bug6379' into maint-0.2.3Nick Mathewson
2012-08-17Fix more warnings from openbsd_mallocNick Mathewson
Apparently, (void)writev is not enough to suppress the "you are ignoring the return value!" warnings on Linux. Instead, remove the whole warning/error logic when compiling openbsd_malloc for Tor: we can't use it.
2012-08-17Merge remote-tracking branch 'origin/maint-0.2.3'Nick Mathewson
2012-08-17Merge remote-tracking branch 'public/bug6244_part_c' into maint-0.2.3Nick Mathewson
2012-08-17Merge remote-tracking branch 'origin/maint-0.2.3'Nick Mathewson
2012-08-17Merge remote-tracking branch 'public/bug6507' into maint-0.2.3Nick Mathewson
2012-08-17Merge remote-tracking branch 'origin/maint-0.2.3'Nick Mathewson
2012-08-17Whitespace and build fixes on 6475 patchNick Mathewson
2012-08-17Merge remote-tracking branch 'mikeperry/bug6475' into maint-0.2.3Nick Mathewson
2012-08-17Merge remote-tracking branch 'origin/maint-0.2.3'Nick Mathewson
2012-08-17Merge remote-tracking branch 'public/bug6514' into maint-0.2.3Nick Mathewson
2012-08-17Make authorities not set Running unless all advertised OR ports are reachable.Linus Nordberg
Resolves #6621.
2012-08-16Address Nick's comments from code review.Mike Perry
Also promote log messages to notice and rate-limit them.
2012-08-15Bug 6475: Explicitly track our path bias state.Mike Perry
This is done to avoid spurious warns. Additional log lines are also added to try to track down the codepaths where we are somehow overcounting success counts.
2012-08-15Fix warnings and 64-bit problems in openbsd-malloc codeNick Mathewson
The warning fixes are: - Only define issetugid if it's missing. - Explicitly ignore the return value of writev. - Explicitly cast the retval of readlink() to int. The 64-bit problems are related to just storing a size_t in an int. Not cool! Use a size_t instead. Fix for bug 6379. Bugfix on 0.2.0.20-rc, which introduced openbsd-malloc.
2012-08-15Fix wildcarded address mappings from the control portNick Mathewson
Apparently, we weren't actually detecting wildcardedness when parsing them: whoops! bug 6244. Bugfix on 0.2.3.9-alpha
2012-08-15Raise the part of torrc mapaddress handling that knows wildcardsNick Mathewson
This patch extracts the inner part of config_register_addressmaps -- the part that knows about detecting wildcard addresses addresses -- and makes it into a new function. The new function is deliberately not moved or reindented, so that the diff is smaller. I need this to fix bug 6244.
2012-08-15Check for stream_id, not conn, on extend cells.Nick Mathewson
Extend cells aren't allowed to have a stream_id, but we were only blocking them when they had a stream_id that corresponded to a connection. As far as I can tell, this change is harmless: it will make some kinds of broken clients not work any more, but afaik nobody actually make a client that was broken in that way. Found while hunting for other places where we made the same mistake as in 6271. Bugfix on d7f50337c14c back from May 2003, which introduced telescoping circuit construction into 0.0.2pre8.
2012-08-14Fix memory leak in dirvote_create_microdescriptorNick Mathewson
Found by George, who gets a cookie.
2012-08-13Remove tor_malloc_roundup().Nick Mathewson
This function never actually did us any good, and it added a little complexity. See the changes file for more info.
2012-08-09Reject attempts to say FooPort and FooPort 0 in the same cfg domainNick Mathewson
2012-08-09Fix spaces from last patchNick Mathewson
2012-08-09Don't infer we have a FooPort from the presence of a FooPort lineNick Mathewson
Thanks to the changes we started making with SocksPort and friends in 0.2.3.3-alpha, any of our code that did "if (options->Sockport)" became wrong, since "SocksPort 0" would make that test true whereas using the default SocksPort value would make it false. (We didn't actually do "if (options->SockPort)" but we did have tests for TransPort. When we moved DirPort, ORPort, and ControlPort over to the same system in 0.2.3.9-alpha, the problem got worse, since our code is littered with checks for DirPort and ORPort as booleans. This code renames the current linelist-based FooPort options to FooPort_lines, and adds new FooPort_set options which get set at parse-and-validate time on the or_options_t. FooPort_set is true iff we will actually try to open a listener of the given type. (I renamed the FooPort options rather than leave them alone so that every previous user of a FooPort would need to get inspected, and so that any new code that forgetfully uses FooPort will need fail to compile.) Fix for bug 6507.