Nick Mathewson
e9caa8645e
Try to work around changes in openssl 1.1.0
...
Prefer not to use a couple of deprecated functions; include more
headers in tortls.c
This is part of ticket 14188.
2015-01-28 10:00:58 -05:00
Nick Mathewson
420037dcef
Merge branch 'if_addr_refactoring_squashed'
...
Conflicts:
src/test/include.am
src/test/test.c
2015-01-23 10:13:37 -05:00
rl1987
3966145dff
Refactor code that looks up addresses from interfaces
...
Now the code has separate implementation and examination functions,
uses smartlists sanely, and has relatively decent test coverage.
2015-01-23 10:07:17 -05:00
Nick Mathewson
4a6b43bf76
fix some warnings in compat_threads.c
2015-01-22 14:22:39 -05:00
Nick Mathewson
1fb9979eb8
Move a redundant _GNU_SOURCE to where it is not redundant
2015-01-22 14:18:10 -05:00
Nick Mathewson
38b3f9a619
use the correct free fn. spotted by dgoulet
2015-01-21 14:54:38 -05:00
Nick Mathewson
23fc1691b6
Merge branch 'better_workqueue_v3_squashed'
2015-01-21 14:47:16 -05:00
David Goulet
d684dbb0c7
Support monotonic time for pthread_cond_timedwait
...
This is to avoid that the pthread_cond_timedwait() is not affected by time
adjustment which could make the waiting period very long or very short which
is not what we want in any cases.
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2015-01-21 14:29:12 -05:00
Nick Mathewson
3c8dabf69a
Fix up some workqueue/threading issues spotted by dgoulet.
2015-01-21 12:26:41 -05:00
Nick Mathewson
ac5b70c700
handle EINTR in compat_*threads.c
2015-01-21 12:18:11 -05:00
Nick Mathewson
746bb55851
Ignore warning for redundant decl in openssl/srtp.h
...
Backports some commits from tor master.
2015-01-15 12:38:08 -05:00
Nick Mathewson
a52e549124
Update workqueue implementation to use a single queue for the work
...
Previously I used one queue per worker; now I use one queue for
everyone. The "broadcast" code is gone, replaced with an idempotent
'update' operation.
2015-01-15 11:05:22 -05:00
George Kadianakis
45bc5a0743
Restrict sample values of the Laplace distribution to int64_t.
...
This helps avoid undefined behavior from casting big double values to
int64_t. Fixes #14090 .
2015-01-15 14:43:58 +00:00
Nick Mathewson
051ad788e0
Incorporate some comments based on notes from dgoulet
2015-01-14 11:31:14 -05:00
Nick Mathewson
1e896214e7
Refactor cpuworker to use workqueue/threadpool code.
2015-01-14 11:23:34 -05:00
Nick Mathewson
cc6529e9bb
Fix check-spaces
2015-01-14 11:19:35 -05:00
Nick Mathewson
e5f8c772f4
Test and fix workqueue_entry_cancel().
2015-01-14 11:17:46 -05:00
Nick Mathewson
e47a90a976
"Recursive" locks, not "reentrant" locks. Duh.
2015-01-14 11:12:40 -05:00
Nick Mathewson
d69717f61b
Use correct (absolute) time for pthread_cond_timedwait
2015-01-14 11:09:52 -05:00
Nick Mathewson
9fdc0d0594
Fix windows compilation of condition code
2015-01-14 11:09:51 -05:00
Nick Mathewson
d850ec8574
Fix linux compilation (pipe2 needs _GNU_SOURCE)
2015-01-14 11:09:51 -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
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
d8b7dcca8d
Merge remote-tracking branch 'andrea/ticket12585_v3'
2015-01-13 12:50:55 -05:00
Nick Mathewson
2edfdc02a2
Merge remote-tracking branch 'teor/bug13111-empty-key-files-fn-empty'
2015-01-12 14:06:14 -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
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
Nick Mathewson
740e592790
Ignore warning for redundant decl in openssl/srtp.h
2015-01-10 16:06:25 -05:00
Nick Mathewson
53ecfba284
Merge remote-tracking branch 'teor/fix-typos'
2015-01-10 16:00:12 -05:00
Nick Mathewson
ddfdeb5659
More documentation for proposal 227 work
2015-01-10 15:44:32 -05:00
Nick Mathewson
c83d838146
Implement proposal 227-vote-on-package-fingerprints.txt
...
This implementation includes tests and a little documentation.
2015-01-10 15:09:07 -05:00
teor
f8ffb57bc4
Merge branch 'master' of https://git.torproject.org/tor into bug13111-empty-key-files-fn-empty
...
Conflicts:
src/or/connection_edge.c
Merged in favour of origin.
2015-01-10 17:20:06 +11:00
teor
c200ab46b8
Merge branch 'bug14001-clang-warning' into bug13111-empty-key-files-fn-empty
...
Conflicts:
src/or/router.c
Choose newer comment.
Merge changes to comment and function invocation.
2015-01-10 16:34:10 +11:00
teor
5ac26cb7c7
Fix a minor misspelling in util.c
2015-01-10 15:52:55 +11:00
Nick Mathewson
69df16e376
Rewrite the logic for deciding when to drop old/superseded certificates
...
Fixes bug 11454, where we would keep around a superseded descriptor
if the descriptor replacing it wasn't at least a week later. Bugfix
on 0.2.1.8-alpha.
Fixes bug 11457, where a certificate with a publication time in the
future could make us discard existing (and subsequent!) certificates
with correct publication times. Bugfix on 0.2.0.3-alpha.
2015-01-09 10:28:59 -05:00
Jacob Appelbaum
8d59ddf3cb
Commit second draft of Jake's SOCKS5-over-AF_UNIX patch. See ticket #12585 .
...
Signed-off-by: Andrea Shepard <andrea@torproject.org>
2015-01-07 17:42:57 +00:00
Nick Mathewson
1abd526c75
Merge remote-tracking branch 'public/bug12985_025'
2015-01-07 11:55:50 -05:00
Nick Mathewson
cb54cd6745
Merge branch 'bug9286_v3_squashed'
2015-01-07 10:06:50 -05:00
Nick Mathewson
7984fc1531
Stop accepting milliseconds in various directory contexts
...
Have clients and authorities both have new behavior, since the
fix for bug 11243 has gone in. But make clients still accept
accept old bogus HSDir descriptors, to avoid fingerprinting trickery.
Fixes bug 9286.
2015-01-07 10:05:55 -05:00
Nick Mathewson
cf2ac8e255
Merge remote-tracking branch 'public/feature11791'
2015-01-06 13:52:54 -05:00
Nick Mathewson
f54e54b0b4
Bump copyright dates to 2015, in case someday this matters.
2015-01-02 14:27:39 -05:00