$Id$ v0.51.2 06-Mar-2004 upgrade: Before upgrade announce all new files! Compile all programs. Close the system with mbstat close. Install programs as root (as usual). Start mbsetup, this can take a while on a system with lots of files, during startup the files database will be converted. After the menu appears, enter global setup, exit and save. Now stop and restart mbtask. Open the system with mbstat open. general: Updated to a new files database structure that allows for expanding the records like most other databases to allow new features. Removed all references to costsharing for ticfiles which wasn't fully implemented. Added setup items for subprocess priority and sync filesystem. Added setup parameter for filefind keyword length. libcommon.a: Moved the initial delay in the execute functions to the child process, that may be the trick to work around the lost child messages. Added enoughspace function to check diskspace. mbcico: Updated file request function to new files database structure. Fixed a compile problem on FreeBSD 5.1 To test 3 bugfixes: Fixed a bug when a m_get was received with file offset = file size that would log a negative transfer time and transfer rate. Fixed a bug when a m_get message was received with the current file with offset = file size to properly close the file and unlink from the outbound queue. Fixed a bug when a m_get message was received on a file that was already transmitted to remove that file from the outbound queue. Removed some debug logging from inbound handler. Updated to use new disk watcher. mbfido: When removing files during tic import due to replace or maximum files, thumbnails are now also removed from disk. Updated tic file import function to the new files database structure. Added more checks and logging for adding new file announce records. Newer files will replace the older record so the last one will be announced. Fixed a bug in mbfile kill that destroyed the filebase when a file was deleted or moved. Doesn't write Magic Request into files description anymore, this is now handled outsite the description lines. Updated to use new disk watcher. mbfile: Updated kill, index, check, pack, list, adopt, import, move, delete and sort to the new files database structure. The file delete function in kill didn't delete the thumbnail. The mbfile del and undel commands accept wildcards in the filename. Fixed an error in check when a mangled 8.3 filename was changed and the symbolic link was not adjusted. Added rearc command. The check command does now also check if the magic alias file request names are valid and removes the invalid entries. Updated to use new disk watcher. mbaff: When scanning for uploads, files which were hatched now have the right tic area name instead of AREA n in the announce record. They also contain the used magic filename if this is known. The scan for new uploads function is updated to the new files database structure. The filefind function is updated to the new files database structure. Updated to use new disk watcher. mbindex: Updated to use new disk watcher. mbdiff: Updated to use new disk watcher. mbmsg: Updated to use new disk watcher. mbsebbs: Updated to the new files database structure. mball: Added support for files database Magic request field. mbuser: Updated to use new disk watcher. mbsetup: Added auto upgrade for the files database. Changed menus 14, 7.n.6, 10.1 and 8.4. Changed default charset for new mailgroups and message areas to CP437. Added setup for filefind keyword length in menu 13. Added setup items in menu 1.5 for child priority and filesystem sync calls. In several menus that can change paths, a command to mbtask is given to reread filesystem tables when something is changed. mbmon: Switched to use new filesystems command. On screen 2 added disk status. On screen 3, the warning colors for diskspace are now triggered by the global config setting, red for the upper limit, and yellow for the upper limit * 4. mbtask: Added communication commands for disk watch thread. Added disk watch thread, this will monitor filesystems usage for only the filesystems that are used by mbse. mbuseradd: Fixed removing of a OS created homedir. This may solve problems on RH and Fedora (under test). Added msleep delay in execute child process. mbpasswd: Added msleep delay in execute child process. examples: Updated English, German, Spanish and Dutch macro files: html.nodes and filemgr.status. lang: removed obsolete prompt 240. Updated germandu.txt (by Malte Tychsen). v0.51.1 21-Feb-2004 - 06-Mar-2004 upgrade: In all message groups set check/set default character set. In all message areas set the character set to use with the global editor (to CP437 for example). Local and netmail areas must be done by hand because they are most likely not in a group. The macro templates are updated, you MUST install the newfiles macro template at least because the format changed! Type "make help" in the examples subdirectory to see how. SETUP.sh: Changed to support Darwin (OS X). Note that in earlier days mbse did compile under OS X, but things are different since then. Work is underway to let it compile and run again. libmbse.a: Changed the execute function so it will work on 2.6.x kernels and fast cpu's. Added execute_str function for compatibility with the older api. Added execute_pth function to execute programs in the path. mbout: Replaced system() call with execute. mbsetup: In edit message groups added setup for default character set. In edit message areas added setup for character set for the area. Also added global edit for character set. In several places where groups need to be tagged, there is now a switch (*) to select/deselect all groups at once. In the user editor the sex is now changed with the spacebar to prevent typing errors. In the user editor added character set edit in the second screen. Removed users fullscreen chat setting, not used. Added menu setup for change character set, menu 321. Replaced system() call with execute. mbsebbs: Writes the ^aCHRS: kludge again in new created messages. Changed ^aPID to include OS and CPU. Added user selecting a character set, menu 321. Added login check to see if user has a valid character set. Added Control-U 9 to display file to show the users character set in the menus screens. Added experimental characterset translation to message read. This will translate the message character set used to the users character set. When translation is impossible a ? is printed. After problems with iconv, switched to use code from Martin Junius Fidogate package. In delete file in home directory the Y/N keys were read from the wrong language prompt. Replaced system() call with execute. mbnewusr: Replaced system() call with execute. mball: Replaced system() call with execute. mbmsg: Writes the ^aCHRS: kludge again in new created messages. Changed ^aPID to include OS and CPU. mbaff: Writes the ^aCHRS: kludge again in new created messages. Changed ^aPID to include OS and CPU. Added macro "u" that holds the magic filerequest name. mbfido: Changed ^aTID to include OS and CPU. For the tic area create and message area create the check is now case insensitive, also the area tagnames are forced to uppercase. This should solve the problems with Linuxnet. Replaced system() call with execute. New files with already in the toberep database will not be added again. mbdiff: Replaced system() call with execute. mbfile: For creating www pages of the download areas, the new mapping tables are used to translate from ibmpc characters to iso-8859-1. Replaced system() call with execute. examples: Added change character set in English menus and textfiles. Updated all newfiles macro template to include the magic file- request macro (English, German, Spanish and Dutch). mbuseradd: Uses the execv instead of system to call the systems useradd program. mbpasswd: Uses the execv instead of system to call the systems vpassswd program if needed. lang: Added language prompts 23, 24 and 25. v0.51.0 09-Feb-2004 - 21-Feb-2004 general: Reorganized the library header files. This will make it easier to switch to dynamic libraries so other apps can link to mbse. mbaff: Patched to store long filename in the newfiles database mbsebbs: Added support for the internal editor for hi-ascii international character sets. The screenlength is now really set to the users screenlength. v0.50.0 03-Oct-2003 - 09-Feb-2004 general: Added menu setup switches for doors: Singe user door and hidden from lists. Make dist now creates bzip2 archives. Two html pages are now under control of configure. The configure scripts shows the use of zlib compression for Hydra and Binkp. Updated all documentation to validate html makeup. Added installation support for Gentoo Linux, contributed by Capitán X. Since this version Posix threads are being used, please let me know if this doesn't compile on you system. All Makefiles do not strip the binaries anymore, the binaries are stripped during make install only. This allows to run the not yet installed binaries under debuggers. The configure script has a --enable-debugging option so that all code can be compiled to let it run under debuggers. Not usefull for production systems. This version had a lot of testing using valgrind. Most errors were minor problems. Added French language file created by Francois Thunus. This translation is not yet complete. Cleanup in main makefile, added help. Revised configure and all Makefiles for better support of linking with threads libraries. Changed endian tests using the configure script. Upgraded to new released ftscprod.008 Added setup option per node to disable the binkp/1.1 protocol. Added new binkp/1.1 driver. In all sources replaced the usleep function with the msleep function. The usleep function will become obsolete someday. Incoming and outgoing telnet (ITN) sessions finally works. upgrade: If you don't have any personal archivers, then remove ~/etc/archiver.data and start mbsetup to recreate the archivers setup. If you didn't change anything of the language defaults then delete /opt/mbse/etc/language.data and run mbsetup to create a new language.data including the french setup. Check setting 7.x.3.18 for each node. If you know the node uses Irex between 2.24 and 2.29 then set this to Yes or you won't have good sessions without files with this mailer. Sessions with Irex that do transfer some file are Ok. libclcomm: Fixed a small (not harmfull) buffer overlapped copy detected by valgrind. libcommon: A small fix in printable log function. Added a safety check for the TCP registrate function to prevent stale TCP/IP mailer counts. Fixed a forgotten fclose in proglock. Allows node locking with zero bytes lockfiles created by some other OS when enabled in the setup. The attach function now checks if a file is already attached. In execute and execsh on Linux systems sync() is called before and after running the external program to make sure diskbuffers are committed. Also added a 300 ms pause. Added a milliseconds timer. Code cleanup. libmsgbase: In JAM_Open replaced a strcpy with memmove. Fixed invalid memory read/write in Msg_Link. libdbase: Code cleanup in dbdupe. libnodelist: Fixed a small memory leak. mbsebbs: The whoson list displays the doorname if set in the menus. If a door is single user and the door is in use, the second user can't start the door but gets a message about this situation. Fixed a bug where the bbs goes into a loop after idle timeout during login (and maybe in other situations). Fixed chat debug logging to only log to the debug.log file. Posted netmail messages now support CC: lines. The CC: lines should be the first lines of the message in the format: CC: Michiel Broek 2:280/28 The Carbon Copied messages are marked with original sender. Fixed small memory leak. Fixed posting to local/echomail areas from bbs users. A lot of small fixes for problems found with valgrind. mbsetup: Added menu settings for single user door and hide door. Added setting for the door name in the menus and removed the never used password for the menu (Was only present in the setup). In node editor, fixed error message when there was no more room for new nodes to point to the right menus. Added support for tar compressed archives. Changed all fidonet domain names to maximum 8 characters so that we now follow the FTSC specs. Removed binkp CRC settings. Fixed a unitialized unlink call in nodes close. Fixed unclosed tempfile. Fixed several small memory leaks. Added default record for french language. Added setting in menu 1.14 to allow zero bytes lockfiles created by another OS. Added setting in menu 7.x.3.18 to disable the use of binkp/1.1 protocol per node. Corrected a spelling error (thanks Vince). Removed global setup screen for the ftp server. Reorganised menu 1.4 screen 1 and 2. Added settings for T-Mail filebox paths in the second screen of menu 1.4. Clearing the working message is now only done by the keyboard read function. In several menu items added range check for integer values. In global main aka setup, added check if a domain name is present. Updates to the database is now shown to the user. mbcico: Added Hydra zlib compressed data blocks using the idea of Alex Shakhaylo. The compression will transfer some files about twice as fast as without compression. Changed signal handlers to better detect broken TCP links. Changed two inbound logmessages to debug level. All internal references to tfido port changed to telnet port because we now default to telnet port 23 for ITN calls. Dropped binkp CRC support because it will be incompatible with future extensions. Fixed a small memory leak. New binkp/1.1 driver. Check the upgrade for your Irex links. In case of troubles please report these. Added support for T-Mail fileboxes, partly written and info provided by Przemyslaw Kwiatkowski (2:480/127). Removed the check to disable calling points. Added a check to see if we get a URL to call other systems. If nodelist info fails, increase error counter in steps of 10. Fixed nodelocks during session handshake after many years. The problem showed only when mbcico was used together with a mailer on a different OS. When a aka is busy, the aka is now dropped. When all akas are busy, a session is impossible and the session is refused. Thanks to Przemyslaw Kwiatkowski for finding and documenting this bug. The total session avg cps is now corrected with the two seconds session close delay time. Added PLZ compression option to binkp. Added telnet input and output filters so we can now call and answer telnet (ITN) sessions. mbfile: When the areanumber with the adopt command was not given, the help is displayed instead of trying area 0 that doesn't exist. With the file move, adopt and import command if the file already exists in the destination area, the action is refused. Added mbfile sort command. Files are case insensitive sorted on the long filename. After sort the indexes are rebuild. Fixed some logging that should have been debug logging. Fixed a uninitialized memory pointer in the index command. Fixed a 3 forgotten file closes in mbfile list. Removed sync calls that are now in execute. mbfido: Changed two logmessages to debug level. Fixed a some small memory leaks. With scannews after a GROUP command when authorisation was asked we did not perform a login. Removed sync calls that are now in execute. mbtask: The ping function now runs in a separate thread. Changed some ping timer logic. Added a "secret" commandline parameter to allow mbtask to run under control of debuggers. The client command server runs in a separate thread. Fixed some small memory leaks which had no effect on long term running of mbtask, only leaks during program stop. Moved the scheduler in a thread. Rewrote shutdown procedure to make it more portable. Removed default settings for the ftp server. Added support for T-Mail fileboxes. Will call points if a call method is available. mbout: Fixed several memory leaks. Poll, remove poll and request failed to points which had no point directory in the outbound, now the directory is created. Added support for T-Mail fileboxes. mbindex: Fixed a forgotten file close. mball: Fixed 2 forgotten fclose functions. mbuser: Fixed a forgotten file close when nothing was done. mbmon: Fixed a minor problem with an uninitialized array. mbdiff: Removed sync calls that are now in execute. mbpasswd: Fixed a small memory leak. mbuseradd: Now logs to syslog instead of stderr. script: Added install scripts for Gentoo. Changed all init scripts to allow the slower stopping of mbtask For the latest Slackware distros a setup script for pkgtool is added. Most other distro's don't need this. Dropped support for Slackware pre 7.0. Changed startup scripts for NetBSD. Fixed NetBSD init script All init scripts now clean the ~/var/run directory and start the bbs allways so that the bbs will try to start after a power failure. New scripts are installed with an extension of .new, you need to check yourself if you can use them to replace your own possible modified scripts. Updated the hatch script to abort if it's not configured. If the user skips to hatch a file, the questions for the magic and replace command are not shown anymore. Dropped support for RedHat and Mandrake pre 6.1. lang: Added language prompts 20, 21 and 22. examples: Updated English and Spanish menus with the new door settings. Fixed some spelling errors in the Dutch templates. Updated file menus, added View File command. Changed Dutch newfiles template file. html: Removed the outdated ftsc documents, www.ftsc.org is the place to look for them Added upgrade procedure.