$Id: ChangeLog_2005,v 1.1 2006/07/23 09:53:53 mbse Exp $


v0.82.0		06-Oct-2005 - 06-Nov-2005

		This is a bugfix release for version 0.80.0.

        general:
                Made changes to structures and sources to make everything
                compatible between 32 and 64 bit systems. Special thanks to
		Alan Ianson and Robert Wolfe for testing the 64 bit versions.
                Added escaping in client/server comms. It is now allowed to
                use comma's in user names, locations etc.

        upgrade:
                The bbs menu Change Screenlength is obsolete. Remove this from
                the menus (setup.mnu) and ascii/ansi screens (setup.a??).
                Owners of 64 bits systems should check if all *.sts files in
                the outbound are 12 bytes log. If not, stop the whole bbs and
                remove all these files. Then start the bbs again.
		Owners of 64 bit systems that have run version 0.80.0 or older
		should really backup everything and be prepared that all data
		files are not compatible anymore. Blame the GNU people for
		changing the storage format for some variables.
		After upgrade databases are compatible between 32 and 64 bit
		systems.

        libmbse.a:
                Added clencode and cldecode to safe escape messages to mbtask.
                In nodelock show program name if node is already locked.

        mbcico:
                Made binkp GZ and BZ2 compression final.
                Fixed compile errors when both zlib and bzlib development
                packages are not installed on some distro's.

        mbfido:
                Fixed a segfault when tossing as a point echomail without a
                seen-by line.

        mbsebbs:
                Automatic dynamic detection of the users screensize.
                There is no check anymore for a valid tty with network calls,
                instead a fake ttyinfo record is created. Modem/ISDN and
                console still need a valid configured tty.
                Fixed a bug in the email menu that would let the current
                mailbox disappear.
                Fixed the internal fullscreen editor.
                Accepts connections via ssh.
                Log close message sent to the user.
                Allow comma again in several input functions.

        mbnewusr:
                There is no check anymore for a valid tty with network calls,
                instead a fake ttyinfo record is created. Modem/ISDN and
                console still need a valid configured tty.
                Accepts connections via ssh.

        mbtask:
                Logs program name that locks serial ports.
                Added clencode and cldecode to safe escape messages with
                clients.

        mbsetup:
                Removed settings for users screenlength.
                In tty setup the network records are automatic removed. The
                setting for auth log is removed (was never used).
                SuSE compile fix.

        lang:   Removed prompts 64, 80 and 81.
                Changed prompt 348.
                Added prompt 31.

        examples:
                removed Change Screenlength from the English menus and
                txtfiles.



