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 <ol...@apache.org> on 2013/07/08 11:34:34 UTC

Re: svn commit: r1500401

On Sun, 2013-07-07 at 20:18 +0100, sebb wrote:
> On 7 July 2013 11:20,  <ol...@apache.org> wrote:
> > Author: olegk
> > Date: Sun Jul  7 10:20:33 2013
> > New Revision: 1500401
> >
> > URL: http://svn.apache.org/r1500401
> > Log:
> > Follow up to HTTPCLIENT-1381: fixes another NPE
> > Contributed by Ricardo Pereira <thc202 at gmail.com>
> >
> > Modified:
> >     httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/auth/NTLMEngineImpl.java
> >     httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/client/integration/TestClientAuthenticationFakeNTLM.java
> >
> > Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/auth/NTLMEngineImpl.java
> > URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/auth/NTLMEngineImpl.java?rev=1500401&r1=1500400&r2=1500401&view=diff
> > ==============================================================================
> > --- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/auth/NTLMEngineImpl.java (original)
> > +++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/auth/NTLMEngineImpl.java Sun Jul  7 10:20:33 2013
> > @@ -624,7 +624,7 @@ final class NTLMEngineImpl implements NT
> >              final MD4 md4 = new MD4();
> >              md4.update(unicodePassword);
> >              return md4.getOutput();
> > -        } catch (java.io.UnsupportedEncodingException e) {
> > +        } catch (UnsupportedEncodingException e) {
> >              throw new NTLMEngineException("Unicode not supported: " + e.getMessage(), e);
> >          }
> >      }
> > @@ -641,9 +641,11 @@ final class NTLMEngineImpl implements NT
> >              final HMACMD5 hmacMD5 = new HMACMD5(ntlmHash);
> >              // Upper case username, upper case domain!
> >              hmacMD5.update(user.toUpperCase(Locale.US).getBytes("UnicodeLittleUnmarked"));
> > -            hmacMD5.update(domain.toUpperCase(Locale.US).getBytes("UnicodeLittleUnmarked"));
> > +            if (domain != null) {
> > +                hmacMD5.update(domain.toUpperCase(Locale.US).getBytes("UnicodeLittleUnmarked"));
> 
> Note that getBytes(String) is also Locale-sensitive; should probably
> use Locale.ENGLISH.
> (Locale.ROOT is 1.6+)

Sebastian,

I am not sure I follow you. String#getBytes only takes charset encoding
as a parameter (either as string prior to 1.6 or Charset in 1.6+), not a
locale. In any way just go ahead and commit the fix if you see a problem
with this code.

Cheers

Oleg


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


Re: svn commit: r1500401

Posted by sebb <se...@gmail.com>.
On 8 July 2013 10:34, Oleg Kalnichevski <ol...@apache.org> wrote:
> On Sun, 2013-07-07 at 20:18 +0100, sebb wrote:
>> On 7 July 2013 11:20,  <ol...@apache.org> wrote:
>> > Author: olegk
>> > Date: Sun Jul  7 10:20:33 2013
>> > New Revision: 1500401
>> >
>> > URL: http://svn.apache.org/r1500401
>> > Log:
>> > Follow up to HTTPCLIENT-1381: fixes another NPE
>> > Contributed by Ricardo Pereira <thc202 at gmail.com>
>> >
>> > Modified:
>> >     httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/auth/NTLMEngineImpl.java
>> >     httpcomponents/httpclient/trunk/httpclient/src/test/java/org/apache/http/impl/client/integration/TestClientAuthenticationFakeNTLM.java
>> >
>> > Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/auth/NTLMEngineImpl.java
>> > URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/auth/NTLMEngineImpl.java?rev=1500401&r1=1500400&r2=1500401&view=diff
>> > ==============================================================================
>> > --- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/auth/NTLMEngineImpl.java (original)
>> > +++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/auth/NTLMEngineImpl.java Sun Jul  7 10:20:33 2013
>> > @@ -624,7 +624,7 @@ final class NTLMEngineImpl implements NT
>> >              final MD4 md4 = new MD4();
>> >              md4.update(unicodePassword);
>> >              return md4.getOutput();
>> > -        } catch (java.io.UnsupportedEncodingException e) {
>> > +        } catch (UnsupportedEncodingException e) {
>> >              throw new NTLMEngineException("Unicode not supported: " + e.getMessage(), e);
>> >          }
>> >      }
>> > @@ -641,9 +641,11 @@ final class NTLMEngineImpl implements NT
>> >              final HMACMD5 hmacMD5 = new HMACMD5(ntlmHash);
>> >              // Upper case username, upper case domain!
>> >              hmacMD5.update(user.toUpperCase(Locale.US).getBytes("UnicodeLittleUnmarked"));
>> > -            hmacMD5.update(domain.toUpperCase(Locale.US).getBytes("UnicodeLittleUnmarked"));
>> > +            if (domain != null) {
>> > +                hmacMD5.update(domain.toUpperCase(Locale.US).getBytes("UnicodeLittleUnmarked"));
>>
>> Note that getBytes(String) is also Locale-sensitive; should probably
>> use Locale.ENGLISH.
>> (Locale.ROOT is 1.6+)
>
> Sebastian,
>
> I am not sure I follow you. String#getBytes only takes charset encoding
> as a parameter (either as string prior to 1.6 or Charset in 1.6+), not a
> locale. In any way just go ahead and commit the fix if you see a problem
> with this code.

Sorry, brain-fart!

The code is fine as is - though it might be worth considering using a
constant for the charset.
This could then be documented.

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

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