hc-dev mailing list archives

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

    [ https://issues.apache.org/jira/browse/HTTPCLIENT-1662?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14599060#comment-14599060

Colin commented on HTTPCLIENT-1662:

Hi Michael, 
Thanks for your help.
Those code snippets got from NTLMEngineImpl.java from httpclient code. 

More detail of my problem: 
assume there's a domain, it's full name is *company.com*, and the netbios name(domain's pre-windows
2000 name) is *company-net*.

http client NTLM auth with full domain name failed: 

and http client NTLM auth with netbios name success:

and When I remove code to strip domain name in HttpClient, NTLM auth with full domain name

So I don't know why http client convert full domain name to a "standard" short one.

> 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

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

View raw message