Olá,
Estou escrevendo um servidor socks e estou colocando suporte ao UDP associate, para validar o aplicativo estou usando um cliente socks chamado csocks, ele até que funciona bem, contudo o UDP parece implementado de forma errada, preciso da opinião de alguém que manje desse protocolo, seguinte:
O UDP associate até onde sei (segundo a rfc1928), funciona da seguinte forma:
O cliente envia um pacote informando endereço e porta udp do servidor externo (servidor de aplicação) para o socks server.
O socks server, aceitando a conexão, envia a porta udp que ele sorteou para usar e o seu endereço ou outro endereço ip, que corresponderá ao relayer UDP.
Nisso, com o canal UDP "estabelecido" (pois é UDP), o cliente deve enviar pacotes UDP num formato tal para a porta que O SERVER SORTEOU no IP que ele enviou no reply junto com a porta.
Correto?
O problema é que esse tal csocks, estupidamente manda para a porta do servidor de aplicação, ou seja, o server não está escutando ali, nunca pegará. O louco é que esse csocks se diz RFC compliant. Mandei e-mail para o autor, ele não respondeu... Eu até corrigi o código do cara, mas... Estou louco ou realmente há problema com esse cliente socks?
Falou!
[]'s


Responder com citação