[tor-commits] [tor/master] Remove legacy RFC1929 code
nickm at torproject.org
nickm at torproject.org
Sun Jul 15 21:07:27 UTC 2018
commit 57342b19f5497f6e9362ae02953755df9f1f2262
Author: rl1987 <rl1987 at sdf.lonestar.org>
Date: Mon May 21 12:55:20 2018 +0200
Remove legacy RFC1929 code
---
src/or/proto_socks.c | 47 -----------------------------------------------
1 file changed, 47 deletions(-)
diff --git a/src/or/proto_socks.c b/src/or/proto_socks.c
index 8c635825b..8fdb72235 100644
--- a/src/or/proto_socks.c
+++ b/src/or/proto_socks.c
@@ -671,7 +671,6 @@ parse_socks(const char *data, size_t datalen, socks_request_t *req,
char tmpbuf[TOR_ADDR_BUF_LEN+1];
tor_addr_t destaddr;
uint8_t socksver;
- unsigned char usernamelen, passlen;
if (datalen < 2) {
/* We always need at least 2 bytes. */
@@ -688,52 +687,6 @@ parse_socks(const char *data, size_t datalen, socks_request_t *req,
log_sockstype, safe_socks, drain_out);
}
- if (req->socks_version == 5 && !req->got_auth) {
- /* See if we have received authentication. Strictly speaking, we should
- also check whether we actually negotiated username/password
- authentication. But some broken clients will send us authentication
- even if we negotiated SOCKS_NO_AUTH. */
- if (*data == 1) { /* username/pass version 1 */
- /* Format is: authversion [1 byte] == 1
- usernamelen [1 byte]
- username [usernamelen bytes]
- passlen [1 byte]
- password [passlen bytes] */
- usernamelen = (unsigned char)*(data + 1);
- if (datalen < 2u + usernamelen + 1u) {
- *want_length_out = 2u + usernamelen + 1u;
- return 0;
- }
- passlen = (unsigned char)*(data + 2u + usernamelen);
- if (datalen < 2u + usernamelen + 1u + passlen) {
- *want_length_out = 2u + usernamelen + 1u + passlen;
- return 0;
- }
- req->replylen = 2; /* 2 bytes of response */
- req->reply[0] = 1; /* authversion == 1 */
- req->reply[1] = 0; /* authentication successful */
- log_debug(LD_APP,
- "socks5: Accepted username/password without checking.");
- if (usernamelen) {
- req->username = tor_memdup(data+2u, usernamelen);
- req->usernamelen = usernamelen;
- }
- if (passlen) {
- req->password = tor_memdup(data+3u+usernamelen, passlen);
- req->passwordlen = passlen;
- }
- *drain_out = 2u + usernamelen + 1u + passlen;
- req->got_auth = 1;
- *want_length_out = 7; /* Minimal socks5 command. */
- return 0;
- } else if (req->auth_type == SOCKS_USER_PASS) {
- /* unknown version byte */
- log_warn(LD_APP, "Socks5 username/password version %d not recognized; "
- "rejecting.", (int)*data);
- return -1;
- }
- }
-
switch (socksver) { /* which version of socks? */
case 5: /* socks5 */
if (req->auth_type != SOCKS_NO_AUTH && !req->got_auth) {
More information about the tor-commits
mailing list