Secured sprintf with snprintf

This commit is contained in:
Michiel Broek 2005-08-29 15:00:13 +00:00
parent aa738f3abe
commit 96252654b8
5 changed files with 139 additions and 139 deletions

View File

@ -4,7 +4,7 @@
* Purpose ...............: Setup Protocols.
*
*****************************************************************************
* Copyright (C) 1997-2004
* Copyright (C) 1997-2005
*
* Michiel Broek FIDO: 2:280/2802
* Beekmansbos 10
@ -55,7 +55,7 @@ int CountProtocol(void)
char ffile[PATH_MAX];
int count;
sprintf(ffile, "%s/etc/protocol.data", getenv("MBSE_ROOT"));
snprintf(ffile, PATH_MAX, "%s/etc/protocol.data", getenv("MBSE_ROOT"));
if ((fil = fopen(ffile, "r")) == NULL) {
if ((fil = fopen(ffile, "a+")) != NULL) {
Syslog('+', "Created new %s", ffile);
@ -67,49 +67,49 @@ int CountProtocol(void)
* Write default set of protocols
*/
memset(&PROT, 0, sizeof(PROT));
sprintf(PROT.ProtKey, "A");
sprintf(PROT.ProtName, "Ymodem");
snprintf(PROT.ProtKey, 2, "A");
snprintf(PROT.ProtName, 21, "Ymodem");
if (strlen(_PATH_SB) && strlen(_PATH_RB)) {
sprintf(PROT.ProtUp, "%s -v", _PATH_RB);
sprintf(PROT.ProtDn, "%s -v -u", _PATH_SB);
snprintf(PROT.ProtUp, 51, "%s -v", _PATH_RB);
snprintf(PROT.ProtDn, 51, "%s -v -u", _PATH_SB);
} else {
sprintf(PROT.ProtUp, "/usr/bin/rb -v");
sprintf(PROT.ProtDn, "/usr/bin/sb -v -u");
snprintf(PROT.ProtUp, 51, "/usr/bin/rb -v");
snprintf(PROT.ProtDn, 51, "/usr/bin/sb -v -u");
}
PROT.Available = FALSE;
sprintf(PROT.Advice, "Press Ctrl-X to abort");
snprintf(PROT.Advice, 31, "Press Ctrl-X to abort");
PROT.Efficiency = 75;
fwrite(&PROT, sizeof(PROT), 1, fil);
sprintf(PROT.ProtKey, "B");
sprintf(PROT.ProtName, "Ymodem-1K");
snprintf(PROT.ProtKey, 2, "B");
snprintf(PROT.ProtName, 21, "Ymodem-1K");
if (strlen(_PATH_SB) && strlen(_PATH_RB)) {
sprintf(PROT.ProtUp, "%s -k -v", _PATH_RB);
sprintf(PROT.ProtDn, "%s -k -v -u", _PATH_SB);
snprintf(PROT.ProtUp, 51, "%s -k -v", _PATH_RB);
snprintf(PROT.ProtDn, 51, "%s -k -v -u", _PATH_SB);
} else {
sprintf(PROT.ProtUp, "/usr/bin/rb -k -v");
sprintf(PROT.ProtDn, "/usr/bin/sb -k -v -u");
snprintf(PROT.ProtUp, 51, "/usr/bin/rb -k -v");
snprintf(PROT.ProtDn, 51, "/usr/bin/sb -k -v -u");
}
PROT.Efficiency = 82;
fwrite(&PROT, sizeof(PROT), 1, fil);
sprintf(PROT.ProtKey, "C");
sprintf(PROT.ProtName, "Zmodem");
snprintf(PROT.ProtKey, 2, "C");
snprintf(PROT.ProtName, 21, "Zmodem");
if (strlen(_PATH_SZ) && strlen(_PATH_RZ)) {
sprintf(PROT.ProtUp, "%s -p -v", _PATH_RZ);
sprintf(PROT.ProtDn, "%s -b -q -r -u", _PATH_SZ);
snprintf(PROT.ProtUp, 51, "%s -p -v", _PATH_RZ);
snprintf(PROT.ProtDn, 51, "%s -b -q -r -u", _PATH_SZ);
} else {
sprintf(PROT.ProtUp, "/usr/bin/rz -p -v");
sprintf(PROT.ProtDn, "/usr/bin/sz -b -q -r -u");
snprintf(PROT.ProtUp, 51, "/usr/bin/rz -p -v");
snprintf(PROT.ProtDn, 51, "/usr/bin/sz -b -q -r -u");
}
PROT.Efficiency = 98;
fwrite(&PROT, sizeof(PROT), 1, fil);
sprintf(PROT.ProtKey, "L");
sprintf(PROT.ProtName, "Local disk");
sprintf(PROT.ProtUp, "%s/bin/rf", getenv("MBSE_ROOT"));
sprintf(PROT.ProtDn, "%s/bin/sf", getenv("MBSE_ROOT"));
sprintf(PROT.Advice, "It goes before you know");
snprintf(PROT.ProtKey, 2, "L");
snprintf(PROT.ProtName, 21, "Local disk");
snprintf(PROT.ProtUp, 51, "%s/bin/rf", getenv("MBSE_ROOT"));
snprintf(PROT.ProtDn, 51, "%s/bin/sf", getenv("MBSE_ROOT"));
snprintf(PROT.Advice, 31, "It goes before you know");
PROT.Level.level = 32000;
PROT.Efficiency = 100;
fwrite(&PROT, sizeof(PROT), 1, fil);
@ -117,36 +117,36 @@ int CountProtocol(void)
memset(&PROT, 0, sizeof(PROT));
PROT.Internal = TRUE;
PROT.Available = TRUE;
sprintf(PROT.Advice, "Press Ctrl-X to abort");
sprintf(PROT.ProtKey, "1");
sprintf(PROT.ProtName, "Ymodem-1K");
snprintf(PROT.Advice, 31, "Press Ctrl-X to abort");
snprintf(PROT.ProtKey, 2, "1");
snprintf(PROT.ProtName, 21, "Ymodem-1K");
PROT.Efficiency = 82;
fwrite(&PROT, sizeof(PROT), 1, fil);
sprintf(PROT.ProtKey, "8");
sprintf(PROT.ProtName, "Zmodem-8K (ZedZap)");
snprintf(PROT.ProtKey, 2, "8");
snprintf(PROT.ProtName, 21, "Zmodem-8K (ZedZap)");
PROT.Efficiency = 99;
fwrite(&PROT, sizeof(PROT), 1, fil);
sprintf(PROT.ProtKey, "G");
sprintf(PROT.ProtName, "Ymodem-G");
snprintf(PROT.ProtKey, 2, "G");
snprintf(PROT.ProtName, 21, "Ymodem-G");
PROT.Efficiency = 90;
fwrite(&PROT, sizeof(PROT), 1, fil);
PROT.Available = FALSE;
sprintf(PROT.ProtKey, "X");
sprintf(PROT.ProtName, "Xmodem");
snprintf(PROT.ProtKey, 2, "X");
snprintf(PROT.ProtName, 21, "Xmodem");
PROT.Efficiency = 75;
fwrite(&PROT, sizeof(PROT), 1, fil);
PROT.Available = TRUE;
sprintf(PROT.ProtKey, "Y");
sprintf(PROT.ProtName, "Ymodem");
snprintf(PROT.ProtKey, 2, "Y");
snprintf(PROT.ProtName, 21, "Ymodem");
PROT.Efficiency = 75;
fwrite(&PROT, sizeof(PROT), 1, fil);
sprintf(PROT.ProtKey, "Z");
sprintf(PROT.ProtName, "Zmodem");
snprintf(PROT.ProtKey, 2, "Z");
snprintf(PROT.ProtName, 21, "Zmodem");
PROT.Efficiency = 92;
fwrite(&PROT, sizeof(PROT), 1, fil);
@ -182,8 +182,8 @@ int OpenProtocol(void)
long oldsize;
int AddInt = TRUE;
sprintf(fnin, "%s/etc/protocol.data", getenv("MBSE_ROOT"));
sprintf(fnout, "%s/etc/protocol.temp", getenv("MBSE_ROOT"));
snprintf(fnin, PATH_MAX, "%s/etc/protocol.data", getenv("MBSE_ROOT"));
snprintf(fnout, PATH_MAX, "%s/etc/protocol.temp", getenv("MBSE_ROOT"));
if ((fin = fopen(fnin, "r")) != NULL) {
if ((fout = fopen(fnout, "w")) != NULL) {
fread(&PROThdr, sizeof(PROThdr), 1, fin);
@ -233,7 +233,7 @@ int OpenProtocol(void)
*/
if (strstr(usedkeys, PROT.ProtKey)) {
Syslog('+', "Change external protocol %s key %s to %c", PROT.ProtName, PROT.ProtKey, newkey);
sprintf(PROT.ProtKey, "%c", newkey);
snprintf(PROT.ProtKey, 2, "%c", newkey);
newkey++;
ProtUpdated = 1;
}
@ -252,36 +252,36 @@ int OpenProtocol(void)
memset(&PROT, 0, sizeof(PROT));
PROT.Internal = TRUE;
PROT.Available = TRUE;
sprintf(PROT.Advice, "Press Ctrl-X to abort");
sprintf(PROT.ProtKey, "1");
sprintf(PROT.ProtName, "Ymodem-1K");
snprintf(PROT.Advice, 31, "Press Ctrl-X to abort");
snprintf(PROT.ProtKey, 2,"1");
snprintf(PROT.ProtName, 21,"Ymodem-1K");
PROT.Efficiency = 82;
fwrite(&PROT, sizeof(PROT), 1, fout);
sprintf(PROT.ProtKey, "8");
sprintf(PROT.ProtName, "Zmodem-8K (ZedZap)");
snprintf(PROT.ProtKey, 2,"8");
snprintf(PROT.ProtName, 21,"Zmodem-8K (ZedZap)");
PROT.Efficiency = 99;
fwrite(&PROT, sizeof(PROT), 1, fout);
sprintf(PROT.ProtKey, "G");
sprintf(PROT.ProtName, "Ymodem-G");
snprintf(PROT.ProtKey, 2,"G");
snprintf(PROT.ProtName, 21,"Ymodem-G");
PROT.Efficiency = 90;
fwrite(&PROT, sizeof(PROT), 1, fout);
PROT.Available = FALSE;
sprintf(PROT.ProtKey, "X");
sprintf(PROT.ProtName, "Xmodem");
snprintf(PROT.ProtKey, 2,"X");
snprintf(PROT.ProtName, 21,"Xmodem");
PROT.Efficiency = 75;
fwrite(&PROT, sizeof(PROT), 1, fout);
PROT.Available = TRUE;
sprintf(PROT.ProtKey, "Y");
sprintf(PROT.ProtName, "Ymodem");
snprintf(PROT.ProtKey, 2,"Y");
snprintf(PROT.ProtName, 21,"Ymodem");
PROT.Efficiency = 75;
fwrite(&PROT, sizeof(PROT), 1, fout);
sprintf(PROT.ProtKey, "Z");
sprintf(PROT.ProtName, "Zmodem");
snprintf(PROT.ProtKey, 2,"Z");
snprintf(PROT.ProtName, 21,"Zmodem");
PROT.Efficiency = 92;
fwrite(&PROT, sizeof(PROT), 1, fout);
ProtRecords += 6;
@ -307,8 +307,8 @@ void CloseProtocol(int force)
FILE *fi, *fo;
st_list *pro = NULL, *tmp;
sprintf(fin, "%s/etc/protocol.data", getenv("MBSE_ROOT"));
sprintf(fout,"%s/etc/protocol.temp", getenv("MBSE_ROOT"));
snprintf(fin, PATH_MAX, "%s/etc/protocol.data", getenv("MBSE_ROOT"));
snprintf(fout, PATH_MAX, "%s/etc/protocol.temp", getenv("MBSE_ROOT"));
if (ProtUpdated == 1) {
if (force || (yes_no((char *)"Database is changed, save changes") == 1)) {
@ -353,7 +353,7 @@ int AppendProtocol(void)
FILE *fil;
char ffile[PATH_MAX];
sprintf(ffile, "%s/etc/protocol.temp", getenv("MBSE_ROOT"));
snprintf(ffile, PATH_MAX, "%s/etc/protocol.temp", getenv("MBSE_ROOT"));
if ((fil = fopen(ffile, "a")) != NULL) {
memset(&PROT, 0, sizeof(PROT));
fwrite(&PROT, sizeof(PROT), 1, fil);
@ -402,7 +402,7 @@ int EditProtRec(int Area)
working(1, 0, 0);
IsDoing("Edit Protocol");
sprintf(mfile, "%s/etc/protocol.temp", getenv("MBSE_ROOT"));
snprintf(mfile, PATH_MAX, "%s/etc/protocol.temp", getenv("MBSE_ROOT"));
if ((fil = fopen(mfile, "r")) == NULL) {
working(2, 0, 0);
return -1;
@ -535,7 +535,7 @@ void EditProtocol(void)
mbse_mvprintw( 5, 6, "8.5 PROTOCOL SETUP");
set_color(CYAN, BLACK);
if (ProtRecords != 0) {
sprintf(temp, "%s/etc/protocol.temp", getenv("MBSE_ROOT"));
snprintf(temp, PATH_MAX, "%s/etc/protocol.temp", getenv("MBSE_ROOT"));
working(1, 0, 0);
if ((fil = fopen(temp, "r")) != NULL) {
fread(&PROThdr, sizeof(PROThdr), 1, fil);
@ -552,7 +552,7 @@ void EditProtocol(void)
set_color(CYAN, BLACK);
else
set_color(LIGHTBLUE, BLACK);
sprintf(temp, "%3d. %1s %-20s %s %3d %-30s %5d", i, PROT.ProtKey, PROT.ProtName,
snprintf(temp, 81, "%3d. %1s %-20s %s %3d %-30s %5d", i, PROT.ProtKey, PROT.ProtName,
PROT.Internal?"Int":"Ext", PROT.Efficiency, PROT.Advice, PROT.Level.level);
mbse_mvprintw(y, 4, temp);
y++;
@ -628,11 +628,11 @@ char *PickProtocol(int nr)
clr_index();
set_color(WHITE, BLACK);
sprintf(temp, "%d. PROTOCOL SELECT", nr);
snprintf(temp, 81, "%d. PROTOCOL SELECT", nr);
mbse_mvprintw( 5, 4, temp);
set_color(CYAN, BLACK);
if (ProtRecords) {
sprintf(temp, "%s/etc/protocol.data", getenv("MBSE_ROOT"));
snprintf(temp, PATH_MAX, "%s/etc/protocol.data", getenv("MBSE_ROOT"));
working(1, 0, 0);
if ((fil = fopen(temp, "r")) != NULL) {
fread(&PROThdr, sizeof(PROThdr), 1, fil);
@ -652,7 +652,7 @@ char *PickProtocol(int nr)
set_color(CYAN, BLACK);
else
set_color(LIGHTBLUE, BLACK);
sprintf(temp, "%3d. %s %-30s", i, PROT.ProtKey, PROT.ProtName);
snprintf(temp, 81, "%3d. %s %-30s", i, PROT.ProtKey, PROT.ProtName);
temp[37] = '\0';
mbse_mvprintw(i + 6, x, temp);
y++;
@ -683,7 +683,7 @@ int bbs_prot_doc(FILE *fp, FILE *toc, int page)
FILE *wp, *ip, *no;
int j;
sprintf(temp, "%s/etc/protocol.data", getenv("MBSE_ROOT"));
snprintf(temp, PATH_MAX, "%s/etc/protocol.data", getenv("MBSE_ROOT"));
if ((no = fopen(temp, "r")) == NULL)
return page;
@ -708,7 +708,7 @@ int bbs_prot_doc(FILE *fp, FILE *toc, int page)
j = 0;
}
sprintf(temp, "protocol_%s.html", PROT.ProtKey);
snprintf(temp, 81, "protocol_%s.html", PROT.ProtKey);
fprintf(ip, "<TR><TD><A HREF=\"%s\">%s</A></TD><TD>%s</TD><TD>%s</TD><TD>%s</TD></TR>\n",
temp, PROT.ProtKey, PROT.ProtName, getboolean(PROT.Available), PROT.Internal ? "Internal":"External");
if ((wp = open_webdoc(temp, (char *)"BBS Transfer Protocol", PROT.ProtName))) {
@ -726,7 +726,7 @@ int bbs_prot_doc(FILE *fp, FILE *toc, int page)
add_webtable(wp, (char *)"Available", getboolean(PROT.Available));
add_webtable(wp, (char *)"Internal protocol", getboolean(PROT.Internal));
add_webtable(wp, (char *)"User advice", PROT.Advice);
sprintf(temp, "%d%%", PROT.Efficiency);
snprintf(temp, 81, "%d%%", PROT.Efficiency);
add_webtable(wp, (char *)"Efficiency", temp);
web_secflags(wp, (char *)"Security level", PROT.Level);
fprintf(wp, "</TBODY>\n");

View File

@ -4,7 +4,7 @@
* Purpose ...............: Routing Setup
*
*****************************************************************************
* Copyright (C) 1997-2004
* Copyright (C) 1997-2005
*
* Michiel Broek FIDO: 2:280/2802
* Beekmansbos 10
@ -54,7 +54,7 @@ int CountRoute(void)
int count;
ffile = calloc(PATH_MAX, sizeof(char));
sprintf(ffile, "%s/etc/route.data", getenv("MBSE_ROOT"));
snprintf(ffile, PATH_MAX, "%s/etc/route.data", getenv("MBSE_ROOT"));
if ((fil = fopen(ffile, "r")) == NULL) {
if ((fil = fopen(ffile, "a+")) != NULL) {
Syslog('+', "Created new %s", ffile);
@ -95,8 +95,8 @@ int OpenRoute(void)
fnin = calloc(PATH_MAX, sizeof(char));
fnout = calloc(PATH_MAX, sizeof(char));
sprintf(fnin, "%s/etc/route.data", getenv("MBSE_ROOT"));
sprintf(fnout, "%s/etc/route.temp", getenv("MBSE_ROOT"));
snprintf(fnin, PATH_MAX, "%s/etc/route.data", getenv("MBSE_ROOT"));
snprintf(fnout, PATH_MAX, "%s/etc/route.temp", getenv("MBSE_ROOT"));
if ((fin = fopen(fnin, "r")) != NULL) {
if ((fout = fopen(fnout, "w")) != NULL) {
@ -153,8 +153,8 @@ void CloseRoute(int force)
fin = calloc(PATH_MAX, sizeof(char));
fout = calloc(PATH_MAX, sizeof(char));
sprintf(fin, "%s/etc/route.data", getenv("MBSE_ROOT"));
sprintf(fout,"%s/etc/route.temp", getenv("MBSE_ROOT"));
snprintf(fin, PATH_MAX, "%s/etc/route.data", getenv("MBSE_ROOT"));
snprintf(fout, PATH_MAX, "%s/etc/route.temp", getenv("MBSE_ROOT"));
if (RouteUpdated == 1) {
if (force || (yes_no((char *)"Database is changed, save changes") == 1)) {
@ -203,7 +203,7 @@ int AppendRoute(void)
char *ffile;
ffile = calloc(PATH_MAX, sizeof(char));
sprintf(ffile, "%s/etc/route.temp", getenv("MBSE_ROOT"));
snprintf(ffile, PATH_MAX, "%s/etc/route.temp", getenv("MBSE_ROOT"));
if ((fil = fopen(ffile, "a")) != NULL) {
memset(&route, 0, sizeof(route));
@ -319,7 +319,7 @@ int EditRouteRec(int Area)
IsDoing("Edit Route");
mfile = calloc(PATH_MAX, sizeof(char));
sprintf(mfile, "%s/etc/route.temp", getenv("MBSE_ROOT"));
snprintf(mfile, PATH_MAX, "%s/etc/route.temp", getenv("MBSE_ROOT"));
if ((fil = fopen(mfile, "r")) == NULL) {
working(2, 0, 0);
free(mfile);
@ -439,7 +439,7 @@ void EditRoute(void)
mbse_mvprintw( 5, 4, "19. ROUTING TABLE");
set_color(CYAN, BLACK);
if (records != 0) {
sprintf(temp, "%s/etc/route.temp", getenv("MBSE_ROOT"));
snprintf(temp, PATH_MAX, "%s/etc/route.temp", getenv("MBSE_ROOT"));
working(1, 0, 0);
if ((fil = fopen(temp, "r")) != NULL) {
fread(&routehdr, sizeof(routehdr), 1, fil);
@ -457,7 +457,7 @@ void EditRoute(void)
set_color(CYAN, BLACK);
else
set_color(LIGHTBLUE, BLACK);
sprintf(temp, "%3d. %-25s %s %s", o + i, route.mask, get_routetype(route.routetype), aka2str(route.dest));
snprintf(temp, 81, "%3d. %-25s %s %s", o + i, route.mask, get_routetype(route.routetype), aka2str(route.dest));
// temp[37] = 0;
mbse_mvprintw(y, x, temp);
y++;
@ -516,7 +516,7 @@ int route_doc(FILE *fp, FILE *toc, int page)
int j;
temp = calloc(PATH_MAX, sizeof(char));
sprintf(temp, "%s/etc/route.data", getenv("MBSE_ROOT"));
snprintf(temp, PATH_MAX, "%s/etc/route.data", getenv("MBSE_ROOT"));
if ((no = fopen(temp, "r")) == NULL) {
free(temp);
return page;

View File

@ -4,7 +4,7 @@
* Purpose ...............: Service Setup
*
*****************************************************************************
* Copyright (C) 1997-2004
* Copyright (C) 1997-2005
*
* Michiel Broek FIDO: 2:280/2802
* Beekmansbos 10
@ -51,7 +51,7 @@ int CountService(void)
char ffile[PATH_MAX];
int count;
sprintf(ffile, "%s/etc/service.data", getenv("MBSE_ROOT"));
snprintf(ffile, PATH_MAX, "%s/etc/service.data", getenv("MBSE_ROOT"));
if ((fil = fopen(ffile, "r")) == NULL) {
if ((fil = fopen(ffile, "a+")) != NULL) {
Syslog('+', "Created new %s", ffile);
@ -63,25 +63,25 @@ int CountService(void)
servrec.Action = EMAIL;
servrec.Active = TRUE;
sprintf(servrec.Service, "UUCP");
snprintf(servrec.Service, 16, "UUCP");
fwrite(&servrec, sizeof(servrec), 1, fil);
servrec.Action = AREAMGR;
sprintf(servrec.Service, "areamgr");
snprintf(servrec.Service, 16, "areamgr");
fwrite(&servrec, sizeof(servrec), 1, fil);
sprintf(servrec.Service, "gecho");
snprintf(servrec.Service, 16, "gecho");
fwrite(&servrec, sizeof(servrec), 1, fil);
sprintf(servrec.Service, "fmail");
snprintf(servrec.Service, 16, "fmail");
fwrite(&servrec, sizeof(servrec), 1, fil);
servrec.Action = FILEMGR;
sprintf(servrec.Service, "filemgr");
snprintf(servrec.Service, 16, "filemgr");
fwrite(&servrec, sizeof(servrec), 1, fil);
sprintf(servrec.Service, "allfix");
snprintf(servrec.Service, 16, "allfix");
fwrite(&servrec, sizeof(servrec), 1, fil);
sprintf(servrec.Service, "mbtic");
snprintf(servrec.Service, 16, "mbtic");
fwrite(&servrec, sizeof(servrec), 1, fil);
sprintf(servrec.Service, "raid");
snprintf(servrec.Service, 16, "raid");
fwrite(&servrec, sizeof(servrec), 1, fil);
fclose(fil);
chmod(ffile, 0640);
@ -112,8 +112,8 @@ int OpenService(void)
char fnin[PATH_MAX], fnout[PATH_MAX];
long oldsize;
sprintf(fnin, "%s/etc/service.data", getenv("MBSE_ROOT"));
sprintf(fnout, "%s/etc/service.temp", getenv("MBSE_ROOT"));
snprintf(fnin, PATH_MAX, "%s/etc/service.data", getenv("MBSE_ROOT"));
snprintf(fnout, PATH_MAX, "%s/etc/service.temp", getenv("MBSE_ROOT"));
if ((fin = fopen(fnin, "r")) != NULL) {
if ((fout = fopen(fnout, "w")) != NULL) {
fread(&servhdr, sizeof(servhdr), 1, fin);
@ -160,8 +160,8 @@ void CloseService(int force)
FILE *fi, *fo;
st_list *hat = NULL, *tmp;
sprintf(fin, "%s/etc/service.data", getenv("MBSE_ROOT"));
sprintf(fout,"%s/etc/service.temp", getenv("MBSE_ROOT"));
snprintf(fin, PATH_MAX, "%s/etc/service.data", getenv("MBSE_ROOT"));
snprintf(fout, PATH_MAX, "%s/etc/service.temp", getenv("MBSE_ROOT"));
if (ServiceUpdated == 1) {
if (force || (yes_no((char *)"Database is changed, save changes") == 1)) {
@ -205,7 +205,7 @@ int AppendService(void)
FILE *fil;
char ffile[PATH_MAX];
sprintf(ffile, "%s/etc/service.temp", getenv("MBSE_ROOT"));
snprintf(ffile, PATH_MAX, "%s/etc/service.temp", getenv("MBSE_ROOT"));
if ((fil = fopen(ffile, "a")) != NULL) {
memset(&servrec, 0, sizeof(servrec));
/*
@ -249,7 +249,7 @@ int EditServiceRec(int Area)
working(1, 0, 0);
IsDoing("Edit Service");
sprintf(mfile, "%s/etc/service.temp", getenv("MBSE_ROOT"));
snprintf(mfile, PATH_MAX, "%s/etc/service.temp", getenv("MBSE_ROOT"));
if ((fil = fopen(mfile, "r")) == NULL) {
working(2, 0, 0);
return -1;
@ -341,7 +341,7 @@ void EditService(void)
mbse_mvprintw( 5, 4, "16. SERVICE MANAGER");
set_color(CYAN, BLACK);
if (records != 0) {
sprintf(temp, "%s/etc/service.temp", getenv("MBSE_ROOT"));
snprintf(temp, PATH_MAX, "%s/etc/service.temp", getenv("MBSE_ROOT"));
working(1, 0, 0);
if ((fil = fopen(temp, "r")) != NULL) {
fread(&servhdr, sizeof(servhdr), 1, fil);
@ -361,7 +361,7 @@ void EditService(void)
set_color(CYAN, BLACK);
else
set_color(LIGHTBLUE, BLACK);
sprintf(temp, "%3d. %-15s %s", o+i, servrec.Service, getservice(servrec.Action));
snprintf(temp, 81, "%3d. %-15s %s", o+i, servrec.Service, getservice(servrec.Action));
temp[37] = 0;
mbse_mvprintw(y, x, temp);
y++;
@ -418,7 +418,7 @@ int service_doc(FILE *fp, FILE *toc, int page)
FILE *wp, *no;
int j;
sprintf(temp, "%s/etc/service.data", getenv("MBSE_ROOT"));
snprintf(temp, PATH_MAX, "%s/etc/service.data", getenv("MBSE_ROOT"));
if ((no = fopen(temp, "r")) == NULL)
return page;

View File

@ -4,7 +4,7 @@
* Purpose ...............: Setup TaskManager.
*
*****************************************************************************
* Copyright (C) 1997-2004
* Copyright (C) 1997-2005
*
* Michiel Broek FIDO: 2:280/2802
* Beekmansbos 10
@ -51,7 +51,7 @@ int OpenTask(void)
FILE *fin;
char fnin[PATH_MAX];
sprintf(fnin, "%s/etc/task.data", getenv("MBSE_ROOT"));
snprintf(fnin, PATH_MAX, "%s/etc/task.data", getenv("MBSE_ROOT"));
if ((fin = fopen(fnin, "r")) != NULL) {
fread(&TCFG, sizeof(TCFG), 1, fin);
fclose(fin);
@ -76,7 +76,7 @@ void CloseTask(void)
if (crc1 != crc2) {
if (yes_no((char *)"Configuration is changed, save changes") == 1) {
working(1, 0, 0);
sprintf(fin, "%s/etc/task.data", getenv("MBSE_ROOT"));
snprintf(fin, PATH_MAX, "%s/etc/task.data", getenv("MBSE_ROOT"));
if ((fp = fopen(fin, "w+")) != NULL) {
fwrite(&TCFG, sizeof(TCFG), 1, fp);
fclose(fp);
@ -135,7 +135,7 @@ int EditTask()
show_str(14, 15,40, TCFG.isp_ping1);
show_str(15, 15,40, TCFG.isp_ping2);
show_int(16, 15, TCFG.max_tcp);
sprintf(temp, "%0.2f", TCFG.maxload);
snprintf(temp, 10, "%0.2f", TCFG.maxload);
show_str(17, 15,5, temp);
show_str( 16,56, 5, TCFG.zmh_start);
@ -181,7 +181,7 @@ int task_doc(FILE *fp, FILE *toc, int page)
char temp[PATH_MAX];
FILE *wp, *no;
sprintf(temp, "%s/etc/task.data", getenv("MBSE_ROOT"));
snprintf(temp, PATH_MAX, "%s/etc/task.data", getenv("MBSE_ROOT"));
if ((no = fopen(temp, "r")) == NULL)
return page;
fread(&TCFG, sizeof(TCFG), 1, no);
@ -208,7 +208,7 @@ int task_doc(FILE *fp, FILE *toc, int page)
add_webtable(wp, (char *)"ISP ping host 1", TCFG.isp_ping1);
add_webtable(wp, (char *)"ISP ping host 2", TCFG.isp_ping2);
fprintf(wp, "<TR><TD colspan=2>&nbsp;</TD></TR>\n");
sprintf(temp, "%0.2f", TCFG.maxload);
snprintf(temp, 10, "%0.2f", TCFG.maxload);
add_webtable(wp, (char *)"Maximum system load", temp);
add_webdigit(wp, (char *)"Max TCP/IP connections", TCFG.max_tcp);
fprintf(wp, "</TBODY>\n");

View File

@ -4,7 +4,7 @@
* Purpose ...............: TIC Areas Setup Program
*
*****************************************************************************
* Copyright (C) 1997-2004
* Copyright (C) 1997-2005
*
* Michiel Broek FIDO: 2:280/2802
* Beekmansbos 10
@ -59,7 +59,7 @@ int CountTicarea(void)
char ffile[PATH_MAX];
int count;
sprintf(ffile, "%s/etc/tic.data", getenv("MBSE_ROOT"));
snprintf(ffile, PATH_MAX, "%s/etc/tic.data", getenv("MBSE_ROOT"));
if ((fil = fopen(ffile, "r")) == NULL) {
if ((fil = fopen(ffile, "a+")) != NULL) {
Syslog('+', "Created new %s", ffile);
@ -100,8 +100,8 @@ int OpenTicarea(void)
struct _sysconnect syscon;
int i, oldsystems;
sprintf(fnin, "%s/etc/tic.data", getenv("MBSE_ROOT"));
sprintf(fnout, "%s/etc/tic.temp", getenv("MBSE_ROOT"));
snprintf(fnin, PATH_MAX, "%s/etc/tic.data", getenv("MBSE_ROOT"));
snprintf(fnout, PATH_MAX, "%s/etc/tic.temp", getenv("MBSE_ROOT"));
if ((fin = fopen(fnin, "r")) != NULL) {
if ((fout = fopen(fnout, "w")) != NULL) {
TicUpdated = 0;
@ -188,8 +188,8 @@ void CloseTicarea(int Force)
int i;
struct _sysconnect syscon;
sprintf(fin, "%s/etc/tic.data", getenv("MBSE_ROOT"));
sprintf(fout,"%s/etc/tic.temp", getenv("MBSE_ROOT"));
snprintf(fin, PATH_MAX, "%s/etc/tic.data", getenv("MBSE_ROOT"));
snprintf(fout, PATH_MAX, "%s/etc/tic.temp", getenv("MBSE_ROOT"));
if (TicUpdated == 1) {
if (Force || (yes_no((char *)"Tic areas database is changed, save changes")) == 1) {
@ -240,7 +240,7 @@ int AppendTicarea(void)
struct _sysconnect syscon;
int i;
sprintf(ffile, "%s/etc/tic.temp", getenv("MBSE_ROOT"));
snprintf(ffile, PATH_MAX, "%s/etc/tic.temp", getenv("MBSE_ROOT"));
if ((fil = fopen(ffile, "a")) != NULL) {
memset(&tic, 0, sizeof(tic));
/*
@ -369,10 +369,10 @@ int EditTicConnections(FILE *fil)
status[2] = 'P';
if (System.aka.zone) {
set_color(CYAN,BLACK);
sprintf(temp, "%3d. %s %s", o+i, status, aka2str(System.aka));
snprintf(temp, 81, "%3d. %s %s", o+i, status, aka2str(System.aka));
} else {
set_color(LIGHTBLUE, BLACK);
sprintf(temp, "%3d.", o+i);
snprintf(temp, 81, "%3d.", o+i);
}
mbse_mvprintw(y, x, temp);
y++;
@ -458,7 +458,7 @@ long LoadTicRec(int Area, int work)
if (work)
working(1, 0, 0);
sprintf(mfile, "%s/etc/tic.temp", getenv("MBSE_ROOT"));
snprintf(mfile, PATH_MAX, "%s/etc/tic.temp", getenv("MBSE_ROOT"));
if ((fil = fopen(mfile, "r")) == NULL) {
working(2, 0, 0);
return -1;
@ -502,7 +502,7 @@ int SaveTicRec(int Area, int work)
if (work)
working(1, 0, 0);
sprintf(mfile, "%s/etc/tic.temp", getenv("MBSE_ROOT"));
snprintf(mfile, PATH_MAX, "%s/etc/tic.temp", getenv("MBSE_ROOT"));
if ((fil = fopen(mfile, "r+")) == 0) {
working(2, 0, 0);
return -1;
@ -565,7 +565,7 @@ void TicGlobal(void)
* Build the groups select array
*/
working(1, 0, 0);
sprintf(tfile, "%s/etc/fgroups.data", getenv("MBSE_ROOT"));
snprintf(tfile, PATH_MAX, "%s/etc/fgroups.data", getenv("MBSE_ROOT"));
if ((fil = fopen(tfile, "r")) != NULL) {
fread(&fgrouphdr, sizeof(fgrouphdr), 1, fil);
@ -701,7 +701,7 @@ void TicGlobal(void)
Sc.aka.point = a2.point;
Sc.sendto = TRUE;
Sc.receivefrom = FALSE;
sprintf(Sc.aka.domain, "%s", a2.domain);
snprintf(Sc.aka.domain, 13, "%s", a2.domain);
fwrite(&Sc, sizeof(sysconnect), 1, ttfil);
if (SaveTicRec(areanr, FALSE) == 0) {
Done++;
@ -719,7 +719,7 @@ void TicGlobal(void)
Sc.aka.net = a2.net;
Sc.aka.node = a2.node;
Sc.aka.point = a2.point;
sprintf(Sc.aka.domain, "%s", a2.domain);
snprintf(Sc.aka.domain, 13, "%s", a2.domain);
fseek(ttfil, - sizeof(sysconnect), SEEK_CUR);
fwrite(&Sc, sizeof(sysconnect), 1, ttfil);
if (SaveTicRec(areanr, FALSE) == 0) {
@ -759,7 +759,7 @@ void TicGlobal(void)
tic.Aka.net = CFG.aka[akan].net;
tic.Aka.node = CFG.aka[akan].node;
tic.Aka.point = CFG.aka[akan].point;
sprintf(tic.Aka.domain, "%s", CFG.aka[akan].domain);
snprintf(tic.Aka.domain, 13, "%s", CFG.aka[akan].domain);
if (SaveTicRec(areanr, FALSE) == 0) {
Done++;
Syslog('+', "Area %s now uses aka %s", tic.Name, aka2str(tic.Aka));
@ -828,16 +828,16 @@ int EditTicRec(int Area)
for (;;) {
sprintf(temp, "%s/etc/fareas.data", getenv("MBSE_ROOT"));
snprintf(temp, PATH_MAX, "%s/etc/fareas.data", getenv("MBSE_ROOT"));
if ((fp = fopen(temp, "r")) != NULL) {
fread(&areahdr, sizeof(areahdr), 1, fp);
fseek(fp, ((tic.FileArea - 1) * areahdr.recsize) + areahdr.hdrsize, SEEK_SET);
fread(&area, areahdr.recsize, 1, fp);
sprintf(temp, "%ld: %s", tic.FileArea, area.Name);
snprintf(temp, 81, "%ld: %s", tic.FileArea, area.Name);
temp[24] = '\0';
fclose(fp);
} else {
sprintf(temp, "%ld", tic.FileArea);
snprintf(temp, 81, "%ld", tic.FileArea);
}
set_color(WHITE, BLACK);
@ -1031,7 +1031,7 @@ void EditTicarea(void)
mbse_mvprintw( 5, 3, "10.2 TIC AREA SETUP");
set_color(CYAN, BLACK);
if (records != 0) {
sprintf(temp, "%s/etc/tic.temp", getenv("MBSE_ROOT"));
snprintf(temp, PATH_MAX, "%s/etc/tic.temp", getenv("MBSE_ROOT"));
working(1, 0, 0);
if ((fil = fopen(temp, "r")) != NULL) {
fread(&tichdr, sizeof(tichdr), 1, fil);
@ -1044,11 +1044,11 @@ void EditTicarea(void)
fread(&tic, tichdr.recsize, 1, fil);
if (tic.Active) {
set_color(CYAN, BLACK);
sprintf(temp, "%3d. %-20s %-40s", o + i, tic.Name, tic.
snprintf(temp, 81, "%3d. %-20s %-40s", o + i, tic.Name, tic.
Comment);
} else {
set_color(LIGHTBLUE, BLACK);
sprintf(temp, "%3d.", o + i);
snprintf(temp, 81, "%3d.", o + i);
}
mbse_mvprintw(y, 2, temp);
y++;
@ -1134,12 +1134,12 @@ char *PickTicarea(char *shdr)
for(;;) {
clr_index();
set_color(WHITE, BLACK);
sprintf(temp, "%s. TIC AREA SELECT", shdr);
snprintf(temp, 81, "%s. TIC AREA SELECT", shdr);
mbse_mvprintw(5, 3, temp);
set_color(CYAN, BLACK);
if (records) {
sprintf(temp, "%s/etc/tic.data", getenv("MBSE_ROOT"));
snprintf(temp, PATH_MAX, "%s/etc/tic.data", getenv("MBSE_ROOT"));
working(1, 0, 0);
if ((fil = fopen(temp, "r")) != NULL) {
fread(&tichdr, sizeof(tichdr), 1, fil);
@ -1155,7 +1155,7 @@ char *PickTicarea(char *shdr)
set_color(CYAN, BLACK);
else
set_color(LIGHTBLUE, BLACK);
sprintf(temp, "%3d. %-20s %-40s", o + i, tic.Name, tic.Comment);
snprintf(temp, 81, "%3d. %-20s %-40s", o + i, tic.Name, tic.Comment);
mbse_mvprintw(y, x, temp);
y++;
}
@ -1177,7 +1177,7 @@ char *PickTicarea(char *shdr)
o -= 10;
if ((atoi(pick) >= 1) && (atoi(pick) <= records)) {
sprintf(temp, "%s/etc/tic.data", getenv("MBSE_ROOT"));
snprintf(temp, PATH_MAX, "%s/etc/tic.data", getenv("MBSE_ROOT"));
if ((fil = fopen(temp, "r")) != NULL) {
offset = tichdr.hdrsize + ((atoi(pick) -1) * (tichdr.recsize + tichdr.syssize));
fseek(fil, offset, SEEK_SET);
@ -1185,7 +1185,7 @@ char *PickTicarea(char *shdr)
fclose(fil);
if (tic.Active) {
memset(&Buf, 0, sizeof(Buf));
sprintf(Buf, "%s", tic.Name);
snprintf(Buf, 81, "%s", tic.Name);
return Buf;
}
}
@ -1201,7 +1201,7 @@ int GroupInTic(char *Group)
FILE *no;
int systems, Area = 0, RetVal = 0;
sprintf(temp, "%s/etc/tic.data", getenv("MBSE_ROOT"));
snprintf(temp, PATH_MAX, "%s/etc/tic.data", getenv("MBSE_ROOT"));
if ((no = fopen(temp, "r")) == NULL)
return 0;
@ -1234,7 +1234,7 @@ int NodeInTic(fidoaddr A)
char temp[PATH_MAX];
sysconnect S;
sprintf(temp, "%s/etc/tic.data", getenv("MBSE_ROOT"));
snprintf(temp, PATH_MAX, "%s/etc/tic.data", getenv("MBSE_ROOT"));
if ((no = fopen(temp, "r")) == NULL)
return 0;
@ -1268,7 +1268,7 @@ int tic_areas_doc(FILE *fp, FILE *toc, int page)
int refs, i, k, nr, systems, First = TRUE;
sysconnect System;
sprintf(temp, "%s/etc/tic.data", getenv("MBSE_ROOT"));
snprintf(temp, PATH_MAX, "%s/etc/tic.data", getenv("MBSE_ROOT"));
if ((no = fopen(temp, "r")) == NULL)
return page;
@ -1295,7 +1295,7 @@ int tic_areas_doc(FILE *fp, FILE *toc, int page)
} else
fprintf(fp, "\n\n");
sprintf(temp, "ticarea_%s.html", tic.Name);
snprintf(temp, 81, "ticarea_%s.html", tic.Name);
fprintf(ip, " <TR><TD><A HREF=\"%s\">%s</A></TD><TD>%s</TD><TD>%s</TD></TR>\n",
temp, tic.Name, tic.Comment, getboolean(tic.Active));
if ((wp = open_webdoc(temp, (char *)"TIC Area", tic.Comment))) {
@ -1307,7 +1307,7 @@ int tic_areas_doc(FILE *fp, FILE *toc, int page)
add_webtable(wp, (char *)"Area tag", tic.Name);
add_webtable(wp, (char *)"Active", getboolean(tic.Active));
add_webtable(wp, (char *)"Comment", tic.Comment);
sprintf(temp, "%s/etc/fareas.data", getenv("MBSE_ROOT"));
snprintf(temp, PATH_MAX, "%s/etc/fareas.data", getenv("MBSE_ROOT"));
if ((ti = fopen(temp, "r"))) {
fread(&areahdr, sizeof(areahdr), 1, ti);
fseek(ti, areahdr.hdrsize + (areahdr.recsize * (tic.FileArea -1)), SEEK_SET);
@ -1393,7 +1393,7 @@ int tic_areas_doc(FILE *fp, FILE *toc, int page)
status[2] = 'P';
fprintf(fp, " Link %2d %s %s\n", i+1, status, aka2str(System.aka));
if (wp != NULL) {
sprintf(temp, "%s/etc/nodes.data", getenv("MBSE_ROOT"));
snprintf(temp, PATH_MAX, "%s/etc/nodes.data", getenv("MBSE_ROOT"));
if ((ti = fopen(temp, "r"))) {
fread(&nodeshdr, sizeof(nodeshdr), 1, ti);
fseek(ti, 0, SEEK_SET);
@ -1428,7 +1428,7 @@ int tic_areas_doc(FILE *fp, FILE *toc, int page)
fprintf(wp, "<HR>\n");
fprintf(wp, "<H3>Hatch References</H3>\n");
sprintf(temp, "%s/etc/hatch.data", getenv("MBSE_ROOT"));
snprintf(temp, PATH_MAX, "%s/etc/hatch.data", getenv("MBSE_ROOT"));
nr = refs = 0;
if ((ti = fopen(temp, "r"))) {
fread(&hatchhdr, sizeof(hatchhdr), 1, ti);
@ -1441,7 +1441,7 @@ int tic_areas_doc(FILE *fp, FILE *toc, int page)
fprintf(wp, "<TBODY>\n");
}
refs++;
sprintf(temp, "hatch_%d.html", nr);
snprintf(temp, 81, "hatch_%d.html", nr);
fprintf(wp, "<TR><TD><A HREF=\"%s\">Hatch %d</A></TD><TD>%s</TD></TR>\n",
temp, nr, hatch.Spec);
}
@ -1457,7 +1457,7 @@ int tic_areas_doc(FILE *fp, FILE *toc, int page)
fprintf(wp, "<HR>\n");
fprintf(wp, "<H3>Magic References</H3>\n");
sprintf(temp, "%s/etc/magic.data", getenv("MBSE_ROOT"));
snprintf(temp, PATH_MAX, "%s/etc/magic.data", getenv("MBSE_ROOT"));
nr = refs = 0;
if ((ti = fopen(temp, "r"))) {
fread(&magichdr, sizeof(magichdr), 1, ti);
@ -1470,7 +1470,7 @@ int tic_areas_doc(FILE *fp, FILE *toc, int page)
fprintf(wp, "<TBODY>\n");
}
refs++;
sprintf(temp, "magic_%d.html", nr);
snprintf(temp, 81, "magic_%d.html", nr);
fprintf(wp, "<TR><TD><A HREF=\"%s\">Magic %d</A></TD><TD>(%s) %s</TD></TR>\n",
temp, nr, getmagictype(magic.Attrib), magic.Mask);
}