George Kadianakis
5f3f41c234
Make sure that the stored DH prime is safe to use.
2011-11-25 00:33:40 +01:00
George Kadianakis
94076d9e3b
Move crypto_get_stored_dynamic_prime() to crypto.c
2011-11-24 22:59:01 +01:00
George Kadianakis
2ef68980a7
Move store_dynamic_prime() to crypto.c.
2011-11-24 22:32:10 +01:00
George Kadianakis
cabb8e54c7
Tone down the logging.
2011-11-24 22:14:09 +01:00
George Kadianakis
8a726dd0dd
Implement dynamic prime reading and storing to disk.
2011-11-24 22:13:44 +01:00
George Kadianakis
42bda231ee
Make DynamicPrimes SIGHUP-able.
...
Instead of passing the DynamicPrimes configuration option to
crypto_global_init(), generate and set a new TLS DH prime when we read
the torrc.
2011-11-24 22:13:38 +01:00
George Kadianakis
0e71be5d94
Improve code in the dynamic primes realm.
2011-11-24 22:13:19 +01:00
George Kadianakis
fb38e58d14
Improve logging.
2011-11-24 22:13:00 +01:00
George Kadianakis
1797e0a39e
Make it compile.
2011-11-24 22:12:44 +01:00
George Kadianakis
375e55eaa2
Rename "Rakshasa" to "Dynamic Prime".
2011-11-24 22:09:15 +01:00
George Kadianakis
659381e00d
Introduce the DynamicPrimes configuration option.
2011-11-24 22:09:06 +01:00
George Kadianakis
edec9409e8
Copy/Paste Jake's stuff.
...
This commit copies parts of Jake's
f3bb6846975193d9a6649c31f94bda47e4014070 commit verbatim to the
current master.
2011-11-24 22:06:50 +01:00
Sebastian Hahn
f77f9bddb8
appease check-spaces
2011-11-24 09:20:51 +01:00
Sebastian Hahn
46d69cb915
Fix compile warning in tor_inet_pton() (on 64bit)
...
This slipped through into 0.2.3.8-alpha unfortunately.
2011-11-24 09:19:57 +01:00
Nick Mathewson
3890c81e7c
Merge remote-tracking branch 'origin/maint-0.2.2'
2011-11-23 16:28:18 -05:00
Nick Mathewson
fbf1c5ee79
Merge remote-tracking branch 'public/bug4230' into maint-0.2.2
2011-11-23 16:22:26 -05:00
Sebastian Hahn
2efa6eb652
Sockets are unsigned on windows
...
this gets rid of a warning about signed/unsigned comparison
This is a backport of 0a5338e03c
that
accidentally only went into master
2011-11-20 15:15:14 +01:00
Sebastian Hahn
3dc2a1c62c
Get rid of an unused parameter warning on win
...
This is a backport of bed79c47f4
which
accidentally only went into master
2011-11-20 03:02:28 +01:00
Anders Sundman
edc561432a
Minor tor_inet_pton bug fixes
...
In particular:
* Disallow "0x10::"
* Don't blow up on ":"
* Disallow "::10000"
2011-11-19 10:58:33 +01:00
Nick Mathewson
2f3dad10a8
Merge branch 'bug4457_master'
2011-11-16 16:23:15 -05:00
Sebastian Hahn
8200a85323
Fix a check-spaces complaint
2011-11-16 16:40:56 +01:00
Sebastian Hahn
9fc7725aba
Don't allow building on platforms where AF_UNSPEC != 0
2011-11-16 16:39:04 +01:00
Nick Mathewson
69dd993a92
Make certificate skew into a protocol warning
2011-11-15 15:57:46 -05:00
Nick Mathewson
87622e4c7e
Allow up to a 30 days future skew, 48 hours past skew in certs.
2011-11-15 15:57:41 -05:00
Sebastian Hahn
4b8d2ad6f5
Fix compile warnings on windows
2011-11-15 13:34:04 +01:00
Nick Mathewson
7be50c26e8
Disable IOCP and retry event_base_new_with_config once on failure
...
This is a fancier bug4457 workaround for 0.2.3. In 0.2.2, we could
just tell Libevent "Don't enable locking!" so it wouldn't try to make
the event_base notifiable. But for IOCP, we need a notifiable base.
(Eventually, we'll want a notifiable base for other stuff, like
multithreaded crypto.) So the solution is to try a full-featured
initialization, and then retry with all the options turned off if that
fails.
2011-11-14 18:12:29 -05:00
Nick Mathewson
cf8117136c
Merge remote-tracking branch 'public/bug4457_022' into bug4457_master
...
Conflicts:
src/common/compat_libevent.c
Resolving conflict by not taking 7363eae13c
("Use the
EVENT_BASE_FLAG_NOLOCK flag to prevent socketpair() invocation"): in
Tor 0.2.3.x, we _do_ sometimes use notifiable event bases.
2011-11-14 17:59:42 -05:00
Nick Mathewson
0f6c021617
Detect failure from event_init() or event_base_new_with_config()
2011-11-14 17:53:45 -05:00
Nick Mathewson
7363eae13c
Use the EVENT_BASE_FLAG_NOLOCK flag to prevent socketpair() invocation
...
In Tor 0.2.2, we never need the event base to be notifiable, since we
don't call it from other threads. This is a workaround for bug 4457,
which is not actually a Tor bug IMO.
2011-11-14 17:48:57 -05:00
Nick Mathewson
8592126a18
Merge remote-tracking branch '4ZM/topic/test/4433_address'
2011-11-14 12:53:34 -05:00
Sebastian Hahn
a2ecf131f3
Remove the torint.h include from aes.h
...
This hasn't been needed for a while, there's nothing in aes.h now that
would need uint* stuff.
2011-11-11 11:47:25 -05:00
Nick Mathewson
46d236c684
Remove vestiges of RIJNDAEL_COUNTER_OPTIMIZATION
2011-11-11 11:47:25 -05:00
Nick Mathewson
7d8edfcceb
Stop using "u32" and "u8" in aes.c
2011-11-11 11:47:24 -05:00
Nick Mathewson
21cf7079fe
Dump our internal AES implementation
...
This thing was pretty pointless on versions of OpenSSL 0.9.8 and later,
and almost totally pointless on OpenSSL 1.0.0.
Also, favor EVP by default, since it lets us get hardware acceleration
where present. (See issue 4442)
2011-11-11 11:47:24 -05:00
Anders Sundman
1b97588a31
Return value bugfix of tor_addr_to_PTR_name
...
Returns value semantics was inconsitent between IPv4 and IPv6
2011-11-11 08:14:32 +01:00
Anders Sundman
930eed21c3
Fixed buffer bounds check bug in tor_addr_to_str
2011-11-11 07:53:58 +01:00
Anders Sundman
01e1dc0e62
Fixed of-by-one error in tor_inet_ntop
...
The of-by-one error could lead to 1 byte buffer over runs IPv6 for addresses.
2011-11-11 07:47:00 +01:00
Nick Mathewson
e1c6431e42
Correct the handling of overflow behavior in smartlist_ensure_capacity
...
The old behavior was susceptible to the compiler optimizing out our
assertion check, *and* could still overflow size_t on 32-bit systems
even when it did work.
2011-11-09 14:48:52 -05:00
Nick Mathewson
9452b65680
Merge remote-tracking branch 'origin/maint-0.2.2'
2011-11-09 10:28:43 -05:00
Sebastian Hahn
0cc7a63fc0
Don't warn when compiling with --disable-threads
...
STMT_VOID semantics suggested by nick, thanks!
2011-11-09 10:26:35 +01:00
Andrea Gelmini
72d4d762c1
Remove some duplicate includes
2011-11-03 10:23:33 -04:00
Nick Mathewson
7a8960cf1b
Fix a memory-poisoning memset in tortls.c
2011-10-28 16:37:42 -04:00
Sebastian Hahn
2dec6597af
Merge branch 'maint-0.2.2_secfix' into master_secfix
...
Conflicts:
src/common/tortls.c
src/or/connection_or.c
src/or/dirserv.c
src/or/or.h
2011-10-27 00:38:45 +02:00
Sebastian Hahn
df05e5ef4d
Merge branch 'maint-0.2.1_secfix' into maint-0.2.2_secfix
...
Conflicts:
src/or/connection_or.c
2011-10-26 23:30:27 +02:00
Nick Mathewson
638fdedcf1
Don't send a certificate chain on outgoing TLS connections from non-relays
2011-10-26 23:20:56 +02:00
Nick Mathewson
beb9097bed
Merge remote-tracking branch 'origin/maint-0.2.2'
2011-10-26 11:08:19 -04:00
Sebastian Hahn
3a890b3b70
Properly refcount client_identity_key
...
In a2bb0bf
we started using a separate client identity key. When we are
in "public server mode" (that means not a bridge) we will use the same
key. Reusing the key without doing the proper refcounting leads to a
segfault on cleanup during shutdown. Fix that.
Also introduce an assert that triggers if our refcount falls below 0.
That should never happen.
2011-10-26 14:17:01 +02:00
Nick Mathewson
299a78c5fe
Make crypto_free_pk_env tolerate NULL arg in 0.2.1. Error-proofing against bug 988 backport
2011-10-26 14:14:05 +02:00
Robert Ransom
9976df9e56
Maintain separate server and client TLS contexts.
...
Fixes bug #988 .
Conflicts:
src/or/main.c
src/or/router.c
2011-10-26 14:13:55 +02:00
Robert Ransom
8781640111
Refactor tor_tls_context_new:
...
* Make tor_tls_context_new internal to tortls.c, and return the new
tor_tls_context_t from it.
* Add a public tor_tls_context_init wrapper function to replace it.
Conflicts:
src/or/main.c
src/or/router.c
2011-10-26 14:08:36 +02:00