* encrypting passwords to RADIUS.
*/
ssize_t fr_radius_ascend_secret(fr_dbuff_t *dbuff, uint8_t const *in, size_t inlen,
- char const *secret, uint8_t const *vector)
+ char const *secret, uint8_t const vector[static RADIUS_AUTH_VECTOR_LENGTH])
{
fr_md5_ctx_t *md5_ctx;
size_t i;
fr_md5_final(digest, md5_ctx);
fr_md5_ctx_free(&md5_ctx);
- if (inlen > RADIUS_AUTH_VECTOR_LENGTH) inlen = RADIUS_AUTH_VECTOR_LENGTH;
+ if (inlen > sizeof(digest)) inlen = sizeof(digest);
for (i = 0; i < inlen; i++) digest[i] ^= in[i];
fr_dbuff_memcpy_in(&work_dbuff, digest, sizeof(digest));
uint32_t max_attributes, bool require_ma, decode_fail_t *reason) CC_HINT(nonnull (1,2));
ssize_t fr_radius_ascend_secret(fr_dbuff_t *dbuff, uint8_t const *in, size_t inlen,
- char const *secret, uint8_t const *vector);
+ char const *secret, uint8_t const vector[static RADIUS_AUTH_VECTOR_LENGTH]);
ssize_t fr_radius_recv_header(int sockfd, fr_ipaddr_t *src_ipaddr, uint16_t *src_port, unsigned int *code);