Commit Graph

35634 Commits

Author SHA1 Message Date
David Goulet
3adabaf3e9 tls: Make buf_read_from_tls() read at most bytes
The buf_read_from_tls() function was designed to read up to a certain number
of bytes a TLS socket using read_to_chunk_tls() which boils down to SSL_read()
(with OpenSSL, common case).

However, at the end of the loop, the returned number of bytes from
read_to_chunk_tls() was treated like the syscall read() for which if less
bytes than the total asked are returned, it signals EOF.

But, with SSL_read(), it returns up to a TLS record which can be less than
what was asked. The assumption that it was EOF was wrong which made the while
loop exiting before it was able to consume all requested bytes (at_most
parameter).

The general use case that Tor sees is that it will ask the network layer to
give it at most 16KB (that is roughly 32 cells) but because of KIST scheduler,
the highest possible TLS record we currently observe is 4096 bytes (4KB or 8
cells). Thus the loop would at best always return 8 cells even though much
more could be on the TLS socket. See ticket #40006 for more details.

Fixes #40006

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-06-24 10:47:53 -04:00
Nick Mathewson
48ff6a41ae Merge branch 'maint-0.4.4'
"ours" to avoid version bump.
2020-06-16 19:39:03 -04:00
Nick Mathewson
93d582b8e9 Bump to 0.4.4.1-alpha-dev 2020-06-16 19:38:38 -04:00
Nick Mathewson
0b889e709d forward-port the changelog for 0.4.4.1-alpha 2020-06-16 17:52:45 -04:00
Nick Mathewson
285dbeefa1 Merge branch 'maint-0.4.4'
"ours" to avoid version bump.
2020-06-15 16:45:25 -04:00
Nick Mathewson
148291a52e Bump to 0.4.4.1-alpha 2020-06-15 16:45:18 -04:00
Nick Mathewson
7e600a74bc Merge branch 'maint-0.4.4' 2020-06-15 16:43:18 -04:00
Nick Mathewson
85c0ba1cfb forward-port changelog and release-notes from 0.4.3.5 2020-06-15 16:43:09 -04:00
Nick Mathewson
9fdaede3f7 Remove AssumeReachable from TestingTorNetwork.
Closes ticket 34446.
2020-06-15 14:08:42 -04:00
David Goulet
8361e3c4ab core: Remove unused files
Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-06-12 14:40:49 -04:00
David Goulet
75734f48aa Merge branch 'maint-0.4.3' into maint-0.4.4 2020-06-12 12:55:41 -04:00
David Goulet
ffc2405621 Merge branch 'maint-0.4.4' 2020-06-12 12:55:41 -04:00
David Goulet
272c171136 Merge branch 'maint-0.4.2' into maint-0.4.3 2020-06-12 12:55:41 -04:00
David Goulet
0f218a05a6 Merge branch 'maint-0.3.5' into maint-0.4.2 2020-06-12 12:55:41 -04:00
David Goulet
53faca10ad Merge branch 'tor-github/pr/1913' 2020-06-12 12:55:34 -04:00
David Goulet
6a43aadecc Merge branch 'tor-github/pr/1912' into maint-0.3.5 2020-06-12 12:55:17 -04:00
George Kadianakis
3cb77a9cca Merge branch 'maint-0.4.4' 2020-06-11 17:29:54 +03:00
George Kadianakis
52edea121e Fold in a changes file and update exceptions.txt.
Co-authored-by: Florentin Rochet <florentin.rochet@uclouvain.be>
2020-06-11 16:13:25 +03:00
George Kadianakis
755b8252a4 Fix and update unittests.
Co-authored-by: Florentin Rochet <florentin.rochet@uclouvain.be>
2020-06-11 16:13:20 +03:00
George Kadianakis
714e235a3c Update functions that load and write the guard state file.
Co-authored-by: Florentin Rochet <florentin.rochet@uclouvain.be>
2020-06-11 16:13:13 +03:00
George Kadianakis
d2c3b6ea1e Pick guards on the order they were sampled (prop310).
Co-authored-by: Florentin Rochet <florentin.rochet@uclouvain.be>
2020-06-11 16:13:09 +03:00
Florentin Rochet
7bf0587ef1 Refactor some guard state file parsing code into functions.
Co-authored-by: Florentin Rochet <florentin.rochet@uclouvain.be>
2020-06-11 16:12:31 +03:00
George Kadianakis
1797d05165 Merge branch 'tor-github/pr/1925' 2020-06-10 15:37:59 +03:00
Mike Perry
963c3591c8 Bug 30992: Changes file 2020-06-10 15:37:44 +03:00
Mike Perry
1300e6a512 Bug 30992: Update tests 2020-06-10 15:37:44 +03:00
Mike Perry
0a4bc8fe90 Bug 30992: Track a padding machine ctr to reduce race issues.
This tracking of the instantiation count should eliminate race conditions due
to starting and stopping machines rapidly. Now, we should no longer obey
STOP commands for previous machines.
2020-06-10 15:37:44 +03:00
Nick Mathewson
1e230bd488 Merge branch 'maint-0.4.4'
("Ours" to avoid removal of .enable_practracker_in_hooks)
2020-06-09 15:47:44 -04:00
Nick Mathewson
fc16dbf7aa Remove "enable_practracker_in_hooks" for 0.4.4. 2020-06-09 15:47:25 -04:00
Nick Mathewson
354f085e5f Merge remote-tracking branch 'tor-github/pr/1888/head' 2020-06-09 15:44:58 -04:00
Nick Mathewson
eaae5625cb Add 0.4.4 to list of tor branches used by git scripts. 2020-06-09 14:17:15 -04:00
Nick Mathewson
ca8b04f194 Merge branch 'ticket34375' 2020-06-09 14:16:21 -04:00
Nick Mathewson
d2f136aab1 Bump version to 0.4.5.0-alpha-dev 2020-06-09 14:14:43 -04:00
Mike Perry
9eb0eeb68e Update Trunnel for new machine_ctr field.
This field area was memset to 0 in old versions, which the code treats as
"match any machine instance", for backward compatibility without a protover
bump.
2020-06-08 18:05:34 -05:00
c
76d07940fd
scripts/maint: Remove obsolete generated tor.sh
Per <https://trac.torproject.org/projects/tor/ticket/34381>, these
contrib scripts were generated by older versions of Tor and shellcheck
will throw warnings if they still exist.
2020-06-08 01:41:36 +00:00
Nick Mathewson
1d32c3114f Merge branch 'maint-0.4.3' 2020-06-05 12:37:30 -04:00
Nick Mathewson
754d4e9a17 Merge branch 'maint-0.4.2' into maint-0.4.3 2020-06-05 12:37:29 -04:00
Nick Mathewson
1930828957 Merge branch 'maint-0.3.5' into maint-0.4.2 2020-06-05 12:37:29 -04:00
Alexander Færøy
c1add51bcc Update and upgrade Pacman before installing dependencies in AppVeyor.
This patch makes sures that AppVeyor upgrades its Pacman (the package
manager) before installing the Tor dependencies.

