#1 Various Fixes

Andrei Sosnin


I've used your library lately and encountered several bugs in your code, that I've managed to fix. I've also made some changes relevant to my needs (i.e. made the library linkable completely statically, thus minimizing DLL redistribution hassles), by removing old libs and adding a static libexpat-2.0.1 build to it instead. It worked fine, although I haven't tested it very extensively.

As Mozilla license encourages it, I'm sending you the new version of the library as a diff of all changes, based on its 0.3 release.

Here's a short overview of my changes/fixes:

* I've made some functions in http.h and others exportable (by enclosing them in extern "C" {} blocks) as they were really handy for simple HTTP handling, not only DAV.
* There was an issue in Digest authentication process, as my Apache 2.2 server sent me an authorization request with no "opaque" field and ezdavlib wouldn't handle it correctly. I've fixed it by omitting the "opaque" field altogether, if server doesn't specify it. Works fine for me!
* When user specified an IP address to the dav_connect call instead of a hostname, ezdavlib sent a HTTP/1.1 request which was non-conformant, as it did not specify any "Host:" header. I fixed it by specifying the original IP as the "Host:" in that case.
* You also handled variable argument functions incorrectly (from my perspective, at least). I've added "NULL"s in the end of those functions I found relevant to me.


  • Andrei Sosnin
    Andrei Sosnin

    bug fixes