$Id$ v0.91.13 12-Oct-2007 mbcico: Added GeoIP support. mbsebbs: Added GeoIP support. mbnewusr: Added GeoIP support. mbsetup: Blocked selection of FTN and Usenet moderated message areas. Changed the F-PROT scanner name into fpscan. v0.91.12 24-Sep-2007 - 12-Oct-2007 libmsgbase: Adjust lastread pointers too if they point to a deleted msg. mbsebbs: Added missing check to see if a user is allowed to post or reply a message. mbfido: Fixed buffer overwrite caused by bad formatted ticfiles. v0.91.11 02-Sep-2007 - 24-Sep-2007 libmbse: Removed some logging and code cleanup in the chartran code. libmsgbase: Added missing record counter when searching GoldED wrong LR pointers and forgot to write fixed LR records. mbcico: Fixed outbound scanning on ARM systems. mbfido: Fixed date conversion in netmail-email gate. mbtask: Fixed outbound scanning on ARM systems. Fixed a variable formatting. v0.91.10 21-Aug-2007 - 02-Sep-2007 general: There is some experimental code for GeoIP support, it does nothing if you don't have the library and tools. But if you do have it, mbcico logs the country and city of the incoming calls depending on the databases you have installed. Added example telnet login for NetBSD. Dropped support for NetBSD < 3.0. Added support for Ubuntu. libmbse: Added support or the ARM processor, thanks to Simon Voortman. Fixed compile without iconv support. libdiesel: Fixed linking problem on OpenBSD. libmsgbase: Added extra debug info in pack function. Only adjust LR pointers if they must be changed to save some disk i/o. LastRead records that don't belong to a valid user are purged. LastRead pointers are searched via an alternate method if the record is created by GoldED. Don't purge GoldED style LastRead records but fix them. mbcico: Fixed a lot of compiler warnings. Fixed compiling on NetBSD 3.1. Catch SIGIOT. mbout: Catch SIGIOT. mbaff: Catch SIGIOT. mbfido: Fixed a lot of compiler warnings. Fixed compiling on NetBSD 3.1. If the LFN in the tic file is empty, create a lowercase name. Catch SIGIOT. mbfile: Catch SIGIOT. mbindex: Catch SIGIOT. mbmsg: Catch SIGIOT. mbdiff: Fixed a lot of compiler warnings. Catch SIGIOT. mball: Removed debug logging for checking WWW/FTP downloads. Catch SIGIOT. mbsebbs: Fixed a lot of compiler warnings. Fixed compiling on NetBSD 3.1. Catch SIGIOT. Use both CRC and User ID to search lastread record. mbnewusr: Catch SIGIOT. mbstat: Catch SIGIOT. mbnntp: Catch SIGIOT. mbmon: Added support or the ARM processor. Catch SIGIOT. mbtask: Added support or the ARM processor. Fixed compiling on NetBSD 3.1. Fixed a too small buffer. Catch SIGIOT. mblogin: On NetBSD accepts the -a parameter. v0.91.9 16-May-2007 - 21-Aug-2007 general: Fixed building on FreeBSD, tested on 5.3 and 6.2. libnodelist: Don't complain if attempt to read an extended nodelist line fails. mbsebbs: Fixed upload crash when a FILE_ID.DIZ is found but the bbs is not allowed to open for reading. mbfile: Help message displays quoted description. The adopt command works even if the description isn't quoted. mbsebbs: 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. mball: Creates allfiles/newfiles listings with long filenames and short filenames. 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. script: Improved grep in init scripts. v0.91.8 26-Apr-2007 - 16-May-2007 upgrade: Make sure mbtask is restarted. mbcico: Added mbtask command to update the MIB counters. mbfido: 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. mbnewusr: Fixed loading default language for new user. mbtask: Added SNMP MIB counters and added set commands to increase these new counters. Note, there is no SNMP interface yet. v0.91.7 07-Mar-2007 - 26-Apr-2007 mbselib: If find_rfc_charset doesn't find a valid characterset we log a warning instead of an error. Fixed some charset names using IANA information. Removed duplicate table column. mbfido: 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 help to me, the headers Content-Type and Content-Transfer-Encoding are temporary stored in the fido message as kludges. mbindex: 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. mbdiff: Wrote a lf instead of eof character as last character in the new nodelist. Fixed CRC error made by previous change. mbnntp: Suppress logging of passwords. v0.91.6 05-Mar-2007 - 07-Mar-2007 upgrade: This upgrade is not needed if you are happy with the current symbolic links in the download fileareas. You need to remove all existing symbolic links with paths, and recreate the symbolic links without pathnames do: mbse$ cd /opt/mbse/ftp mbse$ find pub -type l -exec rm '{}' \; mbse$ mbfile check mbfido: The add file function now creates links without pathnames. mbfile: The check command now repairs filenames without using absolute pathnames. The adopt, import and move functions now make links without path. mbsebbs: Uploaded files now have symlinks without pathnames. v0.91.5 18-Feb-2007 - 05-Mar-2007 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. There is extra logging which will go away ASAP. upgrade: Compile and install this new version. In all macro files html.* change the charset to UTF-8. 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. mbselib: Fixed a too low memory allocation in clencode. mbsebbs: 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. mbfile: The index command produces UTF-8 webpages. mbfido: The make web stat produces UTF-8 webpages. mbaff: For each newfileis and filefind report there is now a CHRS kludge setting. Reports will be converted to the selected charset. Origin characterset is CP437 for now. 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. mbnntp: Reading news outputs UTF-8 coded articles. Posting is done with the client side charset and translated when needed. mbtask: Fixed a too low memory allocation in clencode. mbsetup: In newfiles and filefind reports the Hi-ASCII setting is gone and a CHRS kludge selection is added. Defaults to CP437 2. lang: Language prompts 44, 75 and 76 are obsolete. script: Adjusted editor script to use nansi.sys if ansi.sys is not available in the terminfo database. 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.91.4 17-Feb-2007 - 18-Feb-2007 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. Install the new source. 4. Build new source, "./configure" and "make". 5. Run "./mbsetup/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 have some extra files in the lang subdir of the source. No big deal. If you didn't run steps 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. mbselib: Moved default language paths into ~/share/int mbsebbs: Moved default language paths into ~/share/int mbsetup: Moved default language paths into ~/share/int mbtask: Moved default language paths into ~/share/int lang: Renamed language files and changed installation paths. v0.91.3 11-Feb-2007 - 17-Feb-2007 mbselib: Added coding and decoding to strings that are processed by the diesel macroprocessor. EXPERIMENTAL IS UNDER TEST !!! Fixed a compile warning in the diesel code. mbuser: Set default editor on erased records. mbfile: The check filebase command now also removes dead symlinks from the download directories. mbfido: Don't crash on empty ticfiles. Fixed log message for scanned netmail. mbtask: Some code cleanup. Fixed s SIGBUS on Sparc/NetBSD systems. mbsebbs: Some debuglog cleanup. mbindex: Check nodelist permissions and try to correct them. mbsetup: In generated html sitedocs fixed link from node to tic areas. v0.91.2 14-Jan-2007 - 11-Feb-2007 mbcico: If no suitable compressor found for binkp transfers then don't complain. mbselib: Fixed commandline address parsing if a 2d address was given. mbfido: Check if active marked virusscanner is really present on the system. mbsebbs: Check if active marked virusscanner is really present on the system. v0.91.1 22-Dec-2006 mbsebbs: Remove some private user files from the users home directory during logoff. v0.91.0 08-Oct-2006 - 22-Dec-2006 script: Fixed problems with newer joe editor versions. 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.