__sip_ack(p, p->packets->seqno, (ast_test_flag(p->packets, FLAG_RESPONSE)), cur->method);
else { /* Unknown packet type */
char *c;
- char method[128]="";
+ char method[128];
ast_copy_string(method, p->packets->data, sizeof(method));
c = ast_skip_blanks(method); /* XXX what ? */
*c = '\0';
/*--- realtime_update_peer: Update peer object in realtime storage ---*/
static void realtime_update_peer(const char *peername, struct sockaddr_in *sin, const char *username, int expirey)
{
- char port[10] = "";
- char ipaddr[20] = "";
+ char port[10];
+ char ipaddr[20];
char regseconds[20] = "0";
if (expirey) { /* Registration */
/*--- register_peer_exten: Automatically add peer extension to dial plan ---*/
static void register_peer_exten(struct sip_peer *peer, int onoff)
{
- char multi[256]="";
+ char multi[256];
char *stringp, *ext;
if (!ast_strlen_zero(regcontext)) {
ast_copy_string(multi, ast_strlen_zero(peer->regexten) ? peer->name : peer->regexten, sizeof(multi));
struct ast_variable *var;
struct ast_variable *tmp;
char *newpeername = (char *) peername;
- char iabuf[80] = "";
+ char iabuf[80];
/* First check on peer name */
if (newpeername)
char *port;
int portno;
char host[MAXHOSTNAMELEN], *hostn;
- char peer[256]="";
+ char peer[256];
ast_copy_string(peer, opeer, sizeof(peer));
port = strchr(peer, ':');
/* Thought: For realtime, we should propably update storage with inuse counter... */
static int update_call_counter(struct sip_pvt *fup, int event)
{
- char name[256] = "";
+ char name[256];
int *inuse, *call_limit;
int outgoing = ast_test_flag(fup, SIP_OUTGOING);
struct sip_user *u = NULL;
{
struct sip_pvt *p;
char *callid;
- char tmp[256] = "";
+ char tmp[256];
char *tag = "", *c;
callid = get_header(req, "Call-ID");
static int sip_register(char *value, int lineno)
{
struct sip_registry *reg;
- char copy[256] = "";
+ char copy[256];
char *username=NULL, *hostname=NULL, *secret=NULL, *authuser=NULL;
char *porta=NULL;
char *contact=NULL;
/*--- copy_via_headers: Copy SIP VIA Headers from one request to another ---*/
static int copy_via_headers(struct sip_pvt *p, struct sip_request *req, struct sip_request *orig, char *field)
{
- char tmp[256]="", *oh, *end;
+ char tmp[256], *oh, *end;
int start = 0;
int copied = 0;
char new[256];
/*--- set_destination: Set destination from SIP URI ---*/
static void set_destination(struct sip_pvt *p, char *uri)
{
- char *h, *maddr, hostname[256] = "";
+ char *h, *maddr, hostname[256];
char iabuf[INET_ADDRSTRLEN];
int port, hn;
struct hostent *hp;
h += 5;
}
hn = strcspn(h, ":;>") + 1;
- if (hn > sizeof(hostname)) hn = sizeof(hostname);
+ if (hn > sizeof(hostname))
+ hn = sizeof(hostname);
ast_copy_string(hostname, h, hn);
h += hn - 1;
/*--- respprep: Prepare SIP response packet ---*/
static int respprep(struct sip_request *resp, struct sip_pvt *p, char *msg, struct sip_request *req)
{
- char newto[256] = "", *ot;
+ char newto[256], *ot;
memset(resp, 0, sizeof(*resp));
init_resp(resp, msg, req);
static int reqprep(struct sip_request *req, struct sip_pvt *p, int sipmethod, int seqno, int newbranch)
{
struct sip_request *orig = &p->initreq;
- char stripped[80] ="";
+ char stripped[80];
char tmp[80];
char newto[256];
char *c, *n;
build_via(p, p->via, sizeof(p->via));
}
-
/* Check for strict or loose router */
if (p->route && !ast_strlen_zero(p->route->hop) && strstr(p->route->hop,";lr") == NULL)
is_strict = 1;
char costr[80];
struct sockaddr_in sin;
struct sockaddr_in vsin;
- char v[256] = "";
- char s[256] = "";
- char o[256] = "";
- char c[256] = "";
- char t[256] = "";
- char m[256] = "";
- char m2[256] = "";
- char a[1024] = "";
- char a2[1024] = "";
+ char v[256];
+ char s[256];
+ char o[256];
+ char c[256];
+ char t[256];
+ char m[256];
+ char m2[256];
+ char a[1024];
+ char a2[1024];
char iabuf[INET_ADDRSTRLEN];
int x = 0;
int capability = 0 ;
/*--- extract_uri: Check Contact: URI of SIP message ---*/
static void extract_uri(struct sip_pvt *p, struct sip_request *req)
{
- char stripped[256]="";
+ char stripped[256];
char *c, *n;
ast_copy_string(stripped, get_header(req, "Contact"), sizeof(stripped));
c = get_in_brackets(stripped);
/*--- parse_ok_contact: Parse contact header for 200 OK on INVITE ---*/
static int parse_ok_contact(struct sip_pvt *pvt, struct sip_request *req)
{
- char contact[250]= "";
+ char contact[250];
char *c, *n, *pt;
int port;
struct hostent *hp;
/*--- parse_contact: Parse contact header and save registration ---*/
static int parse_contact(struct sip_pvt *pvt, struct sip_peer *p, struct sip_request *req)
{
- char contact[80]= "";
+ char contact[80];
char data[256];
char iabuf[INET_ADDRSTRLEN];
char *expires = get_header(req, "Expires");
char a2_hash[256];
char resp[256];
char resp_hash[256]="";
- char tmp[256] = "";
+ char tmp[256];
char *c;
char *z;
char *ua_hash ="";
{
int res = -3;
struct sip_peer *peer;
- char tmp[256] = "";
+ char tmp[256];
char iabuf[INET_ADDRSTRLEN];
char *name, *c;
char *t;
/*--- get_rdnis: get referring dnis ---*/
static int get_rdnis(struct sip_pvt *p, struct sip_request *oreq)
{
- char tmp[256] = "", *c, *a;
+ char tmp[256], *c, *a;
struct sip_request *req;
req = oreq;
static int get_destination(struct sip_pvt *p, struct sip_request *oreq)
{
char tmp[256] = "", *c, *a;
- char tmpf[256]= "", *fr;
+ char tmpf[256], *fr;
struct sip_request *req;
req = oreq;
/*--- get_also_info: Call transfer support (old way, depreciated)--*/
static int get_also_info(struct sip_pvt *p, struct sip_request *oreq)
{
- char tmp[256] = "", *c, *a;
+ char tmp[256], *c, *a;
struct sip_request *req;
req = oreq;
/*--- check_via: check Via: headers ---*/
static int check_via(struct sip_pvt *p, struct sip_request *req)
{
- char via[256] = "";
+ char via[256];
char iabuf[INET_ADDRSTRLEN];
char *c, *pt;
struct hostent *hp;
struct ast_hostent ahp;
- memset(via, 0, sizeof(via));
ast_copy_string(via, get_header(req, "Via"), sizeof(via));
c = strchr(via, ';');
if (c)
{
struct sip_user *user;
struct sip_peer *peer;
- char *of, from[256] = "", *c;
+ char *of, from[256], *c;
char *rpid,rpid_num[50];
char iabuf[INET_ADDRSTRLEN];
int res = 0;
static int sip_show_inuse(int fd, int argc, char *argv[]) {
#define FORMAT "%-25.25s %-15.15s %-15.15s \n"
#define FORMAT2 "%-25.25s %-15.15s %-15.15s \n"
- char ilimits[40] = "";
+ char ilimits[40];
char iused[40];
int showall = 0;
#define FORMAT2 "%-25.25s %-15.15s %-3.3s %-3.3s %-3.3s %-15.15s %-8s %-10s\n"
#define FORMAT "%-25.25s %-15.15s %-3.3s %-3.3s %-3.3s %-15.15s %-8d %-10s\n"
- char name[256] = "";
+ char name[256];
char iabuf[INET_ADDRSTRLEN];
int total_peers = 0;
int peers_online = 0;
/* Doesn't read the duration of the DTMF signal */
static void handle_request_info(struct sip_pvt *p, struct sip_request *req)
{
- char buf[1024] = "";
+ char buf[1024];
unsigned int event;
char resp = 0;
struct ast_frame f;
static int reply_digest(struct sip_pvt *p, struct sip_request *req,
char *header, int sipmethod, char *digest, int digest_len)
{
- char tmp[512] = "";
+ char tmp[512];
char *c;
/* table of recognised keywords, and places where they should be copied */
char a2_hash[256];
char resp[256];
char resp_hash[256];
- char uri[256] = "";
+ char uri[256];
char cnonce[80];
char iabuf[INET_ADDRSTRLEN];
char *username;
/*--- parse_moved_contact: Parse 302 Moved temporalily response */
static void parse_moved_contact(struct sip_pvt *p, struct sip_request *req)
{
- char tmp[256] = "";
+ char tmp[256];
char *s, *e;
ast_copy_string(tmp, get_header(req, "Contact"), sizeof(tmp));
s = get_in_brackets(tmp);
}
memcpy(&p->recv, &sin, sizeof(p->recv));
if (recordhistory) {
- char tmp[80] = "";
+ char tmp[80];
/* This is a response, note what it was for */
snprintf(tmp, sizeof(tmp), "%s / %s", req.data, get_header(&req, "CSeq"));
append_history(p, "Rx", tmp);
static int sip_devicestate(void *data)
{
char *ext, *host;
- char tmp[256] = "";
+ char tmp[256];
char *dest = data;
struct hostent *hp;
struct sip_pvt *p;
struct ast_channel *tmpc = NULL;
char *ext, *host;
- char tmp[256] = "";
+ char tmp[256];
char *dest = data;
oldformat = format;
/*--- add_realm_authentication: Add realm authentication in list ---*/
static struct sip_auth *add_realm_authentication(struct sip_auth *authlist, char *configuration, int lineno)
{
- char authcopy[256] = "";
+ char authcopy[256];
char *username=NULL, *realm=NULL, *secret=NULL, *md5secret=NULL;
char *stringp;
struct sip_auth *auth;
dr[anscnt].techint = map->tech;
dr[anscnt].weight = map->weight;
dr[anscnt].expiration = dundi_cache_time;
- strncpy(dr[anscnt].tech, tech2str(map->tech), sizeof(dr[anscnt].tech));
+ ast_copy_string(dr[anscnt].tech, tech2str(map->tech), sizeof(dr[anscnt].tech));
dr[anscnt].eid = *us_eid;
dundi_eid_to_str(dr[anscnt].eid_str, sizeof(dr[anscnt].eid_str), &dr[anscnt].eid);
if (ast_test_flag(&flags, DUNDI_FLAG_EXISTS)) {
} else {
/* No answers... Find the fewest number of digits from the
number for which we have no answer. */
- char tmp[AST_MAX_EXTENSION]="";
+ char tmp[AST_MAX_EXTENSION];
for (x=0;x<AST_MAX_EXTENSION;x++) {
tmp[x] = called_number[x];
if (!tmp[x])
/* Oops found something we can't match. If this is longer
than the running hint, we have to consider it */
if (strlen(tmp) > strlen(hmd->exten)) {
- strncpy(hmd->exten, tmp, sizeof(hmd->exten) - 1);
+ ast_copy_string(hmd->exten, tmp, sizeof(hmd->exten));
}
break;
}
if (!dundi_eid_cmp(&st->trans->us_eid, &st->reqeid)) {
/* Ooh, it's us! */
ast_log(LOG_DEBUG, "Neat, someone look for us!\n");
- strncpy(dei.orgunit, dept, sizeof(dei.orgunit));
- strncpy(dei.org, org, sizeof(dei.org));
- strncpy(dei.locality, locality, sizeof(dei.locality));
- strncpy(dei.stateprov, stateprov, sizeof(dei.stateprov));
- strncpy(dei.country, country, sizeof(dei.country));
- strncpy(dei.email, email, sizeof(dei.email));
- strncpy(dei.phone, phone, sizeof(dei.phone));
+ ast_copy_string(dei.orgunit, dept, sizeof(dei.orgunit));
+ ast_copy_string(dei.org, org, sizeof(dei.org));
+ ast_copy_string(dei.locality, locality, sizeof(dei.locality));
+ ast_copy_string(dei.stateprov, stateprov, sizeof(dei.stateprov));
+ ast_copy_string(dei.country, country, sizeof(dei.country));
+ ast_copy_string(dei.email, email, sizeof(dei.email));
+ ast_copy_string(dei.phone, phone, sizeof(dei.phone));
res = 1;
} else {
/* If we do not have a canonical result, keep looking */
st = malloc(totallen);
if (st) {
memset(st, 0, totallen);
- strncpy(st->called_context, ies->called_context, sizeof(st->called_context) - 1);
+ ast_copy_string(st->called_context, ies->called_context, sizeof(st->called_context));
memcpy(&st->reqeid, ies->reqeid, sizeof(st->reqeid));
st->trans = trans;
st->ttl = ies->ttl - 1;
char key2[256];
char eidpeer_str[20];
char eidroot_str[20];
- char data[80]="";
+ char data[80];
time_t timeout;
if (expiration < 0)
int x;
char key1[256];
char key2[256];
- char data[1024]="";
+ char data[1024];
char eidpeer_str[20];
char eidroot_str[20];
time_t timeout;
dr.hmd = &hmd;
dr.pfds[0] = dr.pfds[1] = -1;
trans->parent = &dr;
- strncpy(dr.dcontext, ies->called_context ? ies->called_context : "e164", sizeof(dr.dcontext));
- strncpy(dr.number, ies->called_number, sizeof(dr.number) - 1);
+ ast_copy_string(dr.dcontext, ies->called_context ? ies->called_context : "e164", sizeof(dr.dcontext));
+ ast_copy_string(dr.number, ies->called_number, sizeof(dr.number));
for (x=0;x<ies->anscount;x++) {
if (trans->parent->respcount < trans->parent->maxcount) {
dundi_eid_to_str(trans->parent->dr[trans->parent->respcount].eid_str,
sizeof(trans->parent->dr[trans->parent->respcount].eid_str),
&ies->answers[x]->eid);
- strncpy(trans->parent->dr[trans->parent->respcount].dest, (char *)ies->answers[x]->data,
+ ast_copy_string(trans->parent->dr[trans->parent->respcount].dest, (char *)ies->answers[x]->data,
sizeof(trans->parent->dr[trans->parent->respcount].dest));
- strncpy(trans->parent->dr[trans->parent->respcount].tech, tech2str(ies->answers[x]->protocol),
+ ast_copy_string(trans->parent->dr[trans->parent->respcount].tech, tech2str(ies->answers[x]->protocol),
sizeof(trans->parent->dr[trans->parent->respcount].tech));
trans->parent->respcount++;
ast_clear_flag_nonstd(trans->parent->hmd, DUNDI_HINT_DONT_ASK);
st = malloc(totallen);
if (st) {
memset(st, 0, totallen);
- strncpy(st->called_context, ies->called_context, sizeof(st->called_context) - 1);
- strncpy(st->called_number, ies->called_number, sizeof(st->called_number) - 1);
+ ast_copy_string(st->called_context, ies->called_context, sizeof(st->called_context));
+ ast_copy_string(st->called_number, ies->called_number, sizeof(st->called_number));
st->trans = trans;
st->ttl = ies->ttl - 1;
st->nocache = ies->cbypass;
st = malloc(totallen);
if (st) {
memset(st, 0, totallen);
- strncpy(st->called_context, ies->called_context, sizeof(st->called_context) - 1);
- strncpy(st->called_number, ies->called_number, sizeof(st->called_number) - 1);
+ ast_copy_string(st->called_context, ies->called_context, sizeof(st->called_context));
+ ast_copy_string(st->called_number, ies->called_number, sizeof(st->called_number));
st->trans = trans;
st->ttl = ies->ttl - 1;
st->nocache = ies->cbypass;
static int cache_lookup_internal(time_t now, struct dundi_request *req, char *key, char *eid_str_full, int *lowexpiration)
{
- char data[1024]="";
+ char data[1024];
char *ptr, *term, *src;
int tech;
struct ast_flags flags;
dundi_str_short_to_eid(&req->dr[req->respcount].eid, src);
dundi_eid_to_str(req->dr[req->respcount].eid_str,
sizeof(req->dr[req->respcount].eid_str), &req->dr[req->respcount].eid);
- strncpy(req->dr[req->respcount].dest, ptr,
+ ast_copy_string(req->dr[req->respcount].dest, ptr,
sizeof(req->dr[req->respcount].dest));
- strncpy(req->dr[req->respcount].tech, tech2str(tech),
+ ast_copy_string(req->dr[req->respcount].tech, tech2str(tech),
sizeof(req->dr[req->respcount].tech));
req->respcount++;
ast_clear_flag_nonstd(req->hmd, DUNDI_HINT_DONT_ASK);
if (res2) {
if (strlen(tmp) > strlen(req->hmd->exten)) {
/* Update meta data if appropriate */
- strncpy(req->hmd->exten, tmp, sizeof(req->hmd->exten) - 1);
+ ast_copy_string(req->hmd->exten, tmp, sizeof(req->hmd->exten));
}
}
}
dundi_eid_to_str(trans->parent->dr[trans->parent->respcount].eid_str,
sizeof(trans->parent->dr[trans->parent->respcount].eid_str),
&ies.answers[x]->eid);
- strncpy(trans->parent->dr[trans->parent->respcount].dest, (char *)ies.answers[x]->data,
+ ast_copy_string(trans->parent->dr[trans->parent->respcount].dest, (char *)ies.answers[x]->data,
sizeof(trans->parent->dr[trans->parent->respcount].dest));
- strncpy(trans->parent->dr[trans->parent->respcount].tech, tech2str(ies.answers[x]->protocol),
+ ast_copy_string(trans->parent->dr[trans->parent->respcount].tech, tech2str(ies.answers[x]->protocol),
sizeof(trans->parent->dr[trans->parent->respcount].tech));
trans->parent->respcount++;
ast_clear_flag_nonstd(trans->parent->hmd, DUNDI_HINT_DONT_ASK);
ast_set_flag_nonstd(trans->parent->hmd, DUNDI_HINT_TTL_EXPIRED);
if (ast_test_flag_nonstd(ies.hint, htons(DUNDI_HINT_DONT_ASK))) {
if (strlen((char *)ies.hint->data) > strlen(trans->parent->hmd->exten)) {
- strncpy(trans->parent->hmd->exten, (char *)ies.hint->data,
- sizeof(trans->parent->hmd->exten) - 1);
+ ast_copy_string(trans->parent->hmd->exten, (char *)ies.hint->data,
+ sizeof(trans->parent->hmd->exten));
}
} else {
ast_clear_flag_nonstd(trans->parent->hmd, DUNDI_HINT_DONT_ASK);
if (!trans->parent->respcount) {
trans->parent->respcount++;
if (ies.q_dept)
- strncpy(trans->parent->dei->orgunit, ies.q_dept, sizeof(trans->parent->dei->orgunit) - 1);
+ ast_copy_string(trans->parent->dei->orgunit, ies.q_dept, sizeof(trans->parent->dei->orgunit));
if (ies.q_org)
- strncpy(trans->parent->dei->org, ies.q_org, sizeof(trans->parent->dei->org) - 1);
+ ast_copy_string(trans->parent->dei->org, ies.q_org, sizeof(trans->parent->dei->org));
if (ies.q_locality)
- strncpy(trans->parent->dei->locality, ies.q_locality, sizeof(trans->parent->dei->locality) - 1);
+ ast_copy_string(trans->parent->dei->locality, ies.q_locality, sizeof(trans->parent->dei->locality));
if (ies.q_stateprov)
- strncpy(trans->parent->dei->stateprov, ies.q_stateprov, sizeof(trans->parent->dei->stateprov) - 1);
+ ast_copy_string(trans->parent->dei->stateprov, ies.q_stateprov, sizeof(trans->parent->dei->stateprov));
if (ies.q_country)
- strncpy(trans->parent->dei->country, ies.q_country, sizeof(trans->parent->dei->country) - 1);
+ ast_copy_string(trans->parent->dei->country, ies.q_country, sizeof(trans->parent->dei->country));
if (ies.q_email)
- strncpy(trans->parent->dei->email, ies.q_email, sizeof(trans->parent->dei->email) - 1);
+ ast_copy_string(trans->parent->dei->email, ies.q_email, sizeof(trans->parent->dei->email));
if (ies.q_phone)
- strncpy(trans->parent->dei->phone, ies.q_phone, sizeof(trans->parent->dei->phone) - 1);
+ ast_copy_string(trans->parent->dei->phone, ies.q_phone, sizeof(trans->parent->dei->phone));
if (ies.q_ipaddr)
- strncpy(trans->parent->dei->ipaddr, ies.q_ipaddr, sizeof(trans->parent->dei->ipaddr) - 1);
+ ast_copy_string(trans->parent->dei->ipaddr, ies.q_ipaddr, sizeof(trans->parent->dei->ipaddr));
if (!dundi_eid_cmp(&trans->them_eid, &trans->parent->query_eid)) {
/* If it's them, update our address */
ast_inet_ntoa(trans->parent->dei->ipaddr, sizeof(trans->parent->dei->ipaddr),
}
if (current) {
/* Current key is still valid, just setup rotatation properly */
- strncpy(cursecret, current, sizeof(cursecret) - 1);
+ ast_copy_string(cursecret, current, sizeof(cursecret));
rotatetime = expired;
} else {
/* Current key is out of date, rotate or eliminate all together */
#endif
if ((now - rotatetime) >= 0) {
/* Time to rotate keys */
- strncpy(oldsecret, cursecret, sizeof(oldsecret) - 1);
+ ast_copy_string(oldsecret, cursecret, sizeof(oldsecret));
build_secret(cursecret, sizeof(cursecret));
save_secret(cursecret, oldsecret);
}
{
struct dundi_precache_queue *qe;
time_t now;
- char context[256]="";
- char number[256]="";
+ char context[256];
+ char number[256];
int run;
for (;;) {
time(&now);
} else if (pcq->expiration < now) {
/* Process this entry */
pcq->expiration = 0;
- strncpy(context, pcq->context, sizeof(context) - 1);
- strncpy(number, pcq->number, sizeof(number) - 1);
+ ast_copy_string(context, pcq->context, sizeof(context));
+ ast_copy_string(number, pcq->number, sizeof(number));
run = 1;
}
}
static int dundi_do_lookup(int fd, int argc, char *argv[])
{
int res;
- char tmp[256] = "";
+ char tmp[256];
char fs[80] = "";
char *context;
int x;
else
return RESULT_SHOWUSAGE;
}
- strncpy(tmp, argv[2], sizeof(tmp) - 1);
+ ast_copy_string(tmp, argv[2], sizeof(tmp));
context = strchr(tmp, '@');
if (context) {
*context = '\0';
static int dundi_do_precache(int fd, int argc, char *argv[])
{
int res;
- char tmp[256] = "";
+ char tmp[256];
char *context;
struct timeval start;
if ((argc < 3) || (argc > 3))
return RESULT_SHOWUSAGE;
- strncpy(tmp, argv[2], sizeof(tmp) - 1);
+ ast_copy_string(tmp, argv[2], sizeof(tmp));
context = strchr(tmp, '@');
if (context) {
*context = '\0';
static int dundi_do_query(int fd, int argc, char *argv[])
{
int res;
- char tmp[256] = "";
+ char tmp[256];
char *context;
dundi_eid eid;
struct dundi_entity_info dei;
ast_cli(fd, "'%s' is not a valid EID!\n", argv[2]);
return RESULT_SHOWUSAGE;
}
- strncpy(tmp, argv[2], sizeof(tmp) - 1);
+ ast_copy_string(tmp, argv[2], sizeof(tmp));
context = strchr(tmp, '@');
if (context) {
*context = '\0';
ast_mutex_lock(&peerlock);
ast_cli(fd, FORMAT2, "EID", "Host", "Model", "AvgTime", "Status");
for (peer = peers;peer;peer = peer->next) {
- char status[20] = "";
- int print_line = -1;
- char srch[2000] = "";
+ char status[20];
+ int print_line = -1;
+ char srch[2000];
total_peers++;
if (registeredonly && !peer->addr.sin_addr.s_addr)
continue;
if (peer->maxms) {
if (peer->lastms < 0) {
- strncpy(status, "UNREACHABLE", sizeof(status) - 1);
+ strcpy(status, "UNREACHABLE");
offline_peers++;
}
else if (peer->lastms > peer->maxms) {
online_peers++;
}
else {
- strncpy(status, "UNKNOWN", sizeof(status) - 1);
+ strcpy(status, "UNKOWN");
offline_peers++;
}
} else {
- strncpy(status, "Unmonitored", sizeof(status) - 1);
+ strcpy(status, "Unmonitored");
unmonitored_peers++;
}
if (peer->avgms)
dr.expiration = *expiration;
dr.cbypass = cbypass;
dr.crc32 = avoid_crc32(avoid);
- strncpy(dr.dcontext, dcontext ? dcontext : "e164", sizeof(dr.dcontext) - 1);
- strncpy(dr.number, number, sizeof(dr.number) - 1);
+ ast_copy_string(dr.dcontext, dcontext ? dcontext : "e164", sizeof(dr.dcontext));
+ ast_copy_string(dr.number, number, sizeof(dr.number));
if (rooteid)
dr.root_eid = *rooteid;
res = register_request(&dr, &pending);
memset(&dr, 0, sizeof(dr));
memset(&hmd, 0, sizeof(hmd));
dr.dr = dr2;
- strncpy(dr.number, number, sizeof(dr.number) - 1);
- strncpy(dr.dcontext, context ? context : "e164", sizeof(dr.dcontext) - 1);
+ ast_copy_string(dr.number, number, sizeof(dr.number));
+ ast_copy_string(dr.dcontext, context ? context : "e164", sizeof(dr.dcontext));
dr.maxcount = MAX_RESULTS;
dr.expiration = dundi_cache_time;
dr.hmd = &hmd;
dr.hmd = hmd;
dr.dei = dei;
dr.pfds[0] = dr.pfds[1] = -1;
- strncpy(dr.dcontext, dcontext ? dcontext : "e164", sizeof(dr.dcontext) - 1);
+ ast_copy_string(dr.dcontext, dcontext ? dcontext : "e164", sizeof(dr.dcontext));
memcpy(&dr.query_eid, eid, sizeof(dr.query_eid));
if (rooteid)
dr.root_eid = *rooteid;
} /* Russell was here, arrrr! */
if ((x == 1) && ast_strlen_zero(fields[0])) {
/* Placeholder mapping */
- strncpy(map->dcontext, name, sizeof(map->dcontext) - 1);
+ ast_copy_string(map->dcontext, name, sizeof(map->dcontext));
map->dead = 0;
} else if (x >= 4) {
- strncpy(map->dcontext, name, sizeof(map->dcontext) - 1);
- strncpy(map->lcontext, fields[0], sizeof(map->lcontext) - 1);
+ ast_copy_string(map->dcontext, name, sizeof(map->dcontext));
+ ast_copy_string(map->lcontext, fields[0], sizeof(map->lcontext));
if ((sscanf(fields[1], "%d", &map->weight) == 1) && (map->weight >= 0) && (map->weight < 60000)) {
- strncpy(map->dest, fields[3], sizeof(map->dest) - 1);
+ ast_copy_string(map->dest, fields[3], sizeof(map->dest));
if ((map->tech = str2tech(fields[2]))) {
map->dead = 0;
}
peer->registerid = -1;
while(v) {
if (!strcasecmp(v->name, "inkey")) {
- strncpy(peer->inkey, v->value, sizeof(peer->inkey) - 1);
+ ast_copy_string(peer->inkey, v->value, sizeof(peer->inkey));
} else if (!strcasecmp(v->name, "outkey")) {
- strncpy(peer->outkey, v->value, sizeof(peer->outkey) - 1);
+ ast_copy_string(peer->outkey, v->value, sizeof(peer->outkey));
} else if (!strcasecmp(v->name, "host")) {
if (!strcasecmp(v->value, "dynamic")) {
peer->dynamic = 1;
char *cat;
int format;
int x;
- char hn[MAXHOSTNAMELEN]="";
+ char hn[MAXHOSTNAMELEN] = "";
struct ast_hostent he;
struct hostent *hp;
struct sockaddr_in sin2;
ast_mutex_lock(&peerlock);
reset_global_eid();
global_storehistory = 0;
- strncpy(secretpath, "dundi", sizeof(secretpath) - 1);
+ ast_copy_string(secretpath, "dundi", sizeof(secretpath));
v = ast_variable_browse(cfg, "general");
while(v) {
if (!strcasecmp(v->name, "port")){
ast_log(LOG_WARNING, "Invalid tos value at line %d, should be 'lowdelay', 'throughput', 'reliability', or 'none'\n", v->lineno);
#endif
} else if (!strcasecmp(v->name, "department")) {
- strncpy(dept, v->value, sizeof(dept) - 1);
+ ast_copy_string(dept, v->value, sizeof(dept));
} else if (!strcasecmp(v->name, "organization")) {
- strncpy(org, v->value, sizeof(org) - 1);
+ ast_copy_string(org, v->value, sizeof(org));
} else if (!strcasecmp(v->name, "locality")) {
- strncpy(locality, v->value, sizeof(locality) - 1);
+ ast_copy_string(locality, v->value, sizeof(locality));
} else if (!strcasecmp(v->name, "stateprov")) {
- strncpy(stateprov, v->value, sizeof(stateprov) - 1);
+ ast_copy_string(stateprov, v->value, sizeof(stateprov));
} else if (!strcasecmp(v->name, "country")) {
- strncpy(country, v->value, sizeof(country) - 1);
+ ast_copy_string(country, v->value, sizeof(country));
} else if (!strcasecmp(v->name, "email")) {
- strncpy(email, v->value, sizeof(email) - 1);
+ ast_copy_string(email, v->value, sizeof(email));
} else if (!strcasecmp(v->name, "phone")) {
- strncpy(phone, v->value, sizeof(phone) - 1);
+ ast_copy_string(phone, v->value, sizeof(phone));
} else if (!strcasecmp(v->name, "storehistory")) {
global_storehistory = ast_true(v->value);
} else if (!strcasecmp(v->name, "cachetime")) {