Updated global structure

This commit is contained in:
Michiel Broek 2004-01-11 13:01:35 +00:00
parent ce7cfbbc72
commit fb977d8b12
6 changed files with 52 additions and 167 deletions

View File

@ -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

View File

@ -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 */
}; };

View File

@ -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.

View File

@ -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;
} }
} }

View File

@ -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);

View File

@ -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
*/ */