summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2008-02-21 09:01:32 +0000
committerRoger Dingledine <arma@torproject.org>2008-02-21 09:01:32 +0000
commitb3c0d066e535d33d9ed271e92eb30cdefb18385e (patch)
tree9ce0e2aac1bdc8e5b5fca86629ffac57ccd71095
parenta60f7caa5490a38bd67d01ae65fb08c51250cd87 (diff)
downloadtor-b3c0d066e535d33d9ed271e92eb30cdefb18385e.tar.gz
tor-b3c0d066e535d33d9ed271e92eb30cdefb18385e.zip
other cleanups that have been sitting in my sandbox
svn:r13649
-rw-r--r--doc/design-paper/blocking.pdfbin156373 -> 156628 bytes
-rw-r--r--doc/design-paper/blocking.tex7
-rw-r--r--doc/design-paper/roadmap-future.tex8
-rw-r--r--doc/spec/proposals/121-hidden-service-authentication.txt31
-rw-r--r--src/common/aes.c4
-rw-r--r--src/common/container.h2
-rw-r--r--src/common/tortls.c2
-rw-r--r--src/or/config.c2
-rw-r--r--src/or/geoip.c4
-rw-r--r--src/or/routerlist.c2
10 files changed, 33 insertions, 29 deletions
diff --git a/doc/design-paper/blocking.pdf b/doc/design-paper/blocking.pdf
index 8b02ff4adf..1ee0eb0bbd 100644
--- a/doc/design-paper/blocking.pdf
+++ b/doc/design-paper/blocking.pdf
Binary files differ
diff --git a/doc/design-paper/blocking.tex b/doc/design-paper/blocking.tex
index 56153aa524..c05df692c3 100644
--- a/doc/design-paper/blocking.tex
+++ b/doc/design-paper/blocking.tex
@@ -25,7 +25,7 @@
%\newcommand{\workingnote}[1]{(**#1)} % makes the note visible.
\date{}
-\title{Design of a blocking-resistant anonymity system}
+\title{Design of a blocking-resistant anonymity system\\DRAFT}
%\author{Roger Dingledine\inst{1} \and Nick Mathewson\inst{1}}
\author{Roger Dingledine \\ The Tor Project \\ arma@torproject.org \and
@@ -46,7 +46,8 @@ itself, blocked users can no longer benefit from the security Tor offers.
Here we describe a design that builds upon the current Tor network
to provide an anonymizing network that resists blocking
-by government-level attackers.
+by government-level attackers. We have implemented and deployed this
+design, and talk briefly about early use.
\end{abstract}
@@ -194,7 +195,7 @@ currently~\cite{clayton:pet2006}:
certain strings or patterns in TCP packets. Offending packets can be
dropped, or can trigger a response like closing the
connection.
-\item Block a destination by listing its IP address at a
+\item Block certain IP addresses or destination ports at a
firewall or other routing control point.
\item Intercept DNS requests and give bogus responses for certain
destination hostnames.
diff --git a/doc/design-paper/roadmap-future.tex b/doc/design-paper/roadmap-future.tex
index 2d9b5d89b0..5c1fa34f69 100644
--- a/doc/design-paper/roadmap-future.tex
+++ b/doc/design-paper/roadmap-future.tex
@@ -52,7 +52,7 @@ into Vidalia.
We should add a new option ``auto'' that cycles through a set of preferred
ports, testing bindability and reachability for each of them, and only
-complains to the user once it's given up on the common options.
+complains to the user once it's given up on the common choices.
\subsection{Incentives design}
@@ -112,8 +112,9 @@ routers can't handle this many connections in their routing table.
One approach is a restricted-route topology~\cite{danezis:pet2003}:
predefine which relays can reach which other relays, and communicate
-these restrictions to the clients. We would need to compute which links
-are acceptable in a way that's decentralized yet scalable, and we would
+these restrictions to the relays and the clients. We need to compute
+which links are acceptable in a way that's decentralized yet scalable,
+and in a way that achieves a small-worlds property; and we
need an efficient (compact) way to characterize the topology information
so all the users could keep up to date.
@@ -162,6 +163,7 @@ Metrics for deciding when you're fast enough and stable enough
\subsection{Continue Torbutton improvements}
especially better docs
\subsection{Vidalia and stability (especially wrt ongoing Windows problems)}
+ learn how to get useful crash reports (tracebacks) from Windows users
\subsection{Polipo support on Windows}
\subsection{Auto update for Tor, Vidalia, others}
\subsection{Tor browser bundle for USB and standalone use}
diff --git a/doc/spec/proposals/121-hidden-service-authentication.txt b/doc/spec/proposals/121-hidden-service-authentication.txt
index bedf96506a..ffb844d621 100644
--- a/doc/spec/proposals/121-hidden-service-authentication.txt
+++ b/doc/spec/proposals/121-hidden-service-authentication.txt
@@ -42,8 +42,8 @@ Motivation:
The major part of hidden services does not require client authorization
now and won't do so in the future. To the contrary, many clients would
- not want to be (pseudonymously) identifiable by the service (which
- is unavoidable to some extend), but rather use the service
+ not want to be (pseudonymously) identifiable by the service (though this
+ is unavoidable to some extent), but rather use the service
anonymously. These services are not addressed by this proposal.
However, there may be certain services which are intended to be accessed
@@ -93,8 +93,8 @@ Motivation:
previously guaranteed QoS level, thus providing better latency or
bandwidth for selected clients.
- As a disadvantage of performing authorization within the Tor network can
- be seen that a hidden service cannot make use of authorization data in
+ A disadvantage of performing authorization within the Tor network is
+ that a hidden service cannot make use of authorization data in
the transported protocol. Tor hidden services were designed to be
independent of the transported protocol. Therefore it's only possible to
either grant or deny access to the whole service, but not to specific
@@ -120,7 +120,7 @@ Motivation:
Details:
- 1 General infrastructure for authorization to hidden services
+ 1. General infrastructure for authorization to hidden services
We spotted three possible authorization points in the hidden service
protocol:
@@ -133,7 +133,7 @@ Details:
The general idea of this proposal is to allow service providers to
restrict access to all of these points to authorized clients only.
- 1.1 Client authorization at directory
+ 1.1. Client authorization at directory
Since the implementation of proposal 114 it is possible to combine a
hidden service descriptor with a so-called descriptor cookie. If done so,
@@ -183,7 +183,7 @@ Details:
(clients and servers would have to be upgraded anyway for using the new
features).
- 1.2 Client authorization at introduction point
+ 1.2. Client authorization at introduction point
The next possible authorization point after downloading and decrypting
a hidden service descriptor is the introduction point. It is important
@@ -288,7 +288,7 @@ Details:
depending on the version of the contained INTRODUCE2 cell; however, this
approach does not appear very clean.)
- 1.3 Client authorization at hidden service
+ 1.3. Client authorization at hidden service
The time when a hidden service receives an INTRODUCE2 cell constitutes
the last possible authorization point during the hidden service
@@ -363,7 +363,7 @@ Details:
rendezvous point for 3 times and a total number of 10 connection
establishments (not requests in the transported protocol) per hour.
- 1.4 Summary of authorization data fields
+ 1.4. Summary of authorization data fields
In summary, the proposed descriptor format and cell formats provide the
following fields for carrying authorization data:
@@ -393,7 +393,7 @@ Details:
cannot be performed without using an encryption schema for introduction
information.
- 1.5 Managing authorization data at servers and clients
+ 1.5. Managing authorization data at servers and clients
In order to provide authorization data at the hidden server and the
authenticated clients, we propose to use files---either the tor
@@ -407,7 +407,7 @@ Details:
and is also a bad idea, because in case of HTTP the requested URL may be
contained in the Host and Referer fields.
- 2 An authorization protocol based on group and user passwords
+ 2. An authorization protocol based on group and user passwords
In the following we discuss an authorization protocol for the proposed
authorization architecture that performs authorization at all three
@@ -419,7 +419,7 @@ Details:
derived from the user key will be used for performing authorization at
the introduction and the hidden service.
- 2.1 Client authorization at directory
+ 2.1. Client authorization at directory
The server creates groups of users that shall be able to access his
service. He provides all users of a certain group with the same group key
@@ -437,7 +437,7 @@ Details:
server decides to remove authorization for a group, he can simply stop
publishing hidden service descriptors using the descriptor cookie.
- 2.2 Client authorization at introduction point
+ 2.2. Client authorization at introduction point
The idea for authenticating at the introduction point is borrowed from
authorization at the rendezvous point using a rendezvous cookie. A
@@ -496,7 +496,7 @@ Details:
number for the encrypted introduction cookies as well as for
ESTABLISH_INTRO and INTRODUCE1 cells is "1".
- 2.3 Client authorization at hidden service
+ 2.3. Client authorization at hidden service
Authorization at the hidden service also makes use of the user key,
because whoever is authorized to pass the introduction point shall be
@@ -526,7 +526,7 @@ Details:
connection limit of 10 requests per hour and user that helps prevent some
threats.
- 2.4 Providing authorization data
+ 2.4. Providing authorization data
The authorization data that needs to be provided by servers consists of
a number of group keys, each having a number of user keys assigned. These
@@ -647,3 +647,4 @@ Compatibility:
changed, so that they understand the new cell versions and perform
authorization. But again, the new introduction points would remain
compatible to the existing hidden service protocol.
+
diff --git a/src/common/aes.c b/src/common/aes.c
index d1698604cd..3a17af7f33 100644
--- a/src/common/aes.c
+++ b/src/common/aes.c
@@ -135,9 +135,9 @@ static void rijndaelEncrypt(const u32 rk[/*4*(Nr + 1)*/], int Nr,
/*======================================================================*/
/* Interface to AES code, and counter implementation */
-/** Implements an aes counter-mode cipher. */
+/** Implements an AES counter-mode cipher. */
struct aes_cnt_cipher {
- /** This next element (howevever it's defined) is the AES key. */
+/** This next element (however it's defined) is the AES key. */
#if defined(USE_OPENSSL_EVP)
EVP_CIPHER_CTX key;
#elif defined(USE_OPENSSL_AES)
diff --git a/src/common/container.h b/src/common/container.h
index 6d38563b5f..72fbfcd318 100644
--- a/src/common/container.h
+++ b/src/common/container.h
@@ -207,7 +207,7 @@ DECLARE_MAP_FNS(digestmap_t, const char *, digestmap_);
#undef DECLARE_MAP_FNS
-/** Used to iterate over the key-value pairs in a map <b>map</b> in order.
+/** Iterates over the key-value pairs in a map <b>map</b> in order.
* <b>prefix</b> is as for DECLARE_MAP_FNS (i.e., strmap_ or digestmap_).
* The map's keys and values are of type keytype and valtype respectively;
* each iteration assigns them to keyvar and valvar.
diff --git a/src/common/tortls.c b/src/common/tortls.c
index 2259d9e5a7..fb9b26a82a 100644
--- a/src/common/tortls.c
+++ b/src/common/tortls.c
@@ -1306,7 +1306,7 @@ _check_no_tls_errors(const char *fname, int line)
}
/** Return true iff the initial TLS connection at <b>tls</b> did not use a v2
- * TLS handshake. Output undefined if the handshake isn't finished. */
+ * TLS handshake. Output is undefined if the handshake isn't finished. */
int
tor_tls_used_v1_handshake(tor_tls_t *tls)
{
diff --git a/src/or/config.c b/src/or/config.c
index 75e88bfe3a..ba5ccaa90a 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -2446,7 +2446,7 @@ options_init(or_options_t *options)
config_init(&options_format, options);
}
-/** Set all vars in the configuration object 'options' to their default
+/** Set all vars in the configuration object <b>options</b> to their default
* values. */
static void
config_init(config_format_t *fmt, void *options)
diff --git a/src/or/geoip.c b/src/or/geoip.c
index 9f93159e30..49f1746b52 100644
--- a/src/or/geoip.c
+++ b/src/or/geoip.c
@@ -296,8 +296,8 @@ geoip_get_history_start(void)
/** Helper type: used to sort per-country totals by value. */
typedef struct c_hist_t {
- char country[3]; /**< two-leter country code. */
- unsigned total; /**< total ips seen in this country. */
+ char country[3]; /**< Two-letter country code. */
+ unsigned total; /**< Total IP addresses seen in this country. */
} c_hist_t;
/** Sorting helper: return -1, 1, or 0 based on comparison of two
diff --git a/src/or/routerlist.c b/src/or/routerlist.c
index d6a4316f24..3a2d0e8158 100644
--- a/src/or/routerlist.c
+++ b/src/or/routerlist.c
@@ -3939,7 +3939,7 @@ update_consensus_router_descriptor_downloads(time_t now)
log_info(LD_DIR,
"%d router descriptors downloadable. %d delayed; %d present "
"(%d of those were in old_routers); %d would_reject; "
- "%d wouldnt_use, %d in progress.",
+ "%d wouldnt_use; %d in progress.",
smartlist_len(downloadable), n_delayed, n_have, n_in_oldrouters,
n_would_reject, n_wouldnt_use, n_inprogress);