curl-library
Re: Want to use libcurl in AIX
Date: Tue, 2 Sep 2003 14:46:42 -0700
Daniel,
Thanks a lot for your reply. I'm pleased to know that there's a solution for what I want to implement. I think I need to use SSL library to recompile libcurl for using it with SSL, right? Is there any document for explaining how to recompile the libcurl?
Thanks,
Victor
blue world information technology inc.
42nd floor, 601 Union Street - Two Union Square, Seattle WA, 9 8101
Tel: (604) 443-5007, Fax: (604) 443-5096
http://www.blue-world.net
curl-library-request@lists.sourceforge.net
Sent by: curl-library-admin@lists.sourceforge.net
09/01/2003 04:29 AM MST
Please respond to curl-library
To: curl-library@lists.sourceforge.net
cc:
bcc:
Subject: Curl-library digest, Vol 1 #956 - 9 msgs
Send Curl-library mailing list submissions to
curl-library@lists.sourceforge.net
To subscribe or unsubscribe via the World Wide Web, visit
https://lists.sourceforge.net/lists/listinfo/curl-library
or, via email, send a message with subject or body 'help' to
curl-library-request@lists.sourceforge.net
You can reach the person managing the list at
curl-library-admin@lists.sourceforge.net
When replying, please edit your Subject line so it is more specific
than "Re: Contents of Curl-library digest..."
Today's Topics:
1. Want to use libcurl in AIX (Victor Hu)
2. Re: Want to use libcurl in AIX (Daniel Stenberg)
3. Re: NTLM at proxy and SSL -> 502 (Daniel Stenberg)
4. Re: CURLINFO_HTTPAUTH_AVAIL, CURLINFO_PROXYAUTH_AVAIL (Daniel Stenberg)
5. RE: HP-UX 11.0 with Curl 7.10.7 (Daniel Stenberg)
6. Re: LDAP support in libcurl (Daniel Stenberg)
7. Re: ares and CURLOPT_ERRORBUFFER (Daniel Stenberg)
8. CURLINFO_HTTPAUTH_AVAIL (Joerg Mueller-Tolk)
9. CURLINFO_HTTPAUTH_AVAIL 2nd try (Joerg Mueller-Tolk)
--__--__--
Message: 1
To: curl-library@lists.sourceforge.net
From: "Victor Hu" <VictorHu@blue-world.net>
Subject: Want to use libcurl in AIX
Date: Fri, 29 Aug 2003 09:49:08 -0700
Reply-To: curl-library@lists.sourceforge.net
Hi Guys,
I have two questions to ask:
1. Is it possible to use libcurl C library in AIX machine?
2. Is it possibe to use SSL when libcurl C library is used in AIX?
Thanks,
Victor
--__--__--
Message: 2
Date: Mon, 1 Sep 2003 09:02:18 +0200 (CEST)
From: Daniel Stenberg <daniel@haxx.se>
To: libcurl Mailing list <curl-library@lists.sourceforge.net>
Subject: Re: Want to use libcurl in AIX
Reply-To: curl-library@lists.sourceforge.net
On Fri, 29 Aug 2003, Victor Hu wrote:
> 1. Is it possible to use libcurl C library in AIX machine?
Yes!
> 2. Is it possibe to use SSL when libcurl C library is used in AIX?
Yes!
--
Daniel Stenberg -- curl: been grokking URLs since 1998
--__--__--
Message: 3
Date: Mon, 1 Sep 2003 09:39:19 +0200 (CEST)
From: Daniel Stenberg <daniel@haxx.se>
To: libcurl Mailing list <curl-library@lists.sourceforge.net>
Subject: Re: NTLM at proxy and SSL -> 502
Reply-To: curl-library@lists.sourceforge.net
On Fri, 29 Aug 2003, Joerg Mueller-Tolk wrote:
> >> probably be broken out into a separate function that can be called
> >> properly from both these places.
> >
> I underestimated the needed changes. We need to do the NTLM round trips, but
> Curl_ConnectHTTPProxyTunnel() is called only once and Curl_readwrite()
> while (!done) .
> I stepped through everything for the last hours and would rather prefer
> somebody else doing the changes. Is there somebody, who would at least take
> the lead in this and has the time to start soon?
I hope to be able to look into this sometime soon (hopefully this week), but I
can't promise anything (I just moved a few days ago, and my ADSL is not yet up
and running in my new house and there are filled boxes all over the place that
require my attention...). If someone could offer me access to a proxy that
requires NTLM, it would make things easier.
--
Daniel Stenberg -- curl: been grokking URLs since 1998
--__--__--
Message: 4
Date: Mon, 1 Sep 2003 09:40:45 +0200 (CEST)
From: Daniel Stenberg <daniel@haxx.se>
To: Joerg Mueller-Tolk <curl@mueller-tolk.de>
cc: libcurl Mailing list <curl-library@lists.sourceforge.net>
Subject: Re: CURLINFO_HTTPAUTH_AVAIL, CURLINFO_PROXYAUTH_AVAIL
Reply-To: curl-library@lists.sourceforge.net
On Fri, 29 Aug 2003, Joerg Mueller-Tolk wrote:
(Did you really intend to mail the -admin address only?)
> Is there anything to find out what authentification schemes are
> supported by the used web server or proxy?
> If not, what do you think of storing the data->state.authavail somewhere
> for curl_easy_getinfo().
> for example
> CURLINFO_HTTPAUTH_AVAIL
> CURLINFO_PROXYAUTH_AVAIL
Sounds like a good idea to me. We should add these! Care to make a patch?
--
Daniel Stenberg -- curl: been grokking URLs since 1998
--__--__--
Message: 5
Date: Mon, 1 Sep 2003 09:44:50 +0200 (CEST)
From: Daniel Stenberg <daniel@haxx.se>
To: libcurl Mailing list <curl-library@lists.sourceforge.net>
Subject: RE: HP-UX 11.0 with Curl 7.10.7
Reply-To: curl-library@lists.sourceforge.net
On Fri, 29 Aug 2003, Fisk, Kevin wrote:
> When I run configure, it completes. Then, when I type make again, it runs
> configure. If I let it complete that time and type make again, it will run
> configure again. Over and over.
This sounds like an odd bug.
Can you verify that after you've run configure the first time, the Makefile is
replaced with a new generated one?
Can you figure out what it is that makes 'make' assume that it needs to re-run
configure all the time?
Also, after having run configure you can attempt to circumvent this problem by
running make in the subdirs manually:
cd lib && make
cd src && make
--
Daniel Stenberg -- curl: been grokking URLs since 1998
--__--__--
Message: 6
Date: Mon, 1 Sep 2003 10:07:41 +0200 (CEST)
From: Daniel Stenberg <daniel@haxx.se>
To: libcurl Mailing list <curl-library@lists.sourceforge.net>
Subject: Re: LDAP support in libcurl
Reply-To: curl-library@lists.sourceforge.net
On Sun, 31 Aug 2003, Henrik Storner wrote:
> It turned out to be somewhat simpler than I thought.
Thanks for your work on this!
> The patch adds a new libcurl error code: CURLE_LDAP_INVALID_URL, which is
> returned if the ldap_url_parse() function detects an invalid URL.
Sounds reasonable.
> There is one issue with this patch that I am uncomfortable with. The
> ldap_url_parse() function returns a struct with the broken- down elements of
> the request URL. However, the ldap_search_s() function requires that each of
> the elements of the LDAP request are passed as separate parameters.
> Therefore, my patch adds a copy of the LDAPURLDesc structure definition to
> the CURL code. If this struct is changed in a later OpenLDAP release - or is
> defined differently by another LDAP library - the code breaks. But I cannot
> see how this can be avoided, unless the LDAP- library's own <ldap.h> is used
> (in which case libcurl's ldap.h file should probably be re-named).
I sympathize with your concerns here.
The dlopen() approach libcurl currently uses allow libcurl to be built
stand-alone without OpenLDAP present, but since one of the ldap functions
returns a pointer to a struct that might in fact change in a future release...
We would avoid the problem by using the ldap.h header file from the OpenLDAP
package, but that would then make us require OpenLDAP installed to build.
OTOH, the OpenLDAP library is not likely to ever change that struct in a
manner that break existing binary programs, since all programs that use this
struct (include from <ldap.h> or defined ourselves) will use and assume struct
fields that will remain even when the ldap lib is updated.
If they change that, many more programs than libcurl will break miserably too.
My conclusion is that I think your approach is fine and is likely to remain
functional even in the future. I'm gonna commit this!
Again: thanks for your nice effort!
--
Daniel Stenberg -- curl: been grokking URLs since 1998
--__--__--
Message: 7
Date: Mon, 1 Sep 2003 10:20:37 +0200 (CEST)
From: Daniel Stenberg <daniel@haxx.se>
To: libcurl Mailing list <curl-library@lists.sourceforge.net>
Subject: Re: ares and CURLOPT_ERRORBUFFER
Reply-To: curl-library@lists.sourceforge.net
On Sat, 30 Aug 2003, Jeff Pohlmeyer wrote:
> It looks like the error buffer is not getting filled when
> Curl_wait_for_resolv() fails - maybe this would fix it ?
Yes this is a nice fix, thanks. I'm committing!
--
Daniel Stenberg -- curl: been grokking URLs since 1998
--__--__--
Message: 8
Date: Mon, 01 Sep 2003 13:03:31 +0200
From: Joerg Mueller-Tolk <curl@mueller-tolk.de>
To: curl-library@lists.sourceforge.net
Subject: CURLINFO_HTTPAUTH_AVAIL
Reply-To: curl-library@lists.sourceforge.net
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
<title></title>
</head>
<body>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<title></title>
This is my proposal for a patch introducing the info fields for<span
style="font-family: monospace;"><br>
<span style="font-family: monospace;">CURLINFO_HTTPAUTH_AVAIL </span></span>and<span
style="font-family: monospace;"><br>
CURLINFO_PROXYAUTH_AVAIL<br>
<br>
</span>Please let me know if it is OK.<br>
Fields are only set if authentification fails. This could be mentioned
in the docu.<br>
<span style="font-family: monospace;"><br>
diff -u curl-org.h curl.h<br>
--- curl-org.h Fri Aug 15 09:04:02 2003<br>
+++ curl.h Mon Sep 1 12:04:04 2003<br>
@@ -1000,9 +1000,11 @@<br>
CURLINFO_REDIRECT_COUNT = CURLINFO_LONG + 20,<br>
CURLINFO_PRIVATE = CURLINFO_STRING + 21,<br>
CURLINFO_HTTP_CONNECTCODE = CURLINFO_LONG + 22,<br>
+ CURLINFO_HTTPAUTH_AVAIL = CURLINFO_LONG + 23,<br>
+ CURLINFO_PROXYAUTH_AVAIL = CURLINFO_LONG + 24,<br>
/* Fill in new entries below here! */<br>
<br>
- CURLINFO_LASTONE = 23<br>
+ CURLINFO_LASTONE = 25<br>
} CURLINFO;<br>
<br>
typedef enum { <br>
<br>
<br>
diff -u urldata-org.h urldata.h<br>
--- urldata-org.h Mon Sep 1 11:25:30 2003<br>
+++ urldata.h Mon Sep 1 11:25:44 2003<br>
@@ -567,6 +567,8 @@<br>
struct PureInfo {<br>
int httpcode;<br>
int httpproxycode;<br>
+ int httpauthavail;<br>
+ int proxyauthavail;<br>
int httpversion;<br>
long filetime; /* If requested, this is might get set. Set to -1 if
the time<br>
was unretrievable. We cannot have this of type
time_t, <br>
<br>
<br>
diff -u getinfo-org.c getinfo.c<br>
--- getinfo-org.c Mon Sep 1 11:11:54 2003<br>
+++ getinfo.c Mon Sep 1 11:15:00 2003<br>
@@ -109,6 +109,12 @@<br>
case CURLINFO_HTTP_CONNECTCODE:<br>
*param_longp = data->info.httpproxycode;<br>
break;<br>
+ case CURLINFO_HTTPAUTH_AVAIL:<br>
+ *param_longp = data->info.httpauthavail;<br>
+ break;<br>
+ case CURLINFO_PROXYAUTH_AVAIL:<br>
+ *param_longp = data->info.proxyauthavail;<br>
+ break;<br>
case CURLINFO_FILETIME:<br>
*param_longp = data->info.filetime;<br>
break;<br>
<br>
<br>
diff -u transfer-org.c transfer.c<br>
--- transfer-org.c Thu Aug 28 18:29:04 2003<br>
+++ transfer.c Mon Sep 1 12:54:50 2003<br>
@@ -924,6 +924,11 @@<br>
if(data->state.authwant)<br>
conn->newurl = strdup(data->change.url); /*
clone string */<br>
<br>
+ if (data->state.authstage == 401) /* 407 for proxy
*/<br>
+ data->info.httpauthavail =
data->state.authavail;<br>
+ else<br>
+ data->info.proxyauthavail =
data->state.authavail;<br>
+<br>
data->state.authavail = CURLAUTH_NONE; /* clear it
here */<br>
}</span><span style="font-family: monospace;"></span><br
style="font-family: monospace;">
<br style="font-family: monospace;">
PS: sorry, for last posting to curl-library-admin<br>
</body>
</html>
--__--__--
Message: 9
Date: Mon, 01 Sep 2003 13:25:18 +0200
From: Joerg Mueller-Tolk <curl@mueller-tolk.de>
To: curl-library@lists.sourceforge.net
Subject: CURLINFO_HTTPAUTH_AVAIL 2nd try
Reply-To: curl-library@lists.sourceforge.net
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
<title></title>
</head>
<body>
My first try did set *authavail only if the authwant is set.<br>
This is not the intention of *authavail so here my second try on
transfer.c<br>
<br>
<span style="font-family: monospace;">diff -u transfer-org.c transfer.c</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">--- transfer-org.c Thu Aug
28 18:29:04 2003</span><br style="font-family: monospace;">
<span style="font-family: monospace;">+++ transfer.c Mon Sep 1
13:18:36 2003</span><br style="font-family: monospace;">
<span style="font-family: monospace;">@@ -751,6 +751,10 @@</span><br
style="font-family: monospace;">
<br style="font-family: monospace;">
<span style="font-family: monospace;"> #ifdef GSSAPI</span><br
style="font-family: monospace;">
<span style="font-family: monospace;"> if
(checkprefix("GSS-Negotiate", start)) {</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">+ if
(data->state.authstage == 401) /* 407 for proxy */</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">+
data->info.httpauthavail |= CURLAUTH_GSSNEGOTIATE;</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">+ else</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">+
data->info.proxyauthavail |= CURLAUTH_GSSNEGOTIATE;</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">
if(data->state.authwant == CURLAUTH_GSSNEGOTIATE) {</span><br
style="font-family: monospace;">
<span style="font-family: monospace;"> /* if exactly
this is wanted, go */</span><br style="font-family: monospace;">
<span style="font-family: monospace;"> int neg =
Curl_input_negotiate(conn, start);</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">@@ -766,10 +770,14 @@</span><br
style="font-family: monospace;">
<span style="font-family: monospace;"> #ifdef USE_SSLEAY</span><br
style="font-family: monospace;">
<span style="font-family: monospace;"> /* NTLM support
requires the SSL crypto libs */</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">
if(checkprefix("NTLM", start)) {</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">+ if
(data->state.authstage == 401) /* 407 for proxy */</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">+
data->info.httpauthavail |= CURLAUTH_NTLM;</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">+ else</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">+
data->info.proxyauthavail |= CURLAUTH_NTLM;</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">
if(data->state.authwant == CURLAUTH_NTLM) {</span><br
style="font-family: monospace;">
<span style="font-family: monospace;"> /* NTLM
authentication is activated */</span><br style="font-family: monospace;">
<span style="font-family: monospace;"> CURLntlm ntlm =</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">-
Curl_input_ntlm(conn, k->httpcode == 407, start);</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">+
Curl_input_ntlm(conn, (bool)(k->httpcode == 407), start);</span><br
style="font-family: monospace;">
<br style="font-family: monospace;">
<span style="font-family: monospace;">
if(CURLNTLM_BAD != ntlm)</span><br style="font-family: monospace;">
<span style="font-family: monospace;">
conn->newurl = strdup(data->change.url); /* clone string */</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">@@ -782,7 +790,11 @@</span><br
style="font-family: monospace;">
<span style="font-family: monospace;"> }</span><br
style="font-family: monospace;">
<span style="font-family: monospace;"> else</span><br
style="font-family: monospace;">
<span style="font-family: monospace;"> #endif</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">-
if(checkprefix("Digest", start)) {</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">+
if(checkprefix("Digest", start)) {</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">+ if
(data->state.authstage == 401) /* 407 for proxy */</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">+
data->info.httpauthavail |= CURLAUTH_DIGEST;</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">+ else</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">+
data->info.proxyauthavail |= CURLAUTH_DIGEST;</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">
if(data->state.authwant == CURLAUTH_DIGEST) {</span><br
style="font-family: monospace;">
<span style="font-family: monospace;"> /* Digest
authentication is activated */</span><br style="font-family: monospace;">
<span style="font-family: monospace;"> CURLdigest dig
= CURLDIGEST_BAD;</span><br style="font-family: monospace;">
<span style="font-family: monospace;">@@ -809,6 +821,10 @@</span><br
style="font-family: monospace;">
<span style="font-family: monospace;"> }</span><br
style="font-family: monospace;">
<span style="font-family: monospace;"> }</span><br
style="font-family: monospace;">
<span style="font-family: monospace;"> else
if(checkprefix("Basic", start)) {</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">+ if
(data->state.authstage == 401) /* 407 for proxy */</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">+
data->info.httpauthavail |= CURLAUTH_DIGEST;</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">+ else</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">+
data->info.proxyauthavail |= CURLAUTH_BASIC;</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">
if((data->state.authwant == CURLAUTH_BASIC) &&</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">
(k->httpcode == 401)) {</span><br style="font-family: monospace;">
<span style="font-family: monospace;"> /* We asked
for Basic authentication but got a 401 back</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">@@ -923,7 +939,7 @@</span><br
style="font-family: monospace;">
<br style="font-family: monospace;">
<span style="font-family: monospace;">
if(data->state.authwant)</span><br style="font-family: monospace;">
<span style="font-family: monospace;">
conn->newurl = strdup(data->change.url); /* clone string */</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">-</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">+</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">
data->state.authavail = CURLAUTH_NONE; /* clear it here */</span><br
style="font-family: monospace;">
<span style="font-family: monospace;"> } </span><br>
</body>
</html>
--__--__--
_______________________________________________
libcurl mailing list digest daily
http://curl.haxx.se/libcurl/
End of Curl-library Digest