Updated global structure
This commit is contained in:
parent
ce7cfbbc72
commit
fb977d8b12
@ -46,9 +46,11 @@ v0.39.5 24-Dec-2003
|
|||||||
Added setting in menu 7.x.3.18 to disable the use of binkp/1.1
|
Added setting in menu 7.x.3.18 to disable the use of binkp/1.1
|
||||||
protocol per node.
|
protocol per node.
|
||||||
Corrected a spelling error (thanks Vince).
|
Corrected a spelling error (thanks Vince).
|
||||||
|
Removed global setup screen for the ftp server.
|
||||||
|
|
||||||
mbtask:
|
mbtask:
|
||||||
Changed slow ping logmessages from 5 to 10 seconds.
|
Changed slow ping logmessages from 5 to 10 seconds.
|
||||||
|
Removed default settings for the ftp server.
|
||||||
|
|
||||||
script:
|
script:
|
||||||
Fixed NetBSD init script
|
Fixed NetBSD init script
|
||||||
|
@ -737,28 +737,28 @@ struct sysconfig {
|
|||||||
char extra5[96];
|
char extra5[96];
|
||||||
dual phonetrans[40]; /* Phone translation table */
|
dual phonetrans[40]; /* Phone translation table */
|
||||||
|
|
||||||
/* FTP Daemon */
|
/* Obsolete FTP Daemon */
|
||||||
int ftp_limit; /* Connections limit */
|
int xftp_limit;
|
||||||
int ftp_loginfails; /* Maximum login fails */
|
int xftp_loginfails;
|
||||||
unsigned ftp_compress : 1; /* Allow compress */
|
unsigned xftp_compress : 1;
|
||||||
unsigned ftp_tar : 1; /* Allow tar */
|
unsigned xftp_tar : 1;
|
||||||
unsigned ftp_upl_mkdir : 1; /* Allow mkdir */
|
unsigned xftp_upl_mkdir : 1;
|
||||||
unsigned ftp_log_cmds : 1; /* Log user commands */
|
unsigned xftp_log_cmds : 1;
|
||||||
unsigned ftp_anonymousok : 1; /* Allow anonymous logins */
|
unsigned xftp_anonymousok: 1;
|
||||||
unsigned ftp_mbseok : 1; /* Allow mbse user login */
|
unsigned xftp_mbseok : 1;
|
||||||
unsigned ftp_x7 : 1;
|
unsigned xftp_x7 : 1;
|
||||||
unsigned ftp_x8 : 1;
|
unsigned xftp_x8 : 1;
|
||||||
unsigned ftp_x9 : 1;
|
unsigned xftp_x9 : 1;
|
||||||
char ftp_readme_login[21]; /* Readme file for login */
|
char xftp_readme_login[21];
|
||||||
char ftp_readme_cwd[21]; /* Readme file for cwd */
|
char xftp_readme_cwd[21];
|
||||||
char ftp_msg_login[21]; /* Message file for login */
|
char xftp_msg_login[21];
|
||||||
char ftp_msg_cwd[21]; /* Message file for cwd */
|
char xftp_msg_cwd[21];
|
||||||
char ftp_msg_shutmsg[41]; /* Shutdown message */
|
char xftp_msg_shutmsg[41];
|
||||||
char ftp_upl_path[81]; /* Upload path */
|
char xftp_upl_path[81];
|
||||||
char ftp_banner[81]; /* Banner file */
|
char xftp_banner[81];
|
||||||
char ftp_email[41]; /* Email address */
|
char xftp_email[41];
|
||||||
char ftp_pth_filter[41]; /* Path filter expression */
|
char xftp_pth_filter[41];
|
||||||
char ftp_pth_message[81]; /* Message to display */
|
char xftp_pth_message[81];
|
||||||
|
|
||||||
/* HTML creation */
|
/* HTML creation */
|
||||||
char www_root[81]; /* HTML doc root */
|
char www_root[81]; /* HTML doc root */
|
||||||
@ -804,6 +804,8 @@ struct sysconfig {
|
|||||||
|
|
||||||
char rulesdir[65]; /* Area rules directory */
|
char rulesdir[65]; /* Area rules directory */
|
||||||
char debuglog[15]; /* Debug logfile */
|
char debuglog[15]; /* Debug logfile */
|
||||||
|
char tmailshort[65]; /* T-Mail short filebox base*/
|
||||||
|
char tmaillong[65]; /* T-Mail long filebox base */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
|
$Id$
|
||||||
|
|
||||||
This is the README file for mbcico, the fidonet mailer for MBSE BBS.
|
This is the README file for mbcico, the fidonet mailer for MBSE BBS.
|
||||||
|
|
||||||
This is a heavily patched version of ifcico from the ifmail package written
|
This is based on ifcico from the ifmail package written by Eugene G. Crosser
|
||||||
by Eugene G. Crosser (crosser@pccross.msk.su), 2:5020/230@fidonet. He deserves
|
(crosser@pccross.msk.su), 2:5020/230@fidonet. He deserves most of the credits
|
||||||
most of the credits for this product.
|
for this product.
|
||||||
|
|
||||||
Many others have contributed to the original ifcico and utilities. This
|
Many others have contributed to the original ifcico and utilities. This
|
||||||
version doesn't use the original config file anymore, it uses the databases
|
version doesn't use the original config file anymore, it uses the databases
|
||||||
@ -10,17 +12,12 @@ that are maintained with mbsetup. Also, mail behaviour is different then
|
|||||||
in ifcico.
|
in ifcico.
|
||||||
|
|
||||||
I wrote this special version to let it fully integrate with all the other
|
I wrote this special version to let it fully integrate with all the other
|
||||||
programs that are distributed with MBSE BBS, so mbcico will hopefully function
|
programs that are distributed with MBSE BBS, so that mbcico will function
|
||||||
in a multiline environment with mixed analogue modems and ISDN lines.
|
in a multiline environment with mixed analogue modems, ISDN lines and internet.
|
||||||
|
|
||||||
The reason why I changed the name of this program is only to show that there
|
The reason why I changed the name of this program is only to show that there
|
||||||
is a real difference in the behavior and configuration compared with ifcico.
|
is a real difference in the behavior and configuration compared with ifcico.
|
||||||
|
|
||||||
If you insist on running the original ifcico on your system, it is still
|
|
||||||
possible, I used it myself during the development of MBSE BBS. You need to
|
|
||||||
run ifcico as the mbse admin user in the bbs group. Also make sure that the
|
|
||||||
order of the nodelists is exactly the same in ifcico and MBSE BBS.
|
|
||||||
|
|
||||||
The following people donated code to the original ifcico, this list is
|
The following people donated code to the original ifcico, this list is
|
||||||
not complete. It is possible that I forgot someone, but these are the names
|
not complete. It is possible that I forgot someone, but these are the names
|
||||||
that I found in the several ifmail packages.
|
that I found in the several ifmail packages.
|
||||||
|
@ -111,6 +111,7 @@ int ext_rand = 0;
|
|||||||
|
|
||||||
the_queue *tql = NULL; /* The Queue List */
|
the_queue *tql = NULL; /* The Queue List */
|
||||||
file_list *tosend = NULL; /* Files to send */
|
file_list *tosend = NULL; /* Files to send */
|
||||||
|
file_list *respond = NULL; /* Requests honored */
|
||||||
binkp_list *bll = NULL; /* Files to send with status */
|
binkp_list *bll = NULL; /* Files to send with status */
|
||||||
static binkp_list *cursend = NULL; /* Current file being transmitted */
|
static binkp_list *cursend = NULL; /* Current file being transmitted */
|
||||||
|
|
||||||
@ -1219,7 +1220,6 @@ TrType binkp_transmitter(void)
|
|||||||
file_list *tsl;
|
file_list *tsl;
|
||||||
static binkp_list *tmp;
|
static binkp_list *tmp;
|
||||||
|
|
||||||
|
|
||||||
Syslog('B', "Binkp: transmitter state %s", txstate[bp.TxState]);
|
Syslog('B', "Binkp: transmitter state %s", txstate[bp.TxState]);
|
||||||
|
|
||||||
if (bp.TxState == TxGNF) {
|
if (bp.TxState == TxGNF) {
|
||||||
@ -1241,6 +1241,9 @@ TrType binkp_transmitter(void)
|
|||||||
|
|
||||||
eff_remote = remote;
|
eff_remote = remote;
|
||||||
tosend = create_filelist(eff_remote, nonhold_mail, 0);
|
tosend = create_filelist(eff_remote, nonhold_mail, 0);
|
||||||
|
respond = respond_wazoo();
|
||||||
|
for (tsl = tosend; tsl->next; tsl = tsl ->next);
|
||||||
|
tsl->next = respond;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Build a new filelist from the existing filelist.
|
* Build a new filelist from the existing filelist.
|
||||||
@ -2112,7 +2115,9 @@ void binkp_clear_filelist(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
tidy_filelist(tosend, TRUE);
|
tidy_filelist(tosend, TRUE);
|
||||||
|
tidy_filelist(respond, 0);
|
||||||
tosend = NULL;
|
tosend = NULL;
|
||||||
|
respond = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* Purpose ...............: Global Setup Program
|
* Purpose ...............: Global Setup Program
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2003
|
* Copyright (C) 1997-2004
|
||||||
*
|
*
|
||||||
* Michiel Broek FIDO: 2:280/2802
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
* Beekmansbos 10
|
* Beekmansbos 10
|
||||||
@ -599,7 +599,7 @@ void e_flags(int Users)
|
|||||||
if (Users)
|
if (Users)
|
||||||
mvprintw( 5, 6, "1.6 EDIT USER FLAG DESCRIPTIONS");
|
mvprintw( 5, 6, "1.6 EDIT USER FLAG DESCRIPTIONS");
|
||||||
else
|
else
|
||||||
mvprintw( 5, 6, "1.17 EDIT MANAGER FLAG DESCRIPTIONS");
|
mvprintw( 5, 6, "1.16 EDIT MANAGER FLAG DESCRIPTIONS");
|
||||||
|
|
||||||
set_color(CYAN, BLACK);
|
set_color(CYAN, BLACK);
|
||||||
for (i = 0; i < 32; i++) {
|
for (i = 0; i < 32; i++) {
|
||||||
@ -1334,87 +1334,11 @@ void e_mailer(void)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void e_ftpd(void)
|
|
||||||
{
|
|
||||||
clr_index();
|
|
||||||
set_color(WHITE, BLACK);
|
|
||||||
mvprintw( 5, 2, "1.15 EDIT FTPD SETTINGS");
|
|
||||||
set_color(CYAN, BLACK);
|
|
||||||
mvprintw( 7, 2, "1. Upload pth");
|
|
||||||
mvprintw( 8, 2, "2. Banner msg");
|
|
||||||
mvprintw( 9, 2, "3. Pth filter");
|
|
||||||
mvprintw(10, 2, "4. Pth msg");
|
|
||||||
mvprintw(11, 2, "5. Email addr");
|
|
||||||
mvprintw(12, 2, "6. Shutdown");
|
|
||||||
mvprintw(13, 2, "7. Rdm login");
|
|
||||||
mvprintw(14, 2, "8. Rdm cwd*");
|
|
||||||
mvprintw(15, 2, "9. Msg login");
|
|
||||||
mvprintw(16, 1,"10. Msg cwd*");
|
|
||||||
mvprintw(17, 1,"11. Userslimit");
|
|
||||||
mvprintw(18, 1,"12. Loginfails");
|
|
||||||
|
|
||||||
mvprintw(13,60,"13. Compress");
|
|
||||||
mvprintw(14,60,"14. Tar");
|
|
||||||
mvprintw(15,60,"15. Mkdir ok");
|
|
||||||
mvprintw(16,60,"16. Log cmds");
|
|
||||||
mvprintw(17,60,"17. Anonymous");
|
|
||||||
mvprintw(18,60,"18. User mbse");
|
|
||||||
|
|
||||||
set_color(WHITE, BLACK);
|
|
||||||
show_str( 7,18,59, CFG.ftp_upl_path);
|
|
||||||
show_str( 8,18,59, CFG.ftp_banner);
|
|
||||||
show_str( 9,18,40, CFG.ftp_pth_filter);
|
|
||||||
show_str(10,18,59, CFG.ftp_pth_message);
|
|
||||||
show_str(11,18,40, CFG.ftp_email);
|
|
||||||
show_str(12,18,40, CFG.ftp_msg_shutmsg);
|
|
||||||
show_str(13,18,20, CFG.ftp_readme_login);
|
|
||||||
show_str(14,18,20, CFG.ftp_readme_cwd);
|
|
||||||
show_str(15,18,20, CFG.ftp_msg_login);
|
|
||||||
show_str(16,18,20, CFG.ftp_msg_cwd);
|
|
||||||
show_int(17,18, CFG.ftp_limit);
|
|
||||||
show_int(18,18, CFG.ftp_loginfails);
|
|
||||||
|
|
||||||
show_bool(13,75, CFG.ftp_compress);
|
|
||||||
show_bool(14,75, CFG.ftp_tar);
|
|
||||||
show_bool(15,75, CFG.ftp_upl_mkdir);
|
|
||||||
show_bool(16,75, CFG.ftp_log_cmds);
|
|
||||||
show_bool(17,75, CFG.ftp_anonymousok);
|
|
||||||
show_bool(18,75, CFG.ftp_mbseok);
|
|
||||||
|
|
||||||
for (;;) {
|
|
||||||
set_color(WHITE, BLACK);
|
|
||||||
|
|
||||||
switch(select_menu(18)) {
|
|
||||||
case 0: return;
|
|
||||||
case 1: E_STR( 7,18,59, CFG.ftp_upl_path, "Public ^upload^ path, must be in the base path")
|
|
||||||
case 2: E_STR( 8,18,59, CFG.ftp_banner, "^Banner^ file to show before login")
|
|
||||||
case 3: E_STR( 9,18,40, CFG.ftp_pth_filter, "^Filter^ with allowed characters in upload filename")
|
|
||||||
case 4: E_STR(10,18,59, CFG.ftp_pth_message, "^Message^ to display if illegal characters in filename")
|
|
||||||
case 5: E_STR(11,18,40, CFG.ftp_email, "^Email^ address of the ftp server administrator")
|
|
||||||
case 6: E_STR(12,18,40, CFG.ftp_msg_shutmsg, "^Shutdown message^, if this file is present, login if forbidden")
|
|
||||||
case 7: E_STR(13,18,20, CFG.ftp_readme_login,"^README^ file to display at login")
|
|
||||||
case 8: E_STR(14,18,20, CFG.ftp_readme_cwd, "^README^ file to display when entering a new directory")
|
|
||||||
case 9: E_STR(15,18,20, CFG.ftp_msg_login, "^Message^ file to display at login")
|
|
||||||
case 10:E_STR(16,18,20, CFG.ftp_msg_cwd, "^Message^ file to display when entering a new directory")
|
|
||||||
case 11:E_INT(17,18, CFG.ftp_limit, "^Limit^ the number of concurent ftp users")
|
|
||||||
case 12:E_INT(18,18, CFG.ftp_loginfails, "Maximum ^login fails^ before a user is disconnected")
|
|
||||||
case 13:E_BOOL(13,75, CFG.ftp_compress, "Allow the use of the ^compress^ command")
|
|
||||||
case 14:E_BOOL(14,75, CFG.ftp_tar, "Allow the use if the ^tar^ command")
|
|
||||||
case 15:E_BOOL(15,75, CFG.ftp_upl_mkdir, "Allow ^mkdir^ in the upload directory")
|
|
||||||
case 16:E_BOOL(16,75, CFG.ftp_log_cmds, "^Log^ all user ^commands^")
|
|
||||||
case 17:E_BOOL(17,75, CFG.ftp_anonymousok, "Allow ^anonymous^ users to login")
|
|
||||||
case 18:E_BOOL(18,75, CFG.ftp_mbseok, "Allow the ^mbse^ user to login")
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void e_html(void)
|
void e_html(void)
|
||||||
{
|
{
|
||||||
clr_index();
|
clr_index();
|
||||||
set_color(WHITE, BLACK);
|
set_color(WHITE, BLACK);
|
||||||
mvprintw( 5, 2, "1.16 EDIT HTML SETTINGS");
|
mvprintw( 5, 2, "1.15 EDIT HTML SETTINGS");
|
||||||
set_color(CYAN, BLACK);
|
set_color(CYAN, BLACK);
|
||||||
mvprintw( 7, 2, "1. Docs root");
|
mvprintw( 7, 2, "1. Docs root");
|
||||||
mvprintw( 8, 2, "2. Link to ftp");
|
mvprintw( 8, 2, "2. Link to ftp");
|
||||||
@ -1517,18 +1441,17 @@ void global_menu(void)
|
|||||||
mvprintw(12, 6, "6. Edit User flag Descriptions");
|
mvprintw(12, 6, "6. Edit User flag Descriptions");
|
||||||
mvprintw(13, 6, "7. Edit New Users defaults");
|
mvprintw(13, 6, "7. Edit New Users defaults");
|
||||||
mvprintw(14, 6, "8. Edit Text Colors");
|
mvprintw(14, 6, "8. Edit Text Colors");
|
||||||
mvprintw(15, 6, "9. Edit Sysop Paging");
|
|
||||||
|
|
||||||
mvprintw( 7,46, "10. Edit Files Processing");
|
mvprintw( 7,46, "9. Edit Sysop Paging");
|
||||||
mvprintw( 8,46, "11. Edit Fidonet Mail/Echomail");
|
mvprintw( 8,46, "10. Edit Files Processing");
|
||||||
mvprintw( 9,46, "12. Edit Internet Mail/News");
|
mvprintw( 9,46, "11. Edit Fidonet Mail/Echomail");
|
||||||
mvprintw(10,46, "13. Edit All-/Newfiles lists");
|
mvprintw(10,46, "12. Edit Internet Mail/News");
|
||||||
mvprintw(11,46, "14. Edit Mailer global setup");
|
mvprintw(11,46, "13. Edit All-/Newfiles lists");
|
||||||
mvprintw(12,46, "15. Edit Ftp daemon setup");
|
mvprintw(12,46, "14. Edit Mailer global setup");
|
||||||
mvprintw(13,46, "16. Edit HTML pages setup");
|
mvprintw(13,46, "15. Edit HTML pages setup");
|
||||||
mvprintw(14,46, "17. Edit Mgr flag descriptions");
|
mvprintw(14,46, "16. Edit Mgr flag descriptions");
|
||||||
|
|
||||||
switch(select_menu(17)) {
|
switch(select_menu(16)) {
|
||||||
case 0:
|
case 0:
|
||||||
crc1 = 0xffffffff;
|
crc1 = 0xffffffff;
|
||||||
crc1 = upd_crc32((char *)&CFG, crc1, sizeof(CFG));
|
crc1 = upd_crc32((char *)&CFG, crc1, sizeof(CFG));
|
||||||
@ -1583,12 +1506,9 @@ void global_menu(void)
|
|||||||
e_mailer();
|
e_mailer();
|
||||||
break;
|
break;
|
||||||
case 15:
|
case 15:
|
||||||
e_ftpd();
|
|
||||||
break;
|
|
||||||
case 16:
|
|
||||||
e_html();
|
e_html();
|
||||||
break;
|
break;
|
||||||
case 17:
|
case 16:
|
||||||
e_flags(FALSE);
|
e_flags(FALSE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1929,26 +1849,6 @@ int global_doc(FILE *fp, FILE *toc, int page)
|
|||||||
fprintf(fp, " Translate %-20s %s\n", CFG.phonetrans[i].match, CFG.phonetrans[i].repl);
|
fprintf(fp, " Translate %-20s %s\n", CFG.phonetrans[i].match, CFG.phonetrans[i].repl);
|
||||||
|
|
||||||
page = newpage(fp, page);
|
page = newpage(fp, page);
|
||||||
addtoc(fp, toc, 1, 16, page, (char *)"FTP server setup");
|
|
||||||
|
|
||||||
fprintf(fp, " Connections limit %d\n", CFG.ftp_limit);
|
|
||||||
fprintf(fp, " Login fails %d\n", CFG.ftp_loginfails);
|
|
||||||
fprintf(fp, " Allow compress %s\n", getboolean(CFG.ftp_compress));
|
|
||||||
fprintf(fp, " Allow tar %s\n", getboolean(CFG.ftp_tar));
|
|
||||||
fprintf(fp, " Log commands %s\n", getboolean(CFG.ftp_log_cmds));
|
|
||||||
fprintf(fp, " Anonymous login %s\n", getboolean(CFG.ftp_anonymousok));
|
|
||||||
fprintf(fp, " User mbse login %s\n", getboolean(CFG.ftp_mbseok));
|
|
||||||
fprintf(fp, " Shutdown message %s\n", CFG.ftp_msg_shutmsg);
|
|
||||||
fprintf(fp, " Upload path %s\n", CFG.ftp_upl_path);
|
|
||||||
fprintf(fp, " README login %s\n", CFG.ftp_readme_login);
|
|
||||||
fprintf(fp, " README cwd* %s\n", CFG.ftp_readme_cwd);
|
|
||||||
fprintf(fp, " Message login %s\n", CFG.ftp_msg_login);
|
|
||||||
fprintf(fp, " Message cwd* %s\n", CFG.ftp_msg_cwd);
|
|
||||||
fprintf(fp, " Login banner %s\n", CFG.ftp_banner);
|
|
||||||
fprintf(fp, " Email address %s\n", CFG.ftp_email);
|
|
||||||
fprintf(fp, " Path filter %s\n", CFG.ftp_pth_filter);
|
|
||||||
fprintf(fp, " Path message %s\n", CFG.ftp_pth_message);
|
|
||||||
|
|
||||||
addtoc(fp, toc, 1, 17, page, (char *)"WWW server setup");
|
addtoc(fp, toc, 1, 17, page, (char *)"WWW server setup");
|
||||||
|
|
||||||
fprintf(fp, " HTML root %s\n", CFG.www_root);
|
fprintf(fp, " HTML root %s\n", CFG.www_root);
|
||||||
|
@ -343,27 +343,6 @@ void load_maincfg(void)
|
|||||||
sprintf(CFG.Flags, "CM,XX");
|
sprintf(CFG.Flags, "CM,XX");
|
||||||
CFG.cico_loglevel = DLOG_ALLWAYS | DLOG_ERROR | DLOG_ATTENT | DLOG_NORMAL | DLOG_VERBOSE;
|
CFG.cico_loglevel = DLOG_ALLWAYS | DLOG_ERROR | DLOG_ATTENT | DLOG_NORMAL | DLOG_VERBOSE;
|
||||||
|
|
||||||
/*
|
|
||||||
* FTP Server
|
|
||||||
*/
|
|
||||||
CFG.ftp_limit = 20;
|
|
||||||
CFG.ftp_loginfails = 2;
|
|
||||||
CFG.ftp_compress = TRUE;
|
|
||||||
CFG.ftp_tar = TRUE;
|
|
||||||
CFG.ftp_log_cmds = TRUE;
|
|
||||||
CFG.ftp_anonymousok = TRUE;
|
|
||||||
CFG.ftp_mbseok = FALSE;
|
|
||||||
sprintf(CFG.ftp_readme_login, "README*");
|
|
||||||
sprintf(CFG.ftp_readme_cwd, "README*");
|
|
||||||
sprintf(CFG.ftp_msg_login, "/welcome.msg");
|
|
||||||
sprintf(CFG.ftp_msg_cwd, ".message");
|
|
||||||
sprintf(CFG.ftp_msg_shutmsg, "/etc/nologin");
|
|
||||||
sprintf(CFG.ftp_upl_path, "%s/ftp/incoming", getenv("MBSE_ROOT"));
|
|
||||||
sprintf(CFG.ftp_banner, "%s/etc/ftpbanner", getenv("MBSE_ROOT"));
|
|
||||||
sprintf(CFG.ftp_email, "sysop@%s", CFG.sysdomain);
|
|
||||||
sprintf(CFG.ftp_pth_filter, "^[-A-Za-z0-9_\\.]*$ ^\\. ^-");
|
|
||||||
sprintf(CFG.ftp_pth_message, "%s/etc/pathmsg", getenv("MBSE_ROOT"));
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* WWW defaults
|
* WWW defaults
|
||||||
*/
|
*/
|
||||||
|
Reference in New Issue
Block a user