mirror of
https://github.com/apache/httpcomponents-client.git
synced 2025-02-28 05:39:07 +00:00
HTTPCLIENT-1881: Allow truncated NTLM packets to work with this client.
This commit is contained in:
parent
235348eec6
commit
42359353a2
@ -270,7 +270,7 @@ static String getType3Message(final String user, final char[] password, final St
|
||||
|
||||
private static int readULong(final byte[] src, final int index) throws NTLMEngineException {
|
||||
if (src.length < index + 4) {
|
||||
throw new NTLMEngineException("NTLM authentication - buffer too small for DWORD");
|
||||
return 0;
|
||||
}
|
||||
return (src[index] & 0xff) | ((src[index + 1] & 0xff) << 8)
|
||||
| ((src[index + 2] & 0xff) << 16) | ((src[index + 3] & 0xff) << 24);
|
||||
@ -278,7 +278,7 @@ private static int readULong(final byte[] src, final int index) throws NTLMEngin
|
||||
|
||||
private static int readUShort(final byte[] src, final int index) throws NTLMEngineException {
|
||||
if (src.length < index + 2) {
|
||||
throw new NTLMEngineException("NTLM authentication - buffer too small for WORD");
|
||||
return 0;
|
||||
}
|
||||
return (src[index] & 0xff) | ((src[index + 1] & 0xff) << 8);
|
||||
}
|
||||
@ -287,8 +287,7 @@ private static byte[] readSecurityBuffer(final byte[] src, final int index) thro
|
||||
final int length = readUShort(src, index);
|
||||
final int offset = readULong(src, index + 4);
|
||||
if (src.length < offset + length) {
|
||||
throw new NTLMEngineException(
|
||||
"NTLM authentication - buffer too small for data item");
|
||||
return new byte[length];
|
||||
}
|
||||
final byte[] buffer = new byte[length];
|
||||
System.arraycopy(src, offset, buffer, 0, length);
|
||||
|
Loading…
x
Reference in New Issue
Block a user