You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Oleg Kalnichevski (JIRA)" <ji...@apache.org> on 2013/08/28 18:32:54 UTC

[jira] [Commented] (HTTPCLIENT-1394) Native windows Negotiate/NTLM via JNA

    [ 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