This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
deb-mbse/saved-mbsebbs-code-2/ChangeLog_1998
vbcoen 6a6a253885 Updated mbmon.c & mbsetup.c
Added doc dir. and manual as .pdf
restored deleted files - yep I screwed the pooch.
2015-11-03 20:41:11 +00:00

1394 lines
46 KiB
Plaintext

$Id: ChangeLog_1998,v 1.1 2002/06/01 13:55:39 mbroek Exp $
MBSEBBS History in 1998.
v0.00 Started work on the Rapidbbs sources to make new structures,
headerfiles and makefiles.
The whole thing will include Fidonet echomail and tic file processing.
v0.01 Until v0.06 lots of sourcecode fixes, bugs removed which became
visible after writing the new header and makefiles. Included common
and jamapi libraries. The jamapi is not in use yet but will be the
final message base format.
Rewritten the mbse deamon. This deamon monitors the bbs and all the
utilities.
Written an import util to import textfiles from the databases exported
by a little Pascal program that exports the RA databases from the DOS
bbs.
Started writing a new setup utility. While doing this the old config
program is being stripped down.
Renamed the filelist program to allfiles.
v0.06 In the internal mbsed server structure added information for user
online messages. Added ADIS:2,pid,flag; set users Do Not Disturb
flag, also changed the bbs to sent that flag.
Added Status commands to the mbsed, test for BBS open, and Zone
Mail Hour. 2 new statements in etc/mbsed.conf. The mbsebbs now
tests at startup for ZMH and BBS open. If it is closed the user is
disconnected with the reason why.
v0.07 The new structures are ready. The bbs can run with local mail only.
Renamed the filepack program to mbfile, it will do a lot more later.
Removed the whoson program, the functions are in the setup program now.
Added in the setup program the oneliner editor, protocols editor,
language setup editor, limits editor.
The oneliner editor has an import facility to import plain textfiles
to add oneliners.
Changed structures again, lastcaller and ttyinfo.
Removed the usered program, the users editor is in setup now.
Fixed the download (non batching) function DownloadB, it does work
more or less. Changed the calling program from execl() to system()
to fix the stack problems. Now need testing voor carrier loss and
timeouts.
After testing with a DOS-PC (A real fast 286 10 MHz state of the art
of the eighties, directly connected to the tty port) the Good_Bye
function needed 5 seconds extra delay to be shure all data is
send to the user. Also the parent died too fast so the mbsed server
wasn't notified when the client was logged off.
In the bbs chat.c added unlink the /tmp/.BusyChatting file so the
chat could be more than once in a session.
In the internal mbsed server structure added information for user
online messages. Added ADIS:2,pid,flag; set users Do Not Disturb
flag, also changed the bbs to sent that flag.
Added Status commands to the mbsed, test for BBS open, and Zone
Mail Hour. 2 new statements in etc/mbsed.conf. The mbsebbs now
tests at startup for ZMH and BBS open. If it is closed the user is
disconnected with the reason why.
v0.08 Added the JAM c api. This is a modified version for Linux.
Reading JAM messages and Quickscan JAM messages implemented. Removed
support for the old message base format. The function Msg_Post() does
not work anymore, must be rewritten to support JAM.
In the msgpack program removed all code for the old message base
format. Inluded support for client/server.
Removed all structures of the old message base format, the only
format left is JAM.
v0.09 22-Mar-1998.
In Language data compiler removed output to screen for each compiled
line. When finished compiling it reports the number of language lines.
Changed the number of lines for the line editor in Post_Msg() and
Reply_Msg() in a #define statement. In the language source it still
allways says 60 lines.
Bugfix in mbsetup: edit message area item 7 an 8 didn't work.
Start writing of man pages.
Start writing mbfido, the net- echomail tosser, scanner and packer.
Succeeded tossing echomail, no dupechecking, links checking or other
checks are done. No reply linking either.
mbsetup: Added Fidonet aka setup.
Moved JAM I/O functions to the common directory.
Created the mbmon program out of mbsetup. Removed those items from
mbsetup.
Start build of the dbase library, this library will contain functions
to access the configuration datafiles for all utilities except the
mbsetup program.
v0.10 15-Apr-1998.
Allfiles changed to make use of the common and dbase libraries. Does
logging now of activities. Removed links to src/bbs/funcs4.c
Added fileareas and filesdatabase import to the import program.
Corrected file area mismatches in mbsebbs and fedit.
Mbsetup: finished global setup. Fixed pull filegroup and messagegroup.
Added edit bbs file areas. Changed format of fareas.data.
mbfido: Added first dupechecks, only logging. Fixed errors in dbase
search routines, caused mail to be tossed in the wrong directories.
Added tossing of bad (unknown areas) and dupe mail in the bad and
dupe boards. Checks for .PKT destination implemented. Ideas for
netmail tracking written. Dupe checking seems to work, but I can't
compare it with my other tosser yet. Note after more testing:
it's better than GEcho's 1.11+ dupechecking.
allfiles: Opens header.txt now only before processing the areas.
Added footer.txt. Both files must be in the configfiles directory,
if they are not present, nothing will be inserted. Removed all code
that constantly opened and closed the output file. Added logging for
total processing time. Added new lines to the area headers. Areas
are only written if there are downloadable files in them. Download
counter now represents bbs downloads, ftp downloads and file requests.
The last two counters are not in use yet.
v0.11 26-Apr-1998
mbsebbs: In the mail reader swapped From and To language fields, the
names were in the right place. Added the nodenumber after the from
name. Must be set for messagearea type (Local/Net/Echo).
mbfido: Corrected some loglevels.
userpack: rewritten from scratch. Deletes unix accounts as well, uses
/usr/sbin/userdel to do this, so shadow support works just fine.
This program must be run as setuid root setgid root.
structs.h: removed flags for Unixmode and all related flags.
mbuseradd: written. This is a setuid root setgid root version of
adduser, this program is called by newuser to create the unix account
of a bbs user. It also creates the homedirectory, the .profile file
and expires the unix account password. When a new created unix user
logs in he will be prompted for a new password.
newuser: lots of rewriting. Added inactivity timers. Now we have
always unix accounts and fido bbs accounts. It will also die
nicely when the user did hangup on us or waited for idle timeout.
mbsebbs: Check for unix account, if it doesn't exist the user is
forced to create a unix account. If unix login we now have a pause()
at the same place the password prompt is so the user can see the
opening screen and read it.
Removed the code that there was a parent (guarding users logon time)
and a child process (running the user). There is only one process now.
Implemented keyboard input timers. The total onlinetime must be
guarded in another way now, ie. checking must be done at prompts.
In the mean time proper idletimeout, hangup and error conditions
will log the user off in a neat way and writing into the logs about
what happened is mostly solved.
mbsebbs and newuser: New users can only be handled by the newuser
program. Listed users only by the mbsebbs program. You need 2 accounts
without a password for this. Maybe I'll chain these 2 programs later.
misc: compiling is a mess again, more libraries are needed, time to
close this version.
v0.12 07-May-1998.
mbsed: Rename the logfile from "mbsed" to "mbsed.log". The mbsed
logfile is opened and closed everytime now. Logfile cleanup utils
can now safely remove the logfile, make it smaller etc.
mbsebbs: Splitted misc.c into bye.c, pinfo.c and misc.c
dbase library: added userrecord search. Added netmailboard search.
mbfido: removed segmentation fault caused by a too long kludge, added
a check for the stringlength (512 bytes). Removed bugs in netmail
destination tests. Implementation of ftn netmail import into JAM area.
Only the first netmail area is used, no need for several areas now.
mbsebbs: Added aka display when reading netmail. Changed autowrap
to line 74.
Added test for users handle when scanning new mail.
Removed test tlcap() when comparing names. The tosser should correct
the names.
Changed the MsgSelectPrompt() to default return the lastread pointer
instead of message 1.
Changed Read_a_Message() so it will return TRUE if message read was ok,
FALSE otherwise.
CheckMail() now starts searching at the users lastread pointer. It
now also keeps track of messages to the user, and gives the option
to read them. Reply is not possible yet, but posting isn't working
also.
Added a check that the receivername must exist to prevent false new
mail.
Changed UserList() to skip the empty userbase records.
Place the users timecheck functions in a separate file, made it work
again. Inserted timecheck points at several prompts.
Changed the timebank to reflect new timecheck routine's.
Moved the exitinfo functions to a separate file, several other modules
now use new functions in this file instead of internal ones.
Changed FileArea_List() to work with options (F+ and F-) for direct
area change.
Improved the fatal menu error construction. The user now sees a message
and will logoff by SIGILL.
v0.13 24-May-1998.
mbfido:
Added a debug line to show flagfield of the original packet.
Added code to fill the message header MsgIdCRC and ReplyCRC
fields.
Added version info in the logfile.
mbsebbs:
Corrected unixmode login problem if there where more than one
field within the gecos field of the passwd file.
Added version info in the logfile.
Changed the setting of signal handlers, removed SIGINT, added
SIGILL.
Supress display goodby screen in case of a SIGHUP.
Display ttyinfo.comment instead if ttyname in connect info.
Added create/check for subdirectories wrk and tag in the users
homedirectory, wrk is for the users homedir fileoptions, tag
is where symlinks of tagged files area placed.
Corrected message diplayed to user when logging in during zone
mail hour.
Removed menu option GlobalDownload, see new feature below.
Implemented download file tagging in menus FileList and
NewFilesScan.
Implemented download tagged files, the old download function
is gone.
Moved Change_Protocol and Set_Protocol from file.c to change.c
where they belong. Change_Protocol is now Chg_Protocol as all
other functions in change.c use the same naming convention.
Made KeywordScan and FilenameScan working without coredumps,
implemented file tagging.
Made enum vars for WhosDoingWhat.
Changed the internal filearea record number, area 1 is now 1,
not 0. This should prevent a lot of bugs.
Now setting large timeouts on the client/server guard during
filetransfers to prevent server disconnection. Changed mbsed
and common.a for that.
Added logging info when user is kicked out if the BBS is
closed.
Split file.c into file.c and filesub.c
Added menu function 111, Copy file to home directory.
Download_Home, Delete_Home, List_Home, Upload_Home now all work
with the new directory structure. Upload and Download homedir
do not count uploaded/downloaded bytes, the user gets no ratio
bonus after upload, only the up/downloads are counted.
Quota check for users home directory. The value can be set
with the mbsetup program, value is MBytes.
Removed error message if user selected a menu option where he
has no access rights for. The user now sees nothing. If you
want to give a response, use the menu system!
Reset colors to lightgray on black after logoff.
Added menu function EditTaglist.
mbsed:
Invented two new commands, ATIM:1,n; which set a new client/
server timeout, and ADEF:0; which resets the client/server
timeout to 600 seconds.
common.a:
Implemented the two new client/server commands: ATIM and ADEF.
mbsetup:
In global BBS setup, added editing Users Quota.
import:
In FDB import, changed the filenames to lowercase.
allfiles:
Output list now contains CR/LF at the end of each line.
mbuseradd:
Added the line "export TERM=pcansi" to the generated .profile
in the new users home directory. This seems to work quite well
for all kinds of clients.
v0.14 02-Jun-1998.
msgpack:
Renamed to mbmsg, it will do more as just packing messages.
Implemented using the msgbase.a library: Purging (Days old
and Max msgs), Packing deleted messages and Reply linking.
During pack the messages are renumbered and lastread pointers
are adjusted.
mbsetup:
Added edit messagebase storage type.
msgbase.a:
New library, universal message base library, must support
JAMmb, Fido *.MSG, Passthru, Usenet news and E-Mail.
This came original from LoraBBS, written by Marco Maccaferri.
I changed the sources to normal C code without objects, that
was the fastest method to mix it with the existing sources.
I dropped support for Hudson and Squish.
Only JAM is supported for a start.
The JAM module renumbers the messages while packing.
Added support for lastread pointers.
Changed all msg handling so that the messagetext must contain
all the kludges to be compatible with several message bases.
This means that the JAM module now handles the kludges in the
text, storing and retrieving it between the *.jhr files and
text. This also means that the applications don't have to
worry about kludges.
mbsebbs:
Changed mail.c to work with the new msgbase library, dropped
the old jamapi. Scanning new messages looks slower, maybe
the speed improvement must be made in the msbase library.
Applied all changes in the messagebase library to the bbs
program.
mbfido:
Applied all changes in the messagbase library in the tosser
module. While doing that I saw some bugs but they don't
mather anymore.
v0.15 13-Jun-1998.
msgbase.a:
Implemented msgbase locking for JAM messagebase. Dropped
future support for other messagebase formats, I stick to
JAM and only JAM, it can do all we need, including mailer
netmail directory.
Implemented all possible attributes in the interface.
dbase.a:
Removed some bugs in dbmsgs.c
Added code to update the nodes and msgs data records if they
are changed.
During msgs record loading the group record will also be
loaded if it's defined.
Added support for .tic area lookup.
mbmsg:
Implemented msgbase locking during msgbase updates.
Added colours.
mbfido:
Implemented msgbase locking during msgbase updates.
Implemented simple echomail forwarding in the queue.
Splitted tosspkt.c into importmsg.c echoout.c and tosspkt.c
to make the source more readable.
Started collecting SEEN-BY and ^APATH information in memory.
Started appending SEEN-BY entries during echomail forward.
Added code which should append SEEN-BY and PATH lines in
outgoing echomail.
In the startup code changed the catching/ignoring of signals.
Activated mail send and received counters in the nodes
records.
Activated echomail received counters.
Started working on .tic file processing, using my own MBFIX
code (in Turbo Pascal) as a guide.
mbsed:
Changed the server locking in a more portable and secure way.
Added sequencer counter for generating MSGID numbers and
message packet numbers.
Removed a bug in response strings when the BBS is closed.
The signal SIGTERM is now ignored, we wait for SIGKILL only
so we keep running as long as possible.
mbmon:
Added support for sequence numbers display.
mbsebbs:
Removed a bug in the syntax of BBS closed messages.
Added a toggle switch to display message kludges for the sysop.
Added hilite color for quoted message lines in message read.
mbstat:
The BBS close command doesn't need a reason anymore.
Implemented the wait function. We only wait for users online
and utilities that we want to complete their actions. Depending
on the type of init program, if it uses shutdown scripts, you
can now wait for the system to become idle before the real
system shutdown starts.
common.a:
Added a flag "show_log" to the Syslog function to suppress
logging to the screen.
mbsetup:
Added support to edit .tic areas.
Started working on the creation of a site document, this is
a complete overview of the whole setup.
v0.16 06-Jul-1998.
General:
This version is the first version installed on the real BBS
server, line #2. While doing this I discovered lots of errors
in the Makefiles because I installed it from scratch. I also
found out that GEcho and or RA is screwing up some JAM bases
causing this program to dump core. Did some testing, download
and mail reading is ok.
mbsebbs:
NewfilesScan and show files listings now work with the file
upload dates instead of the real filedates.
mbfido:
It's possible to import .tic files into the bbs.
Unknown echomail areas now log with WriteError().
Added functions to pack mail for downlinks and put it in
the mailer outbound.
Because of small diffrences between ifcico and DOS mailers
running 2 mailers together still doesn't work for attached
files and mail.
Fixed a bug in outbound mail packets, the packed messages
didn't start with 0x0002 so downlinks didn't process the
messages. Output of echomail works now!
When processing large amounts of .tic files, the processing
stopped after about 30 files. Added 2 forgotten fclose
statements.
Added sorting functions for filenames with date/time. All
inbound processing is now sorted by date and time, oldest
files first.
common.a:
In mbfile.c changed file_cp() to copy file attributes as well.
userpack:
Changed commandline syntax.
mbmsg:
Changed commandline syntax.
mbstat:
Changed commandline syntax.
Added colors.
Does timeout after one hour waiting for the BBS to become free.
mbsetup:
Added setup for .tic magic records.
Improved logging reason when tossing messages not for us.
dbase.a:
Remove a bug where reading downlinks from areas base gave
nothing. (Introduced in 0.15).
mbmon:
Corrected the screen header.
v0.17 30-Jul-1998
mbfido:
When importing files to the BBS the destination directory
is checked and created if it doesn't exist.
Improved checks when to rearchive incoming files.
Forgot to chdir back to the inbound when rearc failed.
Switching virus check off when the inbound file isn't an
compressed archive. Should check incoming *.exe (selfextracting
archives).
Keep number of files now works.
TIC forwarding to downlinks implemented. There are 2 netmails
for each forwarded file, one for the file itself and one for
the .tic file. The subjectline is to short under Unix. The
second netmail is an empty one, lets see how this works.
Added cookies.
Packing ARCmail now checks for bundles older then 5 days and
creates new bundles if found.
Added netmail pack to ARCmail.
Improved errorlogging again when tossing bad echomail.
Scan for outgoing echomail from the bbs is working. It is a
complete messagebase scan for now.
TIC forwarding again with one netmail, I faked the subject
line, all files seem to come from C:\FILES\. This seems to
give no problems with the other end of the link.
mbmsg:
Improved debug logging.
Processing in only one area didn't work anymore.
mbsebbs:
Made post new message work.
Now unlocking and closeing the messagebase after a crash.
Moved the lineeditor to a seperate source module.
Reply to messages is working, also from scan for new mail.
Comment to sysop now works.
Removed the Voting door.
v0.18 10-Aug-1998.
general:
New record structure for fidonet networks. This makes
it possible to use the same nodelist indexes as ifmail.
Note that de define -DHAS_NDBM_H may only be set if you
have done this also in the ifmail package! This is set
in ~/src/mbfido/Makefile
run_inout:
A shell script run from the mbse crontab (every minute) to
see if there is something to do. It scan's the protected
inbound and scan's for the ~/sema/mailout semafore.
mbsebbs:
Creates a ~/sema/mailout semafore if mail is entered.
Added extra debug logging during newmail scan. On the live
bbs mbsebbs keeps on dumping core probably due to RA or GEcho.
Most amusing is that after crashing mbsebbs, RA will see new
netmail again, as if only mbsebbs knows how to handle the
users lastread pointers and fixes them for RA; sigh.
mbfido:
Start working on the netmail tracker/router. It works without
an external routing file, although hosts will need one.
It works on checking known nodes, then nodelists, and then
known nodes again. This is very experimental.
mbsetup:
Changed to the new fidonet structures.
import:
Changed to the new fidonet structures.
general:
Installed at 13-Aug-1998 at the BBS for testing.
v0.19 14-Aug-1998
general:
Wrote some documentation about how to setup the ftp server
so that it works together with MBSE BBS.
mbsebbs:
After download the message "updating download counters" now
will first send a <CR> to overwrite the zmodem init string
on the users screen.
Added structures for bluewave.
Now scans for new files at logon.
Removed global variable sUserName, gave some strange results.
Added logging which msg area was active when a segmentation
fault occurs.
script:
A new subdirectory for /bin/sh scripts. Look out with this
one, if you modify the scripts in ~/etc or ~/bin directly
they will be overwritten with each new install.
mbuseradd:
Add each new user to /etc/ftpusers to prevent them to login
under their own name in the ftp server.
fbgen:
Setting umask to 002.
fileedit:
Removed, was obsolete.
import:
Setting umask to 007.
common.a:
mkdirs now creates directories with permission 0775.
Added dos<->unix filenames translation.
Rewrote tu() and tl() functions.
mbfile:
Setting umask to 002.
Now checks for files on disk, but missing in the fdb. Deletes
them when found (exept some).
Now when packing the fdb records marked for deletion, also
if the file is on disk, it is deleted.
Added some commands to the todo list.
With the check command it now reports the area number to the
mbsed server, so mbmon will display how far it is. This will
also avoid timeouts on large areas.
Now handles multiple commands in one run. Pack will run
automatic if there are files deleted.
mbfido:
Set a semafore "msglink" when the message base is modified.
Added more debug logging for files descriptions.
Implemented dos<->unix filename translation for tic file
forward.
File attaches in .flo files now are DOS filenames and .flo
files are now DOS-compatible.
If there are no more then 2 Long Description lines we asume
that there is a better single (old style) Description line.
There are uplinks that make a mess of these lines.
Netmail forwarding should work now as long as the nodes via
we must route are in our setup.
mbsed:
Added in wait for free the mbindex and mbuser programs.
mbindex:
Written. Heavlily based on Eugene Crosser's ifindex.
mbsetup:
Written the menu editor and removed the old mbconfig program.
Added some editor commands to the user editor.
mbuser:
Now leaves the records alone with the NeverDelete flag set.
mbmsg:
Added logging when a segmentation fault occurs which was the
last message area.
v0.20 24-Aug-1998
common.a:
Moved from mbfido the modules ftn, falists, nlindex and
nodelist to this library. More programs will need it.
mbindex:
Changed some loglevels. Removed the -force switch, compile
is always forced now.
Removed a bug to the path of the index files.
import:
Now using dos2unix pathname translation for fileareas and
mailareas import.
mbfido:
Changed some logging. Removed ftn, falists, nlindex and
nodelist modules, they are now in the common library.
v0.21 25-Aug-1998
mbindex:
Trashed the index files when a new nodelist in the setup
was added. (ifindex did this also). Now it will allways
force to recreate the index files.
Now sends username who started mbindex to mbsed.
mbfido:
Imported files into bbs areas now get filemode 0644 instead
of 0660 so the ftp/www clients will really see them.
Corrected the experimental replace test, could never work.
If after trigger the compile nodelist flag there came in
another file, the flag was reset.
Now sends username who started mbfido to mbsed.
mbsebbs:
Created a language crossreference listing. Corrected some
language numbers.
After changing the language, it is now confirmed in the
new selected language.
When the language file is missing, the error message no longer
comes from the missing language file, now it is hardcoded.
Minimum location length is now adjustable with mbsetup,
changed language prompt 74.
Replaced hardcoded messages in chat with language prompts
59 and 60.
Changed error logging in exitinfo.c
When reading messages the more prompt is now language prompt
61 instead of hardcoded.
Posting messages is now blocked for Noreply boards. Language
prompt 438.
In message readpanel now language prompts 211 and 212 for
Next reply: and Reply to: threads.
In message area select now using prompt 207.
In newmailscan, added prompt 218 and the Quit option.
In message status, added prompt 226.
Readpanel, added prompt 227.
Delete specific message subfunction does work now.
In display file with more, changed prompt 72.
Changed prompts in file.c and filesub.c.
The info screen is 1 character smaller, 79 characters, some
terminal programs did extra line wrapping.
Added new language file format, the datafile now includes
the keys users can press.
Moved the loading of user's preffered language more to the
begin of the login procedure.
When the user is unknown (ordinary BBS account), the newuser
programm is started. If that runs successfull (depends on the
user on-line), mbsebbs will be run again. It's probably wise
to merge these 2 programs.
mbsetup:
Minimum location length installed in menu 1.5
allfiles:
Now sends username who started allfiles to mbsed.
mbfile:
Now sends username who started mbfile to mbsed.
mbmsg:
Now sends username who started mbmsg to mbsed.
mbstat:
Now sends username who started mbstat to mbsed.
mbuser:
Now sends username who started mbuser to mbsed.
Did leave the users.data file owned by root. It is now
set to the owner and group of the "mbse" account.
Added screen output for non-quiet mode.
lang:
Changed to compile new language datafile format, including
the keys a user can press.
newuser:
Added new language file format, the datafile now includes
the keys users can press.
Now always asks Date of Birth, this is necessary for later
checks.
At the end now engages mbsebbs.
mbuseradd:
Now uses the created gid and uid voor changing ownership
of files and directories.
v0.22 06-Sep-1998
mbsetup:
Changed logfile to one master logfile.
Added menus for offline reader.
allfiles:
Changed logfile to one master logfile.
mbsebbs:
Changed logfile to one master logfile.
Started offline reader.
mbfile:
Changed logfile to one master logfile.
Corrected creating full path/filename in pack files.
Added creating and removing symlinks for file requests.
Now deletes files during "kill" instead of only marking.
Simplified log messages.
Added commandline switch "req", this will only check the
file request symlinks.
mbmsg:
Changed logfile to one master logfile.
fbgen:
Changed logfile to one master logfile.
newuser:
Changed logfile to one master logfile.
mbuser:
Changed logfile to one master logfile.
mbstat:
Changed logfile to one master logfile.
mbindex:
Changed logfile to one master logfile.
mbfido:
Changed logfile to one master logfile.
Added creating and deleting of symlinks for file requests.
Files removed from the filedatabase when running "keep files"
are now also removed from disk.
Removed some debug logging for netmail forwarding. It seems
to work.
Replace files now works more or less. Moved the fdb packer.
mbindex:
Only logs crash cause if errorlevel > 0.
Removed some invisible screen output in quiet mode. Cron did
notice this.
lang:
Renamed to mblang, also the source directory is now mblang.
The directory lang will now be used for language sources.
v0.23 20-Sep-1998.
global:
Added #pragma pack(1) to ~/src/include/libs.h so that all
datafiles are now compatible over several hard and software
platforms. I needed this to implement the BlueWave Offline
Reader into the bbs. Increased the QWK tagname field to 20
characters.
mbsebbs:
Made menu execution logging more readable.
If a user has no archiver set, set default to ZIP at logon.
Changed logging in the Download Direct command.
Implemented first raw version of BlueWave Offline Reader.
Needs some security improvements, file requesting, filters
but it works for now.
Checking for a Unix account was done before the password was
checked, so if the password was wrong the user was asked for
a new Unix account again.
mbfido:
For netmail import now searches the netmail area on zone:net
match.
import:
Removed bugs when converting DOS to Unix paths which resulted
in corrupted pathnames.
mbsetup:
Corrected linefeed problem in language doc printing.
Horizontal line drawing now with low-ASCII instead of Alternate
Character Set.
mbmon:
Horizontal line drawing now with low-ASCII instead of Alternate
Character Set.
Corrected a color problem in View BBS Information, and added
display BBS startdate.
v0.24 30-Sep-1998.
structs.h:
New fields in config.data: OLR_MaxMsgs, OLR_NewFileLimit,
OLR_MaxFreq.
New fields in mareas.data: OLR_Default, OLR_Forced.
New fields in ttys.data: honor_zmh.
Added Areafilename field to group records.
mbsebbs:
Combined some functions from offline.c and mail.c into
msgutil.c
Messages posted with a OLR are now counted in the users record.
Closeing the bbs during Zone Mail Hour can now be set for each
individual line.
Now counting and marking the date/time when posting messages
in mareas.data.
mbsetup:
Corrected some sitedoc problems in global setup.
Added sitedoc printing for mail setup.
Added file and mailgroups setup to the nodes setup.
Added newfiles reports setup.
Added filefind areas setup.
mbfile:
Corrected spelling error.
mbaff:
New program. Announce new files and FileFind (Allfix).
mbfido:
In .tic file processing if we were a pointaddress, the path
checking always gave an error. The check of our boss is
skipped now.
The correct .tic area and filedate is now set in the toberep
database.
mbmsg:
Improved initialisation.
v0.25/a 12-Oct-1998.
general:
From now on version numbering will get /a (Alpha), /b (Beta)
and /g (Gamma) release extensions. This is necessary for
live testing at my bbs.
mbfido:
The Cost field in the toberep.data file was not set.
msgbase.a:
Added extra screen output in certain error conditions.
Added a trick to generate a FromAddress from the Msgid
in case there is no FromAddress. This was left blank by
GEcho 1.11+ (DOS).
mbaff:
Added some IsDoing information for the monitor.
Setting ReplyCRC to -1 instead of 0 if it's an original
message.
Minimum searchstring length is now 3 characters (hardcoded).
Added a check to see if there is a FromAddress and a Subject
before a message is added to the scanlist.
mbsebbs:
Corrected spelling error in OLR download logging.
mbsetup:
Changed some page layouts in the sitedocs, added some
forgotten formfeeds.
v0.25/b 14-Oct-1998.
mbfido:
If the tic queue directory didn't exist, it is now created.
Netmail messages now have zone:net aka matching on the
destination and from addresses.
Started with the AreaMgr and FileMgr functions. It can respond
to %help.
Added the notify function.
mbsetup:
When picking a mailgroup in messages setup or a filegroup
in ticsetup, the ftn aka is copied from the group setup as
a default aka for that area.
When setting the area tag and if the OLR tagname is empty, the
area tag is copied there as a default.
v0.26/a 17-Oct-1998.
general:
In some databases in the header there is now a time_t field
added. This is to mark the last statistics counters rollover.
Programs that count statistics must perform an rollover when
it's run on a new day, week or month.
warning:
To upgrade the databases, enter the setup for message areas,
tic areas, nodes, file groups and message groups and save
the databases.
mbfido:
Implemented new statistic counters.
Implemented rollover of the statistic counters every week and
new month.
Changed program locking, now it locks the whole program in
stead of short moments.
mbsebbs:
Implemented new statistic counters.
mbaff:
It now counts the posted messages in the message area.
Corrected the announce message text.
v0.26/b 20-Oct-1998
mbsetup:
Wrote the hatch manager. All basic functions are present now.
All databases that can be packed after deleting records can
do this now. During update those databases area sorted. This
is not for the message areas, files areas and the userbase.
These files may not be packed.
v0.27/a 29-Oct-1998
general:
Changed the database format for the files. Added support for
long filenames. The .tic file area is also stored in the
records to make the rescan function work later.
The files database must be rebuild for this release!!!
The BBS and the rest of the programs now use different
loglevels.
Changed the sourcefile distribution name to mbseN_NN.tgz.
upgrade:
Delete all file databases!
mbsetup 1-5-20: set utils loglevel.
run mbfile check -debug to fix the files references.
dbase.a:
Functions added to connect and disconnect nodes from echimail
and file areas.
Now marking the nodes record invalid after update. This should
prevent corrupting the nodes.data file from now on.
common.a:
Added a function to convert ifcico addresses to internal fido
addresses.
Removed a pointer bug in the aka2str function.
mbfido:
Added most AreaMgr and FileMgr functions. Needs a lot of
code cleanup but most things work for now.
Now imports the TIC area name in the filedatabase. This can
later be used for %resend <area> requests.
The long filename field is filled with the dos filename for the
time being.
v0.27/b 04-Nov-1998
general:
Changed the top Makefile, it "forgot" the script directory.
This release adds nodelist diff processing and hatching of
new files, for example the nodelist you just created.
Switched to compiling with ndbm.h, this is now default
because the nodelist can now be opened by several programs
at the same time (for reading). Support for dbm.h will be
dropped, it gives trouble and cannot be used on a multiline
system.
Created the semafore.doc document for semafore handling.
common.a:
Added the semafore functions.
import:
Implemented long filenames on files database import.
mbfido:
Changed the way of counting FILE_ID.DIZ lines in archives.
Made macro's in tic processing case insensitive.
Implemeted automatic hatching of files.
Creates the "mbindex" semafore when new nodelists have been
put in place.
mbuseradd:
Changed the contents of users .profile to:
. $MBSE_ROOT/etc/profile
The file $MBSE_ROOT/etc/profile contains the global startup
commands for normal bbs users.
mbsebbs:
Changed debug logging of DisplayFile function.
Logs the tty line comment after the username at login.
Linked with the new common/semafore functions.
mbdiff:
New program. Nodelist diff processor. Creates the "mailin"
semafore when it created a zipped nodelist.
mbsetup:
Added tic echo group pick in hatch and magic setup.
Removed setup of semafore path's, they are now hardcoded.
mbcico:
A quick hack of Eugene G. Crosser's ifcico. At this time
only the logging functions using mbsed are implemented.
It needs ~/etc/mbcico.conf for configuration together with
the standard database configuration. In time, the mbcico.conf
file will not be needed anymore. For testing in this release
it does the job.
mbaff:
Linked with the new common/semafore functions.
Creates also the msglink semafore when mail is written.
mbindex:
Removes the "mbindex" semafore when the nodelists are
successfull compiled. During compiling it places the
"compiling" semafore.
mbmsg:
Removes the "msglink" semafore when the messagebases are
linked.
mbstat:
Now maintains the semafore's "bbsopen", "bbsclosed", "zmh" and
"scanout" according to semafore.doc. You must schedule
"mbstat check" in the crontan at the start op ZMH and end of
ZMH both on summer and wintertime. If you did configure the
ZMH right in UTC in $MBSE_ROOT/etc/mbsed.conf this will work
if you did setup your timezone correctly.
v0.28/a 18-Nov-1998.
general:
Modified the structs files to add a database for modems,
changed the tty database to link it with the modems, added
fields in the nodes database for the mailer, added fields
in the global config file to add setup for the mailer.
Dropped nodelist V21 flag, added V32T and VFC flags. The
U flags for modem capabilities must be implemented somehow.
upgrade:
To upgrade, enter the global setup and leave it, say yes to
save changes. Enter the nodes setup, enter one of the nodes
record, exit and save changes. Setup the modems database.
Enter the tty ports setup, link the modems to the POTS and
ISDN lines and save it.
common.a:
In crc added crc16ccitt functions.
In clcomm the function IsDoing(char *) now accepts formatted
parameters.
Added function SetTTY(char *).
Added debug logging of nodelist flags.
Changed the way the nodelist flags are parsed, sometimes
U flags became standard flags, and standard flags became U
flags. 'U' became a flag also.
Moved some common files from mbcico and mbfido into the
library.
mbsetup:
Changed the lineeditor to accept the comma character.
Added modem setup, changed tty lines setup to pick a modem.
Changed nodes setup, finally added the statistics screen.
Changed fidonet setup, first zone is now called "primary zone"
mbfido:
Added IsDoing info during date rollover.
Removed a bug causing a segmentation fault when a mail packet
had an error.
Removed check that incoming packets must come from a node in
our setup. All received mail packets are now processed.
Echomail must still come from nodes in our setup, the rest goes
to /dev/null
Moved some sources to the common library.
In forward() changed the uppercase functions for the subject
line. The original filename became uppercase also.
Corrected debug logging for packet date, the month was 0-11 in
stead of 1-12.
Added logging for ftsc product name and version.
mbcico:
Added some EMSI extra logging.
Added more IsDoing info for mbmon.
Corrected the Makefile after testinstall on the live bbs.
Changed the order of the EMSI data to send to the remote
party to be more standard. McMail (maybe others too) didn't
recognize all options send too early.
Added EMSI logging for 'link', 'comp' and 'tranx'.
Moved some sources to the common library.
Completely rewritten the chat module. Everything received
from the modem is now logged. Because all modem responses
including echo from commands, are now logged, the aftercall
function (get modem aftercall or caller id), will go to the
logfile as well. (not tested, I have no CLIP capable modem).
Added patches from ifcico-3.0.cm.alpha-4.0 to filelist.c,
this should better handle files sent/notsent in failed
sessions.
Added counters for sent and received bytes.
Completely rewritten the scanout function. It now searches
only in the outbound directories defined in the setup.
In the fidonet networks of the setup the first defined zone
is the default zone for that domain. Other zones get a hex
extensions with zone number.
Scanning mail for the CallAll option now selects outside ZMH
only crash mail, during ZMH crash and normal mail. Logging
of selecting mail is improved.
When calling a node is failed for 30 attempts, the node will
not be called anymore. If the problem if corrected you now
must manually edit the .sts file or delete it to call that
node again. (Option for the future outbound manager). I think
that sessions errors do this after 3 attempts.
When calling a node, mbcico more ore less automatic selects
a tty with modem that matches the nodelist entries of the
node to call. ISDN is not yet supported. Also a best speed
test must set priority of ports to use.
mbmsg:
Supressed error message if there was no semafore "msglink"
to remove.
mbsed:
Added command SZMH, requesting Zone Mail Hour status.
Added command ATTY, setting a new tty port.
mbdiff:
Removed some unnecessary debug log information. This program
seems to work fine now. (Wow, only needed 2 releases for
this one).
v0.28/b 09-Dec-1998
general:
Added structure for the mailer history file.
mbaff:
Removed some debugging logmessages.
mbsebbs:
Removed some debugging logmessages for newmail scan.
Removed some debugging logmessages from timer functions.
mbmsg:
Added program info logline.
mbcico:
Added monitor info during FTS-0001 sessions.
mbout:
New program, the Outbound Manager, many ideas stolen from other
programs of the ifmail package.
v0.29/a 11-Dec-1998
common.a:
Opening of nodelists is now logged at debug level.
Added .pol files to pktname.c
Moved attach.c from mbfido to common library.
Nodelock now tests for own locks, if so, no error is given.
mbfido:
Worked on the uppercase bug again. It will only happen when
we must forward a file.
Moved attach.c to the common library.
mbout:
Implemented file requests.
Implemented creating and removing of .pol files to make and
remove polls.
mbcico:
Calls nodes when .pol file is present.
Made file requests working again, the .req files where not
added to the filelist to send.
When reading node options the NoEMSI and NoWazoo flags weren't
copied to the options.
Corrected a bug in yoohoo.c where it didn't initialize
remote->addr->name to NULL in checkhello(), this caused
a segmentation error and failing Yoohoo/2U2 sessions. Note
that this error is in ifcico as well.
Over TCP/IP with ifcico as other mailer EMSI, Yoohoo/2U2 and
FTS-0001 in- and outbound sessions are working. For other
mailers we will see if it will work in real live.
v0.29/b 17-Dec-1998.
general:
Installed 0.29/alpha on the bbs.
Installed usleep() code in some utils. See usleep.doc for
details.
Changed the nodelist flag definitions to prevent conflicts
with system macro's.
common.a:
Locking and unlocking nodes gives better error logging. It
now also checks our own pid if the lock was already made
instead of complaining.
mbfido:
Removed some bugs in logging in magic.c
Changed FILE_ID.DIZ file checking for empty lines.
Now always marks a file announced when importing into the bbs.
Added code to prevent terminal output in quiet mode.
Added usleep() code in statistics rollover.
Added usleep() code in importmsg. (sleep each message).
Added usleep() code in LoadTic. (sleep each .tic file).
Added usleep() code in scan for mail.
Removed error message when "mailout" semafore didn't exist
in scan for mail.
mbcico:
During outbound EMSI session we send the NRQ option flag,
requests on hold for us are not allowed when we callout.
When calling a node the first thing now is lock the node
to prevent further checking if the node is already locked.
Putstatus is logged for studying status updates.
Experimental status resetting of all nodes after successfull
session.
mball:
Renamed from allfiles.
Now creates allfiles and newfiles reports. Honors maximum
security level to include in the lists (no flags yet).
Optional parameter -zip will create allfiles.zip and
newfiles.zip.
Installed usleep() code.
It is finished.
mbout:
No more error message when a file attach in a .flo file is
nolonger on disk. This can happen if nodes don't poll often
enough.
mbmsg:
Installed usleep() code.
Removed color code output when in quiet mode.
mbaff:
Installed usleep() code.
Now marks the file announced after scanning the bbs for
uploads.
mbfile:
Added the usleep() code.
Added some code to lower the disk i/o.
mbstat:
Now logs status of ZMH with the "check" command.
mbuseradd:
Added a check to see if the "shadow password suite" is
installed. It is absolutely necessary to have this.
If /etc/login.defs is present, the useradd program gets an
extra parameter "-M", to override the creating of the users
home directory. (Found on Redhat 5.1).
Added an extra check if reading the /etc/passwd file failed.
Added newline characters after some error messages.
v0.29/b2 24-Dec-1998
general:
Added modem.stripdash and ttyinfo.portspeed in structs.h
common.a:
Changed logging functions in clcomm.c, repeated messages are
now counted and reported how many there were. A full filesystem
will hopefully not happen anymore.
Added the Nopper function, this one can be called often but
only once a minute a NOP is send to the server to prevent a
timeout disconnect.
mbcico:
Removed some debugging logs. Added some return codes from the
tty drivers in zmodem send and receive. (removed later, it
didn't work).
Added Nopper code in file transfer protocols.
mbout:
When creating a poll the node's status record is reset, so if
the node was undiable, it will start polling again. This will
not happen for sessions handshake errors and port errors.
mbsetup:
In edit tty added edit portspeed.
In edit modem added edit stripdash.
mbsed:
Corrected ZMH status response.
mbstat:
Corrected ZMH status check.
v0.29/b3 28-Dec-1998.
mbcico:
Inserted new ttyio code from the German version made by
P. Saratxaga and T. Tanaka. I hope the Zmodem problems will
now be solved.
Added Hydra filetransfer protocol.
Removed Janus, it wasn't implemented anyway.
Corrected modem init routine.
Implemented aftercall function.
mbsetup:
Removed setup to disable Janus protocol.
v0.29/b4 29-Dec-1998.
general:
Changed the Makefiles. Now only in ~/src/CONFIG you can place
extra defines.
Added compile switches -Wshadow -Wwrite-strings
-Wstrict-prototypes. This gave a lot of code cleanup, maybe some
strange errors are gone.
common.a:
Corrected the repeative log counter.
Included in nlindex.c HAS_BSD_DB
mbcico:
Improved ttyio logging, maybe we can better see what is going
wrong when transfering files.
EMSI compatibility protocol now gives Hydra first, then Direct
Zap.
Added file transfer counters to Hydra. Changed Hydra logging
a bit.
mbindex:
Changed nodebld.c to inlcude HAS_BSD_DB
mbuser:
Did some screen output when it was in quiet moded.