No description
Find a file
Nick Mathewson 077b9f19a4 If SOCK_CLOEXEC and friends fail, fall back to regular socket() calls
Since 0.2.3.1-alpha, we've supported the Linux extensions to socket(),
open(), socketpair(), and accept() that enable us to create an fd and
make it close-on-exec with a single syscall.  This not only saves us a
syscall (big deal), but makes us less vulnerable to race conditions
where we open a socket and then exec before we can make it
close-on-exec.

But these extensions are not supported on all Linuxes: They were added
between 2.6.23 or so and 2.6.28 or so.  If you were to build your Tor
against a recent Linux's kernel headers, and then run it with a older
kernel, you would find yourselve unable to open sockets.  Ouch!

The solution here is that, when one of these syscalls fails with
EINVAL, we should try again in the portable way.  This adds an extra
syscall in the case where we built with new headers and are running
with old ones, but it will at least allow Tor to work.

Fixes bug 5112; bugfix on 0.2.3.1-alpha.
2012-02-14 10:34:06 -05:00
changes If SOCK_CLOEXEC and friends fail, fall back to regular socket() calls 2012-02-14 10:34:06 -05:00
contrib bump to 0.2.3.12-alpha-dev 2012-02-13 10:53:49 -05:00
doc Merge branch 'maint-0.2.2' 2012-02-02 02:32:44 -05:00
src If SOCK_CLOEXEC and friends fail, fall back to regular socket() calls 2012-02-14 10:34:06 -05:00
.gitignore New src/test/bench.c to allow us to actually _run_ benchmark code 2011-11-11 12:35:08 -05:00
acinclude.m4 Fix warnings with new versions of autoconf 2010-10-11 12:36:02 +02:00
autogen.sh Use autoreconf, not autoconf&&automake&&etc in autogen.sh 2010-09-27 11:20:12 -04:00
ChangeLog add a release blurb for 0.2.3.12-alpha 2012-02-13 09:59:23 -05:00
configure.in bump to 0.2.3.12-alpha-dev 2012-02-13 10:53:49 -05:00
Doxyfile.in Fix up all doxygen warnings other than "foo is not documented" 2011-03-16 14:47:27 -04:00
INSTALL Small fixes for the 2702 implementation 2011-04-02 12:15:08 +02:00
LICENSE Bump copyright statements to 2011 2011-01-03 11:50:39 -05:00
Makefile.am Basic support for a "make version" target to declare the source version 2011-11-24 23:53:18 -05:00
Makefile.nmake Initial patch to build Tor with msvc and nmake 2011-08-01 12:36:59 -04:00
README we have two faqs for now 2010-02-22 00:41:48 -05:00
ReleaseNotes put the stable changelogs into master too 2011-12-16 12:52:58 -05:00
tor.spec.in Update rpm spec file so that it will build without manual intervention on all rpm-based distributions 2010-09-30 21:48:29 -04: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

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

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

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

Making applications work with Tor:
        https://wiki.torproject.org/noreply/TheOnionRouter/TorifyHOWTO

Frequently Asked Questions:
        https://www.torproject.org/faq.html
        https://wiki.torproject.org/noreply/TheOnionRouter/TorFAQ