* @see org.tinyradius.packet.RadiusPacket#decodeRequestAttributes(java.lang.String)
*/
protected void decodeRequestAttributes(String sharedSecret)
throws RadiusException {
// detect auth protocol
RadiusAttribute userPassword = getAttribute(USER_PASSWORD);
RadiusAttribute chapPassword = getAttribute(CHAP_PASSWORD);
RadiusAttribute chapChallenge = getAttribute(CHAP_CHALLENGE);
if (userPassword != null) {
setAuthProtocol(AUTH_PAP);
this.password = decodePapPassword(userPassword.getAttributeData(), RadiusUtil.getUtf8Bytes(sharedSecret));
// copy truncated data
userPassword.setAttributeData(RadiusUtil.getUtf8Bytes(this.password));
} else if (chapPassword != null && chapChallenge != null) {
setAuthProtocol(AUTH_CHAP);
this.chapPassword = chapPassword.getAttributeData();
this.chapChallenge = chapChallenge.getAttributeData();
} else
throw new RadiusException("Access-Request: User-Password or CHAP-Password/CHAP-Challenge missing");
}