Thankyou for confirming my belief.

You've named the section "firewall settings". Most IRCd administrators are thoroughly anti-anonymous proxy, as they allow ban evasions and fun stuff like flooding. Thus, I assume the idea behind naming it "firewall" is to imply that it should be used for application layer firewalls only. In this case, DNS may fail. IRC is also likely to fail.

If you have a look at the SOCKS4a/5 draft iirc it's slightly suggestive that the DNS features of the proxies are only to be used in the case where DNS resolution has failed locally. The most sensible way of handling this would be to add a checkbox to the "firewall settings" dialog that has the caption "resolve DNS locally", and allow input for SOCKS4a, SOCKS5 and HTTP since SOCKS4 alone has no mechanism for remote DNS resolution. The rest is self-explanitary.

Originally Posted By: HM2K
I don't think you really speak as an authority on this subject.

Originally Posted By: HM2K
Perhaps you can gather the server ip (if required) when $serverip is called rather than at connect time, that way the user has a choice.

That wouldn't be too difficult to impliment right?

That would be impossible to implement accurately in some cases. Take for example, irc.quakenet.org. DNS it using the command line:
Code:
Server:  Seven11.home
Address:  192.168.0.100

Non-authoritative answer:
Name:    irc.quakenet.org
Addresses:  213.131.156.51, 66.225.225.66, 83.140.172.212, 85.236.110.226
          128.39.2.28, 194.109.129.222, 195.54.159.109, 213.131.156.50

The proxy server will pick an IP by it's own means (which is implementation defined) and connect to it. The server may tell your client the correct IP, if it has a mechanism to do so, or it may simply tell your client 0.0.0.0 (as many SOCKS4a proxies do). Your suggestion is trash, and you have no authority either. Stop treating me like I'm some idiot.

SOCKS5 can be used for UDP communication. Another option may be to use SOCKS5 to send DNS packets over UDP.

Last edited by s00p; 24/11/09 08:21 AM.