Nick Mathewson
74b782645a
Move thread tests into their own module
2015-01-14 11:09:47 -05:00
Nick Mathewson
c51f7c23e3
Test a little more of compat_threads.c
2015-01-14 11:05:56 -05:00
Nick Mathewson
3868b5d210
Rename mutex_for_cond -> mutex_nonreentrant
...
We'll want to use these for other stuff too.
2015-01-14 11:05:56 -05:00
Nick Mathewson
93ad89e9d2
Rename bench_workqueue -> test_workqueue and make it a unit test.
2015-01-14 11:05:56 -05:00
Nick Mathewson
b2db3fb462
Documentation for new workqueue and condition and locking stuff
2015-01-14 11:05:54 -05:00
Nick Mathewson
4abbf13f99
Add a way to tell all threads to do something.
2015-01-14 11:01:21 -05:00
Nick Mathewson
51bc0e7f3d
Isolate the "socketpair or a pipe" logic for alerting main thread
...
This way we can use the linux eventfd extension where available.
Using EVFILT_USER on the BSDs will be a teeny bit trickier, and will
require libevent hacking.
2015-01-14 11:01:19 -05:00
Nick Mathewson
c7eebe237d
Make pending work cancellable.
2015-01-14 10:56:27 -05:00
Nick Mathewson
a82604b526
Initial workqueue implemention, with a simple test.
...
It seems to be working, but more tuning is needed.
2015-01-14 10:56:24 -05:00
Nick Mathewson
6c9363310a
Specialize handling for mutexes allocated for condition variables
...
(These must not be reentrant mutexes with pthreads.)
2015-01-14 10:52:56 -05:00
Nick Mathewson
65016304d2
Add tor_cond_init/uninit
2015-01-14 10:49:59 -05:00
Nick Mathewson
e865248156
Add a timeout to tor_cond_wait; add tor_cond impl from libevent
...
The windows code may need some tweaks for it to compile; I've not
tested it yet.
2015-01-14 10:47:39 -05:00
Nick Mathewson
c2f0d52b7f
Split threading-related code out of compat.c
...
Also, re-enable the #if'd out condition-variable code.
Work queues are going to make us hack on all of this stuff a bit more
closely, so it might not be a terrible idea to make it easier to hack.
2015-01-14 10:41:53 -05:00
Nick Mathewson
518b0b3c5f
Do not log a notice on every socks connection
2015-01-14 09:54:40 -05:00
George Kadianakis
220f419da1
New minimum uptime to become an HSDir is 96 hours.
2015-01-14 12:48:09 +00:00
Nick Mathewson
17c568b95c
Fix new unused variable warning in connection_listener_new
2015-01-13 13:45:35 -05:00
Nick Mathewson
8d1fa0c87d
update bug12585 changes file
2015-01-13 13:13:19 -05:00
Nick Mathewson
2b8cebaac0
whitespace fix
2015-01-13 13:11:39 -05:00
Nick Mathewson
d8b7dcca8d
Merge remote-tracking branch 'andrea/ticket12585_v3'
2015-01-13 12:50:55 -05:00
Nick Mathewson
732c885b32
Fix a conversion warning on 32-bit clang
2015-01-12 22:33:10 -05:00
Nick Mathewson
a0b4c2f1bd
On jessie, we need a =, not a ==
2015-01-12 22:30:40 -05:00
Nick Mathewson
7257f2e31d
mktemp wants some Xs
2015-01-12 21:45:41 -05:00
Nick Mathewson
038804e13d
Tweak zero_length_keys.sh and test/include.am to make out-of-tree builds work
2015-01-12 21:28:01 -05:00
Andrea Shepard
066acaf6b9
Explicitly chmod AF_UNIX sockets to 0600 when *GroupWritable isn't specified
2015-01-13 00:27:04 +00:00
Andrea Shepard
4316bb601a
Remove no-longer-accurate comment from connection.c
2015-01-13 00:21:59 +00:00
Andrea Shepard
cb047f4078
Fix ipv4/ipv6 traffic bits on AF_UNIX socks listeners and remove hacky workarounds for brokenness
2015-01-13 00:18:17 +00:00
Andrea Shepard
f50068b17e
Fix default list handling for parse_unix_socket_config(); avoid clearing whole pre-existing list
2015-01-12 22:12:18 +00:00
Nick Mathewson
2edfdc02a2
Merge remote-tracking branch 'teor/bug13111-empty-key-files-fn-empty'
2015-01-12 14:06:14 -05:00
Nick Mathewson
cacea9102a
reindent cell_queues_check_size()
2015-01-12 13:59:50 -05:00
Nick Mathewson
c2e200cef8
Merge branch 'bug13806_squashed'
...
Conflicts:
src/or/relay.c
2015-01-12 13:59:26 -05:00
Nick Mathewson
3033ba9f5e
When OOM, free cached hidden service descriptors too.
2015-01-12 13:47:52 -05:00
Andrea Shepard
62f297fff0
Kill duplicated code in connection_listener_new()
2015-01-12 16:26:34 +00:00
Nick Mathewson
b0c32106b3
If libsystemd-daemon.pc is not found, look for libsystemd
...
(Thanks to toralf for noting that the build was broken, and to
Sebastian for telling me that my fix still wasn't right.)
2015-01-12 10:03:06 -05:00
Anthony G. Basile
8df35a0c88
src/common/compat_libevent.h: include testsupport.h
...
When tor is configured with --enable-bufferevents, the build fails
because compat_libevent.h makes use of the macro MOCK_DECL() which
is defined in testsupport.h, but not included. We add the include.
2015-01-12 01:03:47 -05:00
Nick Mathewson
2d123efe7c
Merge remote-tracking branch 'origin/maint-0.2.5'
2015-01-12 00:59:48 -05:00
Nick Mathewson
c9dd2d1a6a
Merge remote-tracking branch 'public/bug14129_024' into maint-0.2.5
2015-01-12 00:59:29 -05:00
Nick Mathewson
2dac77c041
Actually remove LOCALSTATEDIR@/run/tor line from tor.service.in
2015-01-11 20:49:19 -05:00
Nick Mathewson
70b3937425
Fix build on systemdless systems
...
Fixes bug 14170.
2015-01-11 20:47:15 -05:00
Nick Mathewson
3f39daa663
changes file for bug13805
2015-01-11 11:27:33 -05:00
Nick Mathewson
96a407a243
systemd changes for 13805 as recommened by Tomasz on that ticket.
2015-01-11 11:26:08 -05:00
Nick Mathewson
c98e075ebc
Merge remote-tracking branch 'candrews/issue13805'
2015-01-11 11:24:48 -05:00
Nick Mathewson
e009c2da51
Fix unused-parameter warning in systemd_watchdog_callback
2015-01-11 11:19:51 -05:00
Nick Mathewson
8db15960d1
changes file for 14141
2015-01-11 11:19:12 -05:00
Tomasz Torcz
a8999acc3b
fix and enable systemd watchdog
...
There were following problems:
- configure.ac wrongly checked for defined HAVE_SYSTEMD; this
wasn't working, so the watchdog code was not compiled in.
Replace library search with explicit version check
- sd_notify() watchdog call was unsetting NOTIFY_SOCKET from env;
this means only first "watchdog ping" was delivered, each
subsequent one did not have socket to be sent to and systemd
was killing service
- after those fixes, enable Watchdog in systemd unit with one
minute intervals
2015-01-11 11:14:32 -05:00
Tomasz Torcz
2aa2d0a1c5
send more details about daemon status to supervisor
...
If running under systemd, send back information when reloading
configuration and gracefully shutting down. This gives administator
more information about current Tor daemon state.
2015-01-11 11:14:14 -05:00
Tomasz Torcz
b17918726d
send PID of the main daemon to supervisor
...
If running under systemd, notify the supervisor about current PID
of Tor daemon. This makes systemd unit simpler and more robust:
it will do the right thing regardless of RunAsDaemon settings.
2015-01-11 11:14:08 -05:00
Nick Mathewson
180ecd6a2b
Merge remote-tracking branch 'teor/nickm-bug13401'
2015-01-11 11:10:23 -05:00
Nick Mathewson
7b51667d63
Merge remote-tracking branch 'origin/maint-0.2.5'
2015-01-11 11:05:31 -05:00
teor
b08cfc65a7
Don't crash on torrc Vi[rtualAddrNetworkIPv[4|6]] with no option value
...
Check for a missing option value in parse_virtual_addr_network
before asserting on the NULL in tor_addr_parse_mask_ports.
This avoids crashing on torrc lines like Vi[rtualAddrNetworkIPv[4|6]]
when no value follows the option.
Bugfix on 0.2.3 (de4cc126cb
on 24 November 2012), fixes #14142 .
2015-01-11 11:05:00 -05:00
Nick Mathewson
b2663298e9
Fix tortls.c build with GCC<4.6
...
apparantly, "pragma GCC diagnostic push/pop" don't exist with older versions.
Fixes bug in 740e592790f570c446cbb5e6d4a77f842f75; bug not in any
released Tor.
2015-01-10 17:31:48 -05:00