[
https://issues.apache.org/jira/browse/NET-650?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16323469#comment-16323469
]
Matthew McGillis commented on NET-650:
--------------------------------------
Well this is the details of the exception:
{noformat}
java.net.UnknownHostException: zimbra07.loadtest.synacor.com
at java.net.InetAddress.getAllByName0(InetAddress.java:1280)
at java.net.InetAddress.getAllByName(InetAddress.java:1192)
at java.net.InetAddress.getAllByName(InetAddress.java:1126)
at java.net.InetAddress.getByName(InetAddress.java:1076)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:202)
at imapproxy.main(imapproxy.java:45)
{noformat}
So it looks like your connect code calls InetAddress directly to resolve the
name which will happen on the server that code is run from. Which is not what
we need.
I have attached a new program that works at a socket level in both cases:
{noformat}
$ java -DsocksProxyHost=localhost -DsocksProxyPort=16003 -cp
.:./commons-net-3.6.jar socketproxy imap.server.test.com user1 userpass
* OK IMAP4rev1 proxy server ready
palladium:commons-net-3.6 matthew$ java -DsocksProxyHost=localhost
-DsocksProxyPort=16003 -cp .:./commons-net-3.6.jar socketproxy 10.250.3.127
user1 userpass
* OK IMAP4rev1 proxy server ready
{noformat}
Let me know if that doesn't help I'm not going to have time to work out a patch
but hopefully the above should turn into a simple replacement in the
appropriate place.
> IMAPClient over proxy doesn't properly resolve DNS
> --------------------------------------------------
>
> Key: NET-650
> URL: https://issues.apache.org/jira/browse/NET-650
> Project: Commons Net
> Issue Type: Bug
> Components: IMAP
> Affects Versions: 3.6
> Reporter: Matthew McGillis
> Attachments: imapproxy.java, socketproxy.java
>
>
> IMAPClient when configured to use a socks proxy is not able to resolve DNS
> names through the proxy.
> See attached sample code, if I use it with:
> {noformat}
> $ java -DsocksProxyHost=localhost -DsocksProxyPort=16003 -cp
> .:./commons-net-3.6.jar imapproxy imap.server.test.com user1 userpass
> connect error: java.net.UnknownHostException: imap.server.test.com: unknown
> error
> {noformat}
> vs if I use it with the appropriate IP:
> {noformat}
> $ java -DsocksProxyHost=localhost -DsocksProxyPort=16003 -cp
> .:./commons-net-3.6.jar imapproxy 10.250.3.127 user1 userpass
> * OK IMAP4rev1 proxy server ready
> IMAP: 10.250.3.127 143
> AAAA LOGIN *******
> AAAA OK [CAPABILITY IMAP4rev1 ACL BINARY CATENATE CHILDREN CONDSTORE ENABLE
> ESEARCH ESORT I18NLEVEL=1 ID IDLE LIST-EXTENDED LIST-STATUS LITERAL+
> LOGIN-REFERRALS MULTIAPPEND NAMESPACE QRESYNC QUOTA RIGHTS=ektx SASL-IR
> SEARCHRES SORT THREAD=ORDEREDSUBJECT UIDPLUS UNSELECT WITHIN XLIST] LOGIN
> completed
> AAAB LOGOUT
> * BYE 10.250.3.127 Zimbra IMAP4rev1 server closing connection
> AAAB OK LOGOUT completed
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)