stream status events

Robert Hogan robert at roberthogan.net
Thu Jul 10 21:24:49 UTC 2008


Stream status events for reverse resolve requests for which Tor has a cached 
answer look like this:

650 STREAM 6 NEWRESOLVE 0 64.4.33.7:0
650 STREAM 6 FAILED 0 REVERSE[64.4.33.7]:0
650 STREAM 7 NEWRESOLVE 0 64.4.33.7:0
650 STREAM 7 FAILED 0 REVERSE[64.4.33.7]:0

The stream 'fails' because there is never a need to create it. The spec is a bit 
unclear on this point but I think all streams deserve a CLOSE event. Or 
is 'FAILED' considered sufficient?

I can allow a CLOSE event by doing:

Index: src/or/connection_edge.c
===================================================================
--- src/or/connection_edge.c    (revision 15824)
+++ src/or/connection_edge.c    (working copy)
@@ -1369,8 +1369,7 @@
                                              map_expires);
       connection_mark_unattached_ap(conn,
                                 END_STREAM_REASON_DONE |
-                                END_STREAM_REASON_FLAG_ALREADY_SOCKS_REPLIED |
-                                END_STREAM_REASON_FLAG_ALREADY_SENT_CLOSED);
+                                END_STREAM_REASON_FLAG_ALREADY_SOCKS_REPLIED);
       return 0;
     }
     if (options->ClientDNSRejectInternalAddresses) {

but maybe it's the spec that needs to be clarified. A short note stating which 
events should be expected for all streams maybe.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.torproject.org/pipermail/tor-dev/attachments/20080710/b35138c6/attachment.pgp>


More information about the tor-dev mailing list