cURL / Mailing Lists / curl-library / Single Mail

curl-library

Three http_ntlm.c changes affecting both ASCII and non-ASCII platforms

From: David McCreedy <mccreedytpf_at_msn.com>
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

Received on 2007-01-22