Commit Graph

28019 Commits

Author SHA1 Message Date
Nick Mathewson 6a5f62f68f Move responsibility for threadpool reply-handler events to workqueue
This change makes cpuworker and test_workqueue no longer need to
include event2/event.h.  Now workqueue.c needs to include it, but
that is at least somewhat logical here.
2018-04-05 12:36:28 -04:00
Nick Mathewson b3586629c9 Wrap the function we use to run the event loop.
Doing this lets us remove the event2/event.h header from a few more
modules, particularly in the tests.

Part of work on 23750.
2018-04-05 12:36:27 -04:00
Nick Mathewson 39cb04335f Add wrappers for event_base_loopexit and event_base_loopbreak. 2018-04-05 12:36:05 -04:00
Nick Mathewson f0d2733b46 Revise procmon.c to use periodic_timer_t
This removes its need to use event2/event.h, and thereby fixes
another instance of 23750.
2018-04-05 12:35:11 -04:00
Nick Mathewson 871ff0006d Add an API for a scheduled/manually activated event in the mainloop
Using this API lets us remove event2/event.h usage from half a dozen
modules, to better isolate libevent.  Implements part of ticket
23750.
2018-04-05 12:35:11 -04:00
Nick Mathewson f9e32a2084 Remove an unnecessary event2 include.
The rest, are, unfortunately, necessary for now.
2018-04-02 11:11:34 -04:00
Nick Mathewson f4bcf3f34c Remove event2/event.h include from compat_libevent.h
Only one module was depending on this include (test_helpers.c), and
it was doing so incorrectly.
2018-04-02 11:11:31 -04:00
Nick Mathewson 3df9545492 Merge branch 'maint-0.3.3' 2018-04-02 08:51:47 -04:00
Roger Dingledine 6190593256 use channel_is_client for create cell counts
When a relay is collecting internal statistics about how many
create cell requests it has seen of each type, accurately count the
requests from relays that temporarily fall out of the consensus.

(To be extra conservative, we were already ignoring requests from clients
in our counts, and we continue ignoring them here.)

Fixes bug 24910; bugfix on 0.2.4.17-rc.
2018-04-02 01:00:31 -04:00
Roger Dingledine 961d2ad597 dir auths no longer vote Guard if they're not voting V2Dir
Directory authorities no longer vote in favor of the Guard flag
for relays that don't advertise directory support.

Starting in Tor 0.3.0.1-alpha, Tor clients have been avoiding using
such relays in the Guard position, leading to increasingly broken load
balancing for the 5%-or-so of Guards that don't advertise directory
support.

Fixes bug 22310; bugfix on 0.3.0.6.
2018-04-02 00:20:01 -04:00
Roger Dingledine 0983c203e5 misc tiny fixes 2018-04-01 23:47:44 -04:00
Taylor Yu 596eed3715 Fix CID 1433643
Add a missing lock acquisition around access to queued_control_events
in control_free_all().  Use the reassign-and-unlock strategy as in
queued_events_flush_all().  Fixes bug 25675.  Coverity found this bug,
but only after we recently added an access to
flush_queued_event_pending.
2018-03-29 17:21:33 -05:00
Nick Mathewson e8c1d4c8b0 Merge branch 'maint-0.3.3' 2018-03-29 15:00:46 -04:00
teor 6aaafb0672 Document torrc options that only work on v2 onion services
RendPostPeriod only works on v2 onion services.
HiddenServiceAuthorizeClient is not yet implemented for v3 onion services.

