parsing socks 5 request: more suggestive code

This commit is contained in:
Vladimir Olteanu
2017-07-04 23:57:21 -05:00
committed by Max Lv
parent afb27ad054
commit 556627399e
+9 -9
View File
@@ -577,12 +577,12 @@ server_recv_cb(EV_P_ ev_io *w, int revents)
if (buf->len < request_len + in_addr_len + 2) {
return;
}
memcpy(abuf->data + abuf->len, buf->data + 4, in_addr_len + 2);
memcpy(abuf->data + abuf->len, buf->data + request_len, in_addr_len + 2);
abuf->len += in_addr_len + 2;
if (acl || verbose) {
uint16_t p = ntohs(*(uint16_t *)(buf->data + 4 + in_addr_len));
dns_ntop(AF_INET, (const void *)(buf->data + 4),
uint16_t p = ntohs(*(uint16_t *)(buf->data + request_len + in_addr_len));
dns_ntop(AF_INET, (const void *)(buf->data + request_len),
ip, INET_ADDRSTRLEN);
sprintf(port, "%d", p);
}
@@ -593,13 +593,13 @@ server_recv_cb(EV_P_ ev_io *w, int revents)
return;
}
abuf->data[abuf->len++] = name_len;
memcpy(abuf->data + abuf->len, buf->data + 4 + 1, name_len + 2);
memcpy(abuf->data + abuf->len, buf->data + request_len + 1, name_len + 2);
abuf->len += name_len + 2;
if (acl || verbose) {
uint16_t p =
ntohs(*(uint16_t *)(buf->data + 4 + 1 + name_len));
memcpy(host, buf->data + 4 + 1, name_len);
ntohs(*(uint16_t *)(buf->data + request_len + 1 + name_len));
memcpy(host, buf->data + request_len + 1, name_len);
host[name_len] = '\0';
sprintf(port, "%d", p);
@@ -610,12 +610,12 @@ server_recv_cb(EV_P_ ev_io *w, int revents)
if (buf->len < request_len + in6_addr_len + 2) {
return;
}
memcpy(abuf->data + abuf->len, buf->data + 4, in6_addr_len + 2);
memcpy(abuf->data + abuf->len, buf->data + request_len, in6_addr_len + 2);
abuf->len += in6_addr_len + 2;
if (acl || verbose) {
uint16_t p = ntohs(*(uint16_t *)(buf->data + 4 + in6_addr_len));
dns_ntop(AF_INET6, (const void *)(buf->data + 4),
uint16_t p = ntohs(*(uint16_t *)(buf->data + request_len + in6_addr_len));
dns_ntop(AF_INET6, (const void *)(buf->data + request_len),
ip, INET6_ADDRSTRLEN);
sprintf(port, "%d", p);
}