home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 2 BBS / 02-BBS.zip / ad109f66.zip / README.TXT < prev    next >
Text File  |  1997-06-06  |  172KB  |  3,321 lines

  1. Hagar WatCom 586 optimized AdeptXbbs Builds.
  2. ============================================
  3.  
  4. Welcome to the latest version of AdeptXbbs, we are working hard to improve
  5. adept and make it the best bbs system available for Os/2, since we started
  6. working on it, things have generally gotten better. People are asking
  7. "Is this really free ?" to that we say a resounding "YES"!! Once thing that
  8. might make us work even harder is a postcard from your city with your name
  9. on it, just to show you support AdeptXbbs<g>. There is no requirment to send one
  10. but if you would like to my Address is:
  11.  
  12. Mario D'Ulisse
  13. 4 Paladin Ave.
  14. Sault Ste. Marie, Ontario
  15. Canada
  16. P6B-3P6
  17.  
  18. ************************** NEW**********************************************
  19. Check out the official AdeptXbbs WebPages (Right TWO of them)
  20. at
  21. http://summitcnty.com
  22. and
  23. http://www.comland.com/~bkirby
  24. Latest updates and other good stuff can be found at these sites, and a resounding
  25. thanks to Mike Burton (aka ALT) and William Kirby (Aka Wikk) for taking the time
  26. (A *LOT*) of time to generate and maintain these two fine AdeptXbbs pages.
  27. They have donated their precious time (and money)to support a *FREEWARE* product!!
  28.  
  29. ******************************************************************************
  30.  
  31. ===============================================================================
  32.  
  33. Note: This readme may refer to builds not yet released, I update it as I go
  34. so if u see a build number that's not out yet, it'll just give you some idea
  35. of what'll be in the next release .. :>
  36.  
  37.  
  38.  
  39. *READ*
  40.  
  41. It has come to my attention that many of the sysops out there who
  42. have TCP/IP or IBM's Internet Connection installed do not have
  43. the local loopback setup correctly.  I sugest that you add the
  44. following line to you adept startup .cmd file or your system
  45. startup.cmd.
  46.  
  47. ifconfig lo 127.0.0.1
  48.  
  49. This will not effect the use of any other aspects of the operating
  50. system.  The local loopback should ALWAYS be setup, IBM's just too
  51. unbelievably stupid to setup up as a default (Almost every other
  52. OS that uses TCP/IP in the history of computers does) but some brain
  53. dead schmuck at IBM doesn't have a clue so you have to do it yourself.
  54.  
  55. The local loopback of 127.0.0.1 is required for *ALL* the new
  56. builds of the BBS software if you wish to have multinode chat work.
  57. If you don't set this loopback up, adept will pause for up to two
  58. minutes at logon time while it looks for the chatserver, even if you
  59. have not started cserver.exe running adept still looks for this loopback
  60. address so SET THE LOOPBACK!!!
  61.  
  62. AdeptXBBS MUST have the local loopback to operate correctly to operate
  63.  correctly.  This means that you MUST have IAK installed, or Warp 4.
  64.  To set it up is not that hard but must be done.  To do this just follow
  65.  these simple steps.
  66.  
  67. 1) Edit or create the startup.cmd file in the root of your boot drive.
  68.  
  69. 2) Add the following to it:
  70.         ifconfig lo 127.0.0.1
  71.  
  72. 3) save the startup.cmd file.
  73.  
  74. 4) reboot your machine.
  75.  
  76. That's all there is to it...  AdeptXBBS is now ready to fire up...
  77.  
  78. If you haven't used any of the Hagar Builds before, but are upgrading from
  79. 1.08.0x series Adept to a Hagar Build, you should *READ* this document
  80. from top to bottom.
  81. There are drastic changes and the the menus need to be converted to a new
  82. format. (If you have been running Towers 108a series exe's you've already
  83. converted yur menus and there is no need to do it again!!!!!!! However
  84. you do need to delete *.menu.BIN in yur menus dir, adept needs to
  85. recompile a fresh set of binary menu files. Just delete the bin files
  86. and adept will automatically recompile them.
  87.  
  88. If you are currently running 1.08.0x series exe, then u *DO* need to convert your
  89. menus to the new design)
  90.  
  91. Ok there's some confusion about old vs new menu styles so let's take a moment
  92. to explain.
  93.  
  94. if yur menus have entries like this:
  95.  
  96. W,42,Who's On Line,,0
  97.  
  98. then u have the *OLD* menu style and u need to put /oldmenus on the adept
  99. command line. I.e adept /nodes 4 /oldmenus, adept will now look for your
  100. old style menus and use them instead of the default new menu structure.
  101.  
  102. if yur menu entries look like this:
  103.  
  104. BEGINMENUITEM
  105.   KEY          W
  106.   MENUCOMMAND  42
  107.   DISPLAYCOLOR 0
  108.   MINSEC1      50
  109. ENDMENUITEM
  110.  
  111. then you can just drop the hagar exe's in place and run,
  112. by typing adept /nodes 4 or however many nodes your starting up.
  113.  
  114. Hope the above helps people wanting to try the Hagar WatCom586 builds...
  115.  
  116. ********************** NOTE:**************************************
  117.  
  118. I have had reports of adept not starting up for some people, this is usually
  119. caused by a missing language.text in the \adept\system dir *OR* missing
  120. events.text.x (where x is the node number) files in the \adept\events dir.
  121. You *MUST* have an event file for each node you're starting up, otherwise
  122. results are unpredicatble.....
  123. Note: if u don't want seperate events for each node, just create a
  124. generic Events.Text file, it will be used for all nodes that don't have
  125. a node specfic events.text.x file.
  126. ******************** NOTE2 *****************************************
  127.  
  128. I have also had reports of adept "hanging" in atend.cmd rexx script if it's
  129. a multi-line bbs, what i have found is that it will hang if more than one line
  130. is in use and someone logs off on another line, the culprit seems to be
  131. ADDRESS CMD statements in the atend or a script called by atend, (ADcaller.erx,
  132. called by atend.cmd on some systems has an address cmd staement in it) for some
  133. reason this hangs the rexx script. Don't know why, but it'll do it every time.
  134. Workaround i simply to avoid the use of address cmd staements in *ANY* adeptrexx
  135. script, or you can go back to the warp 3 distribution rexx dll's, they allow
  136. address cmd statements to process normally. IBM changed something in the rexx
  137. and I don't know what it was, but *SOMETHING* definitly changed. Personally
  138. I have modified all my rexx scripts to avoid using address cmd statements
  139. all together. Rexx has built in functions to do most of what i used to use
  140. address cmd for anyway...
  141.  
  142. *******************************************************************
  143.  
  144. Join the adept e-mail list: Simply send an e-mail to:
  145. adept-request@mail.snoval.com with the words, subscribe adept in the body
  146. of the message, once you get yur confirmation message back you can post
  147. to the list by sending messages to adept@mail.snoval.com, your posts will
  148. automatically go to everybody on the list. P.s. I announce new build availability
  149. on the list regularly.
  150.  
  151. 1.09.66 ---  Revisited the new files list display routines, rewrote them from
  152.              scratch, this version is a lot smarter, ie it respects the length
  153.              of the users terminal screen as well as wrapping the text a lot
  154.              better. Note: Wider line art boxes are gonna look kinda funny due
  155.              to the word wrapping, but if you keep the width down to 40 chars
  156.              or less, they'll display fine..
  157.              Fixed a bug I introduced in menu type 51 displays while trying to
  158.              solve the last character eaten problem in displays, moral of the story
  159.              is end your ansis with a cr/lf ie instead of last thing being
  160.              {PC or {PB, make it {PC or {PB followed by a cr/lf, and displays
  161.              will be fine.
  162.  
  163. 1.09.65 ---  Added Betels NNTP mods to the nntpserver, these mods are designed
  164.              to protect the control files from corruption, and appear to work
  165.              as advertised here...
  166.  
  167. 1.09.64 ---  Ohhhhhh Man!!! I need a rest.. Farking file_id.diz's anyway.. OK,
  168.              I finally got the formatting for the new files display engine
  169.              working like it should, ie splitting lines on a space instead
  170.              of midword and stuff like word wrap and padding with the neccessary
  171.              amount of spaces.. .63 would do stuff like spilt a line in the middle
  172.              of a word, or put a new line after a split line, causeing all sorts
  173.              of werid displays.. This one seems to work as advertised now..
  174.              (Scott if you don't run Adept now, I'll reach thru the internet
  175.              connection and strangle you where you sit <g>)
  176.  
  177.  
  178. 1.09.63 ---  Found and fixed a bug in the compile language.text routines, this
  179.              one was responsible for the array mismatch at line 125 expect crash
  180.              message (Language.Text.Compiled was hosed at this point). It now
  181.              compiles the language file properly.
  182.              Scott Drake of isonline.com fame did not like the default adept
  183.              files lister display, he says rest of world is using the Quickbbs/
  184.              RemoteAccess/Proboard/Lora display style, so ok here it is, if
  185.              you add 100 to any of the file display menu commands (ie 73 becomes
  186.              173) you will now invoke the new display routines. For this to
  187.              work though you need to add two lines to your language.text, make
  188.              lines 870 and 871 look like this:
  189.  
  190. #870
  191. [Mta]\r\n╚{FF{B2 Name {B1════════════{FC{B2 Size {B1══{FB{B2 Date {B1═══{FB{B2 Description\r\n
  192. #871 actual file     name    date    size [Mta][Str]{B1%u\r\n └> {FF{B1%-30s  {FE%5luk  {FB%s {FC[%5.5lu] {FD%s\r\n
  193. [Asc][Mta][Str]{B1{C1\r\n └> {FF{B1{C3  {FE{C5k  {FB{C0 {FC{FD{CB {CA{FC\r\n
  194. [Ans][Mta][Str]{B1{C1\r\n └> {FF{B1{C3  {FE{C5k  {FB{C0 {FC{FD{CB {CA{FC\r\n
  195.  
  196.              I suggest cutting and pasting the above directly into your
  197.              Language.Text. Course if you like the old display style you don't
  198.              really need to modify language.text, however u should just to stay
  199.              current.
  200.  
  201. 1.09.62 ---  Found and plugged yet another small memory leak.
  202.              Found and fixed a problem in AdeptToss.Log file creation, I broke
  203.              it changing the name DOH!!! Fixed now, also added the pm version
  204.              of my gatekpr build into the update archive.
  205.              Recompiled rexx lib and adept from scratch...
  206.  
  207.  
  208. 1.09.61 Update 97/06/02 23:00
  209.         ---  Two new metas added, {VN = Handle of last user on this node, and
  210.              {VO = FullScreen Editor ON/OFF.
  211.              Changed the name of the echotoss log file to match safehex's
  212.              name (AdeptToss.Log) so those who prefer to run the vac gatekpr
  213.              can do so and retain the same functionality of the adepttoss.log
  214.              file. Note the gatekpr included in this archive is a watcom
  215.              compile and has a new command line switch to force scanning of
  216.              all areas if u desire the full scan, just place an S on the command
  217.              line params and this gatekpr will scan all message areas for outgoing
  218.              echomail. Example Gatekpr GateKpr.Ctl E RO S
  219.              that command line will start gatekpr in scanout mode only, tell it
  220.              to scan *ALL* msg areas and do routing. Other command line params
  221.              are docced in gatekpr.doc, or is that gatekpr.txt, i forget, but
  222.              they're in there.
  223.              Added X to command line switches, this will force it to do a
  224.              outbound scan *ONLY* if the adeptlog.toss file exists, if it
  225.              does not it will simply exit, stead of scanning all bases...
  226.  
  227. 1.09.61 ---  .60 ran for over 20 hours here, no errors, no memory leaks, .61 adds
  228.              a file for gatekprs use, and the archive contains a gatekpr that
  229.              makes use of this file. The idea is if echomail is entered into any
  230.              echo area, the dropped file will contain the areanumbers of the
  231.              areas that need to be scanned out, gatekpr will look for this file
  232.              and if it exists, will only scan out the listed areas, if the file
  233.              does not exist, it will default to doing a scanout of *ALL* areas
  234.              as it did before. The file name is Echo.Fil and it will be created
  235.              in the default dir (wherever adept is started from, most cases this
  236.              will be \adept directory) and gatekpr looks for it in the default
  237.              dir as well. The file is a flat ascii file with one areanumber per
  238.              line, it can be viewed or edited (if you feel the urge to edit it)
  239.              with any ascii text editor. I have tested it here as best I can,
  240.              and am putting out this archive with the hopes of getting feedback
  241.              on the operations of the thing...
  242.              The Gatekpr enclosed here is the disk friendly version text mode
  243.              gatekpr, If the need is there I will build a pm version of it but
  244.              there really is no need IMHO of a pm version, cause who wants
  245.              to sit there and watch a tosser at work ?? This version will also
  246.              run in a VIO window, which is how i run it here, if I want to see
  247.              what it's doing, I open the window and take a peek. Works well...
  248.  
  249.  
  250. 1.09.60 ---  Well lxliting the exe introduced some problems here, so this build
  251.              will *NOT* be lxlited.. rebuilt rexx library and adept from scratch
  252.              lets see if this build is stable again...
  253.              Found yet another mem leak and plugged it.
  254.  
  255.  
  256. 1.09.59 ---  Turned compiler optimizations back on and lxlited the exe, it is now
  257.              less than 700k big.. If anybody experiences *ANY* problems with this build
  258.              please e-mail me...
  259.              Found and plugged another memory leak, if anybody still notices
  260.              free ram shrinking or swap file growing please e-mail me..
  261.  
  262. 1.09.58 ---  Exe update 97/05/31 20:30 EST
  263.              Added initials to quoted text in full screen editor, bumped nntpserver
  264.              thread stacksize to 256k. Userfiles are now secure, only opened if the
  265.              program requires userdata from the file, otherwise memory data is used.
  266.              I have successfully copied users and index to backups with users on 3 nodes,
  267.              no problems, and as far as I can tell no performance hit involved in
  268.              open/read/close sequences, since the files are only accessed by a very
  269.              small percentage of the code. My system has been copying users files to
  270.              backup filenames every night in a nightly event without shutting down
  271.              adept the way I used to have to do this, for a week now. Note that if
  272.              os/2 crashes or power fails while a user is at enter name and password prompt
  273.              the user files are open at that point and subject to corruption, but there's
  274.              no way around that, since the user data has not been read in yet, but that's
  275.              about the only vulnerable spot left for those files.. (Watch now some wise
  276.              guy is gonna run a unuke -r with users on line and wonder why his userbase
  277.              got trashed when they logged off <g>) While Unuke will prolly run to
  278.              completion with users on line, when those users log off, the user base
  279.              *WILL* be trash, since adept expects to write user data back out to the
  280.              record pointed to by tyhe index file, and if u've changed the index, well
  281.              you can well imagine what will happen. Moral of the story is *DO NOT* run
  282.              unuke without shutting down adept first.. or if u insist on trying it
  283.              "just to see" COPY THE FILES to backups first...
  284.  
  285.  
  286.  
  287. 1.09.58 ---  Ahhhhh last one, adept would pull a usersrvr.dll trap when killing
  288.              a message, this is now fixed.. BTW .57 was up for 2 days 5 hours before
  289.              i shut it down today.... we're getting there..
  290.  
  291.  
  292. 1.09.57 ---  Sigh!! There was another one buried, in the import e-mail routine
  293.              Fixed now, if anybody gets *ANY* usersrvr.dll traps, send me yur
  294.              adept.log and the linex.log that corresponds to the last line started
  295.              in adept.log, don't bother bout the popuplog.os2, if it's a usersrvr
  296.              .dll trap i know exactly where it is..
  297.  
  298. 1.09.56 ---  Added thread security to the open/close of users files, hopefully
  299.              this will elimnate the usersrvr.dll traps i have been getting
  300.              sporadically...
  301.  
  302. 1.09.55 Update 21-5-97 18:40
  303.         ---  Damn missed another one, this one would trap adept if a user tried
  304.              to edit his parameters (natch the file was closed DOH!), this time
  305.              I did a search for *all* userrecord functions and it does look like
  306.              that's the last one to be found.
  307.  
  308. 1.09.55 Update 21-5-97 07:45
  309.         --- Found and fixed new users not being saved due to closed users
  310.             file, they are now properly saved
  311.  
  312. 1.09.55 --- Ok the userfile stuff seems solid now, *BUT* I have found a
  313.             bigtime memory leak in the menudrvr, seems GOTO new menu and
  314.             GOTO new menu with password, work quite a bit differently in
  315.             the new menuengine, if u use goto's extensivly you will eat memory
  316.             every time u switch menus. I have not been able to come up with
  317.             a way around this, without sacrificing gosubs, so i have compromised,
  318.             GOTO's are no longer supported, GOSUBS can do anything you want
  319.             anyway, and since there is no limit on the number of gosubbed
  320.             menus in the engine, you should be able to do anything you want.
  321.             The type 3 Clear all gosubs and return to top menu can be used
  322.             as a goto any menu simply by placing the desrired menu name in the
  323.             optional data field. With no menu name specified it goes to the
  324.             top menu.
  325.  
  326.  
  327. 1.09.54 --- DUH!! Found and fixed an oversight on my part, there were a couple
  328.             more places the code was expecting the user files to be open (but
  329.             i had closed them on it) so it trapped on me this morning. Found
  330.             all the places it expects the files to be open and put in the same
  331.             open/close logic as in the login code. Think I've got em all.
  332.             It stayed up over 11hours though, so it's looking good..
  333.  
  334. 1.09.53 --- Made yet another change to the userfile logic, adept will now
  335.             open the usersfile when a user signs on and close them again
  336.             just as soon as he's finished entering his password successfully
  337.             instead of keeping it open for the duration of the logon. This
  338.             should virtually eliminate the possibility of corrupting the user
  339.             base files, still it's a good idea to back up vital files
  340.             on a regular basis. This also means u should be able to run
  341.             unuke while users are on line now..
  342.             Also plugged in another mem leak fix from safehex, still have not
  343.             plugged in menutypes 820,821,8, & 9, these gave me some probs, so
  344.             I'm still not sure if i'll add em yet or not.
  345.  
  346. 1.09.52 --- Made another change to the user file open code, cause I was getting
  347.             traps in usrsrvr.dll on my system, hopefully these are now gone.
  348.             Restore yur user file from a backup (the index too) just to be
  349.             safe...
  350.  
  351.  
  352. 1.09.51 --- Fixed a user file trashing problem in the new user file mods,
  353.             You should *RESTORE* your users files from your backups (you did
  354.             make backups before firing up .50 right) before firing up this
  355.             build, chances are good they're trashed.
  356.  
  357.  
  358. 1.09.50 --- Update, found a memory leak in the new mods to the menudrvr,
  359.             so i have pulled support for types 820,821,8,9 till Nitin and I
  360.             can sort this out..
  361.  
  362. 1.09.50 --- Fixed the user files open problem, user file is only opened if
  363.             a user (local or remote) actually connects, this should make
  364.             adept a little more resitant to os2 crashes scrambling the users
  365.             file or index files. I've tested this here as far as i Can, but
  366.             you should back up your users files before firing this build up
  367.             for the first time.
  368.  
  369.             Added Safehex's addition to the menu command set, added types are
  370.             820,821,8,9 Docs are below...
  371.  
  372. 1. Added my DOS door runner into Adept itself as menu types 820 and 821.
  373.    Why 2? well...820 keeps the session in the background and 821 keeps
  374.    it in the foreground. I like foreground and Hagar likes background :)
  375.    Syntax is the same as for type 801 etc...eg:
  376.  
  377.         1,820, Some Vague Door, VagueDor.Bat {LN,0
  378.         2,821, Yet Another Vague Door, YAVD.Bat {LN,0
  379.  
  380.    I can think of some improvements on this, but after I get some
  381.    feedback as to what other sysops feel/think about this option.
  382.  
  383.    Currently the door runner assumes that VX00.SYS and the OS/2 ANSI.SYS
  384.    is in your Adept dir (if req) AND that your Adept dir is \Adept.
  385.    I will fix this later...if req :)
  386.  
  387. 4. Added 2 new MenuItems for the Old Menu Style, which I have not
  388.    currently included in the new menu engine as it might not be really
  389.    required by most sysops. If there are a sufficient number of SysOps
  390.    wanting that in the new menu style engine, I will try to add it to
  391.    that as well. The new menu funtions added to the Old Style menus are:
  392.  
  393.    Menu Type 8 - Switch to a given Message area and then Gosub a Menu
  394.    Menu Type 9 - Switch to a given File area and then Gosub a Menu
  395.  
  396.    For example:
  397.  
  398.         A,8,[1] Switch to Message Area,Message.Menu;Message Area Name,0
  399.         B,9,[2] Switch to File Area   ,Files.Menu;File Area Name,0
  400.  
  401.    Keep in mind that the Area Name should NOT be in quotes even if it
  402.    has spaces in between. Oh well...I was using 2 line rexx scripts
  403.    just to do this...the other option was to use the AutoMenu as
  404.    suggested by Hagar, but I guess I am too lazy :) so I plugged in a
  405.    single command for it.
  406.  
  407.  
  408. 1.09.49 ---    Ok, now that we know adept will indeed start 512 or even 1024
  409.                nodes if yu have the mcahine to support that, I'm cutting the
  410.                max nodes back to 32, if anybody requires more than this, then
  411.                send me an e-mail with the number of nodes you req. and we'll
  412.                do a build special for you.
  413.                Modifed attach file to local message function so that if either
  414.                forcetoname or forcesubject flags are set it will not ask
  415.                the upload a file question, will just skip that code alltogether.
  416.                Fixed post a message function that I inadertently broke plugging
  417.                in the mem leak fixes DOH!! Gotta be more careful with my cut
  418.                n paste function <g>.
  419.                Did some more work on cserver, new cserver.exe in this archive
  420.                please use it.. and e-mail me any traps u might get..
  421.                Added ability for local logon to do file attaches to messages.
  422.  
  423. 1.09.48 ---    Fixed a small bug in the events editor re mincost and maxcost
  424.                fields, if u entered a 0  it was not saving as a 0, it does
  425.                save as a 0 now for both those fields, blanking out the field
  426.                will leave it unchanged if it exists or will not write an
  427.                entry if it does not already exist.
  428.                Plugged safehexs mem leak fixes into the files list routines.
  429.                Found an anomly in the new user login routines, if yur rexx
  430.                callback verifer is one of those that drops dtr on yur new users
  431.                forcing them to call back, the user record will never be saved
  432.                and that user will have to logon as new again. Reason for this
  433.                has to do with the time cheat bug fix i put in a while back, what
  434.                happens is the record is not saved if logon, is not completed
  435.                properly (Ie the routine has to execute all the way instead
  436.                of being interrupted by carrier drop) so if yur callback
  437.                verfifer disconnects the user after verifying him, adept thinks
  438.                the user never finished logon, and does not save the user record
  439.                to disk. The way to get around this, is to allow yur new users
  440.                to successfully complete user logon, don't drop carrier on
  441.                them during logon sequence. I simply changed my callback verifer
  442.                to not drop dtr on them and everything is fine. You may call
  443.                this a bug if you like, but i'm not changing the behavior
  444.                since doing that will allow time cheats again. Just consider
  445.                it the nature of the beast.
  446.  
  447.                Plugged in Safehex's latest round of memleak fixes...
  448.                Did some more work on Cserver to try and get rid of those
  449.                Phantom chat symptoms some users experience in rexx chat.
  450.  
  451.  
  452.  
  453. 1.09.47 ---    Well I got brave and tried to start 512 nodes here and it
  454.                started 435 before i ran outta Vram, so it should start
  455.                512 on systems with enough resources...
  456.  
  457. 1.09.46 ---    Found and fixed the memory leak I have been tracking down in
  458.                the new caching file I/O system, built a 64 node enabled version
  459.                for those who want to play with larger "live" nodes, just fire
  460.                it up with the number of nodes u want to bring online as per
  461.                usuaual , max is 64 nodes. Now to get some runtime on this
  462.                sucker.. letting my users loose on it now...
  463.                Later on.. looks like the mem leak is definitly fixed, to find
  464.                out for sure, I'm enabling 512 nodes in this build, and BJ
  465.                is gonna try bringing all 512 online in setup mode, let's see
  466.                what happens...
  467.  
  468. 1.09.45 ---    Never saw the light of day, cept for some alpha testing,
  469.                discovered a huge memory leak somewhere, so it's gonna take a bit
  470.                to track it down....
  471.  
  472. 1.09.44 ---    Implemented a bbswatcher thread into adept, now if a bbs
  473.                node hangs for whatever reason, the watchdog thread will
  474.                issue a DosKillThrea() call which should terminate it and
  475.                anything it was hung in, I've tested it as far as I can
  476.                but i'm having a hard time trying to make a node hang on
  477.                my board. Lets see how well it works in the real world, you
  478.                should never see adept sitting there counting negative time
  479.                for a user who has long ago dropped carrier again.
  480.                At least that's the theory...
  481.                Looking good, that bbswatcher thread is doing it's thing,
  482.                I tested it with several rexx scripts that used to just sit
  483.                there waiting for input on a carrier drop and it killed them
  484.                off just fine. Here's one for you, ever seen a user fire up
  485.                yur ftp.cmd script, start a several meg download and drop
  486.                carrier on it?? I have, it sits there ftping till the transfers
  487.                finished, THEN recycles the node, well not anymore, 5 seconds
  488.                after carrier drop now the ftp.cmd and it's transfer are
  489.                killed.. Node is back up and waiting for calls instead of
  490.                just not answering for several minutes till the ftp finished.
  491.                Note: ATEND.CMD can still be a problem, hanging a node, there's
  492.                not much I can do about this, cause ATEND.cmd is not started
  493.                till *AFTER* carrier is already gone, so I've got no way to
  494.                know if it ever completes running or not, and the way it's
  495.                started I don't have access to the thread id anyway, so
  496.                make sure you know what yur atend.cmds are doing...
  497.  
  498.                Fixed a minor glitch in the cold input more y/n prompt where
  499.                a user had to hit two <cr> to continue, a single <cr> will do
  500.                the job now, as is the case with hit enter to continue and
  501.                press any ket to continue.
  502.  
  503. 1.09.43 ---    Looking good, 20+ hours uptime here with over 65 callers in
  504.                that time, not a single error. Reports from the other sites
  505.                so far all positive too.....
  506.  
  507. 1.09.42 ---   .41 was never released, .42 adds Towers revamped Caching
  508.               file I/O subsystem to adept, this stuff is *FAST* and is looking
  509.               very solid here, if yur worried about testing this build live
  510.               stick to .40, but if .42 proves stable, i'm gonna stick with
  511.               the new i/o system, it's definatly a speed increase.
  512.               This build is currently running at a few test sites, we'll see
  513.               what kind of reports come in.
  514.  
  515. 1.09.41 ---   Fixed something I had fixed back in the days of Hagar builds,
  516.               which somehow got lost in the shuffle, that being locked files
  517.               being left behind if a user dropped carrier in middle of a qwk
  518.               or bluewave export run.
  519.               Added a check for existance of Atlogin.menu, instead of blindly
  520.               calling the menudriver and letting it discover the menu does not
  521.               exist, this was causeing a delay of 5 seconds or so between time
  522.               news.asc was displayed and time new files scan came up, if the file
  523.               does not exist there will be no delay now cause menudriver doesnt
  524.               have to shuck and jive and see it's missing etc.. The local message
  525.               file attach seems to be working just fine here.. so i'm not gonna touch
  526.               it unless someone reports a problem with it..
  527.               Increased the bbs threads stack to 800k by default and mailer
  528.               thread stack to default to 500k, these can be tuned from the
  529.               command line, ie adept /nodes 4 /bbsstack=262000 /mailerstack=262000
  530.               would set the stacks to 260k.
  531.               Fixed a bug in rexx function posttextmessage that was not allowing
  532.               the private message bit to be set, should be ok now..
  533.               Re-enabled FTS-001 support cause of complaints that adept mailer
  534.               is not to FTN specs.
  535.  
  536.  
  537. 1.09.40 ---   Had a sugesstion that i tie the netmail file attach privelege
  538.               and import file functions to the area SYSOP security !! Why
  539.               didn't I think of that, I totally forgot about the sysop security
  540.               setting for message areas, so it's done, to enable netmail
  541.               file attaches simply set yur sysop security level 1 to greater
  542.               than 500, this same security level is checked before allowing
  543.               import of a text file into the message editor, so now you have
  544.               control of these functions not only on a security privilege
  545.               level but also by selected message areas (for text file import)
  546.               netmail file attaches will only be avilable in the netmail area
  547.               of course, but this allows yur co-sysops to have that feature
  548.               if you want him to.
  549.               Fixed a bug in the local file attach upload code, turns out if
  550.               a user was really fast and logged out before the transfer box
  551.               was finished updating adept would trap out. The status box
  552.               update is properly terminated on the up/download now so that
  553.               problem is no longer there.
  554.  
  555. 1.09.39 ---   File attach to local *PRIVATE*
  556.               messages are in this build, and all the testing I've done here
  557.               indicates success, so I'm gonna release it for live use.
  558.               This is the way it works, if a user enters a message into any
  559.               LOCAL message base and the message is flagged PRIVATE, the
  560.               system will prompt the user asking if they wish to attach a
  561.               file to this message, if they answer yes, they are prompted for
  562.               a protocol then prompted for
  563.               a file name, and an upload starts using the protocol the user
  564.               has selected. The file will be received into the dir
  565.               .\Hold meaning by default the \adept\hold directory, note you
  566.               must create this directory, make it in yur default \adept dir
  567.               and all will be hunky dory. The file will remain in the hold
  568.               directory untill the receipient logs on, when he reads this
  569.               message he will be informed that there is a file attached to
  570.               this message and asked if he wants to download it. If he says
  571.               Yes the standard file transfer dialog will come up letting
  572.               him change protocol if he chooses. Once the file has been
  573.               downloaded it is deleted from the hold dir. Once the file
  574.               is deleted the user will not be prompted again if he rereads
  575.               that message.
  576.  
  577.               Found and squashed a bug with the quickscan menu command,
  578.               it will now return to the list of messages stead of dumping
  579.               to the messages menu..
  580.  
  581.               Pulled the old menu engine outta this build, result ? Menu
  582.               execution speed doubled, if anyones running old style menus
  583.               *CONVERT* em, it's not that hard to do and you only need do
  584.               it once.
  585.  
  586. 1.09.38 ---   Safehex released this build for those who want to try it.
  587.               Filename is Vacu38.Rar, this is a vac build of V1.09.37
  588.  
  589. 1.09.37 ---   Farkity fark, I screwed up with .36, accidentaly selected
  590.               small memory model in the compiler options, soooooooo I
  591.               Changed compiler switches yet again, recompiled
  592.               rexxlib,cserver,avi and adept with the new switches, seems
  593.               stable enough here.
  594.               SafeHex sent a fix for an obsure LMR trashing bug, it was
  595.               actually included in .36 but i forgot to mention it.
  596.               Safehex spotted a bug in trashcan checking routines, fixed
  597.               in this release.
  598.               Did some more work on cserver, it was still trapping occasionally.
  599.  
  600.  
  601. 1.09.36 ---   Fixed the list user function, so selecting = on a more
  602.               prompt properly displays nonstop , it worked locally but
  603.               was broken for remote logins.
  604.  
  605.               Have had reports of users being expired when you don't want
  606.               them to be, if u have expire days for a sers group set to
  607.               anything other than zero, the expire code will take effect and
  608.               if they have expired, they will be downgraded. If u don't want
  609.               expiry code checking for a group (like sysop) set the expire
  610.               days to 0. this effectivly disables the code.
  611.  
  612.               Made some more changes to cserver.exe, hoping to stop this
  613.               phantom chat syndrome...
  614.  
  615.               Safehex found a bug in the meta conversion routines that
  616.               might explain some random traps in the meta engine, this
  617.               has been fixed...
  618.  
  619.               Revisited netmail file attach routines, it was pointed out to
  620.               me that some sysops adjust sec2 in login scripts or in atlogin.menu
  621.               based on groups and access levels, so sec2 is not a good candiate
  622.               to enable the file attach feature, same goes for sec1 and the flags
  623.               words, so what I have done is put in a check for the users name
  624.               against the bbs sysops name, (The name u configed in bbs setup)
  625.               and if it matches, I allow the option of file attach. Hope this
  626.               change meets with everyones approval.
  627.  
  628.               Decided to make the same change in the Import A text file into
  629.               current message function (^KL) instead of blindly checking for
  630.               a security level of 99 or greater, this frees up the use of sec1
  631.               and sec 2 for whatever u want to implement it for, without
  632.               compromising system security. Note if some signs on as *YOU* though
  633.               they will get access to these features, so protect your passwords.
  634.               I thought of restricting them to a local login only, but some
  635.               sysops may have use for them from remote logins, so i left that
  636.               check out.
  637.  
  638.  
  639. 1.09.35 ---   Made a change to chat client code, if the socket numbers
  640.               of client ever get high enough to reach the common port
  641.               defined in cserver it will refuse to connect that client.
  642.  
  643.               File attach to netmail entered from adepts message editor
  644.               is now supported, this feature will only be avilable to
  645.               users with a security level 2 (NOTE 2) of 5000 or higher.
  646.               If yur sec2 level matches 5000 or greater, you will be
  647.               prompted for path\filename to attach to the netmail.
  648.               This feature is enabled on *ALL* netmail entries, meaning
  649.               new message entry or reply to netmail or reply as netmail,
  650.               you will be prompted, default is no so hitting enter allows
  651.               a normal netmail to be entered.
  652.  
  653.  
  654.  
  655. 1.09.34 ---   Got a report that if u double clicked on the outbound
  656.               window to get rid of title bar immediatly after it becomes
  657.               visisble, it would never scan the outbound, sure enough,
  658.               it stops the outbound scan. So now if you double click
  659.               on the outbound window soons it comes up, the action is
  660.               delayed till the message and file areas load code has completed.
  661.               This load code can take quite a while on systems with large
  662.               file/message bases. The double click is qued so it will take
  663.               effect once the semaphore has been posted by the load threads.
  664.               The other 3 windows also have this delayed action in them.
  665.  
  666.               Found and fixed a bug in the user time for session calculations,
  667.               if time/day == time/call, results would be unpredicatable, since
  668.               they were using the min() macro, min does not (as far as i can
  669.               tell) know what to return if both values are equeal).
  670.  
  671.               Some people are leaving the expire to group # in groups set to
  672.               0, if this is the case and a user logs on and is expired, it
  673.               will show him Expired.A?? and log him off without trying to
  674.               downgrade him to a non-existant group.
  675.  
  676.               Same behaviour is now implemented if accounting is active and a
  677.               user goes bust, but group to set him to when broke is set to 0,
  678.               it will just show him Nocredits.A?? and log him off without further
  679.               action.
  680.  
  681.               Fixed the outbound problem where M. and H. files were not being
  682.               deleted after a mail session with that node, they now get deleted.
  683.  
  684.               Recompiled cserver.exe and avi.dll to use the same compiler
  685.               switches as adept and the rexx lib, shouldn't have caused any
  686.               problems, but better to have all code generated with the same options.
  687.               Be sure to replace avi.dll and cserver.exe with these ones.
  688.  
  689.  
  690. 1.09.33 ---   14:00 update (97/5/4) fixed a bug in the chatclient
  691.               routines that was not allowing people to be deregistered
  692.               from chatserver. Cserver would show them in a chat room
  693.               even if they had left chat. (Rexx chat)
  694.  
  695. 1.09.33 ---   Fixed a logon bug that would cause adept to trap,
  696.               didn't happen here cause i was still running with
  697.               /acct in my command line, an important variable was not
  698.               being set unless you were running with /acct.
  699.               It is now set regardless of the /acct switch.
  700.  
  701. 1.09.32 ---   Added the shutdown options to the popup menus of the
  702.               adept status window. (The one that shows uptime etc)
  703.               Click on any line number to get the popupmenu.
  704.               Safehex added compile time information to the product
  705.               information box, now you can see exactly when yur copy
  706.               was built.
  707.               Fixed the Hot/Cold input routines to now work as advertised,
  708.               if a user has no hot keys turned on he will have to follow
  709.               his selctions with an enter keypress. (Note for the local
  710.               console hotkeys are *ALWAYS* on regardless of the hotkey
  711.               setting)
  712.               Added user expirey code to the login routines, the bbs will
  713.               now check the users group number and if expire days is set to
  714.               a non zero, it will check his expiretime and drop him to the expireto
  715.               group if his time has come up.
  716.  
  717. 1.09.31 ---   Changed adept's Origin signature to reflect it's freeware
  718.               status, it will now put (*FREEWare*) in the origin line.
  719.  
  720.               Fixed a small problem in the drop dtr from bbsscrn popup
  721.               menu, it would only drop dtr on the guy if that node had
  722.               the focus in Line# selection, it will now drop dtr on the
  723.               user even if that node does not have the focus.
  724.  
  725.               Enabled and fixed user accounting, if you start adept with
  726.               /ACCT on the command line accounting will be enabled. You
  727.               set up accounting details in GroupEditor->Accounting button.
  728.               The groupto downgrade user to on bankruptcy of account is
  729.               also working, if a user who is in an acountable group goes
  730.               bust, he will be expired tot his group number. Note the
  731.               credit field of the user is also debited on a netmail post
  732.               as per cost per netmail message.
  733.               If a user tries to login and his remaining time exceeds his
  734.               remaianing credit, he will be shown NoCredits.Asc/Ans/Avt.
  735.               and logged off after his group number is adjusted and saved.
  736.               Along with this are two new metas, {SF to show users remaining
  737.               credit,and {SG to show credits charged per minute.
  738.  
  739.               Fixed the bug that was causing Badpass.menu to not allow
  740.               a user to post a message to sysop. You can now give your
  741.               users the option to write you a message from that menu, or
  742.               do whatever you want from that menu. This menu is executed
  743.               after the user gets his password wrong for the number of times
  744.               you have configured.
  745.  
  746.  
  747. 1.09.30 ---   Cserver seems ok now, did some work on adepts end of it
  748.               though, worked on the chatlient code in adept, trying
  749.               to make it more reliable.
  750.               Safehex added the routines from the new menuengine to the
  751.               old menuengine, you should now be able to use the same
  752.               menucommands in either engine.
  753.               Got a report of rexx trapping adept, this build should cure that.
  754.  
  755. 1.09.29 ---   Safehex has been busy, found 3 or 4 other places in adept
  756.               that had the same kind of bug as the menudrvr code, this has
  757.               been fixed. These kinds of things probably account for a good
  758.               many of adepts unexplicable traps for no reason stuff.
  759.               Did some more work on cserver hoping to cut the traps
  760.               down or elimnate them if possible..
  761.  
  762. 1.09.28 ---  .27 introduced a bug in the netmail message entry (would
  763.               trap on node lookup) it would ask for subject and adept
  764.               would crash. This build fixes that...
  765.  
  766.  
  767. 1.09.27 ---  Safehex is doing a bang up Job on finding/fixing obscure
  768.              gremlins in the menudrvr code, since the menudrvr is the heart
  769.              of the bbs system, it makes sense to go thru it with a fine tooth
  770.              comb and pull out whatever we can find. this build will have the
  771.              latest menudrvr in it.
  772.              Went thru every single source file and changed all memfree()
  773.              calls to the new macro that checks for null pointers before
  774.              freeing em (freeing a null pointer is a sure way to trap
  775.              adept) so this should reduce the traps a lot.
  776.              Changed compiler code optimzation options on safhex's recommendation
  777.              to some safer switches, the ones i was using could allow
  778.              gremlins in the code. It's still pentium optimized though.
  779.  
  780. 1.09.26 ---  Done painting<g>.. Ok did some more work on the chatserver
  781.              code, decided it was stupid to add another function when
  782.              there is already one to disconnect the user, so i pulled
  783.              the AdeptSysChatRemoveUser() rexx function, and simply had
  784.              the AdeptSysChatLeaveConf function do both, it will now
  785.              cleanly remove a user (just as if he has logged off) and
  786.              clear him from the conference. Tested here, seems to work ok.
  787.              I inadvertently broke public messages in rexx chat too, sorry,
  788.              this is now fixed. I got safehex's timeout routine wrong, it's
  789.              not for transfers, but to keep adept from keeping a user online
  790.              all the time counting negative time. The transfer thing, well
  791.              the transfer is done in a dll, not much we can do about it at this
  792.              point.
  793.  
  794. 1.09.25 ---  Hrmmm, where to start, Ok SafeHex has identified a few
  795.              instances in the menuengine that could cause adept to trap,
  796.              these have been repaired, thanks to him.
  797.              He also added a timeout for when a user drops carrier
  798.              during a file transfer, now instead of adept just sitting
  799.              there counting down time, it will hangup and recycle the node.
  800.              Added a new AdeptRexx function, AdeptSysChatRemoveUser(Line)
  801.              will now disconnect a user cleanly from the chat server, use
  802.              this *AFTER* a AdeptSysChatLeaveConf, the leave could
  803.              get buggered if a user quit and reconnected during the same login.
  804.              This should fix that and may cure the cserver traps to boot.
  805.              Avi.Dll, has been updated again, removed the last vestiges of the
  806.              Frank Sexton fix attempts..Missed one in the last cleanup and
  807.              this was causing probs with ATI boards for sure.
  808.  
  809. Update 28-April-97 11:30 EST
  810.  
  811. 1.09.24 ---  Worked some more on Cserver.Exe trying to get it to stop
  812.              trapping on busy chat systems.
  813.              Abandoned Vac builds for now, Vac builds had trap problems
  814.              if yur still running a Vac build beware, suggest you upgrade
  815.              to 109.24 watcom build asap.
  816.  
  817.  
  818. 1.09.24 ---  Fixed a bug in the {VL (First name only) meta,
  819.              plugged a hole in the login routines that was allowing
  820.              users to scam more than their daily alloted time allowance
  821.              as set by the sysop.
  822.  
  823.              Reports of some video problems being caused
  824.              by the last avi, prolly due to that patch i put in to try
  825.              and fix this last cirrus cards bug. So I pulled that pactch
  826.              but left in the older cirrus/trident cards fix. Be sure to
  827.              use this avi.dll. I have done all I can on getting that last
  828.              brand of video card to work properly with adept, nothing I've
  829.              done makes any difference to this card, I can only conclude
  830.              the card or driver for it is broken at anything over plain VGA.
  831.              It works fine in plain Vga. The card in question is made by
  832.              JATAN Corp. and is dubbed the 5446-JT/2Meg, billed as an
  833.              VGA/MPEG video card, if your trying to run adept at greater
  834.              then 640x480x16 resolution on this specfifc card, well all
  835.              I can say is I tried, but sorry your own your own with this card.
  836.  
  837.              Fixed a long standing "feature" where mail up/downloads were
  838.              being added to file transfer stats, they will no longer be
  839.              counted, file transfer stats are now just file transfer stats.
  840.  
  841.              Added the toggle DTR option to the bbs windows popup menu, I
  842.              find it a pain when I've got the bbs window in the forground
  843.              and want to disconnect that user for some reason or another, to
  844.              switch to the asdept main window just to toggle dtr. You can
  845.              now do it right from the popup menu, you know, the one u use
  846.              to get into sysop<->user chat.
  847.  
  848.              Fixed the broken multi-lingual support in this build, it now
  849.              works as documented in AdpXbbs.Doc.
  850.  
  851.              New Cserver.Exe in this build, looks to be more stable than
  852.              previous builds of cserver...
  853.  
  854.  
  855. 1.09.23 ---  This is our first VAC compile, it's build 1.09.22 really
  856.              with a few cleanups and checks in the code.
  857.              We have come up with a scheme to let you know what your getting
  858.              by the name of the files, all Full installs will be called
  859.              like this ad109f23.zip = full install VAC build, there will
  860.              be no watcom full install. All upgrades will come in two
  861.              flavors, watcom and vac compiles, ie 109u23.zip = watcom
  862.              upgrade and VACu23.zip = vac upgrade. This allows those
  863.              who believe one compiler is better than the other to run
  864.              the flavor of their choice. Both builds will be Pentium
  865.              optimized, but will run on lesser platforms too.
  866.  
  867.  
  868. update 26/4/97 13:00
  869.  
  870. 1.09.22 ---  Grrrrrrrr!! Fixed /NoStat which somehow got broken bewteen
  871.              builds.18 and .22. It now works again as documented.
  872.  
  873. update 26/4/97 11:00 EST
  874.  
  875. 1.09.22 --- Thanks to mattis I found and fixed a big hole in the
  876.             user login dupe user check, it is now no longer possible
  877.             to logonto two nodes at once.
  878.             Added 2 new mets to adepts meta engine, {SD will return
  879.             The Time Os/2 was booted at and {SE will return the time
  880.             OS/2 has been up since boot.
  881.  
  882. 1.09.22 --- .21 was never released, not because of bugs, but because of
  883.             a major new twist. U remember how some people liked the 107
  884.             style menus? Well this build will allow u to use your choice
  885.             of menu formats. If you run it as usual you don't have to worry
  886.             bout the new feature nothing changes on your current hagar
  887.             build system. However if you add /oldmenus to the cmd line
  888.             u use to fire up adept, it will look for the old menuengine
  889.             style ascii menus.. (The ones you used with v1.07 and 1.08.0xx
  890.             versions of adept.) So now adept is even more flexible, you have
  891.             your choice of rexx menus, newengine menus (compiled) or plain
  892.             ascii text menus. You can thank Safehex alias Nitin Chandra
  893.             for this piece of magic. (Glad he's on the Adept team and
  894.             not the Lora project :>) Other good news is Nitin's got Vac
  895.             for os/2 so expect a vac compile with all the latest
  896.             features in the very near future. (Soons i get word back on
  897.             this stupid cirrus bug). This build has all the features
  898.             listed below too...
  899.             Got word back from Sexton today, transparent screens still
  900.             exist on his pci 5446 cirrus card, this included Avi.Dll
  901.             is another attempt to fix that. Have had one report that
  902.             adept is trapping in the video driver on one system, if
  903.             this happens to you try switching back to the pre-cirrus fix
  904.             avi.dll (you did back it up right ?) and see if your problem
  905.             goes away, if you are having video traps I wanna hear from you.
  906.  
  907. 1.09.21 --- Users uploaded msgs via bluewave/qwk are now added to his
  908.             user record of uploaded msgs count (Thanks to safehex for this
  909.             mod)..
  910.             Added a new system meta variable to show bbs uptime, put a {SC
  911.             in any asc/ans file and it will show the uptime in days:hrs:mins
  912.             format.
  913.             New Avi.dll included, this is yet another attempt to fix the
  914.             one remaining case (That I know of) of transparent local bbs
  915.             windows...waiting to hear back on this fix, but it does not
  916.             affect systems who did not have the problem so i see no harm
  917.             in releasing it.
  918.             --- Never Released see 1.09.22 ---
  919.  
  920. 1.09.20 --- Found and fixed a bug in the new pmi update code (for a
  921.             user deleting mail after entering it) I recommend you
  922.             take the precaution of deleting every file in \adept\personal_mail
  923.             as this bug was eating the pmi files.. could cause traps if
  924.             you don't clear the grunged files.
  925.             Also included is another avi.dll to try and fix the cirrus bug
  926.             which is now only happening on the new pci 5446 card and drivers
  927.             from cirrus, if you have a 52 series card you should be all right
  928.             as the previous fix is still in there.
  929.             Have also had problems with long files names (The message area
  930.             name is used as the filename of the msgbase) being directly
  931.             entered into the message_areas file. The pulldown editor is
  932.             programmed for a 60 character maximum length, but since virtually
  933.             nobody uses the editor to create message_areas, we have been seeing
  934.             some ridiculosly long file names, specially if yur setting up
  935.             news groups and are using the group name as the areaname. Soo in
  936.             the load msgareas code  have put in a hard limit of 128 chars
  937.             for the areaname, if you have a longer area name than that it
  938.             will simply be cutoff at the 128th byte.
  939.  
  940. 1.09.19 24-April-97 19:30 EST Update
  941.  
  942.         --- Fixed a *LONG* standing bug with farking file ratios, the
  943.             ratio credit field of the groups editor was totally broken
  944.             so it would always save a garbage number in the credit field
  945.             usually a negative number, this threw the ratio calcs out
  946.             the window. it now saves as it should and defaults to 0
  947.             as it should. You'll have to edit your groups to set this
  948.             the way you want it.
  949.  
  950. 1.09.19 --- New Cserver.Exe in this build, trying to eliminate the traps
  951.             that plague cserver on a busy chat system.
  952.             Did some work on the adeptrexx engine, for the same reasons,
  953.             and working on those two of course means i have to recompile
  954.             adept.exe too. Be *SURE* to put both the cserver.exe and adept.exe
  955.             online toether, *DON'T* mix old cserver with new adept and vice
  956.             versa, some of the changes I made to Cserver directly affect
  957.             the way adept works...
  958.             Added yet another Meta Variable, {VM will show the last user
  959.             who was on this node. (Full Name).
  960.  
  961. 1.09.18 --- 24-April-97 09:00 EST Update
  962.             Have added something  have wanted for a looonng time into
  963.             adept. A first name only meta variable. {VL will display
  964.             the users first name only. While I was at it  added {SA
  965.             this will display the users current status as shown in the
  966.             status window of adepts pm screen. And finally {SB, this will
  967.             display the connect string that user used to get on line with,
  968.             useful for pulling ip addresses out with rexx on telnet/vmodem
  969.             connects and other such stuff..
  970.             baud rate /arq etc are also in this line, it's the string
  971.             returned by the modem itself..
  972.  
  973. 1.09.18 --- 23-April-97 10:30 EST Update
  974.  
  975.             Ok. I think I have finally found the infamous cirrus logic
  976.             card transparent screen bug, included in this update is a new
  977.             Avi.Dll. This dll should fix that stupid bug once and for all.
  978.             (I hope :> wish I had a cirrus card to test with, but i don't
  979.             so.....)
  980.  
  981. 1.09.18 --- Bluewave import had a prob with some area names if the
  982.             first 5 or so chars were the same, it could post the
  983.             msg in the wrong area, this should be fixed now.(Lemme know Bill)
  984.             Fixed the menutype 53 (Who's in this chat channel) so
  985.             it now displays real names properly too (if u use the real
  986.             name meta in yur language.text that is)
  987.             Added a check to see if the chatserver is running before
  988.             sending the users input out to the channel, if the server
  989.             went down while the guy was typing, he could wind up in never
  990.             never land.. Recompiled the adeptrexx library.
  991.             Made another attempt at fixing the cirrus logic bug, last
  992.             attempt didn't change anything <sigh>.
  993.             Put some code in place so a user who's time has been adjusted
  994.             due to upcoming forced event cannot simply go to the time
  995.             bank and withdraw enough time to overrun the event. It will
  996.             simply tell him he can't have that much and exit..
  997.  
  998. 1.09.17 --- So much for working on soffits and deck :>
  999.             This build is my first attempt to fix the cirrus logic
  1000.             and trident display drivers transparent bbs screens.
  1001.             I found a problem in the code that could account for
  1002.             the display problem. Lemme know if it's fixed. (If u have
  1003.             trident or cirrus card that is)
  1004.  
  1005. 1.09.16 --- Major menudrvr bug,type 4 and 5 commands (goto,gosub with
  1006.             password protection) were totally farked. they now work
  1007.             as documented.
  1008.             Note: those using the language file oout of the full install
  1009.             may want to edit line #314 to reflect their own systems name
  1010.             instead of mine<G>. Just change DogStar BBs to whatever your
  1011.             system is called, this line is displayed on a who's online
  1012.             command.
  1013.             No more builds for a few days.. gotta fix my soffits and
  1014.             repair my deck.
  1015.  
  1016. 1.09.15 --- What a farking day <sigh>!! Mattis (of course) had another
  1017.             bug to report. Seems he has 7000 msgareas defined and adept
  1018.             would trap when it hit area 2016. Turns out area 2016's
  1019.             name was 53 characters long. Adept uses the name as the
  1020.             filename, and of course somebody hardcoded a 64 char
  1021.             path/filename limit into just about every source file
  1022.             that opens a file. Spent the day tracking down all those
  1023.             damn hard coded limits and changing em to 512. Adept
  1024.             no longer traps on mattis's msgareas.
  1025.             Fixed the more yn= problem where on a remote call, if
  1026.             a user was listing message areas and hit = for nonstop, it
  1027.             would only show him one more page and stop listing. This
  1028.             was not evident in a local login, only for remotes.
  1029.             Hitting = now causes adept to scroll the message areas
  1030.             as fast as the users modem can handle the data.
  1031.  
  1032. 1.09.14 --- Mattis reported a bug that I can see being a problem on
  1033.             a busy system such as his. If a user enters a message
  1034.             or messages, then changes his mind and deletes 1 or two
  1035.             of them for whatever reason, we have a problem, the person
  1036.             the message was to has already had his personal mail index
  1037.             file updated (PMI Index). The bug comes in when that person
  1038.             logs on, he's notified of new mail, but the message has been
  1039.             deleted. Result, he cannot read any new mail past that deleted
  1040.             message, the pmi is farked at that point. So what I did was
  1041.             to put in the delete routines a call to update the pmi index
  1042.             (removing the deleted message from the pmi file), and I went
  1043.             one step further, if the brain dead user who entered the message
  1044.             in the first place changes his mind and UNDELTES it, the pmi
  1045.             index is again updated. Result deletes/undeletes now properly
  1046.             update the pmi index.
  1047.             Second, adept was letting people on even if their name was
  1048.             in the trashcan file, it was only checking trashcan on new logins,
  1049.             it now checks names already in the userbase too..
  1050.  
  1051.  
  1052. 1.09.13 --- Non existant I hate 13 !!
  1053.  
  1054. 1.09.12 --- Too many updates, time for another minor version increase
  1055.             Added one more flag value to the type 51 menucommand,
  1056.             flag = 128 will now execute a clear screen before it displays
  1057.             the text file. This flag is summable with the others, so you
  1058.             can have it clear the screen and prompt to hit enter to continue
  1059.             at end of file if you like, so to get more prompting, allow
  1060.             interruption of display etc use 151 (128+16+4+2+1).
  1061.             Bill-e has reworked the docs, and they are included in the
  1062.             archives for this build.
  1063.             Note: there is an existing bug in Adept that everybody should
  1064.             be aware of, it is in the adept telnet mode. If you select
  1065.             telnet active for a port and enable only telnet server, adept
  1066.             will trap on the first connection to that port. Workaround
  1067.             for now is to enable *BOTH* telnet and socket servers, in
  1068.             both the line config and internet options configs. With
  1069.             both telnet and socket enabled, all works wonderfully.
  1070.             Will see if I can figure why it traps without sockets selected.
  1071.  
  1072.  
  1073. 1.09.11 --- 20-April-97 07:30 Update...
  1074.             Fixed a cosmetic logging problem that was showing up if
  1075.             a colors.ctl file was not found.
  1076.             Built a new cserver.exe that does not generate a chatdebug.log
  1077.             file, this logfile could get quite huge if left to grow on a busy
  1078.             chat system. I'm including the new cserver in the update zip.
  1079.             Also made a change to the code to try and keep adept from
  1080.             farking the events files on a trap condition, this happened to
  1081.             me a few times, where an events.text.x file was truncated to
  1082.             0 len because of a trap or abnormal shutdown condition. This
  1083.             change should keep that from happening again.
  1084.  
  1085. 1.09.11 --- 19-April-97 23:30 Update...
  1086.             Ok, Mattis (of Lakebbs fame, telnet to lakebbs.cn-newc.com.au to
  1087.             see an excellent 32 node adept system) reports a problem with
  1088.             users faking out the dupe user checks on telnet nodes especially
  1089.             and using this to gain more than their alloted time for the day
  1090.             on the bbs. I have looked at the dupe user check, if the timing
  1091.             is just right they can slip thru the crack. Soooo I have added
  1092.             a *SECOND* dupe user check right after they enter their password.
  1093.             Adept will check, ask for password if they passed the first check
  1094.             then if they get past the password it checks once again, if it
  1095.             finds the guy on another node, it will hang him up. This should
  1096.             take care of that timing window. Mattis, let me know how it's
  1097.             working out for you, if it's still an issue, i'll think of
  1098.             something else.
  1099.             Now a word about who's on line displays, and real names versus
  1100.             handles displays. Both the rexx chat who's on line and the regular
  1101.             menu type who's on line commands share a common language.text
  1102.             line entry. the line in question is #314. If you have a {CF in that line
  1103.             then who's on line will display *REAL* names. If you change them to
  1104.             {CG then who's on line will display handles. You have your choice,
  1105.             currently there is no way to display both short of someone coding
  1106.             a rexx script to handle it. (Shouldn't be that hard if someone wants
  1107.             to tackle it, both real and handles are available to adept rexx
  1108.             and the line number can be incremented to step thru all available
  1109.             nodes, soooo, if someone wants to get a bit of adeptrexx excercise
  1110.             this would be a good project. ) The way this function is coded in
  1111.             adept does not lend itself to an easy way to allow a dynamic display
  1112.             of either real or handle. It's simply coded as a choice you have to
  1113.             make as Sysop.
  1114.  
  1115.  
  1116. 1.09.11 --- 19-April-97 21:30 Update...
  1117.             I'm tired of manually adding {PC's to text files to give users
  1118.             a chance to read the displayed file, like lord scores etc. So
  1119.             have modified type 51 menu types, if 16 is included in sum of
  1120.             optional flags it will now automatically prompt user to hit
  1121.             enter to continue at end of displaying text file. See the docs
  1122.             for what the rest of the flags values are, they all work as documented
  1123.             default is still 7 if no flags value specified on optional data
  1124.             line.
  1125.  
  1126. 1.09.11 --- Sometimes, if you started adept and then immediatly hit
  1127.             Shutdown from the pull down menu, adept would start shutting down
  1128.             before all the init threads had finished running. Result,
  1129.             adept hangs with part of itself in memory, preventing you from
  1130.             starting it back up again. Reboot was the only way to clear
  1131.             this condition. This sucks and has bit me quite a few times.
  1132.             Sooooo, Adept will now post an itnternal semaphore when the
  1133.             load msga areas and load file areas threads are complete. I put
  1134.             the semaphores in these two threads, cause they are the ones
  1135.             who take longest to complete. (It takes 20 seconds to load
  1136.             my 1000 msg areas here.) So when you hit shutdown now, the
  1137.             shutdown does not go into action till those semaphores are
  1138.             set indicating thread completion. So be aware, if you have
  1139.             a lot of file/msg areas, and you fire up adept, then immediatly
  1140.             hit shutdown, it may seem like forever before it actually
  1141.             shutsdown. It's actually waiting for the load msg/file areas
  1142.             threads to complete before shutting down. So be patient, let
  1143.             it do it's thing, it will eventually shutdown normally. Note this
  1144.             has no effect on the close button in upper left corner, I recommend
  1145.             not using that button in any case, unless it's an emergency
  1146.             situation, like a hung rexx script or some such. Hitting close
  1147.             does not save configs and stuff, and in somce cases, depending
  1148.             on what adept was doing when you kill it like that, can actually
  1149.             corrupt config/events/etc files. Always try to go thru the shutdown
  1150.             menu to ensure and orderly shutdown.
  1151.  
  1152.  
  1153. 1.09.10 --- Revisited the events editor, add,delete,insert,and edit all
  1154.             work properly. Editing a nodes event file that does not exist
  1155.             or is 0 length used to trap Adept, it will no longer trap,
  1156.             instead it brings up the add dialog and lets you create an
  1157.             events file for that node on the spot, it will save this file
  1158.             when u answer yes to the sasve your changes to disk dialog.
  1159.  
  1160. 1.09.09 --- Due to popular demand, I have taken the automatic execution
  1161.             of the ifconfig lo command out of the adept and cserver exe's.
  1162.             It was causing problems on some systems apparently, so it's gone.
  1163.             It is now up to the sysop to configure the local loopback, (as
  1164.             discussed at the very beginning of this document) to configure
  1165.             his/her machine's local loopback. Adept *NEEDS* this local
  1166.             loopback, as does chat server.
  1167.  
  1168. 1.09.08 update 9-Apr-78 10:00 EDT
  1169.  
  1170.             Pulled the local line recent events logging, it was casuing
  1171.             problems here, would only show up if you logged on locally a lot
  1172.             so it's back to normal, ie local line recent events does not show.
  1173.             If you need to know what happened on the local line, look in
  1174.             \adept\logfiles\line0.log that's what it's there for.
  1175.  
  1176. 1.09.08 update 9-Apr-78 07:45
  1177.  
  1178.             fixed a small bug in the lookatbbs function when it is
  1179.             called by right clicking on an active line number from the
  1180.             AdeptStatus window...
  1181.  
  1182. 1.09.08 update 8-Apr-97 14:30
  1183.  
  1184.             Put in some code to keep bluewave and qwk from trapping adept
  1185.             when it can't find an archiver for the uploaded packet. Or if
  1186.             there's a problem unarchiving the reply packet. Used to trap
  1187.             adept, should not happen now.
  1188.  
  1189. 1.09.08 --- Addressed several issues with the Qwk - bluewave import/export
  1190.             functions. Bluewave import should not produce duplicate
  1191.             msgid's on uploaded messages. The from field of bluewave exported
  1192.             messages is now truncated at 35 chars as specified in the blue wave
  1193.             spec. A space character is now added to begining of blue wave
  1194.             exported text, again as per blue wave spec. The qwk/bluewave
  1195.             export threads will no longer bomb out on blank to/from fields
  1196.             in the messages it is exporting.
  1197.             I have one report of the ifconfig commanf that adept (and cserver)
  1198.             now generate on startup, the report claims that it messes up the
  1199.             tcpip stuff , (symptom of not being able to dcc) I need to know
  1200.             if this is true on anybody else's system. i know it's not true
  1201.             here, but my system is not complex, would appreciate feed back from
  1202.             somebody who is using tcpip network (or anybody to whom it *IS*
  1203.             causing a problem). The obvious way to test this is to shutdown
  1204.             adept and restart it a dozen times or so, if yur tcpip is not messed
  1205.             up after a dozen starts, it's prolly not an issue.
  1206.  
  1207.  
  1208. 1.09.07 update 7-Apr-96 08:45
  1209.  
  1210.             Fixed the bug in menutype 53 (Show users in chat channel) that
  1211.             was causing the display to show wrong names..
  1212.  
  1213. 1.09.07 update 21:00 EST
  1214.  
  1215.             Found a potential problem, if after a fresh reboot, you bring
  1216.             up Cerver.Exe without having done an ifconfig lo 127.0.0.1 first
  1217.             then bring up adept, cserver will start logging giomt traps
  1218.             forever, slowly chewing up your hard drive space with a huge
  1219.             giomterr.logfile. So included in this build is a cserver.zip
  1220.             that contains Cserver.Exe V0.60.05. This build of cserver will
  1221.             on startup execute an ifconfig lo 127.0.0.1 to set up the loopback
  1222.             it needs to run properly. Both adept and cserver now do this, i left
  1223.             it in adept too cause single node systems may want to run without
  1224.             loading cserver.exe. In any case your covered, should you reboot
  1225.             and load either of these two without having setup the loopback, they'll
  1226.             now do it themseleves instead of going south to peoria.
  1227.  
  1228. 1.09.07 update 16:30 EST
  1229.  
  1230.             Ok got it right this time, recent events will now log local
  1231.             line stuff and no mixing of video when yur logged on local.
  1232.             The titles on the windows will now relect Line 0 which is the
  1233.             local logon session.
  1234.  
  1235. 1.09.07 update 13:22 EST
  1236.  
  1237.             Well that didn't work to well, so i pulled the change, the
  1238.             recent events window is back to old behaviour now...
  1239.             sorry bout that.
  1240.  
  1241. 1.09.07 --- Too many updates, so new subversion number.
  1242.             By request I have changed the recent events box behaviour
  1243.             to display the local login logstuff same as if it was a remote
  1244.             login. the title will still say Recent Events: 1 but the info
  1245.             will be coming from the local login. When u logoff it will
  1246.             revert to line 1 loginfo ( or whatever line u select).
  1247.  
  1248.             Now I know I've threatened this before <g>, but this time
  1249.             I really gotta do it. I'm not gonna mess with the code for
  1250.             a minimum of 2 days, we can't get any decenent runtimes
  1251.             if everybody is shutting down their adept everday to upgrade.
  1252.             I need to know the build is stable before we do anything else,
  1253.             and the only way is to let it run and see what happens. Hopefully
  1254.             it'll be a nice stable piece of code.
  1255.  
  1256.  
  1257. 1.09.06 update 6-Apr-97 09:30 EST
  1258.  
  1259.             Ok. I just finished helping a guy out in IRC chat, who was
  1260.             having problems logging into adept, it would hang at login,
  1261.             sound familiar?? Turns out he had rebooted and forgotten to
  1262.             execute the ifconfig lo 127.0.0.1 command before firing up
  1263.             adept, well since adept absolutly *NEEDS* that loopback to be
  1264.             set, i have hard coded the command into the Adept.Exe. First
  1265.             thing it does now is spawn an os/2 window and runs ifconfig lo 127.0.0.1
  1266.             It does this *EVERY* single time you start adept, executing
  1267.             that command more than once does no harm, and this ensures
  1268.             the loopback will be set for adept to use.
  1269.  
  1270. 1.09.06 update 6-Apr-97 07:45 EST
  1271.  
  1272.             Fixed a memory overwrite in the events editor..
  1273.  
  1274. 1.09.06 update 5-Apr-97 07:30 EST
  1275.  
  1276.             Got a report that trying to edit the *LOCAL* lines
  1277.             eventfile (What pervert would think of trying to make an
  1278.             events file for line 0 anyway? <Sigh!!>) would trap adept.
  1279.             Sure enough it does. Reason is there's no provision for
  1280.             having an events file for line 0, it does not even attempt
  1281.             to load an events file for line 0. Fixed it so if you try
  1282.             to edit line 0 events file, it does nothing. Just dismisses
  1283.             the pulldown menu.
  1284.  
  1285. 1.09.06 --- Ok the events editor is fully functional again, Next,Prev,
  1286.             Insert,Delete,Add all work, just a couple things u should be
  1287.             aware of. If there's only one event in yur events file your not
  1288.             allowed to delete it. The Add button is disabled untill you
  1289.             get to the last event in your file, ie u hit next till the Add
  1290.             button lights up. Insert works just great, remeber that it
  1291.             inserts *BEFORE* the currently displayed event. A quirk, if
  1292.             you hit add or insert, you can fill in all the fields, but
  1293.             the day of week buttons are grayed out. You can only choose
  1294.             everyday, no bigge once u've added or inserted the area, hit
  1295.             next or prev then go back to the area u just added, click off
  1296.             the everyday selection, and the days of the week buttons will
  1297.             light up. I think this has always been there and is probably
  1298.             not a result of the work I did on the editor. Anyway, it's
  1299.             functional. Note: it makes a backup if you say yes to save
  1300.             your changes to disk. Ie events.text.1 will be saved as
  1301.             events.bak.1  !!
  1302.  
  1303. 1.09.05 --- The config->events dialog would crash adept if you hit
  1304.             the Prev button or the delete button. Fixed Prev button so it
  1305.             works as expected, but I had to disable the delete button, the
  1306.             add, adn the insert buttons. The only way (for now anyway) to
  1307.             add,insert, or delete an event is to shutdown adept, and directly
  1308.             edit the events.text.x files in \adept\events subdir. The
  1309.             config->events pulldown menu can be used to look at or change
  1310.             existing events.
  1311.             These changes will keep adept from trapping on you if you go
  1312.             into the events editor.
  1313.  
  1314. 1.09.04 --- Reading back thru Steven Towers Alpha readme's reminded me that
  1315.             he had found a really nasty bug in the 107 series code's Events
  1316.             subsystem. This bug could toast Os/2, resulting in traps, Adept
  1317.             shutting down for no reason, system hangs, etc. A lot of weird
  1318.             behaviour could be attributed to this bug, and it would never
  1319.             be the same symptom twice. Soooooo to make a long story short
  1320.             I pulled the entire 107f Events Subsystem and replaced it with
  1321.             Towers fixed code. The only thing this means to you, the sysop
  1322.             that the first time you fire up this build, *ALL* events will be run
  1323.             as the Events subsystem gets things in Sync. Once it's finished
  1324.             executing all the events, it will be business as usual. This new
  1325.             events system does *NOT* use the binary event files (the Event.1
  1326.             Event.2 etc) events files, instead it uses the TEXT event files.
  1327.             I.e the Events.Text.1 etc files. It will add one new keyword
  1328.             to the text files, LASTRAN, this keyword tells the events system
  1329.             when the event was last run. You don't have to add it, it will
  1330.             be done for you when you first start this build. Events editor
  1331.             will now save to the text files instead of the binary files.
  1332.  
  1333.             I added a History.Doc file to the zips in an attempt to document
  1334.             the new features that have been added to these builds. this document
  1335.             is not a replacement for AdpXbbs.doc, but is meant as a supplement
  1336.             to it. All the new functions/keywords/enhancements have been gathered
  1337.             in the History.Doc file.
  1338.  
  1339. 1.09.03 --- Made it so that when u use the /nostat switch adept fires
  1340.             up just as fast as when you don't use that switch, no more
  1341.             20 second delay waiting for the system status box to come ready.
  1342.             (Since it is never gonna come ready, why wait on it.)
  1343.  
  1344. 1.09.02 Exe UpDate 2-Apr-97 16:30 EST
  1345.  
  1346.                Added a new command line switch, (Just for WIKK) if
  1347.                start adept with adept /nodes x /nostat it will fire
  1348.                up *WITHOUT* the adept status screen, looking like pre 1.07
  1349.                days before they added that status screen. Note it takes a little
  1350.                longer to come up but it does come up, have patience..
  1351.  
  1352. 1.09.02 Exe Update 2-Apr-97 07:30 EST
  1353.                Found and fixed a bug in the menu compiler, there were
  1354.                occasions where a menu (the text file) would become
  1355.                corrupted or overwritten. Fixed now..
  1356.  
  1357. 1.09.02 ---    Added 4 new menu commands, menu commands 119 and 120.
  1358.                These work as the description for menu types 25 and 26.
  1359.                Except, that these two will only act on *TAGGED* message
  1360.                areas. The offline mail tags are what is inspected by them
  1361.                when showing u the next area. So it is now possible for
  1362.                your users to tag a bunch of msg areas, and using type
  1363.                119 or 120 do a read of tagged areas. It tells the user
  1364.                number of messages in the area, his last message read, then
  1365.                the user has the option of reading the area, skipping it
  1366.                setting direction etc.. just like types 25 and 26.
  1367.  
  1368.                Menu Commands 121 and 122, these two will do a quick(121)
  1369.                or detailed(122) scan of tagged message areas. Again the
  1370.                user has the choice of doing the scan on the area presented
  1371.                or skipping it. If he chooses R)ead he will read the message
  1372.                headers. just like menu choices 16 and 17, but for all tagged
  1373.                message areas instead of just the current area.
  1374.  
  1375.                Give your users the option to tag message areas from yur
  1376.                msgs menu by using either (or both) menu types 50 or 702.
  1377.                The beauty of this scheme, is that the user can permanently
  1378.                set tags that will be rememebred across logins, but at
  1379.                any given login can (for that session only if he chooses) tag
  1380.                a bunch of areas he doesn't want to be permanently tagged.
  1381.                Unless the user saves his tags they will be lost at the next logon.
  1382.  
  1383.                Note: If u have 5000 message areas and u tag area 1 and 5000,
  1384.                and invoke one of these menu types, there's gonna be a noticeable
  1385.                delay between the time u read the last message in area 1 and the
  1386.                time area 5000 is presented to you for action. It takes *TIME*
  1387.                to scan 5000 message areas looking for the area tagged bit.
  1388.  
  1389. 1.09.01 ---    Removed some debug printf's that were still in my color
  1390.                loading routines. Went thru and cleaned up the compile
  1391.                time warning messages that actually meant there was something
  1392.                amiss with the code. Recompiled Rexx and Adept from
  1393.                scratch. A full fresh compile.
  1394.  
  1395. 1.09.00 Exe UpDate 31-Mar-97 21:33 EST
  1396.  
  1397.         --     Fixed a small glitch in the system status window, the
  1398.                boot time was displaying current time instead of the
  1399.                system boot time, now it displays date and time
  1400.                os/2 was booted at correctly.
  1401.  
  1402. 1.09.00 Exe Update 31-Mar-97 09:30
  1403.  
  1404.          --    Alt suggested a reply to any message as E-Mail reply, good
  1405.                idea, this function now works, the tilde key invokes the
  1406.                reply as e-mail option from the message reader menu. You
  1407.                can reply to a message in *ANY* area as e-mail and not lose
  1408.                your place in the area you are reading. Change line 901
  1409.                of language.text so it looks like this now"
  1410.  
  1411. #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)
  1412. [Str]NPOAR][.KMCL/\#DU=SW@! X*~:        <---- Note the tilde key right after
  1413.                                               the *.
  1414.  
  1415. 1.09.00  --    This build removes the alpha (or Beta) designations from
  1416.                my builds, I think they've proved themselves stable enough
  1417.                to be called releases, don't you ??
  1418.                New fetaure, couple guys were asking bout the possibility of
  1419.                of replying to echomail with a netmail, well it's done, and it
  1420.                works. I've tested it here works like a champ. To enable this
  1421.                little feature (yeah little after it works <G>) you need to edit
  1422.                line #901 in your language.text file. Make it look like this:
  1423.  
  1424. #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)
  1425. [Str]NPOAR][.KMCL/\#DU=SW@! X*:
  1426.  
  1427.                Note the added * character before the : it used to read X:
  1428.                change it to X*: the * key will activate the reply as netmail
  1429.                option when yu are reading any echomail message. Hell make that
  1430.                *ANY* message, if you want to reply to a local base with netmail
  1431.                well you can do so, didn't feel it was worth the added effort
  1432.                to filter out the local bases. Note that all security options
  1433.                and flags still apply here. If you don't have the flags or
  1434.                security level to post in yur netmail area you won't be able to
  1435.                enter the message. Oh and it doesn't matter what you call
  1436.                your netmail area, i scan for the NETMAIL flag (you should
  1437.                have it checked in your message areas setup already right?
  1438.                Right!)
  1439.  
  1440.  
  1441. --- aH20 --    30/3/97 11:00 EST Exe UpDate
  1442.                Ok, people have been bitching cause adept adjusts a users
  1443.                time on *ANY* upcoming event, well as of today, adept will
  1444.                only adjust users time if the upcoming event is *FORCED*,
  1445.                ie the Forced flag is set for the upcoming event.
  1446.                Note: If yur gonna do any experimenting with this, be *SURE*
  1447.                you don't try to test it from a local login, since Line 0
  1448.                (Local login line) has no events file, it skips the calculation
  1449.                of time to next event. Either call in or telnet in since all
  1450.                remote lines *MUST* have an events file. If yur running without
  1451.                an events file for a particular node your asking for trouble.
  1452.                It may run, but yur gonna get all kinds of strange happenings.
  1453.                If a node is active, it *MUST* have a corresponding Events.Text.X
  1454.                file where X = The node number that file corresponds to.
  1455.  
  1456.  
  1457.  
  1458. --- aH20 --    Dropped squish support entirely, Squish is 4-d Adept
  1459.                is 5-d. The two just don't mesh, too many kludges required
  1460.                to work around squish's limitations. Why should I have to
  1461.                break Adept to get it to work with Squish. Makes no sense
  1462.                to me.
  1463.                Same goes for *.msg for netmail area, why should i kludge
  1464.                a perfectly good 5-d aware program to *try* and get it to
  1465.                run with a 3-d aware message style. Again makes no sense
  1466.                to me.
  1467.                Onwards.. made a change to the files download routines to
  1468.                try and fix this intermittent DosCall1.Dll traps that I and
  1469.                others have experienced when a user tagged a lot of files
  1470.                for download. Hopefully this is fixed now.
  1471.  
  1472. 29/3/97 15:45 EST Update... Reworked the control info calculation for the
  1473.                  squish message base stuff. (I learned a bit more about
  1474.                  squish and realized I was doing it wrong.) The testing
  1475.                  I have been able to do here indicates success. This squish
  1476.                  support is still considered *ALPHA* ware, use with caution.
  1477.                  I.e. I wouldn't rush out and convert all my bases to squish
  1478.                  without running some tests first.
  1479.  
  1480. --- aH19 --   Ok here we go, this build has adept reading/writing
  1481.               Squish message bases, this support is in there in a limited way.
  1482.               By limited i mean:
  1483.  
  1484.               1> NetMail, Internet E-mail, and Usenet message areas cannot
  1485.                  be made into squish bases. These type message areas are
  1486.                  gonna have to remain Adept style message bases.
  1487.  
  1488.               2> Adept will only read/write *EXISTING* squish message
  1489.                  bases at this point in time. (This may change if I get the
  1490.                  ambition up to have adept create an empty squish base, gotta
  1491.                  learn more about the squish structure first.) So if your
  1492.                  gonna make an area a squish message base you will need something
  1493.                  to create the message base files for you, i understand there
  1494.                  are external editors out there that will  do this, heck even
  1495.                  the squish tosser can do it for you if your tossing echomail
  1496.                  with it anyway, just be sure you don't try to write a message
  1497.                  from adept into a squish message base that has not been
  1498.                  initialized yet. Once the base has been initialized adept
  1499.                  has no problems read/writing to it, I even made it so bluewave
  1500.                  and qwk imports will post properly into a squish base.
  1501.  
  1502.               3> To turn an area into a squish area, you will have to edit
  1503.                  your message_areas file in \adept\system dir and set the area
  1504.                  flags to 32768, do *NOT* set the EchoMail flag, this will result
  1505.                  in adept not writing to the squish base, squish bases are
  1506.                  echomail by default in adept. (See restriction 1 above).
  1507.  
  1508.               4> If your gonna use squish bases for echomail it's assumed
  1509.                  you know how to setup and run squish (the tosser/scanner)
  1510.                  program. *DON'T* ask me about it, I've never ever used
  1511.                  squish bases in my life. Of course it goes without saying
  1512.                  Gatekpr does not now and may never support squish bases. (Why
  1513.                  should it, you wanted to run squish didn't you?)
  1514.  
  1515.               5> Depending on available time, i may or may not get around to
  1516.                  making adept capable of creating a squish base from scratch.
  1517.                  But that's a ways down the road.
  1518.  
  1519.               6> Oh almost forgot, you'll need the squish dll's in yur libpath
  1520.                  somewhere for all this to work, I included them in the
  1521.                  zip file, i put mine in the same place as my adept dll's
  1522.                  and things seem to work fine in the limited testing I've been
  1523.                  able to do.
  1524.  
  1525.               7> Last but not least, this stuff is largley *UNTESTED* so use
  1526.                  at own risk applies. It reads and writes from adepts read/write
  1527.                  menu commands, I have no way of knowing how squishp.exe is gonna
  1528.                  react to finding a domain in the control info, it may puke all
  1529.                  over the place. As far as I know (correct me if I'm wrong)
  1530.                  squish is *NOT* domain aware..
  1531.  
  1532.  
  1533. --- aH18 --   Revisited the colors stuff, changed the method of
  1534.               obtaining the nearest possible RGB background color for
  1535.               any given color depth. Hopefully this is the end of
  1536.               it.
  1537.  
  1538. 27/3/97 11:30AMEST - Kay it looks like colors are solid now, all I did in this
  1539.               update is to fix a small problem with the {M2 meta variable,it
  1540.               was displaying one more than it should have.. Fixed now.
  1541.  
  1542. 27/3/97 20:30EST - Thanks to Donovan for pointing out the status screen was
  1543.              just a Tad cluttered, and for coming up with a layout that looks
  1544.              much nicer, easy fix once you know how you want it to look, and
  1545.              Dono had a definite suggestion as to how it should look, soooo
  1546.              presto, chango, Done.
  1547.  
  1548. --- aH17 --   A purely experimental build, I turned on *ALL* optimization
  1549.               options in the watcom compiler. You may want to wait till
  1550.               reports come in on wether this build is as stable as the
  1551.               regular builds before you install it, however i need
  1552.               *somebody* besides me to run it <g>.
  1553.  
  1554. 25/3/97 10:45EST Ok, still getting a glitch with s3 and cirrus cards as far
  1555.               as color settings go, this is an attempt to fix that. BTW the
  1556.               fully optimized version ran here for over 24 hrs, looking good.
  1557.  
  1558. 25/3/97 12:00EST Sigh!!! Once more around the park please, another attempt
  1559.               to fix colors for some video cards that are having a hard
  1560.               time setting the backgroundcolors...
  1561.  
  1562. --- aH16 --   Ok, cleaned up the rest of the colors display bugs, should now
  1563.               work properly on anybody's system. I decided to leave the main
  1564.               frame as a Gray background rather than making it configurable
  1565.               too... Put the msgarea loading code back the way it was,
  1566.               mainly cause I got a trap when a user connected this afternoon
  1567.               and it's the only code I touched in the mailer/bbs, rest of work
  1568.               was all done in display subsystem. If u get *ANY* traps at all
  1569.               record the trap information so i can try and figure out what
  1570.               was going on when it trapped. the numbers i'm interested in are
  1571.               the last set ie they lool like this:
  1572.               Adept.Exe 0002:00019ef9   if it doesn't say adept.exe then it's
  1573.               of no use to me, i only have source for the exe not the dll's.
  1574.  
  1575. 23/3/97 09:00 EST Update... The Adept Status window was displaying funky
  1576.               colors when u switched to it, this should fix it. BK lemme
  1577.               know if it does the trick for you...
  1578.  
  1579. 23/3/97 10:00 EST Update... Minor glitch in Status:1 Box reported by Taz,
  1580.               this update should cure that...
  1581.  
  1582.  
  1583. --- aH15 --   On my system Adept sometimes traps at startup, usually in the
  1584.               loading msgareas code. The loadmsgareas was being started as a
  1585.               seperate thread, and was sometimes still doing it's things
  1586.               when adept was ready to initialize things, i have changed it
  1587.               so it's no longer a seperate thread, it should now wait till
  1588.               all msgareas are loaded before the init code runs. You may see
  1589.               a slightly longer startup time (I.e you won't see the waiting
  1590.               for call status till the msgareas are all loaded) than before
  1591.               but i believe it's worth the extra few seconds in exchange for
  1592.               a more reliable startup sequence.
  1593.               In the archive is another sample color.ctl file, named multi-color.ctl
  1594.               just rename it colors.ctl and adept will  use those colors for
  1595.               it's screens, this layout is what Wikk likes on his system<g>.
  1596. 22/3/97 16:30 Ok I think i've nailed the clors bug, at least it works in
  1597.               1024x768x64k and 800x600x16mill here, should work on *ANY*
  1598.               resolution now. give it a whirl and lemme know, I'm late for
  1599.               Dinner...
  1600.  
  1601.  
  1602. --- aH14 --   I don't like the number 13 <g>..
  1603.               This build heralds Adepts coming into the color age, included
  1604.               in this zip is a file called colors.ctl, simply place this file
  1605.               in your \adept\system dir, edit the values to your liking, then
  1606.               fire up adept. The screens will come up with fore/back ground
  1607.               color combinations *YOU* selected. So if you like Lora's colors
  1608.               fer instance you can set adept up to look like it. The screens
  1609.               are all individually controlled as you can see in the colors.ctl
  1610.               file, so be creative, choose color combos that look good to *YOU*.
  1611.               NOTE: if the colors.ctl doesn't exist, Adept will still come up,
  1612.               but it will come up with a set of default colors *I* picked.
  1613.               If u wnat the old standard GRAY screens, simply set all background
  1614.               to 204 and all foreground colors to 0, that'll give u black
  1615.               text on gray background...
  1616.  
  1617.  
  1618. 19/3/97 19:00EST Update - I just realized, i left test code in there, all windows
  1619.               will take on colors of LOGBOX, sorry folks, they now respect
  1620.               the settings you set for the other windows...
  1621.  
  1622. 20/3/97 08:00EST UpDate Fixed a cosmetic problem with The status box, it wasn't
  1623.               always being updated with the right background color, now it
  1624.               is...
  1625.  
  1626. 21/3/97 14:00EST Update, some people are reporting funky background colors
  1627.                  this is an attempt to fix that... I'll need feedback cause it
  1628.                  does not happen here, I suspect that only really fast machines
  1629.                  like p166's were having the problem... and Cirrus Cards
  1630.                  continue to be a bitch, dunno what I can do about that.
  1631. 21/3/97 15:30EST Update, due to popular demand the close button has been
  1632.                  renenabled, and if colors.ctl does *NOT* exist adept
  1633.                  tries to default to black text on gray background..
  1634.  
  1635. --- aH12 --   This builds made special for _Dutch_, all I'm gonna say is
  1636.               Click your Right Mouse Button on any Line# in the Adept Status
  1637.               Window, (The one that displays system uptime and all that).
  1638.  
  1639.  3-16-97 07:45EST - Did some more work on the adeptrawcom functions, cause
  1640.               telnet.cmd caused adept to trap again last night, found a
  1641.               problem where one of the functions was not setting the return
  1642.               code at all, fixed that and recompiled the rexx lib, we'll see
  1643.               what happens now...
  1644.  3-16-97 09:00EST - Changed the number of chars displayed by {A8,{A9,{AA from
  1645.               20 to 40 , this was a request to allow usenet address to display
  1646.               better... Note, that to get a 40 char display u have to change
  1647.               line # 361 in Language.Text from 30.30 to 45.45 or u will only
  1648.               display 30 chars in the From field..
  1649.  3-16-97 15:00EST - Noticed that if selected bbs window from the status screen
  1650.               right mouse button popup, then minimized it, then went to adepts
  1651.               main status screen and tried to call up the bbs window from there
  1652.               it would not (cause the focus was no longer on that line #) so
  1653.               I added some code to restore focus to line it was originally on.
  1654.               Not a big deal but people might have wondered why it would not
  1655.               call up the bbs window sometimes...anyhooooo fixed!.
  1656.  3-17-97 06:30EST - Changed the display of {A8 etc back to what it was, the
  1657.               system uses these meta's all over the place, and it was messing
  1658.               up the nicely layed out displays, for quick/detailed/pmi etc
  1659.               functions.
  1660.  
  1661.  
  1662. --- aH11 --   Added the FTPName field to the pm file editor, it works the same
  1663.               way as the other fields, i.e. u need to hit save after making a
  1664.               change to an area, or the change won't be written to disk...
  1665.  
  1666.               Cut the exe size down to a shade over 600k =)
  1667.  
  1668.               Well I ran the adept ftpd for a day or so, seems to work with
  1669.               a few quirks, 1> it doesn't know what to do with ACCT commands,
  1670.               so ftppm.exe in os/2 barfs, won't connect to adeptftpd, 2> neologic
  1671.               ftpd won't send the filename to get to adeptftpd fro some reason
  1672.               if autodetect (the default) is used... os/2's command line ftp
  1673.               works fine with it, others may or may not. The bulk of the ftp
  1674.               engine is in a dll to which we don't have source code, so there's
  1675.               not likely to be any more improvements to this part of adept.
  1676.               I'm back to running neologic's ftpd on my site, simply cause
  1677.               ftppm, neologic ftp clients etc can connect and transfer with
  1678.               no hassle..
  1679.  
  1680. --- aH10 --   Fixed the ftp server so it doesn't trap adept anymore when
  1681.               the remote transmits a PWD request as the *FIRST* command
  1682.               after logging on, this was causing a trap cause file area
  1683.               information had not been loaded yet, so now it will automatically
  1684.               place the user in file area 1 on the first pwd command, subsequent
  1685.               pwd commands will work as expected. Everything seems to work
  1686.               fine, but bear in mind the server uses the adept file system, so
  1687.               if you have files in accesible areas that have not been imported
  1688.               into adepts filebase, the ftpd won't see them... The ftpd will
  1689.               respect security levels and flags on a per area basis, same operation
  1690.               as the regular filebase menu commands..
  1691.               To have anonymous ftp available, log in as anonymous, use any
  1692.               password for now, then logoff. Now go into useredit and set the flags,
  1693.               security, and other things you want this anonymous user to have, (I set
  1694.               mine to new user status, which means if someone actually logs onto the
  1695.               bbs with this name, they can't do squat.) and finally edit the password,
  1696.               when the password entry screen comes up simply hit tab once, then hit enter,
  1697.               it should ask u if u really want to set password to zero length, say yes.
  1698.               and save the user record. People can now log into your ftpd with the
  1699.               username anonymous and anything at all for a password. (Something *MUST* be
  1700.               entered, simply hitting enter won't let them in) You now have anonymous
  1701.               ftp set up for your adeptxbbs.
  1702.               To enable the ftpd simply start adept like this: adept /nodes x /ftp where
  1703.               x is the number of nodes u wanna start and /ftp tells adept to start the ftpd.
  1704.               That's it, if you wanna see it from a users point of view ftp to
  1705.               206.248.78.1 I'm running it here...
  1706.               One last thing, you need to manually add the FTNAME areaname to
  1707.               yur existing files_area file, the pm editor doesn't do FTPNAME yet
  1708.               and in fact will wipe it out if it exists, so just use a text editor
  1709.               on File_Areas and yu'll be all set...
  1710.               19:20 update fixed a memory overwrite in sysystat thanks to betels
  1711.               sharp eyes fro finding this one, am putting lots of info in
  1712.               that adept status window and i forgot to increase the buffer
  1713.               size accordingly... fixed now..
  1714.  
  1715.  
  1716. --- aH9 ---   Made a change to the RawCom functions adept rexx routines,
  1717.               in an attempt to stop telnet.cmd from trapping adept if a user
  1718.               hangs up at a critical point in the script, it's a rare timing
  1719.               problem but it happens at least once a week on my system, so
  1720.               hopefully this will cure it. And since I rebuilt the rexx
  1721.               lib, rather than just relinking, i decided to recompile the
  1722.               whole shebang from scratch...
  1723.               Also Chris and I exchanged Code Diff's last night, Have added all
  1724.               his PM cleanup code to my code, we should be at the same level
  1725.               of fix/enhancements with this code exchange... cept for the few
  1726.               things that are unique to the code streams, ie menuengine stuff
  1727.               and mailer stuff...
  1728.  
  1729. --- aH8 ---   Found some more vestiges of towers attempt at a new file i/o
  1730.               system for adept. Removed all that stuff and recompiled...
  1731.               found that if a user dropped carrier at logon prompt, files
  1732.               were not being closed properly, even the mainmenu.ans
  1733.               file could remain open...it now closes any open files..
  1734.  
  1735.  
  1736. --- aH7 ---   Ok, did the same as Betel, Shutdown menu is disabled till
  1737.               adept has started the outbound window, this should prevent
  1738.               shutting down being initiated during startup, it used to happen
  1739.               that if the threads had not all completed initialization and
  1740.               you hit the shutdown button, adept would get confused, leaving
  1741.               a portion of it's self in memory, effectivly preventing you
  1742.               from starting adept up again. You used to have to reboot to
  1743.               clear this state..
  1744.               Betels, Bluewave import change of not checking for carrier drop
  1745.               during import was already in this code, so no worries there.
  1746.               What else.. oh yeah, the outbound box cannot be closed, it will
  1747.               simply minimize if u try to close it. That's about it...
  1748.               Changed the default background colors to pure white
  1749.               background, this one outta display properly even on a
  1750.               16 color system.. (I *HATE* Gray <g>>)
  1751.  
  1752. 19:30 Update..DUH!!! Plugged a hole in the time to next event calculations,
  1753.               seems if a user used all his time and called right back, the calc
  1754.               would go negative, fail the if and give him time to next event
  1755.               letting him back on, now it logs him off if he's used all his
  1756.               time for the day... sorry bout that folks..
  1757.  
  1758. --- aH6 ---   I've been playing with PM stuff, this build is an attempt to
  1759.               get adept to respect System Background colors, the windows
  1760.               should take on the colors of the system background,  (That you
  1761.               set in scheme or color setup or wherever it's set.) the dialog
  1762.               boxes will still take on color of the system dialog colors
  1763.               which default to pale-Gray.. On my system the background color
  1764.               is set to red=0,blue=255,green=255, I kinda like it.. lemme know
  1765.               how this goes over.. (I was so *SICK* of that pale-gray background
  1766.               adept defaults to)...
  1767.               However... not everyone has true color and adept was pulling up
  1768.               a lot of funky color combinations, so it's back to  that pale
  1769.               gray stuff (I *HATE* gray<g>)...looked real nice on my system
  1770.               though..oh well..
  1771.  
  1772.  
  1773. --- aH5 ---   Put in Wikk's Fax fix to class 2 faxmodems, if the settings
  1774.               are wrong blame him<g> I don't have a class2 faxmodem here, he
  1775.               does...sooooooooo.....
  1776.               Recompiled to get an up to date map, I inadvertently misplaced
  1777.               the map from the last build, made a few changess to the
  1778.               file i/o code... nothing big, the relogin menu option, menu type
  1779.               1002 relogin should now work (I haven't tested this so ... )
  1780.               and here is towers original story on how it's supposed to work.
  1781.  
  1782.               Added a new menu type, 1002.  Logoff and Relog on.
  1783.               This will display prompt #935 (currently unused) and display the
  1784.               file Relogin.Asc/Ans/Avt to the user before commencing with the
  1785.               relogin.  This is a COMPLETE logoff with relogin, except that it
  1786.               doesn't drop carrier.  ATEND.CMD will be run, etc.  I have added
  1787.               two new rexx function functions.
  1788.  
  1789.               AdeptSetRelogin(line, TRUE/FALSE) - Tells the BBS to relog the user back
  1790.                                     on after logoff is completed.
  1791.  
  1792.               AdeptCheckForRelogin(line) - Will return 1 if the user is requesting a
  1793.                              relogin after logoff.
  1794.  
  1795.               So there you have it, as I said the code is in there but I haven't
  1796.               personally tested it yet... I thought I'd enable it in case
  1797.               someone out there has a need  for this function.
  1798.  
  1799. --- aH4 ---   WatCom586 Build by Hagar...
  1800.               realized i was still using the 107f rexx library, this may have
  1801.               been responsible for some weird stuff I was seeing on my system
  1802.               so I have replaced the rexx library with towers code, to keep
  1803.               everything in sync. Rebuilt the library and did a full recompile
  1804.               of adeptx.
  1805.               Moved users age calculations back to where they were, think moving
  1806.               them up introduced a nasty bug, anyway users age is not available
  1807.               in the time adjusted screen cause it hasn't been calculated yet, it
  1808.               will always show as 0...
  1809.  
  1810. --- aH3 ---   WatCom586 Build by Hagar...
  1811.               Told ya I couldn't keep my hands off it<g>...
  1812.               Ok, I have added the ability to use custom login.asc/ans files
  1813.               on a per node basis, the bbs now looks for loginx.asc/ans where
  1814.               x is the node number, so you can have a login1.asc/ans login2.asc/ans
  1815.               etc..(Note if yur going to use this method, the .asc *MUST* exist or
  1816.               the search will fail.) if it can't find a loginx.asc file, it will
  1817.               default to the old behaviour of displaying the plain login.asc/ans.
  1818.               This gives you great flexibilty and control over  your login displays
  1819.               for each node.
  1820.               Of course I have also added the ability to display a custom
  1821.               WelComex.Asc/Ans screen, again on a per node basis, if welcomex.asc
  1822.               for that node doesn't exist, it will try to display welcome.asc/ans,
  1823.               and if that doesn't exist it won't display a welcome message at all.
  1824.               Note: these linex.asc/welcomex.asc files must be in the text dir
  1825.               just the way the old files were in the text dir.
  1826.               Later.... fixed a problem with the timeadjusted.asc/ans/avt/rip file
  1827.               it wasn't showing the {V3 (users age) correctly, this was due to
  1828.               the fact  that age had not been calculated till after the file was
  1829.               displayed, moved the age calcs up before the file display and all
  1830.               is well...
  1831.               OK i added a small check to see if address is locked before trying
  1832.               to send anything for a node who calls in while gatekpr is tossing
  1833.               mail. Before it would send the archive (even if gatekpr had not
  1834.               finished yet) now it should wait till gatekpr is done before
  1835.               releasing the archive to the polling node...
  1836.  
  1837.  
  1838. --- aH2 ---   WatCom586 Build by Hagar The Horrible
  1839.               determined that the add files to the edit download list function
  1840.               is blamemless for the trap report i got so i put it back in...
  1841.               added a carrier check in qwk  and bluewave import routines, was getting
  1842.               reports of traps if a user logged off too fast..lets see what this does..
  1843.               DOH!!!! Fixed my calculation to next event, was always giving user
  1844.               all the time to next event.It works properly now. (Hey I never was
  1845.               any good at Math<g>)
  1846.               ...Later in the afternoon, double DOH!!! I just realized, line 0
  1847.               *DOESN'T* have an events file, no wonder my testing was coming
  1848.               up with weird shit... and I was only calculating time to next
  1849.               event of the *LAST* line that started.. i.e in my case, node 8's
  1850.               event file was being used. Added code to skip time to next event
  1851.               calculations if line is local logon, and added code to ensure
  1852.               that the events file of the node the user was logging into is
  1853.               being used. DOH!!!
  1854.  
  1855. --- aH1 ---   WatCom586 Build by Hagar The Horrible  (Hence the H1 :>)
  1856.               all future builds will end in H? where ? is the build number...
  1857.               At long last adept will now respect events. It will check the users
  1858.               remaining time allowed in the bbs for this logon, compare it to
  1859.               the active events end time for  this node (It is assumed that the next
  1860.               event starts immediatly after the current one ends, valid assumption I think
  1861.               since you should not have holes in yur event schedules anyway for proper
  1862.               operation of the mailer) and if the users time is greater than time to next
  1863.               event, his time will be adjusted accordingly. If  an adjustment is made to
  1864.               the users time he will be shown (if it exists in the text dir) the file
  1865.               timeadjusted.asc/ans/avt/rip. You create this file and make it read
  1866.               anything you like. Meta's are valid in this file just like all other
  1867.               text files, so u can show the user his adjusted time if u like, or simply
  1868.               inform him his time has been adjusted.. it's up to you.
  1869.               I have included a timeadjusted.asc/ans file in this archive as a sample
  1870.               of what u can do with it. Not fancy but it meets my needs for my bbs, do
  1871.               with it what you will. =)
  1872.  
  1873.  
  1874. --- a50 --- Watcom586 build by Hagar
  1875.             Ok so I can't keep my hands off it =)
  1876.             fixed a bug in the intenet e-mail posting routines, if u had allow
  1877.             anonymous messages turned on it would ask the question, but always
  1878.             used the users handle in the post. Now if u say no to enter message
  1879.             anonymously, it posts it with your real name.
  1880.             Also all areas it now checks fro use rewal name flag and if it's
  1881.             checked it uses real name, if real name is not checked it checks the
  1882.             anonymous flag and  if it's set it uses the handle, if both real name
  1883.             and anonymous are not checked it will offer the user the choice.
  1884.             Betel and i are now shipping the same set of dll's once again, if
  1885.             in doubt use the set in this archive, they're the ones I linked with.
  1886.  
  1887.  
  1888. --- a49 --- WatCom 586 build by Hagar
  1889.  
  1890.             Have received several reports of giomt.dll trapping at various times
  1891.             so in an effort to cure these traps, i have regressed to the vac4
  1892.             giomt.dll. It is included in this archive, rest of the dll's have not
  1893.             changed but i include them just to be complete. Be sure to use these
  1894.             dll's for running a49. The exe was linked with this specific set so
  1895.             it only makes sense to use them at runtime...
  1896.             Changed the default icon to hagar, will make it easier to identify
  1897.             my builds from any others out there..
  1898.             Whoooohoooooo!! added system boot time to the adept status screen..
  1899.             it now shows system boot time, system uptime, adept online time, and
  1900.             current time of day...!!
  1901.             Made a change to the user editor to allow up to year 3000 stead of the
  1902.             year 2000 limit that was there previously... hopefully this will not break
  1903.             anything else, but *BACK UP YUR USERS FILE* just to be safe....
  1904.             Pulled my (A)dd files to list code from the edit tagged files item,
  1905.             the way i Had it had potential to trap adept... will re-examine this
  1906.             and try to come up with something else..but for now it's back the way
  1907.             it was...
  1908.             Whooooohoooooo, now u can see at a glance what version yur running,
  1909.             simply  by looking at the adeptstatus screen, version number is now
  1910.             displayed as first line. (Had to give you *SOME* way of keeping up
  1911.             with the rapid fire releases as of late. <g>)
  1912.             Ok. I'm gonna lay off releasing anything else for a while, wanna make
  1913.             darn sure I've got a stable bbs (A49 uptime 6hrs so far) system here.
  1914.             So unless someone reports a serious bug, this will be the last exe for
  1915.             a few days at least. Thanks to all who have helped test the "Hagar"
  1916.             builds over the past few weeks. Your input is invaluable. Keep up the
  1917.             great work folks.
  1918.  
  1919.  
  1920. --- a48 --- WatCom 586 build by Hagar
  1921.  
  1922.             Extended the menu PROMPT field from 128 chars to 512 chars, this should
  1923.             be enough for anybody, if u have a menu prompt that is longer than 512
  1924.             chars u need serious help <G>... and it will cut it off at 512 chars.
  1925.  
  1926.             NOTE: YOU MUST DELETE *.BIN in your \adept\menus dir and let adept
  1927.             recreate them, if you don't do this Adept will trap soons it tries to
  1928.             load the main menu!!!!!!!!!!!!! (Natch the old .bins don't have the same
  1929.             bytecount as the new .bins will have)
  1930.  
  1931.             Thanks to safehex for some system uptime code, we now have a system
  1932.             started at and system uptime on the adeptxbbs status screen, looks
  1933.             KEWL!! Thanks Safehex, I count u as one who "Sent Code" in the true
  1934.             binkley spirit... (Only our stuff is better than bink <g>)...
  1935.             Fixed add to download list from the edit tagged files prompt, it will
  1936.             now prompt you for a file name, whn yur finshed entering filenames
  1937.             it will enter the download dialouge....
  1938.  
  1939.  
  1940. --- a47 --- WatCom  586 build by Hagar
  1941.             lesse, first, fixed a bug in the /noinit, if u tried an
  1942.             adept /nodes 1 /noinit 1, adept woult trap...fixed.. it now works
  1943.             as does /setup...
  1944.             Fixed the broken adept native telnet sessions, ie
  1945.             telnet polls now work if u want to use them instead of using
  1946.             vmodem for your telnet stuff. I tested it here and even pulled in
  1947.             two 100k mail packets from dutch, no problems...
  1948.             Note: there is a potential problem, where if u start adept and then
  1949.             immediatly hit shutdown from the pulldown menu, adept gets confused
  1950.             and stuff remains in memory, if u then try to restart adept, you get
  1951.             an error messge and adept won't start. Only way i've found to clear
  1952.             this condition is to do a reboot. This seems to occur because of the
  1953.             load message areas thread not having completed before u told adept to
  1954.             shutdown, it's very prevalent here with 1000 msg areas it has to load.
  1955.             Moral of the story, is don't tell adept to shutdown before all the
  1956.             startup threads have completed. It can take as long as minute and a half
  1957.             to get evrything initilaized to a know state, prolly longer if u have a massive
  1958.             files and msg areas section. Give it time to complete, then shut it down
  1959.             things will work ok then...
  1960.  
  1961.  
  1962.  
  1963. --- a46 --- WatCom 586 build by Hagar
  1964.             I screwed up, when i dropped towers mailer back in I forgot to
  1965.             drop in some essentgial support files as well. This caused erratic
  1966.             behaviour in the mailer. I.e adept would not send files to another
  1967.             system, it would report sending files, done, without actually
  1968.             transferring anything.
  1969.             Reworked the file tagging stuff, it should now only tag the first
  1970.             occurence of a file. (Note that if u try to tag 4 or 5 files at once
  1971.             and it finds a dupe on the second file it will stop tagging without
  1972.             tagging the rest of them. If it finds no dupes, it will tag all the
  1973.             files u requested to be tagged). I tested this here with a dupe filename
  1974.             and it worked as advertised soooo.....lemme know how it works for you.
  1975.  
  1976. --- a45 --- WatCom 586 build by Hagar
  1977.             did some more work on the files tagging scheme, it should now only
  1978.             tag the first  file it finds by that name (hopefully it's the one
  1979.             in the current area) and on download option will put *EVERY* file
  1980.             that matches into the download list (which is editable by the user
  1981.             before he downloads).. Taz i need you to test  this for me again,
  1982.             I haven't been able to get duplicate filenames into my files system.
  1983.  
  1984.  
  1985. --- a44 --- WatCom 586 build by Hagar
  1986.             Added a bit of logic to honor autologoff requests on Offline mail
  1987.             downloads, if user requests autologoff the lmrs are automatically
  1988.             updated and the system starts logoff counter...
  1989.             Fixed a security hole I had created in offline mail, ie. area 1 was
  1990.             unprotected and could be downloaded by anybody, it now honors same
  1991.             checks as the rest of the areas...
  1992.  
  1993. --- a43 --- WatCom 586 build by Hagar
  1994.             Added some code to ensure unique msgid's in bluewave imports...
  1995.             Added some code to prevent files with the same name from being tagged
  1996.             for download, i.e if u have a bunch of files called 00index.txt only
  1997.             the first one will be tagged, i haven't been able to test this here
  1998.             cause I only have unique filenames in my filesbase, anybody that has
  1999.             dupes  in different areas, I would apprciate a feedback on wether this
  2000.             works or not... TAZ ?? U were asking, can u test it ??
  2001.             Fixed a problem with reading asc/ans files, ie if {PC was the last
  2002.             thing on the line, the C was not being read in. It workks properly
  2003.             now. Safehex this one's for you. :>
  2004.  
  2005.  
  2006. --- a42 --- WatCom 586 build by Hagar
  2007.             Put Towers mailer code back in the mix, since he had fixed some
  2008.             bugs in the mailer and generally made it more robust. Seems to be
  2009.             working fine.
  2010.             Guess I'm just writing this to remind myself what I have done from
  2011.             now on since I have decided not to release any more of my builds.
  2012.             Was confusing people no end having different menu systems, so I'll
  2013.             be the only one running a42 and up...
  2014.  
  2015.  
  2016. --- a41 --- WatCom 586 build by Hagar
  2017.             Fixed a *LONG* standing bug where mail export would never export
  2018.             message area number 1. It now does so.
  2019.             Added a status messge to the offline mail IMPORT function, it will
  2020.             now tell you how many messages were successfully imported, and also
  2021.             log it in the system\linex.log.
  2022.             Both qwk aand bluewave imnports have this function now.
  2023.             Hopefully fixed the multiple background exports thread problem where
  2024.             it would start a background export every time u hit download  instead
  2025.             of realizing an export was already in progress, at least I can't get
  2026.             it to happen here anymore. There is a cosmetic problem where the system
  2027.             will say created export thread will let you know etc.. after the an
  2028.             export is already in progress message.
  2029.  
  2030. --- a40 --- WatCom 586 build by Hagar
  2031.  
  2032.             IMPORTANT NOTE:
  2033.             I have switched to using Betels dll's, (The ones enclosed in his
  2034.             full distribution pak) to make life easier for anyone trying the
  2035.             two different versions. You will now only have to change menusets
  2036.             to match the exe yur running, no more switching dll's. PLEASE
  2037.             UPDATE your dll's with the ones in this zip file if you were running
  2038.             *ANY* previous alpha build!!!!!!!
  2039.  
  2040.             Yes, it's now optimized for pentiums, I am told it should
  2041.             still run on 386/486 platforms. Let's hope they're right<G>
  2042.             Worked on the lmr prompt to make it more pleasing, still some
  2043.             work to do on it...
  2044.             Ok i was not real happy with my LMR prompt, so now it's an
  2045.             entry in the language.text file it should look like this:
  2046.               -----Snip-----
  2047.                    #908 LMR Update prompt
  2048.                    [ans]\rUpdate your LastRead Msg Pointers?[Y/n]
  2049.                    [asc]Update your LastRead Msg Pointers?[Y/n]
  2050.               --------------
  2051.             edit yur language.text to reflect this change and yur users will
  2052.             have a prompt after download.
  2053.  
  2054.  
  2055. --- a39 --- WatCom 386 build by Hagar
  2056.             Fixed a problem with the rexxx function AdeptChangeGroup.
  2057.             Also my providors newserver finally came back up allowing me to
  2058.             test nntp in/out and it works like a charm I'm pleased to say.
  2059.             Had a report of screen corruption during nntp configuration,
  2060.             that too is gone (at least it dosen't happen here now).
  2061.             New feautre (tiny one) on offline mail downloads rather than
  2062.             blindly updating lmr's it will now prompt you to find out what
  2063.             you want to do, update em or leave em as is.
  2064.             No change required to language.text for this one
  2065.             Possible problem with msgeditor not respecting uers timeleft
  2066.             should be  cured with this build too...
  2067.             Also cured a problem where adept was searching for mmpm.dll, this
  2068.             was caused by me at link time, it is now cured and u should not
  2069.             need mmpm installed to run adept anymore. Sorry bout that to you
  2070.             folks who have no soundcard and are trying to run one of my earlier
  2071.             alpha's.
  2072.  
  2073.  
  2074. --- a38 --- WatCom 386 Build By Hagar
  2075.             Ok. Found (thanks to safehex) another nast bug that could trap
  2076.             adept. If u hit enter or reply to a message in netmail area
  2077.             adept would trap. Terminated with extreme prejudice this farkin
  2078.             bug...
  2079.             And also badpass.menu now works, this menu if it exists in
  2080.             \adept\menus will be executed when a user exceeds the password
  2081.             retry count u have set... DumbUser.Menu should work now too
  2082.             (I haven't tested this one but it's virtually an identical call
  2083.             to the badpass.menu thing so it should work).
  2084.             Put in some code to hopefully nail this problem where if a user
  2085.             timesout due to inactivity it will now hang him up stead of just
  2086.             sitting there fat dumb and happy counting time :> I need help
  2087.             with this one cause i haven't been able to make it happen here..
  2088.             so lemme know if it's any better now.
  2089.             Found and (hopefully) fixed a problem with downloads, where if a
  2090.             user hungup during a download adept would just sit there.
  2091.             Should be ok now.
  2092.  
  2093. --- a37 --- WatCom 386 Build By Hagar
  2094.  
  2095.             Fixed a nasty bug  where if a user dropped carrier during an
  2096.             offline mail pack, the files would remain locked, effectivly
  2097.             disabling offline mail downloads for that node till adept was
  2098.             shutdown and restarted. Thanks to safehex for reporting this nasty
  2099.             and being so detailed about his bug report, made it easy to spot
  2100.             the problem and correct it. I have tested the fix here by tagging
  2101.             all message areas (all 900 of them) and telling it to do a download
  2102.             then rudely disconnecting on it. The files remained unlocked. Next
  2103.             call i could do a normal download, if there is *ANY* where else in the
  2104.             system u know of that files are remaining locked please point it
  2105.             out to me.
  2106.  
  2107.             One more thing, I haave had a trap in pmmerge.dll on startup
  2108.             two times now with various builds, I don't know yet what's causing
  2109.             this weirdness, but a subsequent start comes up ok for me. Weird.
  2110.             I'm running warp3 fixpak26 with the warp4 rexx dll's installed.
  2111.             If anybody else gets pmmerge.dll traps on startup, I would love to
  2112.             hear  what your system is running.  Maybe it's just my mix of
  2113.             software, in any case let me hear from you. (If it simply won't
  2114.             come up no matter how many tries u do, try adept /nodes x /dontslam
  2115.             this maybe enough to get it to come up, meantime I'll keep looking)
  2116.  
  2117.  
  2118. --- a36a --- WatcCom 386 Build by Hagar
  2119.  
  2120.              Didn't change the version number in this one, basically what i did
  2121.              was take the most stable version i had (1.07k) and add the new
  2122.              menudriver and new features to it, in an attempt to address
  2123.              safehex's off-line mail problems with locked files if a user
  2124.              drops carrier during a mail pack run. The code should be really
  2125.              stable at this point. I  would just like to suggest a simple
  2126.              adept command line, start it with adept /nodes 32 or however many
  2127.              nodes u have confgured for your machine. Nothing else should be
  2128.              necessary on the command line, if u have *ANYTHING* else on the
  2129.              command line take it out, it will run better with the defaults
  2130.              for all other parameters. I run mine here with adept /nodes 8 and
  2131.              so far have had *NO* troubles. Thanks for trying my build.
  2132.  
  2133.  
  2134. --- a36 --- WatCom386 Build by Hagar !!!
  2135.  
  2136. --- Added my first feature<g> and i didn't break anything (kewlness). The bbs will
  2137. now display the file ToLow.Asc (in the text dir) if it exists whenever a user
  2138. tries to access a menuitem that his security does not allow him to use. No more
  2139. users wondering why menu option don't work for them. Thanks to BK for this
  2140. great suggestion...  Oh and by the way this build is very stable, been running
  2141. here for 3 days, no traps or other problems/weirdness. Looks like my surgery
  2142. of the code was a success<g>.
  2143.  
  2144. ---  Late breaking change, have also added check for min/max age on menuitems and
  2145. will diplay ToYoung.Asc/ToOld.Asc respectivly if the user fails min or max age.
  2146. Will only display the files if they exist in the text dir, otherwise it's business
  2147. as usuual<g>....
  2148.  
  2149.  
  2150.  
  2151. --- a35 --- WatCom386 Build by Hagar !!!
  2152.  
  2153. Fixed the "sticky" pm pulldowns so they don't bleed thru other apps
  2154. anymore. Fixed a bug in the menu driver that could cause adept to
  2155. trap randomly. Fixed nntp out, it should now work as advertised.
  2156. Fixed a bug with rexx loading "large" erx files, these should no longer
  2157. cause traps. Fixed the quickscan/detailed scan options so they return
  2158. to the list instead of returning to the msg menu. Fixed local text
  2159. import into adepts editor, (Note u must have sec1 > 99 to use this) to
  2160. import a text file just hit escape (or Control K) followed by an L, it will
  2161. prompt you for a filename to read in. Fixed the events save function, it will
  2162. now correctly save start and end times stead of rounding them off. Note, this
  2163. build uses 1.07g style BINARY event files compiled from a text Events.Text.x
  2164. where x is the node number, ie 1 2 3 etc.., if u still have 108 style text
  2165. event files just edit them to take out the LASTRAN keyword and they will
  2166. work fine, if u do not remove the LASTRAN keyword, results will be unpredicatble.
  2167. I have also included Mcd's excellent language.text file, if yur gonna use it
  2168. instead  of just modifying yours to match, please use the enclosed login.a??
  2169. files so the fielded login prompts will look proper, edit login.a?? to suit
  2170. your system, this is the way they appear on my system. (I like them others may not)
  2171. You will note, there is a full set of dll's in this zip, *USE* these, I linked
  2172. a35 with these dll's and know they work, others may or may not work. These will
  2173. work, nuff said. :>
  2174. As i said above the language file is Courtesy of Matt Davis (McD on irc chat)
  2175. ask him about mcmail the absolute best mail list...
  2176.  
  2177.  
  2178. ... Hagar...
  2179.  
  2180. Bug Reports to:
  2181. e-mail: mariod@ican.net
  2182. fidonet: 1:222/10.0@fidonet
  2183. telnet/ftp: 206.248.78.1
  2184. The DogStar BBs
  2185.  
  2186. --- a26 ---  ***** NOTE *********************************************
  2187.  
  2188.              Everything from this point on down is/was towers original
  2189.              changes, I have included this stuff here as it's  prolly
  2190.              the only documnetation of the new chatserver and new
  2191.              menu sstructures, as well as some new features like
  2192.              external full screen editor support etc. You should
  2193.              read this document from EOF to top to get a picture of
  2194.              just what's in Alpha (Now Known as Hagar Builds)
  2195.              series Adept.exe's
  2196.  
  2197.              **********************************************************
  2198.  
  2199. Fixed a bug in the TCP/IP support for mail sessions.  It would try to
  2200. 'dial' the site and always return no carrier.  Works like a charm now.
  2201.  
  2202. Fixed a bug if a new user answered 'N' to the Are you a new user
  2203. question it would act as if they had said yes.
  2204.  
  2205. Made some changes in loging a user off.  It wasn't always hanging up
  2206. or resetting the comm port.
  2207.  
  2208. --- a25 ---
  2209.  
  2210. Made some changes that should make EMSI mail sessions more reliable
  2211. if done over TCP/IP or a bad connection.
  2212.  
  2213. Found the cause of several of the infamous SMTP and NNTP mail traps.
  2214. Bad date fields.
  2215.  
  2216. Changed NNTP out to work like SMTP out, hopefully this will fix the
  2217. outgoing NNTP bug.  Not sure.
  2218.  
  2219. I now have an official support site for placing files on and I am
  2220. in the process of setting up a support BBS at os2.kcmo.com.  Please
  2221. help support and grow the site.  I will place all alphas, betas and
  2222. releases of adept and any utilities that exist on this site.
  2223.  
  2224. tower@sound.net is my current e-mail address.
  2225.  
  2226. PLEASE limit bug reports to the latest full alpha release on the
  2227. os2.kcmo.com site.  I.E. Your adept.exe and .dll's must be those
  2228. includes in the adept108aXX archives and no other archives.  It
  2229. would be best if you also made sure you can reproduce the bug
  2230. with the latest release on the site.  I need the module name and
  2231. the ####:######## number that is after it.  Bug reports for
  2232. anything other then the alphas will be ignored.
  2233.  
  2234. --- a24 ---
  2235.  
  2236. Fixed several possible bugs where files wouldn't get closed in mail
  2237. import or export.
  2238.  
  2239. Royally screwed up on the rexx interface to the chat on a intrum beta
  2240. that I put out.  It's fixed now.
  2241.  
  2242. Put ansi metas back to the way they where, looks like we where doing em
  2243. right just that some stupid shit terminals don't follow the ansi spec
  2244. 100 percent.
  2245.  
  2246. Fixed a bug in AdeptSysChatCustomMsg where it would never send the
  2247. custom message to the server.
  2248.  
  2249. Changed the way the 'Node' field works in the ChatMsg's formats.  It
  2250. will ONLY accept numbers now, and -1 in Custom message means send to all
  2251. in the channel.
  2252.  
  2253.  
  2254. --- a23 ---
  2255.  
  2256. I am now including my GIOMT.DLL as standard to be used with a23 and
  2257. beyond.  I am adding some changed to GIOMT.DLL that a23 is dependent
  2258. on.
  2259.  
  2260. NOTE: a23 will run with previous builds of GIOMT except the adept
  2261.       linking functions escape sequence will not work.
  2262.  
  2263. AdeptRawLink and AdeptNodeLink now accept an escape sequence of
  2264. '===000'  if this is typed by either the remote or local host
  2265. it will drop out of the linked connection.  If you are using
  2266. AdeptRawLink, for things like Telnet and or Dialout, I.E. YOU
  2267. opened the port that it's linked to and going out on YOU must
  2268. CLOSE the port with AdeptRawClose or it will continue to remain
  2269. open.  DO NOT Close the users (line) port.  Or you will hang up
  2270. on them.
  2271.  
  2272. The '===000' should allow Binary transfers because the odds of a
  2273. '===000' in that exact sequence in 1.5 seconds of each other is
  2274. extreamly low.  This is similiar to the escape sequence used in
  2275. TIA and other interfaces that allow Binary compatability.
  2276.  
  2277. If you do not have the ####:######## number next to Adept.EXE,
  2278. GIOMT.DLL or the module that crashed, ALONG with the module name I
  2279. WILL Need your Popuplog's and your trap.logs to help diagnose
  2280. bugs.
  2281.  
  2282. --- a22 ---
  2283.  
  2284. In a earyler version I disabled autopassword generation, looks like
  2285. I didn't catch it in every spot.  It's eradicated now.
  2286.  
  2287. Looks like memory will still squeezed a little too tight on a21
  2288. so some people had random traps.  Bumped it up some more in this
  2289. build.
  2290.  
  2291. I am including a new version of GIOMT.DLL, it's called "GIOMT.DL_"
  2292. you must rename it to GIOMT.DLL if you want to use it.  This build
  2293. will log all exceptions extencively to a file called stgiomttrap.log.
  2294.  
  2295. This DLL can also be used to help find GIOMT traps in CServer.exe
  2296.  
  2297. --- a21 ---
  2298.  
  2299. I crunched memory way too tight in a20 so that it crashed almost
  2300. instantly.  This should be fixed.
  2301.  
  2302. --- a20 ---
  2303.  
  2304. Fixed a bug in the message area, if the user said 'yes', quote the message
  2305. it would work fine, if they said, NO, it would crash the BBS.
  2306.  
  2307. Fixed a bug in the user editor, if the sysop edited the users offline
  2308. mail tags it would never save them.
  2309.  
  2310. Restructured the way the BBS software starts up it's nodes.  It should be
  2311. a LOT faster now.
  2312.  
  2313. Found a huge, nasty, major bug in the events system!  This has been there
  2314. a while and can easyly account for random traps, OS/2 system crashes,
  2315. system hangs, a long long list of possible problems.  Right now
  2316. the new events system uses the same events.text file, the events
  2317. editor DOES NOT WORK, DO NOT USE IT!!!  Binary event files no longer
  2318. work in this build.  The BBS software will see all events as reset
  2319. after this version starts up so any and all forced events will be
  2320. run again.  However after they have run once everything should act
  2321. and work like the old versions, i.e. only run a forced event once
  2322. within it's time period.
  2323.  
  2324. Shrunk the memory footprint of the BBS software signifigantly, those
  2325. running large node counts will see a dramatic difference in system
  2326. memory usage.
  2327.  
  2328. --- a19 ---
  2329.  
  2330. Fixed a I/O bug that was causing some files to get filled with grunged
  2331. data.  This is one of those bugs that could cause all sorts of
  2332. problems all sorts of places in the software.
  2333.  
  2334. Fixed a long standing bug in the ANSI Metas, wouldn't reset the high
  2335. bit for colors.
  2336.  
  2337. Made some changes to cserver.exe
  2338.  
  2339. Added the rexx function AdeptNodeLink, allows you to link up 2 nodes
  2340. directly to each other.  Could be used for things like allowing
  2341. two players to play doom with each other, transfer files, whatever.
  2342.  
  2343. AdeptNodeLink(NodeFrom, NodeTo);
  2344.  
  2345. Fixed a long standing bug that existed in the mailer,  (At least as
  2346. far back as v0.97) if sending mail to multiple domains it wouldn't
  2347. delete the stray or remaining archives/packets that where sent.
  2348. Now it does.
  2349.  
  2350. --- a18 ---
  2351.  
  2352. Fixed the quite annoying EMSI CRC Failure bug!!!  This within itself
  2353. is grounds for a new release.   I also made some changes that should
  2354. fix some of the EMSI timouts several have complained of.
  2355.  
  2356. The /ignorecrc option is no longer available.
  2357.  
  2358. Fixed a bug in reply quoting with external editors.
  2359.  
  2360. Fixed the last few bugs in menucvt.cmd, it should really only be run
  2361. once, it can be run as many times as you want.  It now propely
  2362. converts all menus.
  2363.  
  2364. Fixed smtp and nntp posting from QWK and BlueWave.
  2365.  
  2366. --- a17-r2 ---
  2367.  
  2368. Added support for the dorinfo1.def drop file.  It will put the file
  2369. dorinfo1.def into the System\line# sub-dir.  This follows the base
  2370. dorinfo style format, no additional extentions.
  2371.  
  2372. --- a17 ---
  2373.  
  2374. The BBS will now create a msgtmp file in the .\System\Line# sub-directory
  2375. for external editors to use for users who want to quote their messages.
  2376.  
  2377. The BBS wasn't running extle.cmd if the user has line editor chosen
  2378. it would run extfse.cmd, this is fixed.
  2379.  
  2380. The BBS wasn't running the external editors if the message was a
  2381. reply, this is also fixed.
  2382.  
  2383. NewCLNT.cmd now works as a complete replacement for the internal
  2384. chat.  I also added some better feedback and the tab key will
  2385. redisplay what you last typed if you press it.  I sugest you
  2386. use this, I will be adding more and more features as the builds
  2387. go on!
  2388.  
  2389.  
  2390. --- Example use of AdeptSysChatMsg ---
  2391.  
  2392. /*
  2393.    This will annouce a users logon to the entire system  if placed in your
  2394.    atstart.cmd
  2395. */
  2396. ARG line
  2397.  
  2398. UserName = AdeptGetvar(line, 1)
  2399. UserNode = Line
  2400.  
  2401. SendString = '{FC--- {FGSystem Message {FC---{FG' || UserName ||' {FChas logged on to node {FG' || UserNode
  2402.  
  2403. AdeptSysChatMsg(line, SendString)
  2404.  
  2405. /* End Logon Notice Sample */
  2406.  
  2407. /*
  2408.    This will annouce a users logoff to the entire system  if placed in your
  2409.    atend.cmd
  2410. */
  2411. ARG line
  2412.  
  2413. UserName = AdeptGetvar(line, 1)
  2414. UserNode = Line
  2415.  
  2416. SendString = '{FC--- {FGSystem Message {FC---{FG' || UserName ||' {FF has logged off node {FG' || UserNode
  2417.  
  2418. AdeptSysChatMsg(line, SendString)
  2419.  
  2420. /* End logoff notice sample */
  2421.  
  2422. Fixed a bug in AdeptSysChatPrivMsg, if the message was to node 0 it
  2423. wasn't ever sent.
  2424.  
  2425. Changed the syntax of AdeptSysChatInput
  2426.  
  2427. AdeptSysChatInput(line, "BUFFERNAME", AbortKeyList, InputText);
  2428.  
  2429. KeyList is a optional command.  If you don't pass it a KeyList and the
  2430. user presses enter on a line it will return 1, if you pass it a keylist
  2431. and the user presses enter it will return 1, for all other keys
  2432. pressed it will return their ascii value.
  2433.  
  2434. The keylist should not contain the ascii numeric value for a key but the
  2435. actual ascii key itself.  I.E. Ascii 3, ^C would be a heart.
  2436.  
  2437. If InputText is passed it will place it in the users buffer as if
  2438. they had typed it.  They can backspace over it and delete the
  2439. text passwed to the buffer.
  2440.  
  2441. AbortKeyList and InputText are optional, you don't need to pass them
  2442. for AdeptSysChatInput to work.
  2443.  
  2444. I forgot to document that AdeptSysChatInput returns a 1 if all is well
  2445. and the user pressed enter.
  2446.  
  2447. I also forgot to document that it can return LOSTCARRIER if the user
  2448. has dropped carrier.
  2449.  
  2450. Adept SysChatInput also now properly returns if the user has timed
  2451. out instead of LOSTCARRIER, I also added a new return code:
  2452.  
  2453. IRC_IDLETIMEOUT if the user idle's out
  2454.  
  2455.  
  2456. Added a new meta {ZZ don't convert any metas in this string past this
  2457. one.
  2458.  
  2459. Fixed several bugs related to the chat server.
  2460.  
  2461. The BBS wasn't running the the EXTFSE.CMD or LEFSE.CMD on replies, fixed.
  2462.  
  2463. I also stopped caching EXTFSE.CMD, EXTLE.CMD and MSGTOUSEON.CMD.
  2464.  
  2465. --- a16 ---
  2466.  
  2467. Fixed a few bugs in the menucvt.cmd file, it will not work from any
  2468. drive/sub-directory.  (Thanks to Jewie for the changes).
  2469.  
  2470. The AdeptInitRexx(line) command is REQUIRED in order to use the
  2471. following functions.
  2472.  
  2473. Constants such as the IRC_NOTIMELEFT are defined via this command so
  2474. if you don't use it you won't be able to use the system constants.
  2475.  
  2476. The IRC in the IRC_ constants stand for Input Return Code, NOT Internet
  2477. Relay Chat.
  2478.  
  2479. Added a new rexx function AdeptSysChatMsg(line, Text)
  2480.  
  2481. You format how the text is to be displayed to the remote user.  Please
  2482. use the {COLOR metas or ascii users will get ansi if you put it in the
  2483. Text.
  2484.  
  2485. This can be used for annoucements such as User so and so has logged on
  2486. via node such and such.  Be creative.
  2487.  
  2488. RetC = AdeptSysChatInput(line, "BUFFERNAME")
  2489.  
  2490. The above function will return 1 if all is well and the user pressed
  2491. return.   It can also return any of the below constants.
  2492.  
  2493. A function very similiar to AdeptInput except specificly designed to
  2494. be used with multi-node chat.
  2495.  
  2496. The IRC constants are:
  2497.  
  2498. LOSTCARRIER if the carrier had been dropped.
  2499.  
  2500. IRC_NOTIMELEFT if no time is remaining.
  2501. IRC_LOCKEDOUT if the sysop locked the user out.
  2502. IRC_MORON if the system hit the moron key.
  2503. IRC_REPROMPT to request a redraw of the prompt or screen.
  2504. IRC_ENDSYSOPCHAT if the sysop broke into chat and just ended it.
  2505.  
  2506. IRC_IDLETIMEOUT if the user idle's out
  2507.  
  2508. IRC_CHATWAITING if a chat message is waiting to be processed.
  2509. IRC_CHATDOWN if the chat server went down.
  2510.  
  2511.  
  2512. "Buffer" would be the variable name to place what the user typed on the
  2513.          input line.
  2514.  
  2515. RetC = AdeptSysChatGetMsg(line)
  2516.  
  2517. Ok, this command was extreanly complex, so I decided to symplify it as
  2518. best as possible.
  2519.  
  2520. You call this when you receive a IRC_CHATWAITING.
  2521.  
  2522. It will Return
  2523.  
  2524. 0 - Didn't receive a packet or bad packet
  2525.  
  2526. 1 - Received a chat packet that doesn't have a chatmsg attached
  2527. 2 - Received a chat packet that does have a chatmsg attached
  2528. 3 - Received a chat packet that does have a chatmsg with a chat data
  2529.     packet attached.
  2530.  
  2531. Instead of having you pass a bazillion variables I automatically stuff
  2532. the variables for you with the data and known names.
  2533.  
  2534. The variables are
  2535.  
  2536. The following are set if the return code is 1
  2537.  
  2538. PKTTYPE   - Packet type definitions follow.
  2539.  
  2540.            100 - Standard Public Conference Message
  2541.            101 - No Prepended Public Conference Message
  2542.            102 - Private message to anouther user/node
  2543.            103 - Invite a user to a channel
  2544.            104 - Leave chat
  2545.            105 - System Global Message to all no matter where
  2546.  
  2547. PKTSERIAL - Packet Serial Number (Currently the time it was sent)
  2548. PKTCRC    - 32 bit CRC of the ChatMsg if one it to be sent for
  2549.             validation of the chat message.
  2550.  
  2551. The following are also set if the return code is 2
  2552.  
  2553. CHATMSGFROM     - User or Node number the chat message was from.
  2554. CHATMSGFLAGS    - Flags for the message (Currently unused)
  2555. CHATMSGSCRAMBLE - Scramble code for the message, I.E. Only those with the
  2556.                   same code set can see it.
  2557. CHATMSGTO       - Who the message is to. If blank, it's considered to be
  2558.                   a public style message for use public chat.
  2559.  
  2560. The following are also set if the return code is 3
  2561.  
  2562. CHATMSGDATALEN  - Length of the data.
  2563. CHATMSGDATACRC  - CRC of the Data.
  2564. CHATMSGDATA     - The data, usually the chat messages text, could be
  2565.                   binary if you so desire.  4k limit.
  2566.  
  2567. RetC = AdeptSysChatJoinConf(line, ConferenceName)
  2568.  
  2569. 0 = Join Not Successful
  2570. 1 = Access Denied to Channel
  2571. 2 = Channel Joined
  2572.  
  2573. RetC = AdeptSysChatLeaveConf(line)
  2574.  
  2575. Returns 1 every time.
  2576.  
  2577. If the user is in Conference name it will remove the user from the
  2578. conference.
  2579.  
  2580. RetC = AdeptSysChatPubMsg(line, Message Text)
  2581.  
  2582. 0 = Message wasn't sucessfully sent misc error
  2583. 1 = Message was sent
  2584.  
  2585. The user must be a in a conference for others to see the message
  2586. or it will just go into limbo.
  2587.  
  2588. RetC = AdeptSysChatPrivMsg(line, Node, Message Text)
  2589.  
  2590. 0 = Message wasn't sucessfully sent mirc error
  2591. 1 = Message was sent
  2592.  
  2593. If the user is not on a particular node it will also go into
  2594. limbo.
  2595.  
  2596.  
  2597. RetC = AdeptSysChatCustomMsg(line, PktType, To, Message)
  2598.  
  2599. 0 - Syntax error
  2600. 1 - Sent to server
  2601.  
  2602. AdeptSysChatCustomMsg allows you to send messages to the user that you
  2603. can parse via the rexx AdeptSysChatGetMsg.  This allows you to add new
  2604. chat options, functions and types.  You cannot specify a type below
  2605. 1000, all types MUST begin with 1001 or higher, the bottom 1000 are
  2606. reseved for system use.  You can have fun with this.
  2607.  
  2608. RetC = AdeptSysChatUserConnected(line)
  2609.  
  2610. Return Codes are:
  2611.  
  2612. 0 - Syntax Error
  2613. 1 - User connected
  2614. 2 - User not connected
  2615. 3 - Server down, obviosly the user is not connected.
  2616.  
  2617. Checks to make sure the user is properly connect to the chat server.
  2618.  
  2619. RetC = AdeptSysChatConnectUser(line)
  2620.  
  2621. Return Codes are:
  2622.  
  2623. 0 - Syntax error
  2624. 1 - User connected with server
  2625. 2 - Failed to connect user to server
  2626. 3 - Server unavailable
  2627.  
  2628. Will connect/sign up a user with the chat server.
  2629.  
  2630. RetC = AdeptSysCheckForServer(line)
  2631.  
  2632. Return Codes are:
  2633.  
  2634. 0 - Syntax error
  2635. 1 - Server not available
  2636. 2 - Server available
  2637.  
  2638. Checks to make sure the chat server is available.
  2639.  
  2640. RetC = AdeptSysChatReconnectUser(line)
  2641.  
  2642. Return Codes are :
  2643.  
  2644. 0 - Syntax error
  2645. 1 - User connected to server
  2646. 2 - Failed to reconnect user
  2647. 3 - Sever not available
  2648.  
  2649. ChatReconnectUser should only be used to reconnect a user to the chat
  2650. server after it has gone down and the user was chatting in a conference.
  2651.  
  2652. RetC = AdeptSysChatMessageWaiting(line)
  2653.  
  2654. Return Codes are:
  2655.  
  2656. 0 - Syntax Error
  2657. 1 - There is a chat message waiting
  2658. 2 - Error User Not Connected
  2659. 3 - Error Server is Down
  2660.  
  2661. The BBS software makes calls to only one function to check to see
  2662. if a user has chat messages waiting.
  2663.  
  2664. If the file CHATREAD.CMD exists in the menus sub-directory for the
  2665. particular language the user has chosen it will execute that script
  2666. instead of the internal BBS function for displaying the message
  2667. to the user.
  2668.  
  2669. This allows you to customize the chat system from anywhere in the
  2670. BBS and not just make your own chat client/system.
  2671.  
  2672. The file chatread is not called if there are messages and your are
  2673. using the adeptchatinput function.  It is called while you are
  2674. using any other adept input or system function.
  2675.  
  2676. The BBS Software will now look for the file EXTFSE#.CMD or EXTLE#.CMD
  2677. before loading the full screen or line message editor.  If the file
  2678. exists it will execute it instead of the internal editors.  If the
  2679. MSGTMP file in the users \Adept\System\Line# sub-directory doesn't
  2680. exist it considers the message as aborted, failed, etc.
  2681.  
  2682. YOU MUST HAS A SEPERATE .CMD FILE FOR EACH NODE.
  2683.  
  2684. The BBS will now execute (if exists) the .CMD file MSGTOUSERON.CMD
  2685. when a message is posted by anouther user on the BBS to anouther
  2686. user on the BBS.  You can this use this command file to notify
  2687. the reciepient that they have new mail waiting.  I also added
  2688.  
  2689. {DA Who the message was to
  2690. {DB The Message Subject
  2691. {DC Area name message was posted to
  2692. {DD Node number of receipient
  2693. {DE Area number the message was posted to
  2694.  
  2695. A sample MSGTOUSERON.CMD is included along with this readme.
  2696.  
  2697. A sample newclnt.cmd is included with this readme as well.
  2698.  
  2699.  
  2700. The Q or q keys no longer cause cserver to quit, only ESC works now.
  2701. Fixed pgdn.
  2702.  
  2703. Fixed a bug in {PQ
  2704. You must also add {PQ to the end of prompt #336 for it to work properly.
  2705.  
  2706. If an event was set to reboot the machine it wouldn't, fixed.
  2707.  
  2708. --- a15 ---
  2709.  
  2710. Fixed a bug where the system would overwrite the first user record
  2711. if the user hung up durring new user login.
  2712.  
  2713. Added some EMSI crc debugging.
  2714.  
  2715. {PQ - Displays press any key to continue if the displayed amount of lines
  2716.       is more then the users screen length.
  2717.  
  2718. Fixed Menu Type 7's when called from a .menu file.
  2719.  
  2720. Menu type 6 was also broken when called from a .menu file.  It too
  2721. is fixed.
  2722.  
  2723. Found and fixed the cserver.exe DosCall1.DLL Trap.
  2724.  
  2725. Added a new line to language.text, item #435, User currently not
  2726. available for chat.  I.E. Writing a message or marked as busy.
  2727.  
  2728. CServer now supports the display of up to 32 nodes.  Actually
  2729. Cserver has no actuall limit on how many people are in chat, I just
  2730. haven't written the display code to match the complete capabilities
  2731. of the chat server.
  2732.  
  2733. Press Page Down for the second page nodes 17 - 33; Page up for the
  2734. previous list.
  2735.  
  2736. The ESC key or Q key will quit the chat server instead of having to
  2737. press ^BREAK anymore.
  2738.  
  2739. Changed the way cserver updates it's screens.  I'm now working on making
  2740. cserver faster/more effiecient.
  2741.  
  2742. Multithreade chat handling has been turned back on in CServer.  This
  2743. should speed it up considerably.
  2744.  
  2745. The way multinode chat in both the BBS and cserver have been changed
  2746. to allow faster/cleaner support of the chat system.
  2747.  
  2748. a14
  2749.  
  2750. Added checking for grunged file and message area config files.
  2751.  
  2752. Added some more carrier protection for the main BBS thread.
  2753.  
  2754. Fixed two seperate problems with carrier detect.  When a new user
  2755. logged into the BBS it would automatically set carrier detect checking
  2756. to off.  Oh joy.
  2757.  
  2758. In the message editor, there where some instances where carrier detect
  2759. wouldn't work properly.
  2760.  
  2761. While working on the carrier detect code I added better support for
  2762. carrier detect to the menu system.
  2763.  
  2764. Added a new menu type, 1002.  Logoff and Relog on.
  2765.  
  2766. This will display prompt #935 (currently unused) and display the
  2767. file Relogin.Asc/Ans/Avt to the user before commencing with the
  2768. relogin.  This is a COMPLETE logoff with relogin, except that it
  2769. doesn't drop carrier.  ATEND.CMD will be run, etc.  I have added
  2770. two new rexx function functions.
  2771.  
  2772. AdeptSetRelogin(line, TRUE/FALSE) - Tells the BBS to relog the user back
  2773.                                     on after logoff is completed.
  2774.  
  2775. AdeptCheckForRelogin(line) - Will return 1 if the user is requesting a
  2776.                              relogin after logoff.
  2777.  
  2778. Fixed several message area list/find bugs.
  2779.  
  2780. Fixed several bugs in QWK/Blue Mail Export.
  2781.  
  2782. -- Begin a13 Changes --
  2783.  
  2784. Lets hope this baby is lucky 13!
  2785.  
  2786. The auto password generation feature is no longer in existance, it was
  2787. quite annoying lots asked that it be removed, it's done.
  2788.  
  2789. Adept now has a FTP server built into the BBS software.  This is the
  2790. first alpha that it is available.   Users log into the server with
  2791. the name that they use on the BBS.  If you wish to allow Anonymous
  2792. users you need to create a account on the BBS called Anonymous.
  2793.  
  2794. The server will user the Anonymous accounts settings in order to
  2795. decide what areas and files the user has access to.
  2796.  
  2797. The server ALWAYS has an exception handler guarding it for now
  2798. since it is alpha.   Uploading of files is not permitted with
  2799. this build of the server for security reasons.
  2800.  
  2801. There is a new tag FTPNAME in the file area editor.  It allows you
  2802. to define the name of the directory shown to represent that area
  2803. on the server.  If you don't put a name it will use the area name
  2804. but I sugest you use a name, all lower case, 8 chars or so in
  2805. length instead of the area name (it could be the area name if you
  2806. wish).
  2807.  
  2808. I will be adding features to the server like for the root dir to auto
  2809. create a file called dir.lst that will basically be the 'area' list
  2810. used in the BBS that they can ftp.
  2811.  
  2812. I also plan on building file lists on the fly that they can ftp off
  2813. the server just like listing files from the BBS.  I will also
  2814. extend the server to allow users to be assigned standard file
  2815. directories that they can access but that is still a few weeks
  2816. off.
  2817.  
  2818. The server will honor users time and file and age limits.
  2819.  
  2820. To start the ftp server add the /FTP command line option to
  2821. Adept.  Adept.exe /ftp
  2822.  
  2823. Ok, next more good news.
  2824.  
  2825. I think we got the cserver bug!  It was NASTY taking out the whole
  2826. damn operating system.  It's a bug in the design of IBM's TCPIP
  2827. stack that we where causing to expose itself.  It shouldn't
  2828. happen any longer.  If this build of cserver is clean I will
  2829. start adding lots of new functions to it. :)
  2830.  
  2831. I did fix a logout of chat conference bug that has been there since
  2832. build #1, if a user left a conference it still showed he/she in
  2833. the conference as if they didn't leave, now it removes them.
  2834.  
  2835. There where several other minor bugs in the BBS software that I
  2836. also fixed.
  2837.  
  2838. Fixed named pipes, appearently I broke em when I did the I/O redesign
  2839. several builds back.
  2840.  
  2841. -- end a13 Changes --
  2842.  
  2843.  
  2844. -- Begin a12 Changes --
  2845.  
  2846. Found a MAJOR bug in the BBS software.  Several sysops have reported that
  2847. adept hasn't been saving offline mail tags for users.  This was only
  2848. a minor bug caused by a major problem.
  2849.  
  2850. Is the design of the BBS software it relied on every user being assigned
  2851. a unique user number.  This number was tied to the their location in
  2852. the user file.  Well over the years it was untied in order to allow
  2853. more flexable use of this number field.  Well in doing so, in some
  2854. builds of adept the number was probably never updated, I know we
  2855. don't change it past the initial logon of the user, but this has
  2856. had to change with a12.  So much is coupled to this that it's amazing
  2857. this hasn't shown up before.
  2858.  
  2859. This bug will manifiest itself in several possible ways.  Offline tags
  2860. not being saved.  User files not being saved.  Users records not being
  2861. properly updated, including call times, time on-line, etc.  LMR's
  2862. not being properly saved or being wrong.
  2863.  
  2864. Fixed the user based number bugs.
  2865.  
  2866. I also included a file called msgfile.zip.  If you are running cserver
  2867. unzip this archive into your adept sub-directory or the same directory
  2868. cserver is being run from (cserver can run from anywhere).
  2869.  
  2870. CServer now has extencive exception handling.  This should allow us
  2871. to find out where the little bugger is trapping.  It will
  2872. create a file called CServerTrap.log when it traps.  It should
  2873. continue on without problems if there is a trap, however if more
  2874. then 5 traps accure the program will exit with a error level
  2875. of 1 and you can restart it.  I sugest running it from a .cmd
  2876. file that restarts it automatically.
  2877.  
  2878. The BBS software will now auto-reconnect you when you are in a chat
  2879. conference when the server goes down, it will now also auto-rejoin
  2880. the channel you where in along with sending the last message you
  2881. typed in.  If you are sitting idle it will inform you that the
  2882. server has gone down and try to reconnect the user.
  2883.  
  2884. -- Begin a11 Changes --
  2885.  
  2886. MORE SPEED.
  2887.  
  2888. That should say it all.  The BBS is blazingly fast now.  I have made
  2889. changes that will affect the ENTIRE system is some cases by factors of
  2890. thousands overall.  These changes do effect almost every aspect of the
  2891. entire BBS's operation.
  2892.  
  2893. Did a major overhaul of the 'new' menu system.  In doing so I also added a
  2894. new 'EMERGENCY ABORT' keystroke.  If a user presses ^A it will
  2895. automatically reset the entire menu system back to the original call to
  2896. the menu system.  This should prevent the possibility of users getting
  2897. 'trapped' in a menu.  I do not believe that this will happen any more but
  2898. I added this option just in case.  The ^A should be a usable keystroke for
  2899. any user comming in on any type of connection.
  2900.  
  2901. The users current location should now be properly displayed.  Also check
  2902. out the 'NEWLOCATION' keyword for menu items. :)
  2903.  
  2904. The following Menu Functions are available.
  2905.  
  2906. BEGINMENU - Mark the begining of a menu.
  2907. ENDMENU   - Mark the end of the a menu.
  2908.  
  2909. Everything before and after the above are ignored by the menu parser.
  2910.  
  2911. PROMPT        - Menu Prompt Text
  2912. PROMPTCOLOR   - Menu Prompt Color
  2913. DISPLAYFILE   - File to display to users instead of menu item text
  2914. MENULOCATION  - Currently location on the BBS
  2915. MENUFLAGS     - Menu option flags.
  2916.  
  2917. The above options can be anywhere within the BEGINMENU and ENDMENU
  2918. options, but are preferably at the top of the menu to assist in
  2919. readability.
  2920.  
  2921.  
  2922. BEGINMENUITEM - Begin Item Definition
  2923. ENDMENUITEM   - End Item Definition
  2924.  
  2925. All of the below functions are ONLY available within the menu item
  2926. definition.  All of the below are relayed to the 'KEY' keyword.  The
  2927. 'KEY' keyword contains the key that represents the menu item.
  2928.  
  2929. KEY           - Key to assing to the menu item.
  2930. MENUCOMMAND   - Command to execute when the 'KEY' is pressed.
  2931. DISPLAYSTRING - String to display to user when displaying the menu items
  2932.                 along with or without a Display File.
  2933. DISPLAYCOLOR  - Initial color for the display string
  2934. DATAOPTION    - Optional data for the menu command
  2935. MINAGE        - Minimum age allowed to use this command
  2936. MAXAGE        - Maximum age allowed to use this command
  2937. MINSEC1       - Minmum security level (based on users security #1) to use
  2938.                 command
  2939. MAXSEC1       - Miximum security level (based on users security #1) to use
  2940.                 command
  2941. MINSEC2       - Minmum security level (based on users security #2) to use
  2942.                 command
  2943. MAXSEC2       - Miximum security level (based on users security #2) to use
  2944.                 command
  2945. FLAGS1        - User flag comparason for access to this command flags #1
  2946. FLAGS2        - User flag comparason for access to this command flags #1
  2947. GENDER        - Genders (YES, Genders I.E. MFO (Male, Female, Other or
  2948.                 whateever you have defined in the language.text as possible
  2949.                 genders)) allowed to access this command.
  2950. STARTTIME     - Start time that this command becomes available. (24hr)
  2951. ENDTIME       - Ending time that this command becomes unavailable. (24hr)
  2952. MINONLINETIME - Minimum time user is online before they can use this
  2953.                 command.
  2954. MAXONLINETIME - Maximum time a user can be online before command becomes
  2955.                 unavailable.
  2956. MINCALLS      - Minimum calls that the user has made to the BBS before
  2957.                 command becomes available.
  2958. MAXCALLS      - Maximum calls that the user has made to the BBS before
  2959.                 command becomes unavailable.
  2960. MINPOSTS      - Minimum number of messages posted before user can access
  2961.                 this command.
  2962. MAXPOSTS      - Maximum number of messages posted before command becomes
  2963.                 unavailable.
  2964. MINUPLOADS    - Minimum number of uploads needed to access this command.
  2965. MAXUPLOADS    - Maximum number of uploads before command becomes unavailable.
  2966. MINDOWNLOADS  - Minimum number of download needed to access this command.
  2967. MAXDOWNLOADS  - Maximum number of downloads before command becomes
  2968.                 unavailable.
  2969. GROUP         - Group number that the user needs to belong to to access
  2970.                 command.
  2971. PORTFLAGS     - Type of port needed (TCP, Comm, Pipe) to access command.
  2972. NEWLOCATION   - Location to set when user executes this command for
  2973.                 calls to items/functions that do not set the system
  2974.                 location.
  2975.  
  2976. All of the above may exist within a BEGINMENUINITEM/ENDMENUITEM in any
  2977. particular order.
  2978.  
  2979. The rewrite of the comm I/O system handling in v1.08a8 has fixed many
  2980. bugs that have existed in Adept for a few years.  I.E. bad comm ports no
  2981. longer cause adept to crash.
  2982.  
  2983. Fixed several long standing bugs in the BBS's command line parsing.
  2984.  
  2985. I.E. On previous versions of adept if you typed adept /nodes without any
  2986. nodes it would crash, just added some checking.
  2987.  
  2988. The BBS Software no longer crashes after notifying you that it cannot
  2989. allocate the BBS structor if you accidently run two copies of
  2990. adept.
  2991.  
  2992. Menu Item #42 'Who is Online' was not working.  Fixed.
  2993.  
  2994. Fixed No Dialout always being turned on and not saving correctly.
  2995.  
  2996. Fixed No Mailer always being turned on and not saving correctly.
  2997.  
  2998. Put back the 'kludge' to keep random FTS-001 session from crashing
  2999. the software.
  3000.  
  3001. Fixed a bug in menucvt.cmd that was causing the prompt line to be
  3002. placed as if it where the first menu item.  This was causing all
  3003. sorts of problems in the BBS softwares new menu design.
  3004.  
  3005. --- a11 r2 ---
  3006.  
  3007. Wasn't updating the current location at every possible location, like
  3008. returning from a command.
  3009.  
  3010. Fixed a small bug in cserver.exe
  3011.  
  3012. Fixed a bug in menucvt.cmd wasn't saving the menu location keyword
  3013. correctly.  Does now.
  3014.  
  3015. Fixed a bug in the sysop logoff, the BBS still showed the sysop as
  3016. being on-line even after loging off.
  3017.  
  3018. Fixed yet anouther possible cserver.exe trap.
  3019.  
  3020. Added 'auto-reconnect' to the chat system.  If a user types something in
  3021. chat and the server is down it will reconnect to the server and
  3022. send the message automatically.
  3023.  
  3024. --- a11 r3 ---
  3025.  
  3026. Fixed a cosmetic bug in the chat auto-reconnect option.
  3027.  
  3028. Changed several functions that are called from the new user login.
  3029.  
  3030. Also made several changes to the new user login code.
  3031.  
  3032. Added some additional parameter checking to the autoexec menu
  3033. called by the new user login.
  3034.  
  3035. The BBS will now look for newuser##.cmd or newuser.cmd before trying to
  3036. auto execute newuser.menu.  And will call one of the above if found
  3037. in place of newuser.menu.
  3038.  
  3039. Added even more parameter checking to the chat server
  3040.  
  3041. -- End a11 Changes --
  3042.  
  3043.  
  3044. -- Changes previous to a11 --
  3045.  
  3046. VC - Denotes a VisualAge C++ Build
  3047. WC - Denotes a Watcom 386/C++ Build
  3048. CS - Denotes a CSet++ Build
  3049.  
  3050. ------------------------------------------------------------------------------
  3051. AdeptXBBS v1.08a#                     - Copywrite 1993-1996 John Morris,
  3052. --------------------------------------+ Gordon Zeglenski and Steven Tower
  3053.                                       : All Rights Reserved
  3054.                                       +--------------------------------------
  3055.  
  3056. 6/30/96 - Alpha Release -----------------------------------------------------
  3057.  
  3058. This build of AdeptXBBS now includes revision control to allow us to build
  3059. in convertion routiens that activate when a revision upgrade is needed.
  3060.  
  3061. This is the first version of AdeptXBBS build with VisualAge.
  3062.  
  3063. The startup proceedure for the BBS software has been heavely modified
  3064. and should remove any problems that have previously accured with the
  3065. loading of many nodes.
  3066.  
  3067. CPU Usage has been reduced by as much as a 1000 percent when
  3068. idle and waiting for a call.  Overall system performance and
  3069. response time should be faster now.
  3070.  
  3071. When you run the BBS software all conversions will be done for you
  3072. on the fly as it loads.  So just run the BBS as you normally would.
  3073.  
  3074. Please report bugs to Steven Tower, tower@sound.net
  3075.  
  3076. 7/1/96 - Second Alpha Release
  3077.  
  3078. Added a new command line option, /NOUPGRADE.   If you use this command
  3079. line option AdeptXBBS will not upgrade the system directories and files
  3080. to any new formats.  This will allow people with v1.07 to test version
  3081. 1.08 for any startup and simple runtime problems.  It is NOT recomended
  3082. that you run the software in this mode.  Also upgrades caused by
  3083. using the new Usersrvr.dll will not be effected since it's considered
  3084. a seperate program/part of the system.
  3085.  
  3086. 7/6/96 - Third Alpha Release
  3087.  
  3088. Changed the PMIIndex support back to the old \Adept\Personal_Mail
  3089. sub-directory.
  3090.  
  3091. 7/9/96 - Forth Alpha Release
  3092.  
  3093. This buils incorporates all the changes that where in Gordons vac1
  3094. build and then some.
  3095.  
  3096. The memory heap code is no longer used.  It looks like it was
  3097. de-stabilizing on some systems.  You will notice the heap usage
  3098. is at 0.00kb on this build.
  3099.  
  3100. New chat system.  Where do I start... This is a total 100% rewrite of
  3101. the BBS's chat server and a 80% rewrite of the internal chat code.
  3102.  
  3103. FLOODING will no longer crash the BBS software.  If you don't believe
  3104. me log in as 8 different users and upload 100k ascii/bin files into
  3105. the chat and watch it handle it quit nicely.
  3106.  
  3107. CPU efficiency is back up up, some of the pre-a4 alphas where a little
  3108. slugish on some functions.  Response times are up and cpu usage is
  3109. down.
  3110.  
  3111. The new cserver.exe has 1 command line option '/debug' this will write
  3112. out an extencive debug log file to determine where traps accure
  3113. if they do accure.  The chat system inside the BBS should be pretty
  3114. bullet-proof.  All the work has been deligated to the chat server
  3115. and so if anything is going to trap it should be the server not
  3116. the client.  This cserver can be taken on/offline at any time and
  3117. brought up any time while the BBS is in/not in use.
  3118.  
  3119. This chat server (while in alpha) uses IBM's TCPIP as it's connection
  3120. medium,  If you local loopback is setup wrong it will not work.
  3121.  
  3122. If you do not see the following when you type ifconfig lo on your command
  3123. line, your loopback is not setup correctly.
  3124.  
  3125. [C:\]ifconfig lo
  3126. lo: flags=809<UP,LOOPBACK>
  3127.          inet 127.0.0.1 netmask ffffff00x
  3128.  
  3129. If you are running warp connect you can add the line
  3130. ifconfig lo 127.0.0.1 to your \mptn\bin\setup.cmd
  3131.  
  3132. if you are running other versions of OS/2 you can
  3133. add 'ifconfig lo 127.0.0.1' to your startup.cmd.
  3134.  
  3135. The server has no limit to the number of users.
  3136.  
  3137. There was a bug with new users joining a chat area while text was
  3138. being piped to other users, it would cause a trap, this is now
  3139. fixed.
  3140.  
  3141. Known Bugs: If two people log on with the same name the server
  3142.             will trap.  This can only happen on the local and a
  3143.             remote node it's not possible on two remote nodes.
  3144.  
  3145. Tis' all.
  3146.  
  3147. 7/12/96 - Alpha Release #5
  3148.  
  3149. READ READ READ READ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  3150.  
  3151. The MENU SYSTEM HAS BEEN REWRITTEN!!!!!!
  3152.  
  3153. Included:  MenuCvt.CMD    -  this command file will convert your .menu
  3154.            files to the new format, it will rename your old .menu
  3155.            files to .menu.old.  You MUST run this or AdeptXBBS v1.08a5
  3156.            will not understand your menu structor!!!
  3157.  
  3158.            Run MENUCVT.CMD in your \adept\menus sub-directory.  It
  3159.            will parse all menus in the sub-directory, it can be
  3160.            run more then once it will not convert already converted
  3161.            menus.
  3162.  
  3163. This copy of Adept.EXE contains all of Gordon's Vac1 changes, plus some
  3164. major changes to the Comm Handling that should make adept more efficient
  3165. and a little more robust.  Menu execution times should be greatly improved
  3166. with this version of Adept.  Please report any bugs to tower@sound.net
  3167. or in the #Adept channel on IRC.
  3168.  
  3169. This build REQUIRES all files that are included in the archive.
  3170.  
  3171. This build doesn't change the way .PMI's are stored so no utilites should
  3172. be effected by any changes in this build.
  3173.  
  3174. This fixes numerious bugs in the Menu System, hence the rewrite.
  3175.  
  3176. Fixes the .ERX crashing bug.
  3177.  
  3178. Fixes several possible traps in the comm i/o handling.
  3179.  
  3180. I'm going to start redocumenting the Metas because it's obvious that all
  3181. are not documented.
  3182.  
  3183. {S0 - Number of Calls to The BBS
  3184. {S1 - Minimum Age Required to Access BBS
  3185. {S2 - Maximum Age Required to Access BBS
  3186. {S3 - Maximum Users Allowed in Userbase
  3187. {S4 - Maximum Password Attemps Allowed
  3188. {S5 - Maximum TImes Sysop can Be Paged
  3189. {S6 - BBS's Name
  3190. {S7 - BBS Sysop's Name
  3191. {S8 - Current Baud Rate
  3192. {S9 - AdeptXBBS Version String!
  3193.  
  3194. -END Current Readme -
  3195.  
  3196. 7/12/96 - Quick Fix, Decided NOT to change the revision number.
  3197.  
  3198. USENET Newgroups don't work correctly under Vac2 or 1.08a5.
  3199.  
  3200. This revision fixes the problem
  3201.  
  3202. 7/13/96 - Alpha Release # 6 - More changes to the menu system.
  3203.  
  3204. The menu system is basically done as far as support for all old
  3205. functionality is concerned.
  3206.  
  3207. The only support not currently finished is the security options.
  3208. Gender, Time, Credit and Port Checking is not yet implemented.
  3209.  
  3210. Support for AutoExec menus is working, I totally forgot that the new
  3211. user login used a AutoExec'd menu.  Sorry folks. :|
  3212.  
  3213. The new menu system should be at least 100% faster then the old
  3214. design.
  3215.  
  3216. Limitation that existed in the old menu system no longer exist,
  3217. nested menus, aka go-sub'd menus are no unlimited before you
  3218. where limited to 18 gosubs.  The number of menu items supported
  3219. is now unlimited.
  3220.  
  3221. I haven't had any bug reports when it comes to the menucvt.cmd
  3222. file, nice to see something works the first time around. :)
  3223.  
  3224. The current menu system is now a 100% total rewrite of the previous
  3225. design.  With this new design I plan on adding a built in menu
  3226. editor to the BBS software.  Can we say 'yah'.
  3227.  
  3228. I have changed the way the clear all gosubs command works.  In
  3229. the original menu design (and currently with this one, however
  3230. it will not be the case in a week), when a user gosubs a menu
  3231. and then returns and their configuration has changed when they
  3232. return to the previous menu, that menu is only aware of their
  3233. previous configuration.  The clear all gosubs also clears out
  3234. all previous configuration states for the user and will reset
  3235. the main menu to the new configuration.  So I recomend that on
  3236. your configuration screen instead of using the return to
  3237. previous menu option that you use the clear all gosubs and
  3238. return to the main menu, this will make sure that the new
  3239. configuration will take effect immeadiately.  Somewhere around
  3240. a7-a8 configurations will be dealt with on the fly.
  3241.  
  3242. I made some DRASTIC changes to the ansi display routiens.  We should
  3243. see roughtly a 200+% speed increase and at the same time a reduction
  3244. in system usage load when displaying a ANSI/Ascii or Avatar screen.
  3245.  
  3246. You can now DELETE users!!! The delete button works properly.  BE WARNED
  3247. the second you click on the DELETE button that user is GONE FOR GOOD!
  3248.  
  3249. There is no clicking it again to undelete the user.
  3250.  
  3251. If you mark a user for deletion while they are on-line it will
  3252. delete the user the second they log off.
  3253.  
  3254. 7/13/96 - Alpha Release #7
  3255.  
  3256. Fixed bugs that where created by the new ANSI/Ascii/Avatar display code
  3257. and even tweeked a little more speed out of it in the process.
  3258.  
  3259. Added a new /ignorecrc command line, this is a KLUDGE and will not
  3260. be in the release version (hopefully not in the next version) but
  3261. it will ignore a bad crc duurring EMSI mail sessions, this will
  3262. allow EMSI mail sessions to work again.
  3263.  
  3264. Changed menucvt.cmd it was not taking into account the menu flags
  3265. and current location options on the first line properly.  Please
  3266. copy your *.old files to *.menu and rerun the utility.  It will
  3267. fix the missing locations people have been reporting.
  3268.  
  3269. As with the Vac2 build this .exe will only run under OS/2 Warp and
  3270. Above.
  3271.  
  3272. Fixed several bugs in Cserver.exe.
  3273.  
  3274. Back to the old 'new' message area load code, the bug that caused me
  3275. to have to revert back to the old old code no longer exists and the
  3276. message areas now load properly.  Stupid typo. :|  This new code
  3277. will load message areas faster.
  3278.  
  3279. Menu prompts now display, in the last few versions you didn't get them
  3280. at all.
  3281.  
  3282. Menus are automatically recompiled by the system durring runtime if
  3283. a change has been made in the .menu file sine the last .bin build.
  3284.  
  3285. 7/14/96 - Alpha Release #8
  3286.  
  3287. There is a /ignorecrc option, this is appearently needed to make
  3288. EMSI mail session work.  When this bug is fixed it will be
  3289. mentioned in the readme.
  3290.  
  3291. Also several sysops have reported odd I/O activity with AdeptXBBS running
  3292. on COM4.  The I/O addresses for COM4 are used by some video cards, you
  3293. will find that the problem will go away if you change to a different
  3294. comm port.
  3295.  
  3296. There have been some drastic changes to the way Adept handles Opening and
  3297. Closing of the Comm Ports, I have also totally revised the way adept
  3298. handles dropped carriers.
  3299.  
  3300. 7/15/96 - Alpha Release #9
  3301.  
  3302. Fixed several bugs in the carrier handling code.
  3303.  
  3304. 7/16/96 - Alpha Release #10
  3305.  
  3306. Fixed the {PB meta, no longer displays {PB after the press any key
  3307. prompt.
  3308.  
  3309. Fixed the display of meta commands in the login.asc/ans file.
  3310.  
  3311. Fixed the No Outbound always being checked bug.
  3312.  
  3313. Fixed F3 hangup on user, it no longer traps the BBS.
  3314.  
  3315. Fixed traps when running doors.
  3316.  
  3317. Fixed the Users Online Meta.
  3318.  
  3319. The Line Status Window's Current Info now matches the Status Screens current.
  3320.  
  3321.