curl-library
Three http_ntlm.c changes affecting both ASCII and non-ASCII platforms
Date: Mon, 22 Jan 2007 04:59:03 +0000
This patch is primarily to allow NTLM to work on non-ASCII platforms.
But it also fixes an error and some warnings for ASCII-based platforms as
well.
I don't have access to a system where I can compile or test this code for
Linux or Windows so I'd ask someone who can to verify I haven't broken
anything on those platforms.
The changes are quite minor but it doesn't hurt to be cautious.
#1
There's a compilation error in http_ntlm.c if USE_NTLM2SESSION is NOT
defined.
I noticed this while testing various configurations.
Line 867 of the current http_ntlm.c is a closing bracket for an if/else pair
that only gets compiled in if USE_NTLM2SESSION is defined.
But this closing bracket wasn't in an #ifdef so the code fails to compile
unless USE_NTLM2SESSION was defined.
Lines 198 and 140 of my patch wraps that closing bracket in an #ifdef
USE_NTLM2SESSION.
#2
I noticed several picky compiler warnings when DEBUG_ME is defined.
I've fixed them with casting.
By the way, DEBUG_ME was a huge help in understanding this code.
#3
Hopefully the last non-ASCII conversion patch for libcurl in a while.
I changed the "NTLMSSP" literal to hex since this signature must always be
in ASCII.
Conversion code was strategically added where necessary.
And the Curl_base64_encode calls were changed so the binary "blobs"
http_ntlm.c creates are NOT translated on non-ASCII platforms.
Thanks,
-David McCreedy
- application/octet-stream attachment: ntlmpatch1