Nick Mathewson
a201a5396e
Merge remote-tracking branch 'origin/maint-0.2.6'
2015-04-06 09:26:28 -04:00
Nick Mathewson
0475552140
Merge remote-tracking branch 'origin/maint-0.2.5' into maint-0.2.6
2015-04-06 09:26:16 -04:00
Nick Mathewson
fe69a7e1d7
Merge remote-tracking branch 'origin/maint-0.2.4' into maint-0.2.5
2015-04-06 09:25:37 -04:00
Yawning Angel
dc3cb00080
Handle empty/zero length encoded intro points more gracefully.
...
In theory these should never the triggered as the only caller now
validates the parameters before this routine gets called.
2015-04-06 09:21:43 -04:00
Yawning Angel
7b5f558da4
Treat empty introduction points sections as missing.
...
Found by DonnchaC.
2015-04-06 09:20:46 -04:00
Yawning Angel
49ddd92c11
Validate the RSA key size received when parsing INTRODUCE2 cells.
...
Fixes bug 15600; reported by skruffy
2015-04-06 09:18:17 -04:00
Nick Mathewson
24352d0d70
Merge remote-tracking branch 'origin/maint-0.2.6'
2015-04-03 09:47:57 -04:00
George Kadianakis
929a8f199b
Decrease the amount of rend circ relaunches for hidden services.
2015-04-03 09:47:40 -04:00
George Kadianakis
8656cbcfc0
... and if we do get multiple INTRODUCE1s on a circuit, kill the circuit
...
(Sending a nak would be pointless.)
See ticket 15515 for discussion.
2015-04-03 09:40:47 -04:00
Nick Mathewson
c1b36488e9
Merge remote-tracking branch 'origin/maint-0.2.5' into maint-0.2.6
2015-04-03 09:39:19 -04:00
Nick Mathewson
3781955f07
Merge remote-tracking branch 'origin/maint-0.2.4' into maint-0.2.5
2015-04-03 09:38:54 -04:00
Nick Mathewson
01e4bc80cd
Merge branch 'bug15515_024' into maint-0.2.4
2015-04-03 09:36:59 -04:00
George Kadianakis
bcb839387e
... and if we do get multiple INTRODUCE1s on a circuit, kill the circuit
...
(Sending a nak would be pointless.)
See ticket 15515 for discussion.
2015-04-03 09:36:05 -04:00
George Kadianakis
8dba8a088d
Block multiple introductions on the same intro circuit.
2015-04-03 09:35:47 -04:00
Sebastian Hahn
86002a83d3
Bridges are always dirs
...
This check was accidentally deleted in 05f7336624
.
2015-04-01 21:07:46 +02:00
Nick Mathewson
081b0c0f77
mark dirinfo_type as unused in populate_live_entry_guards
2015-04-01 14:20:01 -04:00
Nick Mathewson
05fbbfe472
Merge remote-tracking branch 'public/remove_old_version_checks'
2015-04-01 14:02:02 -04:00
Nick Mathewson
d366c3354f
Merge branch 'remove_digests'
2015-04-01 13:53:03 -04:00
Nick Mathewson
cd8f13b5cb
Merge branch 'bug13736'
2015-04-01 13:46:50 -04:00
Nick Mathewson
8ba2d971b1
Remove needless call to crypto_set_tls_dh_prime()
2015-04-01 13:37:47 -04:00
Nick Mathewson
aa7b792250
Merge remote-tracking branch 'yawning/feature15435'
2015-04-01 13:34:14 -04:00
Nick Mathewson
34fa4ad637
Merge remote-tracking branch 'public/bug15515_025'
2015-04-01 12:59:19 -04:00
George Kadianakis
a7eae4ddc5
Block multiple introductions on the same intro circuit.
2015-04-01 12:58:52 -04:00
Nick Mathewson
13209eb6f3
Merge remote-tracking branch 'dgoulet/bug15296_027_01'
2015-04-01 12:50:36 -04:00
Nick Mathewson
c66dd17980
Drop support for --digests
...
This is a fair amount of maintainance burden, and doesn't help much
more than the git microversion.
Closes ticket 14742.
2015-04-01 09:54:20 -04:00
Nick Mathewson
02c3879f87
Merge remote-tracking branch 'teor/ticket15431-event-mask-tests'
2015-03-31 14:57:04 -04:00
Yawning Angel
fda61e030e
Implement "TOR_PT_EXIT_ON_STDIN_CLOSE".
...
Background processes spawned by Tor now will have a valid stdin.
Pluggable transports can detect this behavior with the aformentioned
enviornment variable, and exit if stdin ever gets closed.
2015-03-26 12:55:12 +00:00
Nick Mathewson
e5e2644f23
clean up list of paths that cannot be relative
2015-03-25 09:16:04 -04:00
Nick Mathewson
9e80fc8171
Merge remote-tracking branch 'sebastian/coverage_builds'
2015-03-24 15:16:49 -04:00
Nick Mathewson
112c554fcf
Merge branch 'bug14018'
2015-03-24 14:36:23 -04:00
rl1987
09c54655f1
Complain if relative paths are used in configuration
...
When we validate torrc options, print warning(s) when relative
path(s) been found.
2015-03-24 14:35:52 -04:00
Nick Mathewson
fec923d72b
Check return values for tor_addr_parse(default) in config.c
...
In these cases, the address is always a constant "default", so
should always succeed. But coverity can't tell that.
Fixes CID 1291645
2015-03-24 10:46:39 -04:00
Nick Mathewson
05f7336624
Remove version checks for microdescriptor support
...
At this point, relays without microdescriptor support are no longer
allowed on the Tor network.
2015-03-24 09:25:35 -04:00
Nick Mathewson
0f31080d63
Stop checking for torrc state files generated by very old Tor versions
...
These haven't worked in so long that if you had a state file of this
kind, the guards in it would be so old that you wouldn't use them
anyway.
2015-03-24 09:24:12 -04:00
teor
b41a5039f1
Compile-time check that control_event_t.event_mask is big enough
...
Add a compile-time check that the number of events doesn't exceed
the capacity of control_event_t.event_mask.
2015-03-22 14:25:42 +11:00
teor
99c10a95e4
Add unit tests for control_event_is_interesting()
...
Part of ticket 15431, checks for bugs similar to 13085.
2015-03-22 14:24:41 +11:00
Sebastian Hahn
1228dd293b
Disable assertions during coverage builds
...
This removes roughly 5000 branches in my testing. We never want to
trigger assertions even during tests, so this is sane. Implements #15400 .
2015-03-21 02:34:44 +01:00
Sebastian Hahn
348f2744cf
Initialize two variables
...
This is a trivial change to get around two compiler warnings when
assertions are removed during coverage builds.
2015-03-21 02:00:17 +01:00
Nick Mathewson
54d6e5e71e
Merge remote-tracking branch 'public/feature15053'
2015-03-18 14:27:00 -04:00
Nick Mathewson
d8263ac254
Merge remote-tracking branch 'origin/maint-0.2.6'
2015-03-18 08:58:15 -04:00
David Goulet
c9534f7902
Remove extra newline at the end of HS descriptor
...
The rend-spec.txt document doesn't specify this extra newline. Furthermore,
this is the only descryptor type that contains one. Client and HSDir without
this patch still work perfectly since the HS descriptor parsing doesn't
expect a newline at the end.
Fixes #15296
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2015-03-16 09:04:51 -04:00
Nick Mathewson
a0f892f190
Simplify the loop.
2015-03-14 14:31:26 -04:00
Nick Mathewson
ddb1889eb8
Add comments for new functions
2015-03-14 14:28:29 -04:00
Nick Mathewson
92d04721a2
remove a needless "if (1)" that was there for indentation; fix indentation.
2015-03-14 14:28:29 -04:00
Nick Mathewson
b78803f9f5
Extract main part of main loop into a separate function
...
For 15176; Shadow would like this.
Based on a patch by Rob Jansen, but revised to have a minimal-sized diff.
2015-03-14 14:28:29 -04:00
cypherpunks
ce9bd4e04c
Do not distribute common_sha1.i and or_sha1.i.
...
These files get generated automatically so there is need to include them in the
distribution.
2015-03-14 13:00:06 -04:00
cypherpunks
5176f6f103
Remove relative paths to header files.
...
The paths are already in the directory search path of the compiler therefore no
need to include them in the source code.
2015-03-14 13:00:05 -04:00
cypherpunks
7a86d53dee
Clean up generated files.
...
Remove src/or/or_sha1.i and src/common/common_sha1.i on `make clean` and remove
the temporary micro-revision file when its no longer needed.
Additional changes;
- show a message when generating the micro-revision file.
- add the temporary micro revision file to the list of files to be removed on
`make clean` just in case.
- fix indentation of the make rule to improve readability.
2015-03-14 13:00:04 -04:00
cypherpunks
17cbc4350f
Use output variables instead of relative paths.
...
Fixes the following rules in out-of-tree builds;
- check-spaces
- check-docs
- check-logs
- Doxygen
- coverage-html
And cleans up additional directories;
- coverage_html
- doc/doxygen
2015-03-14 13:00:04 -04:00
Nick Mathewson
511ca9b91c
Remove DynamicDHGroups as obsoleted by PluggableTransports or P256.
...
Closes ticket 13736.
2015-03-14 12:40:55 -04:00
Nick Mathewson
4247ce99e5
ug. test, _then_ commit, nick.
2015-03-14 12:14:32 -04:00
Nick Mathewson
f70f1d283e
Do not printf success messages when we are --quieted or --hushed.
...
Fixes 14994. Calling this a bug on when --quiet and --hush began to have
their current behavior.
2015-03-14 12:12:53 -04:00
Nick Mathewson
3a68f2f54e
const-ify the new failure vars, and one old one
2015-03-13 09:41:49 -04:00
Nick Mathewson
833b6d30be
Merge remote-tracking branch 'sebastian/bug15211'
2015-03-13 09:39:04 -04:00
Matthew Finkel
61dcd926aa
Flag when a controlsocket is configured as WorldWritable
2015-03-13 07:06:16 +00:00
Matthew Finkel
5ce5527823
Move to the next flag when we recognize Writable flags
2015-03-13 07:04:22 +00:00
Nick Mathewson
517e0f965b
Remove workarounds for Libevent < 1.3.
...
This actually lets us dump a lot of old cruft that nobody had (I
hope!) tested in ages.
Closes 15248.
2015-03-12 16:59:05 -04:00
Sebastian Hahn
badc81de5b
Don't init hs intro key as side effect of an assert
2015-03-12 18:59:46 +01:00
Sebastian Hahn
447769dd28
Don't init control authchallenge nonce as assert side effect
...
Fixes part of bug 15211.
2015-03-12 18:57:57 +01:00
Nick Mathewson
3ee2fca7ca
Merge remote-tracking branch 'origin/maint-0.2.6'
2015-03-12 13:16:22 -04:00
Nick Mathewson
eb68ea20f8
Merge remote-tracking branch 'public/feature15212_026' into maint-0.2.6
2015-03-12 13:15:08 -04:00
Nick Mathewson
16b1b2199d
Merge remote-tracking branch 'origin/maint-0.2.6'
2015-03-12 13:13:06 -04:00
Yawning Angel
b3281fc6d6
Initialize the extorport auth cookie before launching PTs.
...
PTs expect the auth cookie to be available immedieately after launch,
leading to a race condition when PTs opt to cache the extorport cookie
once immediately after startup.
Fixes #15240 .
2015-03-12 13:12:56 -04:00
Nick Mathewson
9063f29160
Revert "Make TransProxyType ipfw work correctly"
...
This reverts commit 681802817d
.
(I didn't mean to backport this, but somehow I had based my branch
for #15205 on it.)
2015-03-12 12:49:08 -04:00
Nick Mathewson
eecd410984
Merge remote-tracking branch 'public/bug15205_025' into maint-0.2.5
2015-03-12 12:27:25 -04:00
Nick Mathewson
b683b9af00
Merge remote-tracking branch 'origin/maint-0.2.6'
2015-03-12 11:37:56 -04:00
Nick Mathewson
d4c1716263
add an explanatory comment
2015-03-12 11:28:18 -04:00
Nick Mathewson
648af0438d
Also, add an assertion to assign_onionskin_to_cpuworker
2015-03-12 11:15:50 -04:00
Nick Mathewson
66c8180207
Fix crash bug when calling cpuworkers_rotate_keyinfo on a client.
...
Fixes bug 15245; bugfix on 0.2.6.3-alpha. Thanks to anonym for reporting!
2015-03-12 11:14:39 -04:00
Nick Mathewson
809517a863
Allow {World,Group}Writable on AF_UNIX {Socks,Control}Ports.
...
Closes ticket 15220
2015-03-11 13:31:33 -04:00
Nick Mathewson
d29a8ad564
Add link protocol version counts to the heartbeat message
...
Closes ticket 15212
2015-03-10 10:07:41 -04:00
Nick Mathewson
64bfc2930a
Restore c89 in 0.2.5
2015-03-09 13:22:58 -04:00
Nick Mathewson
448bd22092
Merge remote-tracking branch 'public/bug14261_025' into maint-0.2.5
2015-03-09 13:17:20 -04:00
Nick Mathewson
62631904cb
GETINFO bw-event-cache to get information on recent BW events
...
Closes 14128; useful to regain functionality lost because of 13988.
2015-03-09 13:13:56 -04:00
Nick Mathewson
e3408248b9
Merge remote-tracking branch 'public/bug13988_025' into maint-0.2.5
2015-03-09 13:12:54 -04:00
Nick Mathewson
ed7f2482e2
Merge remote-tracking branch 'origin/maint-0.2.6'
2015-03-09 13:08:20 -04:00
Nick Mathewson
fb0de57ba2
Merge remote-tracking branch 'public/feature15006_026' into maint-0.2.6
2015-03-09 13:05:27 -04:00
Nick Mathewson
bd80ba9a9f
Merge remote-tracking branch 'origin/maint-0.2.6'
2015-03-09 11:10:04 -04:00
Nick Mathewson
a7f75b2056
Merge remote-tracking branch 'origin/maint-0.2.5' into maint-0.2.6
2015-03-09 11:09:49 -04:00
Nick Mathewson
1a7419c3df
Merge remote-tracking branch 'origin/maint-0.2.4' into maint-0.2.5
2015-03-09 11:09:30 -04:00
Nick Mathewson
6704e18dd2
Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
2015-03-09 11:08:57 -04:00
Nick Mathewson
4ced3b59aa
Merge remote-tracking branch 'origin/maint-0.2.6'
2015-03-04 15:19:43 +01:00
Nick Mathewson
de2c5ad815
Revert "Missing dependencies; fixes 15127."
...
This reverts commit 930ab95e1f
.
2015-03-04 15:18:33 +01:00
Nick Mathewson
98822df3dc
Make boostrap events include hostname ANDaddr AND digest
2015-03-04 14:23:59 +01:00
Nick Mathewson
6ae9769b29
Merge remote-tracking branch 'origin/maint-0.2.6'
2015-03-04 12:29:25 +01:00
Nick Mathewson
a726cd76df
Merge remote-tracking branch 'public/bug15064_025' into maint-0.2.6
2015-03-04 12:26:43 +01:00
Nick Mathewson
681802817d
Make TransProxyType ipfw work correctly
...
Fixes bug 15064; bugfix on 0.2.5.4-alpha.
2015-03-04 12:25:52 +01:00
Nick Mathewson
6a8550fa3c
Merge remote-tracking branch 'origin/maint-0.2.6'
2015-03-04 12:15:10 +01:00
Nick Mathewson
5ad47aafab
Merge remote-tracking branch 'public/bug15127_025' into maint-0.2.6
2015-03-04 12:14:17 +01:00
Nick Mathewson
2d926d0147
only declare rv when it is used in destination_from_socket. Fixes 15151
2015-03-04 12:12:41 +01:00
Nick Mathewson
930ab95e1f
Missing dependencies; fixes 15127.
2015-03-04 12:09:33 +01:00
Roger Dingledine
a1bdb6e42c
fix typo in comment
2015-03-03 19:12:27 -05:00
Nick Mathewson
81a994ce77
Make the assert related to 15083 a tiny bit more tolerant
2015-03-03 22:25:26 +01:00
Nick Mathewson
71ee53fe9b
Do not leave empty, invalid chunks in buffers during buf_pullup
...
This fixes an assertion failure bug in 15083; bugfix on 0.2.0.10-alpha.
Patch from 'cypherpunks'
2015-03-03 22:21:41 +01:00
Nick Mathewson
79c69d18b7
Include a HOST item in BOOTSTRAP problem messages
...
Closes ticket 15006.
2015-02-27 11:28:30 -05:00
Nick Mathewson
0dde4d6fa2
Merge remote-tracking branch 'yawning/bug14922'
2015-02-25 08:56:34 -05:00
Nick Mathewson
2bcb596dcf
Merge remote-tracking branch 'public/bug14129_024' into maint-0.2.4
2015-02-24 13:23:44 -05:00
Nick Mathewson
a9720b90f8
Fix whitespace from tor_x509_cert rename
2015-02-24 12:03:11 -05:00
Nick Mathewson
f253aef14f
Mechanical rename: tor_cert_t -> tor_x509_cert_t
2015-02-24 12:03:10 -05:00
Nick Mathewson
783a44f9e9
Log less/better about systemd at startup
...
Report errors if the notification fails; report success only if it
succeeds; and if we are not notifying systemd because we aren't
running with systemd, don't log at notice.
2015-02-24 11:11:24 -05:00
Nick Mathewson
af60e7566e
Update test_status.c to accommodate changes in heartbeat messages
...
Fixes #15012 ; bug not in any released Tor
2015-02-24 10:05:34 -05:00
Nick Mathewson
d74a78c58a
Merge branch 'bug14950_logs_squashed'
2015-02-23 13:04:03 -05:00
Nick Mathewson
d221b507c9
Avoid logging natural-language reports that are redundant with bootstrapping
2015-02-23 13:03:56 -05:00
Nick Mathewson
10ae9b9bf5
Usually downgrade middle heartbeat messages when stuff is in-range
2015-02-23 13:03:56 -05:00
Nick Mathewson
f1fa85ea73
Fix running with the seccomp2 sandbox
...
We had a regression in 0.2.6.3-alpha when we stopped saying
IPPROTO_TCP to socket(). Fixes bug 14989, bugfix on 0.2.6.3-alpha.
2015-02-23 12:16:08 -05:00
cypherpunks
5246e8f992
Remove lingering mempool code
2015-02-23 11:19:31 -05:00
Nick Mathewson
8a9d86bf05
Merge remote-tracking branch 'public/bug11454_11457'
2015-02-20 01:08:12 -05:00
Nick Mathewson
03a4e97c76
Merge remote-tracking branch 'origin/maint-0.2.5'
2015-02-20 01:05:21 -05:00
Nick Mathewson
1525eeeb49
Merge remote-tracking branch 'origin/maint-0.2.4' into maint-0.2.5
2015-02-20 01:04:49 -05:00
Nick Mathewson
76d8c23ab4
Try to fix authdir_newdesc events
...
We were sending values that were truncated by the length of the
annotations.
2015-02-19 11:35:27 -05:00
Nick Mathewson
b897e386da
Merge branch 'bug12844_macros'
2015-02-19 09:41:36 -05:00
Nick Mathewson
557a0c83f3
Do not try to download an EI for which we don't have a matching SD.
...
This quiets some log messages for #13762 , and adds a better INFO message
for the underlying confusion.
2015-02-19 09:40:36 -05:00
Nick Mathewson
86105a4009
Check ENABLE_TOR2WEB_MODE before any tor2webmode code
2015-02-19 09:09:25 -05:00
Roger Dingledine
64d5e0e417
stop warning each time we check minimum-dir-info
...
We already log whenever our state changes, e.g. whenever new directory
information arrives. This additional log_warn() will at best just add more
log messages, or worse, make the user wonder what she needs to fix.
(Changed after consultation with Yawning.)
2015-02-19 06:27:14 -05:00
Roger Dingledine
70f46f7ae6
don't update dir_info_status when we have minimum dir info
...
Nothing ever uses the string when we're in "have minimum dir info"
state. The flow of the function is "check for problems, if you see a
problem write an explanation to dir_info_status and set res to 0". If
you get to the end of the function without any problems, then res =
1 and we're all ready to start making circuits.
(Changed after consultation with Yawning.)
2015-02-19 06:15:25 -05:00
Roger Dingledine
0e4bdc4005
clean up comments and whitespace a bit
2015-02-18 19:27:02 -05:00
Nick Mathewson
b7b8b9ecf9
Downgrade new extrainfo_insert warnings on startup
2015-02-18 13:41:00 -05:00
Nick Mathewson
a767b66640
Merge branch 'bug13762_diagnostic_redux'
2015-02-18 13:29:12 -05:00
Nick Mathewson
d3f714deb8
Patch from cypherpunks to try to diagnose 8387.
2015-02-18 13:25:01 -05:00
Nick Mathewson
e65fe0a747
Improve log messages for diagnosing 13762
2015-02-18 13:05:15 -05:00
Yawning Angel
39a496eeb8
Actually free measured_guardfraction.
...
CID 1270894
2015-02-18 16:36:57 +00:00
Nick Mathewson
6378bcf4b9
Fix an implicit-narrowing warning
2015-02-18 09:34:15 -05:00
Nick Mathewson
9e6147a40c
Merge remote-tracking branch 'yawning/bug14918'
2015-02-18 09:21:16 -05:00
Nick Mathewson
96211bcf71
Merge branch 'bug9321_rerebase'
...
Conflicts:
src/or/dirvote.h
src/test/include.am
src/test/test_entrynodes.c
2015-02-18 09:17:02 -05:00
George Kadianakis
5c34a53068
Don't exit if we can't find the GuardfractionFile when booting.
...
...just disable the feature in that case.
2015-02-18 09:09:34 -05:00
George Kadianakis
33053d50a0
Final guardfraction preparations for upstream merge.
...
- Write a changes file.
- Change some logs to lesser severities.
2015-02-18 09:09:34 -05:00
George Kadianakis
b941f109ac
Calculate relay weighted bandwidth using guardfraction bandwidths.
...
Now use the guardfraction function to calculate individual relay
bandwidth weights.
2015-02-18 09:09:34 -05:00
George Kadianakis
f7a8b19184
Calculate total bandwidth weights using the guardfraction bandwidths.
...
Now use the function introduced in the previous commit, to calculate the
total bandwidth weights when making the consensus.
2015-02-18 09:09:33 -05:00
George Kadianakis
14a3c17ce6
Calculate the guardfraction bandwidth of a guard.
2015-02-18 09:09:33 -05:00
George Kadianakis
f4a63f8eab
Parse GuardFraction info from consensuses and votes.
...
Also introduce the UseGuardFraction torrc option which decides whether
clients should use guardfraction information found in the consensus.
2015-02-18 09:09:33 -05:00
George Kadianakis
db805b9170
Write GuardFraction information to consensus.
...
If we've seen enough votes with guardfraction information, write down
the GuardFraction string in the consensus.
2015-02-18 09:09:33 -05:00
George Kadianakis
7ddfb6aa2f
Write guardfraction information to votes.
...
If a dirauth has guardfraction information about a guard, write it down
when serializing the routerstatus.
2015-02-18 09:09:33 -05:00
George Kadianakis
5ee48d47a7
Parse Guardfraction file and apply results to routerstatuses.
...
Parse the file just before voting and apply its information to the
provided vote_routerstatus_t. This follows the same logic as when
dirauths parse bwauth files.
2015-02-18 09:09:32 -05:00
Yawning Angel
8571e86d27
Fix bootstrap directory information logging.
...
`dir_info_status` is used from main.c:directory_info_has_arrived() to
provide useful (INFO/NOTICE) level logging to users, and should always
be updated regardless of the rate limiting.
2015-02-18 13:58:13 +00:00
Yawning Angel
6fdb179d84
Fix compute_frac_paths_available, when ExitNodes is not set.
2015-02-18 12:51:07 +00:00
Yawning Angel
cbd26157c5
Remove tor_strclear(), and replace previous calls with memwipe().
2015-02-17 18:53:33 +00:00
Nick Mathewson
d038430a14
Merge branch 'bug14918'
2015-02-17 12:49:29 -05:00
Nick Mathewson
9bf6da1861
Merge remote-tracking branch 'public/feature_13822'
2015-02-17 12:34:13 -05:00
Nick Mathewson
8eb3d81e6e
Fix some issues with reporting exit-free networks
...
Fixes bug 14918.
2015-02-17 12:07:24 -05:00
George Kadianakis
6517219093
Control: command to lookup cached HS descriptor
...
This adds the key "hs/client/desc/id/<ADDR>" to the GETINFO command used to
lookup the given onion address in the client hs descriptor cache.
If found, prints it formatted as specified in section 1.3 of rend-spec.txt.
Fixes #14845
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2015-02-17 11:30:25 -05:00
Roger Dingledine
d6dbd55849
trivial whitespace fix
2015-02-17 06:01:33 -05:00
Nick Mathewson
0b3ae7d9e5
Maybe this will make coverity not care that this check is dead. CID 1268063
2015-02-16 15:44:18 -05:00
Nick Mathewson
2fe139473d
No, coverity, this is not a memory leak. 1268065
2015-02-16 15:42:48 -05:00
Nick Mathewson
5d2a23397a
Fix a few coverity "Use after NULL check" warnings
...
Also remove the unit test mocks that allowed get_options() to be
NULL; that's an invariant violation for get_options().
2015-02-16 15:40:15 -05:00
Sina Rabbani
8e61d38cf1
Faravahar's New IP Address as of 2/20/2015
2015-02-16 11:51:36 -05:00
Sebastian Hahn
0c11d8b2d2
Implement status/fresh-relay-descs command
...
The idea here is that a controller should be able to make Tor produce a
new relay descriptor on demand, without that descriptor actually being
uploaded to the dirauths (they would likely reject it anyway due to
freshness concerns).
Implements #14784 .
2015-02-15 12:36:07 +01:00
Sebastian Hahn
8feaf3846d
Refactor router_rebuild_descriptor
...
Allow building a router descriptor without storing it to global state.
This is in preparation of a patch to export the created descriptors via
the control port.
2015-02-15 12:33:20 +01:00
Sebastian Hahn
3bcdb26267
Call cpu_init if we change to being a relay
...
The issue is that we use the cpuworker system with relays only, so if we
start up as a client and transition to being a relay later, we'll be
sad.
This fixes bug 14901; not in any released version of Tor.
2015-02-15 11:49:19 +01:00
Nick Mathewson
b223b7c22d
fix a compilation warning
2015-02-11 15:10:35 -05:00
Nick Mathewson
d7a1e83f50
Merge remote-tracking branch 'public/remove_freelist'
2015-02-11 15:09:01 -05:00
Nick Mathewson
caf28519d9
Merge branch 'bug12844'
...
Conflicts:
src/or/circuituse.c
src/test/include.am
src/test/test_entrynodes.c
2015-02-11 15:06:04 -05:00
Nick Mathewson
0899f51bc6
Additional paranoia: do not even build tor2web stuff if not using.
...
(That is, don't build it unless we're building for tor2web, or we
are building for tests.)
2015-02-11 14:54:16 -05:00
Nick Mathewson
6f331645c7
Remove mempools and buf freelists
...
They have been off-by-default since 0.2.5 and nobody has complained. :)
Also remove the buf_shrink() function, which hasn't done anything
since we first stopped using contiguous memory to store buffers.
Closes ticket 14848.
2015-02-11 09:03:50 -05:00
Nick Mathewson
0c81dfa848
Merge remote-tracking branch 'public/feature_13555'
2015-02-11 08:42:00 -05:00
Sebastian Hahn
9667b2b88a
Add some comments to or_circuit_t.workqueue_entry
...
These were suggested by dgoulet, thanks!
2015-02-09 16:13:08 +01:00
Sebastian Hahn
7337510090
Avoid use-after-free of circ belonging to cancelled job
...
This fixes a bug where we decide to free the circuit because it isn't on
any workqueue anymore, and then the job finishes and the circuit gets
freed again.
Fixes bug #14815 , not in any released version of Tor.
2015-02-09 16:12:47 +01:00
Roger Dingledine
56061976db
Recover better when our clock jumps back many hours
...
like might happen for Tails or Whonix users who start with a very wrong
hardware clock, use Tor to discover a more accurate time, and then
fix their clock.
Resolves part of ticket 8766.
(There are still some timers in various places that aren't addressed yet.)
2015-02-09 01:05:31 -05:00
Roger Dingledine
1cb9064d7d
shift all the static times into a struct
...
no actual behavior changes yet
2015-02-09 00:07:15 -05:00
Sebastian Hahn
37d16c3cc7
Reserve enough space for rend_service_port_config_t
...
In #14803 , Damian noticed that his Tor sometimes segfaults. Roger noted
that his valgrind gave an invalid write of size one here. Whenever we
use FLEXIBLE_ARRAY_MEMBER, we have to make sure to actually malloc a
thing that's large enough.
Fixes bug #14803 , not in any released version of Tor.
2015-02-09 04:48:16 +01:00
Nick Mathewson
8b82f6261e
Search-and-replace to regain coding style in wake of 13822.
...
(all-caps should be reserved for global or module-global constants and
2015-02-07 08:33:36 -05:00
Nick Mathewson
4beb830953
Split ROUTER_REQUIRED_MIN_BANDWIDTH into RELAY_ and BRIDGE_ variants
...
Also raise those minima from 20 to 75 and 50 respectively.
Closes ticket 13822.
2015-02-07 08:33:23 -05:00
David Goulet
b101f4e98c
Control: getinfo entry-guards report down-since
...
If the guard unreachable_since variable was set, the status "up" was
reported which is wrong. This adds the "down" status followed by the
unreachable_since time value.
Fixes #14184
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2015-02-06 16:06:20 -05:00
Nick Mathewson
e36faeec1d
Merge remote-tracking branch 'sebastian/bug13993'
2015-02-06 15:42:53 -05:00
Sebastian Hahn
e0c3de40ad
Fix check-spaces complaints
2015-02-06 21:36:40 +01:00
Sebastian Hahn
b3bc871214
Add unit test for #13290
2015-02-06 21:04:05 +01:00
Yawning Angel
16cf1679e7
Fix scheduler compilation on targets where char is unsigned.
...
Per discussion with nickm, the `dir` argument should be a int rather
than a signed char.
Fixes bug #14764 .
2015-02-06 16:26:28 +00:00
Nick Mathewson
1799c2be09
Merge remote-tracking branch 'public/bug13796'
2015-02-05 22:53:15 -05:00
Nick Mathewson
2274221557
Fix a work-counting bug introduced by the workqueue merge
...
David Goulet finds that when he runs a busy relay for a while with the
latest version of the git code, the number of onionskins handled
slowly dwindles to zero, with total_pending_tasks wedged at its
maximum value.
I conjecture this is because the total_pending_tasks variable isn't
decremented when we successfully cancel a job. Fixed that.
Fixes bug 14741; bugfix not on any released version of tor.
2015-02-05 12:17:08 -05:00
Nick Mathewson
daab405168
Bump the minimum relay version to 0.2.4.18-rc
...
Closes #13555
2015-02-04 13:27:56 -05:00
Nick Mathewson
a8835170d7
Use getsockname, not getsockopt, on TPROXY sockets
2015-02-04 10:09:54 -05:00
Nick Mathewson
5be48c5d4c
Work around test_status.c weirdness
...
Ordinarily, get_options() can never return NULL, but with
test_status.c mocking, it can. So test for that case.
The best fix here would be to pass the options value to a
bridge_server_mode() function.
2015-02-03 15:50:31 -05:00
Nick Mathewson
cdc49629c7
Merge branch 'bug6852'
...
Conflicts:
src/or/status.c
2015-02-03 13:06:58 -05:00
Nick Mathewson
7f52dc4d03
Choose a more deliberate cutoff for clients in heartbeat
2015-02-03 13:02:22 -05:00
Nick Mathewson
d03e1da232
Merge remote-tracking branch 'public/bug9635_warnings_025'
...
Conflicts:
src/test/test.c
2015-02-02 16:31:32 -05:00
Nick Mathewson
41ba4f5627
tweak based on comments from dgoulet
2015-02-02 14:42:33 -05:00
Nick Mathewson
03563f4723
Fix an unused-variable warning.
2015-02-02 13:35:44 -05:00
Nick Mathewson
79c7625e38
Merge branch 'feature13864_squashed'
2015-02-02 13:32:53 -05:00
rl1987
fe328d192e
Allow reading torrc from stdin.
2015-02-02 13:31:56 -05:00
Nick Mathewson
f4b79bc420
Merge remote-tracking branch 'sysrqb/bug14216_bad_since'
2015-02-02 10:23:52 -05:00
Nick Mathewson
55639bc67f
Merge remote-tracking branch 'dgoulet/bug14202_026_v1'
2015-02-02 10:16:48 -05:00
Matthew Finkel
4cb59ceb8e
Only retry connecting to configured bridges
...
After connectivity problems, only try connecting to bridges which
are currently configured; don't mark bridges which we previously
used but are no longer configured. Fixes 14216. Reported by
and fix provided by arma.
2015-01-31 09:46:18 +00:00
Nick Mathewson
097286e476
Fix some unused-argument warnings
2015-01-30 14:47:56 -05:00
Nick Mathewson
bc9ade055e
Fix an uninitialized-variable warning.
2015-01-30 14:46:18 -05:00
David Goulet
44e9dafb67
Fix: test -ENOENT after config_parse_unix_port()
...
Check for -ENOENT instead of ENOENT after the HS port is parsed.
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2015-01-30 14:13:27 -05:00
Nick Mathewson
fac8d40886
Merge remote-tracking branch 'public/prop227_v2'
...
Conflicts:
src/test/test_dir.c
2015-01-30 07:36:55 -05:00
Nick Mathewson
d1e52d9a2a
Correctly handle OutboundBindAddress again.
...
ca5ba2956b
broke this; bug not in any
released Tor.
Also fix a typo.
Fixes 14541 and 14527. Reported by qbi.
2015-01-30 07:29:23 -05:00
Nick Mathewson
4c1a779539
Restrict unix: addresses to control and socks for now
2015-01-29 14:51:59 -05:00
Nick Mathewson
204374f7d9
Remove SocksSocket; it's now spelled differently thanks to 14451
...
Also, revise bug12585 changes file to mention new syntax
2015-01-29 14:46:20 -05:00
Nick Mathewson
b4a8fd8958
When there are no package lines, make consensus/packages say "".
...
Also, give a better error message when there is no consensus.
2015-01-29 14:14:59 -05:00
Nick Mathewson
bd630a899a
Correctly reject packages lines with empty entries
2015-01-29 14:09:57 -05:00
Nick Mathewson
f935ee2dae
Define 'digesttype' correctly
2015-01-29 14:04:21 -05:00
David Goulet
80bed1ac96
Remove obsolete workaround in dirserv_thinks_router_is_hs_dir()
...
Fixes #14202
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2015-01-29 12:55:19 -05:00
David Goulet
ebc59092bc
Make hidden service use the config unix prefix
...
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2015-01-28 18:01:53 -05:00
David Goulet
bf3fb55c47
Support unix: prefix in port configuration
...
It's now possible to use SocksPort or any other kind of port that can use a
Unix socket like so:
SocksPort unix:/foo/bar/unix.sock
Fixes #14451
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2015-01-28 17:55:38 -05:00
Nick Mathewson
a3de2dfde6
Merge branch 'bug11485_026_v2_squashed'
2015-01-28 14:32:19 -05:00
David Goulet
fb523b543a
fixup! Refactor the use of ifdef HAVE_SYS_UN_H
...
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2015-01-28 14:30:23 -05:00
Andrea Shepard
bce824a9ad
Actually make connections to HSes on AF_UNIX sockets
2015-01-28 14:30:23 -05:00
Andrea Shepard
ca5ba2956b
Support connection_exit_connect() to AF_UNIX sockets
2015-01-28 14:30:23 -05:00
Andrea Shepard
6564291601
Handle config options for AF_UNIX hidden services rendservice.c
2015-01-28 14:30:23 -05:00
Arthur Edelstein
cb714d896c
Bug #8405 : Report SOCKS username/password in CIRC status events
...
Introduces two new circuit status name-value parameters: SOCKS_USERNAME
and SOCKS_PASSWORD. Values are enclosing in quotes and unusual characters
are escaped.
Example:
650 CIRC 5 EXTENDED [...] SOCKS_USERNAME="my_username" SOCKS_PASSWORD="my_password"
2015-01-28 12:02:15 -05:00
Nick Mathewson
32dad3b83b
Add GETINFO consensus/{valid-{after,until},fresh-until}
2015-01-28 11:28:21 -05:00
Nick Mathewson
c240eea0df
more typo fixes from mcs and gk
2015-01-28 11:25:37 -05:00
Nick Mathewson
20d0b1a04e
Bump a client authorization message from debug to info.
...
A user wants this for 14015, and it seems fairly reasonable.
2015-01-28 09:42:28 -05:00
Nick Mathewson
9c4328c038
New GETINFO consensus/packages to expose package information from consensus
2015-01-27 16:40:32 -05:00
Nick Mathewson
1e61b45251
Fixes on prop227 comments, based on comments by mcs on #10395
2015-01-27 16:31:48 -05:00
David Goulet
91009dce97
Refactor rend_cache_lookup_entry() and how it's used
...
Here is why:
1) v0 descriptors are deprecated since 0.2.2.1 and not suppose to be alive
in the network anymore. This function should only serve v2 version for now
as the default.
2) It should return different error code depending on what's the actual
error is. Right now, there is no distinction between a cache entry not found
and an invalid query.
3) This function should NOT test if the intro points are usable or not. This
adds some load on a function that should be "O(1)" and do one job.
Furthermore, multiple callsites actually already test that doing twice the
job...
4) While adding control event, it would be useful to be able to lookup a
cache entry without having it checking the intro points. There are also
places in the code that do want to lookup the cache entry without doing
that.
Fixes #14391
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2015-01-27 12:04:40 -05:00
Andrea Shepard
03d6a31716
Groundwork for AF_UNIX hidden services in rendservice.c
2015-01-27 06:22:37 +00:00
Nick Mathewson
a598d0f575
Bail early in cpuworker_onion_handshake_replyfn if the circuit is marked
2015-01-26 10:19:07 -05:00
Nick Mathewson
034e2788f8
whitespace fixes
2015-01-23 11:18:28 -05:00
Nick Mathewson
6c443e987d
Tweak the 9969 fix a little
...
If we have busy nodes and excluded nodes, then don't retry with the
excluded ones enabled. Instead, wait for the busy ones to be nonbusy.
2015-01-23 09:37:08 -05:00
Nick Mathewson
5d4bb6f61f
Merge remote-tracking branch 'public/ticket9969'
...
Conflicts:
src/or/directory.c
src/or/routerlist.c
src/or/routerlist.h
src/test/include.am
src/test/test.c
2015-01-23 09:36:00 -05:00
Nick Mathewson
b677ccd3ab
Merge remote-tracking branch 'public/ticket13762'
2015-01-23 08:55:31 -05:00
Nick Mathewson
23fc1691b6
Merge branch 'better_workqueue_v3_squashed'
2015-01-21 14:47:16 -05:00
David Goulet
84f5cb749d
Fix: remove whitespace and update a comment in cpuworker.c
...
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2015-01-21 14:31:02 -05:00
Nick Mathewson
f0415c1600
Merge branch 'bug9819'
2015-01-21 13:00:26 -05:00
Nick Mathewson
523e920d53
fix a comment
2015-01-21 13:00:14 -05:00
Nick Mathewson
e7e33d4b04
Merge branch 'bug14084'
2015-01-20 14:07:37 -05:00
Nick Mathewson
9ddc1fb10c
Merge remote-tracking branch 'dgoulet/bug14224_025_v1'
2015-01-20 14:02:07 -05:00
Nick Mathewson
da423532f7
Merge branch 'ticket14254_squashed'
2015-01-20 13:46:56 -05:00
Nick Mathewson
78c53eff85
Fix SocksSocket 0. That was easy!
2015-01-20 13:46:44 -05:00
Nick Mathewson
061682c829
Some days I just can't C.
2015-01-19 11:58:40 -05:00
Nick Mathewson
2e8b8c8698
Make check-spaces happier.
2015-01-19 11:56:03 -05:00
Nick Mathewson
a8dd930274
Replace a 4 with a 6; fix a bug that nobody noticed :/
...
Fixes 14280 bugfix on 1053af0b9c
in 0.2.4.7-alpha.
2015-01-19 11:51:08 -05:00
Nick Mathewson
1053af0b9c
Merge branch 'bug7555_v2_squashed'
...
Conflicts:
src/or/connection_edge.c
2015-01-19 11:43:41 -05:00
Nick Mathewson
758d77130c
Add a bunch of new comments to explain connection_ap_rewrite{,_and_attach}
...
Also, do a little light refactoring to move some variable declarations
around and make a few things const
Also fix an obnoxious bug on checking for the DONE stream end reason.
It's not a flag; it's a possible value or a variable that needs to be
masked.
2015-01-19 11:30:22 -05:00
David Goulet
b5525476f5
Fix: close intro circuit if no more intro points are usable
...
Once a NACK is received on the intro circuit, tor tries an other usable one
by extending the current circuit to it. If no more intro points are usable,
now close the circuit. Also, it's reason is changed before closing it so we
don't report again an intro point failure and trigger an extra HS fetch.
Fixes #14224
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2015-01-19 10:23:58 -05:00
David Goulet
b3c1152bae
Fix: close intro circuit if no more intro points are usable
...
Once a NACK is received on the intro circuit, tor tries an other usable one
by extending the current circuit to it. If no more intro points are usable,
now close the circuit.
Fixes #14224
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2015-01-19 09:44:11 -05:00
Nick Mathewson
63765399eb
Merge remote-tracking branch 'public/ticket13037'
...
Conflicts:
src/or/config.c
2015-01-18 16:07:08 -05:00
Roger Dingledine
5aa55a1369
Remove the unused rend_cache_entry_t->received field.
...
(Patch from arma, commit message from nick.)
Closes #14222 .
2015-01-18 15:53:06 -05:00
Nick Mathewson
fae72a8d0a
Merge remote-tracking branch 'public/bug14219_025'
2015-01-18 15:41:13 -05:00
Roger Dingledine
9407040c59
Do not replace a HS descriptor with a different replica of itself
...
This fixes a bug where we'd fetch different replicas of the same
descriptor for a down hidden service over and over, until we got lucky
and fetched the same replica twice in a row.
Fixes bug 14219; bugfix on 0.2.0.10-alpha.
(Patch from Roger; commit message and changes file by Nick.)
2015-01-18 15:39:12 -05:00
Nick Mathewson
efdac2a68c
Merge remote-tracking branch 'public/bug14261_025'
...
Conflicts:
src/or/directory.c
2015-01-18 15:28:35 -05:00
Nick Mathewson
ceb6dee465
Increase limit for status vote download size by a factor of 5.
...
We've started to hit the limit here. We introduced the limit in
0.1.2.5-alpha. This fixes bug 14261, but we should have a smarter way
to not actually do the behavior this permits. See #14267 for a ticket
about fixing that.
2015-01-18 15:25:29 -05:00
Nick Mathewson
54e4aaf52c
Fix memory leak in connection_ap_handshake_rewrite_and_attach()
...
Spotted by asn. #14259 . Bugfix on 368eb6a97
in 0.2.0.1-alpha.
2015-01-18 14:19:26 -05:00
Nick Mathewson
79e12da861
Merge remote-tracking branch 'public/bug12485'
2015-01-18 13:49:30 -05:00
Nick Mathewson
31838bd783
changes suggested by weasel
2015-01-16 11:46:20 -05:00
Nick Mathewson
485fdcf826
Unify parse_unix_socket_config and parse_port_config
...
This incidentally makes unix SocksSocket support all the same options
as SocksPort.
This patch breaks 'SocksSocket 0'; next will restore it.
Resolves 14254.
2015-01-16 11:35:48 -05:00
Nick Mathewson
bbad23bf37
No, client-side DNS cacheing should not be on by default.
2015-01-16 09:32:22 -05:00
Nick Mathewson
4b23b398a3
Merge branch 'bug8546_squashed'
...
Conflicts:
src/or/connection.c
src/or/or.h
src/or/relay.c
2015-01-16 09:31:50 -05:00
Nick Mathewson
49bdfbabb4
Replace field-by-field copy with memcpy for entry_port_cfg
2015-01-16 09:23:03 -05:00
Nick Mathewson
13dac5e463
Move entry_port_cfg_t fields in entry_connection_t
...
Also rename some options for uniformity, and apply this script:
@@
entry_connection_t *conn;
@@
conn->
+entry_cfg.
\(
isolation_flags
\|
session_group
\|
socks_prefer_no_auth
\|
ipv4_traffic
\|
ipv6_traffic
\|
prefer_ipv6
\|
cache_ipv4_answers
\|
cache_ipv6_answers
\|
use_cached_ipv4_answers
\|
use_cached_ipv6_answers
\|
prefer_ipv6_virtaddr
\)
2015-01-16 09:22:58 -05:00
Nick Mathewson
58d17add5e
Combine entry_port_cfg_t fields in listener_connection_t
...
Also, revise the code using these options with this cocci script:
@@
listener_connection_t *conn;
@@
conn->
+entry_cfg.
\(
isolation_flags
\|
session_group
\|
socks_prefer_no_auth
\|
ipv4_traffic
\|
ipv6_traffic
\|
prefer_ipv6
\|
cache_ipv4_answers
\|
cache_ipv6_answers
\|
use_cached_ipv4_answers
\|
use_cached_ipv6_answers
\|
prefer_ipv6_virtaddr
\)
2015-01-16 09:22:53 -05:00
Nick Mathewson
f444f2b1d3
Split client-specific and server-specific parts of port_cfg_t
...
Also, apply this cocci script to transform accesses. (Plus manual
migration for accesses inside smartlist_foreach loops.)
@@
port_cfg_t *cfgx;
@@
cfgx->
+server_cfg.
\(
no_advertise
\|
no_listen
\|
all_addrs
\|
bind_ipv4_only
\|
bind_ipv6_only
\)
@@
port_cfg_t *cfgx;
@@
cfgx->
+entry_cfg.
\(
isolation_flags
\|
session_group
\|
socks_prefer_no_auth
\|
ipv4_traffic
\|
ipv6_traffic
\|
prefer_ipv6
\|
cache_ipv4_answers
\|
cache_ipv6_answers
\|
use_cached_ipv4_answers
\|
use_cached_ipv6_answers
\|
prefer_ipv6_virtaddr
\)
2015-01-16 09:22:49 -05:00
Nick Mathewson
3368b0c9f2
Add string for IP_NOW_REDUNDANT in circuit_end_reason_to_control_string
...
Closes 14207; bugfix on 0.2.6.2-alpha.
2015-01-15 11:53:20 -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
Roger Dingledine
660a35d97c
fix typo
2015-01-15 11:03:13 -05:00
Andrea Shepard
f7bb60e202
Add comments in rendclient.c noting that certain functions involved in handling ended HS connection attempts must be idempotent
2015-01-15 15:19:31 +00:00
Nick Mathewson
3668a4126e
Merge remote-tracking branch 'public/bug13397'
2015-01-14 14:15:29 -05:00
Nick Mathewson
1686f81ac2
Merge remote-tracking branch 'origin/maint-0.2.5'
2015-01-14 13:30:10 -05:00
Nick Mathewson
fb5ebfb507
Avoid chan/circ linear lookups for requests
...
The solution I took is to not free a circuit with a pending
uncancellable work item, but rather to set its magic number to a
sentinel value. When we get a work item, we check whether the circuit
has that magic sentinel, and if so, we free it rather than processing
the reply.
2015-01-14 11:31:12 -05:00