The problem is that clients and hidden services are receiving
relay_early cells, and they tear down the circuit.
Hack #1 is for rendezvous points to rewrite relay_early cells to
relay cells. That way there are never any incoming relay_early cells.
Hack #2 is for clients and hidden services to never send a relay_early
cell on an established rendezvous circuit. That works around rendezvous
points that haven't upgraded yet.
Hack #3 is for clients and hidden services to not tear down the circuit
when they receive an inbound relay_early cell. We already refuse extend
cells at clients.
When determining how long directory requests take or how long cells spend
in queues, we were comparing timestamps on microsecond detail only to
convert results to second or millisecond detail later on. But on 32-bit
architectures this means that 2^31 microseconds only cover time
differences of up to 36 minutes. Instead, compare timestamps on
millisecond detail.
* debian-merge:
New upstream version
bump to 0.2.1.18
put in the full 0.2.1 release notes
add a changelog entry for the upcoming 0.2.1.18
make phobos's lines start with tabs again
added LIBS=-lrt to Makefile.am for static libevent in the tor rpms.
forward-port the 0.2.0.35 release notes
add blurbs for recent release candidates
Bump version to 0.2.1.17-rc-dev
* commit 'tor-0.2.1.18':
bump to 0.2.1.18
put in the full 0.2.1 release notes
add a changelog entry for the upcoming 0.2.1.18
make phobos's lines start with tabs again
added LIBS=-lrt to Makefile.am for static libevent in the tor rpms.
forward-port the 0.2.0.35 release notes
add blurbs for recent release candidates
Bump version to 0.2.1.17-rc-dev
Now that we require EntryStatistics to be 1 for counting connecting
clients, unit tests need to set that config option, too.
Reported by Sebastian Hahn.
Changes to directory request statistics:
- Rename GEOIP statistics to DIRREQ statistics, because they now include
more than only GeoIP-based statistics, whereas other statistics are
GeoIP-dependent, too.
- Rename output file from geoip-stats to dirreq-stats.
- Add new config option DirReqStatistics that is required to measure
directory request statistics.
- Clean up ChangeLog.
Also ensure that entry guards statistics have access to a local GeoIP
database.
This new option will allow clients to download the newest fresh consensus
much sooner than they normally would do so, even if they previously set
FetchDirInfoEarly. This includes a proper ChangeLog entry and an updated man
page.
* debian-merge: (21 commits)
Bump version to 0.2.1.17-rc
Make "Invalid onion hostname" msg respect SafeLogging.
updated rpm instructions for realtime libevent.
Revise 0.2.1.17-rc changelog.
Make an attempt to fix bug 1024.
Update the year for the copyright statement in two more files
another minor patch to add to 0.2.1.x
and give the bug 969 fixes a changelog
the third piece of bug 969 fixing
the second piece of bug 969 fixing
the first piece of bug 969 fixing
Have eventdns set the "truncated" bit correctly.
stop capping bandwidths we see in the consensus
Added ChangeLog entry for control port fix
Ignore control port commands after a QUIT
Flush long replies over control port on QUIT
add a changelog entry: clients use bw in consensus
Clients now use bandwidth values in the consensus
Serve DirPortFrontPage even if the write bucket is low.
Add warning that the results of --enable-geoip-stats are different from those in master.
...
* commit 'tor-0.2.1.17-rc': (21 commits)
Bump version to 0.2.1.17-rc
Make "Invalid onion hostname" msg respect SafeLogging.
updated rpm instructions for realtime libevent.
Revise 0.2.1.17-rc changelog.
Make an attempt to fix bug 1024.
Update the year for the copyright statement in two more files
another minor patch to add to 0.2.1.x
and give the bug 969 fixes a changelog
the third piece of bug 969 fixing
the second piece of bug 969 fixing
the first piece of bug 969 fixing
Have eventdns set the "truncated" bit correctly.
stop capping bandwidths we see in the consensus
Added ChangeLog entry for control port fix
Ignore control port commands after a QUIT
Flush long replies over control port on QUIT
add a changelog entry: clients use bw in consensus
Clients now use bandwidth values in the consensus
Serve DirPortFrontPage even if the write bucket is low.
Add warning that the results of --enable-geoip-stats are different from those in master.
...
Introduce a threshold of 0.01% of bytes that must be read and written per
port in order to be included in the statistics. Otherwise we cannot include
these statistics in extra-info documents, because they are too big.
Change the labels "-written" and "-read" so that the meanings are as
intended.