|
|
|
@ -336,8 +336,10 @@ int mosquitto__socks5_read(struct mosquitto *mosq)
|
|
|
|
|
mosq->in_packet.to_process += 16+2-1; /* 16 bytes IPv6, 2 bytes port, -1 byte because we've already read the first byte */
|
|
|
|
|
mosq->in_packet.packet_length += 16+2-1;
|
|
|
|
|
}else if(mosq->in_packet.payload[3] == SOCKS_ATYPE_DOMAINNAME){
|
|
|
|
|
mosq->in_packet.to_process += mosq->in_packet.payload[4];
|
|
|
|
|
mosq->in_packet.packet_length += mosq->in_packet.payload[4];
|
|
|
|
|
if(mosq->in_packet.payload[4] > 0 && mosq->in_packet.payload[4] <= 255){
|
|
|
|
|
mosq->in_packet.to_process += mosq->in_packet.payload[4];
|
|
|
|
|
mosq->in_packet.packet_length += mosq->in_packet.payload[4];
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
_mosquitto_packet_cleanup(&mosq->in_packet);
|
|
|
|
|
return MOSQ_ERR_PROTOCOL;
|
|
|
|
|