Tor issueshttps://gitlab.torproject.org/tpo/core/tor/-/issues2020-06-27T13:51:33Zhttps://gitlab.torproject.org/tpo/core/tor/-/issues/28612Tor start via Windows service fails2020-06-27T13:51:33ZTracTor start via Windows service failsWhen I run `tor --service start` with latest Tor version (0.3.5.5-alpha or 3741f9e5) on Windows 7 SP1 x64, Tor process starts, outputs some info into log file and exits (crashes?).
Latest line in log file: `Nov 25 19:35:20.000 [notice] C...When I run `tor --service start` with latest Tor version (0.3.5.5-alpha or 3741f9e5) on Windows 7 SP1 x64, Tor process starts, outputs some info into log file and exits (crashes?).
Latest line in log file: `Nov 25 19:35:20.000 [notice] Configured to measure statistics. Look for the *-stats files that will first be written to the data directory in 24 hours from now.`
Tor was configured with `--disable-gcc-hardening` and compiled by MSYS2 with following libraries: Libevent 2.1.8-stable, OpenSSL 1.1.1a, Zlib 1.2.11, Liblzma 5.2.4, and Libzstd 1.3.7.
**Trac**:
**Username**: VortTor: 0.3.5.x-finalhttps://gitlab.torproject.org/tpo/core/tor/-/issues/28591Accept a future consensus for bootstrap2020-06-27T13:51:34ZteorAccept a future consensus for bootstraplegacy/trac#24661 allows tor to bootstrap when the client's clock is ahead of the network by up to 1 day.
But clients can't bootstrap when the client's clock is behind the network by more than a few hours:
https://trac.torproject.org/pr...legacy/trac#24661 allows tor to bootstrap when the client's clock is ahead of the network by up to 1 day.
But clients can't bootstrap when the client's clock is behind the network by more than a few hours:
https://trac.torproject.org/projects/tor/ticket/24661#comment:18Tor: 0.3.5.x-finalteorteorhttps://gitlab.torproject.org/tpo/core/tor/-/issues/28568Stop running stem's unit tests in Tor's stem test2020-06-27T13:51:35ZteorStop running stem's unit tests in Tor's stem testAs noted by atagar in:
https://trac.torproject.org/projects/tor/ticket/28552#comment:4
We can use --integ rather than --all.As noted by atagar in:
https://trac.torproject.org/projects/tor/ticket/28552#comment:4
We can use --integ rather than --all.Tor: 0.3.5.x-finalteorteorhttps://gitlab.torproject.org/tpo/core/tor/-/issues/28554Fix memory leaks and missing unmocks in test_entry_guard_outdated_dirserver_e...2020-06-27T13:51:36ZteorFix memory leaks and missing unmocks in test_entry_guard_outdated_dirserver_exclusiontest_entry_guard_outdated_dirserver_exclusion leaks memory, and is missing some unmockstest_entry_guard_outdated_dirserver_exclusion leaks memory, and is missing some unmocksTor: 0.3.5.x-finalteorteorhttps://gitlab.torproject.org/tpo/core/tor/-/issues/28524update control_free_all() for #271692020-06-27T13:51:36ZTaylor Yuupdate control_free_all() for #27169legacy/trac#27169 added some bootstrap tracking state that isn't reset by `control_free_all()`.legacy/trac#27169 added some bootstrap tracking state that isn't reset by `control_free_all()`.Tor: 0.3.5.x-finalTaylor YuTaylor Yuhttps://gitlab.torproject.org/tpo/core/tor/-/issues/28506Assertion onion_pk failed in introduce1_set_encrypted_onion_key at hs_cell.c:2572020-06-27T13:51:37ZTracAssertion onion_pk failed in introduce1_set_encrypted_onion_key at hs_cell.c:257[ERR] tor_assertion_failed_(): Bug: hs_cell.c:257: introduce1_set_encrypted_onion_key: Assertion onion_pk failed; aborting. (on Tor 0.3.4.8 da95b91355248ad8)
Bug: Assertion onion_pk failed in introduce1_set_encrypted_onion_key at hs_cel...[ERR] tor_assertion_failed_(): Bug: hs_cell.c:257: introduce1_set_encrypted_onion_key: Assertion onion_pk failed; aborting. (on Tor 0.3.4.8 da95b91355248ad8)
Bug: Assertion onion_pk failed in introduce1_set_encrypted_onion_key at hs_cell.c:257. (Stack trace not available) (on Tor 0.3.4.8 da95b91355248ad8)
=====Logs from Tor
11/18/18, 22:10:13.527 [NOTICE] Bootstrapped 90%: Establishing a Tor circuit
11/18/18, 22:10:28.901 [NOTICE] Tor has successfully opened a circuit. Looks like client functionality is working.
11/18/18, 22:10:28.901 [NOTICE] Bootstrapped 100%: Done
11/18/18, 22:10:30.870 [NOTICE] New control connection opened from 127.0.0.1.
11/18/18, 22:10:31.366 [NOTICE] New control connection opened from 127.0.0.1.
11/18/18, 22:47:25.304 [ERR] tor_assertion_failed_(): Bug: hs_cell.c:257: introduce1_set_encrypted_onion_key: Assertion onion_pk failed; aborting. (on Tor 0.3.4.8 da95b91355248ad8)
11/18/18, 22:47:25.304 [ERR] Bug: Assertion onion_pk failed in introduce1_set_encrypted_onion_key at hs_cell.c:257. (Stack trace not available) (on Tor 0.3.4.8 da95b91355248ad8)
11/18/18, 22:49:38.634 [NOTICE] Bootstrapped 90%: Establishing a Tor circuit
11/18/18, 22:49:38.922 [NOTICE] Tor has successfully opened a circuit. Looks like client functionality is working.
11/18/18, 22:49:38.922 [NOTICE] Bootstrapped 100%: Done
**Trac**:
**Username**: BukavakTor: 0.3.5.x-finalhttps://gitlab.torproject.org/tpo/core/tor/-/issues/28485Link failure for tor-print-ed-signing-cert.exe on Windows2020-06-27T13:51:37ZAlexander Færøyahf@torproject.orgLink failure for tor-print-ed-signing-cert.exe on WindowsCurrently Tor fails to build on Windows because of:
```
CCLD src/tools/tor-print-ed-signing-cert.exe
/usr/bin/i686-w64-mingw32-ld: /home/user/src/github.com/ahf/tor-win32/prefix/lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0x100d...Currently Tor fails to build on Windows because of:
```
CCLD src/tools/tor-print-ed-signing-cert.exe
/usr/bin/i686-w64-mingw32-ld: /home/user/src/github.com/ahf/tor-win32/prefix/lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0x100d): undefined reference to `_imp__GetDeviceCaps@8'
/usr/bin/i686-w64-mingw32-ld: /home/user/src/github.com/ahf/tor-win32/prefix/lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0x103b): undefined reference to `_imp__CreateCompatibleBitmap@12'
/usr/bin/i686-w64-mingw32-ld: /home/user/src/github.com/ahf/tor-win32/prefix/lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0x105d): undefined reference to `_imp__GetObjectA@12'
/usr/bin/i686-w64-mingw32-ld: /home/user/src/github.com/ahf/tor-win32/prefix/lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0x113d): undefined reference to `_imp__GetDIBits@28'
/usr/bin/i686-w64-mingw32-ld: /home/user/src/github.com/ahf/tor-win32/prefix/lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0x11a1): undefined reference to `_imp__DeleteObject@4'
```
This is because we are missing to include the library from `@TOR_LIB_GDI@`. Patch coming up.Tor: 0.3.5.x-finalAlexander Færøyahf@torproject.orgAlexander Færøyahf@torproject.orghttps://gitlab.torproject.org/tpo/core/tor/-/issues/28441Stop talking about Named in log messages2020-06-27T13:51:39ZteorStop talking about Named in log messagesThe Named flag is long dead, as is the code that implements it in tor clients.
I have a patch to fix a log message that still talks about Named.The Named flag is long dead, as is the code that implements it in tor clients.
I have a patch to fix a log message that still talks about Named.Tor: 0.3.5.x-finalteorteorhttps://gitlab.torproject.org/tpo/core/tor/-/issues/28440Various doc and comment fixes2020-06-27T13:51:39ZteorVarious doc and comment fixesI have a branch with various doc and comment fixes, I just need a ticket number.I have a branch with various doc and comment fixes, I just need a ticket number.Tor: 0.3.5.x-finalteorteorhttps://gitlab.torproject.org/tpo/core/tor/-/issues/28435adjust Doxyfile for source tree moves2020-06-27T13:51:39ZTaylor Yuadjust Doxyfile for source tree movesThe major source tree rearrangement means that Doxygen doesn't find any source files. We should set `RECURSIVE = YES` to fix this. (We could also explicitly enumerate all of the directories, but recursing is more future-proof.)The major source tree rearrangement means that Doxygen doesn't find any source files. We should set `RECURSIVE = YES` to fix this. (We could also explicitly enumerate all of the directories, but recursing is more future-proof.)Tor: 0.3.5.x-finalTaylor YuTaylor Yuhttps://gitlab.torproject.org/tpo/core/tor/-/issues/28410systemd restart loop when tor@default.service::Type=notify2020-06-27T13:51:41ZTracsystemd restart loop when tor@default.service::Type=notifyI'm experiencing a 300sec restart loop when Tor is run as a service. This is Debian stretch using systemd.
This is a system in which tor-0.3.4.8 was installed and running OK. Then I overrode the tor executable with a 0.3.5.4-alpha build...I'm experiencing a 300sec restart loop when Tor is run as a service. This is Debian stretch using systemd.
This is a system in which tor-0.3.4.8 was installed and running OK. Then I overrode the tor executable with a 0.3.5.4-alpha build (with configure `--prefix=`), and it started showing this problem.
I tried some workarounds found on the Net, such as changing the /var/run symlink from /run to ../run (which shouldn't need to be done), tweaking values of ReadWriteDirectories in `tor@default.service`, and changing TimeoutStartSec to 0. None of that worked.
What does work is setting Type=simple instead of notify, but then I came across ticket legacy/trac#11016 and really, notify should work. So if it doesn't, I wonder if this version of tor 0.3.5 alpha could have a fault? How can I look into that more closely to verify?
This is the log in syslog prior to restart:
```
systemd[1]: tor@default.service: Start operation timed out. Terminating.
systemd[1]: Failed to start Anonymizing overlay network for TCP.
systemd[1]: tor@default.service: Unit entered failed state.
systemd[1]: tor@default.service: Failed with result 'timeout'.
systemd[1]: tor@default.service: Service hold-off time over, scheduling restart.
systemd[1]: Stopped Anonymizing overlay network for TCP.
systemd[1]: Starting Anonymizing overlay network for TCP...
```
And here is my current `tor@default.service`:
```
[Unit]
Description=Anonymizing overlay network for TCP
After=network.target nss-lookup.target
PartOf=tor.service
ReloadPropagatedFrom=tor.service
[Service]
#Type=notify
Type=simple
NotifyAccess=all
PIDFile=/var/run/tor/tor.pid
PermissionsStartOnly=yes
ExecStartPre=/usr/bin/install -Z -m 02755 -o debian-tor -g debian-tor -d /var/run/tor
ExecStartPre=/usr/bin/tor --defaults-torrc /usr/share/tor/tor-service-defaults-torrc -f /etc/tor/torrc --RunAsDaemon 0 --verify-config
ExecStart=/usr/bin/tor --defaults-torrc /usr/share/tor/tor-service-defaults-torrc -f /etc/tor/torrc --RunAsDaemon 0
ExecReload=/bin/kill -HUP ${MAINPID}
KillSignal=SIGINT
TimeoutStartSec=300
TimeoutStopSec=60
Restart=on-failure
LimitNOFILE=65536
# Hardening
AppArmorProfile=-system_tor
NoNewPrivileges=yes
PrivateTmp=yes
PrivateDevices=yes
ProtectHome=yes
ProtectSystem=full
ReadOnlyDirectories=/
ReadWriteDirectories=-/proc
ReadWriteDirectories=-/var/lib/tor
ReadWriteDirectories=-/var/log/tor
ReadWriteDirectories=-/var/run
CapabilityBoundingSet=CAP_SETUID CAP_SETGID CAP_NET_BIND_SERVICE CAP_DAC_READ_SEARCH
```
Advice?
**Trac**:
**Username**: jchevaliTor: 0.3.5.x-finalhttps://gitlab.torproject.org/tpo/core/tor/-/issues/28399Build is broken on Appveyor CI2020-06-27T13:51:41Zrl1987Build is broken on Appveyor CIhttps://ci.appveyor.com/project/torproject/tor/builds/20213306
```
bash.exe : ../src/lib/tls/tortls_openssl.c: In function 'tor_tls_context_new':
At line:2 char:5
+ & $commandPath $args 2>&1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+ Cat...https://ci.appveyor.com/project/torproject/tor/builds/20213306
```
bash.exe : ../src/lib/tls/tortls_openssl.c: In function 'tor_tls_context_new':
At line:2 char:5
+ & $commandPath $args 2>&1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (../src/lib/tls/...s_context_new'::String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
../src/lib/tls/tortls_openssl.c:545:35: error: implicit declaration of function 'TLS_method'; did you mean 'DTLS_method'? [-Werror=implicit-function-declaration]
if (!(result->ctx = SSL_CTX_new(TLS_method())))
^~~~~~~~~~
DTLS_method
../src/lib/tls/tortls_openssl.c:545:35: error: nested extern declaration of 'TLS_method' [-Werror=nested-externs]
../src/lib/tls/tortls_openssl.c:545:35: error: passing argument 1 of 'SSL_CTX_new' makes pointer from integer without a cast [-Werror=int-conversion]
In file included from ../src/lib/tls/tortls_openssl.c:48:0:
C:/OpenSSL-Win32/include/openssl/ssl.h:2131:10: note: expected 'const SSL_METHOD * {aka const struct ssl_method_st *}' but argument is of type 'int'
SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth);
^~~~~~~~~~~
../src/lib/tls/tortls_openssl.c:554:3: error: implicit declaration of function 'SSL_CTX_set_security_level'; did you mean 'SSL_CTX_set_verify_depth'? [-Werror=implicit-function-declaration]
SSL_CTX_set_security_level(result->ctx, 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~
SSL_CTX_set_verify_depth
../src/lib/tls/tortls_openssl.c:554:3: error: nested extern declaration of 'SSL_CTX_set_security_level' [-Werror=nested-externs]
../src/lib/tls/tortls_openssl.c: In function 'prune_v2_cipher_list':
../src/lib/tls/tortls_openssl.c:810:25: error: initialization makes pointer from integer without a cast [-Werror=int-conversion]
const SSL_METHOD *m = TLS_method();
^~~~~~~~~~
../src/lib/tls/tortls_openssl.c: In function 'tor_tls_client_is_using_v2_ciphers':
../src/lib/tls/tortls_openssl.c:919:13: error: implicit declaration of function 'SSL_get_client_ciphers'; did you mean 'SSL_get_current_cipher'? [-Werror=implicit-function-declaration]
ciphers = SSL_get_client_ciphers(ssl);
^~~~~~~~~~~~~~~~~~~~~~
SSL_get_current_cipher
../src/lib/tls/tortls_openssl.c:919:13: error: nested extern declaration of 'SSL_get_client_ciphers' [-Werror=nested-externs]
../src/lib/tls/tortls_openssl.c:919:11: error: assignment makes pointer from integer without a cast [-Werror=int-conversion]
ciphers = SSL_get_client_ciphers(ssl);
^
../src/lib/tls/tortls_openssl.c: In function 'tor_tls_get_tlssecrets':
../src/lib/tls/tortls_openssl.c:1623:36: error: implicit declaration of function 'SSL_get_server_random'; did you mean 'SSL_get_servername'? [-Werror=implicit-function-declaration]
const size_t server_random_len = SSL_get_server_random(ssl, NULL, 0);
^~~~~~~~~~~~~~~~~~~~~
SSL_get_servername
../src/lib/tls/tortls_openssl.c:1623:36: error: nested extern declaration of 'SSL_get_server_random' [-Werror=nested-externs]
../src/lib/tls/tortls_openssl.c:1624:36: error: implicit declaration of function 'SSL_get_client_random'; did you mean 'SSL_get_client_CA_list'? [-Werror=implicit-function-declaration]
const size_t client_random_len = SSL_get_client_random(ssl, NULL, 0);
^~~~~~~~~~~~~~~~~~~~~
SSL_get_client_CA_list
../src/lib/tls/tortls_openssl.c:1624:36: error: nested extern declaration of 'SSL_get_client_random' [-Werror=nested-externs]
../src/lib/tls/tortls_openssl.c:1625:33: error: implicit declaration of function 'SSL_SESSION_get_master_key'; did you mean 'SSL_SESSION_get_time'? [-Werror=implicit-function-declaration]
const size_t master_key_len = SSL_SESSION_get_master_key(session, NULL, 0);
^~~~~~~~~~~~~~~~~~~~~~~~~~
SSL_SESSION_get_time
../src/lib/tls/tortls_openssl.c:1625:33: error: nested extern declaration of 'SSL_SESSION_get_master_key' [-Werror=nested-externs]
```Tor: 0.3.5.x-finalhttps://gitlab.torproject.org/tpo/core/tor/-/issues/28318Appveyor: build on Windows Server 2012 R2 and Windows Server 20162020-06-27T13:51:44ZteorAppveyor: build on Windows Server 2012 R2 and Windows Server 2016Appveyor provides build images with Windows Server 2012 R2 (the default) and Windows Server 2016. These images are called:
* Visual Studio 2015
* Visual Studio 2017
https://www.appveyor.com/docs/windows-images-software/#operating-system...Appveyor provides build images with Windows Server 2012 R2 (the default) and Windows Server 2016. These images are called:
* Visual Studio 2015
* Visual Studio 2017
https://www.appveyor.com/docs/windows-images-software/#operating-system
Our builds work on these images:
https://ci.appveyor.com/project/teor2345/tor/builds/20046114
So we should probably build on both of them.Tor: 0.3.5.x-finalteorteorhttps://gitlab.torproject.org/tpo/core/tor/-/issues/28303Include sys/time.h in timers.c and time_fmt.c to fix OpenBSD build2020-06-27T13:51:45ZTracInclude sys/time.h in timers.c and time_fmt.c to fix OpenBSD buildThe files `src/lib/encoding/time_fmt.c` and `src/lib/evloop/timers.c` both need to include `sys/time.h` for `struct timeval`. Otherwise compilation fails on OpenBSD with the following errors:
```
CC src/lib/encoding/time_fmt.o
...The files `src/lib/encoding/time_fmt.c` and `src/lib/evloop/timers.c` both need to include `sys/time.h` for `struct timeval`. Otherwise compilation fails on OpenBSD with the following errors:
```
CC src/lib/encoding/time_fmt.o
src/lib/encoding/time_fmt.c: In function 'format_iso_time_nospace_usec':
src/lib/encoding/time_fmt.c:318: error: dereferencing pointer to incomplete type
src/lib/encoding/time_fmt.c:319: error: dereferencing pointer to incomplete type
gmake[1]: *** [Makefile:9088: src/lib/encoding/time_fmt.o] Error 1
```
and
```
CC src/lib/evloop/timers.o
src/lib/evloop/timers.c: In function 'tv_to_timeout':
src/lib/evloop/timers.c:115: error: dereferencing pointer to incomplete type
src/lib/evloop/timers.c:116: error: dereferencing pointer to incomplete type
src/lib/evloop/timers.c: In function 'timeout_to_tv':
src/lib/evloop/timers.c:128: error: dereferencing pointer to incomplete type
src/lib/evloop/timers.c:129: error: dereferencing pointer to incomplete type
src/lib/evloop/timers.c: In function 'libevent_timer_reschedule':
src/lib/evloop/timers.c:156: error: storage size of 'd' isn't known
src/lib/evloop/timers.c:156: warning: unused variable 'd'
gmake[1]: *** [Makefile:9088: src/lib/evloop/timers.o] Error 1
```
This change does not appear to be necessary on FreeBSD or NetBSD.
**Trac**:
**Username**: kjakTor: 0.3.5.x-finalhttps://gitlab.torproject.org/tpo/core/tor/-/issues/28286Missing header in freespace.c when building for Android2020-06-27T13:51:45ZTracMissing header in freespace.c when building for AndroidBuilding tor 0.3.5.3-alpha for Android fails with the following error:
```
src/lib/fs/freespace.c: In function 'tor_get_avail_disk_space':
src/lib/fs/freespace.c:59:3: error: 'errno' undeclared (first use in this function)
errno = ENO...Building tor 0.3.5.3-alpha for Android fails with the following error:
```
src/lib/fs/freespace.c: In function 'tor_get_avail_disk_space':
src/lib/fs/freespace.c:59:3: error: 'errno' undeclared (first use in this function)
errno = ENOSYS;
^
src/lib/fs/freespace.c:59:3: note: each undeclared identifier is reported only once for each function it appears in
src/lib/fs/freespace.c:59:11: error: 'ENOSYS' undeclared (first use in this function)
errno = ENOSYS;
^
Makefile:9088: recipe for target 'src/lib/fs/freespace.o' failed
```
On Android <errno.h> should be included in the header.
**Trac**:
**Username**: goapunkTor: 0.3.5.x-finalNick MathewsonNick Mathewsonhttps://gitlab.torproject.org/tpo/core/tor/-/issues/28275hs-v3: Rotate intro points and close RP circuits when removing client auth se...2021-09-30T13:25:26ZDavid Gouletdgoulet@torproject.orghs-v3: Rotate intro points and close RP circuits when removing client auth service sideOn the service side (only), when a client authorization is removed and then tor is HUP, right now the service notices that and re-upload a new descriptor containing that new auth.
However, the into points are most likely kept as is (if ...On the service side (only), when a client authorization is removed and then tor is HUP, right now the service notices that and re-upload a new descriptor containing that new auth.
However, the into points are most likely kept as is (if no normal rotation happened during re-build) which means that a revoked client can still access the service with their cached descriptor because the intro points are still valid...
Furthermore, the RP circuits for that client aren't closed.
Security wise, that is not ideal to have a "not really revoked client" ;). Fortunately, only applies to 0.3.5.1-alpha and onward so no need for a TROVE.Tor: 0.3.5.x-finalhttps://gitlab.torproject.org/tpo/core/tor/-/issues/28264spec: Actually do base32 in the client auth pubkey example2021-09-30T13:25:26ZDavid Gouletdgoulet@torproject.orgspec: Actually do base32 in the client auth pubkey examplefrom https://trac.torproject.org/projects/tor/ticket/20700#comment:51
Spec fix is here: https://github.com/torproject/torspec/pull/40from https://trac.torproject.org/projects/tor/ticket/20700#comment:51
Spec fix is here: https://github.com/torproject/torspec/pull/40Tor: 0.3.5.x-finalhttps://gitlab.torproject.org/tpo/core/tor/-/issues/28245Tor nodes with OpenSSL 1.1.1 can't communicate with each other2020-06-27T13:51:47ZGeorge KadianakisTor nodes with OpenSSL 1.1.1 can't communicate with each otherWe seem to have trouble in networks where both clients and relays are running openssl-1.1.1 . In particular, a chutney network on `openssl-1.1.1 (11 sept 2018)` will have its clients fail to bootstrap because they cant communicate any by...We seem to have trouble in networks where both clients and relays are running openssl-1.1.1 . In particular, a chutney network on `openssl-1.1.1 (11 sept 2018)` will have its clients fail to bootstrap because they cant communicate any bytes after the SSL handshake is done.
The problem might be that 1.1.1 is the version that introduces TLS-1.3, so these nodes are trying to do TLS-1.3 with each other.
Thanks to teor, dgoulet, nickm for the debug help.Tor: 0.3.5.x-finalNick MathewsonNick Mathewsonhttps://gitlab.torproject.org/tpo/core/tor/-/issues/28221Fix typo in ReleasingTor.md2021-07-22T16:20:37ZteorFix typo in ReleasingTor.mdTor: 0.3.5.x-finalteorteorhttps://gitlab.torproject.org/tpo/core/tor/-/issues/28202Bad end-of-string check in get_next_token (CID various)2020-06-27T13:51:49ZNick MathewsonBad end-of-string check in get_next_token (CID various)There's a coverity warning about an overflow in test_parsecommmon. I think it is happening because of this code:
```
*s + 16 >= eol
```
That's the wrong way to test for end-of-string, since C says that *s+16 is undefined behavior if t...There's a coverity warning about an overflow in test_parsecommmon. I think it is happening because of this code:
```
*s + 16 >= eol
```
That's the wrong way to test for end-of-string, since C says that *s+16 is undefined behavior if the resulting pointer would be more than 1 off the end of the allocated byte array.Tor: 0.3.5.x-finalNick MathewsonNick Mathewson