[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

stream status events



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.

Attachment: signature.asc
Description: This is a digitally signed message part.