hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Colin (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HTTPCLIENT-1662) NTLM auth failed because NTLMEngineImpl strip domain to base domain name
Date Wed, 24 Jun 2015 07:30:42 GMT

     [ https://issues.apache.org/jira/browse/HTTPCLIENT-1662?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Colin updated HTTPCLIENT-1662:
------------------------------
    Description: 
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!"
The Netbios name of a domain is the "Pre Windows 2000 name" of the domain.

Is there any issue to use full domain name?

  was:
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?


> 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!"
> The Netbios name of a domain is the "Pre Windows 2000 name" of the domain.
> Is there any issue to use full domain name?



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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


Mime
View raw message