Closes ticket #25661, bugfix on 0.3.2.1-alpha.
2018-03-29 15:00:41 -04:00
Nick Mathewson 2c1afc2def Merge branch 'maint-0.3.3' 2018-03-29 14:59:01 -04:00
Nick Mathewson 4f473fadbd Merge branch 'bug25617_029' into maint-0.3.3 2018-03-29 14:58:58 -04:00
Nick Mathewson 5e8cf876e7 Merge branch 'maint-0.3.3'
"ours" merge to avoid version bump.
2018-03-29 11:24:13 -04:00
Nick Mathewson 2e9e91ebbf bump version to 0.3.3.4-alpha-dev 2018-03-29 11:24:02 -04:00
Nick Mathewson e48d3e6f88 forward-port the 0.3.3.4-alpha changelog 2018-03-29 11:18:03 -04:00
Nick Mathewson def2404083 typo fix in doc/HACKING/ReleasingTor 2018-03-29 11:08:09 -04:00
Nick Mathewson e35eb9baaa Mark controller-initiated DNS lookups as permitted to do DNS.
Fixes bug 25617; bugfix on 0.2.9.3-alpha.
2018-03-29 09:27:28 -04:00
Nick Mathewson 024a1aaa66 Remove changes files from master for stuff that will be in 0.3.3.4-alpha 2018-03-29 08:03:08 -04:00
Nick Mathewson 998a4ca5e8 Merge branch 'maint-0.3.3'
"-s ours" to avoid version bump.
2018-03-29 08:01:44 -04:00
Nick Mathewson 3fa66f9799 Bump version to 0.3.3.4-alpha 2018-03-29 08:01:37 -04:00
Nick Mathewson f3161adcd0 Improve bug25398 changes again. 2018-03-29 07:38:55 -04:00
Nick Mathewson 99641c93ce Make check-changes pass on changes/bug25398 2018-03-28 14:48:36 -04:00
Nick Mathewson 2f872f9762 Merge remote-tracking branch 'hello71/bug25398' 2018-03-28 14:47:05 -04:00
Nick Mathewson 4c0e434f33 Merge remote-tracking branch 'public/bug25512' 2018-03-28 14:45:47 -04:00
Nick Mathewson cb083b5d3e Merge remote-tracking branch 'asn-github/t-25432' 2018-03-28 14:43:33 -04:00
Nick Mathewson 794a25f8c1 Merge branch 'maint-0.3.3' 2018-03-28 14:23:06 -04:00
Nick Mathewson e0bbef48bf Merge remote-tracking branch 'dgoulet/bug24767_033_03' into maint-0.3.3 2018-03-28 14:21:04 -04:00
Nick Mathewson a3c1d78c29 Merge branch 'maint-0.3.3' 2018-03-28 08:11:46 -04:00
Nick Mathewson 3cc382b93e add a changes file for the rust libc update 2018-03-28 08:10:54 -04:00
Georg Koppen 684aef40f9 Bug 25664: Update libc version requirement for Rust
When merging the patches for #25310 the libc version requirement in
`GettingStartedRust.md` and `configure.ac` did not get updated to the
now needed 0.2.39.
2018-03-28 08:07:27 -04:00
Nick Mathewson 6317aa2cc0 Merge branch 'maint-0.3.3' 2018-03-28 07:50:47 -04:00
Nick Mathewson d416e208e4 Merge branch 'bugs25036_25055_clean_033' into maint-0.3.3 2018-03-28 07:49:34 -04:00
Nick Mathewson d4bf1f6c8e Add a paranoia check in string_is_valid_nonrfc_hostname()
The earlier checks in this function should ensure that components is
always nonempty.  But in case somebody messes with them in the
future, let's add an extra check to make sure we aren't crashing.
2018-03-28 07:48:18 -04:00
Nick Mathewson b504c854d3 Rename string_is_valid_hostname -> string_is_valid_nonrfc_hostname
Per discussion on 25055.
2018-03-28 07:42:27 -04:00
rl1987 09351c34e9 Don't strlen before checking for NULL 2018-03-28 07:39:03 -04:00
rl1987 a28e350cff Tweak loop condition 2018-03-28 07:39:03 -04:00
rl1987 6b6d003f43 Don't explode on NULL or empty string 2018-03-28 07:39:03 -04:00
rl1987 d891010fdd Allow alphanumeric TLDs in test for now 2018-03-28 07:39:03 -04:00
rl1987 ee1fca727c Simplify hostname validation code 2018-03-28 07:39:03 -04:00
rl1987 dbb7c8e6fd Validate hostnames with punycode TLDs correctly 2018-03-28 07:39:03 -04:00
rl1987 4413e52f9e Improve handling of trailing dot 2018-03-28 07:39:03 -04:00
rl1987 db850fec3a Test TLD validation 2018-03-28 07:39:03 -04:00
rl1987 6335db9fce Refrain from including <ctype.h> 2018-03-28 07:39:03 -04:00
rl1987 12afd8bfed Also test bracket-less IPv6 string validation 2018-03-28 07:39:03 -04:00
rl1987 5986589b48 Call strlen() once 2018-03-28 07:39:03 -04:00
rl1987 b0ba4aa7e9 Fix bracketed IPv6 string validation 2018-03-28 07:39:03 -04:00