LibCurl source version:7.15 platform -windows xp servicepack 2 Please find the details libcurl log, inside of Curl_perform method of tranfer.c file I added few log message.
009-03-19 13:02:45 I #3648 naInet DoFtpDownload start 2009-03-19 13:02:45 I #3648 naInet Trying to find an usable proxy using IE settings 2009-03-19 13:02:45 I #3648 naInet Found proxy server with IE settings : 172.16.220.184 2009-03-19 13:02:45 I #3648 naInet m_bUseAuthentication 2009-03-19 13:02:45 I #3648 naInet m_bUseProxyAuthentication 2009-03-19 13:02:45 I #3648 naInet Calling curl_easy_perform from doftpdownload 2009-03-19 13:02:45 X #3648 naInet Info:Start curl_easy_perform 2009-03-19 13:02:45 X #3648 naInet Info:calling Curl_perform 2009-03-19 13:02:45 X #3648 naInet Info:start Curl_perform 2009-03-19 13:02:45 X #3648 naInet Info:About to connect() to proxy 172.16.220.184 port 8080 (#0) 2009-03-19 13:02:45 X #3648 naInet 2009-03-19 13:02:45 X #3648 naInet Info: Trying 172.16.220.184... 2009-03-19 13:02:45 X #3648 naInet Info:connected 2009-03-19 13:02:45 X #3648 naInet 2009-03-19 13:02:45 X #3648 naInet Info:Connected to 172.16.220.184 (172.16.220.184) port 8080 (#0) 2009-03-19 13:02:45 X #3648 naInet 2009-03-19 13:02:45 X #3648 naInet Info:Curl_perform::Called connect_host return code:0 2009-03-19 13:02:45 X #3648 naInet => Send header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet Info:Curl_perform::Called Curl_retry_request return code:0 2009-03-19 13:02:45 X #3648 naInet Info:Closing connection #0 2009-03-19 13:02:45 X #3648 naInet 2009-03-19 13:02:45 X #3648 naInet Info:Curl_perform::Called Curl_done return code:0 2009-03-19 13:02:45 X #3648 naInet Info:Issue another request to this URL: 'ftp://172.16.220.151:21/SiteStat.xml' 2009-03-19 13:02:45 X #3648 naInet 2009-03-19 13:02:45 X #3648 naInet Info:Curl_perform::Called Curl_follow return code:0 2009-03-19 13:02:45 X #3648 naInet Info:About to connect() to proxy 172.16.220.184 port 8080 (#0) 2009-03-19 13:02:45 X #3648 naInet 2009-03-19 13:02:45 X #3648 naInet Info: Trying 172.16.220.184... 2009-03-19 13:02:45 X #3648 naInet Info:connected 2009-03-19 13:02:45 X #3648 naInet 2009-03-19 13:02:45 X #3648 naInet Info:Connected to 172.16.220.184 (172.16.220.184) port 8080 (#0) 2009-03-19 13:02:45 X #3648 naInet 2009-03-19 13:02:45 X #3648 naInet Info:Curl_perform::Called connect_host return code:0 2009-03-19 13:02:45 X #3648 naInet Info:Proxy auth using NTLM with user 'josy' 2009-03-19 13:02:45 X #3648 naInet 2009-03-19 13:02:45 X #3648 naInet => Send header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet Info:Curl_perform::Called Curl_retry_request return code:0 2009-03-19 13:02:45 X #3648 naInet Info:Closing connection #0 2009-03-19 13:02:45 X #3648 naInet 2009-03-19 13:02:45 X #3648 naInet Info:Curl_perform::Called Curl_done return code:0 2009-03-19 13:02:45 X #3648 naInet Info:Issue another request to this URL: 'ftp://172.16.220.151:21/SiteStat.xml' 2009-03-19 13:02:45 X #3648 naInet 2009-03-19 13:02:45 X #3648 naInet Info:Curl_perform::Called Curl_follow return code:0 2009-03-19 13:02:45 X #3648 naInet Info:About to connect() to proxy 172.16.220.184 port 8080 (#0) 2009-03-19 13:02:45 X #3648 naInet 2009-03-19 13:02:45 X #3648 naInet Info: Trying 172.16.220.184... 2009-03-19 13:02:45 X #3648 naInet Info:connected 2009-03-19 13:02:45 X #3648 naInet 2009-03-19 13:02:45 X #3648 naInet Info:Connected to 172.16.220.184 (172.16.220.184) port 8080 (#0) 2009-03-19 13:02:45 X #3648 naInet 2009-03-19 13:02:45 X #3648 naInet Info:Curl_perform::Called connect_host return code:0 2009-03-19 13:02:45 X #3648 naInet => Send header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet <= Recv header 2009-03-19 13:02:45 X #3648 naInet Info:Curl_perform::Called Curl_retry_request return code:0 2009-03-19 13:02:45 X #3648 naInet Info:Closing connection #0 2009-03-19 13:02:45 X #3648 naInet 2009-03-19 13:02:45 X #3648 naInet Info:Curl_perform::Called Curl_done return code:0 2009-03-19 13:02:45 X #3648 naInet Info:Issue another request to this URL: 'ftp://172.16.220.151:21/SiteStat.xml' Date: Wed, 18 Mar 2009 13:14:51 +0100 (CET) From: Daniel Stenberg <[email protected]> Subject: Re: help To: libcurl development <[email protected]> Message-ID: <[email protected]> Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII On Tue, 17 Mar 2009, [email protected] wrote: > We want to download a file from FTP server, proxy used is ISA 2006, > and the proxy authentication used is NTLM. > If Authentication is failed due to wrong user id. Curl is trying to > connect more than 100 times to the FTP repository server using proxy. If you told libcurl to use the proxy, libcurl will only access the proxy and not the FTP server at all so I don't see how this is libcurl doing the retries. libcurl should not retry bad authentication cases at all. But the logs look curious - does the proxy somehow redirect the client to the FTP site? Can you show us more detailed protocol logs from this? And do tell us what libcurl version on what platform you're running. -- / daniel.haxx.se
