I spent some time on the socks-related code and I was able to spot a few
issues:

Socket::socksUpdated (UDP, initialization)
- the function wasn't called on startup so the UDP functionality was 
initialized only after updating settings
- waitConnected was missing after connect, causing the initialization to always 
fail
- there was no proper error handling so the initialization and all attempts to 
send search results to active users over UDP just silently failed (and there 
are lots of SOCKS5 servers that don't support UDP data)

Socket::writeTo (UDP, sending)
- native socket was never created, causing all sending attempts to fail
- remote port was never sent to the socks server, causing all UDP data to be 
forwarded to a random port

Socket::socksConnect
- overloaded functions (read/write/waitConnected) from SSLSocket were used, 
causing all connection attempts to the socks server to fail for secure sockets

Additionally I've fixed a few issues with error reporting (including
"The operation completed successfully") and added full IPv6 support for
SOCKS5:

https://github.com/airdcpp/airgit/compare/d72a06be12352b1c9e2d616072e012de7a7dda3d...master

Fixes are available in the latest beta version of AirDC++

** Changed in: airdcpp
       Status: New => Fix Released

-- 
You received this bug notification because you are a member of
Dcplusplus-team, which is subscribed to DC++.
https://bugs.launchpad.net/bugs/1856087

Title:
  Socks 5 Proxy do not work properly on ADC(S)

Status in AirDC++:
  Fix Released
Status in DC++:
  New

Bug description:
  Socks 5 proxies work pretty well on NMDC hubs, upload/download
  filelists and transfers are ok.

  On the other hand, on ADC hubs, i can connect to main hubs but
  transfers are not delivered, incoming filelist petition do not even
  appear on the transfer windows, nor it appears on target user when the
  proxy client ask for a filelist.

  On ADCS is not even possible to connect, i got "[19:16] *** The
  operation completed successfully." but nothing more happens, the
  client does not connect to the hub.

  Thanks for reading!

To manage notifications about this bug go to:
https://bugs.launchpad.net/airdcpp/+bug/1856087/+subscriptions

_______________________________________________
Mailing list: https://launchpad.net/~linuxdcpp-team
Post to     : linuxdcpp-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~linuxdcpp-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to