If the quickstart doesn't work for you:
- If you have problems finding libraries, try
+ If you have problems finding libraries, try
CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" \
./configure
rather than simply ./configure.
continue;
fi
if test ! -z "$ssldir" -a "x$ssldir" != "x/usr"; then
- # Try to use $ssldir/lib if it exists, otherwise
+ # Try to use $ssldir/lib if it exists, otherwise
# $ssldir
if test -d "$ssldir/lib" ; then
LDFLAGS="-L$ssldir/lib $saved_LDFLAGS"
LDFLAGS="-R$ssldir $LDFLAGS"
fi
fi
- # Try to use $ssldir/include if it exists, otherwise
+ # Try to use $ssldir/include if it exists, otherwise
# $ssldir
if test -d "$ssldir/include" ; then
CPPFLAGS="-I$ssldir/include $saved_CPPFLAGS"
[
#include <string.h>
#include <openssl/rand.h>
-int main(void)
+int main(void)
{
char a[2048];
memset(a, 0, sizeof(a));
dnl Need to recover ssldir - test above runs in subshell
ssldir=$ac_cv_openssldir
if test ! -z "$ssldir" -a "x$ssldir" != "x/usr"; then
- # Try to use $ssldir/lib if it exists, otherwise
+ # Try to use $ssldir/lib if it exists, otherwise
# $ssldir
if test -d "$ssldir/lib" ; then
LDFLAGS="-L$ssldir/lib $saved_LDFLAGS"
LDFLAGS="-R$ssldir $LDFLAGS"
fi
fi
- # Try to use $ssldir/include if it exists, otherwise
+ # Try to use $ssldir/include if it exists, otherwise
# $ssldir
if test -d "$ssldir/include" ; then
CPPFLAGS="-I$ssldir/include $saved_CPPFLAGS"
open(F, "$fn");
$lastnil = 0;
while (<F>) {
- if (/\r/) {
- print " CR:$fn:$.\n";
- }
- if (/\t/) {
- print " TAB:$fn:$.\n";
- }
- if (/ +$/) {
- print "Space\@EOL:$fn:$.\n";
- }
- if ($lastnil && /^$/) {
- print " DoubleNL:$fn:$.\n";
- } elsif (/^$/) {
- $lastnil = 1;
- } else {
- $lastnil = 0;
- }
+ if (/\r/) {
+ print " CR:$fn:$.\n";
+ }
+ if (/\t/) {
+ print " TAB:$fn:$.\n";
+ }
+ if (/ +$/) {
+ print "Space\@EOL:$fn:$.\n";
+ }
+ if ($lastnil && /^$/) {
+ print " DoubleNL:$fn:$.\n";
+ } elsif (/^$/) {
+ $lastnil = 1;
+ } else {
+ $lastnil = 0;
+ }
}
close(F);
}
print "=============================="
-
funcnames = functionCalls.keys()
funcnames.sort()
for c in calls:
d[c]=1
-
cycNames = cycCalls.keys()
while 1:
any = 0
echo "tor appears to be already running (pid file exists)"
echo "Maybe you should run: $0 restart ?"
RETVAL=1
- else
+ else
echo -n "Starting tor..."
if [ "x$TORUSER" = "x" ]; then
$TORBIN -f $TORCONF $TORARGS
- else
+ else
/bin/su -c "$TORBIN -f $TORCONF $TORARGS" $TORUSER
fi
RETVAL=$?
$0 start
;;
-
status)
PID=`cat $TORPID 2>/dev/null`
if [ "$PID" != "" ]; then
log)
cat $TORLOG
;;
-
+
*)
echo "Usage: $0 (start|stop|restart|status|log)"
exit 1
util.[ch] -- Miscellaneous portability and convenience functions.
Files in ./src/or:
-
+
[General-purpose modules]
or.h -- Common header file: include everything, define everything.
- buffers.c -- Implements a generic buffer interface. Buffers are
+ buffers.c -- Implements a generic buffer interface. Buffers are
fairly opaque string holders that can read to or flush from:
- memory, file descriptors, or TLS connections.
+ memory, file descriptors, or TLS connections.
Also implements parsing functions to read HTTP and SOCKS commands
from buffers.
results; clients use routers.c to parse them.
dirserv.c -- Code to manage directory contents and generate
- directories. [Directory server only]
+ directories. [Directory server only]
routers.c -- Code to parse directories and router descriptors; and to
generate a router descriptor corresponding to this OR's
All sockets in Tor are handled as different types of nonblocking
'connections'. (What the Tor spec calls a "Connection", the code refers
to as a "Cell-speaking" or "OR" connection.)
-
+
Connections are implemented by the connection_t struct, defined in or.h.
- Not every kind of connection uses all the fields in connection_t; see
+ Not every kind of connection uses all the fields in connection_t; see
the comments in or.h and the assertions in assert_connection_ok() for
more information.
command_process_cell -- Notices it is a relay cell, so calls:
command_process_relay_cell -- Looks up the circuit for the cell,
makes sure the circuit is live, then passes the cell to:
- circuit_deliver_relay_cell -- Passes the cell to each of:
+ circuit_deliver_relay_cell -- Passes the cell to each of:
relay_crypt -- Strips a layer of encryption from the cell and
notices that the cell is for local delivery.
connection_edge_process_relay_cell -- extracts the cell's
back an acknowledgement (requesting that more cells be
sent to this stream).
-
1.6. Routers, descriptors, and directories
All Tor processes need to keep track of a list of onion routers, for
directories.
1.7. Data model
-
+
[XXX]
1.8. Flow control
[XXX insert references]
-
# ======================================================================
# Old HACKING document; merge into the above, move into tor-design.tex,
# or delete.
Currently the code tries for the primary router first, and if it's down,
chooses the first available twin.
-
-
-
-
cells when both a) the window is <= 450, and b) there are less than
ten cell payloads remaining to be flushed at that edge.
-
7. Directories and routers
7.1. Extensible information format
"signed-directory"
- Indicates the start of a
+ Indicates the start of a
"published" YYYY-MM-DD HH:MM:SS
'verified' if its nickname AND digest match the one provided.
[XXXX 'router-status' was added in 0.0.9pre5; older directory code
uses 'running-routers' instead.]
-
+
"directory-signature" nickname-of-dirserver NL Signature
Note: The router descriptor for the directory server MUST appear first.
Every N seconds, Tor downloads a fresh directory, and re-uploads
information about hidden services to the directory servers. If
running as a server, Tor also re-uploads information about itself to
-the directory servers. (Tor also uploads this information whenever it
+the directory servers. (Tor also uploads this information whenever it
changes.) (Default: 600.)
.TP
\fBClientOnly \fR\fB0\fR|\fB1\fR\fP
.TP
\fBMyFamily \fR\fInickname,nickname,...\fP
Declare that this Tor server is controlled or administered by a group
-or organization identical or similar to that of the other named servers.
+or organization identical or similar to that of the other named servers.
When two servers both declare that they are in the same 'family', Tor clients
will not use them in the same circuit.
.TP
option is only useful for authoritative directories, so you probably
don't want to use it.
-
.SH HIDDEN SERVICE OPTIONS
.PP
The following options are used to configure a hidden service.
of weird race going on, and it's arguably a bad thing anyway.
* Mon Jun 06 2004 Nick Mathewson <nickm@freehaven.net> 0.0.7-0.std.0.1.rc2
-- Make spec file more happy with fc2 packaging
+- Make spec file more happy with fc2 packaging
* Sat Jan 17 2004 John Bashinski <jbash@velvet.com>
- Basic spec file; tested with Red Hat 9.