Orion CBCS/2

*****************************************************************************

DisClaimer:

1> This software is *FREE*Ware and as such I assume no responsibility
   for ANYthing that it may or may not do, by running this software
   you agree to free me from any kind of liabilty whatsoever resulting
   from damages or losses incurred by running this software. I have tried
   to make it as bugfree and foolproof as possible, but remember the source
   code is not all mine (or I would release it to the public domain) so
   I cannot accept any responsibility for any damages. I will try to do my
   best to fix reproducible bugs as they are reported, but I work on this hobby
   in my spare time so don't get mad if the bug does not get fixed right away.

3> That said, updates can be had at ftp to dogstar.bbs.dyndns.com
   or via telnet to the bbs at the same address or http for that matter.
   \Orion_CBCS_Updates   is the directory name they will be placed in.
   Orionfull.zip is for first time installs, the updates are called
   Orion331.zip for version 3.31 update etc....
   I have also started uploading updates to http://hobbes.nmsu.edu/incoming
   as I release them, so those of u who subscribe to the os2 mailing list will
   get automatic notification of updates.

4> email me at mariod@ican.net
5> ftp/telnet or http://dogstar.bbs.dyndns.com



******************************************************************************
4.1k
1> Cleaned up the local bbs windows display code, should support all (maybe)
   video adapters currently in use out there, there was a problem with some cirrus and trident
   boards displaying transparent screens for local bbs windows, if this happens
   to you please try vanilla vga and if the problem goes away, let me know who makes
   your board and what res your running it at. The local windows are vio windows
   so should be compatible with virtually all modes down to cga.
2> GioMt.Dll has been cleaned up, speeded up, and streamlined, more to do on this one
   later, but for now it's functional, and hopefully trap free. (Limited testing
   indicates it's good)
3> Rememeber if yur upgrading from a version prior to 4.0i u *MUST* start with a fresh
   userbase, ie del the users file and users.name.index file.
4> This build requires U delete all *.bin files in your .\menus dir, Orion will
   recreate them in the new format as they are accessed, after that it's normal
   operation.
5> Removed WIP support, nobody ever used it and it just took up space.
6> For those of you lucky enough to still be using com.sys/vcom.sys this build works
   very well with it, note u *MUST* unlock your modems if your running USR modems
   since Com/Vcom do not support modem locking, but strangely enough thru put seems
   unaffected by this step (here) your mileage may vary.
7> I *KILLED* erx support, more high maintenace, minimal benefit code so i removed it
   entirely, if you try running an erx file now you'll log an error thats all.
8> In this archive are two versions of cserver, the once called CserverOld.exe
   is the traditional old cserver you know and love (yeah right), the other is
   called Cserver.Exe, now this one will automatically configure your loopback
   in case you forgto and will then startup cserver. U wont see anything cause
   theres no user interaction, it just runs, wont even appear in your window
   list, process listers like go tho will show it as an active task and it can be
   killed just like any other task. I would place this in startup.cmd so u dont
   forget to run it. Now a word about loopbacks, the old standby 127.0.0.1 is
   oft used by isps for testing and what not, now while this address should
   never appear on the net try doing an nslookup on dogstar.bbs sometime, somebody
   out there is breadcasting 127.0.0.1 out onto the world wide web, so to keep
   outside interference to a minimum i chose 12.26.82.10 as my loopback address
   for orion and cserver to use, if u reconfigure yur loopback yull lose yur cserver.
   Of course those of you who don't use chat should start with the /NOCHAT switch
   in your orion command line.

4.0i
1> Cleaned up some more useless code.
2> Made some more changes to the userbase, requires u wipe yur userbase (yet again)
   and have your users log in as new. (Upgrades only, full installs will have
   no troubles).
3> Recompiled from scratch.
4> Fixed some entry field codes.
5> Fixed the cold input routines. (they were not really working Properly, they
   are now).
6> ...

