Bug 37230

Summary: REGRESSION (4.0.5): Safari asks for credentials all the time when authenticating to Windows IIS Server
Product: WebKit Reporter: Alexey Proskuryakov <ap>
Component: Page LoadingAssignee: Alexey Proskuryakov <ap>
Severity: Normal Keywords: InRadar, Regression
Priority: P1    
Version: 528+ (Nightly build)   
Hardware: Mac   
OS: OS X 10.5   
Description Flags
proposed fix darin: review+

Description Alexey Proskuryakov 2010-04-07 14:08:36 PDT
Safari asks for credentials for each resource from a server using NTLM auth.
Comment 1 Alexey Proskuryakov 2010-04-07 14:10:49 PDT
Comment 2 Alexey Proskuryakov 2010-04-07 14:17:28 PDT
Created attachment 52781 [details]
proposed fix
Comment 3 Darin Adler 2010-04-07 14:18:41 PDT
Comment on attachment 52781 [details]
proposed fix

> +#if defined(BUILDING_ON_TIGER) || defined(BUILDING_ON_LEOPARD)
> +// There is no contsnt in headers, but NTLM is supported.
> +NSString * const NSURLAuthenticationMethodNTLM = @"NSURLAuthenticationMethodNTLM";
> +#endif

Typo: "contsnt"

How does ProtectionSpaceAuthenticationSchemeUnknown help us? Does it affect behavior?

Comment 4 Alexey Proskuryakov 2010-04-07 14:26:39 PDT
Committed r57232.

We don't fall into the default case in

        if (scheme == ProtectionSpaceAuthenticationSchemeHTTPBasic || scheme == ProtectionSpaceAuthenticationSchemeDefault) {
            // The map can contain both a path and its subpath - while redundant, this makes lookups faster.
            pathToDefaultProtectionSpaceMap().set(protectionSpaceMapKeyFromURL(url), protectionSpace);
Comment 5 Alexey Proskuryakov 2010-04-07 14:31:26 PDT
We were hitting this with "NSURLAuthenticationMethodNTLM" on 10.5, or with "NSURLAuthenticationMethodNegotiate" on 10.6.