Re: [xml] [PATCH] xmlIO HTTPS handler using libcurl [version 2]



On Wed, Mar 21, 2007 at 12:37:26PM -0400, joel reed wrote:
This is version 2 of my xmlIO HTTPS handler using libcurl.

  Hi Joel,

It fixes the following issues:

1) now installs curlhttps.h in include/libxml2/
2) mimics redirect handling of nanohttp.c

There is also now a configuration API for enabling certification 
verification via libcurl. Basically:

typedef enum {
    XML_HTTPS_VERIFYHOST      = 1<<0, 
    /* verify that the server cert is for the server it is known as */
    XML_HTTPS_VERIFYPEER      = 1<<1  
    /* verify the authenticity of the peer's certificate */
} xmlHttpsOption;

XMLPUBFUN int XMLCALL xmlIOHTTPSSetup (int options);

  Thanks for the patch, though I'm still wondering abit about it:
    - I have said in the past that I didn't want to add too much to nano*
    - adding a dependancy to libxml2 always annoys me
on the other hand
    - the patch is nice
    - other people may use this
    - the code is not compiled and the dependancy does not exist by default

I'm still undecided about this, more code means that this gets factored,
which is potentally good for a few users, but grows the maintainance a bit.

Also it seems to me the patch avoids the core of the issue which is 
authentication, that was one of my main discussion w.r.t. extending
nanohttp is that people wanted auth, and IMHO that was outside the scope
of libxml2, and I suggested to plug curl in and deal with it there.
So how is https really useful if you don't have authentication (or maybe I
missed it and it's done by the curl layer), but I would at least expect
some kind of callback to handle 401 auth requests, and I don't see 
any in the patch, so I'm wondering what's the limitation here :-)

Daniel

-- 
Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard      | virtualization library  http://libvirt.org/
veillard redhat com  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine  http://rpmfind.net/



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]