v0.80.0		27-Oct-2004 - 06-Oct-2005

		Yes, this release took too long to complete. But there were too
		many problems that a stable release wasn't a good idea.

        general:
                Due to lack of maintainers italian language support is dropped.
                Upgraded to ftscprod.010
                Added port to OpenBSD, is under test (and doesn't work yet).
                Code cleanup so that compile stops on unknown OSes and CPUs
                instead of missing code parts.
                Added Unix codepage KOI8-R (Russian) and patches from Dmitry
                Komissaroff.
                Updated Copyright notices to 2004 to 2005.
                From filetranfer records removed the batch and bidirectional
                switches, these are no longer needed.
                Added new subdirectory mbutils. Some sources from the mbsebbs
                subdirectory are moved there.
                Changed the CFLAGS back from -O3 to -O2 since there seem some
                stablity problems and I want to rule out the possibility that
                this is caused by bad gcc optimisation.

	upgrade:
                In mbsetup menu 8.2 remove the Italian language.
                In /opt/mbse "rm -rf italian".
                In /opt/mbse/etc "rm italian.lang".
                Or keep it, but you need to take care of updating this language
                yourself.
                Check mbsetup 7.n.3.14 and 7.n.3.15 settings.
                You may limit the mailhistory.html size by setting 1.15.8
                Check mbsetup 1.13.4 and 1.13.5, they should be empty or point
                to valid and readable logfiles. If set then ftp and or www
		downloads are counted as valid downloads.
                Enter setup menu 8.4 once and leave to clear unused data.
                Start mbsetup, in screen 1.2 item 10, add your real internet
                name or IP there. This MUST be the name that is returned when
                you do a nslookup on your external IP address.
                Add the following line to /etc/services:
                fido            60179/udp               # chatserver
                Make sure you remove everything related to bbslist menus from
                your menus and txtfiles.
                Start mbsetup and leave.
                You might want to check menu 8.5, file transfer protocols since
		we now have internal protocols.

        nodelist.a:
                Clear node Hold or Down status if set in nodes setup.

        mbselib.a:
                Removed some debug logging.
                Added a function to clean subject lines from garbage, trailing
                spaces etc. to improve message linking.
                Added code for Internet BBS Chat.

        msgbase.a:
                Fixed JAM pack function, the lastread pointers could be wrong
                if the last messages of an area were deleted.

        libdiesel.a:
                Changed the maximum string length from 2560 to 4096 characters.

        libmbinet.a:
                Fixed error messages when the host to connect to has a DNS
                error.

        charset:
                Changed rfc-2045 name x-mac to mac. Changed x-ibmpc to cp437.
                This allows rfc mime headers to show official names.
                Added some basic things to support Chinese.

        mbcico:
                Added support for binkp GZ and BZ2 compression. Can be turned
                off per node. To use it configure with --enable-experiment.
                Record previous session state so we can better react on failed
                sessions.
                Added detection of remote options NR, ND and NDA to prepare
		for implementation.
                Rewrote inbound handling for binkp sessions so that recovery
                from failed sessions works, even with compressed transfers.
                Fixed crash on received m_get command.
                Increased binkp timeout from 180 to 300 seconds.
                Added protection during binkp receive for zero bytes compressed
                data frames, this will cause uncompress error -5 because zero
                bytes can't be compressed at all. 
                Fixed test for valid aka's in the EMSI handshake that prevented
                that host aka's (node /0) were not presented to the remote.
                (thanks Przemyslaw Kwiatkowski).
                Removed binkp extra debug logging and some standard debug logging.
                Added auto workaround for Internet Rex 2.24 upto 2.29 binkp bug.
                However, it is still wise to set the "No binkp/1.1" setting in
                the node setup if you have a record for such node.

        mbout:
                Code cleanup.

        mbfido:
                If some newsarticles are not accepted for post, don't treat
                this as fatal and clear the sendqueue.
                Removed soft-cr filter during message import.
                Code cleanup.
                Added debug logging in rfc2ftn to track a rare problem.
                Added error logmessage in case *.msg path isn't defined.
                Fixed a segfault when echomail.jam or netmail.jam is corrupted
                when scanning for outgoing mail.
                Fixed fido style from address for posting news.
                Reinstalled charset translation on the gateway. Changed the
                way how FTN kludges are translated to RFC headers.
                Dropped support for newsgroup distribution.
                In tic processing changed pointer type for seenby lists.
                Fixed running out of file descriptors when there are lots of
                bad mailpackets.
                Fixed commandline parser for mail recipients.
                Added subject line clean in several places.
                When message areas are autocreated, golded.inc and msg.txt are
                recreated for the external editors.
                The web stats can now limit the size of mailhistory.html
                The FileMgr command connects news nodes SR if set for the tic
                area.
                Empty *.msg netmails for our own system are dropped with and
                logged (just like received empty netmails). Empty netmails to
                remote systems are still stored in the netmail base.
                Added debug logging for exporting netmails from the messagebase
                so that we later can decide to mark these messages auto deleted.
                In rfc2ftn a debug logmessage added to check for unrecognised
                message ids.
                With html create the general strings are now converted to html
                entinities.

        mbnntp:
                Removed some debug logging.
                Added leading zeros for generated msgid's.
                Improved charset detection.
                Does now send the right mime headers recognised by news clients.
                Fixed compile problem with some compilers.
                When sending the mime header with the charset used to the news
                client, the original message charset is tried first, else the
                area charset, else the users charset and if all failed, we send
                the us-ascci charset as default.
                More patches added from Dmitry Komissaroff to improve charset
                support. Also improved msgid linking.
                Removed dead timercode.
                Code cleanup.
                When a message is posted without RFC Messageid, a fidonet MSGID
                is fresh created.
                Changed X-JAM kludges to X-FTN kludges to make it compatible
                with the rest of the gates.
                Patches from Dmitry Komissaroff to make charset translation
                work on message subject lines. It will now also send the right
                charset for the user in the charset header line so that the
                client will show the message in the users charset.

        mbfile:
                Code cleanup.
                With the index command only changed areas are indexed. This
                removes the feature request for a switch per area from the
                TODO list because this solution works better and much faster.
                Dropped support for areas on CDrom.
                The adopt command now first checks if the filename is 8.3 or a
                long filename and the correct format for import is then set.
                With mbfile import, download counters in files.bbs are skipped.
                When the file description was missing in files.bbs with the
                import command, mbfile would crash. Now a dummy description is
                inserted.
                The directory from which the import is done is first tested for
                write access, if forbidden then no import is done. This also
                means you cannot import directly from CD's but that you need
                to copy the CD contents first to a harddisk.
                Better error reporting if something is wrong.
                The import command now also figures out the difference between
                8.3 and long filenames and does the right thing during import.
                During file import the destination is tested for both 8.3 and
                LFN for an existing file. Improved error reporting.
                With mbfile import the original file isn't renamed anymore.
                Fixed error reporting when files in files.bbs were not found
                on disk.
                In mbfile check added a check for the filemode of the real file
                in the download area, if it's not 0644 it will be corrected.
                With adopt, import and move allow to overwrite a file with the
                same name if the -f option is used on the commandline.

        mbsebbs:
                Code cleanup.
                Changed syntax for calling mbpasswd.
                Blocked sysop to chat and page the sysop. Sysops use mbmon.
                Fixed errormessage if chatserver is not available.
                Added language prompts 29 and 30.
                Added logging of remote host and terminal.
                Added subject line clean in several places.
                Fixed headerlines for posting news.
                Fixed headerlines for posting email.
                When a message is posted by a user, the CHRS kludge of the user
                is used in the message, not the area setting.
                When a user logs in, the users locale (guessed value from his
                characterset) is set. Experimental to see if libc functions will
                support Chinese characters.
                Allowed hi-ascii input characters in the internal fs editor,
                the chat input and one general input function. This may have
                effects for all users not using us-ascii keyboards.
                Added more support for Chinese using the traduce function.
                Changed color for chat lines with one * at the begin.
                The creation of the mailout semafore is now after the hangup
                so that mbfido won't start before the bbs is finished.
                Removed bbslist menus, this will become a door.
                Added #define NFGVMIN 1 in openport.
                During hangup we set sighup to ignore.
                Some small buffer protections added in addfile.
                Fixed keyboad input for all bigendian machines.
                Patches from Dmitry Komissaroff to make charset translation
                work on message subject lines.
                In change handle the first character of the name is not
                capitalized.
                Changed layout of raw directory listing to support longer
                filenames.
                Rewrote terminal i/o.
                If a user pages the sysop a hint is displayed to fill in the
                reason to chat, language prompt 28.
                After forced chat, redisplay the last menu.
                Removed support for non-batching protocols (xmodem) and for
                bidirectional protocols.
                Removed Ctrl-F G, this is of no use anymore.
                Switched to new modular download and upload functions.
                With download from file areas, the long filename is sent to
                the users, we will only support protocols that allow this.
                When an invalid OLR reply packet is received, it is removed
                from the users upload directory.
                We don't reward upload time anymore, only bytes. It's more
                troubles to implement right then it's worth these days. This
                is caused by telnet connections when we never know what the
                real linespeed is with to/from the user.
                Added the following internal file transfer protocols: Xmodem,
                Ymodem, Ymodem-1K, Ymodem-G, Zmodem and Zmodem-8K (aka ZedZap).
                Xmodem should not be used, but is available because Ymodem is
                available, ie: don't make it available for your users.
                For more information see the manual setup/protocol.html.
                After upload, files are now stored correctly in the filebase.
                In change protocol, changed the colors.
                With user chat, the timeout timer wasn't refreshed.
                Improved test for users protocol available.
                Fixed download K and files setting for users on a new day.

        mbnewusr:
                Changed syntax for calling mbpasswd.
                If we can detect the users screenlength then we don't bother
                asking the user.
                Added logging during execute of mbuseradd.
                Corrected wrong ANSI setting for new users.
                Added logging of remote host and terminal.
                If the external editor is configured a new user gets the
                external editor by default instead of the internal editor.
                During hangup we set sighup to ignore.
                Fixed keyboad input for all bigendian machines.
                Rewrote terminal i/o.

        mbsetup:
                Removed Italian default record. Rewrote code to create default
                language records.
                Added node setup switch to override node Hold or Down status.
                Changed syntax for calling mbpasswd.
                Dropped support for newsgroup distribution.
                Added setup switches per node to disable PLZ or GZ and BZ2
                compression protocols with binkp.
                Added setup entry 1.15.8 to set a limit on the size of the
                mailer history html page.
                Added setup for Internet BBS Chat.
                Added setup items 1.13.4 and 1.13.5. These could point to
                a valid apache logfile in common format and ftp xferlog
                logfile. If defined then downloads via www and or ftp can
                be counted. 
                Dropped support for file areas on CDrom.
                In menu 10 added a switch to default connect downlinks SR
                instead if S.
                Added language defaults for Chinese.
                Removed obsolete bbslist editor.
                Made some web sitedoc screens look better.
                Changed helplines for areamanager filenames to indicate that
                these are case sensitive.
                Added support for XxxxBSD console port.
                For new systems, there will now be 16 terminal ports created
                instead of 10, this is the maximum number of safe created ttys.
                The ttys are now sorted on the comment fields.
                In file transfers edit, removed switches for batch and bidirect
                protocols, added a switch for internal protocols.
                New internal protocols are automatic added and the external
                protocols are disabled. Some fields of the internal protocols
                are protected.
                In file areas, free downloads is now default for new areas.

        mbtask:
                Code cleanup and memory optimisation.
                Added check to some chat commands to check if the chat thread
                is running so that clients can give a proper message.
                Added Internet BBS Chat.
                Dropped support for file areas on CDrom.
                The created semafore files are now world readable so that low
                privileged users like nobody can check the semafore's.

        mbmon:
		Added Internet BBS Chat.
                Changed color for chat lines with one * at the begin.

        mbaff:
                Fixed a crash when announce a empty description line.

        mbdiff:
                Code cleanup.

        mball:
                Code cleanup.
                If a valid WWW logfile is specified in menu 1.13.4 then http
                downloads are counted and the filedatabase is updated before
                the allfiles listings are created. Note that the very first
                time only a mark is placed in ~/var and nothing is done.

        mbstat:
                Code cleanup.

        mbuser:
                Code cleanup.

        mbmsg:
                Code cleanup and removed dead code.

        mbpasswd:
                Added security checks to see if this program is legally called.
                Changed commandline syntax.

        mbuseradd:
                Added security checks to see if this program is legally called.

        mblogin:
                The file ~/etc/login.defs now has default the issue file
                enabled so that it also is displayed for incoming telnet users.

        script:
                The installinit script now recognizes Fedora Core (but it used
		to work anyway).
                Added mbfile check to monthly maintenance script.
                Fixed the Slackware setup script that didn't make the startup
                symlinks in runlevel 4 if the directory /etc/rc.d/rc4.d didn't
                exist.
                Modified rundoor.sh so that it uses two different dosemu
                configuration files, one for virtual modem and one without.
                See the manual doors.html.
                In the editor script modified the joe header so that it will
                work with the new terminal i/o.

        lang:
                New prompts 28, 29 and 30.
                Added Chinese language.
                TODO: remove bbslist entries.
                Changed width of prompt 261.
                Removed leading spaces of prompt 151.
                Removed prompts 259 and 276.

        examples:
                Removed bbs list items from the English menus and txtfiles and
                the Spanish menus and txtfiles.
                Fixed the menu archives so that they contain menu files again.
                Fixed logo display.
                Fixed Spanish txtfiles to leave out an old support bbs.

        html:
                Added batch file upload written by Russell Tiedt to the faq.

        porting:
                Compiles more or less on x86_64, there are issues with utmp
                and struct lastlog
                Compiles on NetBSD i386.
                Compiles on Alpha.
                Doesn't compile on Mac OS X.


