Colin created HTTPCLIENT-1662:
---------------------------------

             Summary: NTLM auth failed because NTLMEngineImpl strip domain to 
base domain name
                 Key: HTTPCLIENT-1662
                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1662
             Project: HttpComponents HttpClient
          Issue Type: Bug
          Components: HttpAuth
    Affects Versions: 4.5
         Environment: HttpClient 4.3, 4.5
A http site with NTLM auth
A domain which Netbios name is not match domain name(e.g. domain=mydomain.com; 
netbios name= testdomain)
            Reporter: Colin


When generate type 3 message, we change the domain name to base domain name:
{code}
            // Use only the base domain name!
            final String unqualifiedDomain = convertDomain(domain);
{code}
{code}
    /** Strip dot suffix from a name */
    private static String stripDotSuffix(final String value) {
        if (value == null) {
            return null;
        }
        final int index = value.indexOf(".");
        if (index != -1) {
            return value.substring(0, index);
        }
        return value;
    }

    /** Convert domain to standard form */
    private static String convertDomain(final String domain) {
        return stripDotSuffix(domain);
    }
{code}

I got http 401 in my environment with correct credential and found the root 
cause is those code got wrong domain name so the domain controller return a 
NTLM sub status code 0xC0000064, which means " The username you typed does not 
exist!"

If we don't change the domain name to standard name, is there any other issue? 
Or we can add a option to let user select full domain name or standard domain 
name?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to