$Id$ v0.95.1 07-Jan-2008 mbselib.h: Added file virscan function. mbtask: Added last changes for MIB counters. mbfido: Changed error message on the news gate. Switched to virus scanner from library. mbfile: Switched to virus scanner from library. mbsebbs: Added MIB counters. mbsetup: Added support for TCP stream scanners. script: Added support for Zenwalk. v0.95.0 25-Nov-2007 - 07-Jan-2008 mbcico: The maximum speed to show to the other end is now 4294976295. mbsetup: Changed the maximum linespeed to display for TCP/IP sessions to 4294976295. Numbers above 2147483647 might display on remote systems as negative numbers. v0.92.0 08-Oct-2006 - 16-Oct-2007 general: With this version de default internal character encoding is UTF-8. BBS users who have a UTF-8 terminal can use the bbs in UTF-8 mode and should have no troubles at all reading and writing messages in several language encodings. Fixed building on FreeBSD, tested on 5.3 and 6.2. Added support to link to the GeoIP library. If it's present on your system, mbcico, mbsebbs, mbnewusr and mbnntp will log the country from which the connection is made. Added example telnet login for NetBSD. Dropped support for NetBSD < 3.0. Added support for Ubuntu. Added support for the ARM processor. upgrade: Because some directories will be moved, a special upgrade procedure is needed. Take the following steps: 1. Don't install the new source yet and make a backup! 2. In the source topdir run "make clean". 3. Unpack the new source. 4. Build new source, "./configure" and "make". 5. Run "./mbsetup-0.92.0/mbsetup", enter global setup and leave with save. this 'should' move all your existing language files to the new directory structure. 6. "su", run "make install" and restart the bbs. 7. "exit". If you didn't do steps 1 and 2 (automatic updates) and you installed the source over the old source, you will have some extra files in the lang subdir of the source. No big deal. If you didn't run step 5 then the new language paths have the default files from source and not your own. Your own files are then still under ~/english/*.* ~/dutch/*.* etc. Move the contents of these subdirs into ~/share/int/menus/en/* etc. Compile and install this new version. In all macro files html.* change the charset to UTF-8. You will find these in /opt/mbse/share/int/macro/*/html.* If you still have all default macro files then in the source directory mbsebbs/examples simply run "make macros" to install the updated versions. Run "mbfile index -f " once to regenerate all download html index pages with UTF-8 encoding. Check the error.log for errors. In mbsetup menu 1.3.7 change logo.asc into logo.ans and make sure you have that file. A note about the logo file, it will be displayed before we know if a user has a utf-8 or ansi terminal, so change your logo screen so that it has no ansi grafic characters, just plain ascii with ansi color codes. Start and leave mbsetup, this will upgrade the newfiles and filefind reports to set a defaults CHRS kludge CP437 2 which is good for reports with ANSI blockgraphics. The next step is optional but advised to make the symbolic links in the download areas without path information: mbse$ cd /opt/mbse/ftp mbse$ find pub -type l -exec rm '{}' \; mbse$ mbfile check Make sure mbtask is restarted. libmbse: Fixed commandline address parsing if a 2d address was given. Added coding and decoding to strings that are processed by the diesel macroprocessor. Fixed a compile warning in the diesel code. Moved default language paths into ~/share/int Fixed a too low memory allocation in clencode. Added support or the ARM processor, thanks to Simon Voortman. libmsgbase: Added extra debug info in pack function. Fixed serveral problems with LastRead pointers created by GoldED. LastRead records that don't belong to a valid user are purged. libnodelist: Don't complain if attempt to read an extended nodelist line fails. libdiesel: Fixed linking problem on OpenBSD. mbcico: If no suitable compressor found for binkp transfers then don't complain. Added mbtask command to update the MIB counters. Fixed a lot of gcc4 compiler warnings. Fixed compiling on NetBSD 3.1. Catch SIGIOT. Fixed outbound scanning on ARM systems. Added GeoIP support. mbout: Catch SIGIOT. mbfido: Check if active marked virusscanner is really present on the system. Don't crash on empty ticfiles. Fixed log message for scanned netmail. The make web stat command produces UTF-8 webpages. The add file function now creates links without pathnames. In rfc2ftn if we cannot find the incoming charset from the standard table we will fall back to the charset in the Content-type: header and try to initialize iconv with that value. For debug info help to me, the headers Content-Type and Content-Transfer-Encoding are temporary stored in the fido message as kludges. Added mbtask commands to update the MIB counters. Fixed mbfile import with too many description lines in files.bbs Fixed a buffer overflow when processing TIC files with a lot of garbage in it. Fixed a lot of gcc4 compiler warnings. Fixed compiling on NetBSD 3.1. If the LFN in the tic file is empty, create a lowercase name. Catch SIGIOT. Fixed date conversion in netmail-email gate. Fixed buffer overwrite caused by bad formatted ticfiles. mbsebbs: Remove some private user files from the users home directory during logoff. Check if active marked virusscanner is really present on the system. Moved default language paths into ~/share/int Added terminal setting UTF-8. Removed setting ANSI/Textmode, allways graphic now. All *.asc textfiles are now obsolete, only *.ans are valid. Display ansi file converts to UTF-8 if the user has UTF-8. Email and FTN mail reading now translates to the users characterset using glibc iconv. Changed menus lastcallers, whoson, userlist, pinfo, fsedit, timestats, filelist to output UTF-8 code if the user has set that terminal setting. Uploaded files now have symlinks without pathnames. Fixed upload crash when a FILE_ID.DIZ is found but the bbs is not allowed to open it for reading. The filelist now displays long filenames (finally). Searching FILE_ID.DIZ in uploads is now case insensitive. Improved cleaning users tmp dir after virus scan. Fixed a lot of gcc4 compiler warnings. Fixed compiling on NetBSD 3.1. Catch SIGIOT. Use both CRC and User ID to search lastread record. Added missing check to see if a user is allowed to post or reply a message. Added GeoIP support. mbnewusr: Fixed loading default language for new user. Catch SIGIOT. Added GeoIP support. mbfile: The check filebase command now also removes dead symlinks from the download directories. The index command produces UTF-8 webpages. The check command now repairs filenames without using absolute pathnames. The adopt, import and move functions now make links without path. Help message displays quoted description. The adopt command works even if the description isn't quoted. Catch SIGIOT. mbindex: Check nodelist permissions and try to correct them. When the first Zone entry is missing in the nodelist, mbindex aborts with a fatal error and doesn't replace the nodelist index. Keep the latest 4 instead of 2 nodelists in the nodelist directory to allow a few weeks for recovery. Catch SIGIOT. mbdiff: Wrote a lf instead of eof character as last character in the new nodelist. Fixed CRC error made by previous change. Fixed a lot of gcc4 compiler warnings. Catch SIGIOT. mbaff: For each newfiles and filefind report there is now a CHRS kludge setting. Reports will be converted to the selected charset. Origin characterset is CP437 for now. Catch SIGIOT. Fixed filefind search filenames case insensitive. Fixed filefind search in description. mball: Now also creates allfiles.utf and newfiles.utf with UTF-8 encoded text. These new files will also be added to the zip archives. Creates allfiles/newfiles listings with long filenames and short filenames. Removed debug logging for checking WWW/FTP downloads. Catch SIGIOT. File download checks from http and ftp are now case insensitive. mbmsg: Catch SIGIOT. mbstat: Catch SIGIOT. mbnntp: Reading news outputs UTF-8 coded articles. Posting is done with the client side charset and translated when needed. Suppress logging of passwords. Catch SIGIOT. Added GeoIP support. Removed a lot of debug logging. mbsetup: In generated html sitedocs fixed link from node to tic areas. Moved default language paths into ~/share/int In newfiles and filefind reports the Hi-ASCII setting is gone and a CHRS kludge selection is added. Defaults to CP437 2. Blocked selection of FTN and Usenet moderated message areas. Changed the F-PROT scanner name into fpscan. Removed a not used setting for filefind. mbmon: Added support or the ARM processor. Catch SIGIOT. mbtask: Some code cleanup. Fixed s SIGBUS on Sparc/NetBSD systems. Moved default language paths into ~/share/int Fixed a too low memory allocation in clencode. Added SNMP MIB counters and added set commands to increase these new counters. Note, there is no SNMP interface yet. Added support or the ARM processor. Fixed compiling on NetBSD 3.1. Fixed a too small buffer. Catch SIGIOT. Fixed outbound scanning on ARM systems. mbuser: Set default editor on erased records. mbpasswd: Added check for FreeBSD > 6.0 and use sysctl for security check. mbuseradd: Added check for FreeBSD > 6.0 and use sysctl for security check. mblogin: On NetBSD accepts the -a parameter. script: Fixed problems with newer joe editor versions. script: Adjusted editor script to use nansi.sys if ansi.sys is not available in the terminfo database. script: Improved grep in init scripts. lang: Renamed language files and changed installation paths. Language prompts 44, 75 and 76 are obsolete. examples: Upgraded the html macro templates to produce UTF-8 web pages. Upgraded the txtfiles examples to only have .ans screens. The logo.ans screen now works on ANSI and UTF-8 terminals. v0.90.0 06-Nov-2005 - 23-Jul-2006 upgrade: Start mbsetup once and leave, this will update user records with the wrong editor choice, fixes the files databases if needed and upgrades the nodes settings. Add extra switches to unarchiver commands entry 11, see mbsetup for the archivers. In menus 7.n.3.14 check if the NR flag is off, unless you need it (which I doubt). mbsebbs: Removed antique line editor. Added check for users homedirectory permissions and attempt to fix errors. If fatal the connection is dropped. Fixed virus scan of uploaded archives. There are no paths anymore in OLR download packet files. Made OLR bluewave packets CPU independant. Fixed a strange bug that ftell didn't work right, this caused corrupt bluewave download packets. Bluewave is now big/little endian correct. Added width marker for chat input and fixed linelength. Added screen rows detection using ANSI sequences needed for some terminal programs like minicom. Writes LINES and COLUMNS environment into data.msg so that the joe editor can use that. Changed zmodem transmitter timeout to 60 seconds and changed the zmodem init fase so that clients that don't start automatic have a chance to start the transfer. The zmodem transmitter now uses buffered output. Added Change archiver menu. Added crontrol-U0 to display current archiver. Changes to OLR ASCII download: - area files are named after area tag if possible, dots are replaced by underscores and extension is .text. - If available each message now has a msgid in the header. - Added a .info file with control information. Fixed logging of wrong file after upload. mbtask: Lots of changes and bugfixes in the IBC chatserver. Added code to the chatserver thread to handle remote servers with dynamic dns addresses. All IBC log lines start now with IBC: to allow easier grep. Added global reset for chatservers every 24 hours. Added setup checks for two main configuration settings for IBC and fail to start if they are missing. Don't start connections with IBC servers that miss settings in the chatserver setup. Several commands now send the server address from the servers setup to the neighbours. After server connect send the correct usernames already in chat. When the IBC server detects a IP change of a remote server it will completly restart the connection with that remote. Made several functions multithread aware. On shutdown also send PART and QUIT messages to all our links for our own users if they are still online so that the network will keep the correct state. Removed all thread programming so that mbtask is now a single process again. Fixed startup problem on new installations. Changed chat welcome message. Registration info for the clients was send double coded. Delete users from channel when a server disconnects. Delete users from a server when server disconnects. Check for stopped tasks reverted to the old method without signal handlers. Fixed comma issue in user/city registration. Fixed a crash when there is no /etc/services udp port for the chatserver. mbsetup: In users edit screen, removed append record option. Blocked changing the users unixname. Removed antique line editor is edit users. In IBC setup added a switch for dynamic dns. Added switches to default extract commands for file_id.diz files to: nomarch -U rar -cu unrar -cu unzip -L Other archives don't support forced upper or lowercase. Added NR switch to the nodes session setup. When a filearea was moved to another path the symlinks were not moved to the new path. Added archiver selection for nodes in node setup. In archiver select added checks for valid archivers and allowed escape without selecting an archiver. Added selection of archiver select menu. Added setup switch for tic nodes that need a 4d seen-by line. When saving message areas, the golded.inc file now has the groupid numbers from the groups in echomail or news areas. The message groups now handle groupnumbers for golded groups. In nodes setup added check for paths when directory sessions are selected. mbcico: Don't add files to send anymore when batchnr > 20 to prevent an infinite session loop. Implemented binkp NR option. Assume EXTCMD is set when GZ or BZ2 is active. Added real error message for failed outgoing IP connections. mbfido: Added some experimental code for tic orphans processing. Fixed crash when receiving bad tics. Tic orphans and bad crc handling is using a new method. Now using new tmp workdirectory functions. When a hatch directory doesn't exist, it is created. Removed gated SB debug logmessages. Made searching file file_id.diz case insensitive. Uses archiver from the setup to pack mail for a node. If sending crash to a node not in the setup, a default archiver is now set to ZIP. Accept unpacket mail for own points. In created ticfiles in advanced seen-by mode, setting the node to 4d will add point numbers to the seen-by lines if needed. When message areas are auto changed, the updated golded.inc file now has the groupid numbers from the groups in echomail or news areas. Seenby addresses in the internal tables did not store the point numbers. Added warning log for messages >= 32768 bytes. mbfile: Now using new tmp workdirectory functions. Fixed file importing of non-archived files. The test for files.bbs for files to import was done in the wrong directory. If a file is not removed from disk during pack, a error log is created instead of a normal log. Fixed a crash when files.bbs had empty lines. Made searching file file_id.diz case insensitive. Import now skips empty lines in files.bbs. Import now handles properly missing files. mbaff: Fixed announce and filefind report problem when there were " characters in the description. mbmon: Improved error message when the chatserver is not configured in /etc/services. In chat beeps are heard for system messages. Added width marker for chat input and fixed linelength. Better user input checking in chat. Safer display in chat. mbstat: Don't write in errorlog after normal termination. Added semafore names to help display. mbmsg: With the post function the right time is now used. mbnntp: Removed AREA:TAG kludge from posted articles. libmbse.a: Added temp workdirectory functions. On socket send error 2, abort the client program. Fixed another 32/64 bit issue in the files databases and added automatic correction if detected. Fixed comma issue in user/city registration. nodelist.a: Fixed parsing the nodelist when IBN:1.2.3.4 returned the IP address 1.2.3.4 with port 1. lang: Changed language prompts 373 and 438. New prompts 86, 87, 88 and 89. install: The checkbasic script uses more tricks to see if you are mbse su to root before install. examples: Updated Engish menus and txtfiles.