> On Feb. 5, 2016, 9:36 a.m., David Faure wrote:
> > autotests/http/httpauthenticationtest.cpp, line 73
> > <https://git.reviewboard.kde.org/r/126990/diff/1/?file=442723#file442723line73>
> >
> >     What if key.size() > 64?  (this goes out of bounds, then). Or is this 
> > always ensured by the caller?
> >     (I would add a Q_ASSERT then).

I've added a Q_ASSERT as suggested. I've also added a qMin() for the key size 
to make sure it also works reliably with QT_NO_DEBUG.

Since the code was taken directly out of kntlm.cpp I've also updated the 
original implementation.


> On Feb. 5, 2016, 9:36 a.m., David Faure wrote:
> > autotests/http/httpauthenticationtest.cpp, line 84
> > <https://git.reviewboard.kde.org/r/126990/diff/1/?file=442723#file442723line84>
> >
> >     If opad was a QByteArray from the start, this copying wouldn't be 
> > needed (you could just append to opad instead in the next line)

I've rewritten the implementation to use QByteArray instead of C arrays.

As with the change above I've ported the changes to the original implementation 
in kntlm.cpp.


> On Feb. 5, 2016, 9:36 a.m., David Faure wrote:
> > autotests/http/httpauthenticationtest.cpp, line 93
> > <https://git.reviewboard.kde.org/r/126990/diff/1/?file=442723#file442723line93>
> >
> >     Maybe this can be optimized on little endian platforms? Not sure if 
> > it's worth having two code paths though; depends on the typical string 
> > length I guess.
> >     
> >     Something like 
> >     #if Q_BYTE_ORDER == Q_LITTLE_ENDIAN
> >        memcpy(unicode.data(), target.unicode(), target.length() * 2);
> >     #else
> >        // current code
> >     #endif

The strings handled here are short (usernames, passwords or domain names). I 
don't think it's worth the extra complexity.


- Krzysztof


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/126990/#review92074
-----------------------------------------------------------


On Feb. 5, 2016, 12:17 p.m., Krzysztof Nowicki wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/126990/
> -----------------------------------------------------------
> 
> (Updated Feb. 5, 2016, 12:17 p.m.)
> 
> 
> Review request for KDE Frameworks and Dawit Alemayehu.
> 
> 
> Repository: kio
> 
> 
> Description
> -------
> 
> Some IIS servers seem to be configured to reject NTLMv1 authentication by 
> refusing to reply to a NTLM stage 1 if the NTLMv2 flag is not set. If such a 
> thing happens try to send another stage 1 message with the NTLMv2 flag set 
> and if the server accepts this continue with NTLMv2.
> 
> This also fixes invese logic when determining if the authentication needs a 
> password (it needs it during stage 3 response and not stage 1).
>     
> As a bonus this includes a test case for verifying NTLMv2 authentication and 
> a fix for one of the existing test cases which contained wrong expected data 
> (the expected response was generated without use of username and password due 
> to the inverse logic bug above).
> 
> 
> Diffs
> -----
> 
>   autotests/http/httpauthenticationtest.h 
> 35b822a0d400959d97e11473d48bc94352e8e5b3 
>   autotests/http/httpauthenticationtest.cpp 
> 719f7a9856194003cfba52848e0a6c5ea6324531 
>   src/ioslaves/http/httpauthentication.h 
> a74565e253ad489fed6c82116c72244386ebaaf2 
>   src/ioslaves/http/httpauthentication.cpp 
> dcc86c276fa4422fb08904b5cf6d3d2db6bb4c0d 
>   src/kntlm/kntlm.cpp ed6f3881f3dfd0b78069368db22f7cd865261738 
> 
> Diff: https://git.reviewboard.kde.org/r/126990/diff/
> 
> 
> Testing
> -------
> 
> Tested on an IIS 7.5 server with NTLMv1 blacklisted. Additionally executed 
> automatic tests without regressions.
> 
> 
> Thanks,
> 
> Krzysztof Nowicki
> 
>

_______________________________________________
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel

Reply via email to