Hagar WatCom 586 optimized AdeptXbbs Builds. ============================================ Welcome to the latest version of AdeptXbbs, we are working hard to improve adept and make it the best bbs system available for Os/2, since we started working on it, things have generally gotten better. People are asking "Is this really free ?" to that we say a resounding "YES"!! Once thing that might make us work even harder is a postcard from your city with your name on it, just to show you support AdeptXbbs. There is no requirment to send one but if you would like to my Address is: Mario D'Ulisse 4 Paladin Ave. Sault Ste. Marie, Ontario Canada P6B-3P6 ************************** NEW********************************************** Check out the official AdeptXbbs WebPages (Right TWO of them) at http://summitcnty.com and http://www.comland.com/~bkirby Latest updates and other good stuff can be found at these sites, and a resounding thanks to Mike Burton (aka ALT) and William Kirby (Aka Wikk) for taking the time (A *LOT*) of time to generate and maintain these two fine AdeptXbbs pages. They have donated their precious time (and money)to support a *FREEWARE* product!! ****************************************************************************** =============================================================================== Note: This readme may refer to builds not yet released, I update it as I go so if u see a build number that's not out yet, it'll just give you some idea of what'll be in the next release .. :> *READ* It has come to my attention that many of the sysops out there who have TCP/IP or IBM's Internet Connection installed do not have the local loopback setup correctly. I sugest that you add the following line to you adept startup .cmd file or your system startup.cmd. ifconfig lo 127.0.0.1 This will not effect the use of any other aspects of the operating system. The local loopback should ALWAYS be setup, IBM's just too unbelievably stupid to setup up as a default (Almost every other OS that uses TCP/IP in the history of computers does) but some brain dead schmuck at IBM doesn't have a clue so you have to do it yourself. The local loopback of 127.0.0.1 is required for *ALL* the new builds of the BBS software if you wish to have multinode chat work. If you don't set this loopback up, adept will pause for up to two minutes at logon time while it looks for the chatserver, even if you have not started cserver.exe running adept still looks for this loopback address so SET THE LOOPBACK!!! AdeptXBBS MUST have the local loopback to operate correctly to operate correctly. This means that you MUST have IAK installed, or Warp 4. To set it up is not that hard but must be done. To do this just follow these simple steps. 1) Edit or create the startup.cmd file in the root of your boot drive. 2) Add the following to it: ifconfig lo 127.0.0.1 3) save the startup.cmd file. 4) reboot your machine. That's all there is to it... AdeptXBBS is now ready to fire up... If you haven't used any of the Hagar Builds before, but are upgrading from 1.08.0x series Adept to a Hagar Build, you should *READ* this document from top to bottom. There are drastic changes and the the menus need to be converted to a new format. (If you have been running Towers 108a series exe's you've already converted yur menus and there is no need to do it again!!!!!!! However you do need to delete *.menu.BIN in yur menus dir, adept needs to recompile a fresh set of binary menu files. Just delete the bin files and adept will automatically recompile them. If you are currently running 1.08.0x series exe, then u *DO* need to convert your menus to the new design) Ok there's some confusion about old vs new menu styles so let's take a moment to explain. if yur menus have entries like this: W,42,Who's On Line,,0 then u have the *OLD* menu style and u need to put /oldmenus on the adept command line. I.e adept /nodes 4 /oldmenus, adept will now look for your old style menus and use them instead of the default new menu structure. if yur menu entries look like this: BEGINMENUITEM KEY W MENUCOMMAND 42 DISPLAYCOLOR 0 MINSEC1 50 ENDMENUITEM then you can just drop the hagar exe's in place and run, by typing adept /nodes 4 or however many nodes your starting up. Hope the above helps people wanting to try the Hagar WatCom586 builds... ********************** NOTE:************************************** I have had reports of adept not starting up for some people, this is usually caused by a missing language.text in the \adept\system dir *OR* missing events.text.x (where x is the node number) files in the \adept\events dir. You *MUST* have an event file for each node you're starting up, otherwise results are unpredicatble..... Note: if u don't want seperate events for each node, just create a generic Events.Text file, it will be used for all nodes that don't have a node specfic events.text.x file. ******************** NOTE2 ***************************************** I have also had reports of adept "hanging" in atend.cmd rexx script if it's a multi-line bbs, what i have found is that it will hang if more than one line is in use and someone logs off on another line, the culprit seems to be ADDRESS CMD statements in the atend or a script called by atend, (ADcaller.erx, called by atend.cmd on some systems has an address cmd staement in it) for some reason this hangs the rexx script. Don't know why, but it'll do it every time. Workaround i simply to avoid the use of address cmd staements in *ANY* adeptrexx script, or you can go back to the warp 3 distribution rexx dll's, they allow address cmd statements to process normally. IBM changed something in the rexx and I don't know what it was, but *SOMETHING* definitly changed. Personally I have modified all my rexx scripts to avoid using address cmd statements all together. Rexx has built in functions to do most of what i used to use address cmd for anyway... ******************************************************************* Join the adept e-mail list: Simply send an e-mail to: adept-request@mail.snoval.com with the words, subscribe adept in the body of the message, once you get yur confirmation message back you can post to the list by sending messages to adept@mail.snoval.com, your posts will automatically go to everybody on the list. P.s. I announce new build availability on the list regularly. 1.09.47 --- Well I got brave and tried to start 512 nodes here and it started 435 before i ran outta Vram, so it should start 512 on systems with enough resources... 1.09.46 --- Found and fixed the memory leak I have been tracking down in the new caching file I/O system, built a 64 node enabled version for those who want to play with larger "live" nodes, just fire it up with the number of nodes u want to bring online as per usuaual , max is 64 nodes. Now to get some runtime on this sucker.. letting my users loose on it now... Later on.. looks like the mem leak is definitly fixed, to find out for sure, I'm enabling 512 nodes in this build, and BJ is gonna try bringing all 512 online in setup mode, let's see what happens... 1.09.45 --- Never saw the light of day, cept for some alpha testing, discovered a huge memory leak somewhere, so it's gonna take a bit to track it down.... 1.09.44 --- Implemented a bbswatcher thread into adept, now if a bbs node hangs for whatever reason, the watchdog thread will issue a DosKillThrea() call which should terminate it and anything it was hung in, I've tested it as far as I can but i'm having a hard time trying to make a node hang on my board. Lets see how well it works in the real world, you should never see adept sitting there counting negative time for a user who has long ago dropped carrier again. At least that's the theory... Looking good, that bbswatcher thread is doing it's thing, I tested it with several rexx scripts that used to just sit there waiting for input on a carrier drop and it killed them off just fine. Here's one for you, ever seen a user fire up yur ftp.cmd script, start a several meg download and drop carrier on it?? I have, it sits there ftping till the transfers finished, THEN recycles the node, well not anymore, 5 seconds after carrier drop now the ftp.cmd and it's transfer are killed.. Node is back up and waiting for calls instead of just not answering for several minutes till the ftp finished. Note: ATEND.CMD can still be a problem, hanging a node, there's not much I can do about this, cause ATEND.cmd is not started till *AFTER* carrier is already gone, so I've got no way to know if it ever completes running or not, and the way it's started I don't have access to the thread id anyway, so make sure you know what yur atend.cmds are doing... Fixed a minor glitch in the cold input more y/n prompt where a user had to hit two to continue, a single will do the job now, as is the case with hit enter to continue and press any ket to continue. 1.09.43 --- Looking good, 20+ hours uptime here with over 65 callers in that time, not a single error. Reports from the other sites so far all positive too..... 1.09.42 --- .41 was never released, .42 adds Towers revamped Caching file I/O subsystem to adept, this stuff is *FAST* and is looking very solid here, if yur worried about testing this build live stick to .40, but if .42 proves stable, i'm gonna stick with the new i/o system, it's definatly a speed increase. This build is currently running at a few test sites, we'll see what kind of reports come in. 1.09.41 --- Fixed something I had fixed back in the days of Hagar builds, which somehow got lost in the shuffle, that being locked files being left behind if a user dropped carrier in middle of a qwk or bluewave export run. Added a check for existance of Atlogin.menu, instead of blindly calling the menudriver and letting it discover the menu does not exist, this was causeing a delay of 5 seconds or so between time news.asc was displayed and time new files scan came up, if the file does not exist there will be no delay now cause menudriver doesnt have to shuck and jive and see it's missing etc.. The local message file attach seems to be working just fine here.. so i'm not gonna touch it unless someone reports a problem with it.. Increased the bbs threads stack to 800k by default and mailer thread stack to default to 500k, these can be tuned from the command line, ie adept /nodes 4 /bbsstack=262000 /mailerstack=262000 would set the stacks to 260k. Fixed a bug in rexx function posttextmessage that was not allowing the private message bit to be set, should be ok now.. Re-enabled FTS-001 support cause of complaints that adept mailer is not to FTN specs. 1.09.40 --- Had a sugesstion that i tie the netmail file attach privelege and import file functions to the area SYSOP security !! Why didn't I think of that, I totally forgot about the sysop security setting for message areas, so it's done, to enable netmail file attaches simply set yur sysop security level 1 to greater than 500, this same security level is checked before allowing import of a text file into the message editor, so now you have control of these functions not only on a security privilege level but also by selected message areas (for text file import) netmail file attaches will only be avilable in the netmail area of course, but this allows yur co-sysops to have that feature if you want him to. Fixed a bug in the local file attach upload code, turns out if a user was really fast and logged out before the transfer box was finished updating adept would trap out. The status box update is properly terminated on the up/download now so that problem is no longer there. 1.09.39 --- File attach to local *PRIVATE* messages are in this build, and all the testing I've done here indicates success, so I'm gonna release it for live use. This is the way it works, if a user enters a message into any LOCAL message base and the message is flagged PRIVATE, the system will prompt the user asking if they wish to attach a file to this message, if they answer yes, they are prompted for a protocol then prompted for a file name, and an upload starts using the protocol the user has selected. The file will be received into the dir .\Hold meaning by default the \adept\hold directory, note you must create this directory, make it in yur default \adept dir and all will be hunky dory. The file will remain in the hold directory untill the receipient logs on, when he reads this message he will be informed that there is a file attached to this message and asked if he wants to download it. If he says Yes the standard file transfer dialog will come up letting him change protocol if he chooses. Once the file has been downloaded it is deleted from the hold dir. Once the file is deleted the user will not be prompted again if he rereads that message. Found and squashed a bug with the quickscan menu command, it will now return to the list of messages stead of dumping to the messages menu.. Pulled the old menu engine outta this build, result ? Menu execution speed doubled, if anyones running old style menus *CONVERT* em, it's not that hard to do and you only need do it once. 1.09.38 --- Safehex released this build for those who want to try it. Filename is Vacu38.Rar, this is a vac build of V1.09.37 1.09.37 --- Farkity fark, I screwed up with .36, accidentaly selected small memory model in the compiler options, soooooooo I Changed compiler switches yet again, recompiled rexxlib,cserver,avi and adept with the new switches, seems stable enough here. SafeHex sent a fix for an obsure LMR trashing bug, it was actually included in .36 but i forgot to mention it. Safehex spotted a bug in trashcan checking routines, fixed in this release. Did some more work on cserver, it was still trapping occasionally. 1.09.36 --- Fixed the list user function, so selecting = on a more prompt properly displays nonstop , it worked locally but was broken for remote logins. Have had reports of users being expired when you don't want them to be, if u have expire days for a sers group set to anything other than zero, the expire code will take effect and if they have expired, they will be downgraded. If u don't want expiry code checking for a group (like sysop) set the expire days to 0. this effectivly disables the code. Made some more changes to cserver.exe, hoping to stop this phantom chat syndrome... Safehex found a bug in the meta conversion routines that might explain some random traps in the meta engine, this has been fixed... Revisited netmail file attach routines, it was pointed out to me that some sysops adjust sec2 in login scripts or in atlogin.menu based on groups and access levels, so sec2 is not a good candiate to enable the file attach feature, same goes for sec1 and the flags words, so what I have done is put in a check for the users name against the bbs sysops name, (The name u configed in bbs setup) and if it matches, I allow the option of file attach. Hope this change meets with everyones approval. Decided to make the same change in the Import A text file into current message function (^KL) instead of blindly checking for a security level of 99 or greater, this frees up the use of sec1 and sec 2 for whatever u want to implement it for, without compromising system security. Note if some signs on as *YOU* though they will get access to these features, so protect your passwords. I thought of restricting them to a local login only, but some sysops may have use for them from remote logins, so i left that check out. 1.09.35 --- Made a change to chat client code, if the socket numbers of client ever get high enough to reach the common port defined in cserver it will refuse to connect that client. File attach to netmail entered from adepts message editor is now supported, this feature will only be avilable to users with a security level 2 (NOTE 2) of 5000 or higher. If yur sec2 level matches 5000 or greater, you will be prompted for path\filename to attach to the netmail. This feature is enabled on *ALL* netmail entries, meaning new message entry or reply to netmail or reply as netmail, you will be prompted, default is no so hitting enter allows a normal netmail to be entered. 1.09.34 --- Got a report that if u double clicked on the outbound window to get rid of title bar immediatly after it becomes visisble, it would never scan the outbound, sure enough, it stops the outbound scan. So now if you double click on the outbound window soons it comes up, the action is delayed till the message and file areas load code has completed. This load code can take quite a while on systems with large file/message bases. The double click is qued so it will take effect once the semaphore has been posted by the load threads. The other 3 windows also have this delayed action in them. Found and fixed a bug in the user time for session calculations, if time/day == time/call, results would be unpredicatable, since they were using the min() macro, min does not (as far as i can tell) know what to return if both values are equeal). Some people are leaving the expire to group # in groups set to 0, if this is the case and a user logs on and is expired, it will show him Expired.A?? and log him off without trying to downgrade him to a non-existant group. Same behaviour is now implemented if accounting is active and a user goes bust, but group to set him to when broke is set to 0, it will just show him Nocredits.A?? and log him off without further action. Fixed the outbound problem where M. and H. files were not being deleted after a mail session with that node, they now get deleted. Recompiled cserver.exe and avi.dll to use the same compiler switches as adept and the rexx lib, shouldn't have caused any problems, but better to have all code generated with the same options. Be sure to replace avi.dll and cserver.exe with these ones. 1.09.33 --- 14:00 update (97/5/4) fixed a bug in the chatclient routines that was not allowing people to be deregistered from chatserver. Cserver would show them in a chat room even if they had left chat. (Rexx chat) 1.09.33 --- Fixed a logon bug that would cause adept to trap, didn't happen here cause i was still running with /acct in my command line, an important variable was not being set unless you were running with /acct. It is now set regardless of the /acct switch. 1.09.32 --- Added the shutdown options to the popup menus of the adept status window. (The one that shows uptime etc) Click on any line number to get the popupmenu. Safehex added compile time information to the product information box, now you can see exactly when yur copy was built. Fixed the Hot/Cold input routines to now work as advertised, if a user has no hot keys turned on he will have to follow his selctions with an enter keypress. (Note for the local console hotkeys are *ALWAYS* on regardless of the hotkey setting) Added user expirey code to the login routines, the bbs will now check the users group number and if expire days is set to a non zero, it will check his expiretime and drop him to the expireto group if his time has come up. 1.09.31 --- Changed adept's Origin signature to reflect it's freeware status, it will now put (*FREEWare*) in the origin line. Fixed a small problem in the drop dtr from bbsscrn popup menu, it would only drop dtr on the guy if that node had the focus in Line# selection, it will now drop dtr on the user even if that node does not have the focus. Enabled and fixed user accounting, if you start adept with /ACCT on the command line accounting will be enabled. You set up accounting details in GroupEditor->Accounting button. The groupto downgrade user to on bankruptcy of account is also working, if a user who is in an acountable group goes bust, he will be expired tot his group number. Note the credit field of the user is also debited on a netmail post as per cost per netmail message. If a user tries to login and his remaining time exceeds his remaianing credit, he will be shown NoCredits.Asc/Ans/Avt. and logged off after his group number is adjusted and saved. Along with this are two new metas, {SF to show users remaining credit,and {SG to show credits charged per minute. Fixed the bug that was causing Badpass.menu to not allow a user to post a message to sysop. You can now give your users the option to write you a message from that menu, or do whatever you want from that menu. This menu is executed after the user gets his password wrong for the number of times you have configured. 1.09.30 --- Cserver seems ok now, did some work on adepts end of it though, worked on the chatlient code in adept, trying to make it more reliable. Safehex added the routines from the new menuengine to the old menuengine, you should now be able to use the same menucommands in either engine. Got a report of rexx trapping adept, this build should cure that. 1.09.29 --- Safehex has been busy, found 3 or 4 other places in adept that had the same kind of bug as the menudrvr code, this has been fixed. These kinds of things probably account for a good many of adepts unexplicable traps for no reason stuff. Did some more work on cserver hoping to cut the traps down or elimnate them if possible.. 1.09.28 --- .27 introduced a bug in the netmail message entry (would trap on node lookup) it would ask for subject and adept would crash. This build fixes that... 1.09.27 --- Safehex is doing a bang up Job on finding/fixing obscure gremlins in the menudrvr code, since the menudrvr is the heart of the bbs system, it makes sense to go thru it with a fine tooth comb and pull out whatever we can find. this build will have the latest menudrvr in it. Went thru every single source file and changed all memfree() calls to the new macro that checks for null pointers before freeing em (freeing a null pointer is a sure way to trap adept) so this should reduce the traps a lot. Changed compiler code optimzation options on safhex's recommendation to some safer switches, the ones i was using could allow gremlins in the code. It's still pentium optimized though. 1.09.26 --- Done painting.. Ok did some more work on the chatserver code, decided it was stupid to add another function when there is already one to disconnect the user, so i pulled the AdeptSysChatRemoveUser() rexx function, and simply had the AdeptSysChatLeaveConf function do both, it will now cleanly remove a user (just as if he has logged off) and clear him from the conference. Tested here, seems to work ok. I inadvertently broke public messages in rexx chat too, sorry, this is now fixed. I got safehex's timeout routine wrong, it's not for transfers, but to keep adept from keeping a user online all the time counting negative time. The transfer thing, well the transfer is done in a dll, not much we can do about it at this point. 1.09.25 --- Hrmmm, where to start, Ok SafeHex has identified a few instances in the menuengine that could cause adept to trap, these have been repaired, thanks to him. He also added a timeout for when a user drops carrier during a file transfer, now instead of adept just sitting there counting down time, it will hangup and recycle the node. Added a new AdeptRexx function, AdeptSysChatRemoveUser(Line) will now disconnect a user cleanly from the chat server, use this *AFTER* a AdeptSysChatLeaveConf, the leave could get buggered if a user quit and reconnected during the same login. This should fix that and may cure the cserver traps to boot. Avi.Dll, has been updated again, removed the last vestiges of the Frank Sexton fix attempts..Missed one in the last cleanup and this was causing probs with ATI boards for sure. Update 28-April-97 11:30 EST 1.09.24 --- Worked some more on Cserver.Exe trying to get it to stop trapping on busy chat systems. Abandoned Vac builds for now, Vac builds had trap problems if yur still running a Vac build beware, suggest you upgrade to 109.24 watcom build asap. 1.09.24 --- Fixed a bug in the {VL (First name only) meta, plugged a hole in the login routines that was allowing users to scam more than their daily alloted time allowance as set by the sysop. Reports of some video problems being caused by the last avi, prolly due to that patch i put in to try and fix this last cirrus cards bug. So I pulled that pactch but left in the older cirrus/trident cards fix. Be sure to use this avi.dll. I have done all I can on getting that last brand of video card to work properly with adept, nothing I've done makes any difference to this card, I can only conclude the card or driver for it is broken at anything over plain VGA. It works fine in plain Vga. The card in question is made by JATAN Corp. and is dubbed the 5446-JT/2Meg, billed as an VGA/MPEG video card, if your trying to run adept at greater then 640x480x16 resolution on this specfifc card, well all I can say is I tried, but sorry your own your own with this card. Fixed a long standing "feature" where mail up/downloads were being added to file transfer stats, they will no longer be counted, file transfer stats are now just file transfer stats. Added the toggle DTR option to the bbs windows popup menu, I find it a pain when I've got the bbs window in the forground and want to disconnect that user for some reason or another, to switch to the asdept main window just to toggle dtr. You can now do it right from the popup menu, you know, the one u use to get into sysop<->user chat. Fixed the broken multi-lingual support in this build, it now works as documented in AdpXbbs.Doc. New Cserver.Exe in this build, looks to be more stable than previous builds of cserver... 1.09.23 --- This is our first VAC compile, it's build 1.09.22 really with a few cleanups and checks in the code. We have come up with a scheme to let you know what your getting by the name of the files, all Full installs will be called like this ad109f23.zip = full install VAC build, there will be no watcom full install. All upgrades will come in two flavors, watcom and vac compiles, ie 109u23.zip = watcom upgrade and VACu23.zip = vac upgrade. This allows those who believe one compiler is better than the other to run the flavor of their choice. Both builds will be Pentium optimized, but will run on lesser platforms too. update 26/4/97 13:00 1.09.22 --- Grrrrrrrr!! Fixed /NoStat which somehow got broken bewteen builds.18 and .22. It now works again as documented. update 26/4/97 11:00 EST 1.09.22 --- Thanks to mattis I found and fixed a big hole in the user login dupe user check, it is now no longer possible to logonto two nodes at once. Added 2 new mets to adepts meta engine, {SD will return The Time Os/2 was booted at and {SE will return the time OS/2 has been up since boot. 1.09.22 --- .21 was never released, not because of bugs, but because of a major new twist. U remember how some people liked the 107 style menus? Well this build will allow u to use your choice of menu formats. If you run it as usual you don't have to worry bout the new feature nothing changes on your current hagar build system. However if you add /oldmenus to the cmd line u use to fire up adept, it will look for the old menuengine style ascii menus.. (The ones you used with v1.07 and 1.08.0xx versions of adept.) So now adept is even more flexible, you have your choice of rexx menus, newengine menus (compiled) or plain ascii text menus. You can thank Safehex alias Nitin Chandra for this piece of magic. (Glad he's on the Adept team and not the Lora project :>) Other good news is Nitin's got Vac for os/2 so expect a vac compile with all the latest features in the very near future. (Soons i get word back on this stupid cirrus bug). This build has all the features listed below too... Got word back from Sexton today, transparent screens still exist on his pci 5446 cirrus card, this included Avi.Dll is another attempt to fix that. Have had one report that adept is trapping in the video driver on one system, if this happens to you try switching back to the pre-cirrus fix avi.dll (you did back it up right ?) and see if your problem goes away, if you are having video traps I wanna hear from you. 1.09.21 --- Users uploaded msgs via bluewave/qwk are now added to his user record of uploaded msgs count (Thanks to safehex for this mod).. Added a new system meta variable to show bbs uptime, put a {SC in any asc/ans file and it will show the uptime in days:hrs:mins format. New Avi.dll included, this is yet another attempt to fix the one remaining case (That I know of) of transparent local bbs windows...waiting to hear back on this fix, but it does not affect systems who did not have the problem so i see no harm in releasing it. --- Never Released see 1.09.22 --- 1.09.20 --- Found and fixed a bug in the new pmi update code (for a user deleting mail after entering it) I recommend you take the precaution of deleting every file in \adept\personal_mail as this bug was eating the pmi files.. could cause traps if you don't clear the grunged files. Also included is another avi.dll to try and fix the cirrus bug which is now only happening on the new pci 5446 card and drivers from cirrus, if you have a 52 series card you should be all right as the previous fix is still in there. Have also had problems with long files names (The message area name is used as the filename of the msgbase) being directly entered into the message_areas file. The pulldown editor is programmed for a 60 character maximum length, but since virtually nobody uses the editor to create message_areas, we have been seeing some ridiculosly long file names, specially if yur setting up news groups and are using the group name as the areaname. Soo in the load msgareas code have put in a hard limit of 128 chars for the areaname, if you have a longer area name than that it will simply be cutoff at the 128th byte. 1.09.19 24-April-97 19:30 EST Update --- Fixed a *LONG* standing bug with farking file ratios, the ratio credit field of the groups editor was totally broken so it would always save a garbage number in the credit field usually a negative number, this threw the ratio calcs out the window. it now saves as it should and defaults to 0 as it should. You'll have to edit your groups to set this the way you want it. 1.09.19 --- New Cserver.Exe in this build, trying to eliminate the traps that plague cserver on a busy chat system. Did some work on the adeptrexx engine, for the same reasons, and working on those two of course means i have to recompile adept.exe too. Be *SURE* to put both the cserver.exe and adept.exe online toether, *DON'T* mix old cserver with new adept and vice versa, some of the changes I made to Cserver directly affect the way adept works... Added yet another Meta Variable, {VM will show the last user who was on this node. (Full Name). 1.09.18 --- 24-April-97 09:00 EST Update Have added something have wanted for a looonng time into adept. A first name only meta variable. {VL will display the users first name only. While I was at it added {SA this will display the users current status as shown in the status window of adepts pm screen. And finally {SB, this will display the connect string that user used to get on line with, useful for pulling ip addresses out with rexx on telnet/vmodem connects and other such stuff.. baud rate /arq etc are also in this line, it's the string returned by the modem itself.. 1.09.18 --- 23-April-97 10:30 EST Update Ok. I think I have finally found the infamous cirrus logic card transparent screen bug, included in this update is a new Avi.Dll. This dll should fix that stupid bug once and for all. (I hope :> wish I had a cirrus card to test with, but i don't so.....) 1.09.18 --- Bluewave import had a prob with some area names if the first 5 or so chars were the same, it could post the msg in the wrong area, this should be fixed now.(Lemme know Bill) Fixed the menutype 53 (Who's in this chat channel) so it now displays real names properly too (if u use the real name meta in yur language.text that is) Added a check to see if the chatserver is running before sending the users input out to the channel, if the server went down while the guy was typing, he could wind up in never never land.. Recompiled the adeptrexx library. Made another attempt at fixing the cirrus logic bug, last attempt didn't change anything . Put some code in place so a user who's time has been adjusted due to upcoming forced event cannot simply go to the time bank and withdraw enough time to overrun the event. It will simply tell him he can't have that much and exit.. 1.09.17 --- So much for working on soffits and deck :> This build is my first attempt to fix the cirrus logic and trident display drivers transparent bbs screens. I found a problem in the code that could account for the display problem. Lemme know if it's fixed. (If u have trident or cirrus card that is) 1.09.16 --- Major menudrvr bug,type 4 and 5 commands (goto,gosub with password protection) were totally farked. they now work as documented. Note: those using the language file oout of the full install may want to edit line #314 to reflect their own systems name instead of mine. Just change DogStar BBs to whatever your system is called, this line is displayed on a who's online command. No more builds for a few days.. gotta fix my soffits and repair my deck. 1.09.15 --- What a farking day !! Mattis (of course) had another bug to report. Seems he has 7000 msgareas defined and adept would trap when it hit area 2016. Turns out area 2016's name was 53 characters long. Adept uses the name as the filename, and of course somebody hardcoded a 64 char path/filename limit into just about every source file that opens a file. Spent the day tracking down all those damn hard coded limits and changing em to 512. Adept no longer traps on mattis's msgareas. Fixed the more yn= problem where on a remote call, if a user was listing message areas and hit = for nonstop, it would only show him one more page and stop listing. This was not evident in a local login, only for remotes. Hitting = now causes adept to scroll the message areas as fast as the users modem can handle the data. 1.09.14 --- Mattis reported a bug that I can see being a problem on a busy system such as his. If a user enters a message or messages, then changes his mind and deletes 1 or two of them for whatever reason, we have a problem, the person the message was to has already had his personal mail index file updated (PMI Index). The bug comes in when that person logs on, he's notified of new mail, but the message has been deleted. Result, he cannot read any new mail past that deleted message, the pmi is farked at that point. So what I did was to put in the delete routines a call to update the pmi index (removing the deleted message from the pmi file), and I went one step further, if the brain dead user who entered the message in the first place changes his mind and UNDELTES it, the pmi index is again updated. Result deletes/undeletes now properly update the pmi index. Second, adept was letting people on even if their name was in the trashcan file, it was only checking trashcan on new logins, it now checks names already in the userbase too.. 1.09.13 --- Non existant I hate 13 !! 1.09.12 --- Too many updates, time for another minor version increase Added one more flag value to the type 51 menucommand, flag = 128 will now execute a clear screen before it displays the text file. This flag is summable with the others, so you can have it clear the screen and prompt to hit enter to continue at end of file if you like, so to get more prompting, allow interruption of display etc use 151 (128+16+4+2+1). Bill-e has reworked the docs, and they are included in the archives for this build. Note: there is an existing bug in Adept that everybody should be aware of, it is in the adept telnet mode. If you select telnet active for a port and enable only telnet server, adept will trap on the first connection to that port. Workaround for now is to enable *BOTH* telnet and socket servers, in both the line config and internet options configs. With both telnet and socket enabled, all works wonderfully. Will see if I can figure why it traps without sockets selected. 1.09.11 --- 20-April-97 07:30 Update... Fixed a cosmetic logging problem that was showing up if a colors.ctl file was not found. Built a new cserver.exe that does not generate a chatdebug.log file, this logfile could get quite huge if left to grow on a busy chat system. I'm including the new cserver in the update zip. Also made a change to the code to try and keep adept from farking the events files on a trap condition, this happened to me a few times, where an events.text.x file was truncated to 0 len because of a trap or abnormal shutdown condition. This change should keep that from happening again. 1.09.11 --- 19-April-97 23:30 Update... Ok, Mattis (of Lakebbs fame, telnet to lakebbs.cn-newc.com.au to see an excellent 32 node adept system) reports a problem with users faking out the dupe user checks on telnet nodes especially and using this to gain more than their alloted time for the day on the bbs. I have looked at the dupe user check, if the timing is just right they can slip thru the crack. Soooo I have added a *SECOND* dupe user check right after they enter their password. Adept will check, ask for password if they passed the first check then if they get past the password it checks once again, if it finds the guy on another node, it will hang him up. This should take care of that timing window. Mattis, let me know how it's working out for you, if it's still an issue, i'll think of something else. Now a word about who's on line displays, and real names versus handles displays. Both the rexx chat who's on line and the regular menu type who's on line commands share a common language.text line entry. the line in question is #314. If you have a {CF in that line then who's on line will display *REAL* names. If you change them to {CG then who's on line will display handles. You have your choice, currently there is no way to display both short of someone coding a rexx script to handle it. (Shouldn't be that hard if someone wants to tackle it, both real and handles are available to adept rexx and the line number can be incremented to step thru all available nodes, soooo, if someone wants to get a bit of adeptrexx excercise this would be a good project. ) The way this function is coded in adept does not lend itself to an easy way to allow a dynamic display of either real or handle. It's simply coded as a choice you have to make as Sysop. 1.09.11 --- 19-April-97 21:30 Update... I'm tired of manually adding {PC's to text files to give users a chance to read the displayed file, like lord scores etc. So have modified type 51 menu types, if 16 is included in sum of optional flags it will now automatically prompt user to hit enter to continue at end of displaying text file. See the docs for what the rest of the flags values are, they all work as documented default is still 7 if no flags value specified on optional data line. 1.09.11 --- Sometimes, if you started adept and then immediatly hit Shutdown from the pull down menu, adept would start shutting down before all the init threads had finished running. Result, adept hangs with part of itself in memory, preventing you from starting it back up again. Reboot was the only way to clear this condition. This sucks and has bit me quite a few times. Sooooo, Adept will now post an itnternal semaphore when the load msga areas and load file areas threads are complete. I put the semaphores in these two threads, cause they are the ones who take longest to complete. (It takes 20 seconds to load my 1000 msg areas here.) So when you hit shutdown now, the shutdown does not go into action till those semaphores are set indicating thread completion. So be aware, if you have a lot of file/msg areas, and you fire up adept, then immediatly hit shutdown, it may seem like forever before it actually shutsdown. It's actually waiting for the load msg/file areas threads to complete before shutting down. So be patient, let it do it's thing, it will eventually shutdown normally. Note this has no effect on the close button in upper left corner, I recommend not using that button in any case, unless it's an emergency situation, like a hung rexx script or some such. Hitting close does not save configs and stuff, and in somce cases, depending on what adept was doing when you kill it like that, can actually corrupt config/events/etc files. Always try to go thru the shutdown menu to ensure and orderly shutdown. 1.09.10 --- Revisited the events editor, add,delete,insert,and edit all work properly. Editing a nodes event file that does not exist or is 0 length used to trap Adept, it will no longer trap, instead it brings up the add dialog and lets you create an events file for that node on the spot, it will save this file when u answer yes to the sasve your changes to disk dialog. 1.09.09 --- Due to popular demand, I have taken the automatic execution of the ifconfig lo command out of the adept and cserver exe's. It was causing problems on some systems apparently, so it's gone. It is now up to the sysop to configure the local loopback, (as discussed at the very beginning of this document) to configure his/her machine's local loopback. Adept *NEEDS* this local loopback, as does chat server. 1.09.08 update 9-Apr-78 10:00 EDT Pulled the local line recent events logging, it was casuing problems here, would only show up if you logged on locally a lot so it's back to normal, ie local line recent events does not show. If you need to know what happened on the local line, look in \adept\logfiles\line0.log that's what it's there for. 1.09.08 update 9-Apr-78 07:45 fixed a small bug in the lookatbbs function when it is called by right clicking on an active line number from the AdeptStatus window... 1.09.08 update 8-Apr-97 14:30 Put in some code to keep bluewave and qwk from trapping adept when it can't find an archiver for the uploaded packet. Or if there's a problem unarchiving the reply packet. Used to trap adept, should not happen now. 1.09.08 --- Addressed several issues with the Qwk - bluewave import/export functions. Bluewave import should not produce duplicate msgid's on uploaded messages. The from field of bluewave exported messages is now truncated at 35 chars as specified in the blue wave spec. A space character is now added to begining of blue wave exported text, again as per blue wave spec. The qwk/bluewave export threads will no longer bomb out on blank to/from fields in the messages it is exporting. I have one report of the ifconfig commanf that adept (and cserver) now generate on startup, the report claims that it messes up the tcpip stuff , (symptom of not being able to dcc) I need to know if this is true on anybody else's system. i know it's not true here, but my system is not complex, would appreciate feed back from somebody who is using tcpip network (or anybody to whom it *IS* causing a problem). The obvious way to test this is to shutdown adept and restart it a dozen times or so, if yur tcpip is not messed up after a dozen starts, it's prolly not an issue. 1.09.07 update 7-Apr-96 08:45 Fixed the bug in menutype 53 (Show users in chat channel) that was causing the display to show wrong names.. 1.09.07 update 21:00 EST Found a potential problem, if after a fresh reboot, you bring up Cerver.Exe without having done an ifconfig lo 127.0.0.1 first then bring up adept, cserver will start logging giomt traps forever, slowly chewing up your hard drive space with a huge giomterr.logfile. So included in this build is a cserver.zip that contains Cserver.Exe V0.60.05. This build of cserver will on startup execute an ifconfig lo 127.0.0.1 to set up the loopback it needs to run properly. Both adept and cserver now do this, i left it in adept too cause single node systems may want to run without loading cserver.exe. In any case your covered, should you reboot and load either of these two without having setup the loopback, they'll now do it themseleves instead of going south to peoria. 1.09.07 update 16:30 EST Ok got it right this time, recent events will now log local line stuff and no mixing of video when yur logged on local. The titles on the windows will now relect Line 0 which is the local logon session. 1.09.07 update 13:22 EST Well that didn't work to well, so i pulled the change, the recent events window is back to old behaviour now... sorry bout that. 1.09.07 --- Too many updates, so new subversion number. By request I have changed the recent events box behaviour to display the local login logstuff same as if it was a remote login. the title will still say Recent Events: 1 but the info will be coming from the local login. When u logoff it will revert to line 1 loginfo ( or whatever line u select). Now I know I've threatened this before , but this time I really gotta do it. I'm not gonna mess with the code for a minimum of 2 days, we can't get any decenent runtimes if everybody is shutting down their adept everday to upgrade. I need to know the build is stable before we do anything else, and the only way is to let it run and see what happens. Hopefully it'll be a nice stable piece of code. 1.09.06 update 6-Apr-97 09:30 EST Ok. I just finished helping a guy out in IRC chat, who was having problems logging into adept, it would hang at login, sound familiar?? Turns out he had rebooted and forgotten to execute the ifconfig lo 127.0.0.1 command before firing up adept, well since adept absolutly *NEEDS* that loopback to be set, i have hard coded the command into the Adept.Exe. First thing it does now is spawn an os/2 window and runs ifconfig lo 127.0.0.1 It does this *EVERY* single time you start adept, executing that command more than once does no harm, and this ensures the loopback will be set for adept to use. 1.09.06 update 6-Apr-97 07:45 EST Fixed a memory overwrite in the events editor.. 1.09.06 update 5-Apr-97 07:30 EST Got a report that trying to edit the *LOCAL* lines eventfile (What pervert would think of trying to make an events file for line 0 anyway? ) would trap adept. Sure enough it does. Reason is there's no provision for having an events file for line 0, it does not even attempt to load an events file for line 0. Fixed it so if you try to edit line 0 events file, it does nothing. Just dismisses the pulldown menu. 1.09.06 --- Ok the events editor is fully functional again, Next,Prev, Insert,Delete,Add all work, just a couple things u should be aware of. If there's only one event in yur events file your not allowed to delete it. The Add button is disabled untill you get to the last event in your file, ie u hit next till the Add button lights up. Insert works just great, remeber that it inserts *BEFORE* the currently displayed event. A quirk, if you hit add or insert, you can fill in all the fields, but the day of week buttons are grayed out. You can only choose everyday, no bigge once u've added or inserted the area, hit next or prev then go back to the area u just added, click off the everyday selection, and the days of the week buttons will light up. I think this has always been there and is probably not a result of the work I did on the editor. Anyway, it's functional. Note: it makes a backup if you say yes to save your changes to disk. Ie events.text.1 will be saved as events.bak.1 !! 1.09.05 --- The config->events dialog would crash adept if you hit the Prev button or the delete button. Fixed Prev button so it works as expected, but I had to disable the delete button, the add, adn the insert buttons. The only way (for now anyway) to add,insert, or delete an event is to shutdown adept, and directly edit the events.text.x files in \adept\events subdir. The config->events pulldown menu can be used to look at or change existing events. These changes will keep adept from trapping on you if you go into the events editor. 1.09.04 --- Reading back thru Steven Towers Alpha readme's reminded me that he had found a really nasty bug in the 107 series code's Events subsystem. This bug could toast Os/2, resulting in traps, Adept shutting down for no reason, system hangs, etc. A lot of weird behaviour could be attributed to this bug, and it would never be the same symptom twice. Soooooo to make a long story short I pulled the entire 107f Events Subsystem and replaced it with Towers fixed code. The only thing this means to you, the sysop that the first time you fire up this build, *ALL* events will be run as the Events subsystem gets things in Sync. Once it's finished executing all the events, it will be business as usual. This new events system does *NOT* use the binary event files (the Event.1 Event.2 etc) events files, instead it uses the TEXT event files. I.e the Events.Text.1 etc files. It will add one new keyword to the text files, LASTRAN, this keyword tells the events system when the event was last run. You don't have to add it, it will be done for you when you first start this build. Events editor will now save to the text files instead of the binary files. I added a History.Doc file to the zips in an attempt to document the new features that have been added to these builds. this document is not a replacement for AdpXbbs.doc, but is meant as a supplement to it. All the new functions/keywords/enhancements have been gathered in the History.Doc file. 1.09.03 --- Made it so that when u use the /nostat switch adept fires up just as fast as when you don't use that switch, no more 20 second delay waiting for the system status box to come ready. (Since it is never gonna come ready, why wait on it.) 1.09.02 Exe UpDate 2-Apr-97 16:30 EST Added a new command line switch, (Just for WIKK) if start adept with adept /nodes x /nostat it will fire up *WITHOUT* the adept status screen, looking like pre 1.07 days before they added that status screen. Note it takes a little longer to come up but it does come up, have patience.. 1.09.02 Exe Update 2-Apr-97 07:30 EST Found and fixed a bug in the menu compiler, there were occasions where a menu (the text file) would become corrupted or overwritten. Fixed now.. 1.09.02 --- Added 4 new menu commands, menu commands 119 and 120. These work as the description for menu types 25 and 26. Except, that these two will only act on *TAGGED* message areas. The offline mail tags are what is inspected by them when showing u the next area. So it is now possible for your users to tag a bunch of msg areas, and using type 119 or 120 do a read of tagged areas. It tells the user number of messages in the area, his last message read, then the user has the option of reading the area, skipping it setting direction etc.. just like types 25 and 26. Menu Commands 121 and 122, these two will do a quick(121) or detailed(122) scan of tagged message areas. Again the user has the choice of doing the scan on the area presented or skipping it. If he chooses R)ead he will read the message headers. just like menu choices 16 and 17, but for all tagged message areas instead of just the current area. Give your users the option to tag message areas from yur msgs menu by using either (or both) menu types 50 or 702. The beauty of this scheme, is that the user can permanently set tags that will be rememebred across logins, but at any given login can (for that session only if he chooses) tag a bunch of areas he doesn't want to be permanently tagged. Unless the user saves his tags they will be lost at the next logon. Note: If u have 5000 message areas and u tag area 1 and 5000, and invoke one of these menu types, there's gonna be a noticeable delay between the time u read the last message in area 1 and the time area 5000 is presented to you for action. It takes *TIME* to scan 5000 message areas looking for the area tagged bit. 1.09.01 --- Removed some debug printf's that were still in my color loading routines. Went thru and cleaned up the compile time warning messages that actually meant there was something amiss with the code. Recompiled Rexx and Adept from scratch. A full fresh compile. 1.09.00 Exe UpDate 31-Mar-97 21:33 EST -- Fixed a small glitch in the system status window, the boot time was displaying current time instead of the system boot time, now it displays date and time os/2 was booted at correctly. 1.09.00 Exe Update 31-Mar-97 09:30 -- Alt suggested a reply to any message as E-Mail reply, good idea, this function now works, the tilde key invokes the reply as e-mail option from the message reader menu. You can reply to a message in *ANY* area as e-mail and not lose your place in the area you are reading. Change line 901 of language.text so it looks like this now" #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*~: <---- Note the tilde key right after the *. 1.09.00 -- This build removes the alpha (or Beta) designations from my builds, I think they've proved themselves stable enough to be called releases, don't you ?? New fetaure, couple guys were asking bout the possibility of of replying to echomail with a netmail, well it's done, and it works. I've tested it here works like a champ. To enable this little feature (yeah little after it works ) you need to edit line #901 in your language.text file. Make it look like this: #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*: Note the added * character before the : it used to read X: change it to X*: the * key will activate the reply as netmail option when yu are reading any echomail message. Hell make that *ANY* message, if you want to reply to a local base with netmail well you can do so, didn't feel it was worth the added effort to filter out the local bases. Note that all security options and flags still apply here. If you don't have the flags or security level to post in yur netmail area you won't be able to enter the message. Oh and it doesn't matter what you call your netmail area, i scan for the NETMAIL flag (you should have it checked in your message areas setup already right? Right!) --- aH20 -- 30/3/97 11:00 EST Exe UpDate Ok, people have been bitching cause adept adjusts a users time on *ANY* upcoming event, well as of today, adept will only adjust users time if the upcoming event is *FORCED*, ie the Forced flag is set for the upcoming event. Note: If yur gonna do any experimenting with this, be *SURE* you don't try to test it from a local login, since Line 0 (Local login line) has no events file, it skips the calculation of time to next event. Either call in or telnet in since all remote lines *MUST* have an events file. If yur running without an events file for a particular node your asking for trouble. It may run, but yur gonna get all kinds of strange happenings. If a node is active, it *MUST* have a corresponding Events.Text.X file where X = The node number that file corresponds to. --- aH20 -- Dropped squish support entirely, Squish is 4-d Adept is 5-d. The two just don't mesh, too many kludges required to work around squish's limitations. Why should I have to break Adept to get it to work with Squish. Makes no sense to me. Same goes for *.msg for netmail area, why should i kludge a perfectly good 5-d aware program to *try* and get it to run with a 3-d aware message style. Again makes no sense to me. Onwards.. made a change to the files download routines to try and fix this intermittent DosCall1.Dll traps that I and others have experienced when a user tagged a lot of files for download. Hopefully this is fixed now. 29/3/97 15:45 EST Update... Reworked the control info calculation for the squish message base stuff. (I learned a bit more about squish and realized I was doing it wrong.) The testing I have been able to do here indicates success. This squish support is still considered *ALPHA* ware, use with caution. I.e. I wouldn't rush out and convert all my bases to squish without running some tests first. --- aH19 -- Ok here we go, this build has adept reading/writing Squish message bases, this support is in there in a limited way. By limited i mean: 1> NetMail, Internet E-mail, and Usenet message areas cannot be made into squish bases. These type message areas are gonna have to remain Adept style message bases. 2> Adept will only read/write *EXISTING* squish message bases at this point in time. (This may change if I get the ambition up to have adept create an empty squish base, gotta learn more about the squish structure first.) So if your gonna make an area a squish message base you will need something to create the message base files for you, i understand there are external editors out there that will do this, heck even the squish tosser can do it for you if your tossing echomail with it anyway, just be sure you don't try to write a message from adept into a squish message base that has not been initialized yet. Once the base has been initialized adept has no problems read/writing to it, I even made it so bluewave and qwk imports will post properly into a squish base. 3> To turn an area into a squish area, you will have to edit your message_areas file in \adept\system dir and set the area flags to 32768, do *NOT* set the EchoMail flag, this will result in adept not writing to the squish base, squish bases are echomail by default in adept. (See restriction 1 above). 4> If your gonna use squish bases for echomail it's assumed you know how to setup and run squish (the tosser/scanner) program. *DON'T* ask me about it, I've never ever used squish bases in my life. Of course it goes without saying Gatekpr does not now and may never support squish bases. (Why should it, you wanted to run squish didn't you?) 5> Depending on available time, i may or may not get around to making adept capable of creating a squish base from scratch. But that's a ways down the road. 6> Oh almost forgot, you'll need the squish dll's in yur libpath somewhere for all this to work, I included them in the zip file, i put mine in the same place as my adept dll's and things seem to work fine in the limited testing I've been able to do. 7> Last but not least, this stuff is largley *UNTESTED* so use at own risk applies. It reads and writes from adepts read/write menu commands, I have no way of knowing how squishp.exe is gonna react to finding a domain in the control info, it may puke all over the place. As far as I know (correct me if I'm wrong) squish is *NOT* domain aware.. --- aH18 -- Revisited the colors stuff, changed the method of obtaining the nearest possible RGB background color for any given color depth. Hopefully this is the end of it. 27/3/97 11:30AMEST - Kay it looks like colors are solid now, all I did in this update is to fix a small problem with the {M2 meta variable,it was displaying one more than it should have.. Fixed now. 27/3/97 20:30EST - Thanks to Donovan for pointing out the status screen was just a Tad cluttered, and for coming up with a layout that looks much nicer, easy fix once you know how you want it to look, and Dono had a definite suggestion as to how it should look, soooo presto, chango, Done. --- aH17 -- A purely experimental build, I turned on *ALL* optimization options in the watcom compiler. You may want to wait till reports come in on wether this build is as stable as the regular builds before you install it, however i need *somebody* besides me to run it . 25/3/97 10:45EST Ok, still getting a glitch with s3 and cirrus cards as far as color settings go, this is an attempt to fix that. BTW the fully optimized version ran here for over 24 hrs, looking good. 25/3/97 12:00EST Sigh!!! Once more around the park please, another attempt to fix colors for some video cards that are having a hard time setting the backgroundcolors... --- aH16 -- Ok, cleaned up the rest of the colors display bugs, should now work properly on anybody's system. I decided to leave the main frame as a Gray background rather than making it configurable too... Put the msgarea loading code back the way it was, mainly cause I got a trap when a user connected this afternoon and it's the only code I touched in the mailer/bbs, rest of work was all done in display subsystem. If u get *ANY* traps at all record the trap information so i can try and figure out what was going on when it trapped. the numbers i'm interested in are the last set ie they lool like this: Adept.Exe 0002:00019ef9 if it doesn't say adept.exe then it's of no use to me, i only have source for the exe not the dll's. 23/3/97 09:00 EST Update... The Adept Status window was displaying funky colors when u switched to it, this should fix it. BK lemme know if it does the trick for you... 23/3/97 10:00 EST Update... Minor glitch in Status:1 Box reported by Taz, this update should cure that... --- aH15 -- On my system Adept sometimes traps at startup, usually in the loading msgareas code. The loadmsgareas was being started as a seperate thread, and was sometimes still doing it's things when adept was ready to initialize things, i have changed it so it's no longer a seperate thread, it should now wait till all msgareas are loaded before the init code runs. You may see a slightly longer startup time (I.e you won't see the waiting for call status till the msgareas are all loaded) than before but i believe it's worth the extra few seconds in exchange for a more reliable startup sequence. In the archive is another sample color.ctl file, named multi-color.ctl just rename it colors.ctl and adept will use those colors for it's screens, this layout is what Wikk likes on his system. 22/3/97 16:30 Ok I think i've nailed the clors bug, at least it works in 1024x768x64k and 800x600x16mill here, should work on *ANY* resolution now. give it a whirl and lemme know, I'm late for Dinner... --- aH14 -- I don't like the number 13 .. This build heralds Adepts coming into the color age, included in this zip is a file called colors.ctl, simply place this file in your \adept\system dir, edit the values to your liking, then fire up adept. The screens will come up with fore/back ground color combinations *YOU* selected. So if you like Lora's colors fer instance you can set adept up to look like it. The screens are all individually controlled as you can see in the colors.ctl file, so be creative, choose color combos that look good to *YOU*. NOTE: if the colors.ctl doesn't exist, Adept will still come up, but it will come up with a set of default colors *I* picked. If u wnat the old standard GRAY screens, simply set all background to 204 and all foreground colors to 0, that'll give u black text on gray background... 19/3/97 19:00EST Update - I just realized, i left test code in there, all windows will take on colors of LOGBOX, sorry folks, they now respect the settings you set for the other windows... 20/3/97 08:00EST UpDate Fixed a cosmetic problem with The status box, it wasn't always being updated with the right background color, now it is... 21/3/97 14:00EST Update, some people are reporting funky background colors this is an attempt to fix that... I'll need feedback cause it does not happen here, I suspect that only really fast machines like p166's were having the problem... and Cirrus Cards continue to be a bitch, dunno what I can do about that. 21/3/97 15:30EST Update, due to popular demand the close button has been renenabled, and if colors.ctl does *NOT* exist adept tries to default to black text on gray background.. --- aH12 -- This builds made special for _Dutch_, all I'm gonna say is Click your Right Mouse Button on any Line# in the Adept Status Window, (The one that displays system uptime and all that). 3-16-97 07:45EST - Did some more work on the adeptrawcom functions, cause telnet.cmd caused adept to trap again last night, found a problem where one of the functions was not setting the return code at all, fixed that and recompiled the rexx lib, we'll see what happens now... 3-16-97 09:00EST - Changed the number of chars displayed by {A8,{A9,{AA from 20 to 40 , this was a request to allow usenet address to display better... Note, that to get a 40 char display u have to change line # 361 in Language.Text from 30.30 to 45.45 or u will only display 30 chars in the From field.. 3-16-97 15:00EST - Noticed that if selected bbs window from the status screen right mouse button popup, then minimized it, then went to adepts main status screen and tried to call up the bbs window from there it would not (cause the focus was no longer on that line #) so I added some code to restore focus to line it was originally on. Not a big deal but people might have wondered why it would not call up the bbs window sometimes...anyhooooo fixed!. 3-17-97 06:30EST - Changed the display of {A8 etc back to what it was, the system uses these meta's all over the place, and it was messing up the nicely layed out displays, for quick/detailed/pmi etc functions. --- aH11 -- Added the FTPName field to the pm file editor, it works the same way as the other fields, i.e. u need to hit save after making a change to an area, or the change won't be written to disk... Cut the exe size down to a shade over 600k =) Well I ran the adept ftpd for a day or so, seems to work with a few quirks, 1> it doesn't know what to do with ACCT commands, so ftppm.exe in os/2 barfs, won't connect to adeptftpd, 2> neologic ftpd won't send the filename to get to adeptftpd fro some reason if autodetect (the default) is used... os/2's command line ftp works fine with it, others may or may not. The bulk of the ftp engine is in a dll to which we don't have source code, so there's not likely to be any more improvements to this part of adept. I'm back to running neologic's ftpd on my site, simply cause ftppm, neologic ftp clients etc can connect and transfer with no hassle.. --- aH10 -- Fixed the ftp server so it doesn't trap adept anymore when the remote transmits a PWD request as the *FIRST* command after logging on, this was causing a trap cause file area information had not been loaded yet, so now it will automatically place the user in file area 1 on the first pwd command, subsequent pwd commands will work as expected. Everything seems to work fine, but bear in mind the server uses the adept file system, so if you have files in accesible areas that have not been imported into adepts filebase, the ftpd won't see them... The ftpd will respect security levels and flags on a per area basis, same operation as the regular filebase menu commands.. To have anonymous ftp available, log in as anonymous, use any password for now, then logoff. Now go into useredit and set the flags, security, and other things you want this anonymous user to have, (I set mine to new user status, which means if someone actually logs onto the bbs with this name, they can't do squat.) and finally edit the password, when the password entry screen comes up simply hit tab once, then hit enter, it should ask u if u really want to set password to zero length, say yes. and save the user record. People can now log into your ftpd with the username anonymous and anything at all for a password. (Something *MUST* be entered, simply hitting enter won't let them in) You now have anonymous ftp set up for your adeptxbbs. To enable the ftpd simply start adept like this: adept /nodes x /ftp where x is the number of nodes u wanna start and /ftp tells adept to start the ftpd. That's it, if you wanna see it from a users point of view ftp to 206.248.78.1 I'm running it here... One last thing, you need to manually add the FTNAME areaname to yur existing files_area file, the pm editor doesn't do FTPNAME yet and in fact will wipe it out if it exists, so just use a text editor on File_Areas and yu'll be all set... 19:20 update fixed a memory overwrite in sysystat thanks to betels sharp eyes fro finding this one, am putting lots of info in that adept status window and i forgot to increase the buffer size accordingly... fixed now.. --- aH9 --- Made a change to the RawCom functions adept rexx routines, in an attempt to stop telnet.cmd from trapping adept if a user hangs up at a critical point in the script, it's a rare timing problem but it happens at least once a week on my system, so hopefully this will cure it. And since I rebuilt the rexx lib, rather than just relinking, i decided to recompile the whole shebang from scratch... Also Chris and I exchanged Code Diff's last night, Have added all his PM cleanup code to my code, we should be at the same level of fix/enhancements with this code exchange... cept for the few things that are unique to the code streams, ie menuengine stuff and mailer stuff... --- aH8 --- Found some more vestiges of towers attempt at a new file i/o system for adept. Removed all that stuff and recompiled... found that if a user dropped carrier at logon prompt, files were not being closed properly, even the mainmenu.ans file could remain open...it now closes any open files.. --- aH7 --- Ok, did the same as Betel, Shutdown menu is disabled till adept has started the outbound window, this should prevent shutting down being initiated during startup, it used to happen that if the threads had not all completed initialization and you hit the shutdown button, adept would get confused, leaving a portion of it's self in memory, effectivly preventing you from starting adept up again. You used to have to reboot to clear this state.. Betels, Bluewave import change of not checking for carrier drop during import was already in this code, so no worries there. What else.. oh yeah, the outbound box cannot be closed, it will simply minimize if u try to close it. That's about it... Changed the default background colors to pure white background, this one outta display properly even on a 16 color system.. (I *HATE* Gray >) 19:30 Update..DUH!!! Plugged a hole in the time to next event calculations, seems if a user used all his time and called right back, the calc would go negative, fail the if and give him time to next event letting him back on, now it logs him off if he's used all his time for the day... sorry bout that folks.. --- aH6 --- I've been playing with PM stuff, this build is an attempt to get adept to respect System Background colors, the windows should take on the colors of the system background, (That you set in scheme or color setup or wherever it's set.) the dialog boxes will still take on color of the system dialog colors which default to pale-Gray.. On my system the background color is set to red=0,blue=255,green=255, I kinda like it.. lemme know how this goes over.. (I was so *SICK* of that pale-gray background adept defaults to)... However... not everyone has true color and adept was pulling up a lot of funky color combinations, so it's back to that pale gray stuff (I *HATE* gray)...looked real nice on my system though..oh well.. --- aH5 --- Put in Wikk's Fax fix to class 2 faxmodems, if the settings are wrong blame him I don't have a class2 faxmodem here, he does...sooooooooo..... Recompiled to get an up to date map, I inadvertently misplaced the map from the last build, made a few changess to the file i/o code... nothing big, the relogin menu option, menu type 1002 relogin should now work (I haven't tested this so ... ) and here is towers original story on how it's supposed to work. Added a new menu type, 1002. Logoff and Relog on. This will display prompt #935 (currently unused) and display the file Relogin.Asc/Ans/Avt to the user before commencing with the relogin. This is a COMPLETE logoff with relogin, except that it doesn't drop carrier. ATEND.CMD will be run, etc. I have added two new rexx function functions. AdeptSetRelogin(line, TRUE/FALSE) - Tells the BBS to relog the user back on after logoff is completed. AdeptCheckForRelogin(line) - Will return 1 if the user is requesting a relogin after logoff. So there you have it, as I said the code is in there but I haven't personally tested it yet... I thought I'd enable it in case someone out there has a need for this function. --- aH4 --- WatCom586 Build by Hagar... realized i was still using the 107f rexx library, this may have been responsible for some weird stuff I was seeing on my system so I have replaced the rexx library with towers code, to keep everything in sync. Rebuilt the library and did a full recompile of adeptx. Moved users age calculations back to where they were, think moving them up introduced a nasty bug, anyway users age is not available in the time adjusted screen cause it hasn't been calculated yet, it will always show as 0... --- aH3 --- WatCom586 Build by Hagar... Told ya I couldn't keep my hands off it... Ok, I have added the ability to use custom login.asc/ans files on a per node basis, the bbs now looks for loginx.asc/ans where x is the node number, so you can have a login1.asc/ans login2.asc/ans etc..(Note if yur going to use this method, the .asc *MUST* exist or the search will fail.) if it can't find a loginx.asc file, it will default to the old behaviour of displaying the plain login.asc/ans. This gives you great flexibilty and control over your login displays for each node. Of course I have also added the ability to display a custom WelComex.Asc/Ans screen, again on a per node basis, if welcomex.asc for that node doesn't exist, it will try to display welcome.asc/ans, and if that doesn't exist it won't display a welcome message at all. Note: these linex.asc/welcomex.asc files must be in the text dir just the way the old files were in the text dir. Later.... fixed a problem with the timeadjusted.asc/ans/avt/rip file it wasn't showing the {V3 (users age) correctly, this was due to the fact that age had not been calculated till after the file was displayed, moved the age calcs up before the file display and all is well... OK i added a small check to see if address is locked before trying to send anything for a node who calls in while gatekpr is tossing mail. Before it would send the archive (even if gatekpr had not finished yet) now it should wait till gatekpr is done before releasing the archive to the polling node... --- aH2 --- WatCom586 Build by Hagar The Horrible determined that the add files to the edit download list function is blamemless for the trap report i got so i put it back in... added a carrier check in qwk and bluewave import routines, was getting reports of traps if a user logged off too fast..lets see what this does.. DOH!!!! Fixed my calculation to next event, was always giving user all the time to next event.It works properly now. (Hey I never was any good at Math) ...Later in the afternoon, double DOH!!! I just realized, line 0 *DOESN'T* have an events file, no wonder my testing was coming up with weird shit... and I was only calculating time to next event of the *LAST* line that started.. i.e in my case, node 8's event file was being used. Added code to skip time to next event calculations if line is local logon, and added code to ensure that the events file of the node the user was logging into is being used. DOH!!! --- aH1 --- WatCom586 Build by Hagar The Horrible (Hence the H1 :>) all future builds will end in H? where ? is the build number... At long last adept will now respect events. It will check the users remaining time allowed in the bbs for this logon, compare it to the active events end time for this node (It is assumed that the next event starts immediatly after the current one ends, valid assumption I think since you should not have holes in yur event schedules anyway for proper operation of the mailer) and if the users time is greater than time to next event, his time will be adjusted accordingly. If an adjustment is made to the users time he will be shown (if it exists in the text dir) the file timeadjusted.asc/ans/avt/rip. You create this file and make it read anything you like. Meta's are valid in this file just like all other text files, so u can show the user his adjusted time if u like, or simply inform him his time has been adjusted.. it's up to you. I have included a timeadjusted.asc/ans file in this archive as a sample of what u can do with it. Not fancy but it meets my needs for my bbs, do with it what you will. =) --- a50 --- Watcom586 build by Hagar Ok so I can't keep my hands off it =) fixed a bug in the intenet e-mail posting routines, if u had allow anonymous messages turned on it would ask the question, but always used the users handle in the post. Now if u say no to enter message anonymously, it posts it with your real name. Also all areas it now checks fro use rewal name flag and if it's checked it uses real name, if real name is not checked it checks the anonymous flag and if it's set it uses the handle, if both real name and anonymous are not checked it will offer the user the choice. Betel and i are now shipping the same set of dll's once again, if in doubt use the set in this archive, they're the ones I linked with. --- a49 --- WatCom 586 build by Hagar Have received several reports of giomt.dll trapping at various times so in an effort to cure these traps, i have regressed to the vac4 giomt.dll. It is included in this archive, rest of the dll's have not changed but i include them just to be complete. Be sure to use these dll's for running a49. The exe was linked with this specific set so it only makes sense to use them at runtime... Changed the default icon to hagar, will make it easier to identify my builds from any others out there.. Whoooohoooooo!! added system boot time to the adept status screen.. it now shows system boot time, system uptime, adept online time, and current time of day...!! Made a change to the user editor to allow up to year 3000 stead of the year 2000 limit that was there previously... hopefully this will not break anything else, but *BACK UP YUR USERS FILE* just to be safe.... Pulled my (A)dd files to list code from the edit tagged files item, the way i Had it had potential to trap adept... will re-examine this and try to come up with something else..but for now it's back the way it was... Whooooohoooooo, now u can see at a glance what version yur running, simply by looking at the adeptstatus screen, version number is now displayed as first line. (Had to give you *SOME* way of keeping up with the rapid fire releases as of late. ) Ok. I'm gonna lay off releasing anything else for a while, wanna make darn sure I've got a stable bbs (A49 uptime 6hrs so far) system here. So unless someone reports a serious bug, this will be the last exe for a few days at least. Thanks to all who have helped test the "Hagar" builds over the past few weeks. Your input is invaluable. Keep up the great work folks. --- a48 --- WatCom 586 build by Hagar Extended the menu PROMPT field from 128 chars to 512 chars, this should be enough for anybody, if u have a menu prompt that is longer than 512 chars u need serious help ... and it will cut it off at 512 chars. NOTE: YOU MUST DELETE *.BIN in your \adept\menus dir and let adept recreate them, if you don't do this Adept will trap soons it tries to load the main menu!!!!!!!!!!!!! (Natch the old .bins don't have the same bytecount as the new .bins will have) Thanks to safehex for some system uptime code, we now have a system started at and system uptime on the adeptxbbs status screen, looks KEWL!! Thanks Safehex, I count u as one who "Sent Code" in the true binkley spirit... (Only our stuff is better than bink )... Fixed add to download list from the edit tagged files prompt, it will now prompt you for a file name, whn yur finshed entering filenames it will enter the download dialouge.... --- a47 --- WatCom 586 build by Hagar lesse, first, fixed a bug in the /noinit, if u tried an adept /nodes 1 /noinit 1, adept woult trap...fixed.. it now works as does /setup... Fixed the broken adept native telnet sessions, ie telnet polls now work if u want to use them instead of using vmodem for your telnet stuff. I tested it here and even pulled in two 100k mail packets from dutch, no problems... Note: there is a potential problem, where if u start adept and then immediatly hit shutdown from the pulldown menu, adept gets confused and stuff remains in memory, if u then try to restart adept, you get an error messge and adept won't start. Only way i've found to clear this condition is to do a reboot. This seems to occur because of the load message areas thread not having completed before u told adept to shutdown, it's very prevalent here with 1000 msg areas it has to load. Moral of the story, is don't tell adept to shutdown before all the startup threads have completed. It can take as long as minute and a half to get evrything initilaized to a know state, prolly longer if u have a massive files and msg areas section. Give it time to complete, then shut it down things will work ok then... --- a46 --- WatCom 586 build by Hagar I screwed up, when i dropped towers mailer back in I forgot to drop in some essentgial support files as well. This caused erratic behaviour in the mailer. I.e adept would not send files to another system, it would report sending files, done, without actually transferring anything. Reworked the file tagging stuff, it should now only tag the first occurence of a file. (Note that if u try to tag 4 or 5 files at once and it finds a dupe on the second file it will stop tagging without tagging the rest of them. If it finds no dupes, it will tag all the files u requested to be tagged). I tested this here with a dupe filename and it worked as advertised soooo.....lemme know how it works for you. --- a45 --- WatCom 586 build by Hagar did some more work on the files tagging scheme, it should now only tag the first file it finds by that name (hopefully it's the one in the current area) and on download option will put *EVERY* file that matches into the download list (which is editable by the user before he downloads).. Taz i need you to test this for me again, I haven't been able to get duplicate filenames into my files system. --- a44 --- WatCom 586 build by Hagar Added a bit of logic to honor autologoff requests on Offline mail downloads, if user requests autologoff the lmrs are automatically updated and the system starts logoff counter... Fixed a security hole I had created in offline mail, ie. area 1 was unprotected and could be downloaded by anybody, it now honors same checks as the rest of the areas... --- a43 --- WatCom 586 build by Hagar Added some code to ensure unique msgid's in bluewave imports... Added some code to prevent files with the same name from being tagged for download, i.e if u have a bunch of files called 00index.txt only the first one will be tagged, i haven't been able to test this here cause I only have unique filenames in my filesbase, anybody that has dupes in different areas, I would apprciate a feedback on wether this works or not... TAZ ?? U were asking, can u test it ?? Fixed a problem with reading asc/ans files, ie if {PC was the last thing on the line, the C was not being read in. It workks properly now. Safehex this one's for you. :> --- a42 --- WatCom 586 build by Hagar Put Towers mailer code back in the mix, since he had fixed some bugs in the mailer and generally made it more robust. Seems to be working fine. Guess I'm just writing this to remind myself what I have done from now on since I have decided not to release any more of my builds. Was confusing people no end having different menu systems, so I'll be the only one running a42 and up... --- a41 --- WatCom 586 build by Hagar Fixed a *LONG* standing bug where mail export would never export message area number 1. It now does so. Added a status messge to the offline mail IMPORT function, it will now tell you how many messages were successfully imported, and also log it in the system\linex.log. Both qwk aand bluewave imnports have this function now. Hopefully fixed the multiple background exports thread problem where it would start a background export every time u hit download instead of realizing an export was already in progress, at least I can't get it to happen here anymore. There is a cosmetic problem where the system will say created export thread will let you know etc.. after the an export is already in progress message. --- a40 --- WatCom 586 build by Hagar IMPORTANT NOTE: I have switched to using Betels dll's, (The ones enclosed in his full distribution pak) to make life easier for anyone trying the two different versions. You will now only have to change menusets to match the exe yur running, no more switching dll's. PLEASE UPDATE your dll's with the ones in this zip file if you were running *ANY* previous alpha build!!!!!!! Yes, it's now optimized for pentiums, I am told it should still run on 386/486 platforms. Let's hope they're right Worked on the lmr prompt to make it more pleasing, still some work to do on it... Ok i was not real happy with my LMR prompt, so now it's an entry in the language.text file it should look like this: -----Snip----- #908 LMR Update prompt [ans]\rUpdate your LastRead Msg Pointers?[Y/n] [asc]Update your LastRead Msg Pointers?[Y/n] -------------- edit yur language.text to reflect this change and yur users will have a prompt after download. --- a39 --- WatCom 386 build by Hagar Fixed a problem with the rexxx function AdeptChangeGroup. Also my providors newserver finally came back up allowing me to test nntp in/out and it works like a charm I'm pleased to say. Had a report of screen corruption during nntp configuration, that too is gone (at least it dosen't happen here now). New feautre (tiny one) on offline mail downloads rather than blindly updating lmr's it will now prompt you to find out what you want to do, update em or leave em as is. No change required to language.text for this one Possible problem with msgeditor not respecting uers timeleft should be cured with this build too... Also cured a problem where adept was searching for mmpm.dll, this was caused by me at link time, it is now cured and u should not need mmpm installed to run adept anymore. Sorry bout that to you folks who have no soundcard and are trying to run one of my earlier alpha's. --- a38 --- WatCom 386 Build By Hagar Ok. Found (thanks to safehex) another nast bug that could trap adept. If u hit enter or reply to a message in netmail area adept would trap. Terminated with extreme prejudice this farkin bug... And also badpass.menu now works, this menu if it exists in \adept\menus will be executed when a user exceeds the password retry count u have set... DumbUser.Menu should work now too (I haven't tested this one but it's virtually an identical call to the badpass.menu thing so it should work). Put in some code to hopefully nail this problem where if a user timesout due to inactivity it will now hang him up stead of just sitting there fat dumb and happy counting time :> I need help with this one cause i haven't been able to make it happen here.. so lemme know if it's any better now. Found and (hopefully) fixed a problem with downloads, where if a user hungup during a download adept would just sit there. Should be ok now. --- a37 --- WatCom 386 Build By Hagar Fixed a nasty bug where if a user dropped carrier during an offline mail pack, the files would remain locked, effectivly disabling offline mail downloads for that node till adept was shutdown and restarted. Thanks to safehex for reporting this nasty and being so detailed about his bug report, made it easy to spot the problem and correct it. I have tested the fix here by tagging all message areas (all 900 of them) and telling it to do a download then rudely disconnecting on it. The files remained unlocked. Next call i could do a normal download, if there is *ANY* where else in the system u know of that files are remaining locked please point it out to me. One more thing, I haave had a trap in pmmerge.dll on startup two times now with various builds, I don't know yet what's causing this weirdness, but a subsequent start comes up ok for me. Weird. I'm running warp3 fixpak26 with the warp4 rexx dll's installed. If anybody else gets pmmerge.dll traps on startup, I would love to hear what your system is running. Maybe it's just my mix of software, in any case let me hear from you. (If it simply won't come up no matter how many tries u do, try adept /nodes x /dontslam this maybe enough to get it to come up, meantime I'll keep looking) --- a36a --- WatcCom 386 Build by Hagar Didn't change the version number in this one, basically what i did was take the most stable version i had (1.07k) and add the new menudriver and new features to it, in an attempt to address safehex's off-line mail problems with locked files if a user drops carrier during a mail pack run. The code should be really stable at this point. I would just like to suggest a simple adept command line, start it with adept /nodes 32 or however many nodes u have confgured for your machine. Nothing else should be necessary on the command line, if u have *ANYTHING* else on the command line take it out, it will run better with the defaults for all other parameters. I run mine here with adept /nodes 8 and so far have had *NO* troubles. Thanks for trying my build. --- a36 --- WatCom386 Build by Hagar !!! --- Added my first feature and i didn't break anything (kewlness). The bbs will now display the file ToLow.Asc (in the text dir) if it exists whenever a user tries to access a menuitem that his security does not allow him to use. No more users wondering why menu option don't work for them. Thanks to BK for this great suggestion... Oh and by the way this build is very stable, been running here for 3 days, no traps or other problems/weirdness. Looks like my surgery of the code was a success. --- Late breaking change, have also added check for min/max age on menuitems and will diplay ToYoung.Asc/ToOld.Asc respectivly if the user fails min or max age. Will only display the files if they exist in the text dir, otherwise it's business as usuual.... --- a35 --- WatCom386 Build by Hagar !!! Fixed the "sticky" pm pulldowns so they don't bleed thru other apps anymore. Fixed a bug in the menu driver that could cause adept to trap randomly. Fixed nntp out, it should now work as advertised. Fixed a bug with rexx loading "large" erx files, these should no longer cause traps. Fixed the quickscan/detailed scan options so they return to the list instead of returning to the msg menu. Fixed local text import into adepts editor, (Note u must have sec1 > 99 to use this) to import a text file just hit escape (or Control K) followed by an L, it will prompt you for a filename to read in. Fixed the events save function, it will now correctly save start and end times stead of rounding them off. Note, this build uses 1.07g style BINARY event files compiled from a text Events.Text.x where x is the node number, ie 1 2 3 etc.., if u still have 108 style text event files just edit them to take out the LASTRAN keyword and they will work fine, if u do not remove the LASTRAN keyword, results will be unpredicatble. I have also included Mcd's excellent language.text file, if yur gonna use it instead of just modifying yours to match, please use the enclosed login.a?? files so the fielded login prompts will look proper, edit login.a?? to suit your system, this is the way they appear on my system. (I like them others may not) You will note, there is a full set of dll's in this zip, *USE* these, I linked a35 with these dll's and know they work, others may or may not work. These will work, nuff said. :> As i said above the language file is Courtesy of Matt Davis (McD on irc chat) ask him about mcmail the absolute best mail list... ... Hagar... Bug Reports to: e-mail: mariod@ican.net fidonet: 1:222/10.0@fidonet telnet/ftp: 206.248.78.1 The DogStar BBs --- a26 --- ***** NOTE ********************************************* Everything from this point on down is/was towers original changes, I have included this stuff here as it's prolly the only documnetation of the new chatserver and new menu sstructures, as well as some new features like external full screen editor support etc. You should read this document from EOF to top to get a picture of just what's in Alpha (Now Known as Hagar Builds) series Adept.exe's ********************************************************** Fixed a bug in the TCP/IP support for mail sessions. It would try to 'dial' the site and always return no carrier. Works like a charm now. Fixed a bug if a new user answered 'N' to the Are you a new user question it would act as if they had said yes. Made some changes in loging a user off. It wasn't always hanging up or resetting the comm port. --- a25 --- Made some changes that should make EMSI mail sessions more reliable if done over TCP/IP or a bad connection. Found the cause of several of the infamous SMTP and NNTP mail traps. Bad date fields. Changed NNTP out to work like SMTP out, hopefully this will fix the outgoing NNTP bug. Not sure. I now have an official support site for placing files on and I am in the process of setting up a support BBS at os2.kcmo.com. Please help support and grow the site. I will place all alphas, betas and releases of adept and any utilities that exist on this site. tower@sound.net is my current e-mail address. PLEASE limit bug reports to the latest full alpha release on the os2.kcmo.com site. I.E. Your adept.exe and .dll's must be those includes in the adept108aXX archives and no other archives. It would be best if you also made sure you can reproduce the bug with the latest release on the site. I need the module name and the ####:######## number that is after it. Bug reports for anything other then the alphas will be ignored. --- a24 --- Fixed several possible bugs where files wouldn't get closed in mail import or export. Royally screwed up on the rexx interface to the chat on a intrum beta that I put out. It's fixed now. Put ansi metas back to the way they where, looks like we where doing em right just that some stupid shit terminals don't follow the ansi spec 100 percent. Fixed a bug in AdeptSysChatCustomMsg where it would never send the custom message to the server. Changed the way the 'Node' field works in the ChatMsg's formats. It will ONLY accept numbers now, and -1 in Custom message means send to all in the channel. --- a23 --- I am now including my GIOMT.DLL as standard to be used with a23 and beyond. I am adding some changed to GIOMT.DLL that a23 is dependent on. NOTE: a23 will run with previous builds of GIOMT except the adept linking functions escape sequence will not work. AdeptRawLink and AdeptNodeLink now accept an escape sequence of '===000' if this is typed by either the remote or local host it will drop out of the linked connection. If you are using AdeptRawLink, for things like Telnet and or Dialout, I.E. YOU opened the port that it's linked to and going out on YOU must CLOSE the port with AdeptRawClose or it will continue to remain open. DO NOT Close the users (line) port. Or you will hang up on them. The '===000' should allow Binary transfers because the odds of a '===000' in that exact sequence in 1.5 seconds of each other is extreamly low. This is similiar to the escape sequence used in TIA and other interfaces that allow Binary compatability. If you do not have the ####:######## number next to Adept.EXE, GIOMT.DLL or the module that crashed, ALONG with the module name I WILL Need your Popuplog's and your trap.logs to help diagnose bugs. --- a22 --- In a earyler version I disabled autopassword generation, looks like I didn't catch it in every spot. It's eradicated now. Looks like memory will still squeezed a little too tight on a21 so some people had random traps. Bumped it up some more in this build. I am including a new version of GIOMT.DLL, it's called "GIOMT.DL_" you must rename it to GIOMT.DLL if you want to use it. This build will log all exceptions extencively to a file called stgiomttrap.log. This DLL can also be used to help find GIOMT traps in CServer.exe --- a21 --- I crunched memory way too tight in a20 so that it crashed almost instantly. This should be fixed. --- a20 --- Fixed a bug in the message area, if the user said 'yes', quote the message it would work fine, if they said, NO, it would crash the BBS. Fixed a bug in the user editor, if the sysop edited the users offline mail tags it would never save them. Restructured the way the BBS software starts up it's nodes. It should be a LOT faster now. Found a huge, nasty, major bug in the events system! This has been there a while and can easyly account for random traps, OS/2 system crashes, system hangs, a long long list of possible problems. Right now the new events system uses the same events.text file, the events editor DOES NOT WORK, DO NOT USE IT!!! Binary event files no longer work in this build. The BBS software will see all events as reset after this version starts up so any and all forced events will be run again. However after they have run once everything should act and work like the old versions, i.e. only run a forced event once within it's time period. Shrunk the memory footprint of the BBS software signifigantly, those running large node counts will see a dramatic difference in system memory usage. --- a19 --- Fixed a I/O bug that was causing some files to get filled with grunged data. This is one of those bugs that could cause all sorts of problems all sorts of places in the software. Fixed a long standing bug in the ANSI Metas, wouldn't reset the high bit for colors. Made some changes to cserver.exe Added the rexx function AdeptNodeLink, allows you to link up 2 nodes directly to each other. Could be used for things like allowing two players to play doom with each other, transfer files, whatever. AdeptNodeLink(NodeFrom, NodeTo); Fixed a long standing bug that existed in the mailer, (At least as far back as v0.97) if sending mail to multiple domains it wouldn't delete the stray or remaining archives/packets that where sent. Now it does. --- a18 --- Fixed the quite annoying EMSI CRC Failure bug!!! This within itself is grounds for a new release. I also made some changes that should fix some of the EMSI timouts several have complained of. The /ignorecrc option is no longer available. Fixed a bug in reply quoting with external editors. Fixed the last few bugs in menucvt.cmd, it should really only be run once, it can be run as many times as you want. It now propely converts all menus. Fixed smtp and nntp posting from QWK and BlueWave. --- a17-r2 --- Added support for the dorinfo1.def drop file. It will put the file dorinfo1.def into the System\line# sub-dir. This follows the base dorinfo style format, no additional extentions. --- a17 --- The BBS will now create a msgtmp file in the .\System\Line# sub-directory for external editors to use for users who want to quote their messages. The BBS wasn't running extle.cmd if the user has line editor chosen it would run extfse.cmd, this is fixed. The BBS wasn't running the external editors if the message was a reply, this is also fixed. NewCLNT.cmd now works as a complete replacement for the internal chat. I also added some better feedback and the tab key will redisplay what you last typed if you press it. I sugest you use this, I will be adding more and more features as the builds go on! --- Example use of AdeptSysChatMsg --- /* This will annouce a users logon to the entire system if placed in your atstart.cmd */ ARG line UserName = AdeptGetvar(line, 1) UserNode = Line SendString = '{FC--- {FGSystem Message {FC---{FG' || UserName ||' {FChas logged on to node {FG' || UserNode AdeptSysChatMsg(line, SendString) /* End Logon Notice Sample */ /* This will annouce a users logoff to the entire system if placed in your atend.cmd */ ARG line UserName = AdeptGetvar(line, 1) UserNode = Line SendString = '{FC--- {FGSystem Message {FC---{FG' || UserName ||' {FF has logged off node {FG' || UserNode AdeptSysChatMsg(line, SendString) /* End logoff notice sample */ Fixed a bug in AdeptSysChatPrivMsg, if the message was to node 0 it wasn't ever sent. Changed the syntax of AdeptSysChatInput AdeptSysChatInput(line, "BUFFERNAME", AbortKeyList, InputText); KeyList is a optional command. If you don't pass it a KeyList and the user presses enter on a line it will return 1, if you pass it a keylist and the user presses enter it will return 1, for all other keys pressed it will return their ascii value. The keylist should not contain the ascii numeric value for a key but the actual ascii key itself. I.E. Ascii 3, ^C would be a heart. If InputText is passed it will place it in the users buffer as if they had typed it. They can backspace over it and delete the text passwed to the buffer. AbortKeyList and InputText are optional, you don't need to pass them for AdeptSysChatInput to work. I forgot to document that AdeptSysChatInput returns a 1 if all is well and the user pressed enter. I also forgot to document that it can return LOSTCARRIER if the user has dropped carrier. Adept SysChatInput also now properly returns if the user has timed out instead of LOSTCARRIER, I also added a new return code: IRC_IDLETIMEOUT if the user idle's out Added a new meta {ZZ don't convert any metas in this string past this one. Fixed several bugs related to the chat server. The BBS wasn't running the the EXTFSE.CMD or LEFSE.CMD on replies, fixed. I also stopped caching EXTFSE.CMD, EXTLE.CMD and MSGTOUSEON.CMD. --- a16 --- Fixed a few bugs in the menucvt.cmd file, it will not work from any drive/sub-directory. (Thanks to Jewie for the changes). The AdeptInitRexx(line) command is REQUIRED in order to use the following functions. Constants such as the IRC_NOTIMELEFT are defined via this command so if you don't use it you won't be able to use the system constants. The IRC in the IRC_ constants stand for Input Return Code, NOT Internet Relay Chat. Added a new rexx function AdeptSysChatMsg(line, Text) You format how the text is to be displayed to the remote user. Please use the {COLOR metas or ascii users will get ansi if you put it in the Text. This can be used for annoucements such as User so and so has logged on via node such and such. Be creative. RetC = AdeptSysChatInput(line, "BUFFERNAME") The above function will return 1 if all is well and the user pressed return. It can also return any of the below constants. A function very similiar to AdeptInput except specificly designed to be used with multi-node chat. The IRC constants are: LOSTCARRIER if the carrier had been dropped. IRC_NOTIMELEFT if no time is remaining. IRC_LOCKEDOUT if the sysop locked the user out. IRC_MORON if the system hit the moron key. IRC_REPROMPT to request a redraw of the prompt or screen. IRC_ENDSYSOPCHAT if the sysop broke into chat and just ended it. IRC_IDLETIMEOUT if the user idle's out IRC_CHATWAITING if a chat message is waiting to be processed. IRC_CHATDOWN if the chat server went down. "Buffer" would be the variable name to place what the user typed on the input line. RetC = AdeptSysChatGetMsg(line) Ok, this command was extreanly complex, so I decided to symplify it as best as possible. You call this when you receive a IRC_CHATWAITING. It will Return 0 - Didn't receive a packet or bad packet 1 - Received a chat packet that doesn't have a chatmsg attached 2 - Received a chat packet that does have a chatmsg attached 3 - Received a chat packet that does have a chatmsg with a chat data packet attached. Instead of having you pass a bazillion variables I automatically stuff the variables for you with the data and known names. The variables are The following are set if the return code is 1 PKTTYPE - Packet type definitions follow. 100 - Standard Public Conference Message 101 - No Prepended Public Conference Message 102 - Private message to anouther user/node 103 - Invite a user to a channel 104 - Leave chat 105 - System Global Message to all no matter where PKTSERIAL - Packet Serial Number (Currently the time it was sent) PKTCRC - 32 bit CRC of the ChatMsg if one it to be sent for validation of the chat message. The following are also set if the return code is 2 CHATMSGFROM - User or Node number the chat message was from. CHATMSGFLAGS - Flags for the message (Currently unused) CHATMSGSCRAMBLE - Scramble code for the message, I.E. Only those with the same code set can see it. CHATMSGTO - Who the message is to. If blank, it's considered to be a public style message for use public chat. The following are also set if the return code is 3 CHATMSGDATALEN - Length of the data. CHATMSGDATACRC - CRC of the Data. CHATMSGDATA - The data, usually the chat messages text, could be binary if you so desire. 4k limit. RetC = AdeptSysChatJoinConf(line, ConferenceName) 0 = Join Not Successful 1 = Access Denied to Channel 2 = Channel Joined RetC = AdeptSysChatLeaveConf(line) Returns 1 every time. If the user is in Conference name it will remove the user from the conference. RetC = AdeptSysChatPubMsg(line, Message Text) 0 = Message wasn't sucessfully sent misc error 1 = Message was sent The user must be a in a conference for others to see the message or it will just go into limbo. RetC = AdeptSysChatPrivMsg(line, Node, Message Text) 0 = Message wasn't sucessfully sent mirc error 1 = Message was sent If the user is not on a particular node it will also go into limbo. RetC = AdeptSysChatCustomMsg(line, PktType, To, Message) 0 - Syntax error 1 - Sent to server AdeptSysChatCustomMsg allows you to send messages to the user that you can parse via the rexx AdeptSysChatGetMsg. This allows you to add new chat options, functions and types. You cannot specify a type below 1000, all types MUST begin with 1001 or higher, the bottom 1000 are reseved for system use. You can have fun with this. RetC = AdeptSysChatUserConnected(line) Return Codes are: 0 - Syntax Error 1 - User connected 2 - User not connected 3 - Server down, obviosly the user is not connected. Checks to make sure the user is properly connect to the chat server. RetC = AdeptSysChatConnectUser(line) Return Codes are: 0 - Syntax error 1 - User connected with server 2 - Failed to connect user to server 3 - Server unavailable Will connect/sign up a user with the chat server. RetC = AdeptSysCheckForServer(line) Return Codes are: 0 - Syntax error 1 - Server not available 2 - Server available Checks to make sure the chat server is available. RetC = AdeptSysChatReconnectUser(line) Return Codes are : 0 - Syntax error 1 - User connected to server 2 - Failed to reconnect user 3 - Sever not available ChatReconnectUser should only be used to reconnect a user to the chat server after it has gone down and the user was chatting in a conference. RetC = AdeptSysChatMessageWaiting(line) Return Codes are: 0 - Syntax Error 1 - There is a chat message waiting 2 - Error User Not Connected 3 - Error Server is Down The BBS software makes calls to only one function to check to see if a user has chat messages waiting. If the file CHATREAD.CMD exists in the menus sub-directory for the particular language the user has chosen it will execute that script instead of the internal BBS function for displaying the message to the user. This allows you to customize the chat system from anywhere in the BBS and not just make your own chat client/system. The file chatread is not called if there are messages and your are using the adeptchatinput function. It is called while you are using any other adept input or system function. The BBS Software will now look for the file EXTFSE#.CMD or EXTLE#.CMD before loading the full screen or line message editor. If the file exists it will execute it instead of the internal editors. If the MSGTMP file in the users \Adept\System\Line# sub-directory doesn't exist it considers the message as aborted, failed, etc. YOU MUST HAS A SEPERATE .CMD FILE FOR EACH NODE. The BBS will now execute (if exists) the .CMD file MSGTOUSERON.CMD when a message is posted by anouther user on the BBS to anouther user on the BBS. You can this use this command file to notify the reciepient that they have new mail waiting. I also added {DA Who the message was to {DB The Message Subject {DC Area name message was posted to {DD Node number of receipient {DE Area number the message was posted to A sample MSGTOUSERON.CMD is included along with this readme. A sample newclnt.cmd is included with this readme as well. The Q or q keys no longer cause cserver to quit, only ESC works now. Fixed pgdn. Fixed a bug in {PQ You must also add {PQ to the end of prompt #336 for it to work properly. If an event was set to reboot the machine it wouldn't, fixed. --- a15 --- Fixed a bug where the system would overwrite the first user record if the user hung up durring new user login. Added some EMSI crc debugging. {PQ - Displays press any key to continue if the displayed amount of lines is more then the users screen length. Fixed Menu Type 7's when called from a .menu file. Menu type 6 was also broken when called from a .menu file. It too is fixed. Found and fixed the cserver.exe DosCall1.DLL Trap. Added a new line to language.text, item #435, User currently not available for chat. I.E. Writing a message or marked as busy. CServer now supports the display of up to 32 nodes. Actually Cserver has no actuall limit on how many people are in chat, I just haven't written the display code to match the complete capabilities of the chat server. Press Page Down for the second page nodes 17 - 33; Page up for the previous list. The ESC key or Q key will quit the chat server instead of having to press ^BREAK anymore. Changed the way cserver updates it's screens. I'm now working on making cserver faster/more effiecient. Multithreade chat handling has been turned back on in CServer. This should speed it up considerably. The way multinode chat in both the BBS and cserver have been changed to allow faster/cleaner support of the chat system. a14 Added checking for grunged file and message area config files. Added some more carrier protection for the main BBS thread. Fixed two seperate problems with carrier detect. When a new user logged into the BBS it would automatically set carrier detect checking to off. Oh joy. In the message editor, there where some instances where carrier detect wouldn't work properly. While working on the carrier detect code I added better support for carrier detect to the menu system. Added a new menu type, 1002. Logoff and Relog on. This will display prompt #935 (currently unused) and display the file Relogin.Asc/Ans/Avt to the user before commencing with the relogin. This is a COMPLETE logoff with relogin, except that it doesn't drop carrier. ATEND.CMD will be run, etc. I have added two new rexx function functions. AdeptSetRelogin(line, TRUE/FALSE) - Tells the BBS to relog the user back on after logoff is completed. AdeptCheckForRelogin(line) - Will return 1 if the user is requesting a relogin after logoff. Fixed several message area list/find bugs. Fixed several bugs in QWK/Blue Mail Export. -- Begin a13 Changes -- Lets hope this baby is lucky 13! The auto password generation feature is no longer in existance, it was quite annoying lots asked that it be removed, it's done. Adept now has a FTP server built into the BBS software. This is the first alpha that it is available. Users log into the server with the name that they use on the BBS. If you wish to allow Anonymous users you need to create a account on the BBS called Anonymous. The server will user the Anonymous accounts settings in order to decide what areas and files the user has access to. The server ALWAYS has an exception handler guarding it for now since it is alpha. Uploading of files is not permitted with this build of the server for security reasons. There is a new tag FTPNAME in the file area editor. It allows you to define the name of the directory shown to represent that area on the server. If you don't put a name it will use the area name but I sugest you use a name, all lower case, 8 chars or so in length instead of the area name (it could be the area name if you wish). I will be adding features to the server like for the root dir to auto create a file called dir.lst that will basically be the 'area' list used in the BBS that they can ftp. I also plan on building file lists on the fly that they can ftp off the server just like listing files from the BBS. I will also extend the server to allow users to be assigned standard file directories that they can access but that is still a few weeks off. The server will honor users time and file and age limits. To start the ftp server add the /FTP command line option to Adept. Adept.exe /ftp Ok, next more good news. I think we got the cserver bug! It was NASTY taking out the whole damn operating system. It's a bug in the design of IBM's TCPIP stack that we where causing to expose itself. It shouldn't happen any longer. If this build of cserver is clean I will start adding lots of new functions to it. :) I did fix a logout of chat conference bug that has been there since build #1, if a user left a conference it still showed he/she in the conference as if they didn't leave, now it removes them. There where several other minor bugs in the BBS software that I also fixed. Fixed named pipes, appearently I broke em when I did the I/O redesign several builds back. -- end a13 Changes -- -- Begin a12 Changes -- Found a MAJOR bug in the BBS software. Several sysops have reported that adept hasn't been saving offline mail tags for users. This was only a minor bug caused by a major problem. Is the design of the BBS software it relied on every user being assigned a unique user number. This number was tied to the their location in the user file. Well over the years it was untied in order to allow more flexable use of this number field. Well in doing so, in some builds of adept the number was probably never updated, I know we don't change it past the initial logon of the user, but this has had to change with a12. So much is coupled to this that it's amazing this hasn't shown up before. This bug will manifiest itself in several possible ways. Offline tags not being saved. User files not being saved. Users records not being properly updated, including call times, time on-line, etc. LMR's not being properly saved or being wrong. Fixed the user based number bugs. I also included a file called msgfile.zip. If you are running cserver unzip this archive into your adept sub-directory or the same directory cserver is being run from (cserver can run from anywhere). CServer now has extencive exception handling. This should allow us to find out where the little bugger is trapping. It will create a file called CServerTrap.log when it traps. It should continue on without problems if there is a trap, however if more then 5 traps accure the program will exit with a error level of 1 and you can restart it. I sugest running it from a .cmd file that restarts it automatically. The BBS software will now auto-reconnect you when you are in a chat conference when the server goes down, it will now also auto-rejoin the channel you where in along with sending the last message you typed in. If you are sitting idle it will inform you that the server has gone down and try to reconnect the user. -- Begin a11 Changes -- MORE SPEED. That should say it all. The BBS is blazingly fast now. I have made changes that will affect the ENTIRE system is some cases by factors of thousands overall. These changes do effect almost every aspect of the entire BBS's operation. Did a major overhaul of the 'new' menu system. In doing so I also added a new 'EMERGENCY ABORT' keystroke. If a user presses ^A it will automatically reset the entire menu system back to the original call to the menu system. This should prevent the possibility of users getting 'trapped' in a menu. I do not believe that this will happen any more but I added this option just in case. The ^A should be a usable keystroke for any user comming in on any type of connection. The users current location should now be properly displayed. Also check out the 'NEWLOCATION' keyword for menu items. :) The following Menu Functions are available. BEGINMENU - Mark the begining of a menu. ENDMENU - Mark the end of the a menu. Everything before and after the above are ignored by the menu parser. PROMPT - Menu Prompt Text PROMPTCOLOR - Menu Prompt Color DISPLAYFILE - File to display to users instead of menu item text MENULOCATION - Currently location on the BBS MENUFLAGS - Menu option flags. The above options can be anywhere within the BEGINMENU and ENDMENU options, but are preferably at the top of the menu to assist in readability. BEGINMENUITEM - Begin Item Definition ENDMENUITEM - End Item Definition All of the below functions are ONLY available within the menu item definition. All of the below are relayed to the 'KEY' keyword. The 'KEY' keyword contains the key that represents the menu item. KEY - Key to assing to the menu item. MENUCOMMAND - Command to execute when the 'KEY' is pressed. DISPLAYSTRING - String to display to user when displaying the menu items along with or without a Display File. DISPLAYCOLOR - Initial color for the display string DATAOPTION - Optional data for the menu command MINAGE - Minimum age allowed to use this command MAXAGE - Maximum age allowed to use this command MINSEC1 - Minmum security level (based on users security #1) to use command MAXSEC1 - Miximum security level (based on users security #1) to use command MINSEC2 - Minmum security level (based on users security #2) to use command MAXSEC2 - Miximum security level (based on users security #2) to use command FLAGS1 - User flag comparason for access to this command flags #1 FLAGS2 - User flag comparason for access to this command flags #1 GENDER - Genders (YES, Genders I.E. MFO (Male, Female, Other or whateever you have defined in the language.text as possible genders)) allowed to access this command. STARTTIME - Start time that this command becomes available. (24hr) ENDTIME - Ending time that this command becomes unavailable. (24hr) MINONLINETIME - Minimum time user is online before they can use this command. MAXONLINETIME - Maximum time a user can be online before command becomes unavailable. MINCALLS - Minimum calls that the user has made to the BBS before command becomes available. MAXCALLS - Maximum calls that the user has made to the BBS before command becomes unavailable. MINPOSTS - Minimum number of messages posted before user can access this command. MAXPOSTS - Maximum number of messages posted before command becomes unavailable. MINUPLOADS - Minimum number of uploads needed to access this command. MAXUPLOADS - Maximum number of uploads before command becomes unavailable. MINDOWNLOADS - Minimum number of download needed to access this command. MAXDOWNLOADS - Maximum number of downloads before command becomes unavailable. GROUP - Group number that the user needs to belong to to access command. PORTFLAGS - Type of port needed (TCP, Comm, Pipe) to access command. NEWLOCATION - Location to set when user executes this command for calls to items/functions that do not set the system location. All of the above may exist within a BEGINMENUINITEM/ENDMENUITEM in any particular order. The rewrite of the comm I/O system handling in v1.08a8 has fixed many bugs that have existed in Adept for a few years. I.E. bad comm ports no longer cause adept to crash. Fixed several long standing bugs in the BBS's command line parsing. I.E. On previous versions of adept if you typed adept /nodes without any nodes it would crash, just added some checking. The BBS Software no longer crashes after notifying you that it cannot allocate the BBS structor if you accidently run two copies of adept. Menu Item #42 'Who is Online' was not working. Fixed. Fixed No Dialout always being turned on and not saving correctly. Fixed No Mailer always being turned on and not saving correctly. Put back the 'kludge' to keep random FTS-001 session from crashing the software. Fixed a bug in menucvt.cmd that was causing the prompt line to be placed as if it where the first menu item. This was causing all sorts of problems in the BBS softwares new menu design. --- a11 r2 --- Wasn't updating the current location at every possible location, like returning from a command. Fixed a small bug in cserver.exe Fixed a bug in menucvt.cmd wasn't saving the menu location keyword correctly. Does now. Fixed a bug in the sysop logoff, the BBS still showed the sysop as being on-line even after loging off. Fixed yet anouther possible cserver.exe trap. Added 'auto-reconnect' to the chat system. If a user types something in chat and the server is down it will reconnect to the server and send the message automatically. --- a11 r3 --- Fixed a cosmetic bug in the chat auto-reconnect option. Changed several functions that are called from the new user login. Also made several changes to the new user login code. Added some additional parameter checking to the autoexec menu called by the new user login. The BBS will now look for newuser##.cmd or newuser.cmd before trying to auto execute newuser.menu. And will call one of the above if found in place of newuser.menu. Added even more parameter checking to the chat server -- End a11 Changes -- -- Changes previous to a11 -- VC - Denotes a VisualAge C++ Build WC - Denotes a Watcom 386/C++ Build CS - Denotes a CSet++ Build ------------------------------------------------------------------------------ AdeptXBBS v1.08a# - Copywrite 1993-1996 John Morris, --------------------------------------+ Gordon Zeglenski and Steven Tower : All Rights Reserved +-------------------------------------- 6/30/96 - Alpha Release ----------------------------------------------------- This build of AdeptXBBS now includes revision control to allow us to build in convertion routiens that activate when a revision upgrade is needed. This is the first version of AdeptXBBS build with VisualAge. The startup proceedure for the BBS software has been heavely modified and should remove any problems that have previously accured with the loading of many nodes. CPU Usage has been reduced by as much as a 1000 percent when idle and waiting for a call. Overall system performance and response time should be faster now. When you run the BBS software all conversions will be done for you on the fly as it loads. So just run the BBS as you normally would. Please report bugs to Steven Tower, tower@sound.net 7/1/96 - Second Alpha Release Added a new command line option, /NOUPGRADE. If you use this command line option AdeptXBBS will not upgrade the system directories and files to any new formats. This will allow people with v1.07 to test version 1.08 for any startup and simple runtime problems. It is NOT recomended that you run the software in this mode. Also upgrades caused by using the new Usersrvr.dll will not be effected since it's considered a seperate program/part of the system. 7/6/96 - Third Alpha Release Changed the PMIIndex support back to the old \Adept\Personal_Mail sub-directory. 7/9/96 - Forth Alpha Release This buils incorporates all the changes that where in Gordons vac1 build and then some. The memory heap code is no longer used. It looks like it was de-stabilizing on some systems. You will notice the heap usage is at 0.00kb on this build. New chat system. Where do I start... This is a total 100% rewrite of the BBS's chat server and a 80% rewrite of the internal chat code. FLOODING will no longer crash the BBS software. If you don't believe me log in as 8 different users and upload 100k ascii/bin files into the chat and watch it handle it quit nicely. CPU efficiency is back up up, some of the pre-a4 alphas where a little slugish on some functions. Response times are up and cpu usage is down. The new cserver.exe has 1 command line option '/debug' this will write out an extencive debug log file to determine where traps accure if they do accure. The chat system inside the BBS should be pretty bullet-proof. All the work has been deligated to the chat server and so if anything is going to trap it should be the server not the client. This cserver can be taken on/offline at any time and brought up any time while the BBS is in/not in use. This chat server (while in alpha) uses IBM's TCPIP as it's connection medium, If you local loopback is setup wrong it will not work. If you do not see the following when you type ifconfig lo on your command line, your loopback is not setup correctly. [C:\]ifconfig lo lo: flags=809 inet 127.0.0.1 netmask ffffff00x If you are running warp connect you can add the line ifconfig lo 127.0.0.1 to your \mptn\bin\setup.cmd if you are running other versions of OS/2 you can add 'ifconfig lo 127.0.0.1' to your startup.cmd. The server has no limit to the number of users. There was a bug with new users joining a chat area while text was being piped to other users, it would cause a trap, this is now fixed. Known Bugs: If two people log on with the same name the server will trap. This can only happen on the local and a remote node it's not possible on two remote nodes. Tis' all. 7/12/96 - Alpha Release #5 READ READ READ READ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! The MENU SYSTEM HAS BEEN REWRITTEN!!!!!! Included: MenuCvt.CMD - this command file will convert your .menu files to the new format, it will rename your old .menu files to .menu.old. You MUST run this or AdeptXBBS v1.08a5 will not understand your menu structor!!! Run MENUCVT.CMD in your \adept\menus sub-directory. It will parse all menus in the sub-directory, it can be run more then once it will not convert already converted menus. This copy of Adept.EXE contains all of Gordon's Vac1 changes, plus some major changes to the Comm Handling that should make adept more efficient and a little more robust. Menu execution times should be greatly improved with this version of Adept. Please report any bugs to tower@sound.net or in the #Adept channel on IRC. This build REQUIRES all files that are included in the archive. This build doesn't change the way .PMI's are stored so no utilites should be effected by any changes in this build. This fixes numerious bugs in the Menu System, hence the rewrite. Fixes the .ERX crashing bug. Fixes several possible traps in the comm i/o handling. I'm going to start redocumenting the Metas because it's obvious that all are not documented. {S0 - Number of Calls to The BBS {S1 - Minimum Age Required to Access BBS {S2 - Maximum Age Required to Access BBS {S3 - Maximum Users Allowed in Userbase {S4 - Maximum Password Attemps Allowed {S5 - Maximum TImes Sysop can Be Paged {S6 - BBS's Name {S7 - BBS Sysop's Name {S8 - Current Baud Rate {S9 - AdeptXBBS Version String! -END Current Readme - 7/12/96 - Quick Fix, Decided NOT to change the revision number. USENET Newgroups don't work correctly under Vac2 or 1.08a5. This revision fixes the problem 7/13/96 - Alpha Release # 6 - More changes to the menu system. The menu system is basically done as far as support for all old functionality is concerned. The only support not currently finished is the security options. Gender, Time, Credit and Port Checking is not yet implemented. Support for AutoExec menus is working, I totally forgot that the new user login used a AutoExec'd menu. Sorry folks. :| The new menu system should be at least 100% faster then the old design. Limitation that existed in the old menu system no longer exist, nested menus, aka go-sub'd menus are no unlimited before you where limited to 18 gosubs. The number of menu items supported is now unlimited. I haven't had any bug reports when it comes to the menucvt.cmd file, nice to see something works the first time around. :) The current menu system is now a 100% total rewrite of the previous design. With this new design I plan on adding a built in menu editor to the BBS software. Can we say 'yah'. I have changed the way the clear all gosubs command works. In the original menu design (and currently with this one, however it will not be the case in a week), when a user gosubs a menu and then returns and their configuration has changed when they return to the previous menu, that menu is only aware of their previous configuration. The clear all gosubs also clears out all previous configuration states for the user and will reset the main menu to the new configuration. So I recomend that on your configuration screen instead of using the return to previous menu option that you use the clear all gosubs and return to the main menu, this will make sure that the new configuration will take effect immeadiately. Somewhere around a7-a8 configurations will be dealt with on the fly. I made some DRASTIC changes to the ansi display routiens. We should see roughtly a 200+% speed increase and at the same time a reduction in system usage load when displaying a ANSI/Ascii or Avatar screen. You can now DELETE users!!! The delete button works properly. BE WARNED the second you click on the DELETE button that user is GONE FOR GOOD! There is no clicking it again to undelete the user. If you mark a user for deletion while they are on-line it will delete the user the second they log off. 7/13/96 - Alpha Release #7 Fixed bugs that where created by the new ANSI/Ascii/Avatar display code and even tweeked a little more speed out of it in the process. Added a new /ignorecrc command line, this is a KLUDGE and will not be in the release version (hopefully not in the next version) but it will ignore a bad crc duurring EMSI mail sessions, this will allow EMSI mail sessions to work again. Changed menucvt.cmd it was not taking into account the menu flags and current location options on the first line properly. Please copy your *.old files to *.menu and rerun the utility. It will fix the missing locations people have been reporting. As with the Vac2 build this .exe will only run under OS/2 Warp and Above. Fixed several bugs in Cserver.exe. Back to the old 'new' message area load code, the bug that caused me to have to revert back to the old old code no longer exists and the message areas now load properly. Stupid typo. :| This new code will load message areas faster. Menu prompts now display, in the last few versions you didn't get them at all. Menus are automatically recompiled by the system durring runtime if a change has been made in the .menu file sine the last .bin build. 7/14/96 - Alpha Release #8 There is a /ignorecrc option, this is appearently needed to make EMSI mail session work. When this bug is fixed it will be mentioned in the readme. Also several sysops have reported odd I/O activity with AdeptXBBS running on COM4. The I/O addresses for COM4 are used by some video cards, you will find that the problem will go away if you change to a different comm port. There have been some drastic changes to the way Adept handles Opening and Closing of the Comm Ports, I have also totally revised the way adept handles dropped carriers. 7/15/96 - Alpha Release #9 Fixed several bugs in the carrier handling code. 7/16/96 - Alpha Release #10 Fixed the {PB meta, no longer displays {PB after the press any key prompt. Fixed the display of meta commands in the login.asc/ans file. Fixed the No Outbound always being checked bug. Fixed F3 hangup on user, it no longer traps the BBS. Fixed traps when running doors. Fixed the Users Online Meta. The Line Status Window's Current Info now matches the Status Screens current.