Nick Mathewson
0dab29ce10
Run rectify_include_paths.py
2018-06-20 09:35:05 -04:00
Nick Mathewson
fb0019daf9
Update copyrights to 2018.
2018-06-20 08:13:28 -04:00
Nick Mathewson
f85d731e3a
Extract download_status_t into its own header.
2018-06-15 14:58:43 -04:00
Nick Mathewson
a0bc164af5
Extract {or,origin}_circuit_t into their own headers
2018-06-15 11:34:33 -04:00
Nick Mathewson
1416f54d1e
Split dir_connection_t into its own header
2018-06-15 10:31:21 -04:00
Nick Mathewson
ff6f49f033
Rename find_dl_schedule to find_dl_min_delay.
...
(We no longer need two separate functions here.)
2018-04-22 15:55:09 -04:00
Nick Mathewson
2d7b5c6fe5
Change the type of "download schedule" from smartlist to int.
...
This is done as follows:
* Only one function (find_dl_schedule()) actually returned a
smartlist. Now it returns an int.
* The CSV_INTERVAL type has been altered to ignore everything
after the first comma, and to store the value before the first
comma in an int.
2018-04-22 15:55:09 -04:00
Nick Mathewson
b8ff7407a7
remove the max_failures argument from download_status_is_ready.
2018-01-31 15:03:47 -05:00
Nick Mathewson
5b55e15707
Remove all the old max_delay logic.
...
We had tests for it, but it was always INT_MAX.
2018-01-25 16:05:20 -05:00
Nick Mathewson
e0049ef022
Remove the old ("deterministic") download schedule.
...
We haven't meant to use it since we introduced the random
exponential schedule.
Closes ticket 23814.
2018-01-25 15:51:13 -05:00
Nick Mathewson
17dcce3fe1
Fix wide lines introduced by previous patch.
2017-12-08 14:47:19 -05:00
Nick Mathewson
285632a61b
Replace all FREE_AND_NULL* uses to take a type and a free function.
...
This commit was made mechanically by this perl script:
\#!/usr/bin/perl -w -i -p
next if /^#define FREE_AND_NULL/;
s/\bFREE_AND_NULL\((\w+),/FREE_AND_NULL\(${1}_t, ${1}_free_,/;
s/\bFREE_AND_NULL_UNMATCHED\(/FREE_AND_NULL\(/;
2017-12-08 14:47:19 -05:00
Nick Mathewson
176ad729d9
Change the free macro convention in the rest of src/or/*.h
2017-12-08 14:47:19 -05:00
Nick Mathewson
fcdec00685
Merge branch 'maint-0.3.2'
2017-11-17 09:59:26 -05:00
George Kadianakis
7e52947d57
Intoduce unittest for skipping outdated dirservers.
2017-11-17 09:57:46 -05:00
Nick Mathewson
2cee26b164
Merge branch 'bug23817_031' into maint-0.3.2
2017-11-17 09:56:53 -05:00
George Kadianakis
7fc64f02a3
Introduce cache for outdated microdesc dirservers.
...
We gonna use this cache to avoid dirservers without outdated md info.
2017-11-17 09:52:40 -05:00
Nick Mathewson
c2c1fa6b95
Merge branch 'maint-0.3.2'
2017-11-08 08:13:14 -05:00
Nick Mathewson
e5a83062ed
Merge branch 'bug23816_029_squashed' into maint-0.3.2
2017-11-08 08:11:22 -05:00
Nick Mathewson
cb29687e93
Replace our random-exponential-delay algorithm.
...
This patch has implementations of the "decorrelated" and "full"
algorithms from https://www.awsarchitectureblog.com/2015/03/backoff.html
2017-11-08 07:56:16 -05:00
George Kadianakis
8c8d3b90f7
Add a unittest that reveals the offending case of #23862 .
2017-10-25 20:22:52 +03:00
Nick Mathewson
c1deabd3b0
Run our #else/#endif annotator on our source code.
2017-09-15 16:24:44 -04:00
Nick Mathewson
73b0e2e6fd
Merge branch 'http_tunnel_squashed'
2017-09-05 14:34:29 -04:00
Nick Mathewson
eda79c2f78
Export http-command parsing functions.
2017-09-05 14:34:09 -04:00
George Kadianakis
b1cb16867e
Fix compilation warning on old clangs.
2017-08-28 15:00:09 +03:00
David Goulet
31da3898e7
prop224: Add directory_request_fetch_set_hs_ident()
...
Needed by the client when fetching a descriptor. This function checks the
directory purpose and hard assert if it is not for fetching.
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-24 13:03:28 -04:00
George Kadianakis
6eb9de1b8c
test: Add tests for fetching descs and handling SOCKS conns.
...
- Add tests that ensure that SOCKS requests for v2/v3 addresses get
intercepted and handled.
- Add test that stores and lookups an HS descriptor in the client-side cache.
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-24 13:03:28 -04:00
George Kadianakis
f93b77a18c
prop224: Add client code to handle fetched HS descriptors.
...
This code handles received HS descriptors by storing them in the
client-side HS cache.
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-24 13:03:28 -04:00
George Kadianakis
0bf8587858
Do more type checking when setting HS idents.
...
I repurposed the old directory_request_set_hs_ident() into a new
directory_request_upload_set_hs_ident() which is only used for the
upload purpose and so it can assert on the dir_purpose.
When coding the client-side we can make a second function for fetch.
2017-08-08 20:29:35 -04:00
David Goulet
bce0c6caad
prop224: Directory function to upload descriptor
...
This commit adds a directory command function to make an upload directory
request for a service descriptor.
It is not used yet, just the groundwork.
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-08 20:29:33 -04:00
Nick Mathewson
948158df33
Merge branch 'bug17750_029_squashed'
2017-07-07 13:28:22 -04:00
teor
32f0cbc0f6
Refactor exponential backoff multipliers into macros
...
There are only so many times you can type "4".
2017-07-07 13:18:04 -04:00
teor
344f5a71c5
Use download_status_get_next_attempt_at() more often
...
This guards against future occurrences of 17750.
2017-07-07 13:18:04 -04:00
teor
c21cfd28f4
Make clients try fallbacks before authorities
...
Make clients wait for 6 seconds before trying to download their
consensus from an authority.
Fixes bug 17750, bugfix on 0.2.8.1-alpha.
2017-07-07 13:18:04 -04:00
Alexander Færøy
9604980733
Log a warning if we receive a disallowed compression method for an anonymous connection.
...
See: https://bugs.torproject.org/22305
2017-05-22 15:52:41 +00:00
Nick Mathewson
9a50c73104
Merge remote-tracking branch 'ahf/bugs/22305'
2017-05-22 10:57:26 -04:00
Alexander Færøy
5a0eab68e1
Ensure that only GZip and Zlib compression is handled for anonymous connections.
...
See: https://bugs.torproject.org/22305
2017-05-22 14:45:12 +00:00
Nick Mathewson
cfe0a45750
Fix a compilation warning about duplicate typedef
2017-05-22 10:39:43 -04:00
George Kadianakis
52498b8183
Set guard state on bridge descriptor fetches.
...
We used to not set the guard state in launch_direct_bridge_descriptor_fetch().
So when a bridge descriptor fetch failed, the guard subsystem would never
learn about the fail (and hence the guard's reachability state would not
be updated).
2017-05-22 15:57:33 +03:00
Alexander Færøy
a3a31fa120
Send "Accept-Encoding" to directory servers.
...
See: https://bugs.torproject.org/21667
2017-05-12 17:18:45 +02:00
Nick Mathewson
57710c1587
New function to add additional headers to a directory request
2017-05-04 08:37:41 -04:00
Nick Mathewson
10a4f9cd07
Merge branch 'parse_accept_encoding'
2017-04-27 11:31:31 -04:00
Nick Mathewson
33a2fd065d
Merge branch 'dirreq'
2017-04-27 10:08:32 -04:00
Nick Mathewson
fec3050ea9
Tests for parse_accept_encoding
2017-04-25 19:01:05 -04:00
Nick Mathewson
d7fab36037
Make directory_request_set_guard_state static.
2017-04-21 15:42:09 -04:00
Nick Mathewson
81045e19eb
Document the new directory_request_t API and add some assertions
2017-04-21 15:42:03 -04:00
Nick Mathewson
3327e675fd
Remove old directory_initiate_command_*() functions.
2017-04-21 15:14:52 -04:00
Nick Mathewson
c300fd7e65
Have directory_get_from_all_authorities use requests.
2017-04-21 14:31:35 -04:00
Nick Mathewson
a55bd00b0f
continue refactoring directory API: remove initiate_command_rend
...
This commit mainly moves the responsibility for directory request
construction one level higher. It also allows a directory request
to contain a pointer to a routerstatus, which will get turned into
the correct contact information at the last minute.
2017-04-21 14:18:06 -04:00
Alexander Færøy
e8b025dfc3
Rename zlib_compression_level_t
to compression_level_t
.
...
See https://bugs.torproject.org/21663
2017-04-17 14:22:13 +02:00