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.... nitin@poboxes.com