From: Arran Cudbard-Bell Date: Wed, 28 Oct 2015 02:54:31 +0000 (-0400) Subject: Closes #1320 create User-name from peer ID correctly X-Git-Tag: release_3_0_11~198 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e58b50fe28ce1abb2a011c6686f302bb18e151f5;p=thirdparty%2Ffreeradius-server.git Closes #1320 create User-name from peer ID correctly --- diff --git a/src/modules/rlm_eap/types/rlm_eap_pwd/rlm_eap_pwd.c b/src/modules/rlm_eap/types/rlm_eap_pwd/rlm_eap_pwd.c index 6220bbdc532..fb957e52d35 100644 --- a/src/modules/rlm_eap/types/rlm_eap_pwd/rlm_eap_pwd.c +++ b/src/modules/rlm_eap/types/rlm_eap_pwd/rlm_eap_pwd.c @@ -279,7 +279,6 @@ static int mod_process(void *arg, eap_handler_t *handler) uint8_t exch, *in, *ptr, msk[MSK_EMSK_LEN], emsk[MSK_EMSK_LEN]; uint8_t peer_confirm[SHA256_DIGEST_LENGTH]; BIGNUM *x = NULL, *y = NULL; - char *p; if (((eap_ds = handler->eap_ds) == NULL) || !inst) return 0; @@ -426,17 +425,13 @@ static int mod_process(void *arg, eap_handler_t *handler) RDEBUG("pwd unable to create fake request!"); return 0; } - fake->username = pair_make_request("User-Name", NULL, T_OP_EQ); + fake->username = fr_pair_afrom_num(fake, PW_USER_NAME, 0); if (!fake->username) { - RDEBUG("pwd unanable to create value pair for username!"); + RDEBUG("Failed creating pair for peer id"); talloc_free(fake); return 0; } - fake->username->vp_length = session->peer_id_len; - fake->username->vp_strvalue = p = talloc_array(fake->username, char, fake->username->vp_length + 1); - memcpy(p, session->peer_id, session->peer_id_len); - p[fake->username->vp_length] = '\0'; - + fr_pair_value_bstrncpy(fake->username, session->peer_id, session->peer_id_len); fr_pair_add(&fake->packet->vps, fake->username); if ((vp = fr_pair_find_by_num(request->config, PW_VIRTUAL_SERVER, 0, TAG_ANY)) != NULL) {