4.0f
1> Cleaned up some memory allocation code.
2> Removed some usesless (buggy) code, not needed.
3> Cleaned up *ALL* warnings, it now compiles without complaint.
4> Cleaned up the rexx engine somewhat, more useless (buggy) code in there too.
5> Recompiled from scratch.
6> Looking for anybody with a VAC++ compiler to do some compiling for me, they
   linked one of the bloody dll's to ibag in vac and watcom as far as I know
   does not support that, (If i'm wrong PLEASE email me how to compile this sucker)
   so I need help with this dll, it's in c++. I'll supply the code, all u have to do
   is produce a dll for me (os2 flavor) that I can distribute. Any and all help
   greatly appreciated.

4.0d
1> Minor Cleanup, recompile from scratch. Both rexx and Orion, BTW I'm
   now running from an \orion home directory as it says in the full
   distribution readme.txt, if u have any srx files that reference \adept
   just change em to \orion or whatever, orion does not care what it's home
   directory is called, but some of your existing support files may be
   brain dead and looking for \adept (why??? no reason far as i can tell)
   so just thought I would share that.

4.0c
1> Forgot to mention something very important, version 4.xx *REQUIRES* you
   to delete Users and User.name.index and let orion recreate them from
   scratch, the structures have changed and it is not backwards compatible.
   This means all users must logon as new users once again, sorry but this
   is the way it is...
2> Did some work on some of the memory allocations sizes, relaxed some of
   the tightness.

4.0b
1> Found several bugs in Cserver, if your gonna use chatserver these days
   you must set a loopback to address 12.26.82.10 ie ifconfig lo 12.26.82.10
   if your'e not gonna use chat be sure to start orion with the /NOCHAT
   switch on the command line or your users will face lengthy delays at login
   while Orion times out trying to connect them to a non existant chatserver.
2> Reworked the config files, you *MUST* delete and recreate your linex and bbs
   _configuration files, don't forget about local_configuration file too.
3> Found and closed a back door into orion/adept that has been there since
   the days adept was a commercial product, dunno if the authors knew bout
   it or not but this version is secure as far as i can tell, I promise you
   I will never program a back door into orion (knowningly that is) and if I
   unknowningly do it I expect you the users to do the right thing and notify
   me at once about it.


3.36c
1> Found a major nasty that would trap Orion if u toggled DTR while a user
   was downloading files in a native telnet session, fixed it and did some
   other cleanup while i was at it.
2> The ftp server will no longer trap orion on shutdown.
3> Would like to report that Ray Gwinns SIO Version 2 and it's Vmodem work
   just DANDY with orion, I'm running it here and beleive me it's worth
   every penny of my pre-registration money even in it's beta state. See
   http://gwinn.com for the latest archive.
4> I feel I must make a clean break with AdeptXbbs, future builds of Orion
   will Likely not include features added to adept after 1.11x and vice
   versa adept will not have my code incorporated into it. If I feel a feature
   is worth putting in I'll see what I can do, as I'm sure Nitin Chandra will
   do for adeptx.


3.36b
1> More minor changes and cleanup.
2> Came up with a workaround to that rexx problem, (I think this is IBM's problem)
   not ours, anyway instead of using Address Cmd SomeOs2Command, use
   Start SomeOs2Command
   Call SysSleep(5)
   or however many seconds u think your command will take to execute to completion
   and this will prevent the hung nodes problem caused by rexx scripts using
   Address CMD statements. Works here, should work everywhere, even in ahem... AdeptXbbs.


3.36a
1> Made a few internal changes, this requires u do an orion /nodes x /setup to
   use this version, fire it up in setup mode and edit the mailer general settings
   screen for each line, it should be obvious what needs fixing and what does not.
   Shut it down and fire it up normally and u should be in business.

3.35h
1> Fixed the ftp problem, it now transfers files correctly.
2> Recompiled all support files from scratch.
3> General cleanup of some stuff.



3.35g
1> Fixed the cserver problem, it now works properly.

3.35f
1> Fixed that rexx problem with menutype 20, it now works as advertised.
2> Fixed a problem where usenet messages would not be exported by fastecho
   or squishp (I hope) BK this needs some testing.
3> Fixed a possible problem in the new chatserver if a user hung up in a certain
   spot, cpu load would jump to 100%. This should now not happen no matter where
   he drops carrier.
4> Including my e-mail address for feedback if your so inclined, don't get upset
   if you don't get a reply...
   e-mail to mariod@ican.net
5> Theres still a problem with rexx where if a node is in a dos door and another
   node executes an os/2 command from a rexx script it hangs that node till the
   other logs off, a workaround is to enable bbswatcher threads in action flags
   this will recycle the node after the user hangs up in disgust...
6> Made a change to try to prevent nntp dupes when exporting nntp to echo areas,
   BK this needs your testing...
7> Made a change to the menudrvr, should be more stable now even when called from
   rexx functions.

3.35c
1> Did some more work on rexx functions, there remains an obscure problem
  where menutype 20 traps in show message header if called from a rexx script,
  still looking at that one, other types appear to be fine.
2> I'm having a problem with cserver, everything appears to be functioning
   properly, but no chat takes place, it may or may not work for you, if it
   does not work, try the cserver out of the adept distribution archive, it
   may work better...

3.35

1> Added a new feature, if u address a message to **All, it will automatically
   go to every user in your user base. When any user in the user base logs on
   he will have a new mail waiting for him, and when he reads it it will be
   addressed to him personally, users can also post messages to **All (i was
   of two minds about this) and have the message seen by everybody. Xmsg correctly
   supports this feature to (new xmsg included in the update archive and full
   install archive). Oh it has to be in a PRIVATE message area for it to work.
2> Fixed a nuisance trap in adeptrexx library, having to do with memory allocation.


3.34
1> New OrionFtp.Dll, fixes the crashing on disconnect during file xfer problems


3.33
1> New Xmsg.exe, this one has the ability to gate echo messages into Orions
   NNTP engine for posting to usenet. Note this works for SQUISH areas only.
   So u define yur usenet areas as squish areas, scan em to your downlinks
   with fastecho or squishp or whatever, then after u toss incoming mail,
   invoke XMSG -W, this will take all newly arrived messages and post them
   to NNTP, then next time Orion polls the server, the messages will be posted
   to the appropriate groups.
2> Fixed a nasty bug that would hang the desktop on a newuser logon occasionally.
3> Fixed the nasty adeptrexx script hanging a node when address cmd statemnts
   were used, now instead of using ADDRESS CMD "Some OS2 Command" use
   rc = "Some OS2 Command" and your golden. This applies to all adeptrexx scripts.
   Typical hangs were in atend.cmd scripts, look for address cmd statments, put this
   exe in place and your hanging nodes should dissapear, they did here.
4> There is a known problem with orionftp, if a user logs on starts a transfer
   then kills his client during the transfer, orion will shut down, no trap.log,
   no popuplog.os2, it just dissapears, a normal abort is fine, just killing the
   client during a transfer kills orion for some reason, I'm still working on this one
   so u may or may not want to use ftp in the meantime, but at least you know
   about it now.

3.31
1> We now have a working ftp server, simply place OrionFtp.Dll in yur \Orion dir
   and enable ftp server in bbs action flags, your file areas are now available for ftp
   anonymous login or username login, all file restrictions apply.
   I have tested it with os/2 command line ftp (works perfectly) netscape (works
   if u rememeber to put the / after directory names) and with gibbon ftp (works
   as expected.) Other clients may or may not work.
2> Fixed a small DTR problem when hanging up the modem on an offhook shutdown.


3.30
1> Fixed a trap condition in startup related to loading addresses for each line.
2> Made the msg and file area loading routine more friendly to the cpu, startup
   with 10000 areas defined takes about 30 seconds to complete now. Be Patient.
3> Fixed a problem in file uploading entering descriptions, this was self inflicted
   but i never noticed as i don't allow uploads here, neway its fixed.
4> Corrected the slow userlist building problem in useredit.
5> Fixed a problem in Cserver's display

3.28
1> Fixed a trap in the new display code if there was no event file defined or
   loaded, orion would trap, now it does not.

3.27
1> Added a display of time of mext event to the Current field of the
   status window displays.

3.25
1> Fixed a transient logoff induced trap.

3.24

1> Added a "What area to start at" prompt to the list message areas function,
   on a system with lots of areas, it was tedious having to restart at 1 all the
   time. This way a user can interrupt the list and restart where he left off
   or jump to a location near the end of the message areas. When he hits ? at
   the prompt to list areas, he will be prompted for a name or number, simply
   hitting enter lists starting at 1. Note this function respects the users
   set preferences for message areas, if the start area is not in his preferences
   it won't list anything.
2> Added Trashcan2 and trashcan2.asc/ans/avt to the system, trashcan2 if it exists
   in the system directory will be checked before saving a message entered with
   the full screen or line editors. If a match is found trashcan2.a?? is displayed,
   the users time used for today is maxed out and he is then disconnected.
   Search algorithm is the same as that used by trashcan logic, so check the docs
   to refresh your memory if u want to use this feature.
3> Recompiled with a bigger default bbs stack.




3.22
1> FINALLY!!! this squish msg dates business is put to bed, no more funky dates
   in max from orion generated messages, and vice versa. This should fix the
   nntp bad dates when reading from an offline reader the areas written by
   orion too. I successfully share message bases between my orion setup and a
   test maximus setup and everybody is happy, I regularly toss 5000 messages
   a day into my echo areas with squishp, and again everybodys happy, I import
   nntp (a few areas) into my squish base and everybodys happy. I run sqpack
   nightly and again, no probs. Fleetstreet is happy too.
2> Ground up compile.

3.20
1> Fixed a bug in nntp importing to squish message areas, the signature (squish)
   was not being written correctly.
2> Made a small change in the date routine for the above function too. Hopefully
   now offline readers wont have the date field screwed up in their display.
3> Fixed a problem where e-mail messages were not having the read bit set if
   the area was a squish base. PMIIndex would find the same message over and over
   even if it had been read by the addressee.
4> Fixed a problem with squish message bases, Max now has NO problems with
   Orion created bases, cept max displays the date differently somehow, don't
   know why since it's stored as a utc date entry, but orion has a prob with
   max generated dates too so i need to figure this out yet, but it's working
   cleanly in all other respects, max/orion can share squish bases if u like.


3.19
1> Worked on squish some more, it's now possible to see the hidden kludge lines
   from adepts reader via the @ key just like in adepts message base format.
2> Added a PID: to all messages written in adepts editor.

3.18
1> Fresh compile
2> New Xmsg.exe, loads the areas file for message base 40 times faster, this
   cuts run time down a lot, especially if u have 10000 areas to load like i do.
   It was also loading it twice if u specified just the -z switch (pmi's only run)
   now it avoids the double load if just pmi is selected.

3.17
1> Fixed a problem where Orion could not read a squish base freshly created
   by squishp or fastecho, it now reads them fine.
2> Recompiled from scratch.

3.15
1> Fixed the offline mail traps, instead of simply letting it trap and log
   an error message in the trap.log, it now handles a logoff without
   generating an error or trap.
2> Worked on the callerlog function, its now possible to see *ALL* the callers,
   a page at a time, instead of just the last 18 to the system, the nonstop
   function will scroll the whole file if requested.
3> Added a total calls for the day display to Callerlog, it now displays totall
   calls for each day at the end of the days display..


3.14
1> Changed the names of the cfg files from Adept.Ini to Orion.Ini and from
   NC_Colors.Ini to MD_Colors.Ini, rename or copy those two files if you want
   to use your existing colors and positions, otherwise defaults will be created
   that you can customize to your liking.
2> Corrected a problem in offline mail exporting, if a user selected all
   message areas with monitor processing turned off then started a download
   and then logged off before downloading the mail, Orion would trap, now it
   just logs an excpetion and carries on.

3.12
1> Worked on the adjust message/adjust file areas options.
2> Worked on BK's call comes in, orion calls back out after call is complete
   problem. Needs testing...
3> LxLited all the dll's, they are included in this archive, BACKUP yur existing
   dll's first. They work ok here but u never know...

3.11
1> Fixed a problem in the telnet client where some characters were being missed
   if used from a local login, remotes logins worked fine. Locals tho were
   screwed up.
2> Changed the escape character to end a telnet or socket session from ~ to
   control x (note this is for the local login only) since some people may want to
   send a ~ character during a session.

3.10
1> Added default port to the telnet client, user can now just hit enter
   for default port of 23.

3.09
1> Squish pmi's work properly now.
2> Removed userbase flush code and uses Nitins usersrvr.dll (included in this
   archive) which has that code in it.
3> Lxlited the exe, cuts the file size in half.
4> Recompiled from scratch.


3.08
1> Attempted to make orion ( and xmsg) support the msgread bit flag in squish
   msg bases, I need U bk to test this out, see if the pmi make works any better
   now when running xmsg and uve read a message in orion... lemme know...
2> Fixed the broken {ZZ meta variable, should work as before now instead of
   coming up unknown meta variable....
3> More work on squish PMI's, new xmsg in this archive.. and orion now *should*
   properly support the message read bits in squish bases... BK lemme know..



3.07
1> Did some more work on the new chat server/client arrangement.
2> Adjusted the time slicing a bit, it's friendlier than ever now.
3> Changed the /Invite function in the new chat a bit, it now prompts for a
   node number to send the invitation to.
4> Recompiled from scratch.
5> New Xmsg that properly updates PMI index for squish bases as well as the
   regular adept style bases. It does both in one run, one after the other
   so u can mix msg base styles if u like.
6> Made it even friendlier, Orion with 8 lines waiting for call now consumes
   approx 1% cpu time as measured by topcpu monitor.

3.06
1> Added the who's on line display to the new chatserver/client, who's online is
   invoked by typing /o
2> Added invite another node to the chat lounge function to the new chat
   server/client. This is invoked by /#  this would invite node # to the chat
   lounge. IE /2 would send the invite to node 2. Note there is *SOME* protection
   to ensure an invite is not sent
   to a user downloading a file or off-line mail, seems to work but well have to see.


3.05 update
1> Added menu type 937, what this does is use os2chat3.zip files as the chat server
   basically a replacement chat system. Be sure to unzip os2chat3.zip into a directory
   somewhere, edit the os2chat.pwd file to change the default passwords, then in
   that dir type runchat and your new chat system will be on the air.
   There is documentation included with the chat server, be sure to have a look
   at it. The old cserver is still there of course, but this gives an alternative
   system.
2> Made it possible to use the telnet client and socket client from a local
   login, it will now function as if u were using it from a remote login, with
   one important exception, to exit u must hit ~   which will terminate the
   telnet or socket linkup. This ~ escape mechanism is required since there is
   no carrier detection on a local login.
3> Finished the AdeptxBBS to Orion naming changes, I think I got em all and
   changed gatekpr and xmsg to be consistent too (included in this archive)
   lemme know if I missed anyplace.

3.04
1> Added a "You are out of time, would u like to withdraw from the bank [y/N]"
   prompt to the login sequence *IF* a user is outta time for the day *AND*
   they have time in the bank, otherwise they get kicked as before.
2> Complete Recompile
3> Included a new language.text to reflect the name change in all the
   strings and prompts.

3.03
1> Changed the name to Orion.Exe and the wav file it plays to Orion.Wav,
   a sample is included in this archive, just place it in the same dir
   u start Orion from.
2> Orion now consumes just 2% of the cpu with 8 nodes waiting for call, a side
   effect of this is it can take up to 2 rings before adept answers a call
   even if u have answer on ring 1 set. No biggie as far as i'm concerened.
3> Recompiled the whole shebang with different options.


3.02
1> Changed the name to Orion CBCS/2
2> New Cserver.Exe Included in this archive, logging is now controlled by
   /Log on the command line, default is logging off, /Log turns it on, default
   logfile is cserver.log in the dir cserver is started from.
3> Added NotValid.Asc, this file will be shown when the user hits a key thats
   not a valid menu item, if the file does not exist the menu will simply be
   redisplayed on an invalid entry.
4> Fixed the at end watcher thread, it was sometimes killing off Atend.cmd
   before it had a chance to complete


3.01
1> Added a display file called NotEnabled.Asc if Portflags for a menu item
   are set to 4, this file will be shown to the user and that menu item
   will not be executed.
3.00
1> Expanded the name field of the telnet client option to 50 chars.
2> Implemented a socket client, menu type 936, works same as for telnet
   client but inititates a socket connection stead of a telnet connection.
   NOTE: Both these clients require an active connection (modem/telnet) to link
   to, so these two menu types will not work over a local login. Telnet in or
   call in to test em out.. they will work with the local loopback too, so u
   can telnet/socket connect to yerself...


2.99
1> Fixed a problem in internode chats private messages were not working.
2> Fixed and implemented Nitin's Telnet Client Code, menu type 935 now
   activates the built in telnet client, it will prompt the user for an address
   and port number, then try to establish a telnet session with that address
   and port, if successfull, the user is connected and in a regular telnet session.
   if it cant connect or times out, it returns the user to the menu that called
   the type 935.

2.97
1> Recompiled cserver
2> ReCompiled Avi.Dll
3> Recompiled GIOmt.dll
4> ReCompiled Adeptx and AdeptRexx
5> Fixed a bug i introduced in the time per day calcs while fixing the
   time used today set to greater than time allowed per day function.
   This can no longer happen, even if they use the time bank.

2.96
1> Did a little work on the prompts subsystem.

2.95
1> Added a Kill Session to the Line popup menu on the adet status screen, the
   way this works is it sets the users logoff time to *NOW*, adept sees that
   and logs the user off. Great for line 0 where toggling dtr does nothing.
2> Enabled BBSWatch threads for line 0 now too, used in conjunction with the
   above feature, u can now have a line 0 bbs session with a hung rexx script
   be autokilled instead of having to shut adept down to recover. Simply
   click on Kill Session for the local login and the bbswatch thread will
   kick in and kill the hung bbs session, (Can take a few minutes) and let
   it cycle back to waiting for caller.
   I did this cause I'm always testing adeptrexx scripts on the local login
   and have many many times hung the local session, requiring a shutdown
   to recover from it. Hopefully those days are gone for good...

2.94a update
1> Fixed the broken sysop chat
2> New Avi.Dll cause I got a trap with the old one.
3> Removed a lot of kludges I had put in for the 107f giomt.dll.

2.94
1> Incresed the stack space for mailer and bbs threads to a accomodate a change i made
   earlier, 2.93 would trap out on startup with stack overflow cause of that change,
   fixed in this build.
   Recompiled from scratch, both adeptx and adeptrexx.

2.93
1> Possibily fixed those locked files, has not happened here since putting this build
   in place. Lets see.

2> Added GioMTErr.Log file logging to giomt.dll, lets see if this helps track
   down some of those obscure traps in GioMT.Dll.

3> Added the chatlog (Cserver.Log) back into cserver.exe


2.91
1> Did some more work on the locked files thing.
2> Made a change to user timebank withdrawl routines.
3> Made a change to name entries on log on, should not be any functional
   differences.. so far so good..


2.90
1> Had those locked files again, I'm beginning to suspect it's an os/2 problem
   since this time popuplog.os2 was locked too, and I know adept does not
   touch that file in any way shape or form, that file belongs to os/2.
   Recompiled from scratch with a couple different compile time options, Avi
   too, so lets see how it goes this time.
2> New cserver.exe in this archive, another attempt at curing those phantom
   chat sessions in cserver.
3> New GioMT.dll too.

2.89c update
1> Fixed a problem I introduced into srif processing, where the cmd was being
   ignored. It now properly processes the command.
2> Fixed a mite (long standing) in the request session logging, the logfile
   had an anomaly in it, it's now correctly logged.

2.89b update
1> fixed a problem with the portflags keyword in menuitems, if a port was telnet
   and u restricted a menuitem to comm ports only, it was not being honored,
   now it is.

2.89a
1> More work on those locked files symptoms.
2> Got a trap in the menu driver, did a bit of work there, hopefully no more
   menu driver traps.
3> External sessions revisited, in hopes of clearing up those locked files.
   This is a shot in the dark, just in case it's related.
4> Fixed a prob in the user handle setting routines, it was allowing way more
   chars than the field holds.
5> Worked on the who's online routines and associated meta convert routines
   basically looking for overwrites, didn't find any but expanded the fields
   just in case.
6> Fixed that quirk in GioMt.dll re starting adept before cserver, now it does
   not matter which u start first. Works either way now.


2.89
1> Fixed a trap in smtp email entry code, if a user filled in the entire To:
   field and hit enter, Adept would trap. This is corrected now.

2.88b
1> One quirk about this new GioMt.Dll, I've found that it traps on completion
   of an inbound mail run *IF* u started chatserver first. If u start Adept
   first, then start chatserver, this problem goes away. The trap is in the c runtime
   code, so i'm not sure if it's a watcom compiler thing or what, but for now
   start adept before u start cserver, and all should be well.

2.88a
1> A new giomt.dll, the other would trap whenever a user attemted to telnet
   out of adept using the telnet script. This one fixes that.

2.88
1> Another attempt at solving locked files problem.
2> A freshly compiled GioMt.Dll, this is my first compile of gio here since
   getting the source code, seems to be working ok here, at least if this one
   traps, I may be able to do something about it.
3> A newly compiled Avi.Dll too, trying a few different compile time options.
   Seems to be working ok so far here too.
4> A newly compiled cserver.exe too, again, different options used at compile
   time. Looks good so far too.
5> You should use all the dll's and exe's out of this archive, after backing
   up your working setup, and please send me any traps u may get. Thanks...

2.87
1> I'm still getting locked asc/ans and menu files occasionally, this build
   is another attempt to fix that annoying bug. Lets see... BTW is anybody
   else seeing this ??

2.86d update
1> Whole new set of I/O dlls, use *ALL* the dll's supplied in this archive.

2.86c update
1> Fixed another rexx trap.
2> New Avi.Dll to fix an optimization problem in the last release.

2.86b update

1> Fixed two more trap conditions in adeptrexx (very rare occurrences) that
   my ever curious users found when playing with adeptirc.srx.

2.86a update
1> Corrected a trap in the count new files thread, 2.86 would trap at logon
   if there were new files on the system. This build corrects that.

2.86
1> Added a Reload Events File option to the programs pulldown menu, clicking
   on this option will reload the events file for the active line.
2> At long last the no new files flag in the files areas works as designed, adept
   will now ignore areas wit this flag set when doing a new files scan, either
   from the menu options, or a new files scan at logon, if that flag is checked
   the area is simply skipped without being scanned for any new files.

2.85
1> Adept will now hang up on the users online when u invoke a shutdown, I got
   tired of manually hanging them up when i wanted to shutdown.
2> Corrected a problem in AVI.DLL, it would trap when trying to logon to a
   /secondcopy of adept. It now works correctly.

2.84
1> Had a problem where the main menu ans screen got locked somehow during
   a users session, result, no main menu display, had to reboot os/2 to unlock
   the file. This build is an attempt to prevent that sort of thing from
   happening again, lets see... (it was not a recurring problem, just
   happened once in a very long while).
2> Included is a new avi.dll to (hopefully) cure stack overflow probs with the
   older one.
3> Worked on the adeptshow routine to make it more freindly to meta codes in
   the text, seems to work better now.


2.83a update
1> If the users file could not be opened for some reason adept would still
   try doing a login, resulting in a crash. It now just logs the fact in the
   linex and adept logfiles, and recycles to wait for another call.

2.83
1> PPPSniffer will now honor users time per day and time per call settings, so
   a user can't stay in a ppp session indefinatly.
2> Cleaned up a trap condition in the logoff sequence, it would sometimes
   very rarely trap on a user logoff, should not happen anymore.
   This showed up in PPPsniffer if a user dropped carrier while adept was
   trying to determine a ppp session it would sometimes trap.
3> Found that starting 64 nodes would still sometimes result in some nodes
   remaining stuck in a starting state, this is now hopefully cured. I tried
   10 64 node startups in a row here and was unable to hang any nodes in
   starting state, before I would get one or two every 3 or 4 startups.
   Hopefully this is the end of that nonsense.


2.82c update
1> Fixed the multi nodelist lookup to find more than just the first 2 objects
   being looked for, now clicking on doit will find the next match till all
   matches have been found, hitting clear resets the search data, so if u
   enter another search string, the first match will again be pulled up.


2.82b update
1> Adept now properly fills in the SYSTEM field in srif files with the name
   of the remotes software, ie binkley, frontdoor or whatever the remote is
   using.
2.82a
1> Corrected another problem in the bbswatcher threads, they were killing off
   a bbs session before the bbs session had a chance to kill a hung door here.
   The hung door is now properly killed off before bbs watcher kicks in and
   kills the bbs session (only if necessary now).
2.82
1> Well that trap handler is only for VAC, will not work on wat builds, so
   this build has all that extraneous code removed.
   I'm still interested in any trap.logs or popuplog.os2 entries generated
   by adept, so please e-mail these to me if u get them, yur logfiles at time
   of trap would also be useful.
2> Fixed a problem in AtEnd watcher, it was terminating before doing nething,
   now it properly watches the atend processing.


2.81
1> Added Nitins Enhanced trap handler to this build, please turn exception
   handling flag on in bbs->config->action flags, then look for a trap.log
   in \adept dir. If u get one e-mail it to me at mariod@ican.net. Note you
   will have to check for the log, there is no other indication that a problem
   occurred, other than the action that caused it will be aborted.

2.80b update
1> Fixed another trap condition (rare) that would show up when a user dropped
   carrier at various places in the logon sequence. Hopefully there aren't
   any more like this, if u get traps, especially in GIOMT.DLL please try
   to figure out what was going on when it trapped, ie user dropped carrier
   in the message editor or whatever, it'll help a lot to know what the circumstances
   at the time of the trap were. The logfiles can help u track down what the guy
   was doing at the time, especially if u start adept with the /NC_VERBOSE
   switch.

2.80a update
1> Did some work on cserver, removed the truncating at 255 chars when sending
   chat msgs. Made another small change in cserver trying to eliminate this
   phantom chat syndrome that shows up on busy chat systems...

2.80
1> Did some more work on those pesky GIOMT.DLL traps, found a couple more
   conditions that could cause it to trap in gio, these are now gone.


2.79b update
1> Revisited the startup sequence once again, on large systems, nodes were
   still getting stuck in a "starting" state. This build should cure that
   once and for all.
2> Found a couple more spots that could cause giomt.dll traps if a user
   dropped carrier on the system, these too have now been patched to avoid
   the giomt traps. Lets see how it works out now...
3> Fixed a rexx trap that showed up when a user quit the ftp script after
   getting a few files, rexx would trap on exiting the script, this is now
   fixed. Same symptom I suspect plagued the telnet snoop script, altho I haven't
   texted that one, it too should now work as advertised. If it doesn't, please
   e-mail me the trap vector (if it still traps on exit) and I'll see about fixing
   that one too...

2.79a
1> This is an experiment, I have tried to patch around the various GIOMT.DLL
   traps when using the older set that fixes the zmodem telnet downloads, I'm
   gonna run it here for a while before putting it out (if it's a success that is)
   for general distribution. Let's see how it goes.
2> Srif command, if enabled will now be executed on receipt of any file instead
   of just req files, this is so those using netmail .pkt files to make a request
   will still invoke the srif command, this also means u'll have to move yur
   mail.cmd into srif.cmd if u use srif since yur mail will not be processed
   otherwise, if srif is disabled, mail.cmd will be invoked as usual.
3> Worked on the startup sequence once again, hopefully for the last time.
4> I'm including the 107f dll's that fix the telnet zmodem download problem
   in this archive, hopefully Ive patched every spot in adept that was causing
   the giomt.dll traps evident in these dll's, so far they have not trapped on
   my system, so i'm gonna release this build with these dll's.
5> Did a huge amount of work on the bbswatcher threads, these ones should be
   a whole lot more reliable, it will now also check the users time and if
   time has expired, it will kill the bbs session, this means no more rexx
   script users overrunning their time limits.


2.78b Update
1> So ends the experiment of the older set of dll's, while they fix the telnet
   zmodem problem, giomt.dll is too unstable to use, it traps randomly when a
   user drops carrier in a door or in chat, so this archive contains the set
   that works here. Telnet downloaders (adept telnet, not vmodem telnet) will
   just have to use xmodem instead of zmodem if they wanna do downloading, at
   least till we can (if ever) get the source to giomt.dll and fix it.

2.78a update
1> Corrected a trap condition when using bbswatcher threads and a user
   dropped carrier, it would sometimes trap in giomt.dll, this has been
   corrected.
2> Included a new cserver.exe, recompiled it with the same headers used in
   adept to resolve some inconsistincies in the structures used by cserver.

2.78
1> Worked on the startup sequence some more, was still hanging nodes on
   large systems.. lets see if this works ne better.
2> A bug has been reported in GIOMT.DLL, this bug causes zmodem downloads
   not to work when a port is set up for adepts native telnet, Included in
   this archive are a set of dll's to fix this problem. Backup your current
   dll's first then put all these in place.

2.77b update
1> <sigh> corrected another trap which only showed up when mixing rexx
   and standard menus (as i do here), if u don't mix the two you would
   never see this trap. Anuhoo... it's fixed now.

2.77a update
1> Corrected an memory allocation error (possible system lockup) in menu type
   301 (show text file) when doing searches.

2.77
1> Fixed another problem with the offline exporting functions and compressed
   message bases, they now export the compressed messages properly.
2> Fixed the PPPSniffer code so the user does not get knocked offline after
   15 minutes nemore. He will now stay connected till he drops carrier or
   your autoppp script hangs up on him.

2.76
1> Did some work on the bbswatcher threads, now they will check to see if the
   bbs thread has ended before issuing the killthread signal, instead of blindly
   issuing it on a carrier drop. Should make it a tad more reliable...
2> Did a bit more work on the time slicing routines for idling nodes, should
   be a lot more friendly now, note that if u have a *BIG* events file for
   any node, startup of that node will take a few seconds more than before,
   as will shutdown, but the friendliness gained is worth this small performance
   hit i think. Events will still execute as per normal tho.

2.75
1> Fixed a problem where the offline packers were skipping messages if compression
   was being used in the message bases. They were not packing some comprsessed
   messages. They now properly pack *ALL* messages in the base even with
   compression turned on. This has been there for a while but I just recently
   started using compression and noticed it, sorry it took so long to see it<G>.
2.74a update
1> I had a couple traps here, this build is sposed to address thhose,
   note that there are new avi and usersrvr dll's in this archive too.

2.74
1> Reworked the *.msg routines, so they no longer write the adept msgbase
   files as well as the *.msg files, the only adept style file now is the
   LMR file which is still needed, otherwise u get *.msg and nothing else.
2> Found there is a problem with that telnetsnoop script a lot of people
   are using for telnet out, till I can get it resolved, i have included
   the telnet.srx file I use here, it works and works well, you just won't
   be able to monitor what the user is typing since it is a *TRUE* telnet
   link to the users comm port, unlike that snoop which did block i/o (and
   burned cpu at the speed of light, I might add) but if u want fast reliable
   telnet out capabilities, this script is the way to go.


2.73c update
1> Hokay... found the *.msg problem, I can now read/write *.msgs created by
   an external source as well as those created by adept, sorry it took so
   long bk...


2.73b update
1> Found a situation where the squish msg files were not being closed under
   certain circumstances, this results in 3rd party apps not being able to
   access the squish base in question, they should now be properly closed
   in all cases.
2> Removed the *.msg fix i had done earlier, trying it another way, lets see...

2.73a update
1> Changed the default behaviour of autoppp.cmd to non-cached, it was cached
   before, and this could cause probs during setup and what not, so now it's
   non-cached. Note the file *MUST* reside in \adept\menus for it to be executed
   by the sniffer code, i mistakenly told dutchie it belonged in \adept, sorry
   Dutch..it belongs in \adept\menus dir.

2.73
1> Made the PPPsniffer routines into a sysop option, they will only be enabled
   if the bbs action flag "Enable PPP Sniffer" is turned on in bbs config action
   flags, if this flag is not turned on the ppp auto detect code is bypassed
   altogether.

2.72
1> Tweaked the time slice routines, instant response now while not giving up
   the cpu friendliness.
2> Added PPP session detection to adept, now after a user enters name and
   password, a check is made for a ppp session, if it's a ppp session the
   cmd file AutoPPP.Cmd is executed if it exists, after this rexx script has
   completed, the user is logged off. A log entry is made in the linex.logfile
   as to what type of session is being executed, would appreciate some feedback
   on this option as i have no fixed ip#'s to test it with here, all i have been
   able to do is detect a ppp session and start the rexx script. You should be able
   to modify the ppp door to run when a ppp session is detected, or modify the
   enclosed ppp.cmd file from Greg Varga and have it spawn ppp for your users
   who call in with a ppp session, the configuration requirments are all
   documented in the script, look for autoppp.cmd in this archive.

2.71d update
1> seems i got carried away with giving up time slices <G>, this build restores
   the bbs threads to instant response while maintaining the cpu friendliness
   of the previous builds.

2.71c update
1> Did some more work on the menu driver, hopefully the last od the exceptions
   is repaired now.. lets see...


2.71b update
1> Fiddled some more with that domain name stuff, lets see if it's fixed now.
2> Note.. due to the reduced cpu requirements, some operations, like reiniting
   the modem or hitting immediate call in the outbound may take a few seconds to
   be acted upon, no biggie, they'll be executed next clock tick.

2.71a upgrade
1> Added a newly recompiled cserver (faster, less cpu hungry) to the archive.
2> Further tweaked adepts cpu demands, it's now almost impossible to measure
   the cpu usage adept uses, even with users online, I have here a total of
   25 tasks running with 8 nodes of adept up and a user online reading
   messages, avg cpu usage is less than 3% and most of that's due to the other
   tasks, not adept... as measured by pmpatrol with the time critcial meausring
   switch turned on.... adept is truly cpu friendly now... :>
3> Took the events scanning and put it back the way it was, found a better
   way to make it friendly, u can disregard the modem reinit timer stuff, it's
   just for the modem reinits again...

2.71
1> Undid the damagae i did to the old style menudrvr, it should work again
   as it did in previous versions.
2> Took out the hard coded limit of 8 chars on the domain name comparison
   in the recvd emsi data... Gordon, yur linearnet address should parse
   correctly now.
3> Upped the idling sleep by a few more milliseconds, cpu usage is cut
   drastically now...

2.70a update
1> Tied the event end check to the modem re-init timer, what this means is that
   instead of constanlty checking to see if an event has ended (  and hitting
   the cpu all the time) it will now only check it every x minutes, x being the
   number of minutes u set the modem reinit time to. So set the reinit time
   to something less than yur shortest event, ie if yur shortest event lasts
   20 minutes, set yur modem reinit to 15 or 10, it will then chek the events
   every 10 or 15 minutes..

2.70
1> Fixed another trap in the menudrvr, note i made sum changes to the old style
   menudriver too, would appreciate any feedback on problems in that driver
   since i don't have old style menus here to test with.
2> Made the wait for call threads *REALLY* cpu friendly, i get virtually 0% cpu
   use if all nodes (8 here) are waiting for call or event.

2.69a
1> Added Hexer's *.Msg fix for reading *.msg messages not created by adept,
   this should now work properly... confirmation neone ?? I have nuthing capable
   of creating *.msg files here cept adept itself..
2> Corrected a problem in the menudrvr, which could result in a trap in menudriver
   on occasion, or if u had exception handling turned on this would show as an
   entry in trap.log, usually showed after a new user logon seq was completed,
   yeah, check yur logs folks..

2.69
1> Expanded the domain name field to 50 chars, this outta take care of networks
   with Looooonnnnggggg domain names, adept was honoring the old fidonet limit
   of 8 chars for a domain name, the 1.11x series had this fixed quite sum time
   ago.. I just plumb forgot about it, sorry... :>
2> Tweaked a bit more speed outta the code, this build should be even faster
   than the last, will be very noticeable on >26400 connects...
3> *NOTE* because of the address domain name expansion, yur linex configs
    must be edited or recreated, yur choice.. I simply del mine and recreate
    them with adept /nodes x /setup...

2.68
1> Fixed a long standing telnet bug in adept, telnet connects would sometimes
   hang the nodes, even if using vmodem, note this would only happen if internet
   timing was checked for the node in question...

2.67
1> Ok, now that this stealth business is over and done with, we can bring
   the local logon and local bbs screens back into the picture for those folks
   who simply cannot or will not trust the kids or their users. I just wanted
   to see what kind of outcry there would be, and it seems minimal, I respect
   the right of each sysop to run their particular bbs as they see fit, sooo...
   In my case the only time I want to even *LOOK* at the bbs is if I see the
   sysop mail flag waiting for me, otherwise i could care less what the folks
   are using it for.. I trust them to police themselves.... nuff said..
2> In the last build i changed the linex configs, sorry i forgot to mention
   the bbs config needs to be deleted and recreated too, just delete
   bbs_configuration in the \adept dir and let adept recreate it, the speed
   increases is dramatic folks. Also don't forget to delete *.bin in the
   \adept\menus directory...
   This version should be virtually bug free folks, also included is a new faster
   usersrvr.dll, backup yur old usersrvr.dll file and drop this one in place
   along with the new exe, and be sure to put the action flag all files
   commit on timer to on in the bbs action flags, this will force user file
   to be flushed to disk on a regular basis (if a user is logged on of course)
   That's it folks, thanks for this vote of confidence, there was really
   very little public outcry about this stealth business <grin>.
3> Fixed the bug where short messages were not being saved if compression
   was enabled in bbs action flags, they now save properly, and u already know
   gatekpr and xmsg honor the compression schemes, there is no limit to how
   small a message can be to be compressed, if u like u can set gatekpr to
   pack size of 1, it will work properly, but i recommend a value of 128 bytes
   for gatekprs packsize... good stuff folks, saves disk space..
   Just enable the flag in bbs action flags, xmsg automatically compresses
   uncomprsessed messages and put the pack size keyword in gatekpr.ctl


2.66
1> The rexx bug workaround does *NOT* work, it's definilty a bug in OS/2 rexx
   boys and girls, IBM is on the case and it will be resolved. They promised.
   Had a request to spawn an external message reader for the adept message
   base, since there is no longer a local login, this seems a reasonable request
   , so we have added to the pulldown (programs pulldown) the external mail reader
   command, this menu choice will activate the cmd file "ReadMail.CMD" if it exists
   otherwise it does nothing, u can have readmail.cmd execute whatever u wish, it
   is intended tho to fire up golded or sumthin similar so u can read/write messages
   without logging on, I prefer logging on but i understand there's lots of folks
   who wish the exetenal mail procedure.
2> We have once again sped up adept by a factor of ten or so, this change requires
   you to delete all LINE_X_CONFIGURATION files and LOCAL_CONFIGURATION (no longer used
   neway but...just to be complete) and recreate em, save you old init strings before
   destroying the old config files. (Fuq right off frank, I'm busy at the moment, listen
   to Sunny Came Home Asshole). Once u fire adept back up in /setup mode with the
   number of nodes you run, simply edit the init strings and com ports numbers as
   per usual, then shutdown and fire it up normally. You're now ready for callers
   and yu'll be amazed at the speed difference. Have fun...


2.65a update
1> Worked on that rexx bug some more, found a possible workaround, it's in
   this build, let's see how it goes...
   This one is for Jason.... :>

2.65
1> Been a while since a new hagar build was put out folks, (see, very few bugs
   left in this code, and those that are left, well... they won't last long)
   Anyway... this build is mainly a ground up recompile of the whole entire
   thing, rexx included. Speaking of rexx, we've found a problem with adeptrexx
   spawning multi-threads from a single script, this problem is buried deep in
   the guts of os/2's rexx que interface, IBM is aware of our problem and has
   promised to do their very best to eliminate this long standing mite (it was
   reported previously) and I have no doubt at all that they will fix it. IBM
   does good work folks, don't doubt them, I don't :>
   Thanks to Jason in OZ for spotting this particular bug, even tho it's not
   in adept, we tried a few work arounds, but IBM informed us it'll be fixed
   asap. Current Fixpak for warp3 users is fixpak31, but be aware this breaks popuplog.os2
   logging, the next fixpak has this fixed, and will contain the rexx que fixx too.
   People using rexx scripts will have lots less probs when this fix is released.
   God Speed Folks...

2.62
1> Solved a problem with Avi.Dll trapping under certain circumstances, this
   was brought to light by out old friends at lakebbs, included in this archive
   is a new avi.dll and cserver.exe, as well as a groundup recompile of adeptrexx
   .lib and adeptx.exe

2.61e update
1> Played with the startup sequence again, hopefully no more stuck nodes in a
   starting state.
2> Rebuilt Avi.Dll from scratch to try and help this same problem.. put this avi
   dll in place after backing up your old avi.dll

2.61d update
1> Fixed a path problem in the generated srifx.txt files, should now be proper.

2.61c update
1> Fixed the srif entry field, I broke it last couple of builds, it now
   works as before..

2.61b update
1> Fixed the broken local upload function, it now works as advertised..

2.61a update
1> Corrected a trap condition in srif prcoessing, if a file that was not in
   the file base was written into srifx.txt, adept would trap after failing
   to find the file, now it just ignores it..

2.61
1> Recompiled with a small change to try and sort out logoff traps on some
   large systems, can't duplicate it here, but mattis gets them regularly on
   lakebbs in oz. Nebody else getting traps in menutype 1000 ??
2> Included in this archive is a newly compiled Avi.Dll, may or may not
   ease the avi.dll traps some people have been getting..

2.59b update
1> Added a little feature, if the system finds an asc/ans file with the same
   name of the user logging into the system in the default text dir, this file
   will be shown to the user then deleted.Ie if a file name Mario Dulisse.Asc
   existed in yur text dir and i logged on it would show me this file and then
   delete it, all metas can be used in those files. The file is shown after
   atlogin.menu has completed, but before newuser.menu has run, so you can get
   really creative here, and have your atlogin.menu create a custom file that
   will be shown to newusers at login time, then deleted, it's a simple matter
   to run an adeptrexx script in atlogin.menu that would automatically create
   a custom weclome screen for each new user who logs on, then delete it. And
   since u can use the name meta in that screen u can even personalize it to
   the user logging in... thanks to north star bbs software for this idea..

2.59a update
1> Was still having stuck nodes in starting state problems, this is another
   attempt to address that, usually shows up when starting lots of nodes.

2.59
1> Fixed the Jam Message base support so it works now <g>, there were quite
   a few spots I overlooked plugging in the jam support on the first pass.
   I Have tested read/write and they both work as advertised. Read the 1.11
   series readme for the caveats on using Jam bases...

2.58
1> Plugged in hexers JAM code, dunno if it works or not, I have no way of
   testing it here, note that adept will not create a jam base, it must already
   exist. Same conditions apply as the 1.11 builds jam support (natch, it's the
   same code).
2> Sorry folks i misspoke, adept will indeed create the jam base if it does not
   exist, seems i read an old readme of the 1.11 series, the current code does
   create if necessary..


2.57a update
1> Fixed Srif file creation so proper path and file to req list is generated,
   note: If u are going to use srif files u *MUST* set the Adept envirnment
   variable, example: SET ADEPT=D:\ADEPT
   this path will be used for the base path of all srif files, the files will
   be created in in this case d:\adept\system\linex directory, and the rqreport
   .txt file will be looked for in that directory. Also the full path and file
   name is passed now as the first parameter on the command line, (Note if u
   use {LN, then the path and filename become the second parameter. Every meta
   u add pushes the path/filename up one slot).
2> Did some more work on the load sequence, as sometimes the msgareas loader
   was failing to start, hopefully cured in this build.



2.57
1> Fixed it so srifx.txt is only created if a request list is actually received
   instead of being created on all inbound mailer calls, the srif cmd will also
   not be executed if no request list was received.
2> Discovered that the srif cmd field really does store up to 128 chars for
   a full path and file specification, just be aware that if u go back to
   look at it it will look truncated for some reason, this is purely a display
   bug, the actual command will be executed, u can verify this by looking in
   your logfiles for the node receiving the freq. Remember to use \\ instead
   of \, and by the way all the metas except those that make no sense when a
   user is not logged on are available for use on this command string.

2.56d update
1> Ok.. removed the srif path field and replaced it with Srif Cmd, in here
   you put the command to start your external req processor up, adept will
   now write the srifx.txt file to \adept\system\linex directory where x
   is the nodenumber, it will then try to spawn the external process
   defined in Srif Cmd field, note that adept will wait for this process
   to complete before carrying on with the file request. If u are gonna
   specify a drive and path to yur req processor u must use double backslashes
   in that field, example cmd.exe /c \\adept\\extreq.cmd will invoke extreq.cmd
   without the \\ it will not work. Currently the largest string u can have
   in that field is 30 characters, but only cause i have not yet found where
   they are limiting those fields to 30 chars or less, i intend to find it
   and allow 128 chars for a command entry. Am releasing it this way cause
   I'm outta time for today and would like to get some feed back on this feature.
   BTW putting cmd.exe /c extreq.cmd {LN will pass the nodenumber on the command
   line, just like in a door menu type, Port meta will also work so u have
   some flexibility here... of course this whole thing is still controlled by
   the bbs action flag enable external req processor, if that flag is not set
   then none of the above will happen.

2.56c update
1> added a check to see if message bases have completed loading before starting
   the local login bbs thread, fiddled with the startup order again cause on
   occasion the large message areas file was not completely loading, still
   working on this one...
2> Cut the srif delay time down to 6 seconds from 15, this should still be
   enough time for the external request processor to do it's thing...

2.56b update
1> Corrected a trap condition during freq processing if srif was being used
   and the requested file was not found..(I hope) BK i need yur feedback on
   this one..

2.56a Update
1> Fixed Srif creation, it was not being created at all on an inbound
   request, it now gets created..

2.56
1> Recompiled from scratch, full compiler, rexxlib and adept.
   Note: if u were testing the earlier 1.11y builds and had to pull your
   set adept=d:\adept statements from your config.sys to get it to work, be
   aware that this breaks smtp2adept.exe and your inet e-mail will not be imported
   becuase of that. Solution is to grab the updated smtp2adept.exe or simply
   put the set statement back in your config.sys.


2.55g update
1> Fixed a prob with srif path not being saved, now saves properly..


2.55e update
1> Did some more work on the new files at login scan code, the thread that
   counted new files was searching all areas, even if the area was marked
   no new files scan in fileareas editor, it will now properly ignore those
   areas (why search cdrom areas for new files?) and only scan areas without
   the no new files scan flag.
2> Revisisted the netmail node/address entry thing, now if a name is entered
   it will search the nodelist and pull up a match, if n is specified it will
   pull up next match and so on, if u answer No to the last match, u will be
   presented with an oportunity to enter the address yourself, names need no
   longer be in the nodelist to send netmail to.

2.55d
1> Fixed the new files scan at login to only display the new files then quit
   if all displayed stead of searching all the remain areas, I thought i did this
   before but it turns out it was working only if all new files were in the same
   area, it now does not care what area they are in.
2> Added a bit of code to close all files on exit, this should prevent logfiles
   and other open files remaining in an open state if u have to close adept
   from the upper left hand corener icon and also on shutdown from pulldown
   menu or trap. Hopefully no more "file is in use by another process" type
   messages from os2.

2.55c
1> Fixed menu type 78 (for real this time), looks like it is broken in the 1.xx
   builds to start with, which is where this code started from. Neway it now
   works as it did before in the old 2.xx series code.


2.55b update
1> Fixed menu type 78 (old list files option) that i broke earlier on
   by accident, works now.. 178 was not affected..


2.55a update
1> DOH!!! somewhere along the line I broke TolOw.asc ToYoung.Asc etc, all those
   nice displays when a user did not match a menuitems criteria, these are all
   fixed now and i have added a new one, WrongGender.A?? will be displayed if the
   users gender does not match that specified in the menu item.
2> Did some work on bbs watch thread to make it more reliable and less prone
   to problems, I suspect that hang i got the other night was due to a fuqed
   user.name.index file and not bbswatcher, so i'm running with these guys
   turned on again, I will let you know how it goes.

2.55
1> Added safehex's latest filters to the edituser find dialog box, changed the
   internal storage of the srif path var to match hexers builds so we'll all
   be compatible now that he's added srif to the vac builds, this means ull have
   to reneter the srif path in bbsconfig settings, nothing else should be affected
   but chek all bbs config settings to be sure..
2.54
1> fixed a problem with the phone numbers displaying twice when prompting for
   a phone number.
   I had a weird hang here last night, traced it to the bbswatcher threads
   looks like under some conditions these guys can cause problems, so i recommend
   turning off the watcher threads till i can investigate further...
2> Added the allow users to keep mail on popserver flags to the bbs action flag
   and the menutype 637 to allow user to toggle this flag on and off, {VU displays
   the state of the flag for that user..
3> Made the nodelist lookup threadsafe so multi users can do it at the same time
   there was a possibiltiy of a problem before if two or more users attempted
   a nodelist lookup simultaneuosly

2.53
1> Implemented hexers message base handling improvments, this stuff speeds
   message base handling by 2x or more, this is a massive change so please
   report any message base bugs u come across immediatly...
   I have tested the basics, (read/write/bwave export) and all seems well
   however I cannot give this build the standard 5+hr or more runtime i try to give
   all my builds before putting them out as i am 12+ hours into a test run
   of build 2.52 to see if i've cured the traps with > 7000 msgareas and
   32 nodes loaded problems, don't wanna restart the test at this point. Will
   be satisfied if it goes 24+ hours without a problem..

2.52
1> Added safehex's locked/unverified filters to the user editor.


2.51 update
1> Took out a dossleep i had stuck in there for debugging, please let
   me know if u have any startup troubles, ie, lines not starting,
   lines stuck in initing state, blank entries on the system status
   window for lines etc...

2.51

1> Fixed a variable allocation problem in the new srif processing code,
   dunno how I missed this one, would only cause a problem if you got a
   file request comeing in, I get no requests hence my system ran fine.


2.50d update

1> put hexers new file/msgbase load code in place that saves bytes of memory
   by not storing the message base paths in mem if default path is used.
   During testing of this version i somehow managed to fuq my lang file and
   *.bin files in \menus dir, prolly caused by the quick succession of
   start/shutdown/start/shutdown sequences, if u get weird shit happening
   del the lang.text.compiled and .index and all yur *.bin files in \menus
   and restart. should be all right then, prolly not needed, but thought i
   would mention it just in case..


2.50c update
1> Did sum more work on the newfiles display routines for user files scanned
   at login, should not go thru all areas now, should stop after last new file
   is displayed...

2.50bupdate
1> Yet another attempt to fix the intermittent traps when loading large
   message/file areas and lots of nodes. Cut down the sleep value some
   cause at times it would only answer on 2nd or 3rd ring even if told to
   answer on first ring, it should answer on first ring all the time now.

2.50
1> Ok, the compile lang prompts from the pulldown works properly now, but
   same caveat applies, ensure there are no users online when u recompile
   the prompts.
2> added a check for the nonewfileslist flag in the file area editor, if that
   flag is set the area name will not be displayed oon a new files scan from
   logon new files scan request, should speed up display of new files by showing
   only the file areas which actually have new files in them..

2.49

1> Ohhhhhh, did I ever screw up, In my efforts to fix the stuck nodes
   problem when starting > 10 nodes, i managed to introduce a huge
   memory overwrite, this *WILL* cause adept to trap if run long enough,
   it's much more evident on my 64 node test setup, but will show up on
   a single node setup too if allowed to run long enough... Sorry folks...


2.48a update
1> Tied the atend watcher thread to the enable bb watch thread in bbs config
   action flags so those who don't want it can turn it off, note enabling this
   flag turns on *BOTH* bbswatcher and atendwatcher threads.
2> Pulled the recompile lang prompts from the pulldown till I can sort out
   *WHY* it traps when running more than 24 nodes...

2.48
1> Enabled 64 nodes in this version, mainly to test cpu loading on my system
   but i'm gonna leave it on for nebody else who may want/require more than
   the 24 nodes that was the previous limit...
2> Fixed badpass.menu so user logging off after writing a message to sysop
   does not crash adept nemore, this one got me a few times today.. same goes
   for dumbuser.menu.
3> Fixed a startup anomly that on large systems could crash adept at load time.
4> Fixed another startup problem...
5> Loosened the memory allocations somewhat to allow for bigger systems, on
   larger systems adept was being squeezed for memory...

2.47c update
1> Made it much more cpu friendly, 24 nodes was taking 30% cpu before this change
   now it takes 5% and still answers on first ring.


2.47b updated archive
1> Fixed Wikk's pet peeve aout name/nodeaddress/subject editing if u screwed
   up in the original entry, arrow keys, and delete now work as they are supposed
   to.

2.47a updated archive
1> Ok I think I finally have this stuck node problem licked, at least it's
   not happening nemore here, feedback would be appreciated...

2.47 updated archive
1> Fixed the hit return to logoff during logoff countdown after exported
   mail was downloaded, was returning to the menu stead of logging off.
   It now logs you off as expected..

2.47
1> Fixed the make line inactive from status window function, it now makes
   the selected line inactive stead of the one with the focus.
2> Had another go at this stuck in starting state nodes on large systems,
   lets see how it pans out..

2.46 Updated Archive...

1> Updated the cserver.exe file in the archive, otherwise no other changes
   so this archive is named 2.46a but the adept version number is still
   2.46
2> Ok, another update, the exe adeptx has been updated too in this update,
   in an effort to solve nodes getting stuck in a "starting" state on systems
   with large msg or file bases, the nodes will start and adept will be ready
   for calls long before the msg and file areas have finished loading now,
   this should allow all nodes to start properly, but be aware, u can screw
   adept up by hitting shutdown before the msg/file bases are fullu loaded.
   When adept gets confused like that it more often than not takes a reboot
   to clean it out of memory.. moral of the story, is don't shutdown adept
   before it's finished its msg/file area loading. Only u can tell how long this
   takes on your machine, since it is highly dependent on disk speed, cpu speed
   and size of msg file areas configured.
3> adu246c.zip the adeptx exe has been updated yet again, this time to support
   the /Lockout IP# switch as per 2.34a code, u can have up to 20 /Lockout
   statements in yur command line, the IP# specified in /lockout will not be
   allowed to connect via telnet or vmodem to yur copy of adept.
4> adu246d.zip, the exe has been updated again, this time in an effort to resolve
   chat induced traps in adept, seems memory may have been set way too tight
   for most syschat functions, i have relaxed the memory assignements quite
   a bit, lets see if it makes a difference..
5> adu246e.zip hrmmm maybe it's time to bump the version number, neway this build
   removes the two times display of login.a?? file, but retains the feature of
   redisplaying it if the user answers No to the are u a new user question.
6> Adu246f.zip update
   Fixed the = selection at the more prompt for displaying msg/file areas, it
   was working for local logins, but was totally broken for remote users. It
   now works for both.
7> Fixed the {VM {VN metas, these two somehow got broken sometime ago...


2.46

1> Damn, forgot to adjust the stacks to match what I had in 2.44 and below
   result seems to be sporadic traps, mainly when using type 51 calls to
   display ans/asc files, not always but enough to know there is a problem.
   This build addresses that issue.
2> The menu type 301 was not processing esc codes, it will now do so, and will
   also process Meta Codes as before. Same For AdeptShow() function...
3> Chat was truncating messages at the 255 char mark, this has been removed.
4> Note: The /LOCKOUT IP# is not yet implemented in this build, (do we really
   need it?) Will see about maybe putting it in the next release..
5> Got a report that the newest pop3 function menu type is not working, will
   have to investigate this further, as I don't do pop3 here.
   It's quite possible those functions are not in this build, will have to check
   just when Hexie added the meta and menutype for that last pop3 function, sumthin
   bout allowing the user to leave mail on the popserver if I remember right.

2.45

1> Snagged safehex's latest code tree and included all the mods listed in
   the previous 2.x builds I released as private builds. this brings us
   up to date with the vac codeline for now, note adeptget/putvarbyrecord
   is now known as adeptget/putuservarbyrecord, I did this to stay compatible
   with the vac builds, sorry if u have to modify yur srx files.
   Note2: This is a drop in exe for any VAC build adept system and if u changed
   line_x and *.menu.bin formats as mentioned in 2.43 yu'll have to change em
   back to run this build. Simply delete all line_x_configuration files as
   well as local_configuration and all *.bin in \adept\menus dir, while your
   at it deleteing language.text.compiled and language.text.index is not a bad
   idea either, the system will recompile these files on startup. Check your
   bbs_configuration file by going to the config->bbs->general setup dialog
   and see that it is ok, i made no changes so it should be all right, but check
   it anyway..


2.44

1. Changed the origin line to store 78 chars instead of 65, this change
   requires u reenter yur default origin line in bbs config dialog.

2. Added the below stuff from 2.34a series codeline so sysops who were using
   these features now have them available again, the excerpt below is lifted
   outta the old readme.txt from the other codeline.

          -  Fixed the Group option in the menudrvr files, this was never
             working before, now if = that user will be allowed that menuitem,
             fixed comm,tcp,pipe support, use PortFlags 1=commport,2=telnet, and
             3 = named pipe for the portflags.
             In addition if a user does not have the group access he will be shown
             NotGroup.Asc/Ans/Avt if it exists in the \text dir (or language\text dir)
             If a user tries accessing a port restricted item he will be shown
             NotCom.Asc/Ans/Avt if it's restriced to com ports and NotTCP.ASC/ANS/AVT
             and NotPipe.ASC/ANSAVT if its restricted to telnet or named pipes. Remmeber
             PORTFLAGS ARE NUMERIC, ie 1=Com Ports only, 2= TelNEt ports only
             and 3 = Named Pipe nodes only. The local login is considered a com port.
             Fixed the starttime end time options on individual menu items, they
             will now respect the STARTTIME and ENDTIME keywords in the menus.
             They will also show NotStartTime.A?? for items restricted by a starttime
             and NotStopTime.A?? for items restricted by an end time.
             Went nuts and added in all the other docced menurestrictions on a
             per item basis.

             < MinOnlineTime displays NotMinTime.A??
             > MaxOnlineTime displays NotMaxTime.A??
             < MinCalls displays NotMinCall.A??
             > MaxCalls displays NotMaxCall.A??
             < MinPosts dislays NotMinPost.A??
             > MaxPosts displays NotMaxPost.A??
             < MinUploads displays NotMinUpl.A??
             > MaxUploads displays NotMaxUpl.A??
             < MinDownLoads displays NotMinDl.A??
             > MaxDownLoads displays NotMaxDl.A??

             That's all the documented restrictions as per the newmenuengine
             docs earlier in this readme.txt, lemme know if you have a problem
             with any of these, i put them in in one sitting, so it's
             possible there may be mites with some of em.
             Note: the min/max online time is for the current call, ie if
             a user has been online this call for more than minonline time
             he/she will have access to that menu key..
             Further note, these files live in the text dir for the language
             in question, if no languages file then they live in \adept\text
             by default. The Asc is looked for first as with all the display
             files, the .Asc must exist or looking stops. If u have only an
             Ans/Avt file they will not be displayed till u put in a corresposnding
             .Asc file, it can be a 0 byte file, but it *MUST* exist in order
             to have the others display properly.


2.43

1. Changed the line_x_configuration storage format and the *.menu.bin
   storage formats, these changes speed up the processing by an order
   of magnitude, to upgrade to this version, simply delete all *.Bin
   files in \adept\menus dir, delete all Line_X_Configuration files
   as well as Local_Configuration file in \adept dir, fire up adept
   with adeptx /nodes x /setup, edit the line configs to match yur
   system, shutdown adept to save the newly edited configs. Fire up
   adept normally and u should be ready for callers. Note that BBS_Configuration
   file is *NOT* affected by these changes. If yu are upgrading from
   any 1.xx version, you need to do the above setup...
2. added the adeptsmtpimport rexx function, but the nntp start I cannot
   do easily, will try to work sumthin out for that.
3. Put Hexies fix for the msg not being saved if compression was turned on
   for an area in place, I don't use compression here, so someone else
   who does will have to test it.




2.42

1. Added per line load of addresses file ala safehex builds, if a file
   called addresses.1 exists it will be used for line 1 addresses and
   2 for line 2 etc, defaults to addresses if the line files do not exist.
2. Pulled all the parameters except for Srifx.Txt file name outta the
   mail.cmd command line, since they are all in srif.txt i figured they
   were no longer required...I'm flexible on this, i'll put them back if
   you really think it's required.
3. Increased the chat buffers from 1536 to 3072 lets see if this makes any
   difference at all. Works ok here, byt my board is not a busy chat board.
   Matthew ?? Remarks/comments....

2.41

1. Added a new entry box to bbs->config->misc paths/files dialog, this box
   called SRIF Path will determine where adept places the SRIF files and
   reads the RqReport.Txt files from if enable ext req proccessor flag
   is set in bbs action flags.
2. Implemented safehex's compression fixes, I don't use compressiom here so
   this stuff is untested by, feedback would be good.
3. Hopefully fixed the ext req prozzer stuff so it will actually work now,
   awaiting feedback on this from BK who is hot to trot on this with Mtic.
4. Feedback received, the SRIF stuff works as advertised.. :>
5. Added the BlueWave offline configuration options, Bwave users can now
   tag/untag areas from their offline readers.
6. Fixed srif file systemstatus to properly reflect Listed/Unlisted status
   of a requesting system, if it's not in the current nodelist, it's
   status will show as Unlisted.
7. Added the name of the Srif file to the Mail.Cmd line so u can use %1 to
   access it in mail.cmd

2.40

1. Added new bbs action flag, Use ext req processor, if this flag is turned
   on in config->bbs->action flags, then the following occurs on a file request,
   Srifx.Txt is written to the main \adept directory, we wait 10 seconds for the
   processor to write RqReportx.Txt in the main adept directory, we read reqreportx.txt
   and send all the files listed in that response file. Note that x is the node
   that got the file request, ie Srif1.txt and rqreport1.txt for node 1 and so on.
   Rqreportx.txt is deleted at the completion of the file request.
2. Added the IP# /Lockout Cmd line param ala 2.34a series code, recall, you can
   lock an IP address from connecting with yur adept by specifying
   adept /nodes 5 /lockout 206.248.278.156 /lockout 206.276.234.1 on the command line,
   this example locks out two addresses, u can specify up to 20 on cmd line
   if os2 will take a line that long, i dunno if it will or not.


2.39
1. Fixed a trap condition I intorduced while getting Hot/Cold input
   routines to work.
2. Added Session Info to Mail.Cmd processing, the following parameters
   will be passed to the mail.cmd proc line as %1 %2 %3 %4 %5
   %1 = Sysop Name Of Requesting System
   %2 = 5d Address of that system
   %3 = AKA: followed by List of Aka's for that system enclosed in " chars
        ie "AKA: 222/70 222/71 55:50/0 "
   %4 = Secure/Insecure or Unlisted session type
   %5 = .Req file submitted by that system (full path and name)

2.38

1. Fixed relogin function (again), It was not working if bbswatch threads
   were enabled, it now works correctly, note that it does not work on
   a local login, this is the way it was in previous builds too.
2. Fixed adeptget/putvarbyrecord, forgot that this build handles the user
   files differently, they now work as advertised. Note that if u try to
   use these functions on a user record that is currently logged in strange
   things will happen cause these functions work on the DISK record, not the
   memory record, so be careful, it is quite possible to fuq up the users
   file with these functions, I know, I've done it.. actually its the put
   function that's dangerous, the get is harmless.
3. Fixed the nntp drop down list selection, note nntp must be active for the
   list to contain anything. Had a report that nntp was duping posts across
   different newsgroups instead of just posting it to the active group, am
   checking this out, as another guy reported this is not the case, so I've gotta
   do some testing here with it. If you notice anything strange going on with
   nntp get/put do e-mail me please.
4. Fixed the Hot/Cold input flag to really work in this code line too, works
   just as it did in the previous 2.xx series builds, ie if a user chooses
   cold input he will have to hit enter after ever menu selection/ more prompt
   etc. Note as before the local login cannot have cold input enabled, hot
   keys are *ALWAYS* on for a local login, regardless of the state of the
   hot/cold input flag.

2.37 update
1. DOH!!! Added AdeptGet/PutVarByRecord and adeptgetusername to this build
   from my old 2.34a code line, seems some people were actually using these
   and missed them.
2. Did some work on the nntp engine, seems to work better now.
3. added the pop3 mail scan at login code..
4. added the pop3 menuchoices safehex has in his codeline, this build has
   all the safehex options in it except for language buffering, mainly cause
   i enabled buffering of both language.text and *.menu.bin long ago, there
   is no option to turn it off...
5. Fixed adeptget/putvarbyrecord, forgot that this build handles the user
   files differently, they now work as advertised.


2.36

1. Ok, I broke down and put in code to let smtp/nntp areas be squish/*/msg
   base areas if you choose. Note that if you post in a squish/*.msg base
   nntp or smtp area with an external editor like fleetstreet or whatever
   don't expect it to go out, as adept has no way of knowing your trying
   to post an internet type message. Posting from an adept login to a
   squish/*.msg base area it will go out as expected.
2. Freq download counters were broken in x2, fixed in this release.
3. Problem with nntp posts not being sent out, fixed in this release, and by
   the way nntp import smtp import to squish/msg base works, I tested them
   and they appear to work as advertised..
4. Do *NOT* put this build up for general distribution anywhere, my builds
   are meant for myself and a couple other people who have expressed interest
   in running my watcom builds, I will try to stay current with safehex's
   code, but he moves fast, so this may not always be possible... feel free
   to give out copies of this archive to friends who want it, just don't go
   putting it on hobbes or snoval or anywhere like that... I went back to the
   2.xx numbering scheme, cause my experiments are over, i run this build
   live on my system so it's not experimantal code anymore..

1.11x2

1. Corrected a trap condition where a user could start writing a message
   even if he had no access to any msg areas, this would trap if running
   without exception handling turned on.
2. Corrected a handle problem for the pop3 functions as per safehex's
   instructions.
3. Moved the save offline/msg/file tags to the olr/adjustmsg/adjustfile
   functions stead of blindly saving at logoff, these flags will now be saved
   when user chooses "Permanent" selections in the appropriate menu choices.



1.11x1
-----
1. Cleaned up several trap conditions in BlueWave offline mail export, these
   are prolly responsible for some of the unexplained traps during olr export.
2. Corrected a trap condition during bluewave import to smtp area, if u ran
   without except handling on adept would go down.
3. Fixed the relogin option so it relogs u in stead of logging u off.


1.11x
-----
1. This build  inlcludes everything
   from 1.11f and down, as well as everything from the 2.34a and down
   code lines, I have added the Cacheing i/o system to the 1.xx codeline
   and it appears to be stable here so far, have also added the squish
   *.msg base support to this codeline, and it too appears to be stable
   so far. I have run this build on my system (live) for over 24 hours
   without a trap (i do not run with the exception handler turned on)
   so i'm letting this experimental build loose for those who care to try
   it. Note: The vac versions have squish/*.msg base support too, and
   safehex is in the process of revamping the enitre msgbase handling
   system in the vac builds. To keep my wat builds seperated from his
   numbering scheme, i will number mine as 1.11x, the next version
   will be 1.11x1 then 1.11x2 etc, till i have a stable and tested
   build...   Latest official safehex build is (at time of this writing)
   adu111j.zip, available at snoval.com.


1.11f
-----
1. Added a new user flag which will allow a user to toggle off any
   alternate editors used by Adept via the ExtFSEx.Cmd or ExtLEx.Cmd.
   A new menu option 634 can be used to toggle the flag and a new meta
   {VS will show the current state.

   Ok, so I liked the look of QuikEdit but it's DOS and it's kinda
   slow, specially when compared to the bare bones internal Adept FSE...
   some users cried out about it and some even liked it (amazing eh? :))
   well...now the users have a choice...the sysop can configure the
   external editors and the user has the option not to use them.

2. Removed the time zone display...it seems it was not only the VAC RTL
   but also WTC that has problems in that area for now. At least, most
   people should know their time zones and a whole lot might not even
   have it setup. So...gone for now :)


1.11e
-----
1. Added the FTP Server startup to the BBS Action Flags. The /FTP command
   line option has been removed.

2. Moved some other command line options to the BBS Action Flags. Do check
   out the current settings for your BBS Action Flags.

3. Added a sysop mail indicator to the Adept status window.

4. Made the display of the sysop mail and the system and BBS info in the
   secondary status window configurable via the BBS Action Flags. So...now
   if you don't want to watch the system threads/process etc, or how many
   calls the BBS got n stuff...just turn it off.

5. Enabled the forced password change from the BBS General Settings and
   added a group wise password expiry which can be set from the groups
   editor. In short, if you want all users in all groups to change
   passwords after a fixed number of days, set it in the BBS General
   Settings, otherwise, use the individual group password expiry.

   The group settings will over-ride the BBS general settings if set
   to any non zero value, otherwise the global setting will be active.

   The Groups file uses the value of the new field "EXPPWDDAYS" to get
   the number of days before a pwd expires for that group. This is just
   for those who prefer to manually edit the files...If you use the
   group editor you don't have to bother to remember this :)

   The prompt #479 from the Language.Text file is display on expiry.

   #479
   [Cvt][Mta]\r\nIt has been {PW days since your last password change.
   [Cvt]\r\nIt is time to change your password.\r\n



1.11d
-----
1. Corrected some potential GUI related problems. Mostly visual stuff
   nothing serious...

2. The VAC RTL seems to have a problem returning the correct time zone
   string. My WTC compile showed that up, so till the next FP for VAC
   which will correct this problem (it's already listed for the next FP)
   please don't tell me about the time zone display not being correct...
   I already know :)

3. The send files dialog set colors that became black on black after the
   recent color scheme change :) Fixed now.

4. Removed a non-required timer...was keeping time for nothing :)

5. You can now select to disable the status window from the BBS Action
   Flags. The command line option /NOSTAT has been removed.


1.11c
-----
1. Fixed a small mailer related problem a cpl of people had.

2. Reduced the minimum for msgbase compression to 384 bytes from the
   earlier 512 as it seems to work equally well. XMsg, GateKpr and
   Adept now adhere to this new minimum. There is no problem as far
   as the compatibility is concerned since the limit is down...not up :)

3. Corrected a small inconsistency in the userserver dll which might
   have accounted for some of the handle related problems on rare
   occasions. uNuke and ReIndexUsers have the same corrections as well
   just in case. This was actually a prob someplace in Adept which was
   corrected quite some time ago, but made these changes to make sure
   of it :)


1.11b
-----
1. Expanded the message and file area tags to a maximum of 10240 now
   although FSys retains the 4 digit limit for now, so keep the file
   area numbers within the 9999 limit.

   Nope, no change in the configs etc 'cept the BBS_Configuration,
   to which Adept will adapt automatically when run the first time
   and will still remain backward compatible. There is no real need
   to backup anything, just backup for safety though :)

   I kept it compatible to offer an easy upgrade path for anyone who
   wishes to try a drop in replacement...Keep in mind though, that
   this might not last forever :) Some changes are due in the forseeable
   future then I will no longer be able to keep up the backward
   compatibility anymore...

   In case there is something broken with this build, you can go back to
   any older 1.1x without any problems...

   Now for the gory details for those interested...I have taken the same
   approach that was taken for the Offline Mail tags in Adept a long time
   ago, they were moved from the userbase to files in the
   System\Offline_Tags. Similarly, the message and file area tags are now
   saved in files in the System\MessageArea_Tags and System\FileArea_Tags.

2. Fixed some minor GUI inconsistencies...just visual...

3. Added the configuration of the main BBS file/msg Flags to the new user
   defaults dialog for now. These flags decide what areas a new user will
   have access to and over-ride the new user flags defaults. In other words,
   the new user flags are applied to a new user and then cross-checked
   against the main BBS flags for access. For example, if you turn on all
   file areas for a new user and then turn off some areas in the main BBS
   flags, those will be turned off for the new user as well.


1.11a
-----
1. The POP server name expanded to 127 characters from the earlier 15.
   No, nothing to change...completely backward compatible :)

2. Corrected the local window display in which the top status line would
   vanish if desktop windows were switched. (For example when using OD or
   any other virtual windows kinda stuff).

3. Corrected the per msgbase area compression flags check. You must have
   the compression in the BBS Action Flags for online compression to work.
   For example, if you have some msg areas marked for compression, but
   turn off the compression from the BBS Action flags, then the msg
   compression will not happen for any online messages. GateKpr and XMsg
   will still compress the messages for any marked areas from the outside
   though...as before...

4. Removed the time display from the local bbs window and put in the user
   handle there. Added the user handle and the current time to the main
   Adept status window.

5. Changed the name and corresponding action of the "No Compression" in
   the BBS Action Flags settings as it seemed to be causing some confusion.
   It's now called "Enable Online Msg Compression" and if added to the BBS
   Action enabled flags, will enable online msg compression in Adept.

6. Some minor GUI related changes...

7. The Colors ini file will now be of a fixed length. It will not keep
   growing (if req) with everytime the settings were saved.

8. All files in the current build are neither compressed nor LxOpt'd.
   I will do that only for a normal release version, ie., a version
   that does not have any letter in it. If the programs are LxOpt'd
   it will be mentioned in the readme...

9. None of the DLLs have changed from the 1.11 release...the incl DLLs
   are fresh compiles with no LxOpt. This does *not* mean they are
   slower or will require more RAM or any such thing...LxOpt only
   optimizes the page faults and for the small DLLs that we use, will
   not have a major impact, tho there will be some improvement if the
   files are LxOpt'd :)


1.11
-----
1. The xxx.Desc file was not displayed unless the user chose to display
   it from the read message prompt. Fixed!
   The default keys in the language.text file for displaying the
   xxx.Rules is U and for xxx.Desc is D.

2. Okay...this one is for me...wanted to do this for quite some time...:)
   The Local login, i.e., Line #0 will now be as consistent as possible
   with the other normal lines in the sense of logging etc. I was having
   to go and view the Line0 log in my testing all the time, now press
   PageUp to go to line 0 and the logging is there as it is for all other
   lines. Some minor changes in the way the PageUp/PageDn worked to
   accomodate this.

3. The POP passwords will be kept encrypted now, just in case some users
   do not trust us SysOps for some reason :)

   The encryption is quite reasonable and will take more than just a
   casual effort to go through...

   What this also means is that anyone using POP from any earlier build
   will have to re-enter the POP password at the very least. Also, the
   pop password will display '*' on user entry now.

4. Found some inconsistent code in the GUI, nothing serious, but corrected
   anyway. Mild display changes...someone might even notice :)

5. The Offline Tags for user could not be fully edited (set/unset) from the
   user editor, it would allow setting of upto area number 1024, now
   corrected to go upto area #10240 which is the current Adept limit for
   message and file areas.

   Once again, keep in mind the fact that the file indexes use only 4
   digits, and using area numbers over 9999 for any file area will cause
   some file searching anomalies...

6. Added the date/time to the local bbs window header display.

7. Corrected a possible trap condition while reading messages.

8. The dates display in the user editor is now localized as well.

9. You can now drag-n-drop colors and fonts to any of the main Adept
   windows and save the settings using Windows -> Save Status (^z).
   The VAC build no longer uses the Colors.Ctl file.

   The colors and fonts will be saved to a file called "NC_Colors.Ini"
   for now and a sample file is included which was made on a 64k color
   system so the colors might need to be tweaked a bit depending on
   your display.

   NOTE: Use the solid color palette to set up the colors if you are
         using 256 color, non-palette aware modes, otherwise you might
         experience the NetScape/2 effect, temporarily...on Adept
         startup with some displays :)

         There is one other thing to keep in mind, the Status and the
         Transfer boxes (the top 2 windows in Adept out of the 4) will
         not show the color change in the bottom half immediately. You
         can either a) mininize the window and redisplay, or, b) Restart
         Adept. The changes will NOT be there unless you saved the
         setting via ^z first!

10. Changed the InActive Line Logic. It now waits on the system rather
    than sit in a loop waiting and eating the CPU while waiting... :)

11. Fixed a trap condition in the user editor.

12. Found a few more lines of squish which slipped earlier, removed now.

13. Fixed some potential telnet/socket related problems.

14. Some more general cleaning and corrected some anomalies in some places
    to make things more consistent.

15. Some of the debug logging removed for this build...

16. I think I held it back enough for now :) letting 1.11 go as it stands
    for now...


1.10z
-----
1. Fixed a trap on shutdown which crept into 1.10y 'cause of the addition
   of the action flags to make some things optional that were not
   optional earlier. Nothing serious as all files were saved and comitted
   and all allocated RAM was free'd before the trap. In fact, that is why
   the trap occurred :)

2. The Prev button was after the Next button in the user editor :)
   Corrected now...

3. Re-arranged the user editor a bit to accomodate the new POP mail
   related fields.

4. The NNTP add/remove groups was no longer immediate since the NNTP
   server no longer keeps checking the disk all the time for add/remove
   drop lists...The addition/removal will be immediate now (as it was
   earlier) unless, of course, the NNTP is already running a poll.

5. The online message compression is back now and is controlled by the
   BBS Action Flags. The option name is "No Message Compression".
   If you remove this from the active flags, Adept will compress all
   messages written online and are greater than 512 bytes in size.
   This includes offline mail uploads as well...

   ********************************************************************
   The Default Value for this is ON. The option was not implemented in
   Adept was a different issue. It is implemented and works now. Make
   sure you turn it off by adding the "No Message Compression" to the
   active BBS Flags if you do not want to use message base compression.
   ********************************************************************

   Given the more powerful systems today, the online compression might
   well be feasible enough for most people. From what I gather, there
   seem to have been some problems with the online compression, let's
   see if there still are, maybe we can get it working... :)

6. The POP Mail get will now use the prompts from the Language.Text as
   follows:

   #951
   [Ans][Cvt][Str][0m\r\n\n[0;36mYour POP [1;33mPassword[0;36m: [0;1;36;44m               [15D;
   [Asc][Cvt][Str]\r\n\nYour POP Password: ;
   #952
   [Ans][Cvt][Str][0m\r\n\n[0;36mYour POP [1;33mServer IP[0;36m: [0;1;36;44m               [15D;
   [Asc][Cvt][Str]\r\n\nYour POP Server IP: ;
   #953
   [Ans][Cvt][Str][0m\r\n\n[0;36mYour POP [1;33mLogin[0;36m: [0;1;36;44m               [15D;
   [Asc][Cvt][Str]\r\n\nYour POP Login: ;
   #954
   [Cvt]\r\n\07Your POP mail has arrived.\r\n
   #955
   [Cvt]\r\n\07No New POP mail found.\r\n
   #956
   [Ans][Cvt][Str]\r\n\n[0;36mDo you want to save the POP information for future use[1;37m? [0m[[1mY[0m][2D[1;37m;
   [Asc][Cvt][Str]\r\n\nDo you want to save the POP information for future use? [Y/n] ;

   Prompts #951 - #953 and #956 are used by the menu option 931 when
   asking for input from the user and #954 - #955 will be displayed if
   the user has Monitor Mail processing off after the POP Mail thread
   completes processing.

7. Currently the POP mail get has been changed to a foreground only
  process and will display all related messages while getting mail.

8. The Accounting and Exception Handling will now take effect online
   when changed via the BBS Action Flags. The current Accouting dialog
   has been made smaller, since there was not much on it...

9. XMsg should now properly mark blank messages and remove them during
   a pack operation. I had plenty os users saving blanks msgs by mistake
   or design, specially the new users...this should fix it...hopefully...

   In effect, XMsg will now remove and msgs which have a size <= 38 bytes
   34 bytes are always there as the MSGID and another 1 for the eof, which
   means that any msg text <= (approx) 4 is gone!  These are generally
   space/enter and save, enter and save or just save...

   Just managed to remove 300+ messages from new users w/o having to read
   or even look at them.

10. Ok, here is how the POP mail get will use the required input fields.

    1) Any information entered via menu type 931, will over-ride any
       previously saved info.

    2) The information saved in the userbase will be used.

    3) If a server is not supplied by the user, the server from the
       INet config will be used.

    4) If the user does not supply a login name for the POP server,
       the user's handle will be used.


1.10y
-----
1. Fixed a problem in some cases when using compressed message bases
   the VAC compiled build would freeze and the WTC compiled build
   would trap. Also corrected a related, potential problem in the
   bluewave mail export.

2. Corrected a problem in the Adept startup. It could trap or freeze
   the system on rare occasions.

3. Cleaned up the mismatches between XMsg/GateKpr/Adept in the msgbase
   compression. Should no longer see the "an error occured reading..."
   kinda error message now...hopefully :)

   NOTE: The minimum compression size is now set to 512 bytes for all
         the programs. Make sure your config files (GateKpr and XMsg)
         are consistent with this change.

4. Corrected some area tags related inconsistencies...and some more
   general cleaning up...

5. Made the highest possible file and message area numbers consistent in
   Adept and all related utils. The maximum supported file or area number
   is 10240. Using any area numbers beyond this will cause Adept to
   ignore them with an error msg. Once again, keep in mind the fact that
   the current versions of FSys (0.99+) use only 4 digits of the file
   area number in the index, using any number beyond 9999 will result in
   inconsistent results on file search/list operations.

6. Added some more BBS Action Flags...I think we would have run out of
   command line length soon, so before that happens...here is the
   cleanup :)

   a) UnVerified User Menu

            This flag, if set, will call UnVerifiedMain.Menu instead of
            the regular Main.Menu for all users not marked as verified.
            This should help a lot of people to make things earier as
            well as make external CBVs easier to manage since there is
            no built-in CBV in Adept...yet :)

            Of course, as with all other menus, the order remains the
            same for this one as well...see the section for 1.10c
            point #9 for the details.

   b) No New User Alias

            This flag, if set, will not allow a new user to use aliases for
            a full name. See the section on 1.09.50r point #14 for details.
            This makes the /NC_FULLNAME command line option reduntant and
            is removed now.

   c) Drop Carrier On TimeUp

            This flag, if set, will force a carrier drop the moment time
            runs out for a user regardless of what the user is doing!
            This was added quite some time back, but is optional now...

   d) BBS Watch Thread

            This flag, if set, will start a Watch Dog thread for every
            user login and kill the login in case of problems after a
            timeout. I do not recommend using this option together with
            the Carrier Drop on TimeUp, but...it can be used :)

   e) No Timeout On Telnet

            This flag, if set, will protect all logins via telnet/vmodem
            from user timeouts. In effect, any Telnet/VModem login will
            not have the user time limits enforced. The users can stay
            logged in as long as they like...This was done on a special
            request and is still there... :)

   f) Enable Accounting Features

            This flag, if set, will enable the accounting features of
            Adept. This will make the /ACCT command line redundant altho
            i have left the command line option in place for now, it will
            be gone in the next release or so...

   g) Enable Exception Handling

            This flag, if set, will enable the exception handling features
            of Adept. This is primarily a debugging tool in case of
            problems. Not to be used normally.

   h) All Files Commit On Timer

            This flag, if set, will commit all open files on your system to
            disk every minute.

   i) System Log Commit EveryTime

            This flag, if set, will commit all Adept log files to disk after
            every line added to them.

   NOTE: The Enable Accounting and Exceptions will not come into action if
         changed online. You will have to re-start the BBS for that. This
         will be corrected later.

1.10x
-----
1. Fixed some minor inconsistencies in XMsg and GateKpr...mostly
   costmetic :)

   XMsg takes a wee bit more RAM now, but i gave it that since the
   processing speed almost jumped to 2x...plus XMsg will now accept
   a command line like "XMsg -A xact.fil", i.e., you can have a space
   or tab in between the -A and the filename if desired, the same
   applies to the action file itself as well...it can have tabs now...

2. Completely overlooked the userbase auto-update function Tower had
   put in while he was trying out the new user base system way back.

   Removed now...just in case it caused a problem.

3. Some more defines made consistent to ensure proper values in all
   places as there is so much of changing in progress...found a change
   related bug in the process as well...fixed now, nothing big.

4. Fresh full compile again since i had made some changes to make
   the code more consistent...just in case...well...I generally
   do a full compile anyway before every release, but this is the
   first time I have done it 2wice in a row within a few hours :)

   This should be a fairly safe and stable version...as most of the
   new additions/changes have now been verified as working.

   Now to move on to the next batch of changes :)


1.10w
-----
1. Broke the NNTP poll when I corrected the msg area editor. Fixed!


1.10v
-----
1. Tried to correct the file u/l and d/l timings and ratios now that both
   BFSMake and FileEd (purge will put in all the req permissions for an
   existing filebase) update the file permissions in the FileBase according
   to the current File Area Flags.

   Although this should be more configurable, but currently the offline mail
   will not be counted and the time given back, the file time/bytes will
   depend on the d/l'ded files settings/perms, the u/l files, as usual will
   pick up the factor to give back from the File Area settings.

   For file uploads, the time factor to give back is checked first, if that
   is zero, then the file area flags are checked for the up back attribute
   before deciding on how much time to give back to the user.

   Hopefully i got it right...maybe :)

2. When I changed the NNTP and the Addresses to drop down lists in the
   message area editor...I completely forgot to change the save process
   to reflect the changes...This did cause some grief to at least one new
   Sysop using the msg area editor since then to save. For some strange
   reason tho, this seemed to have no effect on the addresses, but the
   usetag tag would never be saved...Fixed!


1.10u
-----
1. Completed some incomplete stuff in AdeptRexx. Might not really have
   been noticed except that i was fiddling around as usual :)

2. Corrected a minor flaw/inconsistency in the user editor dialog which
   would not accept next/prev after defaulting to the last user online
   till you went into find. Works as expected now...

3. You can use tabs in the config files now in case you prefer manually
   editing them...Adept would not accept tabs earlier.

4. Well...although I did make an attempt to correct the msg/file areas
   selection for menu types 46/47, but I completely overlooked the fact
   that it cannot be done properly w/o changing the userbase structure
   as well as the BBS config. Currently it's back to the way it was, will
   correct and change the structures after a 1.11 or 1.20 release version
   so we have something which is completely backward compatible and stable
   to use while changing over to the new user base and bbs config as it
   might take some time to stabilize...

   This correction, once done, would allow an easier implementation of the
   File and Message area groups as it seems to have been planned in Adept.
   Will also implement 2000 safe stuff, as well as enhance the filebase to
   cater to Adept more closely as it should.

5. Added 2 new user manipulation functions to Adept REXX, similar to what
   Hagar had added to the WC build earlier, as follows...

   UserData = AdeptGetUserVarByRecord( Line, RecordNumber, UserVariable )
   Call AdeptPutUserVarByRecord Line, RecordNumber, UserVariable, UserData

   The UserVariable number is the same as defined in the AdeptREXX docs.
   The RecordNumber is *not* the same as the user id, rather the index
   of the user record in the userbase. The index starts from 1 *not* 0 :)

   As before, note the fact that Adept does NOT cater to changing the user
   name although you can change it via REXX or the user editor...If you must
   change the user name, make sure you run uNuke /r right after the change.
   Changing the user handle is ok :)

   I know, I know I'm using fn names which differ from what Hagar used, but
   AdeptGetVarByRecord and AdeptPutVarByRecord did not really make much sense
   to a dummy like me, so I added the User in between... :)

6. Changed the way the NNTP Server used to time the polls for news. It now
   uses the system timer instead of checking on the time by itself to decide
   when to start the next poll. This will not only make the NNTP poll more
   accurate, but will also eliminate the redundant file i/o calls it does
   to check for it's drop files regardless of the poll time set in the Inet
   config.

   Ok, ok...net result is, NNTP no longer uses the CPU in between polls as
   it did earlier...there, that should be a simpler version :)

7. I re-enabled the VAC specific opts which caused some probs on one system
   only so far since there have been more changes and cleaming, it might not
   cause a problem anymore...


1.10t
-----
1. Well...the new beta compiler FP seems to have fixed the locally scoped
   vars prob, but still has the bit twiddling bugs...just for info :)
   Back to the earlier release FP again...

2. Adept Status will now display the last caller's name on startup,
   assuming there was any caller at all :) This does make a wee bit
   of sense also from the user editor's view poitn as the user editor
   now defaults to displaying the last caller for the line in focus.

3. You can now toggle the show birthday using menu type 633 for the
   verbose user listing (menu type 43). The bday, if displayed, will
   be localized. The setting is also available from the user
   editor -> attributes.

4. Added a new flag to the BBS Action flags "Always Save BBS Status"
   which will save the BBS window positions everytime Adept is shutdown
   normally. In effect as if you presses ^z before shutting down Adept.

5. Changed the way the local and netmail file attaches worked making the
   /NC_NOLOCALFILE and /NC_NONETFILE redundant. These command line
   options no longer exist as the option of being able to attach files to
   messages is now a part of the user attributes.

   The new flags "Allow Netmail File Attach" and "Allow Local File Attach"
   have been added to the user editor -> attributes settings.

   This has been added to previously un-used user attribs and by default
   should be off for all users unless someone had been fiddling with the
   user file directly... :)

6. The Help -> Author dialog has some information filled in now...more
   to come later.


1.10s
-----
1. Completely forgot to remove the \Adept hardcoded path from the DOS
   door runner menu option. It uses the base Adept path to pick up
   VX00.Sys and ANSI.Sys.

2. The local BBS window, would not appear in the tasklist, so if you
   minimized it...well... :)
   My CoSysop tried to clear the desktop to see behind the BBS...

3. Corrected a slight display problem with the line editor and some
   other pesky stuff which i am not going to document as it does not
   really matter to anyone else but me :)

4. Removed the ^A kludge from the new menu driver...it should no longer
   be required (I hope...). I use ^A from neplace to get the allfiles
   list for the leeches :)

5. Cut the mem reqirements back to the original slimmed down ones for
   the VAC builds. WC required more and I forgot to change it back...

6. Added some more carrier checks, some code re-arrangements to optimize
   stuff and added more logging (optionally) for the future use of the
   existing extended logging features already in Adept. Now we Adept
   Sysops should be able to show off our cool Adept threads :)

7. Added an Author Info Dialog to the Help Menu, which I will expand on
   to display the currently active settings for Adept and allow changing
   some that can be changed online before i plug them into the BBS action
   flags or some such place where they should be after they are out of
   a reasonable trial period.

8. Fixed fList for config file read/process problem and not prepending
   files properly. You can now use spaces or tabs in the cfg file.
   fList will now run at minimal normal priority by default rather than
   the idle priority as earlier. You can use /L on the fList command
   line to run it on idle priority as before if required.

9. Please note that since version 2.1x (not sure which x it is now), the
   Hagar build is no longer backward compatible specially if you have
   been running all of the updates. You might have to clean out the
   BBS and Line config files and re-create them to use the VAC version
   which is still completely compatible with all older versions.

   In short, the old idea of drop in replacement no longer applies to
   the Hagar builds and if you use that, do not try the VAC build with
   the same config files.

   As for the new menu driver's *.bin files, no need to bother about
   them, the VAC build will auto-adapt for those if required...at least
   for now, unless Hagar changes something else there which will make
   the auto-adapt incompatible.

   There seems to be some change in the mailer as well in Hagar builds
   as wikk (bkirby@prismnet.com) tried out some polling which worked
   fine when using VAC to VAC but failed on VAC to Hagar's WC builds.

   I have no idea on this as all the other Adept Sysops here use the VAC
   build and we have had no problems in polling. If indeed there is some
   change in the WC version I am not aware of it and will not touch the
   mailer in the VAC build for 2 reasons...

   a) it works fine for me and most others who use it

   b) There is a lot more to be done in Adept w/o going into something
      that works reasonably well anyway.

   Lastly, as already put up in the Adept mail list by Hagar, version
   2.15+ use different config files, so do *not* try to use the WC/VAC
   builds on the same set of configs. CServer has also been changed for
   the Hagar (WC) build 2.18+ which means that you have to use the right
   CServer.Exe with the WC/VAC versions.

   Finally :) the whole point about #8 so far is, if you are using
   both WC/VAC builds, and unless you are using clean configs for
   both, please do not email me about bugs/problems as I cannot
   re-produce or fix and garbled up config related probs as the
   config files are assumed to be correctly set up by the SysOp.

   Also, please note that I do not recommend using any of my VAC built
   EXEs or DLLs with Hagar's builds as I am not aware of the changes
   that might be there which could cause problems if any of my VAC
   built stuff is used with the WC builds.


1.10r
-----
1. Corrected an old problem while saving a user record from the user
   editor which would require running ReIndexUsers before the userbase
   started functioning as it should.

   NOTE: Adept does not cater to editing the user name from the user
         editor! If you must change the user name, then you MUST run
         ReIndexUsers right after that!!!

         Make sure you run

                          uNuke /r /q
                          ReIndexUsers

         before starting up with this build as it will also adapt to
         the last user id on every startup instead of letting it run
         wild which degrades the response time in general.

         Would be best if you if you had these lines permanently in the
         .Cmd (or whatever) that starts up Adept for you. Some parts of
         Adept may not function as they should if the above 2 are not run
         before starting up Adept...every time!!!

2. Corrected the Delete button behaviour for the User Editor when called
   for the online user from the local login window view. It was
   inconsistent with the changes to the normal user editor which were
   made earlier. The online user is a wee bit redundant now as the normal
   user editor will now, by default, select the last login (which is also
   the current user if logged in) name to edit.

3. Finally fixed the ZedZap transfer trap on a carrier drop. The problem
   is documented under 1.09.50v #6. Of course the forced handlers have been
   removed now which did not help anyway since i did get the trap here...
   Whew!!! :)

4. Added the POP3 get support to Adept. The interface for setting it up in
   the GUI I had done earlier, now filled in the backing code :)
   Here is how it works for now...

   a. Add the POP3 server address to the Internet config and check the
      POP3 receive option next to it.

   b. The User Editor will allow you to enter a password for the POP3 server
      for any given user.

   c. For Logging into the POP3 server, the existing user's handle will be
      used. Of course the user, or you, the SysOp, can change the user Handle
      if required first.

   d. The POP3 get is independent of the user carrier state, once started,
      it will run to completion unless there is some POP3 related error.

   e. Menu Type 930 will start the POP3 mail import for the user currently
      online and 931 will allow the user to set/change the POP3 password.

      The type 931 is there just in case if there is a requirement and uses
      the normal password prompts (which might be slightly incorrect :))

   f. The mail (if any) will be imported into the message area pointed to
      in the Inet config for SMTP mail.

   g. SMTP and POP3 gets can be used togther.

   That's about it for now, till I get some more feedback on this. The user
   who selects to get POP3 mail will not be notified in any way if there is
   mail which has come in, a new mail check will do that anyway so I have
   not put in any notification of errors/new mail got from the POP server
   etc. for now...


1.10q
-----
1. There seem to be some problems in the VAC/WC mix, so, switching back to
   VAC for all the DLLs and EXEs.

2. Fixed the VAC XMsg problem of buffers and not processing the action file
   works fine now. It was yet another RTL difference. Optimized it some...
   seems to be slightly faster for my small usage now...can't say much about
   the performance for larger msgbase bbses.

   Keep in mind the fact that this is still considered to be a beta ver
   till i get confirmations from other people who use and verify it's
   functionality...

3. Removed the extra code I put in to process the menu type 3 for the new
   menu driver, it's now done in the existing (older) code saving some
   space...


1.10p
-----
1. Corrected some inconsistencies in some of the display code which might
   have caused problems for some people...rare case...

2. In case I forgot to mention this before, try to keep all message/file
   area numbers within the 1-9999 limit. The file area indexes are built
   using only 4 digits and using numbers > 9999 will have some undesired
   effects. Hopefully this might not be a problem for most people :)

3. Optimized the bit-twiddling macros.

4. Menu Type 3 for the new menu driver should function the same as the
   old classic driver now...hopefully :) Would appreciate if someone
   could verify this...

5. More cleaning and pruning...nothing too serious :)

6. Added a drop down list for the usenet tags to the message area editor
   and enhanced the editor save so that it will not save anything that is
   not required based on the message area attributes. For example, the
   editor will no longer save addresses for on echo/net areas and if the
   no origin is set, then the origin line will not be saved, if the usenet
   attribute is not set no usenet tags will be saved for that area etc etc :)

   Do let me know if i missed something in here...Of course you can always
   manually change/edit the message area file as usual...


1.10o
-----
1. Corrected the REXX sub-system for a compiler bug (bug is in both VAC
   and Watcom). Neither compiler can handle aliased assignments of nested
   structure pointers with or without optimization.

   With Watcom this problem was not apparent as it validates for all free
   calls, with VAC though, it was a gotcha...TRAP! :)

2. Added uploader name field to fList.


1.10n
-----
1. Made a cosmetic change to the user editor. The delete button will now
   show "Restore" is a user is marked as deleted and vice-versa. Also,
   the button will be disabled if the user has the no kill flag set which
   will reduce the chances for related errors...Of course, you can still
   manipluate the flags directly and do whatever from the Attributes/Flags
   dialog, but made the main del button a wee bit safer to operate :)

   So...next time the VAC build does not let the SysOp login, you know
   why...visually...from the user dialog editor :)

2. Fixed the Groups pull down in the user editor, it would show an ever
   growing list of the same groups...The list would keep growing every
   time you changed the user rec, for example, clicking on Next 10 times
   would show the same list 10 fold.

3. Corrected and Accounting related problem for people who might not be
   using it...

4. Changed the default all files commit (flush to disk) on the status timer
   to off. Specifying /NC_COMMIT on the command line will enable the all
   open files flush every minute.

5. Corrected some more potential rexx related problem stuff...and fixed
   the so called "telnet" script that most people seem to be using.
   Please keep in mind, the telnetsnoop is not telnet, it's a character
   get from user and block get from the other end, it's not a link as
   telnet should be, block send/get both ways.

   For actual telnet, use the original Telnet script, which is included
   as Telnet-O.Cmd in the modified TelnetNC.Zip.


1.10m
-----
1. The automatic diz extraction was broken in file uploads...Fixed!

2. If a BadUpload.Cmd did not exist, Adept would not delete the bad
   uploads...it will delete all bad uploads now unless it finds the
   BadUpload.Cmd file which will be run instead of deleting the bad
   uploads.

3. After an upload, the description editor would not check for user
   time left, which made it possible for a user to keep a node hanging
   for as long as they wanted...the editor will now check for the user
   time online etc...

4. Added a SysOp mail indicator to the status info. It will come on if
   there is any personal mail waiting for the SysOp along with the number
   of the messages.


1.10l
-----
1. The Watcom 1.10k did bring out a problem in the SMTP send, I had reduced
   the thread stack which did not work with the Watcom build, fixed now for
   the Watcom builds. The default will be higher for Watcom builds...

   I found something very interesting from the beta VAC fixpak fixes...
   besides other stuff, there was one thing that affects Adept in
   general..here is what it sez...

AP 72949  RT         Whenever a DLL built with VisualAge C++ is loaded
                     and freed by a program not built with VisualAge C++,
                     the runtime will leak 64K of address space.

  Since at least the gio and nntp (which incl smtp) dlls are VAC created,
  I will be switching back to VAC for the Adept and CServer Exes, but will
  make all other DLLs and utils in Watcom for now...

2. Yeah well...i did back out of the beta fix for the above reason :)
   The Adept and CServer Exes are now VAC built again...DLLs and other
   utils remain Watcom, till we get an official fix for the VAC DLL
   problem.

3. As per wikk's suggestion, this section moved to the top of the readme :)


1.10k
-----
1. Cleaned up some more code...the Watcom build works equally well here...
   over 24 hrs now...the one incl in the 1.10j archive might have had some
   probs on some configs...

2. Corrected another cheat introduced as a side effect by one of Hagar's
   earlier kludges which would allow users to d/l all they wanted...
   The kludge is gone, but the functionality w/o the cheat remains...

   The kludge itself was never really required as the original code had
   all that was needed for the changed functionality.

   The cheat is not documented right now for obvious reasons, but if you
   are an AdeptXBBS sysop on the AdeptNet list, you can ask for more info
   about it to check out on prior versions if req...

3. Put in a forced exception handler for SMTP since we have no control over
   that for now, this should keep Adept from trapping on that...

4. Switching to Watcom for this and some future builds just to make sure I
   have all the code cleaned up and working for either compiler...this might
   sound experimental :) but trust me...the Watcom runtime libs are far more
   safe than VACs, WTC is forgiving, VAC is not...so if the code was stable
   under VAC, it should be even more so under WTC.

   Also, since WTC does not add any extra localization/msg related stuff on
   it's own, the files compiled by WTC will generally be smaller in size...

   Of course this has nothing to do with the fact that i working on a
   project where I have to use Watcom anyway, nor the fact that I applied
   a beta (unofficial) fixpak to VAC which completely broke the localized
   scope stack processing and am too lazy to back out and would rather wait
   for the official fix... :)

5. Fixed the user file upload process...it would save the file in the file
   base even if the user dropped carrier on enter description and anyplace
   around that time...It should now call badupload...

6. Re-enabled the FTS-0001 menu option...will try to fix this as and when
   I can get the hang of it...BTW, only the menu option is enabled :) as
   this flag does effect the behaviour of YooHoo...

7. I have lxLite'd the Watcom exes (not the DLLs) to reduce the disk i/o
   during program loading...might help, in case anyone has a problem,
   try to unpack using lxLite 1.2.0 or e-mail me about it...


1.10j
-----
1. The minutes displayed in the download prompt was showing seconds...Fixed!

2. Localized the FList program. FList is an AllFiles.List kinda proggy for
   Adept...

3. Recompiled FUtil with P5 opts. FUtil is a cmd line filebase manager for
   Adept. Please refer to the original Adept docs for more info on these...

4. Included both Watcom (Adept-WTC.Exe) and VAC compiled (Adept.Exe)
   files...both compilers differ in some respects so having both builds
   might help further eliminate the vague compatibility problems in the
   code if any are still left...The Watcom build, like the VAC one has
   all optimizations turned on to bring out any possible bugs arising
   due to the optimizer...

   BTW, there is NO debug code in the Watcom build...the size difference
   between Hagar's and my WC exe is that Hagar has compressed the exe
   using LxLite and I have not...If LxLite'd exes have no problems on
   your system, feel free to compress the WTC and/or the VAC builds...
   Just remember to use the newest version of LxLite...currently 1.20

5. For those who might be interested, if you want to use the new beta FP #2
   you must back out of the OS2KRNL file and comment out the
   DEVICE=X:\OS2\MDOS\VW32S.SYS in the config.sys, otherwise....:)

   Of course you might want to back out of VW32S.SYS as well if you use
   it...(ugh :))

   Interestingly...the in same code, the VAC build generally freezes OS/2
   whereas the Watcom build re-boots OS/2...duh...talk about vague :)

6. Corrected the GateKpr PM version behaviour on startup...it would always
   go behind other open windows regardless of the command line chosen to
   run it...


1.10i
-----
1. Finally managed to figure out possibly the last invalid free memory
   related trap that was proving to be quite elusive, ever since I
   re-did the entire mem allocs... :)

   This would generally occur in the delete operation of a tagged file
   list.


1.10h
-----
1. The upload disk space prompt will now be picked up from #915

   #915
   [Cvt][Str]\r\nUpload disk has %s bytes free\r\n

   Please add this to the Language.Text

2. Removed some more redundant and debug code...

3. Fixed a bug which came up when I added the validation checks for
   msgbases which would not save the messages written online...


1.10g
-----
1. Re-arranged some more startup sequences...

2. Attempted to make some displayed numbers more readable :)

3. Added the password to the logging on a bogus password entry...

4. Corrected a potential problem with the address loader. It would fail
   to correctly load up the BBS addresses under certain conditions
   causing Adept to trap on startup.

5. Adept will no longer attempt to drop DTR on an inactive line on
   shutdown...let's see if this really helps...

6. Made a slight change in the local window display routine...might help
   someone :)

7. Adept searches for its files in the following order:

    path -> apath -> dpath -> Adept\System -> Adept\Mailer

   Please make sure that you do not have files like Addresses, Archivers
   etc duplicated. Will try to change this so that Adept looks for its
   files only in the Adept base dir and dirs under it...

8. Removed some more code that is not currently in use...

9. The time stamp in the log in the Recent events is now localized.

10. Some of the metas that return numbers, will now be local formatted
    with commas (or dots whatever :))...will eventually try to complete
    localizing all of them...

11. Changed the way Adept now searches for it's files...it will now look
    for them firstly in it's base dir, then the system and then mailer,
    failing this, it would then try the APATH and DPATH. Should speed up
    the load time in general if nothing else...Plus this would minimize
    the change of having a dupe file of the same name somewhere in the
    path incorrectly picked up by Adept for itself...

12. Changed the date display prompt in the birthdate change (menu type 156)
    to display the localized date format. This would require a slight change
    in the Language.Text file for prompt #320 unless you don't mind the
    dd or mm to display as 4 digits :)

   #320
   [Ans][Cvt][Str]\x1b[0m\r\n\n%02u/%02u/%02u
   [Asc][Cvt][Str]\r\n\n%02u/%02u/%02u

   Preferrably put in a 04 instead of a 02 where ever the year comes in
   for your locale. This will most prolly again change once all the
   localization is in place. This still has the seperator chars hardcoded...

13. Formatted the d/l prompt numbers as well, but they will now use the
    prompts #912 and #913 instead to maintain compatibility with Hagar's
    versions. Just Add the following to your language.text file...

    #913
    [Asc][Cvt][Str]Transfer Size: %s bytes\r\n
    [Ans][Cvt][Str][32mTransfer Size: [36m%s [32mbytes\r\n
    #914
    [Asc][Cvt][Str]Transfer Time: %s min, %s sec (appx)\r\n
    [Ans][Cvt][Str][35mTransfer Time: [36m%s [35mmin, [36m%s [35msec (appx)\r\n

14. Extended the display files in a few places i missed out earlier...

15. Added message validation to the online/offline/smtp/nntp mail as per
    the XMsgBase specs. Might help solve some msg base probs...


1.10f
-----
1. Re-arranged the startup loading...seems better this way...let's see...

2. Cleaned up the shutdown...although the compiler libs would have done
   it anyway, but in case there is some problem we would never get to know...

3. Added a valid user name check to the usersrvr.dll just in case...did the
   same for uNuke earlier...

4. Fixed a SMTP problem carried over from the last version. Would cause
   Adept to trap if there was any mail in the IMail dir on startup.

5. Fixed the irritating, automatic, msg to "All" in private msg areas when
   enter was pressed on the To line to leave blank...It would force the user
   to enter a To: line before allowing a quit...

6. Improved the PMI processing speeds...should be substantially faster...
   specially if using SMTP. The related disk i/o also has been halved.

7. As for the date display...please let me know if i have missed out a
   date display anywhere. The searching will prompt for YYMMDD as that
   is far more logical, but other displays should be in your own local
   format...

8. Releasing 1.10f now 'cause of the fixed #4.


1.10e
-----
1. Fixed a trap in the message area editor for 1.10d but is documented as
   a part of 1.10e since only the exe was updated in the archive.

2. The User base files can now be copied etc if no user is logged in,
   local or remote. This might well make the nuke user file option I
   added earlier a bit redundant, but i'll leave it there for the
   lazy people like me :)

3. Improved slightly more on the message threading...should be more
   efficient now...

4. Localized the date/time stamp for the trap.log file as well...

5. Corrected a problem with the drop-down list for addresses in the
   message area editor...selecting next/prev area would keep adding
   the same addresses to the list over and over...no big prob, just
   incorrect and irritating :)

6. Pinched mem requirements again...since I do have most problems fixed,
   I guess it is high time we found out what the min req is that works
   for most people...

   The current mem settings never worked even for me earlier...they do
   now :) let's hope and wait and see...

7. As per #6, just checking out this build with the beta linker again :)
   Hopefully there would be no problems for anyone this time...

8. The user editor will now directly go to the last callers record for
   the line that has the current focus rather than the first record all
   the time as it did earlier...

9. Added the non-correcting modem callers option to write online messages
   to the BBS Flags rather than forcing the issue for all :) By default,
   it is off. Check out the flags in the Config->BBS->BBS Action Flags.

10. Fixed a rare case compiler library dependent problem thanks to Dutch :)

11. Localized the date display in the file listings...

12. Had not planned on releasing 1.10e yet, am doing so 'cause of #10...


1.10d
-----
1. Fixed two of my earlier blind global changes in the REXX sub system...
   those 2 should not have been changed...duh...

2. Corrected the login new user yes/no puzzle...will correctly handle the
   yes/no input now, will carry it over to all other such places
   gradually...

3. Fixed another of my problems...Adept will no longer allow callers with
   non-correcting modems or any non-correcting connect to write any message
   online :)

   It will now display the prompt #912 from the language file...

   #912
   [Cvt][Mta]\rSorry, Non Error Correcting Modem Callers cannot write online!\r\n{PC

   Anyone using external editors for Adept will have to check the connects
   flags there...this restriction is place only for the built-in Adept
   Full Screen as well as the Line Editor...

4. Corrected a small potential problem in the NNTP section...

5. Added the archiver selection in the user editor -> More.
   Fixed the protocol selection while I was at it....

6. Changed the format of the dates in the user settings to YYMMDD to
   improve consistency with the rest of Adept.

7. Made a drop-down list for addresses in the Message Area Editor. Dutch and
   one more (i forget who) suggested that it might make things easier...

8. Some more cosmetic changes...is it any better? dunno...you tell me :)

9. Localized the date/time stamp in the log files. Please let me know if
   you get the incorrect format of the date or time in your log files now.
   It should display in the format set for your OS/2 config.

   Would also like to know if I should leave it localized or make it
   consistent with the rest of Adept as YYMMDD...

10. Please make SURE that the the language file is corrected for the
    following problem. The file included in the full VAC release is
    incorrect as far as the message threading keys are concerned...

    The thread to keys in the prompts #379, #380, #381, #382, #383,
    #384 and #385 should match the key in the prompt #901

    #901  (Next Page, Prev Page, Over, Abort, Reply, Forward-thread, Backward-thread, Quit-thread, Kill, Move, Copy, Locate, LocateNext, LocatePrevious, #Msg, Description, rUles, =Again, Scan, Without stopping, !Toggle Ctrl-A, LocateUser)
    [Str]NPOAR+-.KMCL/\#DU=SW@! X*~:

    The full install VAC version had the keys displayed as + and -, but
    #901 had [] which would never work....sorry :)

    Please check out your language files anyway and correct if required!

11. Improved on the message threading...should be substantially faster now...
    and not eat up the CPU when users read threaded messages online. This
    would generally be far more apparent in private or public/private mail
    areas, specially if private only and the user had no messages to them.


1.10c
-----
1. Fixed FSys.DLL (now v 0.993) for a rare over-run problem.

2. Updated FileEd to 0.33b at the same time...

3. Made all the display/menu files checks consistent. Please let me know
   it any particular menu/text file is not displayed when it should be,
   possibly a typo on my part. Works for all I have on my board, so should
   not really be very many problems...

4. Added an unsorted list option in the user editor find and made it the
   default. To see a sorted user list (as before) just un-check the
   unsorted check box. I always missed the ability to look at the newest
   users 'cause of the sorted list, so... :)

   The Find box will also display the number of users in the user base.

5. Just some more futurisitic UI changes and more fiddling as usual :)

6. Corrected a problem in uNuke which would cause it to trap in some cases
   of grundged user name/handle. Corrected the same problem for XMsg as well.

                   ********** WARNING **********
   PLEASE NOTE: The included XMsg.Exe is something
                that does seem to work all right here,
                but use it on a backup first before
                deciding to use it on a regular basis.
                   ********** WARNING **********

7. Some people might not be quite aware of the fact that you can do all the
   user and the message base maintainence from the nuke user file option in
   the program menu.

   When you select the nuke user file option, all lines are de-activated and
   the user file close and AdeptUserNuke.Cmd is called. After this file
   finished execution, the lines are activated and the user file re-opened.

8. Corrected some potential problems in the REXX sub system.

9. Started work on extending and standardizing the pre-defined display and
   menu files. They will work in the following order now:

   MainxxNC.Cmd -> MainNC.Cmd -> Mainxx.Cmd -> Main.Cmd -> Main.Menu
   Mainxx.Asc -> Main.Asc

   The only current exceptions are the Levelxx.Asc and the Groupxx.Asc.


1.10b
-----
1. Forgot to disable the exception handler in qwk related fns which would
   cause Adept to trap in case of repeated errors...Fixed!

2. Removed some more un-used code...(just a few lines, not much :))

3. Pulled out a cpl of the forced exception handlers since they might not
   be required anymore...

4. Added the Adept version number to the Trap.Log information. I got some
   Trap logs in the past with no indication as to the version of Adept
   that caused it.

5. Some more meddling and fiddling...let me know if you actually notice :)


1.10a
-----
1. Left a small problem in the shutdown menu not being enabled in some
   cases...Fixed!

2. Corrected the security checks etc in the new menu driver as per the
   original Adept documentation. The old menu driver was ok...the new
   driver will function more or less in sync with the original now...

   Will check out Hagar's port flags implementation before i add them
   to ensure compatibility later...currently the port flags are not
   implemented...

3. GateKpr fixes a TIC prob as pointed out by GrKnight...don't ask me
   what...I have no idea on tics and fleas :)


1.10.00
--------
1. Well...this would have been 1.09.51f but since Hagar decided to jump
   over to version 2.0, I guess it's best if I change to 1.10+ from now
   on to avoid the previous confusion over 1.09.xxx :)

2. Cleaned out some more test code which i forgot about while testing the
   file list display earlier. Would have caused a trap under some conditions
   while displaying a file.

3. The 51e corrected probs remained in the REXX sub-system...Fixed!

4. The new beta VAC linker i used in the last cpl of versions seem to have
   problems on some configurations and the DLLs were not always usable with
   the Watcom build...switched back to the normal linker.

5. My old removed message base trap came up again...got it fixed this time
   I think...:)

6. Changed the check for file presence logic to be faster now...will try to
   change in all places in Adept with time...

7. Some more petty changes...:) Maybe someone else besides me will notice
  'em as well...

8. Corrected the LMR problem when the messages exceed the max number
   allowed to d/l. It used to set the LMR to the last message regardless
   of the fact if the message was actually packed or not.

9. Adept will now play the file "AdeptSysOpPage.Wav" if found when the
   page sysop option is selected, otherwise the normal beeping as before...

10. Some checks added to the BBS Watch thread...hopefully to avoid the
    cases when it freezes the local display after a kill...happens on
    rare occasions, till i figure out the exact conditions, this might
    help...let's see...


1.09.51e
--------
1. Duh...my fault, I left some test code in 51c and 51d which would have
   caused traps during message writing and qwk as well as text export. It
   (the debug code) was not supposed to go out in a release :(

2. Some more code re-arrangements...nothing added..


1.09.51d
--------
1. Forgot to un-comment one Outbound re-scan statement...no big deal,
   but...:)

2. Removed some useless stuff I had put in earlier and forgot :)

3. Reverted back to the VAC beta linker to re-confirm if that was ever
   the real cause of probs some people had or was it just me :)

4. Modified FSys.DLL for something that *might* have caused an incorrect
   index to be built and maintained based on any invalid area number or
   file date.

5. Corrected GateKpr so that the pkt headers for netmail now have the
   correct routes as per the specs.

6. Updated BFSMake to update the security levels in the filebase as Adept
   itself does on any uploads. BFSMake will also update the costs field in
   the Filebase if req. altho this is not currently in use...

7. Updated FileEd to .30b to account for most of the above mentioned pesky
   probs to offer an easy path to update the filebase without shedding
   tears :)

8. Added the FREE FILE check to Adept...a FREE file means to time/byte
   check. There is a small problem with this though due to an earlier
   addition...the status timer which checks for the user timeout and
   drops carrier if the user times out will still throw out any user
   d/l a FREE file if (s)he runs out of time during the d/l...

9. Some other related stuff yet to be plugged in...will do that a bit
   later...


1.09.51c
--------
1. Corrected and invalid free in CServer which would cause it to trap the
   moment there were more than 2 users using the chat...

2. Missed the phone number entry and the Address prompt/re-prompt after
   help (TAB)...Fixed! It will now re-prompt properly

3. Removed the un-necessary kludges put in earlier for the user time cheat
   and related stuff. The kludges were never required, only one incorrect
   check in the original code caused this problem. The kludges are now
   gone leaving the code cleaner and more functional.

   Even on a carrier drop in the login procedure will not display news
   all over again to the user...

   Do let me know if any one finds any problem related to this...

4. Cleaned up some more display related kludges which were generally not
   required AFAIK...maybe I am wrong...do let me know in case there is any
   anomaly left...Lotsa delays/kludges gone...might have some display side
   effects in case i missed anything...should not have any effect on the
   BBS functionality...

5. The only display side-effects I have heard about so far is the recent
   events and the outbound window not having any display on startup. This
   is nothing to worry about as the events box will start logging the
   moment anything happens and the outbound will be re-scanned within 5
   mins (the default outbound re-scan time). There were kludges/delays in
   the code to work around this which are now gone!

   The kludges were system/config dependent anyway AFAIK...so, they
   *could* cause the same effect given the right system config...

6. Corrected a small problem while reading messages...a hang up on the
   prompt would take a while before coming out of the bbs.


1.09.51b
--------
1. Found a small problem in the display during the search file functions.
   If you enter a single character to search for, and the character happens
   to be the character M, the the highlight function fails due to m being
   an integral part of the ANSI sequences and the M is splattered all over :)

   IMO, searching for a single char is useless, so the file search functions
   will no longer accept less than 2 chars to beging a file search.

2. Added the ability to stop the offline mail packing using either ^K or
   the SysOp defined stop key in from the Language.Text file. The default
   is the upper case S as shown below...

   #900  Yes, No, Stop, Pause, Quit, Tag, View, Non-Stop, Edit-List
   [Str]YNSPQTVCE

   I changed it to the Escape key for myself...if you want to use the escape
   key as the stop key, just cut-n-paste the lines below in your own Lang
   file replacing the existing lines...

   #900  Yes, No, Stop, Pause, Quit, Tag, View, Non-Stop, Edit-List
   [Str]YNPQTVCE

3. Improved the breakout ability in the file search. For example, if your
   search string is not found anywhere in all the file areas, you could not
   break out of the search earlier. This is fixed now...:)

4. Changed the default new user birth date entry to YYMMDD to be consistent
   with the rest of Adept. This would require a modification to the current
   Language.Text file...change the existing #320 to read

   #320
   [Ans][Cvt][Str]\x1b[0m\r\n\n%04u/%02u/%02u
   [Asc][Cvt][Str]\r\n\n%04u/%02u/%02u

5. Changed the order of the Date in the User Editor as well to the same
   YYMMDD format for consistency. Also added shortcuts to the various
   buttons in the user editor.

   Ok Ok...why the date format changes?

   a) to keep a consistent interface, and,

   b) I do aim to localize them later :) but I do need to get them
      consistent first...


1.09.51a
--------
1. Changed the default font for the Events and OutBound box... :)

2. Changed yet another mem alloc to be consistent...

3. I think i got 'em all now...all mem allocs have been visited and
   revised where required...

4. Added the ability to change the outbound path in Adept via the
   Config -> BBS -> Misc Paths menu...Although you could always have used
   the environment variable to configure it, but seems some people had
   probs finding the outbound dir...

   This change uses an un-used part of the BBS_Configuration file (most
   prolly reserved for such future extensions :)) and will be transparent
   for all purposes...

   The environment variable will still over-ride the Path set in the
   outbound as it should...

5. Put back the line in-active menus on the status RMB as they were
   earlier, but now the main mailer menu also reflects the change...
   Also changed the menu text to be more accurate...i.e., Toggle :)

6. ************ NOTE *************
   I forgot to document a required fact about the 51 release....If you use
   the Archivers file from the full installation archive of 51 (VAC), then

   a) either remove all the pkzip/2 2.50 related entries from it, or,

   b) run pkzip/2 with /config /nozipextension FIRST and then make sure
      you have PkZip/2 2.50 in the path...


1.09.51
-------
1. Found yet another small mem leak...fixed!

2. I am hoping that this version would be quite stable...:)


1.09.50z
--------
1. Oh well...after all those offline mail changes, i still forgot a little
   something in another place :( Anyway, this time it should be fine!

2. Got a rare case trap in the message reply section, fixed on a temp basis
   for now...till i can figure out why it got to that point in the first
   place...

3. The Caller log will no longer save the local login info.

4. Some cleaning and re-shuffling as usual...experimenting as usual :)


1.09.50y
--------
1. Added the option to save the BBS and active line config files to disk
   from the programs menu.

2. A re-prompt would generally not actually re-prompt :) i.e., would not
   re-display the prompt, but would cycle back to gather the input. For
   example, press the help key (TAB) while entering your name at login
   and you won't see the prompt to enter the name again...this is basically
   a language file prob...incorrect definitions...will try to correct all
   such instance and include an updated file in the archive...

3. The Adept.Help can now have metas/ansi/adept codes in it.

4. The password would display after a re-prompt instead of *...fixed!

5. The caller logging is back...optionally...for now...specify
   /NC_CallLog on the Adept command line to enable it...also back is
   the corresponding menu option #925

   This will require 2 changes to the Language.Text file...In addition
   to #865 which is already in use for the caller log header

   #866
   [Cvt][Mta][Str] {B1{FG%-7lu {FF%-20.20s {FB%-2u %-5u  {FC%-15.15s {FD%s {FC{FG

   is now used for the lines, and,

   #867
   [Cvt][Mta][Str]ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\r\n

   is the ending line...

   If there is posivite feedback on this, I will try to enhance and expand
   these functions...Will also include a Caller log maint (trunc) utility
   if required...

6. The compile language file was not quite working...does now :) There is
   a little something you should know about it though...no messages/prompts
   will be updated till the compilation is completed and it works the same
   way as on Adept startup...i.e., the Language.Text file must have a newer
   date/time stamp than the compiled files. There is no message about this
   in the display...it is only logged to the Adept.Log.


1.09.50x
--------
1. Tried to make file/message area searches a wee bit faster...are they?
   Need to get some more feedback on this...if it traps during any
   search etc...


1.09.50w
--------
1. Changed the logic for offline mail export checks a bit...dunno, but i
   think it might be more robust this way...let's see...

2. Please note that fact that the compile language file option added in 50v
   works just like when you re-start Adept, i.e., requires the Language.Text
   file date/time stamp to be newer than the compiled file versions. This
   will be the case if you edit the file anyway. To force a re-compile, just
   open and save the Language.Text file so that it's date/time stamp is
   newer than the compiled language files' stamp.

3. Plugged in GrK's Busy Flags code into gatekpr...might help solve some
   flags related probs...BTW, Adept does properly clear flags on manual
   clear as well as events clear...checked it...works! :)

4. Changed the offline import fn a wee bit as well...removed redundant
   code from it...

5. Removed the non-functional FTS-0001 from the mailer menu till I can
   figure out why it always causes grief for me (or anyone else with bad
   line conditions...noise etc...)

6. Duh...forgot to put in an exception handler around the other GIO call
   to stop the GIO probs...done now...'cepting in the case #7 below...

7. Made RealTime transfer info the default for the transfer status window,
   seems the lazy update time runs into major probs specially on local
   vmodem and telnet i/o. This default will apply only if u re-create the
   BBS_Configuration file, otherwise, just click both mouse buttons in the
   transfer box, and if u see the option "Real Time Data Updates" just
   click on it (otherwise you will see "Lazy Data Updates" which means
   you are already set up for real time updates which is fine).

   This might also have some effect on high speed net/modem connects as
   well...keep in mind, in case of high speed i/o probs, turn on the real
   time data updates option!

8. The Full Screen Editor allowed the subject/to to be changed even when
   it was forced...somewhat fixed...altho it will still allow the change
   in case of the area attributes being forced, but when forced by a menu
   item (or rexx script) it will remain forced :)

9. The poll dialog in the outbound window will now default to the last
   mailer node from the line that has the current focus, instead of none
   or the last you chose...just something I reqired for my small setup...
   did not want to enter the node # to poll after a shutdown...:)

11. As usual...some more meddling :)


1.09.50v
--------
1. Corrected the date stamp in the AdeptPostTextMessage fn.

2. Added the compile language prompts option to the Programs Menu.
   Although not *very* critical, but please make sure no users are
   logged in while trying this option :)

3. Added the 3 new metas Hagar added to the .69 version, but with a small
   difference...the new metas are:

   {VP -> Date and Time of the first ever login of the current user
   {VQ -> Date and Time of the last login of the current user
   {VR -> Number of users based on the current userbase file

   NOTE: the {VP, {VQ and {SD metas all display the date/time in the
         same format, have no text attatched to them and will *not*
         tag in the newline after the date/time string. This is
         consistent with all the other displays in the BBS.

4. Added the menu type 1003 (as per the Hagar .69 build) to change the
   language type from a menu option.

5. Added a new REXX function to copy a file. The Syntax is...

        Call AdeptFileCopy AdeptLineNumber, 'c:\config.sys', 'c:\config.bak'

   i.e., Copy the c:\config.sys file to c:\config.bak

6. I finally got a fix on the GIO trap problem, but, unfortunately,
   nothing much I can do about it...it's in GIOMT.DLL itself. Here
   is what happens...

   Tag a cpl of files for d/l and select ZedZap and start the d/l...drop
   carrier in the mid or try to hang up on the user in the mid from the
   local Adept display...it waits, thinks about it...and...TRAP!

   (No...it's not a VAC build prob :) happens with any WC/VAC build)

   This does not happen with ZModem tho...and, does not happen with the
   older GIOMT.DLL (from 1.07f). Since using the older GIOMT.DLL requires
   you to use the older AdRTL.DLL and the older AdNNTP.DLL (and maybe the
   older ConnLib.DLL and AdFTP.DLL as well) I have, for the time being,
   put in a forced exception handler around the GIOMT calls in Adept...

   Also re-enabled the forced exception handler in the SMTP 'cause of the
   above...so, till we get hold of the GIOMT, AdNNTP etc src, this will
   most probably remain...:(

7. Some more meddling and cleaning as usual :)


1.09.50u
--------
1. Corrected a small prob in the AdeptToss.Log code...would generally
   fail to dump the Log when Adept was shutdown if there were any areas
   to dump...

2. Updated to UserSrvr DLL to use an OS/2 specific function for flushing
   the disk writes...should be more efficient...

3. Changed the shutdown a bit...Adept should be killable now...hopefully
   if I got it right...otherwise I will just have to try again :)

4. Saving of line configs if now logged to the Adept.Log

5. Added a user file nuke function to the Programs menu..."Nuke User File".
   The shortcut for this is ^o. This will run a file called:

   AdeptUserNuke.Cmd

   if present in your Adept base directory. Before calling this file, it
   will toggle DTRs for all nodes, make all lines in-active and then close
   the userbase file.

   I have added this option for those who want to manage their userbases
   and yet, not give up the high uptimes that one sees with the newer
   Adept builds :)

   It is *your* responsibility to ensure that no users are logged in while
   attempting to run this option...A DTR toggle may not work all the time...
   To be extra safe :) you can manually set all nodes inactive first and
   then try this option.

   My AdeptUserNuke.Cmd looks something like this...

   @echo off
   uNuke /r /q /e30 /d10
   ReIndexUsers

   WARNING! You are on your own with this. It works for me...you gotta
            check it out for yourself...:) Just make *sure* no users are
            logged in when running this.

   Also, if there is no AdeptUserNuke.Cmd file, then it does nothing!

   BTW, the AdeptUserNuke.Cmd could also contain just a copy statement,
   which would allow you to make a backup copy of the userbase...

6. Added a system wide file flush to the status timer (for now) which
   is on by default. To switch it off, just re-start Adept with

   /NC_NOCOMMIT

   The flush is on it's own thread so as not to block the GUI...


1.09.50t
--------
1. I corrected and removed what I thought was a typo "MainNC.Cmd" :)
   It's back now...

2. In case you have any grundged messages in the Internet\SMTPOut dir
   Adept will trap right after startup...this occurs from AdNNTP.DLL
   so not much we can do about it for the time, but will try to add
   some checking in Adept itself to try to avoid these errors...

3. Fixed the outbound not scanning on startup...


1.09.50s
--------
1. Fixed the reply to trap over telnet in NetMail...was in the new
   Netmail file attach code ...and just in case... added 2 new command
   line parms...

   /NC_NONETFILE   -> Will disable the NET FILE ATTACH feature
   /NC_NOLOCALFILE -> Will disable the LOCAL FILE ATTACH feature

2. Cleaned up some more debug code...

3. Corrected a type (yeah...my doing :)) in the NNTP which might have
   caused a problem on some specific systems...

4. Meddled with some display and prompts...pesky things...:)

5. Please note that all command line parms starting with NC_ are on
   a temporary basis and might be removed unless I get some feedback
   that they are required/used.


1.09.50r
--------
1. Tried to correct the occasional local display corruption.

2. Removed the additional logging by default, can be enabled by
   /NC_VERBOSE for now if req. Will be removed completely in the
   future unless some people want it.

3. Some more un-used code removed...

4. Improved the file d/l counter updation...

5. Improved slightly on the AdeptToss.Log logic...

6. Globally changed some code sequences to be more efficient and smaller

7. Added the SysOp Next to the Mailer Menu, but not quite sure of what
   was actually req...forgot :) Might not work as expected till I find
   out what exactly was req here...

8. Fiddled some more with the timings and the DCD logic as every GIO trap
   I have seen so far, starts there. Since we do not have the GIO source,
   we can only experiment and see how best to avoid this...

9. Added yet another command line parameter to control the SMTP thread
   stack size, i.e.,

              /SMTPSTACK 262144

   The default is 64k, in case there are any probs with SMTP packets
   you can increase the SMTP thread stack size.

10. Removed some more un-used code and cleaned up some more prototypes.

11. Fixed a problem in the SMTP...when I made all the paths consistent,
    forgot the hardcode in the SMTP module...found this out thanks to
    dutch :) In the process...found and removed some more un-used code...

12. Since the paths in Adept are now consistent, you should be able to
    run Adept (only the VAC build for now) from any base directory and

    a) the SET ADEPT= and the set APATH= are no longer
       *required* for Adept (you can keep those if you must :))

    b) No paths require the ".\" in the start...for eg, in the Adept
       Config->BBS Settings->Misc Path/Files Menu. You can remove
       the leading ".\" in the paths...no longer required...This,
       actually, never was required anyway...even earlier...AFAIK...

13. More fiddling...as usual :) Made some more messages consistent...
    there were (and maybe still are) a few messages that were repeated
    but had *slightly* different text...

14. Added a new command line switch /NC_FULLNAME (for now) which will
    not allow a new user to use a single word (alias if u plz :)) for
    a name, or, even 2 single chars seperated by a space...this is good
    enough for me...I used to do the same in my startup rexx script...
    do let me know if this can be improved on in other ways...ne1? :)

15. Added Hagar's new file list display code. Here is a cut-n-paste about
    it from his readme...

             Scott Drake of isonline.com fame did not like the default adept
             files lister display, he says rest of world is using the Quickbbs/
             RemoteAccess/Proboard/Lora display style, so ok here it is, if
             you add 100 to any of the file display menu commands (ie 73
             becomes 173) you will now invoke the new display routines. For
             this to work though you need to add two lines to your
             language.text, make  lines 870 and 871 look like this:

#870
[Mta]\r\n[0;34mÈ{FF{B2 Name [0;34m{B1ÍÍÍÍÍÍÍÍÍÍÍÍ{FC{B2 Size [0;34m{B1ÍÍ{FB{B2 Date [0;34m{B1ÍÍÍ{FB{B2 Description\r\n
#871 actual file     name    date    size [Mta][Str]{B1[0m%u[K\r\n[K À> {FF{B1%-30s  {FE%5luk  {FB%s {FC[%5.5lu] {FD%s[0;36m\r\n
[Asc][Mta][Str]{B1[0m{C1[K\r\n[K À> {FF{B1{C3  {FE{C5k  {FB{C0 {FC{FD{CB {CA{FC\r\n
[Ans][Mta][Str]{B1[0m{C1[K\r\n[K À> {FF{B1{C3  {FE{C5k  {FB{C0 {FC{FD{CB {CA{FC\r\n

             I suggest cutting and pasting the above directly into your
             Language.Text. Course if you like the old display style you don't
             really need to modify language.text, however u should just to stay
             current.

16. Finally got hold of the SMTP and other related problems...duh...some
    optimization and incorrect prototyping probs...hopefully most, if not
    all, fixed now...


1.09.50q
--------
1. Added the 2 new metas Hagar added to the Official WC build

   a) {VN = Handle of last user on this node
   b) {VO = FullScreen Editor ON/OFF.

2. Hagar changed the GateKpr switch to /X instead of the /T used in the VAC
   build to force GateKpr to quit if no AdeptToss.Log was found. The VAC
   build will now accept both /T as well as /X for now...also added the /S
   option to force GateKpr to ignore the AdeptToss.Log completely.

3. Added a few more metas...please keep in mind that these may not be
   supported in the Hagar version and might be removed from here as well
   if Hagar decides to use any of these codes for any other purpose to
   maintain compatibility.

   {SL -> Free Physical Memory
   {SM -> Free Virtual Memory
   {SN -> Number Of New User Calls For The Current UpTime
   {SO -> Number Of Actual BBS Logins Completed For The Current UpTime
   {SP -> Number Of OutGoing Mail Calls For The Current UpTime
   {SQ -> Number Of Incoming Mail Calls For The Current UpTime
   {SR -> Number Of FAX Calls For The Current UpTime
   {SS -> Number Of Times Adept Got a Connect String For The Current UpTime
   {ST -> Number Of Socket Calls For The Current UpTime
   {SU -> Number Of Telnet Calls For The Current UpTime
   {SV -> Number Of VModem Calls For The Current UpTime
   {SW -> Number Of Modem Calls For The Current UpTime
   {SX -> Number of the currently running Tasks
   {SY -> Number of the currently running Processes
   {SZ -> Number of the currently running Threads

4. The occasional traps in the file area list/d/l should now be fixed...
   as well as the telnetting from the BBS...hopefully :)

5. If a user uploads an incorrect extension offline mail packet, Adept will
   display prompt #911 from the Language file.

       #911
       [Cvt][Mta]\rCould not find *.Rep or *.New\r\n{PC

6. Enhanced the file tag dupe check...

7. Fixed a possible trap condition in the NNTP

8. The NNTP got messed up a bit in the earlier build...just to remind me
   that there's a whole lot I still don't know about Adept I guess :)
   Fixed!

9. Removed the menu item logging...hopefully no longer required :)


1.09.50p
--------
1. Removed some more un-used code...

2. Made a small change in the view archive function in the file listing
   and updated the Archivers file for PkZip 2.50 and other InfoZip/UnZip
   formats (mostly the sfx kinds).

3. PkZip 2.50 for OS/2 is quite a lame one :) don't try using the /extra
   option with /add...hehe :)

4. The new user menu exec got messed up in the earlier changes...would
   not be called if rexx was enabled, only the NewUser.Cmd was used...Fixed!

5. Some more re-arrangement of code...should make this build faster than
   the earlier ones...hopefully :)

6. Added a message to the user if an offline mail import extract fails for
   any reason as well as if the user u/ls a file which does not have an
   extension of .Rep (QWK) or .New (BWave)


1.09.50o
--------
1. Just some general cleaning...nothing special...:)

2. Under a certain condition, Adept could write out a 0 byte
   AdepToss.Log, this is now corrected...Altho GateKpr would have dealt
   with it without any probs, but fixed in Adept as well...

3. Changed the file name of the toss log to AdeptToss.Log, which is what
   the Hagar version will also use from now on...well...since Adept does
   require HPFS...:)

4. Those of you who are using compressed message bases, please be aware
   that this can cause probs as has been the experience of most Adept
   SysOps I have talked to...try to uncompress the message bases and then
   re-try running Adept in case of problems...

5. Disabled some VAC specific code which was causing probs for some ppl


1.09.50n
--------
1. Missed the correction of some spawn settings for the mailer...Fixed!

2. Setting Call Collision off was not implemented...should work now...

3. And yet again...this time import offline mail...duh...if a large
   packet was u/l and then the carrier dropped...well...hopefully fixed!

4. Finally found and fixed the GateKpr/VAC prob...made the VIO and PM
   version messages slightly more consistent...


1.09.50m
--------
1. Forgot to fix the spawn flags in the Events...and i thought i had
   already done that...duh...:)

2. Royally screwed up the last cpl of rare case offline mail fixes :(
   was fixed so only the first user on any line could d/l...duh..
   Re-Fixed...works now :)

3. Fixed a cpl of semaphores and got rid of un-used ones...

4. Please remember to use the DLLs from 1.09.50l


1.09.50l
--------
1. Had not intended to hand out 50k to anyone, but...:) To avoid confusion
   shifting to 50l for this build. I am now going to drop the VAC beta
   linker for this and the future builds as some people have reported some
   problems due to OS/2 versions etc (I think...)

   Please, try not to mix-match the Hagar WC and my VAC DLLs or EXEs...
   might cause probs...

   The beta linker did make real compact executables tho...the normal linker
   makes them slightly bigger...:(

2. Changed the outbound icons' size as suggested by dougk. Sorry Doug, I
   cannot really store anything else in the INI for now as there is a whole
   lot of Adept I still don't know much about and am still in the cleaning
   process, but yes, I do have the same thing in mind...someday...:)

3. Changing the default menu type to the old type as the new ones are more
   easy to detect. It will still auto-switch on the first login, if req.,
   but the default startup option is now OldMenu.

   Oh well...the truth? :) I find 'em easier to use, specially while testing
   etc and they are faster...at least for my setup...so...

4. Made some more corrections to the spawning routine calls...

5. Corrected another rare condition offline mail export prob...

6. Duh...how could i forget an option to view the system log? Added! :)

   Shortcut is ^y and it will run the file AdeptLog.Cmd if found, else
   will open the Adept.Log file in EPM.EXE

7. Duh...why me? Again got a rare condition in offline mail exports
   (no traps tho :))...hopefully fixed for now.

8. A small mod to the outbound re-draw process...

9. Added a shared semaphore to drop the AdepToss.Log to Adept and GateKpr.
   Adept will now drop the AdepToss.Log whenever GateKpr is run. Will
   include the full specs of this functionality as soon as I have confirmation
   that this indeed works as expected :)

   BTW, Adept will still drop the AdepToss.Log on ShutDown.


1.09.50k
--------
1. There is some prob in still left in the spawning routines, till I can
   find and fix that, I have plugged in work-arounds to stop the traps
   related to this...

2. BackGround QWK mail import would either not complete, or, trap Adept in
   case of a carrier drop. Fixed!

   BTW, this was ok in bwave import, no probs there...

3. Changed Text and Fido Export as well now to be consistent with the QWK
   and BWave Processing.

4. There have been lots of quick fix mods to Adept which generally defeat
   the idea of multi-lingual stuff and some similar things...trying to find
   and correct all such instances...I just might break some stuff at places
   but I guess it has to be done if the program has to be maintained...

   I am depending on all people using the VAC builds to point out any such
   problems (in case I break any menu/script path etc.), it won't be
   anything very serious and nothing that cannot be fixed right back in the
   very next build...let's hope for the best and see... :)

   I will be making these changes in blocks, not all at one shot, so even if
   something does go broke, it will not be serious and we will end up with
   a far more robust model in future...

    ************ NOTE *** NOTE *** NOTE *** NOTE *** NOTE ************

5. Okay, as a result as #4 above, we also have and extended AtLoginX.Cmd or
   AtLoginX.Menu, WelcomeX.Asc, NewsX.Asc and BulletX.Asc. A VERY important
   point to keep in mind is that fact that although you may never require
   or use the plain *.ASC files, they MUST be present!

   Most places pre-check for the presense of the *.ASC before actually
   trying to find *.ANS or *.AVT etc. If the corresponding *.ASC file is
   not present in the Adept\Text directory, some files may NEVER be
   displayed even though you might have the ANS/AVT file for it.

   I will most probably make this behaviour consistent thoughout Adept...
   already started actually :) Just keep in mind that any Standard
   (Pre-Defined) Adept display file MUST have at least a .ASC file and
   if should not be a 0 byte file. You can place 1 byte dummy files if
   you never use the *.ASC, but they have to be there to display a
   corresponding ANS/AVT etc...

    ************ NOTE *** NOTE *** NOTE *** NOTE *** NOTE ************

6. Offline mail export again...:) Seems that most work and updates were
   done on the bwave export, so I corrected a few inconsistencies still
   left between bwave and other offline mail exports. Will do a proper
   cleanup later, for now, they are more consistent than before...

   Also, any background mail export (monitor off) should now work equally
   well in local mode.

7. Files in the System\Line0 directory, i.e., left over files from a
   local login will no longer be deleted...at least we can see those
   later...:)

8. Well...can't blame me for not trying...:( I tried to use the variable
   paths that were a part of Adept to begin with, only to find a few
   places depended on hard coded dir names...so...I made it consistent in
   that fashion :) Altho I removed all references to the base dir being
   Adept (yeah, now you should be able to run it from any dir), but, the
   dir names inside the base Adept dir will remain hard-coded.

9. BTW, the difference in speed shows up even in comparison to the 50j
   version...not bad eh? :) The cleaning process does seem to be making
   Adept faster...let's hope it stays as stable as well...:)

   For those of you who might be interested...the old menus run almost
   twice as fast as the new menus for now...at least on my setup (very
   plain and simple). Both share the same menu item processing routines,
   it's only the basic menu display/structure/parsing that is different.

10. The shortcuts for init, answer and next call were not quite working
    as they should...Fixed!

    Alt-P would bring up the Poll Dialog box instead of pulling down the
    program menu...Fixed!

    ^P still brings up the poll dialog box.

    Changed the shortcut for next call to ^N rather than ^R.
    Changed the shortcut for Get Files Dialog from ^G to Alt-G

    Added ^G shortcut for the Group Editor.
    Added ^U shortcut for the User Editor.
    Added Alt-X shortcut for ShutDown-On Hook
    Added ^X shortcut for ShutDown-Off Hook
    Added ^C shortcut for Clear All Calls

    Removed the Extra Seperator between Clear Calls and Make Line InActive
    from the Mailer Menu

    Added ^t shortcut to read a file called GateKpr.Log from the LogFiles
    dir, or, run a file called GateLog.Cmd if present.

    This is similar to the line log view command now which would run a
    file called ReadLog.Cmd if present, else view the log for the
    focussed line. These commands will no longer try to run/view a 0
    byte file...

    Added a new "Run Manager" command to the outbound window which will
    run a file called OutBound.Cmd if present. This can be used to run
    any external outbound manager (like bill-e's for instance :))

    Pulled the InActive lines options from the Adept Status for now as
    they were not co-ordinated with the resetting back to active. If u
    tried the make in-active option from the Adept Status RMB menu, you
    would have to select Make Inactive from the main Adept Menu to get
    to the option to make it active again.

11. Tried to clean up a huge (for me :)) mess in the OutBound window
    processing...it would never get refreshed on any other option on the
    RMB menu until you actually forced a re-scan by selecting the ReScan
    option from there. There is a lot more to do here before it's finally
    cleaned out...seems more functional for now though...

    Also added a command line option to control the outbound re-scan timer.
    /OUTBOUNDSCANTIME 300000 was, and is, the default. The time is in
    milli-seconds. Feel free to experiment :)

12. Found something *very* interesting while trying to run 1024 nodes...
    yeah...again :) Adept traps while trying to check out port 1000. Tried
    this while SIO was installed...is it a SIO limitation/prob or OS/2...?
    Anyone have any ideas on this one?

14. Changed the logic for the shutdown menu items enable/disable. Should be
    faster now.


1.09.50j
--------
1. Adept will now drop the current AdepToss.Log on all of the following

   a) Any Event Command is run
   b) Select the Mail Proc (^M) from the Adept Menu
   c) Adept is ShutDown

   The AdepToss.Log format should make it simple for any 3rd party util
   like GoldEd to incorporate it since the information in the AdepToss.Log
   is just the Massage Area number in plain ASCII format and has only one
   Message Area Number per line.

2. GateKpr's version number has been bumped up to 2.30.00 to make it
   different from earlier versions which do not support the AdepToss.Log.

3. Added a new switch to GateKpr to make it exit if no AdepTosss.Log file
   is found instead of processing all the areas (as earlier). The switch
   is /T (as is Toss)

   If a /T is specified, GateKpr will import all mail, but will not export
   any area unless it finds the AdepToss.Log file, in which case, it will
   export only the areas specified in the AdepToss.Log.

   If a /T is *not* specified, GateKpr will import and export all mail,
   unless it finds the AdepToss.Log file, in which case, it will export
   only the areas in the AdepToss.Log.

4. Fixed GateKpr's problem of shouting "Probably insufficient diskspace"
   etc. if you specified a relative path in the Area.Control file.

5. Cleaned up some more code in Adept. Re-Checked all the / and \ stuff,
   found a few probs that might have resulted in incorrect display or
   traps. Hopefully Fixed!

   Re-arranged all such / and \ code to check for \ first, should be more
   efficient (faster) now. Made similar chamges in the GCU.DLL code as well.

6. Backed out of the beta FP #2, OS2KRNL, PMMERGE and PMWP DLLs...no more
   pesky traps so far...:)

7. If a user entered an invalid date in the new file search, Adept would
   trap. This trap would also occur when ever the same get date was called
   from any other place as well...(FTP etc). This will now default to the
   current date in case of any invalid input. This should fix some of the
   vague traps we have been getting while not watching :)

8. Added yet another checkpoint in all background offline mail exports
   just to avoid a potential prob...dunno if that condition will ever
   occur, but just in case...:)

9. Forced an exception handler where some people where getting traps for
   now in order to get a hold of the exact location and to keep Adept up
   and running for this known prob situation :) This will create a Trap.Log
   file in the Adept dir in case of any probs. Please send over any Trap.Log
   file(s) from your Adept dir if u get any...

10. Added one more log line in the file d/l couter update to check for any
    probs etc. for instance a file d/l counter not updated when it should
    and possibly could have been...If you notice any probs, plz send me that
    portion of the linex.log file...Plus methinks it is called one more time
    than is really req...let's see...

11. Fixed a problem in the d/l filelist...it always added an additional \
    after the path and that is what was displayed as well...This was what
    was causing the time delay in the file d/l counter update routine as
    it had to search through the entire filebase for a pathname with 2 \s
    in it...duh... :)

    This would happen for all files in file areas that were marked for
    copy to HDD from CD...

12. Have left some additional logging on for now...will remove it in the
    next build...should know better by then...hopefully... :)

13. This build, in general, should be very resistant to the vague traps
    that we sometimes got...let's hope and wait and see...:)


1.09.50i
--------
1. Duh...missed some more un-used code...related to squish...removed!

2. Fixed a nasty user generated trap in all background offline mail
   exports. User selected not to monitor mail packing and w/o waiting
   for it to complete, changed the option to monitor mail packing and
   BANG! TRAP!...GRRR....Fixed!

3. Forgot to switch off the notify the user flag on the mail proc (^m)
   the user would see the prompt "loading external door..." if you tried
   ^m...duh...Fixed!

4. Added a rough support for EchoToss.Log in Adept...

5. Duh...it was'nt only the APM...it was DosCalls.DLL in the beta FP #2
   I guess...backed out of the DosCalls.DLL for now...

6. Okay...serialized the addition of message areas for the EchoToss.Log
   from Adept using a semaphore...seems to be working great...for now :)
   For now, Adept will dump the EchoToss.Log file on shutdown only...

7. Now all I need to do is to have common link between GateKpr and Adept,
   so that when ever GateKpr is run, it will ask Adept to dump the currenty
   posted to message areas to the EchoToss.Log file and then scan only
   those areas....

8. Backing out of DosCalls and CMD.exe from the beta FP #2 seems to work
   much better...altho there are still probs...Did help me to catch a bug
   in the Adept Spawn routing tho :) The size of the buffer passed to OS/2
   was hard-coded to 50...it actually turns out to be 60 now...duh...Fixed!

9. Okay, I dropped the idea of EchoToss.Log...no point in it and since at
   least I don't know of any third party util which supports this for Adept,
   Adept now has it's own AdepToss.Log :)

   The EchoToss.Log format meant a huge Kludge in Adept as the only link
   between Adept and the GateKpr areas is the Area Number itself and not
   the name or the echo tag.

   The AdepToss.Log has a plain ASCII format and just contains the Adept
   area number, one per line that is to be exported. GateKpr 2.01.04 will
   check for the presence of AdepToss.Log and scan only those areas if it
   is found, otherwise it will scan all areas (as it already does).

   Now...instead to having Adept write out to the AdepToss.Log all the time,
   I have currently chosen a faster method (can be changed if req l8r).
   If the running event command line has the words "Mail" or "GateKpr" in
   them, or, if you select the mail proc from the Adept Menu, the current
   AdepToss.Log file will be written out to disk. Hopefully this should
   work fine for most people, but let's see...

   The EchoToss.Log kinda support can also be plugged in GateKpr if
   required...

   BTW, Adept will also dump the AdepToss.Log on shutdown...

10. GateKpr.Exe Version 2.01.04 (PM) is included in the update archive
    for now...


1.09.50h
--------
1. Changed the "Change Type" option in the outbound manager a bit. It
   would appear on the menu even if nothing was under the RMB and if
   clicked in this condition, would cause Adept to trap. Fixed!

2. Fixed the no timer check on telnet/vmodem calls. Should work fine now.

3. Fixed the netmail address guesser trapping on rare occasions.

4. Fixed a possible mem leak under very rare conditions.

5. The Archiver and Protocol selection would never default to anything
   even though the prompt said so...Fixed!
   Both will now default to Z, i.e., ZModem and Zip/UnZip

6. The Mailer Proc (in the menu ^M shortcut) would not run REXX CMD
   files...at least, it did not for me...Fixed!

7. Removed a cpl of logging lines in the new menu driver which were
   basically being repeated...all I now have to check is why the repeat...:)

8. For those interested, the probs I had with the Beta FP #2 were related
   to APM. I turned APM off and works like before...solid! :)


1.09.50g
--------
1. Reduced the number of tries on getting CRC errors "YooHoo CRC Error" is
   the message for those of you who might have seen it :)

2. There was a problem in the OS/2 Startup Date/Time display...the uptime
   was correct. Anyway, I rewrote the damn thing to be far more quick and
   and small as well as accurate...hope it remains that way :)
   The System Startup Date/Time is now computed only once as we can safely
   assume that Adept will not keep running while the system is re-started :P
   Also made the computations for it consistent so that the compiler can lift
   the non-variant parts making it faster...everytime...Should make it
   slightly faster in the conversion Metas as well...{SD and {SE

3. Extended an already existing fn to display the formatted uptimes etc in a
   consistent and pleasing manner :)

4. Think the prob was with the APM in FP #2 beta...can't be abs sure for now,
   but if u r not using the beta FP #2 for Warp 4, go ahead and use the
   /BBSWATCH switch...:)

5. Some other minor changes here-n-there :)

6. Made a small fix to the get index for message replies...got a trap there :(
   Let's see....

7. Added a command line option to disable time checking for Telnet/VModem
   calls on request :) Should not affect any other normal operation...
   Just start Adept with /NOTELNETTIMER and it will not check the time on
   Telnet/VModem calls...

8. Adept directly checks for the time left in too many places, so the above
   switch will work, but with some limitations...hopefully we should be able
   to work them out later...currently, it will just keep increasing the user
   time left...


1.09.50f
--------
1. Made the BBS Watch thread a command line option. It is now disabled by
   default. The option is /BBSWATCH to enable it. I applied the beta FP #2
   and the Watch thread causes a trap on Doscalls, but other programs also
   seem to have a similar prob, so I can't be sure if it's the Beta FP that
   is the problem or something in the watch thread. So...till we are sure
   of the cause...it remains off by default, but, can be enabled from the
   cmd line if required.

2. Globally changed all '/'s in pathnames to '\' to be more consistent as
   a mix of both were being used.

3. Some Squish code was still enabled in places...might have caused probs
   in some cases...as there was no backing code for it. Removed!

4. Added a flimsy change pkt type to the outbound manager on the RMB as per
   dougk's suggestion. It is currently flimsy in the sense that it will
   cycle through the pkt types on every click. C -> H -> N for now :)
   Will improve on this later if this is what was required....

5. Added logging for locked out and deleted marker users. Trixer could not
   figure out why this build threw him out on a local login...his a/c was
   marked as deleted :)

6. Pulling files from 1.07f and Hagar's full version to make a full version
   for the VAC build as many people seem to have problems "finding" a full
   archive...Will try to make a better, updated full archive later...


1.09.50e
--------
1. Extended the user logoff check for offline mail export to both cases,
   Monitor off and on...had a slight prob here, so this should fix it :)

2. Fiddled a bit more with the answer of RINGs...


1.09.50d
--------
1. Some users still had probs exporting mail d/l packets in the background
   so removed the not so required checks which I thought I had removed
   earlier as well...:)

2. Fixed the Mail Incoming/Outgoing Counters on the Status.

3. Fixed a problem with GateKpr in addressing. If it could not for any
   reason make a guess at a matching zone/net/node etc. it would set the
   number to 0. At least, AFAIK, Zone cannot be 0, so it will now default
   to the originating Zone in case it cannot guess the correct one.

4. Removed the "Hit Enter" after the "offline mail is ready for d/l"
   prompt when a user selects offline mail packing in the background.
   Causes a loong loopback and not really required AFAIK...

5. Updated the status with some more info...:)

6. Corrected the display for the Metas K6, K7, K9 and KA...They would show
   huge (out of bound) values in some cases. For example a user d/l a file
   marked free or bytes free which is greater than his/her d/l limit, the
   corresponding d/l left Meta would display well...all you have on the BBS
   as the d/l Kb left...The difference was being printed as an unsigned
   number...duh :) Fixed!

7. The New/Re-Arragned Status Line now looks something like:
   "[CONN: 0] [MDM D/V: 0/0] [TEL: 0] [SOC: 0] [FAX: 0] [BBS: 0] [NEW: 0] [MAIL I/O: 0/0]"
   Where:

   CONN -> Total connects to Adept
   MDM D/V -> Modem Calls (Dial up/V Modem)
   TEL -> Normal Adept Telnet Calls
   SOC -> Normal Adept Socket Calls
   FAX -> Fax connections
   BBS -> Actual logins to the BBS
   NEW -> New Users logged in
   MAIL I/O -> Mailer Calls (Incoming/Outgoing)

   I guess this is enough info to get at a glance to see what all happened :)


1.09.50c
--------
1. Made some changes to the incoming call loop. Might help solve the pesky
   RING1 etc answering problems. Should not affect anything else otherwise
   excepting to *possibly* remove the multiple RINGs that one sees at times
   before Adept actually decides to answer...let's see...

2. Fiddled with some more timing factors for the mailer EMSI sessions,
   might improve some things...then again, might not :)

3. Added check in all background offline mail export type for user logoff.
   It could bring down the BBS in some cases...did here in my local
   checking anyway...hopefully fixed!

4. Added a number of mail calls counter to the status...let's see it it
   works :)

5. Added dumping of the Adept Status stats to the Adept.Log on shutdown.

6. Moved the BBS Name from the status to the Status window Title Bar...
   gives us more room for junk on the status :) Only drawback is that if
   you change the BBS Name in the config, the change will not be reflected
   till you re-start Adept as the Title is set on Startup and not changed
   after that...

7. Enabled a feature that was earlier causing a prob on dutch's display
   screens. Should no longer cause any probs and increase the display
   speed.

8. Removed the currently useless SMTP Stats button...

9. Changed the default NNTP Server stack default from 128k (50b) to 96k

10. Changed the Status display to be more compact...it uses NM for NewMenus
    and OM for OldMenus now...


1.09.50b
--------
1. Cleaned up the background offline mail export LMR updates code...should
   be more robust now...Also added the updation of LMRs to the line log for
   now...

2. Increased the NNTP stack size as bjoolav was getting a trap which shows
   an outta stack prob. Most probably stems from the NNTP dll, which we
   don't have the src for as yet, so trying an increase in the Adept NNTP
   thread stack size...let's see...

3. Added a command line parameter to set the NNTP Stack size for the NNTP
   server thread. /NNTPSTACK xxxx

   The NNTP Server thread now defaults to 128 kb of stack as do the Mailer
   and BBS threads. IMO, even assuming a 64kb+ msg in the NNTP now, it
   should not run out of stack space as the earlier size was 64kb which
   is now doubled to 128kb.

   Will ask bjoolav to determine the optimal stack size...perhaps 96kb
   ought to do it, if so, i'll switch the default to 96kb, till such time
   tho, the default remains at 128kb.

4. Added some more logging to the menu driver and menu items used, and added
   the logging of the offline mail packet type selected by a user.

5. Duh...yeah, will try to make a full install pack for the VAC builds...
   soon :)


1.09.50a
--------
1. Version numbers jumping tooo fast, so will now keep version numbers for
   only tried and stable builds, otherwise it will be 1.09.50x, where x is
   gonna be from a-z :)

2. Another LMR update prob reported in the background mail export. Fixed!


1.09.50
-------
1. GRRR...the file d/l counter would really take CPU after a mail d/l...
   searching for the file thru the entire file base to match and update
   the counter. Fixed!

2. Added checks for mail packet files (polling etc) in the File d/l
   update. That should do it :)

3. Corrected a minor inconsistency between how the mailer added files
   to the xfer list and how the normal d/l and tag did it. Nothing big
   just made the behaviour consistent to avoid possible probs in future.

4. Hrrrm, if u have files in CD, and the area also has the copy to hdd
   flag set, the d/l counter for those files will not be updated for now
   as it requires a kludge and some stuff is tied to other places in the
   BBS which will have to be re-worked before this can be done.
   Alternatively, if I can assume that there are no dupe files on a CD,
   the counter can be updated, let's have some feedback on this issue...:)

5. Ok, in case a file has the attributes of copy and kill after transfer
   (typical for files on CD), the d/l counter will be updated based on
   the first matching filename in the filebase for now...It will still
   match the complete path in case of files on HDD (as long as they are
   not marked copy to HDD :)) Have added logging for the file d/l counter
   update for now...will remove it later after we know there are no probs.

6. Minor changes to FTP and File listing search fns. Just tried removing
   a kludge, nothing special.

7. Found another possible source of probs/leak in the file tagging. Fixed!

8. Added the initials in the msg reply in the FullScreen Editor.
   When a user selects to reply to a message and selects to quote from the
   original msg, Adept used to put in just " > ", it will now plug in the
   initials as in  " XX> " as is generally done by most such editors.

9. Just some more general re-arrangements...and added a small fix for dougk
   so that the reply to in a netmail msg will not have a null addr. It will
   be 0 rather than completely absent.

10. Just a mention about READLOG.CMD. This file, if present, will be run
    when you select the view log menu option and it will be passed the
    current line number as a parameter.

11. Re-compiled the new Fsys, GCU and UserSrvr with the single threaded
    libs as it should have been in the first place. No probs, just adds
    un-required bulk. Same for uNuke and ReIndexUsers...

12. Made a small change to the BBS Watcher thread. Let's see how it
    works out.


1.09.49
-------
1. Changed the cheat check a bit to get around the CBV bug for now...let's
   see...

2. Changed the last 2 stack allocations I had left out earlier to heap
   allocs. Should solve some rexx call probs (if any).

3. Changed the logging in BWave/QWK to be consistent. Both were logging
   differently earlier.

4. Please note the fact that the earlier added menu types 8/9 are part of
   the base menu driver and cannot be directly accessed via rexx using
   AdeptMenu calls. (Why would anyone need 8/9 in rexx anyway :))
   Only menu types above 10 are accessible via the AdeptMenu Rexx command.

5. I am now gonna increase the logging, so that we know what's going on...
   Please...someone...lemme know if I overdo the logging :)

6. QWK Export was using a background session to pack mail, whereas BWave
   was using a child session if the mail monitoring was on. Changed the
   QWK to be consistent with BWave.

7. Slightly optimized the thread and process count display, required two
   seperate calls earlier for similar processing, now makes only one call.

8. Removed a VAC kludge from FSys.DLL, does make it slightly smaller,
   perhaps slightly faster as well :)

9. Added the functionality to update the file d/l counter on a successful
   file d/l. Now we can find out which file was leeched the most :)
   Oh well...let's just say we will now get to know the most popular one
   on our boards...the file I mean :P

10. Made a minor change for Adept to be able to answer to RINGxx as
    documented. Cannot be sure of this, but should not make any diff
    to normal answering...Anyone who checks this out, please let me
    know if Adept now responds/answers to RING1, RING2 etc when you
    set it in the Active Line Config.

11. Everything seems to be working and in place for now...the CBV carrier
    drop no longer causes a prob, but will improve on it so all relevent
    user stuff is preserved, not just the time (in case of the cheat).


1.09.48
-------
1. GRRR...in correcting the prob pointed out by Mario in the bwave export,
   I broke the current bwave normal message import. Fixed!

2. Also changed the multiple mem alloc/free's in the offline import to be
   the same as the export procedures. This improves the consistency as
   well as the speed.

3. Releasing this now 'cause of the offline import prob...


1.09.47
-------
1. I had made a modification to free mem in email/nntp posting which turned
   out to be incorrect as pointed out by Mario. This would have caused Adept
   to trap in case a user u/l email/nntp from a bwave packet. Fixed!

2. Think I found the prob spot for dutch's trap. Was an allocation on the
   stack, changed it to normal heap alloc.

3. Added the latest Hagar (Mario's) GateKpr compiled for PM to the archive.

4. Made some minor changes to the exception handlers.


1.09.46
-------
1. Thanks to dougk for getting the user server (and some more) source from
   JM the user file flush function is now a part of the new usersrvr.dll.
   This is how it works now...when ever Adept makes a call to any functions
   in the user server which change/add/modify any user record, after the
   update, the user file is flushed to disk (closed using a dup handle).
   This will ensure that the userbase is always correct on disk. The only
   problem that remains is the user index file which I have not done the
   same to (since we don't have the source to that), but that's not a prob
   as the index file can be re-created in case of any problems...In fact I
   always run reindexusers from my AdeptStart.Cmd before starting Adept to
   make sure it is in good condition.

   This way, there will be no performance hit and is transparent to Adept
   itself. The only difference will be that the user file will be updated
   on disk after any change.

2. The timer i fiddled with is back to what it was since i could not make
   out the diff...so better leave it as was for now...:)

3. Also, 'cause of #1, pulled the flush user file I added to Adept itself..

4. Checked out the menu functions 820/821 (DOS Door Runner) over VModem
   Telnet ports 5 to 16 using a game called Lord. Works fine!

5. Re-compiled FSys and GCU DLLs for using P5 optimization...:) No other
   change in them otherwise for now...BTW, the User Server DLL was also
   compiled using P5 opts tho it won't make much of a diff there as it
   mostly consists of calls to Btree.DLL.

6. Would need feedback on this build since a whole lot is changed...seems
   to work just fine here...for now...:) and yes, it is faster...

7. Re-compiled uNuke and ReIndexUsers using P5 opts. No Change otherwise...

8. Had to do some work on FileEd, but got side-tracked with all of this
   for now...will get around to FileEd probs as well l8r :)


1.09.45
-------
1. Added a user base flush function. When ever a user record is now saved,
   Adept will also flush the user base file to disk, preventing the loss
   of any user data and the need to shutdown to actually flush the user
   base file to disk.

2. This is just in case...since i changed the main display fonts to WarpSans
   anyone using Warp 3 w/o WarpSans installed, just drag-n-drop any font of
   your choice to anyplace on the BBS Status display to change the default
   if required.

3. Someone said the "kill log" function did not work. It does...now :)


1.09.44
-------
1. I finally got the file list display prob. Fixed!
   Dunno if it has any side effects for now tho...

2. Some more mem alloc changes and checks added at some places.

3. Found and fixed yet another mem leak in the new menu driver. Musta
   been outta my mind to have missed this one :)

4. Mario pointed out the fact that the DOS door runner I plugged in
   does not work for COM ports beyond COM4. This is a limitation. You
   have to have a port and irq configured for vmodem and the same setup
   in the door...(menu types 820/821)

5. Changed the frequent mem allocs in the new driver to a single one,
   hopefully no probs 'cause of that and menus should react faster.
   Of course, I am assuming that no one uses more than a cpl of thousand
   hots keys per menu screen....:)

6. Re-arranged the repreated mem allocs/frees in all offline mail
   exports to alloc only if req. This alloc/free was happening for
   every msg. Should make a diff...let's see :)

7. Changed most of the 8.Helv fonts to 9.WarpSans...looks neater, and,
   of course, it always was available for Warp 3, so... :)

8. Changed the timings between rings a bit...let's see...was 35000 ms.

9. Generally improved consistency in checks where ever i went, so that
   most of them are equiv now when checking for the same thing.

10. In case I forgot to mention it earlier, the BBS Watch thread is enabled
    again, with logging.

1.09.43
-------
1. Nope, the file list display fix is some thing else. What I did as a trial
   earlier is now removed.

2. Trying to fix the NNTP prob. Globally changing file permission flags.
   Let's see...seems to work here for now...

3. Added Task, Process, Threads, Physical and Virtual Memory Free display
   to the Adept Status.

4. The Adept Status Window's Status was not being updated on a call
   collision. Only the Status in the main window was...Tring a "fix" :)
   There were 2 individual checks for "NO DIALTONE" and "NO DIAL TONE",
   currently changed it to one and will check only the first 7 chars, i.e.,
   "NO DIAL". Let's see....

5. Cleaned up some discrepencies in the offline mail export code and
   sorted out the prob associated with some setups regarding offline
   mail export. You must *NOT* have [Mta] in the language file for
   74, 112, 114, 646, i.e., Do not use any metas for these lines like
   {PC etc for the background export to work properly. Using any metas
   in these makes a kinda complex recursive loop in the input routines
   which also checks for the mail export semaphores.

6. Some more minor changes to reduce mem requirements even further...

7. Using the new beta of the VAC linker, seems faster and better...


1.09.42
-------
1. Added Mario's (Hagar) local file u/l attach code and the fix for the
   Event Editor. Documented in the Hagar ReadMe for the 1.09.49 release.

2. Tried a fix for the CBV dropping DTR not saving the user record. Let's
   see if this works....

3. Tried out the problem reported by dougk, it's a prob i reproduced here
   as well...seems to have something to do with the nodelist compiler not
   putting the cost in the compiled nodelist while i was using the normal
   cfg. I really had to add the cost everywhere before it actually showed
   up in Adept. The short of this is, it's a nodelist compiler configuration
   problem rather than a problem with Adept.

4. Neway, while searching for dougk's prob, found some more redundant debug
   code...removed!

5. Releasing this now for 2 reasons.

   a) This release is at par with the official "Hagar" 1.09.49 sans the
      file caching, and,

   b) need to check out the time cheat fix "fixed" for the CBV DTR drop
      problem :)


1.09.41
-------
   Skipped, as I already used the 41 in the last release archive :)

1.09.40.1
---------
1. GRRR...I broke the LMR update in the offline mail export while fixing
   the mem leaks in the export. Actually it was a piece of debug code
   which I forgot to re-compile. Fixed!
   Built this exe from scratch...

2. Removed more of the original debugging code from Adept which had no
   use from the user's view point other than increase the exe file size
   and decrease performace by a wee bit (almost negligible).

3. Seems like my file area listing corruption fix worked :)

4. Still trying to track down the text export prob as I have not been
   able to re-produce it and no one else seems to have had it besides
   me :) Also trying to track down yet another elusive mem leak
   someplace as I did get a slight drain with 24 hrs of runtime...
   It's no longer as massive as it was though...:)

5. Releasing this build now 'cause of the LMR bug introduced earlier.


1.09.40
-------

Ah....at laaast :)

I think this build is now stable enough to let loose in general....
Please go through this entire file for details on what's new/fixed.
This archive also includes the fixed versions of FileEd 0.25beta as
well as BFSMake. Please keep in mind the fact that this is only an
update. You need to have a installed and working Adept System in
order to use this.

The current build includes Hagar's file attach code but not the file
caching system as yet. Also, this is a 24 node version to preserve
memory as most SysOps may not need more. In case required, a build
with a higer number of nodes can be provided.

Feel free to e-mail and problems/suggestions/bugs to:

nitin@poboxes.com


1.09.39.3
---------
1. Changed the file attach code a bit. It will no longer ask to attach a
   file is the msg area is marked as private and the subject and the name
   to fields are forced. I was having a prob with my CBV. I have a
   seperate msg area for new user to leave some introduction about 'em
   and...well...it puzzled 'em as to what file to attach :)

2. Rmoved some redundant code from the Adept REXX cache processing.

3. Trying another fix for the file display list displaying junk at some
   places instead of blank. Think I found the prob...let's see...:)

4. I switched over to the new menus and discovered a mem leak there as
   well. This would effect only the Clear All Gosubs command. Fixed!

5. Found a mem leak in the Adept REXX chat function ADEPTSYSCHATGETMSG.
   The mem allocated for *every* line of chat was not being free'd.
   Fixed!

6. Added a log line in a user selects text mail export to enable me to
   pinpoint the fact first before i even attempt to fix it. Altho the
   forced handler works fine for now :)

7. Found a mem leak in the write message fn in certain cases. Fixed!

8. Found a mem leak in the archive view fn in certain cases. Fixed!


1.09.39.2
---------
1. Added a forced exception handler for file transfers which are done by
   GIOMT dll and nothing we can do about it for now. This would cover the
   last trap I got in recent times...let's hope :)

2. Found and fixed quite a few mem leaks in the file listing, tagging fns.
   Though small (pathname size which would be max 260 bytes (approx) per
   leak, it would make a big difference if any BBS kept running for days
   w/o being shutdown. Fixed!

3. Fixed the check in file listing and searching. It would not show files
   marked as not d/lable but would show the files marked as not listable :)
   Now, it will show files marked as not d/lable but not the ones marked
   as not listable. I already fixed BFSMake (0.96) to reflect the perms,
   and will get around to fixing FileEd to default flags to the file area
   flags...soon :)

4. CServer was trying to free already free'd mem, which the VAC libs do not
   like :) Fixed! (hopefully)

5. Removed delays from offline mail message writing. IMO it was not really
   really required. Let's see...

6. The file list display on the SysOp side sometimes got mucked up on the
   upper half depending on the displayed file descriptions length. Dunno
   exactly what causes that...yet, but a tried fix anyway that would not
   change anything else :) If it works, it stays, otherwise it goes away..
   I think it was the description buffer not being cleared...which is what
   I added for now...

7. Added a new command line option /WILDFILES. If /WILDFILES is specified
   on the Adept command line, it will allow the Download command to process
   wildcard characters which otherwise it prompts the user to
   "be more specific" :)

8. GRRR...there remained a small possible mem leak in CServer. Fixed!

9. Reduced the number of file handles allocated by Adept for itself to be
   smaller, based on the number of nodes it is compiled for. I have taken
   and average of 8 files per node which should be quite ok...let's see...

10. Fixed BFSMake (now ver 0.96.1) to not join the first 2 description
    lines of any file.

11. Just in case I forgot to mention it earlier, i really got peeved when
    I deleted a user a/c and the user could still get in...so, now Adept
    checks for the deleted flag before the locked out flag and will throw
    out the user after displaying the file DeletedAccount.ASC (if it exists)


1.09.39.1
---------
1. Added Hagar's file attach code.

2. Tried 512 nodes :) came up, but took a whopping 2 mins (approx) to start
   up. Got adventurous, max my system could take was 750 :( but at least we
   know Adept is capable of it :)

3. Switching to a 24 Line version from now on, since most people do not use
   more. This will further reduce the mem requirements of Adept. Anyone who
   needs a higer number of lines, can req a version for more lines.

4. Discovered a bug in the FileEd 0.25 beta. Fixed! Documented in the FileEd
   beta readme.

1.09.39
-------
   I think whatever was done till now is now stable enough to call this
   a usable release :) Just keep in mind the BBSStack Option documented
   earlier in case of problems.

1. Duh...found another problem common to all mail exports under certain
   conditions which would trap Adept. Fixed!

2. CServer had some severe mem problems. Took some doing, but I think it's
   finally fixed...i tried it with the menu and the rexx functions, but only
   on 2 lines so far...no probs and no more mem leaks.

   The CServer has 2 command line switches in case of problems...

   /EXCEPT to enable exception handling, and,
   /DEBUG to create a debug log of what's happening in CServer.

   As usual...CServer now runs at less than half the previous requirements
   per thread :)

3. I left a forced exception handler for a particular routine in the offline
   text export as it caused a trap i have not been able to figure out yet...

4. Thinks this build is stable enough for general use, so I am going to
   document the stack size switches once again...

   The three user definable stacks in this build of Adept are:

   a) Mailer
   b) BBS
   c) OffLine Mail

   The mailer and BBS stacks now default to 128kb and the Offline mail
   import/export to 96kb. The original were 256k for Mailer, 320k for
   the BBS and 128k for the offline mail. In case of any problem with
   either of the above, try increasing this value using the following
   command line options to restore the previous defaults.

   /MAILERSTACK 262144
   /BBSSTACK 327680
   /OFFLINESTACK 131072

   In short, run Adept as:

            Adept.Exe /MAILERSTACK 262144 /BBSSTACK 327680 /OFFLINESTACK 131072

   besides any other option you use normally.


1.09.38.9
---------
1. Added my DOS door runner into Adept itself as menu types 820 and 821.
   Why 2? well...820 keeps the session in the background and 821 keeps
   it in the foreground. I like foreground and Hagar likes background :)
   Syntax is the same as for type 801 etc...eg:

        1,820, Some Vague Door, VagueDor.Bat {LN,0
        2,821, Yet Another Vague Door, YAVD.Bat {LN,0

   I can think of some improvements on this, but after I get some
   feedback as to what other sysops feel/think about this option.

   Currently the door runner assumes that VX00.SYS and the OS/2 ANSI.SYS
   is in your Adept dir (if req) AND that your Adept dir is \Adept.
   I will fix this later...if req :)

2. Minor irritant left in the auto-menu switch. Since the default was to
   start off with old menus, during the auto-check for the first login,
   a 0 byte .bin file was created and left in the menu dir. It is now
   removed.

3. Found that the ChatServer required more Stack for threads on account
   of the printf fn in the WC libs using more stack. Increased it to 80k
   from 64k for now. Seems to work fine now. The VAC printf had no such
   hangups.

4. Clubbed a few mem alloc calls in the new menu driver to a single one
   and divided internally.

5. The vastly reduced mem requirements now seem to work quite fine at
   least for me. Both, VAC and WC builds of the same seem to be equally
   good. Maybe I finally did get it right eh? :) Well...let's see...


1.09.38.8
---------
1. GRRR...introduced a mem leak in the old driver. Fixed!
   Thought of trying the VAC _heapmin() again...seems to have some
   kinda prob. Removed from menu drivers for now, called only when
   a user logs off.

2. Currently using 128k for mailer and BBS. In case the BBS traps on
   startup or something, please use the command line option:

   /BBSStack 262144

   This will set the BBSStack up for 256k. For the mailer its the same
   syntax, the option is /MailerStack.

3. Pulled out the BBSWatch thread for now as I could not really see a
   use for it....:)

6. Tried a reduced mem requirement for qwk/bwave import/export...failed :)
   I put it down to less than 1/4 by mistake (typo), neway it seems to work
   fine in 96k as compared to 128k earlier.

7. Seem to have sorted out most of the mem alloc related probs, but i have
   a feeling there is still the odd one out there :)

8. The exception handling in BWave/QWK will now honour the command line
   /EXCEPT or /NOEXCEPT. I have done the same at all places (unless I
   missed something) where it was forced. Let's see what happens :)

9. The FTP Server was setting the exception handler but not freeing it. Fixed!

10. Added exception handling to get_reply_idx fn. Got a cpl of traps there
    some time ago. Don't recall what exactly happened, but plugged it in
    for now...

11. Please note the fact that exception handlers (enabled by the command
    line switch /EXCEPT) are meant only for testing purposes or for SysOps
    who want the BBS to keep up and running, regardless!


1.09.38.7
---------
1. Discovered a prob in the qwk import, would cause a trap, must have
   been my own creation in the earlier mods. Fixed!

2. Found a potential prob in bwave import, in case of low mem, it would
   freeze. This is similar to what was happening in rexx. Fixed!

3. Found an anomaly in the bwave/qwk import which could have, in cases,
   been the source of yet another mem leak. Fixed!

4. Changed the multiple allocations in the old menu driver to a single
   call and divided it internally. Much faster and smaller now.

5. Reduced the mem requirement of the mailer from the original
   256k to 128k and the BBS req from 320k to 128k as well. This
   is per thread of the Mailer and the BBS. A substantial gain
   specially for multi-line systems. Seems to be working well
   enough so far...:)

6. This is for those who might be interested. There seems to be a
   substantial differnce in the Watcom and VAC mem alloc/de-alloc
   functions. The one that was causing most grief to VAC was the
   alloca (allocate on stack). Watcom handled this as documented and
   quite well, but VAC invariably trapped at times. Also, Watcom does
   not seem to mind a invalid pointer in the free call, it most prolly
   checks, but VAC on the other hand, traps!

7. Found a prob in the Old Menu driver. A misplaced break would cause
   the goto menu command never to be executed. Fixed!

8. Found and fixed another mem leak in ANSI display routines in case of
   a carrier drop during display.

9. Found a bug in the ChatServer. Was assuming the value of a free'd
   pointer at one place. Dunno what it might have screwed up. Fixed!

10. Possible mem leak under some conditions in the new menu driver. Fixed!

11. Found quite a few mem leaks in the Chat Server. Fixed!

12. Removed TSYNCH (FTS-0001) code left in the mailer to make it smaller.
    FTS never did work ok and no one actually uses that anymore, so...:)

13. According to Hagar, the BBS Watch thread works fine, so, enabled that
    as well, though we already have the Status timer doing a similar job.
    This might make it a doubly robust kick out check :) let's see...


1.09.38.6
---------
1. Duh...changing a few of those stack vars did muck up the status
   display at times...no prob, just incorrect display. Fixed..again :)

2. Now that I have a better idea on the mem usage and most mem leaks
   have been fixed...(hopefully :)) reverting back to the original
   form of the stack usage as the existing experimental usage would
   in cases trap or freeze. Hopefully multi-line systems will no
   longer have any problems now with the VAC build.

3. Although the BBS was setting the File can't be listed or d/l when
   any file was u/l on the BBS based on the file area flags, it was
   not setting the bytes/free files flags in the FileBase. Fixed!

3. Forgot to metion earlier...the menu processing is done entirely by
   the new engine (actually, it was never changed from the old one).
   Only the basic menu engine call differs for the Original/New styles.

4. Added 2 new MenuItems for the Old Menu Style, which I have not
   currently included in the new menu engine as it might not be really
   required by most sysops. If there are a sufficient number of SysOps
   wanting that in the new menu style engine, I will try to add it to
   that as well. The new menu funtions added to the Old Style menus are:

   Menu Type 8 - Switch to a given Message area and then Gosub a Menu
   Menu Type 9 - Switch to a given File area and then Gosub a Menu

   For example:

        A,8,[1] Switch to Message Area,Message.Menu;Message Area Name,0
        B,9,[2] Switch to File Area   ,Files.Menu;File Area Name,0

   Keep in mind that the Area Name should NOT be in quotes even if it
   has spaces in between. Oh well...I was using 2 line rexx scripts
   just to do this...the other option was to use the AutoMenu as
   suggested by Hagar, but I guess I am too lazy :) so I plugged in a
   single command for it.

5. There seems to be a slight problem in the qwk import regarding areas
   marked as e-mail/usenet, have to talk to some people who know more
   about this before I can fix it (if it needs to be fixed at all :))

6. Bill-E pointed out the fact that AdeptRecv() was not working as
   documented. It is not and is not fixed as yet. The function was
   never completed AFAIK, but if there is a great need for it, it can
   be "Klugded" in. For the time being tho, altho the syntax remains
   the same, *only* the upload file path parameter is used by
   AdeptRecv() function.

7. What the heck...added the menu type options 8 and 9 to the new menu
   driver as well, works...for now at least :)

Hopefully this build might be more usable and stable than 1.09.38.5 as
most of the experimentation mem related code is now gone. Those who
missed the .5 update notes, please read about the changes to BFSMake.


1.09.38.5
---------
1. Possible mem leak spawning apps from Adept in some cases...fixed!

2. Checks added for mem alloc in places where there wasn't as i go along
   for now...never know, it might turn up something :) Anyway, no harm
   in the checking which is generally not required for small amounts...

3. Discovered an in-consistency in BFSMake and the BBS. Some details are
   documented in the BFSMake 0.96 now. Please get it.

4. Lotsa itty-bitty changes...too many to document...no bugs/fixes, just
   trying to make the code more consistent...But you never know, it might
   have an impact on some parts of the BBS...good or bad is yet to be seen :)

5. The BBS was not checking for file d/l permission from the file area
   flags. It checked from the FileSystem and BFSMake never did set
   those flags. The result was, anyone who re-built a FileBase using any
   earlier version of BFSMake can have files d/l from an area which has
   no d/l flag set. This is now fixed!

   Part of the fix includes having to re-build the filebase using the new
   BFSMake...so that file permissions can be properly set based on the
   area flags when building a filebase.

   I would appreciate some feedback on these...BFSMake as well as this
   BBS beta update.


1.09.38.4
---------
This is at the same level as the Official 1.09.37 as far as features
are concerned. Please consult the official "Hagar" build readme for
all theeee older details. This readme will document changes since the
official Watcom 1.09.37 build from Hagar.

It also includes the new quickscan fix from Hagar for the Official
1.09.40 build. Some of the fixes documented below are already
included in the official AdeptX build, and some that are not, are
already documented in the official readme anyway...:)

1. The Menu System is now auto-detected, so, it does not matter what
   menu style you use...the old classic one or the new style. The default
   startup is with the new style menus but will switch to old style, if
   required, on the first login and the status will be updated to reflect
   the change. The earlier, officially documented, /OLDMENU command line
   switch can still be used to start up with the old style menus as the
   default if required.

2. Re-Fixed the LMR bug to be more robust

3. QWK, TEXT, FIDO export would leave locked files in case of a carrier
   drop...fixed (BWave had been fixed earlier, most prolly we missed
   something someplace...according to Hagar, all had been fixed earlier)

4. The problem with Meta chars in ANS/ASC (Adept codes) files trapping
   sometimes during a fast enough display has been fixed (hopefully :))
   This problem would be apparent when displaying large/complex ANS/ASC
   files with Metas in between...more specifically if they also have the
   {PC meta as well. I have tried to fix this, but cannot be sure as it
   is not something I am able to reproduce everytime, but as things get
   fixed (or broken :)) we will find out the cause for this..hopefully..

5. Couple of memory leaks (would happen at times) in AdeptREXX have
   been fixed.

6. A Memory leak in BWave Import have also been fixed.

7. BlueWave/QWK imports would not sometimes close files in case of
   some problems/errors, leaving files open and therefore...locked.

8. Mem Leaks in email and nntp posting and a possible locked file
   prob is now corrected (AFAIK :))

9. Adept would display a message of "not implemented" in case some user
   dropped carrier at any file/msg list prompt. Minor irritant, but fixed.

10. A lot of mem alloc code has been changed...

11. Stack requirements reduced by a substantial amount (I hope :)), lots
    of changes in the code to make that possible...seems to work for now.
    This might also help us catch the vague traps which left no address
    in the POPUP.LOG (OS/2 System Error Log, if enabled) or even the
    Trap.Log (created by Adept on exceptions when run with the /EXCEPT
    command line switch), generally 'cause of "not enough stack to handle
    the exception" (as per the OS/2 official help/docs :))
    On the negative part, this also means that the basic mem requirement
    for Adept is up slightly, but, the good part is that all those places
    would also function slightly faster...let's see...

12. Displaying an ANS file with no literals would leave the file open.
    Dunno what it was, but...fixed :)

13. The Events SubSystem would either freeze or trap if a valid events
    file was not found...fixed!

14. On a seek failure in the nodelist, it would leave the file open. Fixed!

15. The File Search should be easier on the CPU now...added a delay between
    file area switching.

16. Most of the original debugging code has been removed from this
    update build.

17. Some places in Adept had exception handling turned on regardless of
    the command line /EXCEPT or /NOEXCEPT specification. Some have been
    corrected and others will be to help find out the exact problems
    associated with those parts.

18. Quick Scan fix from Hagar (refer to the official readme for more
    information)

That should do it for now....hopefully the current build should work
fine for most people...<g>.

Note: Had a request from a guy wanting to know what the numerical values
were for each of the msg and file area flags in the message editor, these
values are simply added together to form the FLAGS number in message_areas
and File_areas file, so i have tacked on the hexadecimal values to the very
end of this readme.txt. You'll have to convert em to decimal as the FLAGS
entry u see in the file is a decimal number, rememeber its the sum of all the
flags checked in the editor.

/*----------------------------------------------------------*/
/* Message area flags (areaflags)                           */
/*----------------------------------------------------------*/
        #define M_NOORIG     0x00000001                   /* No Origin or tear       */
        #define M_ANSI       0x00000002                   /* Allow Ansi Messages     */
        #define M_PRIVATE    0x00000004                   /* Force Msgs Public       */
        #define M_PUBLIC     0x00000008                   /* Force Msgs Private      */
        #define M_ECHO       0x00000010                   /* Is a Echomail           */
        #define M_NET        0x00000020                   /* It a Netmail area       */
        #define M_MCI        0x00000040                   /* Allows MCI Commands     */
        #define M_ANON       0x00000080                   /* All Msgs Annon.         */
        #define M_REAL       0x00000100                   /* Requires Real Name      */
        #define M_ASSOC      0x00000200                   /* Msg area allows assoc   */
        #define M_FORCE      0x00000400                   /* Always force            */
        #define M_COMPRESS   0x00000800                   /* Allow LZSS comp here    */
        #define M_GROUP      0x00001000                   /* groupmail               */
        #define M_USENET     0x00002000                   /* usenet conference       */
        #define M_QWK        0x00004000                   /* qwk conference          */
        #define M_SQUISH     0x00008000                   /* Squish MSG Base         */
        #define M_EMAIL      0x00010000                   /* Internet E-Mail         */
        #define M_FIDO       0x00100000                   /* Star . msg Format       */

/*-----------------------------------------------------------*/
/* File area flags (areaflags)                               */
/*-----------------------------------------------------------*/
        #define F_FREE       0x00000001                   /*                           */
        #define F_NOUP       0x00000002                   /*                           */
        #define F_NODOWN     0x00000004                   /*                           */
        #define F_LEECH      0x00000008                   /*                           */
        #define F_DOWNBACK   0x00000010                   /*                           */
        #define F_UPBACK     0x00000020                   /*                           */
        #define F_CHARGE     0x00000040                   /*                           */
        #define F_CANTLIST   0x00000080                   // Uploads not listable
        #define F_CANTDL     0x00000100                   // Uploads not downloadable
        #define F_NOFBBS     0x00000200                   /* no FILES.BBS at all       */
        #define F_COMMONONLY 0x00000400                   /* use only common FILES.BBS */
        #define F_UPBLIND    0x00000800                   // UL get desc. afterwards
        #define F_COPYFILE   0x00001000                   // copy download from CD to HD
        #define F_NODIR      0x00002000                   // copy download from CD to HD
        #define F_NOCOMMON   0x00004000                   // copy download from CD to HD
        #define F_NOSEARCH   0x00008000                   // copy download from CD to HD


