}
memset(fixup, 0, sizeof(*fixup));
- strNcpy(fixup->attrstr, attrstr, sizeof(fixup->attrstr));
+ strlcpy(fixup->attrstr, attrstr, sizeof(fixup->attrstr));
fixup->dval = dval;
/*
if (!name) return NULL;
- strNcpy(dattr.name, name, sizeof(dattr.name));
+ strlcpy(dattr.name, name, sizeof(dattr.name));
return lrad_hash_table_finddata(attributes_byname, &dattr);
}
dv = lrad_hash_table_finddata(values_byname, my_dv);
if (dv) my_dv->attr = dv->value;
- strNcpy(my_dv->name, name, DICT_VALUE_MAX_NAME_LEN);
+ strlcpy(my_dv->name, name, DICT_VALUE_MAX_NAME_LEN);
return lrad_hash_table_finddata(values_byname, my_dv);
}
if (!name) return 0;
dv = (DICT_VENDOR *) buffer;
- strNcpy(dv->name, name, DICT_VENDOR_MAX_NAME_LEN);
+ strlcpy(dv->name, name, DICT_VENDOR_MAX_NAME_LEN);
dv = lrad_hash_table_finddata(vendors_byname, dv);
if (!dv) return 0;
strcat(buf, "\"");
} else if (delimitst < 0) {
- strNcpy(out, vp->vp_strvalue, outlen);
+ strlcpy(out, vp->vp_strvalue, outlen);
return strlen(out);
} else {
dval = dict_valbyattr(vp->attribute,
vp->lvalue);
if (dval) {
- strNcpy(vp->vp_strvalue,
+ strlcpy(vp->vp_strvalue,
dval->name,
sizeof(vp->vp_strvalue));
}
dval = dict_valbyattr(vp->attribute,
vp->lvalue);
if (dval) {
- strNcpy(vp->vp_strvalue,
+ strlcpy(vp->vp_strvalue,
dval->name,
sizeof(vp->vp_strvalue));
}
memset(tm, 0, sizeof(*tm));
tm->tm_isdst = -1; /* don't know, and don't care about DST */
- strNcpy(buf, valstr, sizeof(buf));
+ strlcpy(buf, valstr, sizeof(buf));
p = buf;
f[0] = mystrtok(&p, " \t");
* Even for integers, dates and ip addresses we
* keep the original string in vp->vp_strvalue.
*/
- strNcpy((char *)vp->vp_strvalue, value, sizeof(vp->vp_strvalue));
+ strlcpy((char *)vp->vp_strvalue, value, sizeof(vp->vp_strvalue));
vp->length = strlen(vp->vp_strvalue);
switch(vp->type) {
return NULL;
}
- strNcpy(vp->vp_strvalue, value, sizeof(vp->vp_strvalue));
+ strlcpy(vp->vp_strvalue, value, sizeof(vp->vp_strvalue));
vp->flags.do_xlat = 1;
vp->length = 0;
} else {
}
vp->flags.do_xlat = 1;
- strNcpy(vp->vp_strvalue, value, sizeof(vp->vp_strvalue));
+ strlcpy(vp->vp_strvalue, value, sizeof(vp->vp_strvalue));
vp->length = 0;
break;
}
DEBUG("!!! clear text password is in Cleartext-Password, and not in User-Password. !!!");
DEBUG("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
password_pair->attribute = PW_CLEARTEXT_PASSWORD;
- strNcpy(password_pair->name, "Cleatext-Password",
+ strlcpy(password_pair->name, "Cleatext-Password",
sizeof(password_pair->name));
}
return -1;
}
- strNcpy(mycmd, cmd, sizeof(mycmd));
+ strlcpy(mycmd, cmd, sizeof(mycmd));
/*
* Split the string into argv's BEFORE doing radius_xlat...
if (n == T_OP_INVALID) {
DEBUG("Exec-Program-Wait: plaintext: %s", answer);
if (user_msg) {
- strNcpy(user_msg, answer, msg_len);
+ strlcpy(user_msg, answer, msg_len);
}
} else {
/*
* file.
*/
if (*s != '/') {
- strNcpy(newfile, file,
+ strlcpy(newfile, file,
sizeof(newfile));
ptr = strrchr(newfile, '/');
strcpy(ptr + 1, s);
curreq->packet = packet;
curreq->packet->timestamp = curreq->timestamp;
curreq->number = request_num_counter++;
- strNcpy(curreq->secret, client->secret, sizeof(curreq->secret));
+ strlcpy(curreq->secret, client->secret, sizeof(curreq->secret));
/*
* Remember the request in the list.
strlen(s), sizeof(c->secret) - 1);
return -1;
}
- strNcpy((char *)c->secret, s, sizeof(c->secret));
+ strlcpy((char *)c->secret, s, sizeof(c->secret));
}
c->striprealm = 1;
char *p;
const void *module;
- strNcpy(myentry.name, module_name, sizeof(myentry.name));
+ strlcpy(myentry.name, module_name, sizeof(myentry.name));
node = rbtree_finddata(module_tree, &myentry);
if (node) return node;
/* make room for the module type */
node = rad_malloc(sizeof(*node));
memset(node, 0, sizeof(*node));
- strNcpy(node->name, module_name, sizeof(node->name));
+ strlcpy(node->name, module_name, sizeof(node->name));
node->module = module;
node->handle = handle;
* We're done. Fill in the rest of the data structure,
* and link it to the module instance list.
*/
- strNcpy(node->name, instname, sizeof(node->name));
+ strlcpy(node->name, instname, sizeof(node->name));
#ifdef HAVE_PTHREAD_H
/*
* Keep a copy of the the User-Password attribute.
*/
if ((vp = pairfind(radclient->request->vps, PW_USER_PASSWORD)) != NULL) {
- strNcpy(radclient->password, vp->vp_strvalue,
+ strlcpy(radclient->password, vp->vp_strvalue,
sizeof(radclient->password));
/*
* Otherwise keep a copy of the CHAP-Password attribute.
*/
} else if ((vp = pairfind(radclient->request->vps, PW_CHAP_PASSWORD)) != NULL) {
- strNcpy(radclient->password, vp->vp_strvalue,
+ strlcpy(radclient->password, vp->vp_strvalue,
sizeof(radclient->password));
} else {
radclient->password[0] = '\0';
VALUE_PAIR *vp;
if ((vp = pairfind(radclient->request->vps, PW_USER_PASSWORD)) != NULL) {
- strNcpy(vp->vp_strvalue, radclient->password,
+ strlcpy(vp->vp_strvalue, radclient->password,
sizeof(vp->vp_strvalue));
vp->length = strlen(vp->vp_strvalue);
* AND vp->length != 17
* AND rad_chap_encode() != vp->vp_octets
*/
- strNcpy(vp->vp_strvalue, radclient->password,
+ strlcpy(vp->vp_strvalue, radclient->password,
sizeof(vp->vp_strvalue));
vp->length = strlen(vp->vp_strvalue);
pairfree(&(stopreq->packet->vps)); \
return 0; \
} \
- strNcpy((char *)vp->vp_strvalue, v, sizeof vp->vp_strvalue); \
+ strlcpy((char *)vp->vp_strvalue, v, sizeof vp->vp_strvalue); \
vp->length = strlen(v); \
pairadd(&(stopreq->packet->vps), vp); \
} while(0)
switch (type) {
case PW_TYPE_STRING :
- strNcpy(out,"_",outlen);
+ strlcpy(out,"_",outlen);
break;
case PW_TYPE_INTEGER :
- strNcpy(out,"0",outlen);
+ strlcpy(out,"0",outlen);
break;
case PW_TYPE_IPADDR :
- strNcpy(out,"?.?.?.?",outlen);
+ strlcpy(out,"?.?.?.?",outlen);
break;
case PW_TYPE_IPV6ADDR :
- strNcpy(out,":?:",outlen);
+ strlcpy(out,":?:",outlen);
break;
case PW_TYPE_DATE :
- strNcpy(out,"0",outlen);
+ strlcpy(out,"0",outlen);
break;
default :
- strNcpy(out,"unknown_type",outlen);
+ strlcpy(out,"unknown_type",outlen);
}
return strlen(out);
}
if (!p) return 0;
if (strlen(fmt) > sizeof(buffer)) return 0;
- strNcpy(buffer, fmt, p - fmt + 1);
+ strlcpy(buffer, fmt, p - fmt + 1);
da = dict_attrbyname(buffer);
if (!da) return 0;
*/
case PW_REQUEST_PROCESSING_STAGE:
if (request->component) {
- strNcpy(out, request->component, outlen);
+ strlcpy(out, request->component, outlen);
} else {
- strNcpy(out, "server_core", outlen);
+ strlcpy(out, "server_core", outlen);
}
return strlen(out);
* Copy UP TO "freespace" bytes, including
* a zero byte.
*/
- strNcpy(out, regex, outlen);
+ strlcpy(out, regex, outlen);
return strlen(out);
}
#endif /* HAVE_REGEX_H */
return &dict_xlat;
}
- strNcpy(my_xlat.module, module, sizeof(my_xlat.module));
+ strlcpy(my_xlat.module, module, sizeof(my_xlat.module));
my_xlat.length = strlen(my_xlat.module);
return rbtree_finddata(xlat_root, &my_xlat);
/*
* If it already exists, replace the instance.
*/
- strNcpy(my_xlat.module, module, sizeof(my_xlat.module));
+ strlcpy(my_xlat.module, module, sizeof(my_xlat.module));
my_xlat.length = strlen(my_xlat.module);
c = rbtree_finddata(xlat_root, &my_xlat);
if (c) {
memset(c, 0, sizeof(*c));
c->do_xlat = func;
- strNcpy(c->module, module, sizeof(c->module));
+ strlcpy(c->module, module, sizeof(c->module));
c->length = strlen(c->module);
c->instance = instance;
if (!module) return;
- strNcpy(my_xlat.module, module, sizeof(my_xlat.module));
+ strlcpy(my_xlat.module, module, sizeof(my_xlat.module));
my_xlat.length = strlen(my_xlat.module);
node = rbtree_find(xlat_root, &my_xlat);
TM = localtime_r(&request->timestamp, &s_TM);
len = strftime(tmpdt, sizeof(tmpdt), "%d", TM);
if (len > 0) {
- strNcpy(q, tmpdt, freespace);
+ strlcpy(q, tmpdt, freespace);
q += strlen(q);
}
p++;
case 'l': /* request timestamp */
snprintf(tmpdt, sizeof(tmpdt), "%lu",
(unsigned long) request->timestamp);
- strNcpy(q,tmpdt,freespace);
+ strlcpy(q,tmpdt,freespace);
q += strlen(q);
p++;
break;
TM = localtime_r(&request->timestamp, &s_TM);
len = strftime(tmpdt, sizeof(tmpdt), "%m", TM);
if (len > 0) {
- strNcpy(q, tmpdt, freespace);
+ strlcpy(q, tmpdt, freespace);
q += strlen(q);
}
p++;
CTIME_R(&request->timestamp, tmpdt, sizeof(tmpdt));
nl = strchr(tmpdt, '\n');
if (nl) *nl = '\0';
- strNcpy(q, tmpdt, freespace);
+ strlcpy(q, tmpdt, freespace);
q += strlen(q);
p++;
break;
p++;
break;
case 'A': /* radacct_dir */
- strNcpy(q,radacct_dir,freespace-1);
+ strlcpy(q,radacct_dir,freespace-1);
q += strlen(q);
p++;
break;
case 'C': /* ClientName */
- strNcpy(q,client_name_old(&request->packet->src_ipaddr),freespace-1);
+ strlcpy(q,client_name_old(&request->packet->src_ipaddr),freespace-1);
q += strlen(q);
p++;
break;
TM = localtime_r(&request->timestamp, &s_TM);
len = strftime(tmpdt, sizeof(tmpdt), "%Y%m%d", TM);
if (len > 0) {
- strNcpy(q, tmpdt, freespace);
+ strlcpy(q, tmpdt, freespace);
q += strlen(q);
}
p++;
TM = localtime_r(&request->timestamp, &s_TM);
len = strftime(tmpdt, sizeof(tmpdt), "%H", TM);
if (len > 0) {
- strNcpy(q, tmpdt, freespace);
+ strlcpy(q, tmpdt, freespace);
q += strlen(q);
}
p++;
break;
case 'L': /* radlog_dir */
- strNcpy(q,radlog_dir,freespace-1);
+ strlcpy(q,radlog_dir,freespace-1);
q += strlen(q);
p++;
break;
p++;
break;
case 'R': /* radius_dir */
- strNcpy(q,radius_dir,freespace-1);
+ strlcpy(q,radius_dir,freespace-1);
q += strlen(q);
p++;
break;
TM = localtime_r(&request->timestamp, &s_TM);
len = strftime(tmpdt, sizeof(tmpdt), "%Y-%m-%d %H:%M:%S", TM);
if (len > 0) {
- strNcpy(q, tmpdt, freespace);
+ strlcpy(q, tmpdt, freespace);
q += strlen(q);
}
p++;
TM = localtime_r(&request->timestamp, &s_TM);
len = strftime(tmpdt, sizeof(tmpdt), "%Y-%m-%d-%H.%M.%S.000000", TM);
if (len > 0) {
- strNcpy(q, tmpdt, freespace);
+ strlcpy(q, tmpdt, freespace);
q += strlen(q);
}
p++;
break;
case 'V': /* Request-Authenticator */
if (request->packet->verified)
- strNcpy(q,"Verified",freespace-1);
+ strlcpy(q,"Verified",freespace-1);
else
- strNcpy(q,"None",freespace-1);
+ strlcpy(q,"None",freespace-1);
q += strlen(q);
p++;
break;
TM = localtime_r(&request->timestamp, &s_TM);
len = strftime(tmpdt, sizeof(tmpdt), "%Y", TM);
if (len > 0) {
- strNcpy(q, tmpdt, freespace);
+ strlcpy(q, tmpdt, freespace);
q += strlen(q);
}
p++;
* Keep a copy of the the User-Password attribute.
*/
if ((vp = pairfind(rep->vps, PW_CLEARTEXT_PASSWORD)) != NULL) {
- strNcpy(password, (char *)vp->vp_strvalue, sizeof(vp->vp_strvalue));
+ strlcpy(password, (char *)vp->vp_strvalue, sizeof(vp->vp_strvalue));
} else if ((vp = pairfind(rep->vps, PW_USER_PASSWORD)) != NULL) {
- strNcpy(password, (char *)vp->vp_strvalue, sizeof(vp->vp_strvalue));
+ strlcpy(password, (char *)vp->vp_strvalue, sizeof(vp->vp_strvalue));
/*
* Otherwise keep a copy of the CHAP-Password attribute.
*/
} else if ((vp = pairfind(rep->vps, PW_CHAP_PASSWORD)) != NULL) {
- strNcpy(password, (char *)vp->vp_strvalue, sizeof(vp->vp_strvalue));
+ strlcpy(password, (char *)vp->vp_strvalue, sizeof(vp->vp_strvalue));
} else {
*password = '\0';
}
if (*password != '\0') {
if ((vp = pairfind(rep->vps, PW_CLEARTEXT_PASSWORD)) != NULL) {
- strNcpy((char *)vp->vp_strvalue, password, strlen(password) + 1);
+ strlcpy((char *)vp->vp_strvalue, password, strlen(password) + 1);
vp->length = strlen(password);
} else if ((vp = pairfind(rep->vps, PW_USER_PASSWORD)) != NULL) {
- strNcpy((char *)vp->vp_strvalue, password, strlen(password) + 1);
+ strlcpy((char *)vp->vp_strvalue, password, strlen(password) + 1);
vp->length = strlen(password);
} else if ((vp = pairfind(rep->vps, PW_CHAP_PASSWORD)) != NULL) {
- strNcpy((char *)vp->vp_strvalue, password, strlen(password) + 1);
+ strlcpy((char *)vp->vp_strvalue, password, strlen(password) + 1);
vp->length = strlen(password);
rad_chap_encode(rep, (char *) vp->vp_strvalue, rep->id, vp);
ret = strcmp(name + namelen - len,
(char *)check->vp_strvalue);
if (ret == 0 && rest) {
- strNcpy(rest, name, namelen - len + 1);
+ strlcpy(rest, name, namelen - len + 1);
}
break;
}
if (inst->default_profile || user_profile){
char *profile = inst->default_profile;
- strNcpy(filter,inst->base_filter,sizeof(filter));
+ strlcpy(filter,inst->base_filter,sizeof(filter));
if (user_profile)
profile = user_profile->vp_strvalue;
if (profile && strlen(profile)){
if (inst->profile_attr){
if ((vals = ldap_get_values(conn->ld, msg, inst->profile_attr)) != NULL) {
unsigned int i=0;
- strNcpy(filter,inst->base_filter,sizeof(filter));
+ strlcpy(filter,inst->base_filter,sizeof(filter));
while(vals[i] != NULL && strlen(vals[i])){
if ((res = perform_search(instance, conn,
vals[i], LDAP_SCOPE_BASE,
ldap_release_conn(conn_id,inst->conns);
return RLM_MODULE_FAIL;
}
- strNcpy(passwd_item->vp_strvalue, value,
+ strlcpy(passwd_item->vp_strvalue, value,
sizeof(passwd_item->vp_strvalue));
passwd_item->length = strlen(passwd_item->vp_strvalue);
pairadd(&request->config_items,passwd_item);
}
if (do_xlat) {
newpair->flags.do_xlat = 1;
- strNcpy(newpair->vp_strvalue, buf,
+ strlcpy(newpair->vp_strvalue, buf,
sizeof(newpair->vp_strvalue));
newpair->length = 0;
}
p = strchr(user_name->vp_strvalue, '.');
if (!p) {
DEBUG2(" rlm_mschap: setting NT-Domain to same as machine name");
- strNcpy(out, user_name->vp_strvalue + 5, outlen);
+ strlcpy(out, user_name->vp_strvalue + 5, outlen);
} else {
p++; /* skip the period */
q = strchr(p, '.');
* only if another period was found
*/
if (q) *q = '\0';
- strNcpy(out, p, outlen);
+ strlcpy(out, p, outlen);
if (q) *q = '.';
}
} else {
* Hack. This is simpler than the alternatives.
*/
*p = '\0';
- strNcpy(out, user_name->vp_strvalue, outlen);
+ strlcpy(out, user_name->vp_strvalue, outlen);
*p = '\\';
}
} else {
p = user_name->vp_strvalue; /* use the whole User-Name */
}
- strNcpy(out, p, outlen);
+ strlcpy(out, p, outlen);
}
return strlen(out);
*/
rcode = policy_evaluate_name(state, this->lhs);
data = lrad_int2str(policy_return_codes, rcode, "???");
- strNcpy(lhs_buffer, data, sizeof(lhs_buffer)); /* FIXME: yuck */
+ strlcpy(lhs_buffer, data, sizeof(lhs_buffer)); /* FIXME: yuck */
} else if (this->lhs_type == POLICY_LEX_DOUBLE_QUOTED_STRING) {
if (radius_xlat(lhs_buffer, sizeof(lhs_buffer), this->lhs,
state->request, NULL) > 0) {
/*
* See if we're including all of the files in a subdirectory.
*/
- strNcpy(buffer, lexer->filename, sizeof(buffer));
+ strlcpy(buffer, lexer->filename, sizeof(buffer));
p = strrchr(buffer, '/');
if (p) {
- strNcpy(p + 1, filename, sizeof(buffer) - 1 - (p - buffer));
+ strlcpy(p + 1, filename, sizeof(buffer) - 1 - (p - buffer));
} else {
snprintf(buffer, sizeof(buffer), "%s/%s",
radius_dir, filename);
/*
* See if we're including all of the files in a subdirectory.
*/
- strNcpy(buffer, lexer->filename, sizeof(buffer));
+ strlcpy(buffer, lexer->filename, sizeof(buffer));
p = strrchr(buffer, '/');
if (p) {
- strNcpy(p + 1, filename, sizeof(buffer) - 1 - (p - buffer));
+ strlcpy(p + 1, filename, sizeof(buffer) - 1 - (p - buffer));
#ifdef HAVE_DIRENT_H
p = strrchr(p + 1, '/');
if (dp->d_name[0] == '.') continue;
if (strchr(dp->d_name, '~') != NULL) continue;
- strNcpy(p, dp->d_name,
+ strlcpy(p, dp->d_name,
sizeof(buffer) - (p - buffer));
if ((stat(buffer, &buf) != 0) ||
* value field, we use only the value on
* the right side of the '=' character.
*/
- strNcpy(newattr, ptr + 1, sizeof(newattr));
- strNcpy((char *)vp->vp_strvalue, newattr,
+ strlcpy(newattr, ptr + 1, sizeof(newattr));
+ strlcpy((char *)vp->vp_strvalue, newattr,
sizeof(vp->vp_strvalue));
vp->length = strlen((char *)vp->vp_strvalue);
}
* FIXME: should we handle this as a REALM ?
*/
if ((ptr = strchr(namepair->vp_strvalue, '\\')) != NULL) {
- strNcpy(newname, ptr + 1, sizeof(newname));
+ strlcpy(newname, ptr + 1, sizeof(newname));
/* Same size */
strcpy(namepair->vp_strvalue, newname);
namepair->length = strlen(newname);
r = RLM_MODULE_FAIL;
}
- strNcpy(vp->vp_strvalue, i->name,
+ strlcpy(vp->vp_strvalue, i->name,
sizeof(vp->vp_strvalue));
vp->length = strlen(vp->vp_strvalue);
break;
case PW_CALLING_STATION_ID:
if(inst->callerid_ok)
- strNcpy(ut.caller_id,
+ strlcpy(ut.caller_id,
(char *)vp->vp_strvalue,
sizeof(ut.caller_id));
break;
char session_id[sizeof(u.session_id) + 1];
char utmp_login[sizeof(u.login) + 1];
- strNcpy(session_id, u.session_id, sizeof(session_id));
+ strlcpy(session_id, u.session_id, sizeof(session_id));
/*
* The login name MAY fill the whole field,
* and the NAS says "no", because "BOB"
* is using the port.
*/
- strNcpy(utmp_login, u.login, sizeof(u.login));
+ strlcpy(utmp_login, u.login, sizeof(u.login));
/*
* rad_check_ts may take seconds
write(walk->fd, &utmp, sizeof(utmp));
- strNcpy(myUser.login, utmp.login, sizeof(myUser.login));
+ strlcpy(myUser.login, utmp.login, sizeof(myUser.login));
user = rbtree_finddata(walk->inst->user_tree, &myUser);
rad_assert(user != NULL);
rad_assert(user->simul_count > 0);
* Adds a trailing \0, so myUser.login has
* an extra char allocated..
*/
- strNcpy(myUser.login, utmp.login, sizeof(myUser.login));
+ strlcpy(myUser.login, utmp.login, sizeof(myUser.login));
user = rbtree_finddata(inst->user_tree, &myUser);
if (user) {
user->simul_count++;
* to the tree.
*/
user = rad_malloc(sizeof(user));
- strNcpy(user->login, utmp.login,
+ strlcpy(user->login, utmp.login,
sizeof(user->login));
user->simul_count = 1;
break;
case PW_CALLING_STATION_ID:
if(inst->callerid_ok)
- strNcpy(utmp.caller_id,
+ strlcpy(utmp.caller_id,
(char *)vp->vp_strvalue,
sizeof(utmp.caller_id));
break;
return RLM_MODULE_NOOP;
}
- strNcpy(utmp.login, buffer, RUT_NAMESIZE);
+ strlcpy(utmp.login, buffer, RUT_NAMESIZE);
/*
* First, try to open the file. If it doesn't exist,
* to the tree.
*/
user = rad_malloc(sizeof(user));
- strNcpy(user->login, utmp.login,
+ strlcpy(user->login, utmp.login,
sizeof(user->login));
user->simul_count = 1;
rbtree_deletebydata(cache->nas_ports,
nas_port);
- strNcpy(myUser.login,
+ strlcpy(myUser.login,
u.login, sizeof(myUser.login));
user = rbtree_finddata(inst->user_tree,
&myUser);
*/
request->simul_count = 0;
- strNcpy(myUser.login, login, sizeof(myUser.login));
+ strlcpy(myUser.login, login, sizeof(myUser.login));
pthread_mutex_lock(&inst->cache.mutex);
user = rbtree_finddata(inst->user_tree, &myUser);
if (user) request->simul_count = user->simul_count;
char session_id[sizeof(u.session_id) + 1];
char utmp_login[sizeof(u.login) + 1];
- strNcpy(session_id, u.session_id, sizeof(session_id));
+ strlcpy(session_id, u.session_id, sizeof(session_id));
/*
* The login name MAY fill the whole field,
* and the NAS says "no", because "BOB"
* is using the port.
*/
- strNcpy(utmp_login, u.login, sizeof(u.login));
+ strlcpy(utmp_login, u.login, sizeof(u.login));
/*
* rad_check_ts may take seconds
* We will be modifing this later, so we want our own copy
* of it.
*/
- strNcpy(namebuf, (char *)request->username->vp_strvalue, sizeof(namebuf));
+ strlcpy(namebuf, (char *)request->username->vp_strvalue, sizeof(namebuf));
username = namebuf;
switch(inst->format)
inst->config->xlat_name);
/* NAS query isn't xlat'ed */
- strNcpy(querystr, inst->config->nas_query, sizeof(querystr));
+ strlcpy(querystr, inst->config->nas_query, sizeof(querystr));
DEBUG("rlm_sql (%s) in generate_sql_clients: query is %s",
inst->config->xlat_name, querystr);
pairdelete(&request->packet->vps, PW_SQL_USER_NAME);
if (username != NULL) {
- strNcpy(tmpuser, username, MAX_STRING_LEN);
+ strlcpy(tmpuser, username, MAX_STRING_LEN);
} else if (strlen(inst->config->query_user)) {
radius_xlat(tmpuser, sizeof(tmpuser), inst->config->query_user, request, NULL);
} else {
return 0;
}
- strNcpy(sqlusername, tmpuser, MAX_STRING_LEN);
+ strlcpy(sqlusername, tmpuser, MAX_STRING_LEN);
DEBUG2("rlm_sql (%s): sql_set_user escaped user --> '%s'",
inst->config->xlat_name, sqlusername);
vp = pairmake("SQL-User-Name", sqlusername, 0);
group_list_tmp = group_list_tmp->next;
}
group_list_tmp->next = NULL;
- strNcpy(group_list_tmp->groupname, row[0], MAX_STRING_LEN);
+ strlcpy(group_list_tmp->groupname, row[0], MAX_STRING_LEN);
}
(inst->module->sql_finish_select_query)(sqlsocket, inst->config);
}
if (do_xlat) {
pair->flags.do_xlat = 1;
- strNcpy(pair->vp_strvalue, buf, sizeof(pair->vp_strvalue));
+ strlcpy(pair->vp_strvalue, buf, sizeof(pair->vp_strvalue));
pair->length = 0;
}
pairdelete(&request->packet->vps, PW_SQL_USER_NAME);
if (username != NULL) {
- strNcpy(tmpuser, username, MAX_STRING_LEN);
+ strlcpy(tmpuser, username, MAX_STRING_LEN);
} else if (inst->sql_user_name[0] != '\0') {
radius_xlat(tmpuser, sizeof(tmpuser), inst->sql_user_name,
request, NULL);
}
if (tmpuser[0] != '\0') {
- strNcpy(sqlusername, tmpuser, sizeof(tmpuser));
+ strlcpy(sqlusername, tmpuser, sizeof(tmpuser));
DEBUG2("rlm_sql_log (%s): sql_set_user escaped user --> '%s'",
inst->name, sqlusername);
vp = pairmake("SQL-User-Name", sqlusername, 0);
*q++ = *p;
case 'b': /* last_reset */
snprintf(tmpdt, sizeof(tmpdt), "%lu", data->last_reset);
- strNcpy(q, tmpdt, freespace);
+ strlcpy(q, tmpdt, freespace);
q += strlen(q);
break;
case 'e': /* reset_time */
snprintf(tmpdt, sizeof(tmpdt), "%lu", data->reset_time);
- strNcpy(q, tmpdt, freespace);
+ strlcpy(q, tmpdt, freespace);
q += strlen(q);
break;
case 'k': /* Key Name */
- strNcpy(q, data->key_name, freespace);
+ strlcpy(q, data->key_name, freespace);
q += strlen(q);
break;
case 'S': /* SQL module instance */
- strNcpy(q, data->sqlmod_inst, freespace);
+ strlcpy(q, data->sqlmod_inst, freespace);
q += strlen(q);
break;
default:
*q++ = *p;
break;
case 'P': /* pool name */
- strNcpy(q, data->pool_name, freespace);
+ strlcpy(q, data->pool_name, freespace);
q += strlen(q);
break;
case 'I': /* IP address */
if (param && param_len > 0) {
if (param_len > freespace) {
- strNcpy(q, param, freespace);
+ strlcpy(q, param, freespace);
q += strlen(q);
}
else {
break;
case 'J': /* lease duration */
sprintf(tmp, "%d", data->lease_duration);
- strNcpy(q, tmp, freespace);
+ strlcpy(q, tmp, freespace);
q += strlen(q);
break;
default:
if (vp->length >= sizeof(ut.ut_name)) {
memcpy(ut.ut_name, (char *)vp->vp_strvalue, sizeof(ut.ut_name));
} else {
- strNcpy(ut.ut_name, (char *)vp->vp_strvalue, sizeof(ut.ut_name));
+ strlcpy(ut.ut_name, (char *)vp->vp_strvalue, sizeof(ut.ut_name));
}
break;
case PW_LOGIN_IP_HOST:
* and address so that the tty field is unique.
*/
sprintf(buf, "%03d:%s", nas_port, s);
- strNcpy(ut.ut_line, buf, sizeof(ut.ut_line));
+ strlcpy(ut.ut_line, buf, sizeof(ut.ut_line));
/*
* We store the dynamic IP address in the hostname field.