public void parseChallenge(String challenge){
public void parseChallenge(String challenge) throws SVNException { if (challenge == null) { SVNErrorMessage err = SVNErrorMessage.create(SVNErrorCode.RA_DAV_REQUEST_FAILED, "NTLM HTTP auth: expected challenge"); SVNErrorManager.error(err); }
    public void parseChallenge(String challenge){        byte[] challengeBase64Bytes = HTTPAuthentication.getBytes(challenge, DEFAULT_CHARSET);        byte[] resultBuffer = new byte[challengeBase64Bytes.length];        int resultLength = SVNBase64.base64ToByteArray(new StringBuffer(new String(challengeBase64Bytes)), resultBuffer);        myNonce = new byte[8];        for (int i = 0; i < 8; i++) {            myNonce[i] = resultBuffer[i + 24];        }        byte[] flagBytes = new byte[4];        for (int i = 0; i < 4; i++) {            flagBytes[i] = resultBuffer[i + 20];        }        long flags = fromLong(flagBytes);        //check for local call        if ((flags & 0x00004000) != 0 && resultLength >= 40) {            byte[] contextHBytes = new byte[4];            for (int i = 0; i < 4; i++) {                contextHBytes[i] = resultBuffer[i + 32];            }            long contextH = fromLong(contextHBytes);            if (contextH != 0) {                myIsNegotiateLocalCall = true;            } else {                myIsNegotiateLocalCall = false;            }        } else {            myIsNegotiateLocalCall = false;        }            }