$Id$ WARNING, users of Sparc and HP-PA systems should be carefull, some bbs menus do not work. All other programs do work on all platforms. All other users on Intel machines (99,9% I think) can use this version. v0.37.9 17-Sep-2003 v0.37.8 14-Sep-2003 - 17-Sep-2003 general: This version is issued to prepare for a stable release. common.a: Added a set of general purpose timers. mbcico: Session handshake and EMSI handshake use the general purpose timers instead of the ttyio timers. This should prevent invalid timeouts during zmodem transfers. (bug since 0.37.6). v0.37.7 09-Sep-2003 - 14-09-2003 upgrade: A bit tricky to upgrade and start using the new debug logfile, follow the next steps exactly!! 1. Download and install the source 2. Run "./configure" 3. Run "make" (and do not install yet) 4. Run "mbstat close" 5. Backup /opt/mbse/bin and /opt/mbse/etc. 6. Run "mbstat close" 7. Kill mbtask, mostly "kill `/sbin/pidoff mbtask`" will do. 8. Run (as root) "make install" to install the new software. 9. Make sure you are user mbse again. 10. Start mbtask manual, "mbtask" 11. Run "mbsetup", enter menu 1, exit, save and close. 12. Wait one minute. 13. Run "mbstat open" After this is done the first time, restarting mbtask can be done as usual by running the mbsed init script. If something doesn't work (you get socket errors), it is important that you kill mbtask during software versions swap. All software must be of the same build. general: Debug logging is now in a separate file, the normal logging is now only in the normal logfiles. msgbase.a: Moved messages link from mbmsg program into library. mbcico: Fixed MB state error from the previous version. Rewrote another part of the binkp driver, initializing the options. If doesn't do Multiple Batch mode anymore against binkp/1.1 mailers. File resync during receive finally works. In binkp we don't send a empty dataframe after a file anymore. mbtask: Added support for debug logfile. Dropped the debug switch for mbtask logging, this is now allways on. mbsetup: Added support for debug logging in menu 1.3 and removed the mbtask debug switch from menu 18. Import and purge oneliners now log what is done. mbmsg: Moved message linking to msgbase library. mbsebbs: When a message is saved, the messages in that area are linked. mbfido: When mails are scanned for export via ftn and one of the from, to or subject lines are too long, the export is cancelled. v0.37.6 10-Aug-2003 - 09-Sep-2003 general: Changed all Linux references into GNU/Linux. Changed the address of the FSF in all sources. Removed memwatch debugger. Changed all gif and jpg images to png images. Added a setup switch for the nodes for selecting the wrong binkp long filenames escape method for Argus and Irex nodes. Activated the productcode for mbse that is published in the ftscprod.007 Changed the website address in several sources. libmsgbase.a: Resolved a buffer overflow problem with kludges larger then 512 bytes. nodelist.a: Removed some of the debug logging. mbcico: Completly changed the files inbound receive, all files are now first stored in a unique per node temporary inbound directory. Only after a successfull session all received files are moved to the final inbound directory. Hopefully this will solve the resync problems. The other goodie is that this is more safe on busy multiline systems. Fixed the binkp escape sequence which is wrong in the FSP, this is selectable in the nodes setup. A light improvement in session handshake setup timers. Added EMSI handshake timers, this gives a more relaxed EMSI handshake. Set the EMSI receive failure count to 20 instead of 6, we can now even accept buggy maindoor sessions and still display a banner. For FTS-0001 sessions the mail password was used instead of the session password. Also improved the password check. The product code was not entered in the FTS-0001 packet headers. The binkp driver now always reports 1.0 again. Revised some state tables in the binkp session setup stage. Fixed a possible buffer overflow in the binkp driver. Fixed aborting binkp session when the remote sent a empty CRAM password for unprotected session. mbfido: The rfc to ftn gate now drops the headerlines starting with X-Spam- because they are only filled with advertisents and are very large (upto 1200 bytes which is somewhat larger for a fidonet kludge). mbsetup: In the nodes setup a switch is added to fallback to the wrong binkp escape method. v0.37.5 12-Jul-2003 - 10-Aug-2003 upgrade: Check settings menu 1.5.21 for maximum allowed logins. global: Added switches for binkp CRC mode in global and node records. common.a: Node locking tests for non-stale lockfiles older then 6 hours. Added general code for prgram locking. mbcico: Implemented CRAM rev.4 change in binkp driver. Binkp now reports binkp/1.1, if filerequests are allowed. Binkp now only sends Wazoo requests if the remote is binkp/1.1 and file requests are allowed. Binkp now sends M_BSY to the remote when the bbs is closed. Better logging of BSY and ERR messages. mbsebbs: Added check for maximum simultaneous logins. Removed debug logging for userrecord i/o During virusscan of file uploads, the mbtask timeout timer is set to one hour to support very long scans. Changed logging during user login. Fixed bugs in QWK mail upload processing. Allow - and _ in email names (GetstrU function). mbsetup: Added menu entry 1.5.21 for setting maximum allowed logins. Added program locking, only one mbsetup can run at the same time. In menu 1.14 added global switch to disable binkp CRC32 file transfers. In menu 7.x.3 added a switch to enable binkp CRC32 file transfers with this node. mbtask: On new installations sets max logins to 1. Now uses standard locking in ~/var/run When idle, it now reports the time to the next event to be seen in mbmon menu 1. With startup it now shows the tty flags in the log. Remove some semafore debug messages. mbmon: Added program locking, only one mbmon can run at the same time to prevent troubles with chat and sysop available. mbaff: Added program locking to prevent that more than one mbaff can run at the same time. mball: Added program locking to prevent that more than one mball can run at the same time. mbfile: Added program locking to prevent that more than one mbfile can run at the same time. mbuser: Added program locking to prevent that more than one mbuser can run at the same time. lang: Added language prompts 18 and 19. Added germandu, a German language file in "Du" style instead of "Sie". Written by Malte Tychsen. Changed the last Englsh language prompts in the german.txt. v0.37.4 10-May-2003 - 12-Jul-2003 upgrade: Check setting of menu 1.14.15 general: Added check for inconv.h in configure script for UNIX98 character set conversion. common.a: The getheader function changed to support stone-age .pkt's. If the packet year has a Y2K bug, the year is fixed. This is only cosmetic for logging. If the zone info is missing, the zone is guessed from 2d aka matching against the system aka's. Then all mail in the .pkt file is also assumed to be in that zone if there is no zone info in the messages also. Guess what, these packets do still exist in Fidonet, it took 5 years to find them! If you want to check, call 5:5/0 Fixed compiler warning in network code. printable function now escapes all non-printable characters. In rfcmsg function the Cc: header is now treated as any other header to prevent a SIGSEGV when the headerline is empty. mbcico: The binkp transmitter does now escape the unsafe filename characters. The binkp receiver now does process escaped filenames. The binkp protocol now supports MD5 crypted passwords. mbfido: Stone age packet support, see common.a. Due to a configuration error in some system using King-FIX v.1.26.Universal mbfido did crash. Now it will log this and continue processing ticfiles with the risk of sending files back to the owner of that faulty program. Added the same check for Seenby lines. mbtask: Fixed compiler warnings in network code. mbsebbs: Increased internal message buffer size to 700 lines. Fullscreen editor code cleanup, debug messages removed. When entering a message, the first character of the subject line was capitalized. mbsetup: In menu 1.14 added a switch to turn MD5 crypted passwords off. unix: Fixed compiler warning. v0.37.3 09-Apr-2003 - 10-May-2003 upgrade: Remove ~/etc/archiver.data, start mbsetup menu 3, leave and save. This updates the archiver view contents commands. mbsetup: The edit archiver has now an edit line for the view archive commands. mbsebbs: Fixed recognition of tar.gz files. Added menu function display file. Display ascii textfiles now uses the More Y/n/= prompt. When a new message is saved in a local area, the mailout semafore is not set anymore. mbuser: Added nopper code during pack. mbcico: Removed some heavy debug code from ttyio functions to increase throughput. Standarized raw ifcico protocol logging. Some minor changes to the raw ifcico protocol, better error checking and a check for buffer overflow. mbfido: In a scanned netmail destined to our own local UUCP gate the useless X-FTN-INTL and X-FTN-TOPT kludges are no longer inserted in the message. lang: New language prompt number 17. Erased language prompts 18..36. v0.37.2 23-Feb-2003 - 09-Apr-2003 general: System prepared for setting the official FTSC product code, this will be 0x11FF. The code is not yet activated. Removed external (sysop) chat, chat paging times and other chat stuff that is of no use anymore. The sysop shows his presence by running mbmon. The mbchat program is obsolete. Menu item 22 is added, this is user chat session. For chat (and sysop/user paging chat) works now using the mbtask daemon. common.a: New function to get the real case of a filename. mbfido: Finding the inbound tic file now uses the new function. mbfile: When a file was deleted for age or download age, the 8.3 filename was not removed from disk. A better check againts empty upload dates when purging files. Also added a log when this happens. Please report if you see any of these. examples: Removed the last menu item from the offline menu, added new Extended Info toggle (English only). Updated offline textfiles to remove point download and add new Extended Info toggle (English only). mbsebbs: Offline reader, the reply packets are now handled complete case insensitive. Dropped BlueWave v2 format completly, obsolete format. The BlueWave and QWK download packets can have kludges, this depends on a setting in the userbase. In downloaded netmail, if message comes from a point, the FMPT kludge is allways included in the message. Added some forgotten checks for a valid QWK board name. Lots of code cleanups in the offline code. Added menu 320, toggle Offline Reader Extended Info. Added new control code: control-U + 8, this displays YES or NO for the new Extended Info setting. The display file function now displays the ^U8 code. Added support for door32.sys dropfile. Fixed user idle logoff when new mailcheck took too long. Added email reply when reading new (e)mail. To page the sysop, the CPAG and CCAN commands to mbtask are now used. Removed all old chat code that worked on the tty device. Added chat client site. If the sysop responds to the page request, the user is dropped into chatmode in the sysop channel as soon as the user does nothing (ie in a menu or still in page mode). mbmon: Reports sysop available or left the system when mbmon starts or stops. Reports a page from a user in row 3 of the screen (but doesn't do chat right now). Adjusts its screensize if the environment variables LINES and COLUMNS are set. (in ~/.profile add the line "export LINES COLUMNS"). The show lastcallers now adjusts the number of lines available. The show server clients screen now adjusts to the number of lines available. Added chatserver client, there are 2 modes, one id general chat and the other is respond to a users page request where the channel is automatic set. mbtask: Safer logging of user log messages. In personal message text the text after a ; character is not ignored anymore. With mbtask start, the ports locktimes are reset to zero. Added CSYS command to report if sysop is available. Added CPAG command to page the sysop. Added CCAN command to cancel the sysop page. Added CCKP command to check for a page. Added CCON, CCLO, CPUT and CGET commands for chatserver. Implemented a chatserver, this looks like a simple IRC server to the users. lang: Changed language prompts 15, 16 and 152. v0.37.1 14-Jan-2003 - 23-Feb-2003 upgrade: After installing the binaries, start mbsetup, enter menu 1 and leave that and save it. This will set the default rules directory, here we will store the area rules of all echomail areas. After upgrade you may remove ~/etc/maptabs and it's contents. After upgrade you may remove ~/etc/bank.data. After upgrade you may remove ~/etc/safe.data. If you want, download and install the nu-door and safe-door packages. general: This version may be used on production systems, but be carefull and check your logs. Spanish templates and macros added to the examples. In several messages handling functions the international charset translations are removed because of several bugs. They will be replaced by standard library functions. Right now the messages are 8 bit clean and there is no translation on the gateway. The maptabs are removed. Menu items 22 and 23 are removed, menu 319 is added. You may want to replace the default txtfiles and menus, upgraded versions are in the distribution but are not automatic installed. Documented menu 318, was present for a long time, just not in the html docs. The main Makefile now sets each txtfiles directory to mode 775 to allow doors to write ansi/ascii screens. Removed the safe cracker door, this is now external. nodelist.a: Added experimental support for IP nodes lookup using a default domain method. This is not the final implementation yet! Update, this works now as described in a FSP-xxxx that is in discussion in the FTSC. This will also work for current practice. common.a: Removed charset conversion/translation. Added integer endian byteorder swapper, usefull for non-Intel hardware. The poutCR function for the bbs never did send a newline. mbtask: Arcmail for non-CM nodes and Txx nodes is now sent during the node's opening hours or ZMH. Fixed a bug where one of the nodelists was node closed with each outbound scan and was causing mbtask to stop functioning after a few days. After forking the daemon, the stdin, stdout and stderr are reopend to /dev/null. Zero the daily status counters finally works again. Added experimental code where tossing mail is not started as long as there are mailers running, but not longer as 30 mins. This should make the whole system less nervous. Modified this code, didn't work, the toss was always started at once. mbcico: YooHoo transmitter prepared for transmitting 16 bits product codes. mbfile: In the import function several bugfixes for reading files.bbs. Fixed upper/lowercase filenames bug with import. mbfido: Removed all code for charset translation. In areamgr/filemgr lists the messages are forced splitted when the force limit is reached in the middle of a group listing. The nodes statistocs are expanded with flow counters. If echomail is accepted in a unsecure area or the unsecure commandline option is set, a violation is logged as warning. Removed some debugging tests and log messages. If a tic file was received in uppercase, during import in the bbs the LFN is converted to lowercase. Removed a debug logmessage from file forward. Promoted some normal debug logmessages to heavy debug messages in the outbound queue packer. mbdiff: If unpacking a diff file fails, a second attempt is done after a sync and one second delay. mbsetup: Added protection against wrong database sizes depending on global settings. When moving a message area to area zero mbsetup doesn't crash anymore. Added new menu item 319, removed menu items 22 and 23. Added setup for rules directory. Added setup for menu 221. Changed description of menu 103. The menu editor is machine endian independant. Removed setup for the safe cracker door. In menu 8.3 showing long option data lines, the lines were too long for a 80 characters display. mbsebbs: It will now refuse to up/download OLR packets when the system bbs id is not set in the global setup. When a reply is made on a message in a area which allows aliases, the user is asked to use his alias. When a reply is made on a message in a newsgroup and your systems has a permanent mail domain the email address is used as from name. Removed timebank and nextuser doors. Added editing of user's signature file. New menu item 319. If the sysop is exporting a echomail message he will have the option to save to his private directory or to the rules directory. If saved to the rules directory the message will have the filename of the area tag. Normal users can only export to their private directory. Sysops: now you can start collecting area rules! New menu 221, display arearules. This function tries to find the arearules in the rules directory and if found displays this to the user. Fixed whoson list to display user real names and handles again. Fixed send online message to send to user real names, handles and unix names again. The menus are machine endian independant. Maybe removed a bug where the bbs sometimes crashed during mail reading. Fixed some minor things to the door.sys file. Normal users were allowed to delete messages of other users, now only the writer or those with sysop access to the area are allowed to delete messages. Finally wrote Delete Message from the menu (menu 206). Removed the safe cracker door. examples: The English and Dutch templates are updated to show the new nodes flow counters (html.nodes). English textfiles and menus are updated to show the new menu functions. script: Added full path to pidof command in FreeBSD init script. lang: Changed english, german and dutch language prompts 11, 12, 13, 14 and 107. Changed in other languages as well, but in English. v0.37.00 26-Dec-2002 - 14-Jan-2003 upgrade: In mbsetup 1.17.3 check if you have the XX,CM,IBN,IFC flags, which indicates your TCP/IP capabilities. This is only for systems that use TCP/IP, dialup systems should only have the XX,CM flags. Important: only protocols that you place in this entry are supported, so XX,CM,IBN will let your system only call binkp nodes. general: A new developer/translator joined the team, David Gonzalez. The settings to suppres some IP protocols (global and nodes) are removed, this behaviour must be set using nodelist flags configuration. Debug logging for mail and news now have one setting, the M. Nodelist debug logging now uses the N character. In some makefiles the chown user.group syntax changed to user:group to follow the new POSIX syntax. Please let me know if you are using an older distribution that complains about this. This was needed for FreeBSD 4.7. Added Dutch template macro files. Updated English and German template macro files. Please remove old ones before installing. libs: The nodelist lookup functions are now in a separate library. This will give us easy implemtation of new nodelist formats and flags. Introduced a new file, ~/etc/nodelist.conf, this file will be used for nodelist lookup behaviour. The current looked-up nodelist strcuture has an extra field, the URL how that node must be contacted. mbcico: With binkp and EMSI sessions double received remote aka's are filtered. When calling ITN nodes, the default port is now 23. Call setup changed and uses now the nodelist lookup URL. Changed raw ifcico debug logging. mbout: When a poll was removed, the outbound was not rescanned. examples: Prepared for more example translations. Added German template files made by Joachim Kuwan. script: Added new init script for FreeBSD. mbfile: Move old files to another area failed, only the symbolic link was moved. Prepared for multilanguage html pages creation. mbfido: Echomail from other zones showed the address of your own zone. Added logging when other errors are found. At zonegates, the seenby lines were twice stripped. Another patch to compensate for sysops that pack pascalnet files in fidonet packets and send these messages into the world without zone information. Made the incoming tic files complete case insensitive, mixed case is now processed. If such file is received, the LFN will be set to that name. The magic unpack command now uses the mail unpack command instead of file unpack command so that paths in the archive are junked. mbsebbs: Changed to use the new nodelist lookup methods. mbsetup: Removed global flags No-IBN, IFC and ITN from the setup. Removed nodes flags No-IBN, IFC and ITN from the setup. removed del/rubout/bs keys logging. SETUP.sh Made the script more portable. CRON.sh Removed explanation about Zone Mail Hour, this is obsolete for a long time already.