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 2017/03/18 12:27:41 UTC

[jira] [Comment Edited] (HTTPCLIENT-1834) Clean up NTLM implementation and add CredSsp support

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

Oleg Kalnichevski edited comment on HTTPCLIENT-1834 at 3/18/17 12:27 PM:
-------------------------------------------------------------------------

Karl,

NTLMEngineImpl refactoring broke API compatibility with previous releases. CipherGen inner class should have never been made protected, but it is too late now. We need to fix the problem by providing a method with the old parameter signature and deprecating it in favor of the new method.

{noformat}
[INFO] --- clirr-maven-plugin:2.5:check (default-cli) @ httpclient ---
[INFO] Comparing to version: 4.4
[ERROR] org.apache.http.impl.auth.NTLMEngineImpl$CipherGen: In method 'public NTLMEngineImpl$CipherGen(java.lang.String, java.lang.String, java.lang.String, byte[], java.lang.String, byte[], byte[], byte[], byte[], byte[])' the number of arguments has changed
[ERROR] org.apache.http.impl.auth.NTLMEngineImpl$CipherGen: In method 'public NTLMEngineImpl$CipherGen(java.lang.String, java.lang.String, java.lang.String, byte[], java.lang.String, byte[])' the number of arguments has changed
{noformat}

In hindsight this change set should not have been merged to 4.5.x. It is just too big of a change for a patch release. It should have been merged to 4.6.x. If we had a Git repository as a primary repository I could (relatively) easily mended that. With SVN it is going to be a bloody mess. I am gradually getting really tired of SVN, especially now, when we have to active branches. 

Oleg


was (Author: olegk):
Karl,

NTLMEngineImpl refactoring broke API compatibility with previous releases. CipherGen inner class should have been made protected, but it is too late now. We need to fix the problem by providing a method with the old parameter signature and deprecating it in favor of the new method.

{noformat}
[INFO] --- clirr-maven-plugin:2.5:check (default-cli) @ httpclient ---
[INFO] Comparing to version: 4.4
[ERROR] org.apache.http.impl.auth.NTLMEngineImpl$CipherGen: In method 'public NTLMEngineImpl$CipherGen(java.lang.String, java.lang.String, java.lang.String, byte[], java.lang.String, byte[], byte[], byte[], byte[], byte[])' the number of arguments has changed
[ERROR] org.apache.http.impl.auth.NTLMEngineImpl$CipherGen: In method 'public NTLMEngineImpl$CipherGen(java.lang.String, java.lang.String, java.lang.String, byte[], java.lang.String, byte[])' the number of arguments has changed
{noformat}

In hindsight this change set should not have been merged to 4.5.x. It is just too big of a change for a patch release. It should have been merged to 4.6.x. If we had a Git repository as a primary repository I could (relatively) easily mended that. With SVN it is going to be a bloody mess. I am gradually getting really tired of SVN, especially now, when we have to active branches. 

Oleg

> Clean up NTLM implementation and add CredSsp support
> ----------------------------------------------------
>
>                 Key: HTTPCLIENT-1834
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1834
>             Project: HttpComponents HttpClient
>          Issue Type: Improvement
>            Reporter: Karl Wright
>            Assignee: Karl Wright
>             Fix For: 4.5.4
>
>
> The NTLM implementation has some oddities that we need to fix (flag handling, for instance), and we also have a contribution of a CredSsp implementation on top of that (github pull request 66).



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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