mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 21:23:58 +01:00
Merge branch 'tor-github/pr/1555'
This commit is contained in:
commit
f23d4df091
5
changes/ticket30382
Normal file
5
changes/ticket30382
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
o Major feature (onion service, SOCKS5):
|
||||||
|
- Introduce a new SocksPort flag named: ExtendedErrors. Detailed in
|
||||||
|
proposal 304, a number of onion service error codes are now sent back,
|
||||||
|
if this flag is set, with the SOCKS5 protocol using new custom error
|
||||||
|
values. Closes ticket 30382;
|
@ -1418,37 +1418,43 @@ The following options are useful only for clients (that is, if
|
|||||||
X'F0' Onion Service Descriptor Can Not be Found
|
X'F0' Onion Service Descriptor Can Not be Found
|
||||||
|
|
||||||
The requested onion service descriptor can't be found on the
|
The requested onion service descriptor can't be found on the
|
||||||
hashring and thus not reachable by the client.
|
hashring and thus not reachable by the client. (v3 only)
|
||||||
|
|
||||||
X'F1' Onion Service Descriptor Is Invalid
|
X'F1' Onion Service Descriptor Is Invalid
|
||||||
|
|
||||||
The requested onion service descriptor can't be parsed or
|
The requested onion service descriptor can't be parsed or
|
||||||
signature validation failed.
|
signature validation failed. (v3 only)
|
||||||
|
|
||||||
X'F2' Onion Service Introduction Failed
|
X'F2' Onion Service Introduction Failed
|
||||||
|
|
||||||
Client failed to introduce to the service meaning the descriptor
|
Client failed to introduce to the service meaning the descriptor
|
||||||
was found but the service is not connected anymore to the
|
was found but the service is not connected anymore to the
|
||||||
introduction point. The service has likely changed its descriptor
|
introduction point. The service has likely changed its descriptor
|
||||||
or is not running.
|
or is not running. (v3 only)
|
||||||
|
|
||||||
X'F3' Onion Service Rendezvous Failed
|
X'F3' Onion Service Rendezvous Failed
|
||||||
|
|
||||||
Client failed to rendezvous with the service which means that the
|
Client failed to rendezvous with the service which means that the
|
||||||
client is unable to finalize the connection.
|
client is unable to finalize the connection. (v3 only)
|
||||||
|
|
||||||
X'F4' Onion Service Missing Client Authorization
|
X'F4' Onion Service Missing Client Authorization
|
||||||
|
|
||||||
Client was able to download the requested onion service descriptor
|
Client was able to download the requested onion service descriptor
|
||||||
but is unable to decrypt its content because it is missing client
|
but is unable to decrypt its content because it is missing client
|
||||||
authorization information.
|
authorization information. (v3 only)
|
||||||
|
|
||||||
X'F5' Onion Service Wrong Client Authorization
|
X'F5' Onion Service Wrong Client Authorization
|
||||||
|
|
||||||
Client was able to download the requested onion service descriptor
|
Client was able to download the requested onion service descriptor
|
||||||
but is unable to decrypt its content using the client
|
but is unable to decrypt its content using the client
|
||||||
authorization information it has. This means the client access
|
authorization information it has. This means the client access
|
||||||
were revoked.
|
were revoked. (v3 only)
|
||||||
|
|
||||||
|
X'F6' Onion Service Invalid Address
|
||||||
|
|
||||||
|
The given .onion address is invalid. In one of these cases this
|
||||||
|
error is returned: address checksum doesn't match, ed25519 public
|
||||||
|
key is invalid or the encoding is invalid. (v3 only)
|
||||||
|
|
||||||
// Anchor only for formatting, not visible in the man page.
|
// Anchor only for formatting, not visible in the man page.
|
||||||
[[SocksPortFlagsMisc]]::
|
[[SocksPortFlagsMisc]]::
|
||||||
|
@ -2123,7 +2123,7 @@ connection_ap_handshake_rewrite_and_attach(entry_connection_t *conn,
|
|||||||
control_event_client_status(LOG_WARN, "SOCKS_BAD_HOSTNAME HOSTNAME=%s",
|
control_event_client_status(LOG_WARN, "SOCKS_BAD_HOSTNAME HOSTNAME=%s",
|
||||||
escaped(socks->address));
|
escaped(socks->address));
|
||||||
if (addresstype == ONION_V3_HOSTNAME) {
|
if (addresstype == ONION_V3_HOSTNAME) {
|
||||||
conn->socks_request->socks_extended_error_code = SOCKS5_HS_IS_INVALID;
|
conn->socks_request->socks_extended_error_code = SOCKS5_HS_BAD_ADDRESS;
|
||||||
}
|
}
|
||||||
connection_mark_unattached_ap(conn, END_STREAM_REASON_TORPROTOCOL);
|
connection_mark_unattached_ap(conn, END_STREAM_REASON_TORPROTOCOL);
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -36,6 +36,7 @@ typedef enum {
|
|||||||
SOCKS5_HS_REND_FAILED = 0xF3,
|
SOCKS5_HS_REND_FAILED = 0xF3,
|
||||||
SOCKS5_HS_MISSING_CLIENT_AUTH = 0xF4,
|
SOCKS5_HS_MISSING_CLIENT_AUTH = 0xF4,
|
||||||
SOCKS5_HS_BAD_CLIENT_AUTH = 0xF5,
|
SOCKS5_HS_BAD_CLIENT_AUTH = 0xF5,
|
||||||
|
SOCKS5_HS_BAD_ADDRESS = 0xF6,
|
||||||
} socks5_reply_status_t;
|
} socks5_reply_status_t;
|
||||||
|
|
||||||
#endif /* !defined(TOR_SOCKS5_STATUS_H) */
|
#endif /* !defined(TOR_SOCKS5_STATUS_H) */
|
||||||
|
Loading…
Reference in New Issue
Block a user