The two missing codes are the intro failure and RP failure.
* X'F2' Onion Service Introduction Failed Client failed to introduce to the service meaning the descriptor was found but the service is not anymore at the introduction points. The service has likely changed its descriptor or is not running. * X'F3' Onion Service Rendezvous Failed Client failed to rendezvous with the service which means that the client is unable to finalize the connection.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items 0
Show closed items
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Linked items 0
Link issues together to show that they're related.
Learn more.
We'll send back the X'F2' code if we get a NACK from every IP in the descriptor (meaning that the service is actually offline and no service-side intro circuits could be found by the IP)
We'll send back the X'F3' code when the RP circuit times out. We'll need a spec clarification.
We'll send a new error code when all IP circuit timed out. Basically, if we try all IPs in the descriptor and they all gave us a circuit time out, we'll send back that code. (meaining that something is wrong with the client's network)
(No tor-spec patch since socks-extension.txt points to the man page for the error codes.)
This is a bit tricky as in the "from where we report the codes" so word of advise for the reviewer.
The introduction failure codes are reported back if the descriptor we just fetched has no usable introduction points. This is a bit counter intuitive but the reason is because tor will refetch a descriptor if all intro points fail and then notice they are the same again and stop. That very moment is where the failure is reported.
Trac: Actualpoints: N/Ato 0.4 Status: assigned to needs_review
Looking good but I pointed out a few stuff on the PR.
Also the fact that this hasn't been tested in real life makes me a bit anxious that things might crash or not work as intended. We could at least test the introduction F2 by shutting down the service in a chutney network, and having the client download the descriptor and trying to connect to it (all intros would send NACKs).
I was able to test the F2 code and confirm we get it if all IPs NACK us. The F3 and F7 are timeout and apart from unit testing, I'm unable to test with chutney without some heavy tor modification.
At least that code base is unit tested so I'm confident for no crash. We'll have to see with 044 stabilization any bugs for those code.