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.