The Un-Offical AdeptXBBS Version 1.09.xx [VAC] Builds
-----------------------------------------------------

Ok...now that we have the title out of the way :) let's start...
These are not the official AdeptXBBS update files. The only
"Official" and stable updates are the Watcom "Hagar" builds.

The aim of this update is to get rid of bugs, mem leaks etc before
they are officially incorporated into the Hagar builds. In general,
these update files will generally be at the same level as the "Hagar"
Official builds (feature wise) but with a lot of internal code
changes which I would call bug fixes :)

The current version 1.09.38.x is based (feature wise) on the
1.09.37 Hagar build. Of course, there may be a few things I added
which Hagar might not, but, in general, it's more or less the same.

I will try to document most changes that take place in here from
now on and please report all VAC build bugs to nitin@poboxes.com

Please do let me know what works and what is broken. Hopefully we
can fix things up :) The included files are a drop in replacement
for an installed (and working :)) AdeptXBBS.

Just replace the existing files with the ones in this archive,
after making a backup copy of your existing 3 files
(Adept.Exe, AVI.DLL and CServer.Exe).


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, 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>.

nitin@poboxes.com