See: https://bugs.torproject.org/34384
2020-06-05 12:37:08 -04:00
Nick Mathewson
f548f1475b Merge remote-tracking branch 'tor-github/pr/1920/head' 2020-06-05 10:12:00 -04:00
Nick Mathewson
1fb9be5396 Merge remote-tracking branch 'tor-github/pr/1902/head' 2020-06-05 10:08:27 -04:00
c
5ba7d494c5
Remove tor.sh from .gitignore
The files contrib/dist/tor.sh and contrib/dist/suse/tor.sh should not
exist anymore, but when building in same repository for older versions
of Tor, these files may return and not be cleaned up properly. This
commit unignores those files from .gitignore, in order to make it clear
that these files are no longer auto-generated and should be cleaned up.
2020-06-05 10:28:29 +00:00
rl1987
3e4814edeb Fix some checks of tor_inet_ntoa() return value
Also, fix a format string.
2020-06-05 11:49:24 +03:00
Nick Mathewson
b335ef1781 changes file for ticket 32888 2020-06-04 10:35:51 -04:00
Nick Mathewson
2b98df3c74 Merge remote-tracking branch 'tor-github/pr/1910/head' 2020-06-04 10:33:36 -04:00
c
284e9459b8
doc: specify C99 coding standards
Make clear that Tor's C code targets C99 standards. This makes it more
explicit what to expect for new code, because guessing from existing
code is not always reliable, especially for code that predates the
change in standard.
2020-06-04 13:28:24 +00:00
c
8b568b50a5
config: Styling fix + use fmt_addr()
Conform to C99 as suggested by nickm on #32888 and use fmt_addr() rather
than tor_addr_to_str_dup()
2020-06-04 13:15:27 +00:00
Nick Mathewson
811853c677 Remove 0.4.1 from list of tor branches used by git scripts. 2020-06-03 14:54:21 -04:00
Nick Mathewson
c3f589c4d4 Merge branch 'ticket34220_041' into ticket34220_042 2020-06-03 14:49:03 -04:00
Nick Mathewson
82d8304efa Merge branch 'ticket34220_035' into ticket34220_041 2020-06-03 14:49:03 -04:00
Nick Mathewson
f49f1d6fb2 Revert "Travis: temporarily fix stem version to d1174a83c2dcb7b8"
This reverts commit e63bfca5f2, now
that Stem has been upgraded to fix the underlying issue.
2020-06-03 14:48:05 -04:00