hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oleg Kalnichevski (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HTTPCLIENT-1394) Native windows Negotiate/NTLM via JNA
Date Wed, 28 Aug 2013 16:32:54 GMT

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

Oleg Kalnichevski commented on HTTPCLIENT-1394:
-----------------------------------------------

Hi Ryan

Overall the patch looks fine to me. However, there is quite a major issue of extra runtime
dependencies. I do not think that adding 'net.java.dev.jna' packages as mandatory runtime
dependencies is a good idea. They might make sense for Windows centric folks but would be
completely pointless for other platforms. We ought not impose them on the entire user base
indiscriminately. 

There are two options that I can see here. (1) make then optional at runtime (they would still
be required in order to build HttpClient) (2) move Windows specific code to a separate module
(similar to HttpMime and HttpClient Cache). On the upside the latter approach would allow
to use whatever extra dependencies you might need to get the job done. On the downside it
would require the users to explicitly add Windows specific module as a dependency and likely
to build HttpClient in a slightly different manner.

As to your questions

(1) Seems quite reasonable. We just need a means of forcing HttpClient to use platform specific
creds and CurrentUserCredentials looks adequate. I think SPNego scheme does something very
simiular, so we just need to make sure both schemes are consistent

(2) Cannot give a good advice here. All my attempts at improving test coverage of NTLM/SPNego
scheme without relying on external resource(s) failed so far. So, Mockito is your good friend
here.

(3) This very much depends on how we manage to solve the dependency issue. I could easily
see HttpClientBuilder building HttpClient instances differently depending on the actual execution
platform. We already have OSGi module that does something similar.

(typed in an awful hurry. please excuse typos)

Oleg
                
> Native windows Negotiate/NTLM via JNA
> -------------------------------------
>
>                 Key: HTTPCLIENT-1394
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1394
>             Project: HttpComponents HttpClient
>          Issue Type: New Feature
>         Environment: Windows
>            Reporter: Ryan McKinley
>         Attachments: HTTPCLIENT-1394-jna.patch
>
>
> HttpClient has made great progress in supporting NTLM and Negotiate, but the setup often
requires considerable configuration.  Using native calls, we can authenticate the current
logged in user directly via windows with no configuration.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

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


Mime
View raw message