$Id$ MBSEBBS History. The good news is at the bottom :-) v0.00 Started work on the Rapidbbs sources to make new structures, headerfiles and makefiles. The whole thing will include Fidonet echomail and tic file processing. v0.01 Until v0.06 lots of sourcecode fixes, bugs removed which became visible after writing the new header and makefiles. Included common and jamapi libraries. The jamapi is not in use yet but will be the final message base format. Rewritten the mbse deamon. This deamon monitors the bbs and all the utilities. Written an import util to import textfiles from the databases exported by a little Pascal program that exports the RA databases from the DOS bbs. Started writing a new setup utility. While doing this the old config program is being stripped down. Renamed the filelist program to allfiles. v0.06 In the internal mbsed server structure added information for user online messages. Added ADIS:2,pid,flag; set users Do Not Disturb flag, also changed the bbs to sent that flag. Added Status commands to the mbsed, test for BBS open, and Zone Mail Hour. 2 new statements in etc/mbsed.conf. The mbsebbs now tests at startup for ZMH and BBS open. If it is closed the user is disconnected with the reason why. v0.07 The new structures are ready. The bbs can run with local mail only. Renamed the filepack program to mbfile, it will do a lot more later. Removed the whoson program, the functions are in the setup program now. Added in the setup program the oneliner editor, protocols editor, language setup editor, limits editor. The oneliner editor has an import facility to import plain textfiles to add oneliners. Changed structures again, lastcaller and ttyinfo. Removed the usered program, the users editor is in setup now. Fixed the download (non batching) function DownloadB, it does work more or less. Changed the calling program from execl() to system() to fix the stack problems. Now need testing voor carrier loss and timeouts. After testing with a DOS-PC (A real fast 286 10 MHz state of the art of the eighties, directly connected to the tty port) the Good_Bye function needed 5 seconds extra delay to be shure all data is send to the user. Also the parent died too fast so the mbsed server wasn't notified when the client was logged off. In the bbs chat.c added unlink the /tmp/.BusyChatting file so the chat could be more than once in a session. In the internal mbsed server structure added information for user online messages. Added ADIS:2,pid,flag; set users Do Not Disturb flag, also changed the bbs to sent that flag. Added Status commands to the mbsed, test for BBS open, and Zone Mail Hour. 2 new statements in etc/mbsed.conf. The mbsebbs now tests at startup for ZMH and BBS open. If it is closed the user is disconnected with the reason why. v0.08 Added the JAM c api. This is a modified version for Linux. Reading JAM messages and Quickscan JAM messages implemented. Removed support for the old message base format. The function Msg_Post() does not work anymore, must be rewritten to support JAM. In the msgpack program removed all code for the old message base format. Inluded support for client/server. Removed all structures of the old message base format, the only format left is JAM. v0.09 22-Mar-1998. In Language data compiler removed output to screen for each compiled line. When finished compiling it reports the number of language lines. Changed the number of lines for the line editor in Post_Msg() and Reply_Msg() in a #define statement. In the language source it still allways says 60 lines. Bugfix in mbsetup: edit message area item 7 an 8 didn't work. Start writing of man pages. Start writing mbfido, the net- echomail tosser, scanner and packer. Succeeded tossing echomail, no dupechecking, links checking or other checks are done. No reply linking either. mbsetup: Added Fidonet aka setup. Moved JAM I/O functions to the common directory. Created the mbmon program out of mbsetup. Removed those items from mbsetup. Start build of the dbase library, this library will contain functions to access the configuration datafiles for all utilities except the mbsetup program. v0.10 15-Apr-1998. Allfiles changed to make use of the common and dbase libraries. Does logging now of activities. Removed links to src/bbs/funcs4.c Added fileareas and filesdatabase import to the import program. Corrected file area mismatches in mbsebbs and fedit. Mbsetup: finished global setup. Fixed pull filegroup and messagegroup. Added edit bbs file areas. Changed format of fareas.data. mbfido: Added first dupechecks, only logging. Fixed errors in dbase search routines, caused mail to be tossed in the wrong directories. Added tossing of bad (unknown areas) and dupe mail in the bad and dupe boards. Checks for .PKT destination implemented. Ideas for netmail tracking written. Dupe checking seems to work, but I can't compare it with my other tosser yet. Note after more testing: it's better than GEcho's 1.11+ dupechecking. allfiles: Opens header.txt now only before processing the areas. Added footer.txt. Both files must be in the configfiles directory, if they are not present, nothing will be inserted. Removed all code that constantly opened and closed the output file. Added logging for total processing time. Added new lines to the area headers. Areas are only written if there are downloadable files in them. Download counter now represents bbs downloads, ftp downloads and file requests. The last two counters are not in use yet. v0.11 26-Apr-1998 mbsebbs: In the mail reader swapped From and To language fields, the names were in the right place. Added the nodenumber after the from name. Must be set for messagearea type (Local/Net/Echo). mbfido: Corrected some loglevels. userpack: rewritten from scratch. Deletes unix accounts as well, uses /usr/sbin/userdel to do this, so shadow support works just fine. This program must be run as setuid root setgid root. structs.h: removed flags for Unixmode and all related flags. mbuseradd: written. This is a setuid root setgid root version of adduser, this program is called by newuser to create the unix account of a bbs user. It also creates the homedirectory, the .profile file and expires the unix account password. When a new created unix user logs in he will be prompted for a new password. newuser: lots of rewriting. Added inactivity timers. Now we have always unix accounts and fido bbs accounts. It will also die nicely when the user did hangup on us or waited for idle timeout. mbsebbs: Check for unix account, if it doesn't exist the user is forced to create a unix account. If unix login we now have a pause() at the same place the password prompt is so the user can see the opening screen and read it. Removed the code that there was a parent (guarding users logon time) and a child process (running the user). There is only one process now. Implemented keyboard input timers. The total onlinetime must be guarded in another way now, ie. checking must be done at prompts. In the mean time proper idletimeout, hangup and error conditions will log the user off in a neat way and writing into the logs about what happened is mostly solved. mbsebbs and newuser: New users can only be handled by the newuser program. Listed users only by the mbsebbs program. You need 2 accounts without a password for this. Maybe I'll chain these 2 programs later. misc: compiling is a mess again, more libraries are needed, time to close this version. v0.12 07-May-1998. mbsed: Rename the logfile from "mbsed" to "mbsed.log". The mbsed logfile is opened and closed everytime now. Logfile cleanup utils can now safely remove the logfile, make it smaller etc. mbsebbs: Splitted misc.c into bye.c, pinfo.c and misc.c dbase library: added userrecord search. Added netmailboard search. mbfido: removed segmentation fault caused by a too long kludge, added a check for the stringlength (512 bytes). Removed bugs in netmail destination tests. Implementation of ftn netmail import into JAM area. Only the first netmail area is used, no need for several areas now. mbsebbs: Added aka display when reading netmail. Changed autowrap to line 74. Added test for users handle when scanning new mail. Removed test tlcap() when comparing names. The tosser should correct the names. Changed the MsgSelectPrompt() to default return the lastread pointer instead of message 1. Changed Read_a_Message() so it will return TRUE if message read was ok, FALSE otherwise. CheckMail() now starts searching at the users lastread pointer. It now also keeps track of messages to the user, and gives the option to read them. Reply is not possible yet, but posting isn't working also. Added a check that the receivername must exist to prevent false new mail. Changed UserList() to skip the empty userbase records. Place the users timecheck functions in a separate file, made it work again. Inserted timecheck points at several prompts. Changed the timebank to reflect new timecheck routine's. Moved the exitinfo functions to a separate file, several other modules now use new functions in this file instead of internal ones. Changed FileArea_List() to work with options (F+ and F-) for direct area change. Improved the fatal menu error construction. The user now sees a message and will logoff by SIGILL. v0.13 24-May-1998. mbfido: Added a debug line to show flagfield of the original packet. Added code to fill the message header MsgIdCRC and ReplyCRC fields. Added version info in the logfile. mbsebbs: Corrected unixmode login problem if there where more than one field within the gecos field of the passwd file. Added version info in the logfile. Changed the setting of signal handlers, removed SIGINT, added SIGILL. Supress display goodby screen in case of a SIGHUP. Display ttyinfo.comment instead if ttyname in connect info. Added create/check for subdirectories wrk and tag in the users homedirectory, wrk is for the users homedir fileoptions, tag is where symlinks of tagged files area placed. Corrected message diplayed to user when logging in during zone mail hour. Removed menu option GlobalDownload, see new feature below. Implemented download file tagging in menus FileList and NewFilesScan. Implemented download tagged files, the old download function is gone. Moved Change_Protocol and Set_Protocol from file.c to change.c where they belong. Change_Protocol is now Chg_Protocol as all other functions in change.c use the same naming convention. Made KeywordScan and FilenameScan working without coredumps, implemented file tagging. Made enum vars for WhosDoingWhat. Changed the internal filearea record number, area 1 is now 1, not 0. This should prevent a lot of bugs. Now setting large timeouts on the client/server guard during filetransfers to prevent server disconnection. Changed mbsed and common.a for that. Added logging info when user is kicked out if the BBS is closed. Split file.c into file.c and filesub.c Added menu function 111, Copy file to home directory. Download_Home, Delete_Home, List_Home, Upload_Home now all work with the new directory structure. Upload and Download homedir do not count uploaded/downloaded bytes, the user gets no ratio bonus after upload, only the up/downloads are counted. Quota check for users home directory. The value can be set with the mbsetup program, value is MBytes. Removed error message if user selected a menu option where he has no access rights for. The user now sees nothing. If you want to give a response, use the menu system! Reset colors to lightgray on black after logoff. Added menu function EditTaglist. mbsed: Invented two new commands, ATIM:1,n; which set a new client/ server timeout, and ADEF:0; which resets the client/server timeout to 600 seconds. common.a: Implemented the two new client/server commands: ATIM and ADEF. mbsetup: In global BBS setup, added editing Users Quota. import: In FDB import, changed the filenames to lowercase. allfiles: Output list now contains CR/LF at the end of each line. mbuseradd: Added the line "export TERM=pcansi" to the generated .profile in the new users home directory. This seems to work quite well for all kinds of clients. v0.14 02-Jun-1998. msgpack: Renamed to mbmsg, it will do more as just packing messages. Implemented using the msgbase.a library: Purging (Days old and Max msgs), Packing deleted messages and Reply linking. During pack the messages are renumbered and lastread pointers are adjusted. mbsetup: Added edit messagebase storage type. msgbase.a: New library, universal message base library, must support JAMmb, Fido *.MSG, Passthru, Usenet news and E-Mail. This came original from LoraBBS, written by Marco Maccaferri. I changed the sources to normal C code without objects, that was the fastest method to mix it with the existing sources. I dropped support for Hudson and Squish. Only JAM is supported for a start. The JAM module renumbers the messages while packing. Added support for lastread pointers. Changed all msg handling so that the messagetext must contain all the kludges to be compatible with several message bases. This means that the JAM module now handles the kludges in the text, storing and retrieving it between the *.jhr files and text. This also means that the applications don't have to worry about kludges. mbsebbs: Changed mail.c to work with the new msgbase library, dropped the old jamapi. Scanning new messages looks slower, maybe the speed improvement must be made in the msbase library. Applied all changes in the messagebase library to the bbs program. mbfido: Applied all changes in the messagbase library in the tosser module. While doing that I saw some bugs but they don't mather anymore. v0.15 13-Jun-1998. msgbase.a: Implemented msgbase locking for JAM messagebase. Dropped future support for other messagebase formats, I stick to JAM and only JAM, it can do all we need, including mailer netmail directory. Implemented all possible attributes in the interface. dbase.a: Removed some bugs in dbmsgs.c Added code to update the nodes and msgs data records if they are changed. During msgs record loading the group record will also be loaded if it's defined. Added support for .tic area lookup. mbmsg: Implemented msgbase locking during msgbase updates. Added colours. mbfido: Implemented msgbase locking during msgbase updates. Implemented simple echomail forwarding in the queue. Splitted tosspkt.c into importmsg.c echoout.c and tosspkt.c to make the source more readable. Started collecting SEEN-BY and ^APATH information in memory. Started appending SEEN-BY entries during echomail forward. Added code which should append SEEN-BY and PATH lines in outgoing echomail. In the startup code changed the catching/ignoring of signals. Activated mail send and received counters in the nodes records. Activated echomail received counters. Started working on .tic file processing, using my own MBFIX code (in Turbo Pascal) as a guide. mbsed: Changed the server locking in a more portable and secure way. Added sequencer counter for generating MSGID numbers and message packet numbers. Removed a bug in response strings when the BBS is closed. The signal SIGTERM is now ignored, we wait for SIGKILL only so we keep running as long as possible. mbmon: Added support for sequence numbers display. mbsebbs: Removed a bug in the syntax of BBS closed messages. Added a toggle switch to display message kludges for the sysop. Added hilite color for quoted message lines in message read. mbstat: The BBS close command doesn't need a reason anymore. Implemented the wait function. We only wait for users online and utilities that we want to complete their actions. Depending on the type of init program, if it uses shutdown scripts, you can now wait for the system to become idle before the real system shutdown starts. common.a: Added a flag "show_log" to the Syslog function to suppress logging to the screen. mbsetup: Added support to edit .tic areas. Started working on the creation of a site document, this is a complete overview of the whole setup. v0.16 06-Jul-1998. General: This version is the first version installed on the real BBS server, line #2. While doing this I discovered lots of errors in the Makefiles because I installed it from scratch. I also found out that GEcho and or RA is screwing up some JAM bases causing this program to dump core. Did some testing, download and mail reading is ok. mbsebbs: NewfilesScan and show files listings now work with the file upload dates instead of the real filedates. mbfido: It's possible to import .tic files into the bbs. Unknown echomail areas now log with WriteError(). Added functions to pack mail for downlinks and put it in the mailer outbound. Because of small diffrences between ifcico and DOS mailers running 2 mailers together still doesn't work for attached files and mail. Fixed a bug in outbound mail packets, the packed messages didn't start with 0x0002 so downlinks didn't process the messages. Output of echomail works now! When processing large amounts of .tic files, the processing stopped after about 30 files. Added 2 forgotten fclose statements. Added sorting functions for filenames with date/time. All inbound processing is now sorted by date and time, oldest files first. common.a: In mbfile.c changed file_cp() to copy file attributes as well. userpack: Changed commandline syntax. mbmsg: Changed commandline syntax. mbstat: Changed commandline syntax. Added colors. Does timeout after one hour waiting for the BBS to become free. mbsetup: Added setup for .tic magic records. Improved logging reason when tossing messages not for us. dbase.a: Remove a bug where reading downlinks from areas base gave nothing. (Introduced in 0.15). mbmon: Corrected the screen header. v0.17 30-Jul-1998 mbfido: When importing files to the BBS the destination directory is checked and created if it doesn't exist. Improved checks when to rearchive incoming files. Forgot to chdir back to the inbound when rearc failed. Switching virus check off when the inbound file isn't an compressed archive. Should check incoming *.exe (selfextracting archives). Keep number of files now works. TIC forwarding to downlinks implemented. There are 2 netmails for each forwarded file, one for the file itself and one for the .tic file. The subjectline is to short under Unix. The second netmail is an empty one, lets see how this works. Added cookies. Packing ARCmail now checks for bundles older then 5 days and creates new bundles if found. Added netmail pack to ARCmail. Improved errorlogging again when tossing bad echomail. Scan for outgoing echomail from the bbs is working. It is a complete messagebase scan for now. TIC forwarding again with one netmail, I faked the subject line, all files seem to come from C:\FILES\. This seems to give no problems with the other end of the link. mbmsg: Improved debug logging. Processing in only one area didn't work anymore. mbsebbs: Made post new message work. Now unlocking and closeing the messagebase after a crash. Moved the lineeditor to a seperate source module. Reply to messages is working, also from scan for new mail. Comment to sysop now works. Removed the Voting door. v0.18 10-Aug-1998. general: New record structure for fidonet networks. This makes it possible to use the same nodelist indexes as ifmail. Note that de define -DHAS_NDBM_H may only be set if you have done this also in the ifmail package! This is set in ~/src/mbfido/Makefile run_inout: A shell script run from the mbse crontab (every minute) to see if there is something to do. It scan's the protected inbound and scan's for the ~/sema/mailout semafore. mbsebbs: Creates a ~/sema/mailout semafore if mail is entered. Added extra debug logging during newmail scan. On the live bbs mbsebbs keeps on dumping core probably due to RA or GEcho. Most amusing is that after crashing mbsebbs, RA will see new netmail again, as if only mbsebbs knows how to handle the users lastread pointers and fixes them for RA; sigh. mbfido: Start working on the netmail tracker/router. It works without an external routing file, although hosts will need one. It works on checking known nodes, then nodelists, and then known nodes again. This is very experimental. mbsetup: Changed to the new fidonet structures. import: Changed to the new fidonet structures. general: Installed at 13-Aug-1998 at the BBS for testing. v0.19 14-Aug-1998 general: Wrote some documentation about how to setup the ftp server so that it works together with MBSE BBS. mbsebbs: After download the message "updating download counters" now will first send a to overwrite the zmodem init string on the users screen. Added structures for bluewave. Now scans for new files at logon. Removed global variable sUserName, gave some strange results. Added logging which msg area was active when a segmentation fault occurs. script: A new subdirectory for /bin/sh scripts. Look out with this one, if you modify the scripts in ~/etc or ~/bin directly they will be overwritten with each new install. mbuseradd: Add each new user to /etc/ftpusers to prevent them to login under their own name in the ftp server. fbgen: Setting umask to 002. fileedit: Removed, was obsolete. import: Setting umask to 007. common.a: mkdirs now creates directories with permission 0775. Added dos<->unix filenames translation. Rewrote tu() and tl() functions. mbfile: Setting umask to 002. Now checks for files on disk, but missing in the fdb. Deletes them when found (exept some). Now when packing the fdb records marked for deletion, also if the file is on disk, it is deleted. Added some commands to the todo list. With the check command it now reports the area number to the mbsed server, so mbmon will display how far it is. This will also avoid timeouts on large areas. Now handles multiple commands in one run. Pack will run automatic if there are files deleted. mbfido: Set a semafore "msglink" when the message base is modified. Added more debug logging for files descriptions. Implemented dos<->unix filename translation for tic file forward. File attaches in .flo files now are DOS filenames and .flo files are now DOS-compatible. If there are no more then 2 Long Description lines we asume that there is a better single (old style) Description line. There are uplinks that make a mess of these lines. Netmail forwarding should work now as long as the nodes via we must route are in our setup. mbsed: Added in wait for free the mbindex and mbuser programs. mbindex: Written. Heavlily based on Eugene Crosser's ifindex. mbsetup: Written the menu editor and removed the old mbconfig program. Added some editor commands to the user editor. mbuser: Now leaves the records alone with the NeverDelete flag set. mbmsg: Added logging when a segmentation fault occurs which was the last message area. v0.20 24-Aug-1998 common.a: Moved from mbfido the modules ftn, falists, nlindex and nodelist to this library. More programs will need it. mbindex: Changed some loglevels. Removed the -force switch, compile is always forced now. Removed a bug to the path of the index files. import: Now using dos2unix pathname translation for fileareas and mailareas import. mbfido: Changed some logging. Removed ftn, falists, nlindex and nodelist modules, they are now in the common library. v0.21 25-Aug-1998 mbindex: Trashed the index files when a new nodelist in the setup was added. (ifindex did this also). Now it will allways force to recreate the index files. Now sends username who started mbindex to mbsed. mbfido: Imported files into bbs areas now get filemode 0644 instead of 0660 so the ftp/www clients will really see them. Corrected the experimental replace test, could never work. If after trigger the compile nodelist flag there came in another file, the flag was reset. Now sends username who started mbfido to mbsed. mbsebbs: Created a language crossreference listing. Corrected some language numbers. After changing the language, it is now confirmed in the new selected language. When the language file is missing, the error message no longer comes from the missing language file, now it is hardcoded. Minimum location length is now adjustable with mbsetup, changed language prompt 74. Replaced hardcoded messages in chat with language prompts 59 and 60. Changed error logging in exitinfo.c When reading messages the more prompt is now language prompt 61 instead of hardcoded. Posting messages is now blocked for Noreply boards. Language prompt 438. In message readpanel now language prompts 211 and 212 for Next reply: and Reply to: threads. In message area select now using prompt 207. In newmailscan, added prompt 218 and the Quit option. In message status, added prompt 226. Readpanel, added prompt 227. Delete specific message subfunction does work now. In display file with more, changed prompt 72. Changed prompts in file.c and filesub.c. The info screen is 1 character smaller, 79 characters, some terminal programs did extra line wrapping. Added new language file format, the datafile now includes the keys users can press. Moved the loading of user's preffered language more to the begin of the login procedure. When the user is unknown (ordinary BBS account), the newuser programm is started. If that runs successfull (depends on the user on-line), mbsebbs will be run again. It's probably wise to merge these 2 programs. mbsetup: Minimum location length installed in menu 1.5 allfiles: Now sends username who started allfiles to mbsed. mbfile: Now sends username who started mbfile to mbsed. mbmsg: Now sends username who started mbmsg to mbsed. mbstat: Now sends username who started mbstat to mbsed. mbuser: Now sends username who started mbuser to mbsed. Did leave the users.data file owned by root. It is now set to the owner and group of the "mbse" account. Added screen output for non-quiet mode. lang: Changed to compile new language datafile format, including the keys a user can press. newuser: Added new language file format, the datafile now includes the keys users can press. Now always asks Date of Birth, this is necessary for later checks. At the end now engages mbsebbs. mbuseradd: Now uses the created gid and uid voor changing ownership of files and directories. v0.22 06-Sep-1998 mbsetup: Changed logfile to one master logfile. Added menus for offline reader. allfiles: Changed logfile to one master logfile. mbsebbs: Changed logfile to one master logfile. Started offline reader. mbfile: Changed logfile to one master logfile. Corrected creating full path/filename in pack files. Added creating and removing symlinks for file requests. Now deletes files during "kill" instead of only marking. Simplified log messages. Added commandline switch "req", this will only check the file request symlinks. mbmsg: Changed logfile to one master logfile. fbgen: Changed logfile to one master logfile. newuser: Changed logfile to one master logfile. mbuser: Changed logfile to one master logfile. mbstat: Changed logfile to one master logfile. mbindex: Changed logfile to one master logfile. mbfido: Changed logfile to one master logfile. Added creating and deleting of symlinks for file requests. Files removed from the filedatabase when running "keep files" are now also removed from disk. Removed some debug logging for netmail forwarding. It seems to work. Replace files now works more or less. Moved the fdb packer. mbindex: Only logs crash cause if errorlevel > 0. Removed some invisible screen output in quiet mode. Cron did notice this. lang: Renamed to mblang, also the source directory is now mblang. The directory lang will now be used for language sources. v0.23 20-Sep-1998. global: Added #pragma pack(1) to ~/src/include/libs.h so that all datafiles are now compatible over several hard and software platforms. I needed this to implement the BlueWave Offline Reader into the bbs. Increased the QWK tagname field to 20 characters. mbsebbs: Made menu execution logging more readable. If a user has no archiver set, set default to ZIP at logon. Changed logging in the Download Direct command. Implemented first raw version of BlueWave Offline Reader. Needs some security improvements, file requesting, filters but it works for now. Checking for a Unix account was done before the password was checked, so if the password was wrong the user was asked for a new Unix account again. mbfido: For netmail import now searches the netmail area on zone:net match. import: Removed bugs when converting DOS to Unix paths which resulted in corrupted pathnames. mbsetup: Corrected linefeed problem in language doc printing. Horizontal line drawing now with low-ASCII instead of Alternate Character Set. mbmon: Horizontal line drawing now with low-ASCII instead of Alternate Character Set. Corrected a color problem in View BBS Information, and added display BBS startdate. v0.24 30-Sep-1998. structs.h: New fields in config.data: OLR_MaxMsgs, OLR_NewFileLimit, OLR_MaxFreq. New fields in mareas.data: OLR_Default, OLR_Forced. New fields in ttys.data: honor_zmh. Added Areafilename field to group records. mbsebbs: Combined some functions from offline.c and mail.c into msgutil.c Messages posted with a OLR are now counted in the users record. Closeing the bbs during Zone Mail Hour can now be set for each individual line. Now counting and marking the date/time when posting messages in mareas.data. mbsetup: Corrected some sitedoc problems in global setup. Added sitedoc printing for mail setup. Added file and mailgroups setup to the nodes setup. Added newfiles reports setup. Added filefind areas setup. mbfile: Corrected spelling error. mbaff: New program. Announce new files and FileFind (Allfix). mbfido: In .tic file processing if we were a pointaddress, the path checking always gave an error. The check of our boss is skipped now. The correct .tic area and filedate is now set in the toberep database. mbmsg: Improved initialisation. v0.25/a 12-Oct-1998. general: From now on version numbering will get /a (Alpha), /b (Beta) and /g (Gamma) release extensions. This is necessary for live testing at my bbs. mbfido: The Cost field in the toberep.data file was not set. msgbase.a: Added extra screen output in certain error conditions. Added a trick to generate a FromAddress from the Msgid in case there is no FromAddress. This was left blank by GEcho 1.11+ (DOS). mbaff: Added some IsDoing information for the monitor. Setting ReplyCRC to -1 instead of 0 if it's an original message. Minimum searchstring length is now 3 characters (hardcoded). Added a check to see if there is a FromAddress and a Subject before a message is added to the scanlist. mbsebbs: Corrected spelling error in OLR download logging. mbsetup: Changed some page layouts in the sitedocs, added some forgotten formfeeds. v0.25/b 14-Oct-1998. mbfido: If the tic queue directory didn't exist, it is now created. Netmail messages now have zone:net aka matching on the destination and from addresses. Started with the AreaMgr and FileMgr functions. It can respond to %help. Added the notify function. mbsetup: When picking a mailgroup in messages setup or a filegroup in ticsetup, the ftn aka is copied from the group setup as a default aka for that area. When setting the area tag and if the OLR tagname is empty, the area tag is copied there as a default. v0.26/a 17-Oct-1998. general: In some databases in the header there is now a time_t field added. This is to mark the last statistics counters rollover. Programs that count statistics must perform an rollover when it's run on a new day, week or month. warning: To upgrade the databases, enter the setup for message areas, tic areas, nodes, file groups and message groups and save the databases. mbfido: Implemented new statistic counters. Implemented rollover of the statistic counters every week and new month. Changed program locking, now it locks the whole program in stead of short moments. mbsebbs: Implemented new statistic counters. mbaff: It now counts the posted messages in the message area. Corrected the announce message text. v0.26/b 20-Oct-1998 mbsetup: Wrote the hatch manager. All basic functions are present now. All databases that can be packed after deleting records can do this now. During update those databases area sorted. This is not for the message areas, files areas and the userbase. These files may not be packed. v0.27/a 29-Oct-1998 general: Changed the database format for the files. Added support for long filenames. The .tic file area is also stored in the records to make the rescan function work later. The files database must be rebuild for this release!!! The BBS and the rest of the programs now use different loglevels. Changed the sourcefile distribution name to mbseN_NN.tgz. upgrade: Delete all file databases! mbsetup 1-5-20: set utils loglevel. run mbfile check -debug to fix the files references. dbase.a: Functions added to connect and disconnect nodes from echimail and file areas. Now marking the nodes record invalid after update. This should prevent corrupting the nodes.data file from now on. common.a: Added a function to convert ifcico addresses to internal fido addresses. Removed a pointer bug in the aka2str function. mbfido: Added most AreaMgr and FileMgr functions. Needs a lot of code cleanup but most things work for now. Now imports the TIC area name in the filedatabase. This can later be used for %resend requests. The long filename field is filled with the dos filename for the time being. v0.27/b 04-Nov-1998 general: Changed the top Makefile, it "forgot" the script directory. This release adds nodelist diff processing and hatching of new files, for example the nodelist you just created. Switched to compiling with ndbm.h, this is now default because the nodelist can now be opened by several programs at the same time (for reading). Support for dbm.h will be dropped, it gives trouble and cannot be used on a multiline system. Created the semafore.doc document for semafore handling. common.a: Added the semafore functions. import: Implemented long filenames on files database import. mbfido: Changed the way of counting FILE_ID.DIZ lines in archives. Made macro's in tic processing case insensitive. Implemeted automatic hatching of files. Creates the "mbindex" semafore when new nodelists have been put in place. mbuseradd: Changed the contents of users .profile to: . $MBSE_ROOT/etc/profile The file $MBSE_ROOT/etc/profile contains the global startup commands for normal bbs users. mbsebbs: Changed debug logging of DisplayFile function. Logs the tty line comment after the username at login. Linked with the new common/semafore functions. mbdiff: New program. Nodelist diff processor. Creates the "mailin" semafore when it created a zipped nodelist. mbsetup: Added tic echo group pick in hatch and magic setup. Removed setup of semafore path's, they are now hardcoded. mbcico: A quick hack of Eugene G. Crosser's ifcico. At this time only the logging functions using mbsed are implemented. It needs ~/etc/mbcico.conf for configuration together with the standard database configuration. In time, the mbcico.conf file will not be needed anymore. For testing in this release it does the job. mbaff: Linked with the new common/semafore functions. Creates also the msglink semafore when mail is written. mbindex: Removes the "mbindex" semafore when the nodelists are successfull compiled. During compiling it places the "compiling" semafore. mbmsg: Removes the "msglink" semafore when the messagebases are linked. mbstat: Now maintains the semafore's "bbsopen", "bbsclosed", "zmh" and "scanout" according to semafore.doc. You must schedule "mbstat check" in the crontan at the start op ZMH and end of ZMH both on summer and wintertime. If you did configure the ZMH right in UTC in $MBSE_ROOT/etc/mbsed.conf this will work if you did setup your timezone correctly. v0.28/a 18-Nov-1998. general: Modified the structs files to add a database for modems, changed the tty database to link it with the modems, added fields in the nodes database for the mailer, added fields in the global config file to add setup for the mailer. Dropped nodelist V21 flag, added V32T and VFC flags. The U flags for modem capabilities must be implemented somehow. upgrade: To upgrade, enter the global setup and leave it, say yes to save changes. Enter the nodes setup, enter one of the nodes record, exit and save changes. Setup the modems database. Enter the tty ports setup, link the modems to the POTS and ISDN lines and save it. common.a: In crc added crc16ccitt functions. In clcomm the function IsDoing(char *) now accepts formatted parameters. Added function SetTTY(char *). Added debug logging of nodelist flags. Changed the way the nodelist flags are parsed, sometimes U flags became standard flags, and standard flags became U flags. 'U' became a flag also. Moved some common files from mbcico and mbfido into the library. mbsetup: Changed the lineeditor to accept the comma character. Added modem setup, changed tty lines setup to pick a modem. Changed nodes setup, finally added the statistics screen. Changed fidonet setup, first zone is now called "primary zone" mbfido: Added IsDoing info during date rollover. Removed a bug causing a segmentation fault when a mail packet had an error. Removed check that incoming packets must come from a node in our setup. All received mail packets are now processed. Echomail must still come from nodes in our setup, the rest goes to /dev/null Moved some sources to the common library. In forward() changed the uppercase functions for the subject line. The original filename became uppercase also. Corrected debug logging for packet date, the month was 0-11 in stead of 1-12. Added logging for ftsc product name and version. mbcico: Added some EMSI extra logging. Added more IsDoing info for mbmon. Corrected the Makefile after testinstall on the live bbs. Changed the order of the EMSI data to send to the remote party to be more standard. McMail (maybe others too) didn't recognize all options send too early. Added EMSI logging for 'link', 'comp' and 'tranx'. Moved some sources to the common library. Completely rewritten the chat module. Everything received from the modem is now logged. Because all modem responses including echo from commands, are now logged, the aftercall function (get modem aftercall or caller id), will go to the logfile as well. (not tested, I have no CLIP capable modem). Added patches from ifcico-3.0.cm.alpha-4.0 to filelist.c, this should better handle files sent/notsent in failed sessions. Added counters for sent and received bytes. Completely rewritten the scanout function. It now searches only in the outbound directories defined in the setup. In the fidonet networks of the setup the first defined zone is the default zone for that domain. Other zones get a hex extensions with zone number. Scanning mail for the CallAll option now selects outside ZMH only crash mail, during ZMH crash and normal mail. Logging of selecting mail is improved. When calling a node is failed for 30 attempts, the node will not be called anymore. If the problem if corrected you now must manually edit the .sts file or delete it to call that node again. (Option for the future outbound manager). I think that sessions errors do this after 3 attempts. When calling a node, mbcico more ore less automatic selects a tty with modem that matches the nodelist entries of the node to call. ISDN is not yet supported. Also a best speed test must set priority of ports to use. mbmsg: Supressed error message if there was no semafore "msglink" to remove. mbsed: Added command SZMH, requesting Zone Mail Hour status. Added command ATTY, setting a new tty port. mbdiff: Removed some unnecessary debug log information. This program seems to work fine now. (Wow, only needed 2 releases for this one). v0.28/b 09-Dec-1998 general: Added structure for the mailer history file. mbaff: Removed some debugging logmessages. mbsebbs: Removed some debugging logmessages for newmail scan. Removed some debugging logmessages from timer functions. mbmsg: Added program info logline. mbcico: Added monitor info during FTS-0001 sessions. mbout: New program, the Outbound Manager, many ideas stolen from other programs of the ifmail package. v0.29/a 11-Dec-1998 common.a: Opening of nodelists is now logged at debug level. Added .pol files to pktname.c Moved attach.c from mbfido to common library. Nodelock now tests for own locks, if so, no error is given. mbfido: Worked on the uppercase bug again. It will only happen when we must forward a file. Moved attach.c to the common library. mbout: Implemented file requests. Implemented creating and removing of .pol files to make and remove polls. mbcico: Calls nodes when .pol file is present. Made file requests working again, the .req files where not added to the filelist to send. When reading node options the NoEMSI and NoWazoo flags weren't copied to the options. Corrected a bug in yoohoo.c where it didn't initialize remote->addr->name to NULL in checkhello(), this caused a segmentation error and failing Yoohoo/2U2 sessions. Note that this error is in ifcico as well. Over TCP/IP with ifcico as other mailer EMSI, Yoohoo/2U2 and FTS-0001 in- and outbound sessions are working. For other mailers we will see if it will work in real live. v0.29/b 17-Dec-1998. general: Installed 0.29/alpha on the bbs. Installed usleep() code in some utils. See usleep.doc for details. Changed the nodelist flag definitions to prevent conflicts with system macro's. common.a: Locking and unlocking nodes gives better error logging. It now also checks our own pid if the lock was already made instead of complaining. mbfido: Removed some bugs in logging in magic.c Changed FILE_ID.DIZ file checking for empty lines. Now always marks a file announced when importing into the bbs. Added code to prevent terminal output in quiet mode. Added usleep() code in statistics rollover. Added usleep() code in importmsg. (sleep each message). Added usleep() code in LoadTic. (sleep each .tic file). Added usleep() code in scan for mail. Removed error message when "mailout" semafore didn't exist in scan for mail. mbcico: During outbound EMSI session we send the NRQ option flag, requests on hold for us are not allowed when we callout. When calling a node the first thing now is lock the node to prevent further checking if the node is already locked. Putstatus is logged for studying status updates. Experimental status resetting of all nodes after successfull session. mball: Renamed from allfiles. Now creates allfiles and newfiles reports. Honors maximum security level to include in the lists (no flags yet). Optional parameter -zip will create allfiles.zip and newfiles.zip. Installed usleep() code. It is finished. mbout: No more error message when a file attach in a .flo file is nolonger on disk. This can happen if nodes don't poll often enough. mbmsg: Installed usleep() code. Removed color code output when in quiet mode. mbaff: Installed usleep() code. Now marks the file announced after scanning the bbs for uploads. mbfile: Added the usleep() code. Added some code to lower the disk i/o. mbstat: Now logs status of ZMH with the "check" command. mbuseradd: Added a check to see if the "shadow password suite" is installed. It is absolutely necessary to have this. If /etc/login.defs is present, the useradd program gets an extra parameter "-M", to override the creating of the users home directory. (Found on Redhat 5.1). Added an extra check if reading the /etc/passwd file failed. Added newline characters after some error messages. v0.29/b2 24-Dec-1998 general: Added modem.stripdash and ttyinfo.portspeed in structs.h common.a: Changed logging functions in clcomm.c, repeated messages are now counted and reported how many there were. A full filesystem will hopefully not happen anymore. Added the Nopper function, this one can be called often but only once a minute a NOP is send to the server to prevent a timeout disconnect. mbcico: Removed some debugging logs. Added some return codes from the tty drivers in zmodem send and receive. (removed later, it didn't work). Added Nopper code in file transfer protocols. mbout: When creating a poll the node's status record is reset, so if the node was undiable, it will start polling again. This will not happen for sessions handshake errors and port errors. mbsetup: In edit tty added edit portspeed. In edit modem added edit stripdash. mbsed: Corrected ZMH status response. mbstat: Corrected ZMH status check. v0.29/b3 28-Dec-1998. mbcico: Inserted new ttyio code from the German version made by P. Saratxaga and T. Tanaka. I hope the Zmodem problems will now be solved. Added Hydra filetransfer protocol. Removed Janus, it wasn't implemented anyway. Corrected modem init routine. Implemented aftercall function. mbsetup: Removed setup to disable Janus protocol. v0.29/b4 29-Dec-1998. general: Changed the Makefiles. Now only in ~/src/CONFIG you can place extra defines. Added compile switches -Wshadow -Wwrite-strings -Wstrict-prototypes. This gave a lot of code cleanup, maybe some strange errors are gone. common.a: Corrected the repeative log counter. Included in nlindex.c HAS_BSD_DB mbcico: Improved ttyio logging, maybe we can better see what is going wrong when transfering files. EMSI compatibility protocol now gives Hydra first, then Direct Zap. Added file transfer counters to Hydra. Changed Hydra logging a bit. mbindex: Changed nodebld.c to inlcude HAS_BSD_DB mbuser: Did some screen output when it was in quiet moded. v0.30/a 01-Jan-1999. mbfido: Removed a bug in the program lock that could cause a segfault. In delete viruswork made rm now work in forced mode. Hatch files now logs only hatched files. Added the statistics update. Changed completly the call module. There were some locking problems and modem access attempts when the port was closed. In Hydra the transfercounters are now updated after each succesfull block. Added more debugging log to the ttyio driver. In answer mode we grep the environment variables CONNECT and CALLER_ID created by mgetty and make log entries. Swapped timer numbers in Hydra, in tty_write we now don't test the read timer anymore, this gave unexpected timeouts and is not according the Hydra specs. Changed more debugging in ttyio, zmodem and zedzap are still not working well. Undiable nodes will not be added to the callist anymore. mbsed: Added some logging in the ZMH status check to see what goes wrong with asking ZMH status. Changed the statusfile locking, now the lock tests are done at 100 mSec intervals instead of 1 Second. mbsebbs: Added CONNECT and CALLER_ID environment variables logging. newuser: Added CONNECT and CALLER_ID environment variables logging. v0.30/b1 10-Jan-1999. common.a: Removed a bug in client.c that caused a segmentation fault when the connected tty was /dev/console. It is now possible to run clients from sysv init during system boot. mbsed: Removed a bug in the ZMH status function. Changed statusfile lock form 15 x 100 mSec to 10 x 250 mSec. v0.30/b2 16-Jan-1999. general: Defined bitmasks for logging. There are now maximum 26 debug logflags. The logflags are changed from int to long. All programs have been changed to use these flags now. upgrade: In mbsetup set the new flags in menu 1.5.19 1.5.20 and 1.18.1 note: This version still only compiles on Slackware 3.2 maybe others, but not on RedHat 5.1 5.2 and RedHat 5.2 Sparc. v0.31/a 23-Jan-1999. update: Recompile the nodelists. Remove old index.dir and index.pag files from the nodelist directory. Set new value for dialdelay. general: Removed mbsed from this source tree. From now on this will be distributed as a seperate archive. Finally found out why this package wouldn't work with glibc. Complete rewrite of the nodelist indexes. I don't use any dbm, ndbm anymore. I wanted username lookup included and full support for ISDN and TCP/IP only nodes. It now compiles on RedHat 5.2 Sparc and Intel. common.a: Removed a serious memory leak causing the system to exhaust all available memory during long filetransfer sessions. Rewrote the nodelist lookup functions. Search is very fast because the index file is sorted on nodenumber. The nodelists will be closed after each lookup so that mbindex may always compile new indexes. mbcico: In call.c changed the port closing, it will now also close the port after an unsuccessfull call so multiple calls in one run will now hopefully work. Removed a bug when calling a TCP/IP node it was trying to dial with a modem. Added random number generator to set the dialdelay before a call is made. mbindex: Total rewrite for the new nodelist indexes. In -quiet mode it does the usleep(1) call every 80 lines (if set). Note that in quiet mode it still runs faster then with screen output. The index file is sorted before it is written to disk. This makes node lookup very fast (faster then with ndbm). The old files stay on disk in case they are open, which can only be for less then a second. The semafore compile is not created anymore, instead the mbindex program creates a lockfile to prevent that another mbindex can run. Compiling the nodelists can now be done at any moment. Username indexes are not supported at this moment. mbstat: Now only changes ZMH status if the status is really changed. Will create the "scanout" semafore if ZMH status changes (I did document it). mbmsg: Changed the logging, killing messages now logs in columns, so you can easy see how the mailflow and killing develops. Removed some debug logging (finally). When screen output is on, the last line is now erased after processing. mbsetup: Changed helptekst for mailer->dialdelay. mball: Now creates semafore "mailin" when ready so the produced allfiles and newfiles listings will be imported by mbfido tic. mbsed: Changed the $MBSE_ROOT/sta directory to $MBSE_ROOT/var and changed the names of the status and reginfo files. v0.31/b 06-Feb-1999 common.a: Changed raw keyboard read to get cursor movement keys and other gray keyboard keys. Only cursor movements is guaranteed to work This is a limitation of PC-ANSI clients. This change is needed to write the fullscreen editor. Removed memory leaks from getheader.c and mbfile.c Switched to one single .h file. If loggin "message repeated n times" the first character is now uppercase as in normal logmessages. mbsebbs: Implemented raw keyboard read changes. All actions in change.c are now logged. Made change voice and data phone work. Removed the (dangerous) gets function from funcs.c mbsetup: Removed ncurses code. In line editor the delete and insert key is finally working. Modified help tekst for modem hangup string. mbmon: Removed ncurses code. In line editor the delete and insert key is finally working. mbcico: If modem hangup string is empty only DTR-drop will be used to hangup the modem line. During ZMH mbcico will now only call nodes for which it has non archived mail (netmail). Changed ttyio debug logs, could block the session. For magic file and execute requests now looks for both upper- and lowercase matches. Filerequests are searched in the internal database on both long and short filenames, password protection is supported, and the request counter in the FDB is updated. mbindex: Doesn't complain anymore when the semafore "mbindex" didn't exist when it tried to remove it. Now tests for latest nodelist by filedate instead of file extension number. mbfido: Creates magic file names for magic filerequests. v0.32/a 16-Feb-1999 update: Remove symlink directories. general: Changed elapsed time logging, now ranges from seconds to days with the same stringlength. Moved signal names to common.a, also included the names for i386 and Sparc systems. Added PackNetmail flag to nodes record. msgbase.a: Removed automatic adding of FMPT and TOPT kludges in netmail. Applications are responsible for adding kludges. mbfile: Removed code to work on symlinks for ifcico file requests. mbfido: Added some code to prevent memory leaks. The .pkt password check now always logs bad passwords, only when mail password check is set, bad passwords are fatal. Added code to keep dupe databases in maximum limits. Now forcing chdir to inbound before processing each .tic file. It will now export netmail from the message base. It also supports packed und unpacked netmail. Added TZUTC kludge (FSP-1001). mbcico: Changed zmrecv debug logging for hanging session with one of my links using InterMail 2.50 ML, rev B020. If polling all lines of a multiline node and the first line was successfull, mbcico would still poll the other lines. The random dialdelay is now always 10 seconds or more to give mgetty the chance to reset the modem and takeover the line between multiple calls. During dialdelay the IsDoing status is now sent every second to the mbsed so you can watch it with mbmon. mbsetup: Changed nodes setup so that password may be upper or lowercase for remotes that are case sensitive (was always uppercase). Added support for PackNetmail flags in nodes editor. scripts: In run_inout added the news gateway (echomail => news). mbindex: Now only tries to compile files with a numeric extension, 2 or 3 digits length. mbsebbs: Wrote a simple fullscreen message editor, more or less Wordstar compatible. Fixed a small problem in the line editor. The maximum size of a message is now 500 lines. When replying to a message, the original message is quoted into the textbuffer including an introduction line. When replying to a message, "Re: " is inserted in the subject if there was none. It is now possible to send and reply netmails. Added TZUTC kludge (FSP-1001). mbout: With poll and stop command you can enter multiple nodes. With the request command you can enter multiple files. The request command doesn't create a .flo file anymore, the actual calling of the node must be done with the poll command. mbaff: Added TZUTC kludge (FSP-1001). mbsed: Implemented CIPM and CSPM commands (online messages between users). Updated the programnames list for check if the bbs is idle. Changed the reginfo file lock to 30 x 150 mSec. Fixed the Linux Sparc version. v0.32/b 15-Mar-1999 upgrade: Delete the newuser program and any accounts using it. Move compiled language datafiles to ~/etc. Move config.data from ~ to ~/etc. Remove ~/lang directory chown -R mbse.bbs ~/home/* Upgrade mbsed to at least v0.32 Alpha. general: The mbsebbs program now runs setuid "mbse" setgid "bbs". All files are now owned by mbse.bbs, even the bbs users private files. All references to directories for the configuration are now hardcoded to ~/etc, ~/fdb, ~/log, ~/tmp and ~/var. The directory ~/lang is no longer needed. The directory /tmp is no longer used, using ~/tmp instead. Moved the language sources and installation into this source tree. mbfido: Forgot to append after the TZUTC kludge. If we were a point, a route to our boss was not found. Updated for hardcoded paths. mbsebbs: Now runs setuid "mbse" and setgid "bbs". Changed the parameters to the mbuseradd program. The newuser program is now part of mbsebbs. It is now possible to run mbsebbs as a shell, it is even wise to do so! Updated for hardcoded paths. Sending and receiving online messages is now handled thru mbsed. You need at least mbsed v0.32 Alpha. Removed the last "gets" function. newuser: No longer exists. mbuseradd: Changed parameters to this program. Finally worked around the problem of different passwd programs, we will now let the user supply a new password instead of creating an empty expired password. The shadow password suite isn't necessary anymore but it may be wise to use it. It will not install /bin/bash as user shell anymore, during loading of the bbs users could get a shell prompt if they were fast enough. The mbsebbs program is now installed as shell. mbsetup: Updated for hardcoded paths. Updated screen 1.3, global paths. There is only one screen now. mbmon: Updated for hardcoded paths. mball: Updated for hardcoded paths. fbgen: Updated for hardcoded paths. mbfile: Updated for hardcoded paths. mbmsg: Updated for hardcoded paths. mbuser: Updated for hardcoded paths. mbcico: Updated for hardcoded paths. If the tty port was locked by another process, mbcico tried to close the port of that process (and luckily it failed). Now it won't try to close that port and try to remove the lockfile. Corrected the logmessages during this situation. mbaff: Updated for hardcoded paths. mbsed: Forgot to close the reginfo file after the CIPM command, eventualy the bbs stopped logging because mbsed ran out of file descriptors. Added the GDST command, to get the status of all (but no more then 10) mounted filesystems. v0.33/a 25-Mar-1999 general: Changed the users structure for IEMSI flags. update: Open in mbsetup the users database, record 1, and close it. This will upgrade the users database with new fields. mbcico: Will dispatch mbsebbs when the EMSI string is EMSI_NAK instead of EMSI_INQ. We then assume the client is an IEMSI client. In the tty driver changed some error messages to debug log messages. mbsebbs: Didn't flush the screenbuffer when asking the user to read new mail so the user couldn't see the prompt. For OLR download the maxumimum number of file requests is now taken from the main configuration. Added IEMSI login support. Tested with FrontDoor 2.11/sw. Flushed a prompt after file download. The users filetaglist is removed from disk during logoff. Deleted Toggle Expertmode, menu 307. Added Toggle New Mail Check, menu 313, text code ^U1. Added Toggle New Files Check, menu 315, text code ^U2. Added Toggle Fullscreen Editor, menu 316, text code ^U3. Added Toggle Bulltins Read, menu 307. mbfido: Added more debugging messages for netmail processing. Netmail between a boss and point are being bounced between each other. At least they don't dissapear anymore. When forwarding a netmail, all original characters were lost and messages may have become undeliverable. mbsetup: Added new menu choices that were added to mbsebbs. v0.33/b1 29-Mar-1999 general: Added support for "pktdate" from Tobias Ernst. This is a Y2K .pkt analyzer and fixer. It is called before each .pkt file is processed. Indeed, he did also made a Linux version. Added support for ISDN and TCP/IP nodelist flags. They may be in the Userflag field or in the authorized flags field. mbsetup: Added .pkt preprocessor installation to global->mail for the pktdate program. mbfido: Inserted code to call the .pkt preprocessor. Should insert ^aVia line in forwarded netmails and exported netmails from the local msgbase. Will now put netmail for direct links that are not in our setup (by the stupidity of the Sysop, including me) still in the outbound (normal status) instead of /dev/zero. mbcico: Added support for ISDN and TCP/IP nodelist flags. Will now call TCP/IP nodes. This is experimental! It uses the proposal of Lothar Behet (2:2446/301) of 25 Oct 1998. The defined flags may be in the User field or authorized fields. At this moment only the IFC protocol is supported, the ITN support on port 60177 is under construction. mbout: Added support for ISDN and TCP/IP nodes. v0.33/b2 02-Apr-1999 general: 2 new configuration items, user levels to allow sending of Crashmail and File Attaches. update: Set Crashmail and File Attach levels in screen 1.4 common.a: Updated nodelist flags and rendundency flags according to errflags.zc2 dated 20 Mar 1999 (from 2:2/0). I should make an external table for this. If a semafore already existed (or was removed), nothing will be done anymore. When a semafore is created, fsync is called to make sure it is on disk. Totally rewritten the .pkt header read function, it is now more portable and does only one disk read to do that. mbfido: Commented out some debugging logmessages in magic file test. Corrected the ^aVia lines, in one case the Sysop name was included, in all cases the year was only 2 digits. For debugging the milliseconds fields are now different in all 3 functions that create Via lines. Now creates .pkt headers in a more portable way and only needs one disk write to do that. Now creates message headers in a more portable way. When creating notify messages, the correct local time is now entered. Created a new fidonet date parser, removed the bison parser. When messages are exported, the fidonet date is generated from the internal structure, so incorrect received dates are hopefully corrected on the fly. You should not need pktdate anymore. Now sets the local time when a message is imported. mbsetup: When creating new message areas, the security fields will not be preset anymore. Removed the gid and start uid values. Added setup for CrashMail and File Attaches. mbsebbs: Remove an extra close menufile in the menu processing. The Sparc version aborted with Segfault error on this. When a message is created, the time is now the correct local time. Now sets the local time when a message is received by the user. When a netmail address is entered, the user will now see the nodelist bbs name and is asked to verify it. Only above CrashMail level and if the destination node is CM, the crash option is presented. When creating a new user, the gid is now taken from the running process instead of the setup. v0.33/b3 06-Apr-1999. general: Due to hardware problems on my bbs, I was forced to takeover the whole bbs on MBSE BBS, RA is now retired. This means that lots of things must be solved in a hurry from now on, there's no way back for me. The MOBO died, it is now replaced by an old 386/DX33, so I have to fix the parts that slowing things down. It must be able to run good enough on that board. This also means that only necessary things are developed from now on to create a stable and useable version. msgbase.a: The message header read function doesn't seek the whole messagebase anymore if it needs the next header. This will roughly triple the speed of scan for new mail. mbfido: Removed check for connected uplink if .tic file was a local hatched file, there are no uplinks for local hatched files. Finally found the bug where the TOPT and FMPT kludge info dissapeared from the netmails causing mail for points to bounce back to the boss. Added commandline switch -full to force scan to scan the whole messagebase for outgoing mail. If ~/tmp/scan.mail exists the area and message numbers are used to quick export messages. It can now attach file attaches. File attaches are not routed. If the imported file has a magic name, this magic is added to the file description. mbcico: Will stop calling a node after 3 attempts if there are no matching ports, or if there is a port error. mbsebbs: Abort on SIGHUP is not logged as error anymore but as normal log message "Lost Carrier". With netmails files can now be attached if the user has a high enough security level. Files must be in translatable DOS range. Fixed segfault when user tried to select an non existing filearea. Creates ~/tmp/scan.mail for posted messages to allow quickscan. mbaff: Creates ~/tmp/scan.mail for posted messages to allow quickscan. mbsetup: Finally added the pull uplink in file and mail group editors. In the tic area and echomail area editors if the group is selected and the uplink address is set in the group, the the first default connection for that area is the uplink. v0.33/b4 13-Apr-1999 upgrade: The ticarea, hatch and magic datafiles are changed in format. Order of update is important! 1. Compile all sources, don't install. 2. Make backup of all .data files in ~/etc. 3. Announce new files. 4. Remove *.*.*.*.bill files from the ~/tmp directory. 5. Disconnect all modems, networks and stop the cron daemon. 6. Run mbsetup from the source directory. ~/mbb0_33b/mbsetup 7. Menu 10.2, leave and update the database. 8. Menu 10.3, leave and update the database. 9. Menu 10.4, leave and update the database. 10. If all is well, install the binaries, check mbsetup. 11. Start cron daemon, connect modems and networks. common.a: Removed errormessage when created semafore succeeded when it opened file descriptor 0. mbcico: When searching for file requests it tried to use ~/fareas.data instead of ~/etc/fareas.data. mbsetup: Changed the tic areaname field from 12 to 20 characters. Corrected screen numbers in hatch and magic pick areas. Setting the magic "to area" now also uses the picklist. Does normal logging again. mbfido: Doesn't import the file area name anymore in the filesdatabase. This needs a workaround because this field is now too small. The check for quick scanned exported messages failed for echomail if there was more then one downlink. This forced a complete scan to be done while everything was really ok. The .tic file dupecheck is moved to do a little later so that if some checks fail, the file is not in the dupe database yet. If the destination path is not available, the file and .ticfile are moved to the bad directory. Reads "Fullname" field from .tic file, logging only for now. Will now process archived tic bundles with extension .c00 where the numbers can be any digit. (Harald again :=). More errorchecking in Magic file procesing. Turned some debugging logging back on. Corrected a bug that sometimes caused a segfault during tic processing. Corrected a routing problem if mail was to be sent to one of my own points, in case there where more than one point. mbmon: Does normal logging again. mbfile: Calls the Nopper() function now to keep the connection with the server alive. Good for slow systems and lots of files in one area. Removed a small memory leak in the check function. mball: Creates "00index" files in each download directory that is in range of anonymous ftp users. These files contain the file names and file descriptions of that directory. A new command "index" is added. mbaff: Corrected for the .tic areaname size of 20 characters. mbsebbs: Fixed segfault when user was trying to select a non existing message area. v0.33/b5 26-Apr-1999 general: A new set of grouprecords is created. This is for the announce of new files, so reports can be created by subject, ie. Windows, Erotic pictures, Utilities etc. The groupnames are part of the bbs file areas. upgrade: Set in menu 1.15 the number of newfiles groups. Create the several newfiles groups. Install in all bbs file areas the right newfiles groups. Install in all newfiles reports the right newfiles groups. mbsetup: Will now ask if messagebase must be created if it doesn't exist. Implemented the setup of newfiles groups. Will now show the TZUTC time instead of system generated timezone (didn't work on RH systems). mbcico: Changed some logging, removed some debug logging. mbfido: Corrected a errormessage when the file import failed in a non existing area. If the file is imported in a bbs area, and that area has a separate Newfiles groupname, that name will be stored in the toberep.data file for announce. If a fdb area doesn't exist during file import, it will be created on the fly. Doesn't send empty netmails anymore if node has tic messages off. Only messages with text in it are send now. Switched .tic description lines logging on again because there are some strange descriptions coming in. Fixed a problem when there was only a normal description line in the incoming tic file, the downlinks got a shortened description line. Doesn't strip Hi-ASCII from FILE_ID.DIZ file anymore, only control characters. Stripping of Hi-ASCII should only be done by file announce programs (if the moderator wants that). mbdiff: Removed a lot of debug logging. Removed unarchive functions as they are already in the common library. mbindex: Removed some debug logging. It now deletes old nodelists from the nodelist directory exept the most recent two lists. mbsebbs: Added logging of selected file and message areas by the users. During mailscan and filescan inserted call to Nopper(). Wrote a new Getstr function to create Unix accounts, this one won't accept spaces. (Thanks to Henk de Graaf, a user who failed to login). The username won't be converted to lowercase anymore when his Unix account is created. The Unix name has to be at least 3 characters. mbaff: In the announce function new uploads will get the area number as fileecho name so they will be announced by area. v0.33/b6 30-Apr-1999 common.a: Execute now only logs result messages if there was an error. mbaff: Added High ANSI to Low ASCII translation for echomail areas that need it. mbsetup: Added High Ascii switch in filefind setup. Corrected menu numbering. mbfido: After tossing a .pkt the result is only logged if there was an error. Removed 2 debug messages during netmail import. Made logging of "Keep files" final. Allowed hi-ascii in .tic files for the descriptions. Build in a check for multiple "Desc" lines in .tic file, only one is allowed. Offenders are logged, See FSC-0087. mbsebbs: Quick_Bye() is now logged (if possible). mbdiff: The resulting new archived nodelist will now be a lowercase name instead of a uppercase name. The new nodelist will be default be archived with the same archiver as the diff file came in, if it's not available there is now a fallback to ZIP which is always available. v0.33/b7 10-May-1999 upgrade: ACRmail 0.60 file naming convention is default off for existing nodes, check their setup. msgbase.a: Added a counter which keeps track of the size of the message being written. common.a: Will now create unique arcmail names for out of zone mail if it is turned on. This should prevent creation of duplicate arcfile names to the same node. Corrected logging of bestaka_s function. Doesn't create 00000000.fr0 ARCfile names anymore if our system is the point sending to the boss. mbaff: In the announce function added logging of the size of the written message. Inserted a checkpoint log after each announced block. Inserted code to split messages after 13000 bytes. mbfido: Removed "Packing Mail" logmessage. Imported netmail will now allways get the Private status. Added code to replace the archive comment, currently this works with .zip and .rar archivers, others don't support this. The ^aVia line was inserted at the begin of a forwarded message instead of at the bottom, it also had the address of the origin system instead of our own system. Also moved the ^aVia line in the other 2 functions to the bottom. mbfile: If during the check for missing files in a download area there is an extra file and it is not a regular file, it wil be ignored. This allows the use of subdirectories. scripts: Added support for binkd, if it is installed in ~/bin and the binkd.cfg is in ~/etc it will be started and stopped as the rest of the bbs. mbsetup: Added in nodes setup ARCmail 0.60 naming convention switch. mbcico: When there are session errors, the status counter is now increased with 5, so maximum 6 calls are done. (was infinite). v0.33/b8 23-May-1999 mbfido: Corrected Connection time log messages. mbcico: Restored the original filetime functions. Removed 2 debugging log messages. Made the filerequest processor 3 times faster. The remote doesn't timeout anymore during the search for files. It must still be made faster. mbsetup: Added the (hidden) option to move echomail areas. mbout: Will also clear the status record of a node with the poll command if the reason was session errors. mbdiff: Changed available archiver tests, and fallback to ZIP archiving. It is finally working. mbsebbs: Corrected the reply test for new users when they had entered their name. Updated language number 413. New users won't see the "new files" when they logon the first time. (They saw all the files on the bbs). If IEMSI login is aborted or failed, IEMSI won't be used anymore during login. When the offline reader packs netmail, only personal mail is now added to the dowload packet. v0.33/b9 12-Jun-1999 update: Change scripts that call mbuser. general: Changed startup and finish logging of all programs to use one style. mbaff: New file reports that are splitted over several messages will now report the right report totals. Removed some development debugging logs for splitting messages. mbdiff: Removed all extra debugging logs from version beta-8. mbuser: Made command syntax and helpscreen as in all other programs. This affects the scripts. mbsebbs: For the "comment to sysop" function the .quote file in the users homedirectory will now be truncated to 0 bytes to erase its contents. The "mailout" semafore is now only set at the end of the user session. Inserted the Nopper() call in the fullscreen editor to prevent server timeout when writing a long message. When writing a netmail to an unknown node, the user must verify to send the mail anyway. New language prompt 241. If a user is short with transfertime for a download, it will be written to the logfile. mbfido: The notify function will now only include areas that are "Active" in the reports. Changed the ASCII filtering of reading .tic and FILE_ID.DIZ files, High-ASCII characters are not lost anymore. The packet password is now only checked if the originating node is in our setup. Before processing AreaMgr and FileMgr messages the right noderecord is loaded again in case it was replaced. v0.33/b10 19-Jun-1999 general: The man pages are removed. mbfido: Removed logging of file descriptions. Changed logging of replacing archive banner. mbaff: Removed logging of splitting messages. Removed several other debugging logmessages. mbsebbs: Removed some debugging logging from download functions. Corrected a logmessage for new users, language line 66 is now obsolete. mbsetup: Included (Spacebar = toggle) message in yes/no switches. mbuseradd: Removed the creation of .profile in the users home directory, this is not necessary because the users shell is mbsebbs. v0.33/b11 29-Jun-1999 Most fixes in this release are from Jan van de Werken who is beta- testing v0.33/b10. upgrade: In mbsetup menu 1.14 set new fields 21 and 22. In mbsetup, enter menu 8.5, set security levels for transfer protocols and save the database. general: Added 2 global setup integers for splitting newfiles reports. common.a: Removed Getstr() function. mbfido: Changed AreaMgr and FileMgr message body checks, lines with more than 1 space or tab and empty lines are skipped. Removed debug logging for import local netmail. mbsetup: Added in menu 1.14 setup for newfiles reports message split at a gently size (after a group of files) and a forced message size. In nodes setup, new records now default have Advanced tic off. In nodes setup corrected several numbering errors. New defaults for global configuration by Jan van de Werken. To confuse all non-Unix users, all file attaches seem to come from our A: drive. Corrected a lot more wrong screen numbers. mbaff: Implemented gently and hard splitting newfiles reports using the global setup. mbsebbs: Rewrote all user input functions. They should beep now if the user does something wrong. Changed the GetPhone functions, the format is not fixed anymore and it accepts only 0..9 + - characters. This should work in all countries now. Minimum length is 6 characters. Changed the language prompts 45, 47 and 48. Language prompt 46 is not in use anymore. Removed the logdate2 function, it wasn't used. Added GetstrP() function (instead of Getstr() in common.a). Change transfer protocol now checks for the proper security level. scripts: Updated most scripts, added more comments, added tests to see if MBSE_ROOT is already set, style fixes. v0.33/b12 08-Jul-1999 general: Removed creation of .VERSION file from the main Makefile. mbfido: The echomail areatag is forced to uppercase. Removes stale FILE_ID.DIZ files before processing a new one. mbsetup: The new fields 1.14.21 and 1.14.22 where placed at the wrong column on the screen. Changed the default values for gently and forced message split to 27 and 30 KBytes. Corrected a missing linefeed in sitedoc protocols listing. Corrected a menu error in menu 8. Corrected placement of menu item 1.4.11 Some cosmetic changes in the sources. Corrected help message in screen 7.x.23, caused mbsetup to crash. mbsebbs: The info screen now displays compile date and time. The Area listings for file areas and message areas now break lines at column 79 and send cr/lf at the end of the line. Also, area numbers increased to 5 digits (was 3). Added cr/lf to language prompt 220 in mail.c lang: Shortened prompt 220 with 1 character. v0.33/b13 28-Jul-1999 general: Added structure for file request index. update: Run "mbfile index" once. Include "mbfile index" in the maint script. Modify "run_inout" script to start "mbfile index -quiet" if the semafore "reqindex" is present. Modify "run_inout" script to replace the fixed .pkt filenames with stdin from the mbseq program, ie: 12345678.pkt will become `mbseq`.pkt Set the filerequest limits in menu 1.17.22 and 1.17.23 You may specify portspeeds above 57600 in the tty's setup. common.a: Corrected a comment in pktname.c Changed error logging in execute.c Moved execsh() from mbcico into common library. mbcico: Removed some debugging logmessages from yoohoo.c Changed some debugging logging from 'Session' to 'EMSI'. File request response messages now contain MSGID, PID and TZUTC lines and request limits. Filerequest limits implemented. Filerequest search now uses the index file created by mbfile, should be fast enough now. Moved execsh() to common library. Magic execute request result is now send by mail instead of an ASCII textfile. Made some changes in zmmisc.c according to ifmail-2.13, sessions with D'Bridge 1.58 seems to work now. Logging of "chat: read return -1" suppressed, this is most of the time caused by modem hangup during dial and is not a real error. During outbound scan missing directories will be created. A major error in callall.c prevented crash arcmail to be sent. Rewrote all functions that created mail, less disk I/O. Also made the .pkt headers the same as the mbfido program did. Will now handle serial port speeds upto 4000000 baud if your hardware can handle that. mbsebbs: Finally implemented user access flags. Removed some debug logging. Changed "Terminated on SIGALRM" error logging to normal log with "User inactivity timeout" message. mbsetup: In edit users toggle of flagbits is now correct, no "notflags" anymore. Added setting of filerequest limits in menu 1.17 Changed fieldlength for integers to 7 digits. Now you can enter all available portspeeds in the tty setup. mbfile: New command: index. This will create ~/etc/request.index which contains a sorted index of all requestable files on your bbs. This index is used by the mbcico request processor to speed up the filerequest search. The "reqindex" semafore is removed when it is finished. mbfido: Creates "reqindex" semafore if there were files imported. The check for stale FILE_ID.DIZ files was at the wrong point. Will pack the mailqueue if the temporary .pkt file is bigger then the maximum size of that .pkt and creates a fresh one. mbseq: New program. Write a 8 character hexadecimal unique sequence number to stdout. This can be used in shellscripts to create unique filenames. The sequence numbers are fetched from mbsed. v0.33/b14 16-Aug-1999 general: This is the first public release. mbcico: Revised zmodem protocol, changed timers etc. Used latest information (Aug 1999) found at Omen Technology's ftp site. In the openfile function added support to skip files already present in the inbound. Hydra and TCP protocol transmitters now send the filetime rounded up to even seconds just like zmodem already did, so the filetime is always the same on DOS (Fat) as on Unix systems. Zmodem will now skip files already present in the inbound. Hydra will now skip files already present in the inbound. TCPproto will now skip files already present in the inbound. Changed EMSI debug logging, should be more clear now. Does finish zmodem session with D'Bridge [1a] 1.58 now. scripts: Added support for UPS. The UPS software should set the semafore "upsalarm" when it's running on battery power. Most utilities will the not run anymore to prevent data-loss. The semafore "upsdown" should be set just before the UPS starts the real shutdown. This will force the mbstat program to timout after 30 seconds. mbstat: The wait command will only wait for 30 seconds instead of one hour if the semafore "upsdown" exists. v0.33/g1 01-Sep-1999 general: Many brave souls have downloaded and tested the previous version. Most changes in this release are bugs found by all these people. Added checks in the Makefile to test the MBSE_ROOT variable, written by Jan van.de.Werken. Added checks in some Makefiles for root privileges for make install. upgrade: Enter mbsetup 1.1.10 and set the name to "bbs". Check UnSecure switch in echomail areas. Should be off unless you need it. Remove the line LOGDEBUG from $MBSE_ROOT/etc/client.conf common.a: Added the original copyright in for the 32 bits crc code. Checking .pkt header now checks valid system aka's. Removed reading LOGDEBUG from ~/etc/client.conf, wasn't used. Added SigName for Alpha CPU (not tested). mbfido: Removed debug message in addpkt. Added 2 extra DeleteVirusWork() calls in tic processing at points where processing is aborted and left the temp directory with unwanted files. This also happened when a virus was detected. Will now import echomail from points who are connected to the normal nodenumber instead of the hub/host number. Will now try to import bad netmail into a netmail directory instead of losing it. Changed the check for received echomail, the sending node must be in the export list, unless the msg area UnSecure flag is set. Implemented the connected systems Excluded flag for echomail connections in import/export echomail. Implemented the connected systems Excluded flag in the AreaMgr. The Notify function now also sends statistic reports to the node. Fixed a routing problem (I hope) for out of zone routed netmail. When scanning outbound netmail the domain field is zeroed in the destination address to prevent garbage in the domain field. Patches by Jan van.de.Werken, files import now set the name to FileMgr instead of sysop's name. AreaMgr and FileMgr generated messages now have AreaMgr or FileMgr as "From" name instead of the sysop's name. mbcico: Restored some zmodem code that was changed in beta-14. Added some other code for error handling (Carrier lost). Zmodem file transfers are streaming again. Added a tty flush in the TCP/IP transmitter. Solved the EMSI handshake problem with T-Mail mailers. mbsetup: Added menu 1.1.10 to setup the name of the bbs startup account. The default is "bbs". Changed ImpSeenby switch in UnSecure switch in message areas setup. In message areas the Excluded flag is added to the systems, you can now disable a node from an area if a moderator wants that. In edit users added a switch to toggle OLR Extended Message Info in OLR download. mbsebbs: Now reads the bbs startup name from the configuration instead of using the hardcoded name "bbs" Writes a door.sys dropfile in users homedir. The first line is fixed to COM0 forcing doors to run in local mode. The second line is 0, meaning 0 baud is local mode. Let's see how this works. Added some logging for the OLR upload function. Now tests lowercase filenames also for reply packets created by MultiMail. Now includes the ^aMSGID string in BlueWave download messages. Optional includes all other kludges in BluwWave download. v0.33/g2 02-Oct-1999 general: Moved the mbsed back into this archive. Included the new installation procedure. Moved the example files into this archive. upgrade: Remove $MBSE_ROOT/bin/fbgen. If you want to switch off CFG.dospath, be sure your outbound is empty or mail and files will get lost!!! Thus: type "mbout stat" and see if nothing is there before you do that. common.a: Patches by JvdW, if CFG.dospath is empty then fileattaches will contain Unix style filenames, otherwise the ataches are translated to DOS style. dbase.a: If SearchTic and SearchMsg function the area must be active in order to be found. mbaff: Removed a bug in scanning uploads function that created empty lines in the toberep.data file. Also forced the long description strings to be no longer then 48 characters. fbgen: Finally fixed this one. Can now read multiple description lines from files.bbs. Renamed to mbfbgen. The dangerous gets function is replaced. mbsetup: The edit path function now checks if the directory has read access instead of write access, it might be on CD-rom. mbfile: Skips the kill and pack functions on CD-rom areas. Skips the check of files on disk against the database on CD-rom areas. mball: Doesn't create 00index files on CD-rom areas anymore. mbcico: More bugfixes in TCP protocol. Better error handling for disconnected sessions. Creates inbound tmp directories when they don't exist. Now presents the EMSI info from the tty records if possible. script: Corrected a syntax error in the maint script. mbfido: The areamgr and filemgr names are not hardcoded anymore, the names presented are the first names defined in the setup. Outbound processing now also works if CFG.dospath is empty, then Unix style fileattaches will be created. Rewrite of file import function by JvdW to fix some bugs. FileMgr and AreaMgr global connect and disconnect now check if the area is set to Active. Rewrote ARCmail naming, zero length archives older then 6 days are deleted. If a zero length archive then still exists, the extension number is bumped. This should prevent using the same archive name on the same day to nodes with more then one mailsession each day. v0.33/g3 18-Oct-1999 general: Ideas for generating ARCmail names by Sean Rima and JvdW implemented. Lot's of cosmetic stuff to make commandlines, help screens, more clear and the same for each program by JvdW. update: In mbsetup 1.14.15 check that this is zero or the number of old days you want echomail rejected. Check in mbsetup nodes->mail that "ARCmail a..z" is off for nodes that can't handle that. mbcico: File attaches that are no longer on disk are now correctly removed from the flo files. Changed logging for this. The scanout function now removes truncated ARCmail files that are not of the current day or are older then 6 days. Corrected a bug that the inbound directory wasn't created when it didn't exist. mbsebbs: Now allows netmail crash replies. Can now reply netmail that came in via the UUCP gateway, when the reply is saved the message is readdressed to the gateway. Disabled the download transfertime check before starting a download. It gave unpredicteble results if the users previous download cps was bad for some reason, the user couldn't download. mbsetup: New menu item in 1.14, "Reject old", to reject incoming echomail older then this number of days, or zero to not check the age. In nodes->mail setup added a switch to allow a..z ARCmail archives extensions. Made editing log (debug) switches more clear. Some editing keys now beep if you do something wrong. mbfido: The pack function now supports 'a..z' ARCmail extensions if this is on for that node. It's possible to reject too old echomail. Short commands and options now displayed in the help. The fileforward netmail now set's the filemgs name first character to uppercase. The uploader name with file import now only has one name anymore, the first character is capitalized. This line should not be too long, this gives ugly listings. System aka's in the same zone other then the aka of echomail area are added to the seen-by lines. Added experimental zonegate support for echomail. Removed some debug logging in tic processing. mbaff: Short commands and options are now possible, like other programs already did. mbout: Short commands and options are now possible, like other programs already did. The scanout function now removes truncated ARCmail files that are not of the current day or are older then 6 days. Suppressed the help message for file attach, it is not yet implemented. mbfile: Short commands and options now displayed in the help. mbmsg: Short commands and options are now possible, like other programs already did. mball: Short commands and options now displayed in the help. mbstat: Short commands and options are now possible, like other programs already did. mbfbgen: Handles files.bbs lines of 255 characters instead of 80. v0.33/g4 05-Nov-1999. mbfido: The final seenby lines are deduped and sorted before writing them to the in and exported echomails. Areamgr and Filemgr messages now have a capitalized first "From" name character. Areamgr new function: flow reports. Can be requested by %flow and is automatic generated with notify reports. Areamgr, increased the area tag from 20 to 25 characters in the notify reports and %list, %query, %unlinked response messages. Corrected a bug creating garbage at the end of the magic execute commandline. mbsebbs: Reply to UUCP gateway didn't work in real live, it seemed that the official UUCP gate had no ':' character after the REPLYADDR and REPLYTO kludges, while my testsystem running ifmail 2.12 for the gate does. I now test both cases. mbcico: Implemented remove ARCmail older then n days. mbout: Implemented remove ARCmail older then n days. mbsetup: Added integrity check for edit message groups. Added integrity check for edit fileecho groups. v0.33/g5 13-Nov-1999. upgrade: Edit /etc/inetd.conf to add "-t ifc" for standard ifcico protocol, "-t itn" for telnet protocol. If you don't use the original binkp mailer, you may want to add entries for the binkp protocol, this will show the remote that you don't support the binkp protocol. The installation scripts are updated. See the file SETUP.sh on how the files /etc/services and /etc/inetd.conf should look like. mbcico: Implemented "not supported" binkp protocol. Revised commandline parameters, in TCP/IP slave mode the mode must be given on the commandline, -t ifc for standard ifcico protocol, -t itn for telnet protocol, -t ibn for binkp protocol. Starting mbcico without arguments will show the help screen. Now all programs do that exept the mbsebbs binary. mbsebbs: Changed language prompts 214 and 215. Added language prompt 46. Added message export to file function. The file will be saved in the users private homedirectory, the filename is created as _.msg in MS-DOS format. Corrected display header of users home directory file list. Added import file in message function, the file must be in the users private homedirectory. This only works in the fullscreen editor. mbfido: Inserted 2 sync() calls during mailtoss. I hope this prevents temporary missing archives and .pkt files. New command, "tag", writes areas tagfiles for each mail and tic file group to the ~/doc directory. Filenames are automatic created. mbsetup: In edit tic area and edit message area editing of connected systems now uses the existing node setup. Made a new menu selector for areas with Global and Move options. Implemented new menu selector in message and tic areas select. If you jump directly to a message or tic area with select, the offset is recalculated to that area range. Added global editing functions in message areas setup. Functions are add, delete, change connected systems, aka to use and some other settings. Edit a nodes aka's is checked if these aka's are used in tic and message areas. Delete a node is checked against aka's used in tic and message areas. v0.33/g6 22-Nov-1999 mbsetup: Removed a bug where you could not add new aka's to nodes due to the aka's checking. With database intergrity checks the cause of blocked actions is now logged in mbsetup.log If you change the number of connected systems or maximum groups in global setup, the databases affected will be automatic updated. mbfido: When writing a notify message to selected nodes all other nodes received status messages. Corrected uploader name, removed "BBS" string. Installed patches from JvdW in file forward to correct some segfaults with the subject variable. The local hatched files are now moved to the inbound so that the unarchiver programs can find these files. mbcico: Added very experimental binkp protocol. Handle with care and at your own risk. This isn't finished yet. SETUP.sh: Fixed the script, there was one "fi" missing so the script crashed and didn't do all changes. v0.33/g7 05-Dec-1999 mbcico: Fixed some logging in binkp protocol. It works for normal mail and files transport. mbsebbs: Export message to users work directory did not put the message in the work directory but in the home directory. mbfido: Netmail to unknown bbs users are now readdressed to the sysop. Should be a bounce message. Added a experimental test for empty imported netmails. The netmail area Private flag is checked to see if we keep the original Private flag or force imported netmail to Private. v0.33/g8 12-Dec-1999 general: Changed the Makefile, make zip now puts FILE_ID.DIZ in the root of the directory tree so that file processors will find it now. This is a version of this file. common.a: Removed and changed nodelist lookup debug logging. mbuseradd: Now check the existance of the users home directory, if it is found then it is removed before the home directory is created again. This fixes problems with RedHat 6.1. mbfido: Global AreaMgr commands cannot disconnect message areas anymore that are mandatory. Removed some routing tracking debug messages. Added check to see why not connected echomail is imported to the netmail of the last user in the userbase. Changed check to "Sysop of z:n/n@network" to readdress to the sysop's real name. After readdress a netmail to the sysop, the usersearch is now done again. If locking the message base during import fails, import is aborted. v0.33/g9 18-Dec-1999 upgrade: If you ever used DOSEMU then do a rm -Rf .dosemu in each users home directory. The ownership of these files are changed so they are created again when the user runs a door for the first time. If you have created ttyinfo records with just digits in it for the /dev/pty/0 type tty entries, you need to change them to pty/0 type entries. The example etc files are now containing these entries. general: All sources recompiled with memwatch. I will not name all places where I found memory leaks, it was a lot. Still busy finding them, but most programs are allright now. You can turn memwatch on and off in the file CONFIG. If you change it, do a "make clean" before recompiling the sources. Changed my Fidonet address, the testsystem is listed now and removed my old e-mail address which was not valid anymore. Changed the installation script. For RedHat 6.1 and newer a different /etc/rc.d/init.d/mbsed file is created then before because the su command behaves different. The install script will try to detect this. Thanks to Juergen Heisel for finding this problem. Changed more startup and shutdown scripts. Changed language prompts 306, 311 and 324 to reflect GigaBytes storage instead of MegaBytes. Changed language prompt 327, it had a space too many at the end. common.a: In the attach function implemented the global leavecase switch to be able to turn off the forced uppercase for file attaches when dos translation is on. mbfido: Found a bug where mbfido ran out of file descriptors during toss, only about 1012 messages were tossed and then the whole thing started tossing everything to bad. Jim Hansen who reported the problem, reported that tossing 37500 messages now works fine. Added the commandline switch -unsecure to be able to run an unsecure toss, ie. no originating checks are performed. Handle with care. Forwarded netmail packets got the wrong from address in the .pkt header. Added fsync calls after every write to a message packet. When writing .tic files to other nodes now the real aka of the tic area is used in the From address instead of bestaka match of the destination. All system aka's in the same zone are now added to the .tic Seenby lines. Will now gently stop processing if the upsdown semafore is detected. Added a check with file import that there are no more then 25 description lines. mbsebbs: Added new controlcode, ^KM displays the users lastread pointer in the current message area. When reading new mail at logon, the users lastread pointers are not updated anymore in echomail/news areas to prevent that the users skips unread messages. Only if a message area is Public/Private and a reply is given the user gets the question Private y/N. On other cases the flag is automatic set. With netmail reply if enough security level a file may be attached. The door.sys dropfile date formats are now fixed. Depending on the menu settings it can be original (pre 2000) format or have four digit year numbers, the new style. Writing the dropfile can also be suppressed. Removed the setuid calls before and after running a door, mbsebbs now always runs as user "mbse". The $HOME environment variable is now forced to the users real home directory, even if mbsebbs is started as user bbs. When the user logs in, the existance of the subdirecties .dosemu/run and .dosemu/tmp are created in the users home directory if they don't exist. DOSEMU is happy with that. Because of this, all files in the users directories are now only owned by user mbse. Moved the setup of last message and file area to a later startup point in userlogin. Autoexecuted menus are now also checked for user security and user age. Fixed the screen output of several bbs list menus. Now handles the /dev/pty/0 device names found on newer Linux distributions. It will now also create the necesary subdirectories for the /dev/pty/n devices. mbaff: The written messages statistics counters always counted at sunday in januari. mbmsg: Added message post from a file function. mbsetup: With the filebase editor I got segmentation faults on a Sun Sparc machine, changed the filedate calls. They show up the local time now also. Added the global editor for the tic areas. Added in menu 1.3 a switch to leave to case for .flo files original, ie. not forcing it to uppercase. Added menu creation in menus setup. Added setup to suppress the creation of a door.sys dropfile, and the ability to write the years in four digit format in the door.sys file. Newer doors seem to understand this. Added delete menu item in menu setup, finally. Added menu item move. The menu editor now shows the autoexec menus with the lightred lowercase "a" at the selection key position. When a new config.data is created, the default loglevels are now set to normal values. mbcico: Forgot to implement the NoTCP global and per node flag. If you are not permanent connected to the net, use these to prevent the use of internet protocols. mbmon: Screen 5 now calls Nopper() to keep the server alive. Corrected screen display numbers 5 and 6. v0.33.10 24-Jan-2000 general: Changed version numbering. From now on, minor odd numbers are testversions, even are stable. Same as with the Linux kernel. Changed the setup script, it should now detect SuSE systems. This is not tested. update: Remove (as root) all bbs users from /etc/ftpusers. They are not needed (and never were). Compile and install this release. Kill mbsed (killall -9 mbsed). Edit $MBSE_ROOT/etc/mbsed.conf, remove the line with logdebug and the commentlines above. Start mbsed again (/opt/mbse/bin/mbsed). Then start mbsetup, open the global menu 1, and exit. Answer yes to update. If you have any echomail passthru areas, give them a message base path. Passthru doesn't exist anymore. common.a: The file_crc function now supports the usleep(1) code for background processing. The logfunctions now replace and with spaces. msgbase.a: Corrected a bug in the Pack function when the headerfile was corrupt. If the header is corrupt, the index file is used to find the right recordposition again. Errors are logged. mbsed: Removed the logdebug loglevels. Logging is fixed now. Changed the answers for the SBBS command. mbsetup: Added a global setup screen for the ftp server. Added a switch in the menus setup for doors to set a flag to create door.sys files for dosemu/Vmodem use. Revised the message area setup screen. Changed text's in global mailer setup to indicate that the mailer flags are for TCP/IP connections. mbuseradd: Doesn't add usernames anymore to /etc/ftpusers. This is not needed for standard ftp security. mbcico: Added send filerequest to the binkp protocol. In single batch mode, you need to connect a second time to get the request response. This is normal single batch behaviour. Nodelist flag for Binkp mode is XX. (For POTS/ISDN XA). Added received filerequest to the binkp protocol. In single batch mode this will put the files on hold. Multiple batch mode works now but is only tested against another mbcico mailer. Calling internet nodes could not use a forced hostname or IP address. Fixed. Added search in nodes setup phone fields for hostname/IP address, search in nodelist location entry (2 nodes on the world do that, I needed one of them), and the IP notation in the nodelist phone field (000-...). Hostnames after the flags are not resolved, hostnames should be in the system name field. In the binkp protocol the flags from the global mailer setup are sent as our flags. mbsebbs: The next two pathes are from Ken Bowley. Changed the fullscreen editor with patches from Ken Bowley. Improved behaviour for inserting and deleting text. Changed the door.sys creation, if the COM port option in the menu files is on, the door.sys file writes COM1 in it with a portspeed of 115200. This is for running doors under dosemu and a patched Vmodem. Made newmail scan and other checks for personal mail case insensitive. The fullscreen editor source now has an extra define FSEDIT to enable heavy debugging logs. It didn't respect the BBS closed status on lines that did not honor ZMH status. Removed "Re:" debug logging from mail.c mbfido: Corrected the queue path for tic passthru areas, the destination path missed a /. Delete file from the inbound with passthru areas is now at a later point. Removed the message passthru switch, you needed and area anyway. mbstat: Corrected screen output when it was waiting for the bbs to close. mbftpd: New! Special ftp server for MBSE BBS. Should use BBS users access restrictions etc. Doesn't work yet so don't use it. It is included in the distribution, but not compiled or installed. v0.33.11 07-Mar-2000 upgrade: Change the CLIENT line in ~/etc/mbsed.conf, the authcode must now come behind the hostname. Remove the AUTHCODE line. Kill the old mbsed, start the version from this version. The same changes must be made to ~/etc/client.conf Run mbsetup, goto 1.17 and 1.18 and set it up for your system. Check the QWK area names in the message areas: if there are areanames longer then 13 characters edit them so that they fit in the 13 characters limit. In previous versions this field was 20 characters. general: Added global config to create www pages for downloads. Included the mbftpd directory in the main Makefile. Don't use the mbftpd program yet! Updated the documentation, some parts were 2 versions behind. common.a: Execute external programs now lowers process priority to 15, and restores to 0 after execution. This should make running (de)compressors and other utilities "nicer". If a client fails server authorization, it will now proper close the server connection. mbsed: The syntax of the client lines in mbsed.conf is changed, multiple lines are now allowed, hostnames and authcodes must be on one line now. It is now possible to close the connection when not authorized. Minimized the number of response codes. Updated the documentation. mbsetup: Added global setup menu for the html pages creation. The length of the QWK area names in the message areas setup is changed from 20 to 13 characters for the QWK specifications. Removed selection of menu number 216 from the menu editor. mball: The index command now also creates index.html files for web clients. The index files are stored in the download directories. If a download directory contains .gif or .jpg files then thumbnails will be created and the thumbnails will be used in in the index.html files. You need "convert" of the ImageMagick package to use that future. mbfile: Added 'index*' to the list of filenames that isn't checked with the mbfile check option. Pack and Move file functions will now also delete or move the thumbnail files. mbcico: Changed the binkp receiver timeout code to prevent a hanging receiver. This only happens sometimes on a Sun Sparc (and still does). Changed the modem chat logging. It is now visible what is really send and received from to the modem. mbsebbs: Added wordwrap in the fullscreen texteditor. Patches by Ken Bowley. Replaced hardcoded prompts in offline.c with language prompts. New prompts are 66, 228, 229, 256, 260, 277, 297, 338, 374, 377, 391..397, 411, 425, 439..460. Replaced a language prompt in the Language load function with a hardcoded message. Removed menu option 216, download pointmail. Added QWK download and upload. Not fully tested yet!! Added ASCII download. File descriptions with color info will now be displayed in color. mball: File descriptions with color info suppresses the color info in the all/newfiles listings and 00index files. v0.33.12 24-Apr-2000 upgrade: After compiling and installing set the amount of free diskspace in mbsetup menu 1.4.22 to your choice. Kill and reload mbsed. If you use the web interface for the file areas create the directory css in your webserver document root and copy files.css from the distribution archive in it. Then run mball index. Customize files.css to your taste. general: Changed the ~/tmp/scan.mail file to ~/tmp/echomail.jam and ~/tmp/netmail.jam in the standard JAM format. Added file README.GoldED common.a: Added function to check for free diskspace on ext2, msdos and vfat filesystems, except floppies. mbsetup: New nodes now have "Notify" default off. Renamed menu 1.4. Added minimum diskspace setting to menu 1.4. Added force FNC switch to the nodes setup. mbfido: Exported netmail are checked until any tearline, not MBSE's tearline alone. If exported echomail doesn't have a ^aPID kludge, the ^aTID kludge will be inserted anyway. Removed some debugging info from the ARCmail pack function. When netmail to points is written with GoldED there was no ^aTOPT kludge. Any missing ^aTOPT, ^aFMPT and ^aINTL kludges are now added if they were not found during mailscan. The unarc/viruscheck directory is now completly removed after use and created again. Sometimes files with strange names were left behind with a normal recursive remove. Now checks at regualar points the free diskspace. Execution aborts if it is too low. mbsebbs: Inserted ^aINTL: kludge instead of ^aINTL without colon. Corrected the users age calculation, the users age increased one month after his birthday. mbsed: Added some fsync() calls to ensure disk writes. Now starts logging reginfo locking after the fifth attempt. mbcico: Made some small changes to the binkp batch function. Added free diskspace check during outbound calls. Added BSY command support for binkp during file transfer stage. Changed binkp timer reset points during file transfer stage. The binkp receiver now checks diskspace before accepting a new file, it sends BSY if too low to the remote. If in nodes setup the FNC flag is set, the binkp protocol will now send old 8.3 uppercase filenames to the remote. mball: The WWW pages now include a stylesheet so it is more easy to create a personal look and feel for the pages. The stylesheet goes into htdocsroot/css/files.css An example is included in this distribution. mbaff: Added free diskspace check. mbindex: Added free diskspace check. mbdiff: Added free diskspace check. mbmsg: Added free diskspace check. mbuser: Added free diskspace check. v0.33.13 12-Jun-2000 upgrade: Make all files and install them as root. If you use GoldED or other mail utilities as another user change $MBSE_ROOT/sema and $MBSE_ROOT/tmp to mode 777. Kill mbsed with signal 9. Now start mbsed again (/opt/mbse/bin/mbsed). general: The install script now sets the $MBSE_ROOT/sema and tmp directories to mode 777. Updated the internet news gate documentation. msgbase.a: Now creates all JAM files with mode 0666. mbcico: The binkp driver skipped aka's when the node number was zero. Changed on hold logmessage. mbfido: When forwarding a netmail, a temp file was closed twice, this caused a segfault on glibc-2 systems. In the logfile areamgr notify messages had the same orgin and destination address. mbsed: Changed the signal handlers. It will now allways try to cleanup lost clients. It will also not hang anymore when a client aborts for 10 minutes and use 100% cpu time. mbsebbs: Changed logging in filearea select. Permanent removed download checktime function, this was already off. Added error logging for setting filearea 0 during logoff. Only netmail replies via an internet gate are now readressed to a UUCP address. v0.33.14 03-Jul-2000 upgrade: Read this section carefully!!! This is a large update. Backup the whole BBS configuration. Compile and install all programs. Kill -9 pid of mbsed. Restart mbsed. Delete file ~/var/mailer.hist Delete in all outbounds the *.sts files. Start mbsetup, set item 1.5.14 if you want new users to get an email box, you should do this. Set 1.13.4, 1.13.5 and 1.13.6 to the node where the pop3, smpt and nntp servers are, normally this is "localhost". Set 1.13.10 to the Fidonet aka you will use for incoming and outgoing email via the Fidonet UUCP gate. Set 1.13.11 to the node address of the Fidonet UUCP gate. Set 1.13.12: use "No ISP" if you dont't have internet access, you will then use the default Fidonet UUCP gate. Set it to "Dial ISP" if you connect sometimes to the internet of have a cable modem without a DNS entry. Set it to "Perm ISP" if you have a permanent connection to the internet and you system has a valid DNS name. With mbsetup open the userbase, close it and answer yes to the save question. If you want existing users to have private email, set 15.36 for each user to yes. You should do this to accept email from the UUCP gate. Open the message areas setup (9.2), exit and answer yes to the save question, this will update this database. Remove any existing email areas in the normal mail setup, menu 9.2 (you should not have had any yet). With mbsetup open menu 16, this will add the default services database. Add entries as needed. With mbsetup open menu 17, this will add the default domain translate database. Insert entries as needed. Move the new entries so that the .fidonet .ftn translation is the last entry. Go back to the start of this section and check! general: Introduced users private email. Each user has (if set) three email boxes: mailbox, archive and trash. New system settings GiveEmail, POP3 host, SMTP host, Email Aka, UUCP gate aka and Email mode. New menus for email: 216 Read email, 217 Post email, 218 Trash email, 219 Choose mailbox, 220 Quickscan email. New user settings Email and plain password. All users can now have private email boxes. In normal mail areas you can't create email boards anymore. Some documentation is updated for new features and some changes are made to explain some things better. Added a services database. These are mail accounts that can perform certain actions. Added domain translation database, this will translate fido domains to internet domains and back. Changed the message areas to contain newsgroups information. common.a: The nodelist lookup function didn't recognize the internet protocol flags followed by a colon and portnumber. Move some functions from mbfido and mbmsg in here. Added characterset convertor from ifmail. It uses the same maptabs. Moved some other functions into this library. mbinet.a: New library, internet protocol interfaces. Has interfaces to SMTP, NNTP and POP3 protocols. msgbase.a: The MsgIdCRC and ReplyIdCRC values were not set in the message headers. Added protection for too long subfield strings. Made some stringlengths longer, following JAM specs. clcomm.a: When closing the server connection the autorisation table will now be freed before the program ends. mbcico: During binkp calls the mailer history wasn't filled with session information. Some system names were too long for the history info. Will now properly initialize the mailer history file when it doesn't exist. With incoming calls the "Node not in setup..." debug log message at startup is supressed. Will send netmail with Immediate flag set allways. Will now also poll non-CM systems outside ZMH. You should know what you are doing! The format of the outbound .sts files is changed to prevent problems on Sparc systems. Made the FTS-0001 sessions work again. With outbound sessions the RH1 link option is set. If a file is received and there is alread an empty file with the same name, that one is removed to prevent filename extension bumping. This may be a leftover from a previous failed session. mbout: Won't create polls for nodes not in the nodelist, nodes that are Down or Hold. Removing polls is always possible. When multiple polls on the commandline are given, if one of these nodes is down/hold, then all other polls are still created. When creating a poll for a non-CM node outside ZMH, a warning is given and written in the log. Added the fileattach command. The format of the outbound .sts files is changed to prevent problems on Sparc systems. mbfido: In the rollover function the mailer history is truncated each month. The current and previous month records stay. When forwarding .tic files, the files are now attached to the routevia address if this is set for a node. Processes scanning of netmail with the immediate flag set. Added more debugging info for the scan function. Uses the services database to decide incoming netmail to handle by AreaMgr, FileMgr or Email. Moved some functions to common.a Configuration errors found during mailscan are now logged. Removed a small memory leak from the magic manager. Added experimental email import from a FTN UUCP gateway. The AreaMgr now refuses to disconnect a node who is cutoff from an mail area to prevent reconnection. If from a received tic file the accompaning file is missing in the inbound the errormessage will now say that instead of the wrong message "Permission denied". mbsetup: In edit fido aka's when you remove a secondary nodelist the aka is now automatic erased. The line editor now checks if a line only contains spaces, if so, the line is returned erased. Trailing spaces are still possible! Added global settings and user settings for the new options. Added 5 new menu choices, Post Email, Read Email, Trash Email, Choose Mailbox and Quickscan Email. Added setup for the services database. Added setup for the domain translation database. Corrected some sitedocs chapters numberings. Added setup parameters for news in the message areas editor. For new installations there will now be a default system location filled in. This will prevent "mbstat open" to hang for sysops that didn't do proper system setup. mbmsg: The post function created the semafore scanout instead of mailout. Moved some functions to common.a Messages written with GoldED were deleted by age because some GoldED versions don't set the Processed date. mbsebbs: Added DoNop() to message read function to prevent losing the connection with mbsed with long messages. Added netmail Immediate option for non CM nodes. Replaced some hardcoded prompts by language prompts. Duplicate phonenumbers check is finally working. Added better check for personal mail. The messagearea overview now also counts messages written by the user as personal messages. Changed the newuser function to set system and bbs password in one function so the user creates the password only once. During normal login (via user bbs) the plain user password is stored in the userbase. This will not work with Unix login. New textcontrolcode: Control-K + N, current e-mail mailbox name. Updated the change password menu command to use the new mbpasswd wrapper. If a user decided to Quit check for newmail, the bbs crashed with a segfault. Will not insert Re: in the subject of the subject contained a Re^2: produced by GoldED. Patched the fullscreen editor with code from Johannes Lundberg to correct the "invalid screencoordinates" problem. Adds the ^aCHRS kludge with CP437. Will now free the server authorisation tables on exit. The users plain password is now written to door.sys mbsed: Removed the fsync calls in the logfile write functions, it never did any harm and the fsync calls do really slowdown the system. The locking functions only waited for 2,5 second instead of 15. mbpasswd: New wrapper, sets a new password for a user from the commandline. mbuseradd: Doesn't ask the user for a new Unix password anymore, mbpasswd is used instead to set the password. lang: Added 10 new language prompts, 461 upto 470. Changed language prompts 39, 40 and 388. mblang: Corrected a bug reported by Johannes Lundberg (2:206/149). mbuser: Will now remove blank records at the end of the database. mball: The index function now translates the characterset from CP437 to ISO-8859-1. mbdiff: Removed a small memory leak. mbindex: Writes an error in the logfile when no nodelist is defined for a network that is defined in the network setup. Processing of all other lists will be completed. mbmon: Will now free the server autorisation table at exit. mbmail: New program, use this to replace ifmail from the ifmail package for the email gateway if you had that installed. If it is then it's probably configured in /etc/sendmail.cf or whatever other MTA you are using. v0.33.15 08-Oct-2000 upgrade: After installing the new binaries kill mbsed. Start mbsed. Start mbsetup, open global menu 1, exit and save. This will set the default value for newsarticles dupe database size. Set the real news areas to the type News instead of Echomail. Copy mbsebbs-0.33.15/script/run_inout to $MBSE_ROOT/etc Compile the nodelists again with mbindex. general: All version information for the sources now comes from the generated file config.h Tested on Slackware 7.1 (i386) and Debian 2.2 potato (Sparc). Changed the SS() macro to MBSE_SS() to prevent conflicts with system libraries. Changed the way debug logging is, see the file DEBUG for details. Updated the ftscprod list with version 006 of 22 jan 2000. I dared to ask for a product code with the FTSC commitee. Removed the McMail.bug file from the distribution because later releases (after 1.0) don't have problems anymore with EMSI handshake. Added nodelist capability flag IFT for future extension. Added forgotten nodelist capability flag Z19. Changed the analogue modems priority. lib: When there was more then 6 Gig diskspace free, several programs complained about negative diskspace available. The logger now registers the /dev/pts/n devices correct. Changed the logger for the new debug way of logging. The logger is now protected for stringlength overflow. mbfido: When exporting echomail all system aka's in the same zone are now added to the SEEN-BY lines. Experimentail newsgroup postings from local posted echomail and received echomail. Now closes active SMTP and NNTP servers only once if they have been used instead of opening and closing for each message. The filemover now creates destination directories if they don't exist. Added patches from Redy Rodriguez of 2:283/613.6: . Added %RESCAN and %MSGS to the Areamgr. . It also fixes two bugs in %QUERY: it incorrectly listed the linked areas (I have added the great totals at the end of answers to %QUERY and %LIST); and it also corrects its not recognizing the area tag if you ask for it in lower case letters (should always be in upper case). . The AREA: kludge in echomail is now only tested if it is the first line of the message. . Added the message area autocreate function. See the manual for details how to set it up. mbfido now creates MBSE-FIDO ^aPID and ^aTID kludges. Crashmail to points will be sent to their boss node. Sending email now uses the mkrfcmsg function. Incoming .pkt files not ending with a zero word are now processed as if they were ok. The will not end up in the bad directory anymore. In magic unpackfile for test there is now an calloc for the cwd buffer to see if that removes a NULL pointer free'd error. SETUP.sh Added extra check for Slackware systems. Since 7.0 there is an extra check needed to prevent detecting a Mandrake system. Corrected a minor typo for Debian startup script. mbsetup: The PickAka function loaded the global setup again when editing the global setup so you did loose all recent changes. Added a menu entry in menu 1.13 to set the size of the news articles dupes database. In screen 9.2 changed the order of fields 19, 20, 21 and 22 because item 8. got partly overwritten by linewrapping. mbsed: Corrected the data given for disk statistics for large disks. The log function now prints all characters to the logfile. mbsebbs: New users have now default the fullscreen message editor. Added patches from Redy Rodriguez of 2:283/613.6: . Changed language prompts 136...141 and added 471. Changed the timestatistics output in funcs4.c for the changed language prompts. It is now full international. mbsebbs now creates MBSE-BBS ^aPID kludges. It is now possible to reply crash to points by testing the status of the bossnode. Also crash posting to points is now possible. Changed some debugging code of the fullscreen editor. Message reading on Sparc systems works again. The offline reader functions Tag areas, Untag areas and View tags will now display the more/y/= prompt when the listings are longer then the screenlength. Patches by Redy. When posting a news article the To: field is automatic filled with "All". Postings to email and newsgroups now add some RFC headers for mbfido to process. The style of GoldED is used. mbcico: mbcico now creates MBSE-CICO ^aPID kludges. The binkp transmitter now sends a zero length dataframe after the transmitted file to all mailers except mbcico. Removed a small bug in EMSI handshake routine. Revised modem7 timeouts. Corrected checksum error for first time receive of filename. Did final testing for FTS-0001 sessions, a lot of bugs are repaired. Note that most of them may be present in ifcico. In a FTS-0001 session wazoo filerequests are also honored. Sometimes received wazoo requests were renamed to temp filenames and not responded to. Corrected the helpscreen for the TCP/IP modes. Improved the random dial delay time generation. mbmon: The logger now registers the /dev/pts/n devices correct. mbchat: Patches for new device pty names by Redy Rodriguez. fbutil: New utility written and maintained by Johannes Lundberg, 2:206/149@fidonet, . run_inout: Changed this script to check for the inbound/bad directory, if it doesn't exist it is created. Removed all old news/email gateway stuff. The goldnode compiler is called if it is in $MBSE_ROOT/bin. v0.33.16 07-Jan-2001 upgrade: Edit the crontab to comment out the lines with run_inout, mailer and mbstat check. Compile the sources. Stop the bbs, kill mbsed. Install the new binaries. Start the bbs as root with the new init script. It will be in some init.d subdirectory depending on your distribution. If you can't find it, reboot. If you want to start using the newsgate, run mbfido news -learn the first time to learn which articles there are. Edit menu item 1.14.3 and check that it's empty if you don't use it. CRON.sh: Removed the lines that ware replaced by the mbtask program. SETUP.sh Changed binkd into binkp because binkp is the official protocol name. Corrected a problem installing on a system without shadow passwords. Removed the part where the init scripts are installed. They are now in a new script in the script directory. clcomm.a: New function Syslogp, to log unformatted strings, the normal formatted string logfunction did hang sometimes when logging strings containing the % character. Improved some error messages in the NNTP and SMTP connections. common.a: Protected uniq_list and sort_list against NULL pointers. Handles the error strings now if there is a $ at the start of an logstring. This was only in the daemon but that didn't give the right errorstrings. Nobody noticed this error has been here from the beginning. Protected the chkftnmsgid function from NULL input. libdbase.a: Dupe checking databases are now loaded in memory when needed and written to disk only once when ready. general: Two new global switches, don't regate and allow control messages. Changed the maptab cp437__iso-8859-1 to translate 8bits dos graphics to 7bits characters to make all fancy dos like textboxes more readable on Unix systems. New setup parameters for UUCP newsfeeds. Added support for the PPC cpu. mbtask: New daemon. Takes over the functions of the run_inout and mailer scripts. This program launches every program needed to run the bbs. It will also check Zone Mail Hour. mbsed: Corrected a spelling error in the program header. Made the userlog full transparant. Fixed a memory leak in the userlog function. Changed file locking of mbsed status files to use fcntl() instead of placing lockfiles. mbfido: Protected the rfcmsgid function against NULL input. Build some protection against too long lines in ftn messages that were gated from rfc and regated to news. Removed a lot of #ifdef statements for gating behaviour and made a lot of code permamenent. Original code for #ifdef ALLOW_CONTROL and DONT_REGATE is now under control of configuration settings. Forwarded files had an old copyright message in the tic files. When sending messages to the SNMP or NNTP servers a line with only a dot in it will be sent as a space and a dot to prevent that the server thinks it's the end of the message. When sending or forwarding messages to a destination with a routevia address, the arcmail will be packed with the flavor of the new destination node. Magic execute uses the exec call now instead of the system call, the programs to execute must now be in MBSE_ROOT/bin or it will fail. If a MSGID is missing the dupecheck includes the message text in the dupecheck. (Redy). Local posted echomail gated to news has now the right From: address format and the right UTC time. Imported news messages had an AREA: line in the message text. Gating news to echomail doesn't crash anymore. Fixed several bugs to make this finally work. During gating news to echomail the mbmon program now displays what is going on. Added usleep code during news scanning. The program is now installed setuid mbse and setgid bbs. This allows it to be called by other users as mbse. New commandline, uucp. This allows mbfido to process incoming uucp newsbatches. Call it from uucp by: cat newsbatch | /opt/mbse/bin/mbfido uucp -quiet or cat newsbatch | /opt/mbse/bin/mbnews It will handle compressed and uncompressed newsbatches. If a scanned netmail should be send via your own UUCP gate, the message will be handled further by the ExportEmail function. All other UUCP destinations will be send via the remote UUCP systems. News articles that need to be send via NNTP are now first stored in a temporary file. At the end of the mbfido run it will try to post these articles. If it fails (newsserver down), the temp file stays for a later try. Added newsserver options for submitting articles via rnews and to an UUCP remote host. Added alias database again that was in the original ifmail. Made a universal email post function. Removed sourcefiles addos.*, they were not used. If in configuration the root for the html pages is blank, then no html pages will be created. Netmail send to "ping" are bounced back to the sender if your system is the final destination. If such a netmail is passing thrue, the receiver is notified (trace). All ^aVia lines are added to the replies. Systems running MBSE 0.33.16 and up may now add the PING flag to the nodelist. mbmail: If there is no Organization header, the BBS default origin line will be used. Removed a lot of #ifdef statements for gating behaviour and made a lot of code permamenent. Original code for #ifdef ALLOW_CONTROL and DONT_REGATE is now under control of configuration settings. The packet routing is now determined using the mail tracker. The point of splitting large messages is now set at the point from the setup instead of hardcoded at 12 Kbytes. The program is now installed setuid mbse and setgid bbs so that braindead MTA's can still deliver mail to the Fidonet. Mail for users at your own bbs is now imported into the netmail board. Added REPLYTO: REPLYADDR: and MSGID: kludges if these where not yet present in the message. Added alias database again that was in the original ifmail. mbsetup: In menu 1.13 added allow control and don't regate setup. In all menus the default prompt selection is now "-" instead of "0", so just pressing enter will leave from a menu. When editing a new message area the area is automatic made active when you assign a group to the area. Most databases now create default records the first time. The sitedoc pages for the tty lines were to big for each printed page. Splitted menu 1.13 in a Fidonet and Internet part, added setup parameters for UUCP newsfeeds. In the services setup the UUCP/Email entry is now added for first time installations. mbmon: In all menus the default prompt selection is now "-" instead of "0", so just pressing enter will leave from a menu. mbout: Fixed the helpscreen. mbstat: Removed the check command, this is now done by the mbtask daemon. mbcico: Doesn't use tmpnam anymore during execute magic request. The openfile function doesn't use tempnam anymore if a filename is created after 62 name bumps. When searching for a matching aka and your first aka is disabled the first active aka is used as default. The closefile function doesn't use the tempnam function anymore. mbsebbs: When posting news articles when not permament connected to the internet, the From address will be Fido style. Messages for offline packets are now packed using the following tests: - If area is netmail then only personal messages are included (unchanged). - If area is not netmail, and msg-kinds are private then only personal messages are included. - If area is not netmail, and msg-kinds are both (pvt/pub) then personal messages and messages without pvt flag are included. - Otherwhise all messages are included in the packet. Removed debug messages for the POP3 protocol. mbpasswd: Fixed a compile problem on systems without shadow passwords. Thanks to Mario Mure. Corrected a missing library in salt.c Corrected a missing conditional header file in encrypt.c mbmsg: Wrote wrong CHRS kludge in the post function. mbfile: Warns about empty file areas during kill files. v0.33.17 21-May-2001 upgrade: Compile the sources. Stop the bbs using the init script mbsed as root: Slackware 7.0 and older: /opt/mbse/etc/rc.shutdown Slackware 7.1 and newer: /etc/rc.d/init.d/mbsed stop RedHat and Mandrake: /etc/rc.d/init.d/mbsed stop SuSE: /sbin/init.d/mbsed stop Debian: /etc/init.d/mbsebbs stop Install the new programs. Start the bbs using the examples above and use the word start. Use mbsetup menu 1.18 to change the Zone Mail Hour if you are not in Fidonet zone 2. general: The daemon mbsed is now obsolete, all these functions are now in the mbtask daemon. For client/server communications Unix Datagram sockets are used instead of TCP stream sockets. Italian language added, translated by nervous@nervous.it Spanish language added, translated by Redy Rodriguez. JAM messagebase locking is now according to the JAM specs. docs: Added fsc-0088, fts-4001 and a page to describe the use of a UPS with MBSE BBS. Updated documentation to show all changes. Added in file area setup and message area setup the description of the global commands. SETUP.sh: Removed installing mbse as port in /etc/services common.a: The diskfree check now ignores a mounted filesystem at /boot because that filesystem is usually small and not needed by mbse. The diskfree check should support reiserfs now (not tested). Code and logging cleanup in packet.c dbase.a: Removed debug logging from the dupes databases. mbinet.a: When an NNRP server asked for authentication after the first command instead of after connect, the user authentication wasn't started. mbsed: Obsolete and removed. mbtask: Does all things mbsed used to do, it uses Unix Datagram sockets to communicate with the clients. If IP addresses to test are entered in the setup it will check if the internet connection is available with ICMP ping. Added Internet connection status, system running status and system load average to the GSTA command for mbmon. Create's the file ~/etc/config.data if it doesn't exist and fills it with default parameters. Note: the internet connection status is for future use. mbfido: The pktdate logresult is now only displayed if there was something wrong. The Checkdupe fallback logmessage is removed. Corrected a small bug in the news to echomail gate to get the correct replyto and replyaddr kludges in the messages. Changed the tosspkt messages read functions back to the way it was so the namefield may be exactly 36 characters long excluding the null terminator. The PING function didn't work if the message came from a node not in the setup. The PING reply now has a Re: prepended. The scannews function now acts better on nntp error conditions. Local posted echomail dropped the subject when it was gated to news. If imported netmail doesn't have a FMPT kludge and there is pointinfo in the MSGID line, the pointinfo is taken from the MSGID line. Improved the TRACE message of the PING function to make it more clear that it is a TRACE message. The PING reply now uses the aka from address that was original the destination address instead of the matched aka in the reply message. Added a hack to try to process .tic files that are not lowercase filenames. Added support for a system alias file to convert fidonet addresses to RFC addresses. In the mbnews function the tests for the headers Newsgroups: and Message-ID: are now case insensitive. File attaches with the leave case option set did not get the TFS or KFS flags set in the attachement. mbdiff: Removed some debugging logmessages. mbfile: Removed some unnecessary logmessages. mbmon: When viewing the bbs lastcaller list the clock wasn't updated. The commandline option doesn't work anymore because we now use Unix Datagram sockets to communicate with the server, so we must be on the same system. Added Internet status, running status and system load average to the Server Statistics screen. Minor adjustments to the screen layout of the Filesystem Usage screen. mbindex: Sends the correct IsDoing information to mbtask during sort and write. mbsetup: Added setup screen for the task manager. Some menus didn't have the default "-" character in the prompt. The language setup now adds Italian and Spanish on new installations. In main system aka's shortened the domain names from 12 to 11 characters length to prevent SIGSEGV in mbsetup. Improved help messages when editing aka's. Corrected chapter numbering in sitedoc. Changed page layout sitedoc 8.1 Removed initialisation of ~/etc/config.data, this is now in mbtask. In golded.inc AKAMATCHECHO is no YES. In golded.inc writing the AKAMATCH aka's other then fidonet didn't really match the aka's, the main aka was written instead. mball: Removed two redundant log messages. mbmail: The program wrote mbfido instead of mbmail in the logfile. mbsebbs: During login with two names the second name now also checks for empty responses from the user. Removed some IEMSI debugging messages. Removed the timeleft debug message. Removed logmessage if no newfiles were found. Removed rendunant log message abount start newfiles scan. Removed logmessage if no newmail was found. Removed debug email setarea message. The list of languages to select is now divided in two columns. The message to sysop function now doesn't quote and doesn't write "Sysop wrote to ..." anymore. Thanks to Harald Wuensch. The program now uses umask(007) instead of umask(000) In the displayfile function the ^B syntax (show text above sec. level) is now: ^B^B^B without the < and > characters. Thanks to Harald Wuensch. Removed (press enter to Quit) from language prompt 379 since there is no default choice. Adjusted a lot of strings for filenames and paths to PATH_MAX in stead of 80 characters length. Moved the Nopper call in the fullscreen editor to a place were it always should work. mbcico: The session debug logmessages are set to the special loglevel. Implemented EMSI-II, FSC-0088. When calling a TCP/IP node with hostname in nodelist system name and a valid phonenumber, and if the hostname could not be resolved, mbcico would dialout and try to establish a TCP/IP session over the modem connection. Now the TCP/IP flags are cleared and mbcico will fallback to valid old style phone sessions. In binkp added the M_NUL PHN and M_NUL OPM to log if they are received from the remote. We also send these flags. In binkp we now always send and empty dataframe after a file is sent, most binkp implementations need this to detect EOF. We don't log received empty frames anymore, we just drop them. mbpasswd: Added check that username and password may not be longer then 16 characters. Fixed the error message on some systems about USERGROUPS_ENAB. mbuseradd: Error messages now go to stderr. Increased stringslength of some internal variables to PATH_MAX. Check all arguments that they are no longer then 80 characters. The user is now the owner of his homedir. In this homedir a directory Maildir with subdirs cur, new and tmp are created, also owned by the user. Some MTA's need this (Qmail). Doesn't create the .hushlogin file anymore, not needed. mbmsg: Now runs umask(007) mbuser: If users at the end of the userbase are deleted and the database should be truncated, these users were not removed from the Unix system and their homedirectories weren't removed also. Added a check to see if the sysop defined in the main config also exists in the user database because these two must match. mbstat: Added the semafore command to set internal mbtask semafore's. script/installinit: Corrected a bug for Slackware 7.0.0 were the wrong initscripts were installed. examples: Replaced the internet menu and txtfiles with versions that work with the current menu structure. v0.33.18 27-Jul-2001 General: The development team now has five members and the sources are on sourceforge's cvs server. Changed the name to MBSE BBS for Unix instead of Linux. This version is ported but not well tested to FreeBSD. Upgrade: In your Mail Transport Agent (if you use it) replace the line "mbmail -r (recipients)" to mbmail "(recipients)". In postfix this is in the master.cf file. With mbsetup menu 1.3.8 fill in the path to the *.msg path. MBSE.FAQ: New, maintained by P.E. Kimble aka King Kimerud lang: Added Galego language by Redy Rodriguez. Corrected Spanish language. SETUP.sh: Doesn't create .huslogin anymore for user bbs. Script does now work on FreeBSD but needs bash. common.a: Corrected some defines in parsedate.c to include/exclude the right code. Changed the rawio to termios style instead of termio. Added ufs filesystem as normal filesystem to the diskfree function. msg.a: When locking the JAM messagebase failed due to a lock error nothing was logged and the error was not flagged. mbftpd: Removed the subdirectory for this not finished program. It may or may not return later. mbfido: Filefind replies had a wrong ^aREPLY kludge. Rewrote a lot of code so that similar functions are only once present. This will make bughunting and maintaining much easier. Scanned netmail from point addresses created with GoldED are now always checked for missing FMPT, TOPT and INTL kludges and they are inserted when missing. The checkdupe switch also work in uucp mode (mbnews). The code for mbmail is now merged into mbfido. A symlink from mbmail to mbfido is created to let mbfido run in mail mode. The syntax to call mbmail is changed. Implemented processing ^aFLAGS for received netmail (FSC-0053). mbmail: Obsolete, the functions are now in mbfido. mbtask: Removed all references to the Memwatch debugger, mbtask is oke but the debugger fills up the harddisk (very fast). Does now respond again to external semafore's mailout, mailin and scanout in the semafore directory. Removes stale socket file if found. Runs mbsetup init if config.data is created on new systems. Fixed a SIGBUS fault for Sparc systems mbpasswd: Added CLOSE_SESSIONS and ENV_ROOTPATH to getdef to prevent new user error messages on some distributions. Ported to work on FreeBSD. mbindex: Patched by Ken Bowley to prevent a crash when the 300 baud field is the last item on the nodelist line. mbmon: Changed the rawio to termios style instead of termio. Shows the OS name in the info screen. mbsetup: Shows the OS name in the info screen. Creates default tty records with tty names for the right OS (I hope). Fixed a bug in the menu editor, deleted menus were not really deleted. Added setup items for the menu Display colors. Added a no suid switch to the menu for doors. Added setup for *.msg directory in menu 1.3. When changing the number of newfiles groups, the newfiles reports database is converted on the fly. All path variables now have a length of PATH_MAX. When mbsetup is started, all databases not present are created and when needed filled with default records. There is now one possible commandline parameter: init. This should be used only once (but doesn't hurt if run more then once) on a new installation. A check is build in that mbsetup is started by user mbse. Fixed segfault error during exit of mbsetup when writing the golded.inc file when the bbs is more or less unconfigured. The file golded.inc is now only rewritten if changes are made to the main configuration, fidonet data or message areas. Added default archiver record for the Russian ARJ archiver. mbcico: Renamed sendfile function in zmsend.c to sendzfile to prevent a conflict with an existing library call on FreeBSD. Removed some debug logmessages. The filerquest response message doesn't use the tmpnam function anymore, this was the last one of the unsafe tmpnam calls. mball: Removed some compiler warnings on some systems. mbsebbs: Removed some compiler warnings on some systems. Added menu Display lines. Added menu item 21, display text only. When a user has no download files limit and no download Kbytes limit he may download unlimited. When a user has no timelimit set in the limits, he will get a 24 hours session limit. The written door.sys file now has EOF character at the end. The written door.sys file now has a : after the comport. Executing doors in nosuid mode (as real user) is now possible. This can be switched on using mbsetup. Info will be in FAQ. Fixed security problem in Unix username and password entry. Now stoped nicely if started without controling tty. Many bugs fixed in the full screen editor. Last line of message is no longer deleted when saving message. Segfault problem with deleting characters fixed. Improved word wrapping. (still needs work) Reduced amount of debug logging messages in editor. mbuseradd: Ported to work on FreeBSD. mbpasswd: Ported to work on FreeBSD. mbfile: All path string variables are now of length PATH_MAX. Added list file areas. fbutil: Removed list file areas. htmldoc: Upgraded the FTSC documents to the current state. v0.33.19 26-Oct-2001 upgrade: Announce any new files you might have. If you run mbtoberep it should display no data anymore. Change the file /opt/mbse/etc/issue like the example in the subdirectory mbtask. Change the shell for user "bbs" to /opt/mbse/bin/mbnewusr The make install fixes several permissions that are wrong for the new style (not setuid) of mbsebbs. Remove /opt/mbse/etc/maint to let it replace with a new version, or change it by hand. On RedHat, Mandrake or e-smith systems remove the existing start and stop commands with the runlevel editor, they will be installed with other values when the system is installed. If you forget this then mbsebbs will start and stop twice. After compilation and installation run "mbfile check" to update all file entries in the files database. This give a lot of output in the logfile, don't worry about it. In mbsetup 18 (task manager) set the fields 18, 19 and 20 to the right values of your system. Also consider the setting of field 13, set it to Yes if you cannot have a internet connection at the same time when normal dial to fidonet is needed. All other users, (more modems, cable/ADSL etc) set this to No. Fill in the right IP addresses in fields 11 and 12 of your ISP's nameservers. If you don't have internet, fill these with 192.168.1.1 and 192.168.1.2 as dummy addresses. Change the startup program in /etc/inetd.conf for telnet if you previously used mbsebbs to mblogin. Change the default login program in mgetty's login.config to * - - /opt/mbse/bin/mblogin @ general: Made the Makefile system more simple. The bbs program now doesn't run setuid anymore! This makes the system more secure. A new program, mblogin, is written to allow logins with Fidonet style names from mgetty and telnetd. This is a login replacement for bbs use only. Normal shell users can't login, not even root! On FreeBSD the installed files are not removed anymore from the source tree. Added German language file made by Harald Wuensch. The mbtask daemon now handles the calling of Fidonet nodes. The sourcetree has now a new subdirectory called unix. Here are all the system specific programs such as mbpasswd, mblogin and mbuseradd. Started NetBSD port, is in testing fase. Added support for xinetd. Fixed filemodes for some directories and data files. SETUP.sh: Better grep to check for existing usernames like bbs, mbse. Ported to NetBSD. Added support for xinetd configuration. Changed distribution test for Mandrake. Changed to recognize the e-smith server based on RedHat. If system runs xinetd instead of inetd, the configuration for xinetd is updated with info for mbsebbs. installinit.sh: Changed to recognize the e-smith server based on RedHat. On RedHat, Mandrake and e-smith systems the symlinks to start and stop the bbs are now added. Reorganized the init scripts. libcommon.a: When adding seenby entries, the zone number is copied from the previous adress just like with the net numbers. This is for old style tic files, they were not full 3d. Fixes for Sparc systems. The nodelist information now also holds the Txx flags. The mkdirs function now needs a mode parameter for directory creation. The filesystem space check is now reliable on FreeBSD and NetBSD. lang: Changed language prompts 6, 71, 429. Added language prompts 472 and 473 for FS editor. Added language prompts 474, 475 and 476 for address entry. Added language prompts 477 and 478 for post with user alias. Deleted language prompts 387, 388, 389, 390 examples: Changed menu setup.mnu and textfiles setup.* to show the new setup entries for the users. mbsetup: Changed usereditor, new layout, added new settings and changed password reset function. The system password is now also updated. Added setup item for menus 317 and 318. Changed the order of menu 1, global settings. The screens are now in a more logical order for a first system setup. Most datafiles are now saved mode 0640 exept the files that need to be rewritten by users, they have mode 0660. The filemodes are always checked and corrected during startup. In the file database editor the default choice was 0 in stead of -. When a file area is made unavailable in menu 8.4, first the files in that area area checked. If there are none, the area is completly removed, including paths, indexes and database. When an new area is made available, the database is created. The AREADEF lines in golded.inc now contain the aka to use instead of a dot. Fixes for Sparc systems. Now logs in the normal system logfile. On new systems it will now also create one filearea, three default mail areas, a newfilereport and the groups belonging to these areas. Also 10 oneliners are installed. Changed help for nodes billing flag. Changed users password length to 14 characters instead of 12. When you make a tty line available, some settings are automatic set to reasonable defaults. The color editor now has a rangecheck. Rewrote calling of the color editor for Sparc systems. Added setup items in global and message areas to limit the fetching of newsgroups headers. The edit field now shows the contents correctly if the field contains the % character. In several menus after leaving a edit record records were displayed from start again, now shows last screen. When editing a node's connected file/mail groups it can now handle more then 40 groups without messing up the screen. Fixed area selection in filedatabase editor. Protected help string display for boolean edit against buffer overflow. Menu 5.1.14, helpstring was too long, causing a buffer overflow without the previous protection. mbsebbs: Added menu 317, change FS editor shortcut keys to (Emacs/ Wordstar) style. This has no effect on the editor for now. Added menu 318, change users address. Added control-U 4, ON/OFF for FS edit Emacs shortcut keys. Now updates the lastcaller information when a call is finished and now also sets all the action bits what the user has been doing. Also time online is correct now. Added control-U 5, 6, 7, display users address lines 1, 2 and 3. If a user doesn't have a .signature file in his homedir, a simple one will be created. If a user saves a new message at the bbs, the message will be signed using the .signature file. Patches from Bobby Cabral: - Fixed display file with more that stopped after every line. - Added display file "mainlogo" before the "welcome" file. - Added display files "welcome2..9" after "welcome1" file. Posting message with users alias is now possible. If in menu entries "Display prompt" the fore and background colors are set, the prompt is displayed with these colors. If not, the prompt defaults to white on black. Does now run as the users uid, not suid anymore. You are not able to login with Fidonet style name anymore, the mblogin program does this. Removed IEMSI support, this has no use anymore. New users need to register with the mbnewuser program, mbsebbs is only for registered users. This should fix all kinds of setuid and security problems with previous versions. In the door.sys files is now a nodenumber written. This is actually the tty record number. QuickScan messages in netmail areas now only shows personal messages. The whoson list now uses mbtask to get the information. The users exitinfo file is now stored in his homedirectory with mode 0600. A lot of code rewrites to make it more modular. The bbs datafiles that users create now have mode 0660. The file taglists now work internally with long and short filenames. The file listings are displayed with the short filenames. Download files are sent with short filenames. File search is done on long and short filenames. Uploaded files are accepted with long filenames, the short name is created when the upload is processed. The virus scan after files upload tried also to use scanners that were not available. The upload virus file scan now also scans files that are not known archives. Should catch macro viri and worms. The file CRC is now set when importing an uploaded file. Fixed quote initials of the original user containing a space character if there was a dot followed by a space in the users name. If Ask Date of Birth is not set in the configuration the user can't change his date of birth and his age is 0 years. You should not disable this if you restrict access to some file areas if you want to test the users age. Also the age in the users record is invalid. Fixes for Sparc systems. System calls for archivers and virus scanners are replaced with execute. During startup the username is tried from the environment variables LOGNAME and USER. Added some automatic file permission corrections. mbnewusr: New program, run by user bbs. This is only to register a new bbs user. Should be started by the bbs account. Ask Date of Birth now only is asked if set in configuration. Fixes for Sparc systems. mbpasswd: Added more checks to see if it's legal invoked. Password change on FreeBSD finally works. Moved to new sourcetree. Ported to NetBSD. mblogin: New program. Replaces standard login, allows Fidonet style usernames. Has it's own login.defs file. mbcico: Undefined IEMSI support since mbsebbs doesn't support it anymore. Filerequest responses are now created with long filenames. When sending files, if the remote has the FNC link flag, the filename is mangled to DOS 8.3 format when transmitted. File request response messages now display the long and short filename in the reply. Filerequest response messages now have a random quote added. The binkp driver now sends 8.3 mangled filenames if that option is set for the remote node in the setup. The hydra driver now sends 8.3 mangled filenames and long filenames as specified in the specs. Corrected the location of the modem lockfile on FreeBSD. Fixes for Sparc systems. When a session fails, the node status retry time is current time + random dial delay time. Needed for mbtask. mbout: Fixes for Linux Sparc systems. The node query now displays the system open times (Txx) flags. The node query now also displays the CM,MO flags etc. mbtask: Changed to handle the External Doors flag in the lastcaller information. On new systems, ~/etc/config.data and ~/etc/task.data are created with mode 0640. On new systems, the DOS path isn't set anymore by default, most people don't need it. Starting utilities is now more relaxed using a 3 seconds pause timer. Fixed some potential Sparc problems. On new systems, all paths for MBSE are now created in the /opt/mbse root. When scanning outbound, flags are set if flo or mail pkt files are present. When the internet connection status changes, the outbound is rescanned. Implemented Txx nodelist flags, FSC-0062. Added code to see which nodes could be called depending on outbound status, nodelist flags etc. Experimental. Added code to do outbound calling, experimental. Calling systems in parallel is now possible. Creates the semafore do_inet if there is an internet node to call even if there's no internet connection. Removes this semafore if there are no internet nodes to call. This can be used by ppp scripts to see if there is work and when there is no more work to do. Not important for permament connected systems. Made the FreeBSD and NetBSD disk status calls reliable now that I know how to really get the mounted filesystems. The system load value is implemented on FreeBSD and NetBSD. mbmon: Changed the lastcaller screen to display the External Door information. When lastcaller info is scrolling, the lines are first proper erased. Fixes for Sparc systems. Added support for display do_inet semafore in menu 2. mbmsg: Corrected header in logfile for pack function. Fixes for Sparc systems. import: Removed users import, could not work anymore. mbfido: When running in mbmail mode, it will try to get the lock on the program for 10 minutes before aborting and waits until another mbfido program is ready. Fixed the problem that the KillSent flag was set on processed netmail. Reset the KillSent and Hold flags when storing netmail in the message base. The tic file import function now sorts and tests on long file- names, with the new mangle function an DOS 8.3 filename is also stored in the file database. For all files received in tic area, the crc of the tic area name is stored in the filerecord. This is for the future rescan option. Implemented long filenames with hatch. Now uses ticfile key- word Fullname for the long filename. Fixes for Sparc systems. File forwarding now really depends on the downlink billing flag. Now limits fetching of newsheaders according to area setting. Added the Size parameter to the tic files, this appeared to be missing since a while. Fixes for Fido->internet gate for dropped characters during linewrap. Experimental. Added netmail bounce function. Protected the postemail function from posting to local FTN addresses, this will cause a mailloop for undeliverable mail. These mails will be bounced back. mbfile: During checks the file databases are reset to filemode 0660. Implemented "mbfile adopt" function. Started working on long filename support. The real name on disk is the long filename, the database records also holds an uppercase mangled 8.3 filename. In most cases this is just the same name in upper and lowercase. Name mangling like Win$ is performed on the long filenames. Implemented "mbfile import" function, this imports complete areas from files.bbs information. Added "mbfile toberep" function, this gives an overview of the toberep database. The program mbtoberep does this as well, but that one gives a complete dump and is for developer use. The "mbfile index" function now also writes files.bbs files, the index.html files for http download and 00index files in all available areas. The files.bbs files have download counters included. The mbfile check function now converts the short filenames to DOS 8.3 filenames. (The first time this logs lots of errors). The mbfile list function now gives a listing of the contents of a file area if the area number is given as argument. Implemented "mbfile move" command. You can only move one file at the same time. Implemented "mbfile delete" and "mbfile undelete" commands. The command mbfile check now removes obsolete file databases. Fixes for Sparc systems. Fixed index screens to prevent negative totals with large filebases. Added standard doctype header and commentline to the html pages. The mbfile check function deletes double filerecords in the database. mball: The index function is now obsolete, this is added to mbfile. You may need to adjust your scripts that call "mball index". Fixes for Sparc systems. Fixed to prevent negative values with large filebases. mbaff: Fixes for Sparc systems. Fix for large filebases, could not run longer then 10 minutes. mbindex: Fixes for Sparc systems. mbdiff: Fixes for Sparc systems. mbfbgen: Obsolete and removed from the distribution. The function is now in mbfile. fbutil: Removed from the distribution. Thanks to Johannes Lundberg, 2:206/149@fidonet to let us use his program until mbfile could take over. v0.33.20 10-Feb-2002 upgrade: Compile sources and install binaries. Restart the BBS. Enter mbsetup, this will upgrade the databases. Go into global configuration, exit and save, this will update the main configuration (add default macro path). Edit the message groups and file groups for new settings. general: Added structures for area maintenance with area lists. Installing the maptabs don't give any errors anymore when installed as user mbse. The location of the source isn't important anymore to install the maptabs. Updated German, Spanish and Galego languages. The location of the sourcefiles is not important anymore. Added detection of vpopmail in default installation path. Changed language prompts 372, 373, 387, 388, 389, 390 and 438. Added the turbodiesel macro language so that reports can be customized per language and reports. Thanks to Redy Rodriguez for finding this one and implement it into mbse bbs. Splitted the No TCP settings in No IBN, No IFC and No ITN. Removed settings for Non-hold mail and Pickup Primary. Removed several setting for http setup, this is now handled by the macro templates. The rc files for joe, the external editor are now copied to /usr/lib/joe or /etc/joe depending on your distribution. common.a: Added 2 functions to return the OS name and CPU family. Added a function to return the right tearline. Added support for ext3 filesystem in diskspace check. Fixed lharc archives return code to LHA. Changed mkprod.awk script to support Debian Woody. clcomm.a Added counter for mailer TCP/IP sessions. diesel.a New library for parsing macro templates. mbsetup: In message groups added default settings for auto area creation. Added servicename filemgr to the filemgr services. When adding or deleting a message area, several extra checks are done. The JAM base is also removed when deleting. Layout for message area editor changed, more logical now. If selecting a file/mailgroup in node edit that is outside the visible range of groups, the view is adjusted. If changing the path in an existing file area, the files in that area are moved to the new path. It is now possible to move file areas. It is now possible to move JAM message bases. Added edit of external message editor in menu 1.4. Added edit of NoPrompt setting in menus for doors. Changed edit of message editor in user editor. Double noderecords are automatic removed with error logging. Corrected screen layout in menu 1.4.11. When editing analogue modem lines, the locked portspeed was in a lot of cases set to 0. In newfiles and filefind reports sets default template files during init. When adding a new newfiles or filefind record some defaults are automatic filled in. Splitted no TCP into no IBN, no IFC and no ITN in global and nodes setup. When editing a new message area, and the area was made active, all entered data was erased. Removed setting for http setup which are now in the macro templates. mbfido: In AreaMgr and FileMgr changed aka matching for area connections. Code cleanups. In FileMgr when %tick=on/off command was received, mbfido crashed. Implemented auto area create comparing a new received echo from a uplink which has a echomail taglist in one of the mailgroups defined. The area is created with the defaults from the mailgroup. If mbfido fails to unzip a incoming mailarchive, a second attempt is done after a sync() and one second delay. This seems to be a kernel flush problem. The same goes for adding .pkt files to the outbound, a second try is done after a sync() to add the .pkt to the archive. In the To field of a created TIC file there is now a comma between the sysop name and fidonet aka. When creating a filefind netmail reply there was no destination address. Corrected spelling errors in the Areamgr and Filemgr help messages. Removed some debug logging from the RFC->FTN gate. Implemented the FileMgr and AreaMgr pause and resume commands. Changed logging when AreaMgr/FileMgr commands did fail. Some checks improved and fixed some potential sigsegv crashes. Reduced aka match level for (dis)connect areas to zone, net. This should fix problems on systems with multiple aka's when the first aka is not the aka in the areas. In mgr result reports, lines with connected areas do now also display the aka to which they are connected. The file forward function now always puts a 8.3 filename in the outgoing ticfile. For most files nothing is changed. AreaMgr and FileMgr netmails are now split into more netmails when the become too large. When a downlink requests an echomail area which is not yet available, and there is a areas file for some uplink, the area is automatic created and a areamgr request is sent to the uplink to connect that area. The area is created with the defaults from the mailgroup. Experimental patch in mkftnhdr to create a To address in news articles where a Reply-To: header is present. It was not possible to disconnect file areas. Added nopper code to full mailscan. Fixed a problem that caused a SIGSEGV when a node was in the ticfiles setup to forward file to and there was no noderecord. When a ticfile was received while our aka is in the path, the bad tic counter wasn't increased. Made error message in AddMsgHdr function more clear. Removed experimental patch in news->ftn gate were wrong To: address was created. The mbfido news functions doesn't abort anymore when a newsgroup didn't exist. For points in echomail no seen-by entry is added. The AreaMgr and FileMgr responses and notify messages now use the diesel macro language. The tic file forward function now uses only filenames in the subject of the netmail messages without the path. The tic file forward netmails now uses template forward.tic When started a second time it doesn't destroy the lockfile anymore. When a converted email to news listserver message is processed that has a header line starting with X-MS-, the headerline is supressed because there is no key for this header. This looks like a new kind of M$ standard. mbnews crashed on this one. Fixed a small problem in magic filename testing. mbfile: The mbfile index command now creates the html pages using the macro templates html.main and html.areas. The files.css file is no longer needed. mball: Will not crash anymore when it needs more then 10 minutes to create the allfiles and newfiles lists. mbaff: The High-ascii table to translate to lowercase has now the right values to translate the ansi graphics. Now uses the template newfiles and filefind to create the reports. mbtask: Removed some debug logging. Creates the semafore is_inet when the internet connections is available, and removes it when it is down. Added test for ISDN/modem lines in use. Lots of code cleanup. No setup setting anymore for maximum POTS and ISDN lines, this is now automatic. mbtask will now update internal counters how many ISDN and POTS lines are free to use for dialout. For ISDN and POTS calls, mbtask now decides which tty to use, mbcico gets the tty to use as option on the commandline. Keeps track of the number of mailers running. Added default path for arealists. Keeps track of total mailer TCP/IP sessions and will not start new sessions if the limit from the setup is reached. This will hopefully prevent that mbcico will use too much bandwidth on TCP/IP trafic. Splitted no TCP settings in no IBN, no IFC and no ITN. mbcico: Fixed binkp driver to accept incoming unprotected sessions. If a binkp session comes in and there already is a session with that node, mbcico stopts the binkp session with an error. Remove some obsolete code that is handled by mbtask. Added some debug logmessages in ttyio. Added experimental support for binkp GET command frame, under test now, seems to work, although the offset request is not supported. Registers TCP/IP sessions with mbtask. All filetransfer times and cps rates are calculated in mSecs. Splitted no TCP settings in no IBN, no IFC and no ITN. Removed settings for Non-hold mail and Pickup Primary. mbout: The status display has now 9 digits for the outbound size. New command, mbout reset , unconditionally resets the nodes "try" counter, ie. make an undiable node try to call again. The status command displays the call attempts. mbsebbs: On some systems the download taglists contained garbage after the short filename causing wrong filenames at the users side. Added support for external message editor written by Redy. Doors are now passed the parameter to display a prompt after the door or return silently. Fixed lharc file return code to LHA. mbnewusr: New users have the default internal fullscreen editor. mbuser: If a new user has registered and not yet used the bbs, mbuser would kill that user because the last login date wasn't set. It will use the registration date instead. hatch: A new shellscript to hatch files in a tic area. mbuseradd: Added support for vpopmail, vadduser command. mbpasswd: Added support for vpopmail, vpasswd command. mbuser: Added support for vpopmail, vdeluser command. examples: The Makefile now selects the right little or big endian menu files to install. Rebuild the menus and txtfiles for the new external editor. Added templates.tar. For the time of development they will be installed destructive, ie. all private changes will be lost with every install. Later this will be a normal install. rundoor.sh Called door.bat instead of doors.bat