diff --git a/ChangeLog b/ChangeLog index 4d89ca17..d03f3719 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,415 +1,325 @@ $Id$ -v0.61.5 25-Sep-2004 - - general: - In SETUP.sh better xinetd.d system detection. - On Linux SETUP.sh adds user mbse to group wheel and uucp. - SETUP.sh adds disabled telnet service to inetd.conf or xinetd. - - mbsetup: - In user setup, if user gets a new security level, his timelimit - is updated with your permission. - - mbdiff: - Added EOF character as last character in the new created list. - - -v0.61.4 11-Aug-2004 - 25-Sep-2004 - - upgrade: - If you run a version older then 0.60.0, first upgrade to 0.60.0 - If you run a version older then 0.60.0, first upgrade to 0.60.0 - (That was twice). - Don't forget to backup /opt/mbse. - Before upgrade (make install) stop the bbs with "mbstat c w". - Kill mbtask, "kill `/sbin/pidof mbtask` might work. - This is important because the files database moves to a new - location (~/var/fdb). Some other directories move too. - Now you can run "make install" and start the bbs again. - Start "mbsetup", enter 1, global setup, leave and save". - If you have BBBS uplinks and use automatic uplink requests then - change the setup of these nodes in screen 7.10. - Run "mbfile check" and then "mbfile index". This fixes the - thumbnails if supported by your system. - Update all maintenance scripts to change the semafore directory - to ~/var/sema. - - libmbse.a: - The socket_connect function now sets the global nodenumber from - the reply of mbtask. - - libnodelist.a: - Removed some debug logging. - - libdbase.a: - The files database is moved from ~/fdb to ~/var/fdb. - Added debug logging to dbfdb to find the problem with not - cleaned magic aliases. - Fixed a problem with the files database were the temp file used - for sorting and inserting files didn't close the temp file. - Changed method of inserting new files so that old magic names - are really cleared. - - mbcico: - Removed a little debug logging. - - mbfido: - No help was displayed when no valid command was given. - Echomail for non-existing areas now finally is stored in the - badmail area. - Echomail received from not connected nodes is stored in the - badmail area unless the area allowes it. - Can now send (hopefully) valid uplink requests to BBBS systems. - Removed some debug logging from un_attach, made one into a - normal logmessage. - The postemail and scanemail functions are changed so that - Outlook email addresses are parsed so that we can reply via - smtp. - During scan the Msg_Read function is now called with a width - of 79 characters instead of 78. This fixes the missing address - on Origin lines of 79 characters long. - The *.msg function now uses Fgets instead of fgets to read the - message. - - mbfile: - The html index now uses html named character entities on the - area names on the main index page. - With html index creation if the convert program for the - thumbnails failed, the html pages were wrong. - The thumbnails were created from the 8.3 name but the url was - created to the LFN. Depending on the settings of your apache - server you would see the thumbnails or not. - The check for wrong thumbnails changed from LFN to 8.3 names. - Changed to use the new files database location. - - mbindex: - Fixed compiling pointlists where on the Boss line when there - is no last comma on the line. - - mbmsg: - Fixed counter in log that should show the number of linked - messages. - With the post command a check is done to see if the input file - has a tearline and origin line, if not mbmsg will add these - lines, else the lines of the input file are used. - - mbsebbs: - The exec_nosuid function for doors now also has a extra small - delay just like all other execute functions to prevent problems - on fast machines. - Added extra fflush in quickscan mail. - When calling the external editor, the fromaddress if available - is given to joe. - In Quick_Bye reset all signal handlers to prevent that die() is - called in case something goes wrong during Quick_Bye. - The fake nodenumber is now obtained from mbtask instead of a - count of tty line records so the used nodenumbers will be a lot - lower then before. - Changed Msg_Read from 78 to 79 characters. - In menu the semafore directory was scanned direct instead of - using the library functions. - - mbstat: - In the wait function the semafore directory was scanned direct - instead of using the library functions. - - mbnewusr: - During program exit, it tried to remove the wrong socket to - mbtask. - - mbuser: - Fixed permissions. - - mbtask: - Tried to call nodes during ZMH or during a Tyx window when mail - was on hold. - The comm protocol reply to the AINI command now contains a fake - node number. - The magic filenames directory is moved from ~/magic to - ~/var/magic. - The semafore directory is moved from ~/sema to ~/var/sema. - When shutting down on UPS semafore "upsdown", the log was - garbled. - When shutting down on an external event and there were users - online, mbtask did not wait. - - mbsetup: - Changed nodes screens to have a separate uplink managers setup - screen, and added switches for BBBS uplinks. - If the convert program is found and was not found before, the - defaults are set in menu 1.15.6. - The files database is moved from ~/fdb to ~/var/fdb. - The magic filenames directory is moved from ~/magic to - ~/var/magic. - The semafore directory is moved from ~/sema to ~/var/sema. - - script: - In the editor script (that calls joe) made a fix for screens - wider then 80 characters. Also fixed the joe path if it should - run in emacs mode. Added FromAddress in the header. - Changed all init and maint scripts to move the semafore - directory from ~/sema to ~/var/sema. - - -v0.61.3 25-Jul-2004 - 11-Aug-2004 - - upgrade: - To reinstall the corrected macro templates go into the examples - directory and type "make macros". - In mbsetup menu 1.7 check the new items 15, 16 and 17. - If you want to switch running doors as user instead of via sudo - then read doors.html and follow the instructions. - In the english txtfiles and menus the doors menu and screens - are updated for the newer doors setup, you might want to - upgrade or use them as examples. - - general: - With the newer versions of dosemu running doors as user finally - works. To migrate you need to read doors.html. - Changed security of most directories and files to allow only - bbs users. - - libmbse.a: - Removed the fdn parameter from the attach and un_attach - functions, not needed anymore. - Fixed function to return full 5d address in the outbound when - the address is in a different zone then our own zone. - - libnodelist.a: - Fixed IP port override if there is a port added to a protocol. - - mbfido: - Changed netmail counters in the .msg import function. - Fixed logging of 0 articles in scannews. - With the command "mbfido areas" without the -q option the user - must confirm this action. - For netmails to uplinks for areamgr/filemgr changes, the wrong - password was used. - In large areamgr/filemgr responses each 2048 bytes was an extra - inserted. - - mbfile: - Fixed a bug where "mbfile k p i" didn't give the help screen. - - mbnewuser: - Made questions for screenlen, newmail check and newfiles check - dependant of settings in the setup. - - mbsebbs: - When a netmail reply is done to a node without a valid address - we ask the user if he wants to continue. - Changed menu logging - - mbtask: - Added defaults for questions for screenlen, newmail chack and - newfiles check. - When calling mbcico the address passed is now 5d. - - mbsetup: - In menu 1.7 added 3 new items to ask new users for screenlen, - newmail check and newfiles check. - - examples: - Fixed 2 spelling errors in the dutch macro templates. - Fixed another spelling error in the filemgr.help template of - all languages. - - script: - Changed bbsdoor.sh, it now hase a variable pointing to the dos - directory. - Created runvirtual.sh, this replaces rundoor.sh for old systems - that run doors using the obsoleted sudo method. - Rewrote rundoor.sh for running dosemu with user privileges. - Changed all locations for dosemu so that we run in the mbse - environment with privileges of the user running the door. - - lang: - Added language prompts 26 and 27. - - -v0.61.2 11-Jul-2004 - 25-Jul-2004 - - upgrade: - Check if /opt/mbse/var/msgs is empty before using this version. - Make sure that /opt/mbse/queue is empty, then close the - bbs with "mbstat close wait". Then do the upgrade. - In mbsetup menu 1.14 update the TCP/IP connection details. - In the examples directory type "make macros" to update the - macro templates. Be carefull if you have personalized versions. - - general: - Added -fno-strict-aliasing switch to gcc to prevent some - warnings. - - libmbse.a: - When files are attached that should "leave" after sent (not - truncated or removed) they are now prepended with the @ - character instead of no character. This is compatible with - ifcico but not with other mailers, but should do no harm - because most mailers only look for the ^ and # characters. - This is for test! Please check if you run mbcico together - with other mailers. Russell?? - If you only use mbcico there will be no problems. - - libmsgbase.a: - Removed debug logmessage from jamPack. - - mbcico: - In the binkp driver, when files were found to transmit and - didn't exist anymore, they are not added to the list of files - to sent but are marked as already transmitted so they will - be removed from the .flo file. Also, after a successfull - session .flo files with all files marked as transmitted are - removed. With nodes that were marked crash, this will prevent - continuous calling. - Changed to use direct instead of immediate mail. - Changed binkp IsDoing info. - - mbfido: - Added code to un_attach files during tic import that are - deleted from the system by replace, or keep # magic actions, - but also for files with the same name that are replaced. - Currently tested: duplicate names - works. - keep # - works. - replace - in test. - Removed debug logging from toberep function since all problems - are solved. - In rfc2ftn added check for ".\n" to change to " .\n" instead of - only check for ".\r\n". - Added support for *.msg files. If any are found, they are - processed and put in a netmail area. From there the mbfido scan - function is automatic called so that the message is sent out or - stays in the area if it has a local destination. File attaches - are supported. - - mbout: - Changed to use direct instead of immediate mail. - - mbaff: - In newfiles and filefind reports with the tty info lines, also - display TCP/IP connection details. - - mbsetup: - In menu 2, added 3 checks to see if enough info is entered to - make a valid network setup. - Changed in menu 1.14 some labels and help messages for TCP/IP - global settings. - - mbtask: - Changed to use direct instead of immediate mail. - - examples: - Changed the macro templates for filefind and newfiles. - - script: - Fixed NetBSD init script reload command. - - -v0.61.1 20-Jun-2004 - 11-Jul-2004 - - upgrade: - If you compiled with ./configure --enable-newsgate you may - need to erase the newsgroup names in the echomail areas you - don't want to gate to news. - - general: - Added compile directive for full newsgate. If this switch is - used then mbfido behaves like it did upto version 0.50.0 and - mbnntp is disabled. - Added define for nodelist line length for all programs. - - libmsgbase.a: - If a message area becomes empty after a pack, all lastread - pointers are reset to zero. - - libdbase.a: - Removed some debug logging from files database module. - - libmbse.a: - In nodelist.conf changed the order of fields to search for ip - information, field 8 before field 6. - Added a new keyword 'ipprefix' in nodelist.conf to define a - table with IP prefixes to use in field 6. - - mbout: - Code cleanup for nodelist processing. - - mbfido: - Added compile directive for full newsgate. - Removed logmessage in addpkt function. - - mbindex: - Code cleanup for nodelist processing. - Added a extra check to see if nodelist datalines are valid to - prevent segfaults on Skynet nodelists. - Does finally compile a username index. - - mbnntp: - If compiled in full newsmode, this program acts like a dummy. - - mbsebbs: - Added user@domain login for pop3 mailboxes. - If pop3 login fails, the bbs won't hang. - If a users homedirectory doesn't exist, a correct error message - is displayed and logged. - If a user replied to a email and the system was in Own - maildomain mode, the From address was changed to the Fidonet - style address instead of Unix address. - - mbsetup: - Added user@domain login for pop3 servers in screen 1.12. - Added compile directive for full newsgate to prevent newsgroup - name creation in default compiled mode. - When editing files, after leaving a file record the file range - displayed stays around the last area. - If a message area is deleted and a rulefile is present, this - rulefile is deleted too. - When a new golded.inc file is written, only fidonet records - that are active are written. - When a file area is deleted, the file path wasn't removed. - - -v0.61.0 06-Jun-2004 - 20-Jun-2004 - - libnodelist.a: - Implemented the ICM flag (FSP-1033). - - mbmsg: - With te post command, the right number of commandline options - is checked, if this is wrong the help message is displayed. - If a message is posted in a local area, no echomail.jam is - updated and the mailout semafore is not set. - Added checks in the mbmsg post command if the To parameter has - the correct syntax for netmail and all other areas. - Fixed parameter count if post is used with the -q option. - Will now return a non-zero error if the post() function - failed. - - mbout: - Implemented the ICM flag (FSP-1033). - - mbcico: - Implemented the ICM flag (FSP-1033). - - mbtask: - Implemented the ICM flag (FSP-1033). - - mbfile: - The filenames in the html pages are now the long filenames. - This fixes download problems with some mangled 8.3 filenames. - - mbsetup: - In mail and files group edit screens, to make an area active - existing connections check is skipped. - If a node record is deleted, the outbox and directory paths - are removed as well if they are empty. +v0.70.0 06-Jun-2004 - 26-Oct-2004. + + upgrade: + If you run a version older then 0.60.0, first upgrade to 0.60.0 + If you run a version older then 0.60.0, first upgrade to 0.60.0 + (That was twice). + Don't forget to backup /opt/mbse and all fle areas! + + Check if /opt/mbse/var/msgs is empty before using this version. + Make sure that /opt/mbse/queue is empty, then close the + bbs with "mbstat close wait". + Kill mbtask, "kill `/sbin/pidof mbtask` might work. + Now you may do the upgrade with "make install" as root. This + order is important because the files database moves to a new + location (~/var/fdb). Some other directories move too. + Now you may start the bbs again. + + Start "mbsetup", enter 1, global setup, leave and save". + Run "mbfile check" and then "mbfile index". This fixes the + thumbnails if supported by your system. + Update all maintenance scripts to change the semafore directory + to ~/var/sema. + + If you compiled with ./configure --enable-newsgate you may + need to erase the newsgroup names in the echomail areas you + don't want to gate to news. + + In mbsetup menu 1.14 update the TCP/IP connection details. + + In the english txtfiles and menus the doors menu and screens + are updated for the newer doors setup, you might want to + upgrade or use them as examples. + In the examples directory type "make macros" to update the + macro templates. Be carefull if you have personalized versions. + To reinstall the corrected macro templates go into the examples + directory and type "make macros". + + In mbsetup menu 1.7 check the new items 15, 16 and 17. + + If you want to switch running doors as user instead of via sudo + then read doors.html and follow the instructions. + + If you have BBBS uplinks and use automatic uplink requests then + change the setup of these nodes in screen 7.10. + + + general: + Added compile directive for full newsgate. If this switch is + used then mbfido behaves like it did upto version 0.50.0 and + mbnntp is disabled. + Added define for nodelist line length for all programs. + Added -fno-strict-aliasing switch to gcc to prevent some + warnings. + With the newer versions of dosemu running doors as user finally + works. To migrate you need to read doors.html. + Changed security of most directories and files to allow only + bbs users. + In SETUP.sh better xinetd.d system detection. + On Linux SETUP.sh adds user mbse to group wheel and uucp. + SETUP.sh adds disabled telnet service to inetd.conf or xinetd. + + libmbse.a: + In nodelist.conf changed the order of fields to search for ip + information, field 8 before field 6. + Added a new keyword 'ipprefix' in nodelist.conf to define a + table with IP prefixes to use in field 6. + When files are attached that should "leave" after sent (not + truncated or removed) they are now prepended with the @ + character instead of no character. This is compatible with + ifcico but not with other mailers, but should do no harm + because most mailers only look for the ^ and # characters. + Fixed function to return full 5d address in the outbound when + the address is in a different zone then our own zone. + The socket_connect function now sets the global nodenumber from + the reply of mbtask. + + libnodelist.a: + Implemented the ICM flag (FSP-1033). + Fixed IP port override if there is a port added to a protocol. + Removed some debug logging. + + libmsgbase.a: + If a message area becomes empty after a pack, all lastread + pointers are reset to zero. + Removed debug logmessage from jamPack. + + libdbase.a: + Removed some debug logging from files database module. + The files database is moved from ~/fdb to ~/var/fdb. + Added debug logging to dbfdb to find the problem with not + cleaned magic aliases. + Fixed a problem with the files database were the temp file used + for sorting and inserting files didn't close the temp file. + Changed method of inserting new files so that old magic names + are really cleared. + + mbcico: + Implemented the ICM flag (FSP-1033). + In the binkp driver, when files were found to transmit and + didn't exist anymore, they are not added to the list of files + to sent but are marked as already transmitted so they will + be removed from the .flo file. Also, after a successfull + session .flo files with all files marked as transmitted are + removed. With nodes that were marked crash, this will prevent + continuous calling. + Changed to use direct instead of immediate mail. + Changed binkp IsDoing info. + Removed a little debug logging. + + mbout: + Implemented the ICM flag (FSP-1033). + Code cleanup for nodelist processing. + Changed to use direct instead of immediate mail. + + mbfido: + Added compile directive for full newsgate. + Removed logmessage in addpkt function. + Added code to un_attach files during tic import that are + deleted from the system by replace, or keep # magic actions, + but also for files with the same name that are replaced. + Removed debug logging from toberep function since all problems + are solved. + In rfc2ftn added check for ".\n" to change to " .\n" instead of + only check for ".\r\n". + Added support for *.msg files. If any are found, they are + processed and put in a netmail area. From there the mbfido scan + function is automatic called so that the message is sent out or + stays in the area if it has a local destination. File attaches + are supported. Note that this is not a gate, only put *.msg + files in that directory that originate from one of your own + aka's. + Fixed logging of 0 articles in scannews. + With the command "mbfido areas" without the -q option the user + must confirm this action. + For netmails to uplinks for areamgr/filemgr changes, the wrong + password was used. + In large areamgr/filemgr responses each 2048 bytes was an extra + inserted. + No help was displayed when no valid command was given. + Echomail for non-existing areas now finally is stored in the + badmail area. + Echomail received from not connected nodes is stored in the + badmail area unless the area allowes it. + Can now send (hopefully) valid uplink requests to BBBS systems. + Removed some debug logging from un_attach, made one into a + normal logmessage. + The postemail and scanemail functions are changed so that + Outlook email addresses are parsed so that we can reply via + smtp. + During scan the Msg_Read function is now called with a width + of 79 characters instead of 78. This fixes the missing address + on Origin lines of 79 characters long. + The *.msg function now uses Fgets instead of fgets to read the + message. + + mbmsg: + With te post command, the right number of commandline options + is checked, if this is wrong the help message is displayed. + If a message is posted in a local area, no echomail.jam is + updated and the mailout semafore is not set. + Added checks in the mbmsg post command if the To parameter has + the correct syntax for netmail and all other areas. + Will now return a non-zero error if the post() function + failed. + Fixed counter in logfile that should show the number of linked + messages. + With the post command a check is done to see if the input file + has a tearline and origin line, if not mbmsg will add these + lines, else the lines of the input file are used. + + mbfile: + The filenames in the html pages are now the long filenames. + This fixes download problems with some mangled 8.3 filenames. + Fixed a bug where "mbfile k p i" didn't give the help screen. + The html index now uses html named character entities on the + area names on the main index page. + With html index creation if the convert program for the + thumbnails failed, the html pages were wrong. + The thumbnails were created from the 8.3 name but the url was + created to the LFN. Depending on the settings of your apache + server you would see the thumbnails or not. + The check for wrong thumbnails changed from LFN to 8.3 names. + Updated to use the new files database location. + + mbindex: + Code cleanup for nodelist processing. + Added a extra check to see if nodelist datalines are valid to + prevent segfaults on Skynet nodelists. + Does finally compile a username index. + Fixed compiling pointlists where on the Boss line when there + is no last comma on the line. + + mbdiff: + Added EOF character as last character in the new created list. + + mbaff: + In newfiles and filefind reports with the tty info lines, also + display TCP/IP connection details. + + mbstat: + In the wait function the semafore directory was scanned direct + instead of using the library functions. + + mbsebbs: + Added user@domain login for pop3 mailboxes. + If pop3 login fails, the bbs won't hang. + If a users homedirectory doesn't exist, a correct error message + is displayed and logged. + If a user replied to a email and the system was in Own + maildomain mode, the From address was changed to the Fidonet + style address instead of Unix address. + When a netmail reply is done to a node without a valid address + we ask the user if he wants to continue. + Changed menu logging. + The exec_nosuid function for doors now also has a extra small + delay just like all other execute functions to prevent problems + on fast machines. + Added extra fflush in quickscan mail. + When calling the external editor, the fromaddress if available + is given to joe. + In Quick_Bye reset all signal handlers to prevent that die() is + called in case something goes wrong during Quick_Bye. + The fake nodenumber is now obtained from mbtask instead of a + count of tty line records so the used nodenumbers will be a lot + lower then before. + Changed Msg_Read from 78 to 79 characters. + In menu the semafore directory was scanned direct instead of + using the library functions. + + mbnewuser: + Made questions for screenlen, newmail check and newfiles check + dependant of settings in the setup. + During program exit, it tried to remove the wrong socket to + mbtask. + + mbnntp: + If compiled in full newsmode, this program acts like a dummy. + + mbuser: + Fixed permissions. + + mbtask: + Implemented the ICM flag (FSP-1033). + Added defaults for questions for screenlen, newmail check and + newfiles check. + Changed to use direct instead of immediate mail. + When calling mbcico the address passed is now 5d. + Tried to call nodes during ZMH or during a Tyx window when mail + was on hold. + The comm protocol reply to the AINI command now contains a fake + node number. + The magic filenames directory is moved from ~/magic to + ~/var/magic. + The semafore directory is moved from ~/sema to ~/var/sema. + When shutting down on UPS semafore "upsdown", the log was + garbled. + When shutting down on an external event and there were users + online, mbtask did not wait. + + mbsetup: + In mail and files group edit screens, to make an area active + existing connections check is skipped. + If a node record is deleted, the outbox and directory paths + are removed as well if they are empty. + Added user@domain login for pop3 servers in screen 1.12. + Added compile directive for full newsgate to prevent newsgroup + name creation in default compiled mode. + When editing files, after leaving a file record the file range + displayed stays around the last area. + If a message area is deleted and a rulefile is present, this + rulefile is deleted too. + When a new golded.inc file is written, only fidonet records + that are active are written. + When a file area is deleted, the file path wasn't removed. + In menu 2, added 3 checks to see if enough info is entered to + make a valid network setup. + Changed in menu 1.14 some labels and help messages for TCP/IP + global settings. + In menu 1.7 added 3 new items to ask new users for screenlen, + newmail check and newfiles check. + Changed nodes screens to have a separate uplink managers setup + screen, and added switches for BBBS uplinks. + If the convert program is found and was not found before, the + defaults are set in menu 1.15.6. + The files database is moved from ~/fdb to ~/var/fdb. + The magic filenames directory is moved from ~/magic to + ~/var/magic. + The semafore directory is moved from ~/sema to ~/var/sema. + In user setup, if user gets a new security level, his timelimit + is updated with your permission to the new levels. + + examples: + Changed the macro templates for filefind and newfiles. + Fixed 2 spelling errors in the dutch macro templates. + Fixed another spelling error in the filemgr.help template of + all languages. + + script: + Fixed NetBSD init script reload command. + Changed bbsdoor.sh, it now hase a variable pointing to the dos + directory. + Created runvirtual.sh, this replaces rundoor.sh for old systems + that run doors using the obsoleted sudo method. + Rewrote rundoor.sh for running dosemu with user privileges. + Changed all locations for dosemu so that we run in the mbse + environment with privileges of the user running the door. + In the editor script (that calls joe) made a fix for screens + wider then 80 characters. Also fixed the joe path if it should + run in emacs mode. Added FromAddress in the header. + Changed all init and maint scripts to move the semafore + directory from ~/sema to ~/var/sema. + + lang: + Added language prompts 26 and 27. + v0.60.0 09-Feb-2004 - 04-Jun-2004 - upgrade: Before upgrade announce all new files! Compile all programs. diff --git a/TODO b/TODO index 8816cb60..a50ec1c8 100644 --- a/TODO +++ b/TODO @@ -1,6 +1,6 @@ $Id$ - MBSE BBS V0.61.5 TODO list. + MBSE BBS V0.70.0 TODO list. --------------------------- These are a list of things that must be implemented one way or diff --git a/configure b/configure index a79174cb..e6302cc8 100755 --- a/configure +++ b/configure @@ -1309,8 +1309,8 @@ SUBDIRS="lib mbcico mbfido mbmon mbsebbs mbnntp mbtask mbsetup unix lang example PACKAGE="mbsebbs" MAJOR="0" -MINOR="61" -REVISION="5" +MINOR="70" +REVISION="0" VERSION="$MAJOR.$MINOR.$REVISION" COPYRIGHT="Copyright (C) 1997-2004 Michiel Broek, All Rights Reserved" SHORTRIGHT="Copyright (C) 1997-2004 M. Broek" diff --git a/configure.in b/configure.in index b817e641..b6ce7c90 100644 --- a/configure.in +++ b/configure.in @@ -12,8 +12,8 @@ dnl After changeing the version number, run autoconf! dnl PACKAGE="mbsebbs" MAJOR="0" -MINOR="61" -REVISION="5" +MINOR="70" +REVISION="0" VERSION="$MAJOR.$MINOR.$REVISION" COPYRIGHT="Copyright (C) 1997-2004 Michiel Broek, All Rights Reserved" SHORTRIGHT="Copyright (C) 1997-2004 M. Broek"