original[0] = rr->code;
original[1] = 0; /* not looked at by fr_radius_verify() */
original[2] = 0;
- original[3] = 0;
+ original[3] = 20; /* for debugging */
memcpy(original + 4, rr->vector, sizeof(rr->vector));
if (fr_radius_verify(c->buffer, original,
(uint8_t const *) c->inst->secret, strlen(c->inst->secret)) < 0) {
- RWDEBUG("Ignoring response with invalid signature");
+ RWDEBUG("Ignoring response with invalid signature: %s", fr_strerror());
goto redo;
}
REDEBUG("Failed re-signing packet");
return -1;
}
+ memcpy(u->rr->vector, u->packet + 4, AUTH_VECTOR_LEN);
}
}
REDEBUG("Failed re-signing packet");
return -1;
}
+
+ memcpy(u->rr->vector, u->packet + 4, AUTH_VECTOR_LEN);
break;
}
}
return -1;
}
+ memcpy(u->rr->vector, c->buffer + 4, AUTH_VECTOR_LEN);
+
/*
* Print out the actual value of the Message-Authenticator attribute
*/