mirror repository of the tor core protocol in case of issues
Go to file
Roger Dingledine 40cd992abb avoid calling format_iso_time() with TIME_MAX
If we tried to move a descriptor from routerlist->old_routers
back into the current routerlist, we were preparing a buffer with
format_iso_time() on ri->cert_expiration_time, and doing it preemptively
since router_add_to_routerlist() might free ri so we wouldn't be able
to get at it later in the function.

But if the descriptor we're moving doesn't have any ed signature, then
its cert will be marked to expire at TIME_MAX, and handing TIME_MAX
to format_iso_time() generates this log warning:

correct_tm(): Bug: gmtime(9223372036854775807) failed with error Value too large for defined data type: Rounding down to 2037

The fix is to preemptively remember the expiry time, but only prepare
the buffer if we know we're going to need it.

Bugfix on commit a1b0a0b9, which came about as part of a fix for bug
20020, and which is not yet in any released version of Tor (hence no
changes file).
2018-01-07 02:15:18 -05:00
changes Merge remote-tracking branch 'teor/fallback-code-2018-01' 2018-01-05 16:47:28 -05:00
contrib Increment version to 0.3.2.8-rc-dev 2017-12-21 14:22:54 -05:00
doc Merge branch 'maint-0.3.2' 2018-01-05 16:41:35 -05:00
m4 Replace obsolete macros with modern equivalents 2016-12-23 10:34:11 -05:00
scripts Stop logging excessive information about fallback netblocks 2018-01-05 13:28:17 +11:00
src avoid calling format_iso_time() with TIME_MAX 2018-01-07 02:15:18 -05:00
.gitignore Merge branch 'maint-0.3.2' 2017-12-13 12:07:46 -05:00
.gitlab-ci.yml Match .travis.yml more closely 2017-10-05 22:42:00 -05:00
.gitmodules Allow Rust build using locally supplied crates or crates.io 2017-05-19 08:47:11 -04:00
.travis.yml ci: Add Travis CI builds for testing cargo offline-mode. 2017-11-28 23:02:07 +00:00
acinclude.m4 Run the copyright update script. 2017-03-15 16:13:17 -04:00
autogen.sh Report errors when updating configuration files 2016-12-23 10:35:26 -05:00
ChangeLog whitespace and typo fixes 2018-01-06 15:02:12 -05:00
configure.ac Increment version to 0.3.2.8-rc-dev 2017-12-21 14:22:54 -05:00
Doxyfile.in doxygen says these options are obsolete 2016-10-24 10:31:05 -04:00
INSTALL Small fixes for the 2702 implementation 2011-04-02 12:15:08 +02:00
LICENSE Run the copyright update script. 2017-03-15 16:13:17 -04:00
Makefile.am Merge remote-tracking branch 'ffmancera/github/bug24677' 2018-01-02 09:37:23 -05:00
Makefile.nmake Clean up the MVSC nmake files so they work again. 2014-09-09 10:27:05 -04:00
README doc: Put the release timeline link in README 2017-11-08 10:44:00 -05:00
ReleaseNotes forward-port changelogs and releasenotes 2017-12-01 09:16:15 -05:00

Tor protects your privacy on the internet by hiding the connection
between your Internet address and the services you use. We believe Tor
is reasonably secure, but please ensure you read the instructions and
configure it properly.

To build Tor from source:
        ./configure && make && make install

To build Tor from a just-cloned git repository:
        sh autogen.sh && ./configure && make && make install

Home page:
        https://www.torproject.org/

Download new versions:
        https://www.torproject.org/download/download.html

Documentation, including links to installation and setup instructions:
        https://www.torproject.org/docs/documentation.html

Making applications work with Tor:
        https://wiki.torproject.org/projects/tor/wiki/doc/TorifyHOWTO

Frequently Asked Questions:
        https://www.torproject.org/docs/faq.html


To get started working on Tor development:
        See the doc/HACKING directory.

Release timeline:
         https://trac.torproject.org/projects/tor/wiki/org/teams/NetworkTeam/CoreTorReleases