We need to set SOUP_NTLM_AUTH_DEBUG to an empty string (to tell
SoupAuthNTLM to always use built-in NTLM), not leave it unset, which
will let SoupAuthNTLM use the real ntlm_auth binary.
(The effect of this bug was that instead of always using built-in
NTLM, ntlm-test-helper would first try to use ntlm_auth, and fail
because there were no cached credentials, and then fall back to
built-in NTLM, which meant that we were testing the fallback codepath
even in the supposed-to-be-non-fallback case. Unless your username was
"alice" or "bob" and you had a working winbind configuration, in which
case the tests would just fail.)
Also, fix up ntlm-test a bit, so that if ntlm-test-helper for some
reason tries to authenticate as someone other than alice or bob, it
recognizes this, rather than considering everyone who isn't alice to
be bob.
SoupAuth *auth;
/* Don't recurse */
- g_unsetenv ("SOUP_NTLM_AUTH_DEBUG");
+ g_setenv ("SOUP_NTLM_AUTH_DEBUG", "", TRUE);
setlocale (LC_ALL, "");
#define NTLM_CHALLENGE "TlRMTVNTUAACAAAADAAMADAAAAABAoEAASNFZ4mrze8AAAAAAAAAAGIAYgA8AAAARABPAE0AQQBJAE4AAgAMAEQATwBNAEEASQBOAAEADABTAEUAUgBWAEUAUgAEABQAZABvAG0AYQBpAG4ALgBjAG8AbQADACIAcwBlAHIAdgBlAHIALgBkAG8AbQBhAGkAbgAuAGMAbwBtAAAAAAA="
-#define NTLM_RESPONSE_USER(response) ((response)[86] == 'E' ? NTLM_AUTHENTICATED_ALICE : NTLM_AUTHENTICATED_BOB)
+#define NTLM_RESPONSE_USER(response) ((response)[86] == 'E' ? NTLM_AUTHENTICATED_ALICE : ((response)[86] == 'I' ? NTLM_AUTHENTICATED_BOB : NTLM_UNAUTHENTICATED))
static void
clear_state (gpointer connections, GObject *ex_connection)