org[0] = 0;
extrafields[0] = 0;
- strcpy(whatuser, "");
+ safestrncpy(whatuser, "", sizeof whatuser);
if (msgnum >= 0) {
sprintf(buf, "MSG0 %ld|1", msgnum);
serv_puts(buf);
- serv_gets(buf);
+ serv_getln(buf, sizeof buf);
if (buf[0] != '1') {
convenience_page("770000", "Error", &buf[4]);
return;
}
- while (serv_gets(buf), strcmp(buf, "000")) {
+ while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
if (!strncasecmp(buf, "from=", 5)) {
- strcpy(whatuser, &buf[5]);
+ safestrncpy(whatuser, &buf[5], sizeof whatuser);
}
else if (!strncasecmp(buf, "node=", 5)) {
strcat(whatuser, " @ ");
sprintf(buf, "OPNA %ld|%s", msgnum, partnum);
serv_puts(buf);
- serv_gets(buf);
+ serv_getln(buf, sizeof buf);
if (buf[0] != '2') {
convenience_page("770000", "Error", &buf[4]);
return;
read_server_binary(serialized_vcard, total_len);
serv_puts("CLOS");
- serv_gets(buf);
+ serv_getln(buf, sizeof buf);
serialized_vcard[total_len] = 0;
v = vcard_load(serialized_vcard);
value = vcard_get_prop(v, "", 0, i++, 0);
if (!strcasecmp(key, "n")) {
- extract_token(lastname, value, 0, ';');
- extract_token(firstname, value, 1, ';');
- extract_token(middlename, value, 2, ';');
- extract_token(prefix, value, 3, ';');
- extract_token(suffix, value, 4, ';');
+ extract_token(lastname, value, 0, ';', sizeof lastname);
+ extract_token(firstname, value, 1, ';', sizeof firstname);
+ extract_token(middlename, value, 2, ';', sizeof middlename);
+ extract_token(prefix, value, 3, ';', sizeof prefix);
+ extract_token(suffix, value, 4, ';', sizeof suffix);
}
else if (!strcasecmp(key, "title")) {
- strcpy(title, value);
+ safestrncpy(title, value, sizeof title);
}
else if (!strcasecmp(key, "org")) {
- strcpy(org, value);
+ safestrncpy(org, value, sizeof org);
}
else if (!strcasecmp(key, "adr")) {
- extract_token(pobox, value, 0, ';');
- extract_token(extadr, value, 1, ';');
- extract_token(street, value, 2, ';');
- extract_token(city, value, 3, ';');
- extract_token(state, value, 4, ';');
- extract_token(zipcode, value, 5, ';');
- extract_token(country, value, 6, ';');
+ extract_token(pobox, value, 0, ';', sizeof pobox);
+ extract_token(extadr, value, 1, ';', sizeof extadr);
+ extract_token(street, value, 2, ';', sizeof street);
+ extract_token(city, value, 3, ';', sizeof city);
+ extract_token(state, value, 4, ';', sizeof state);
+ extract_token(zipcode, value, 5, ';', sizeof zipcode);
+ extract_token(country, value, 6, ';', sizeof country);
}
else if (!strcasecmp(key, "tel;home")) {
- extract_token(hometel, value, 0, ';');
+ extract_token(hometel, value, 0, ';', sizeof hometel);
}
else if (!strcasecmp(key, "tel;work")) {
- extract_token(worktel, value, 0, ';');
+ extract_token(worktel, value, 0, ';', sizeof worktel);
}
else if (!strcasecmp(key, "email;internet")) {
if (primary_inetemail[0] == 0) {
- strcpy(primary_inetemail, value);
+ safestrncpy(primary_inetemail, value, sizeof primary_inetemail);
}
else {
if (other_inetemail[0] != 0) {
wprintf("<div id=\"banner\">\n"
"<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#444455\"><TR><TD>"
"<SPAN CLASS=\"titlebar\">"
- "<img src=\"/static/vcard.gif\">"
+ "<img src=\"/static/savecontact_48x.gif\">"
"Edit contact information"
"</SPAN>"
"</TD></TR></TABLE>\n"
sprintf(buf, "ENT0 1|||4||");
serv_puts(buf);
- serv_gets(buf);
+ serv_getln(buf, sizeof buf);
if (buf[0] != '4') {
edit_vcard();
return;
serv_printf("email;internet:%s\n", bstr("primary_inetemail"));
for (i=0; i<num_tokens(bstr("other_inetemail"), '\n'); ++i) {
- extract_token(buf, bstr("other_inetemail"), i, '\n');
+ extract_token(buf, bstr("other_inetemail"), i, '\n', sizeof buf);
if (strlen(buf) > 0) {
serv_printf("email;internet:%s", buf);
}