BinkleyTerm-ST 3.03 ------------------- Updates since 3.02a Detailed in reverse chronological order (newest first) A: Version naming policy ------------------------ 3.02a/beta-1,PureC ^ ^^^ ^^^^^^ ^^^^^ | || | | | || | | | || | | | || | | | || | \-- Compiler used to compile this version | || | (e.g, Lattice, PureC, TurboC) | || | | || \-- Beta Test revision (Beta Versions only) | || | |\---- Release revision, updated for releases with bugfixes only. | | | \----- Minor Version, updated for releases with new features | \-------- Major Version, updated for major changes New versions in which the major or minor version have changed (new features or important bug fixes) , will be hatched into the ADN ST_BINK and AFN AST-BINK file echos. Versions where only the release revision has changed (small bug fixes) will be available for FREQ'ing from myself and national support nodes and an announcement made in the BINKLEY.ST echomail area. Beta Versions will be made available only to Beta Testers. B: Comments ----------- Please note that my FidoNet address has changed to 2:255/355. I don't intend to spend much more time working on BinkleyTerm, so that I can write my own mailer. Any proficient C programmer with lots of spare time is very welcome to take over development! Please send any comments and bugreports NOW to Joerg Spilker on 2:245/96 or 90:4/0. Version after 3.02a/Beta-7 will come from me until SteVen will be back. C: Changes (newest first) ------------------------- /===================================\ / \ < Version 3.03a: > \ / \===================================/ | | {ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ}--------------------------------------. { 3.03a : 30 December 1992 } {___________________________________}______________________________________. | | 1. Fixed bug which causes a crash when TZ was set in the | environment. All people living west of Greenwich can now | specify a negative offset like GMT-6. | | 2. Fixed bug which prevents 'immediate call requested' from work | in some cases when using CallSlots. | | 3. Other handling of Crashmail in events with active CallSlots. | If the event isn't a CM event at the same time, then only | mail to nodes which the proper Slot in the key line is send. | In Beta-8, also Crashmail to other nodes would be send. | | A CallSlot for some node will now override a NO_CM capability | of this node. (The same as if you define the M flag for this | event). | | 4. New fast assembler routines for RS232 handling. It speed up | sending data up to 3000cps (with a normal ST, DTE 38400 baud) | | I hope it works on every configuration (Testet with ST and TT), | because I don't use BIOS-Trap (it makes it very slow) for | RS232. Instead I use the vector on $562 (Bconstat) and | $582 (Bconout). | Uwe Zerbe | | | Seems to cause some problems with the clock. After a poll of | 25 minutes, my clock lost 5 minutes. | | 5. Modified fax interface to support the QFAX recieve module. You | had to specify some data in your configuration file, which is | then passed to QFAX. | | FaxBuffer | | The standard buffer length will be 180000 Bytes. Binkley allocates | the buffer after detecting an incoming fax call. | | FaxInbound | | Path where QFAX stores the recieved fax images. The default | inbound path is the actual directory. | | Modemtype | | Rmodemtype | | Following numbers are possible for Modemtype | (type of fax modem) : | | 0 : SIERRA | 1 : PROMODEM | 10 : CLASS2 | | Following numbers are possible for RModemtype | | 0 : EXAR | 1 : PROMODEM | 10 : CLASS2 | | Doesn't work in the moment. The RCVFAX program is called properly | but returned with error code -1 which means GENERAL ERROR. | | 6. NoFullscreen now really works. | | 7. Calling a node for which you have defined a phone number in the | key lines but with no entry in the nodelist now doesn't show some | curious system name which was left in the nodelist buffer. Instead, | Binkley displays "Unknown BinkleyTerm system". | | 8. Binkley now takes the correct assumed address when polling nodes. | For example: If you've an address like 51:510/102 and you're | polling 51:501/100, Binkley present your AtariNet address first. | | This works in former versions like 3.02a. | | 9. Compiled with the new PureC update. Like the Lattice version, | this version can now handle CTRL-C keypresses because of the | support of the signal() system call in the PureC update. | |10. Binkley now also handles JetMail direct mailpackets (named DPT, | DAT, DFT, DRT). | | Changed the handling of direct mail. Older versions of Binkley | handles direct in the same way as normal. Now direct is something | like immediate. Binkley will send the mail even if no crashmail | event is active and the node hasn't the CM flag set. | |11. Functionsrequests now also handle IOS Flowfiles QFT and OFT for | sending back files in the same session. | |12. Fixed bug when using domains in key lines (overwrites parts of | the internal linked list with the keys). | {ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ}--------------------------------------. { 3.02a/Beta-8 : 17th September 1992} {___________________________________}______________________________________. | | 1. Some Tranx bugs fixed: | | a) When matching the polling systems number with the list of | Tranx nodes, the pointnumber of the polling system wasn't | taken into account. If a point of some of the Tranx systems | polled, our system time was set :-( | | b) Hopefully, the one/two/or three our difference problem | is solved. Put a | | TimeZone GMT+x | | line into your configuration file. For germany this will be | GMT+2 (and GMT+1 later in the year). | | or set TZ=GMT+x in your environment. | | Please note, that parsing this line is very stupid. It just | converts the string after 'GMT+' into a long decimal. | | After setting the correct timezone, all times from PC nodes | are two hours in the future. Maybe because the TZ setting on | this systems is not ok. You could put a correction factor in | the Tranx lines for this nodes. | | [+|-]number!node | | Example: Tranx -2!2:240/36 | | 2. Implemented new feature for controlling polls (better than the | method with costs and changing the mailflow). | Put the Keyword 'UseCallSlots' into your configuration file. | But please remember, because i had to use the cost field of | the nodelist structure for this, the cost field in the | outbound window will be 0 forever. | | Put a &x (where x is any alphanumeric character) into the Key lines | after the password: | | Key !abcdef &b 90:6000/106.2 | | Complete your Event file with lines like this: | | Event All 20:00 21:00 S N D A=10 T=2,30 P=string | -------- | string is a sequence of alphanumeric characters up to 32 chars. | | Now in the above event, Binkley will only call those nodes with &x | character matches one of the characters in the 'string'. | | IMPORTANT NOTE: All systems with no &x definition (usually the rest of | the nodelist) will not be polled for normal mail. | | Because the format of the BINKLEY.SCD file has changed, all forced events | will be started again when using Beta-8. It is a good idea to delete | an existing BINKLEY.SCD file before running this version. | | | 3. Added feature to call a fax recieving program when the modem responses | CONNECT FAX or FCON. The program to call is defined by the configuration | entry: | | Fax full_path_and_name_of_program | | The check is done before strings for the external mailer | interface are checked. This should solve problems with | the MNP_Filter who seems to filter also the "ZyXel" string | send by this modems after the CONNECT FAX message. | | Note: At the moment, no fax programs seems to be able to | deal with an active carrier. | | Because i've an USR DS this feature isn't tested!! | | 4. DIAL statement now works as the DIAL statement in parselist. | Default DIAL translation is the last DIAL line!! | | 5. HoldOnUs/ReqOnUs/NoEmsi is now active for ALL nodes if no | list is specified (as in versions before). | {ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ} { 3.02a/Beta-7 : 8th August 1992 } {___________________________________}______________________________________. | | | 1. Tranx bug fixes: | | a) System time set correctly. | | b) Time sent to other system should be correct, before it was | | two hours out. I think some og this might be cause by a | | problem with the PureC libraries being hard wired to GMT+1 | | | {ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ}--------------------------------------. { 3.02a/Beta-6 : 15th May 1992 } {___________________________________}______________________________________. | | | 1. Key statement doesn't care what order its parameters are given. | | | | 2. Nodelist searching is more flexible with keys. If you have more | | than one key that matches the node then the values from several may | | be combined in the result, for example if you have the keys: | | Key !HELLO 2:123/456 | | Key !BYE 3:321/987 | | Key %0123-4567 2:123/456 | | Key #2:100/0 2:* | | Key #2:100/101 * | | | | Then looking up 2:123/456 will result in: | | password = HELLO | | phone = 0123-4567 | | assumed = 2:100/0 | | | | Looking up 3:321/987 will result in: | | password = BYE | | phone = taken from nodelist | | assumed = 2:100/101 | | | | Looking up 1:222/333 will result in: | | password = from nodelist | | phone = from nodelist | | assumed = 2:100/101 | | | | 3. Manually polling a non-CM node with Alt-M outside of Mailing Hour | | will prompt the user to confirm whether they really want to poll | | the system. | | | | 4. A bug was fixed in the nodelist cache, which caused the wrong | | assumed address to be presented to the remote caller in many cases. | | | | 5. File requests will stop searching once a file is found if the | | request does not contain a wildcard | | | | 6. tranx field can be used to update your system clock. To do this | | a new configuration word has been added: | | | | tranx | | | | The list of nodes is in the same format as that used by HoldsOnUs | | and may include wildcards, etc. | | | | If during an EMSI session and the remote system has a TRX# field | | and their *primary* address matches the list of nodes, then the | | time of your machine will be set to the value given in the tranx | | data. You might want to enable this, if you know for example that | | another system has their clock updated by an atomic clock receiver. | | Note that due to the time involved in the EMSI handshake, it might | | be a second or two out. | | | | Both the BIOS and GEMDOS clocks are updated | | | | I had a few problems with times being an hour out. I think the | | problems might be to do with Pure C being hard coded for Central | | European Time, but anyway, I think I have got it sorted out by | | using the ANSI gmtime() function instead of localtime(). | | | {ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ}--------------------------------------. { 3.02a/Beta-5 : 5th May 1992 } {___________________________________}______________________________________. | | | 1. Source modified to compile with Lattice version 5.5. However, I'm | | sticking with Pure C, because it is faster to compile and produces | | shorter/quicker executables | | | | 2. Added support for Daniel Roesen's BTNC nodelist format. A new | | keyword has been added: | | | | BTNC | | | | Uses the *.BNL format nodelists as created by Daniel Roesen's | | BTNC nodelist compiler instead of the default version 6 nodelist | | produced with ParselST. | | | | The BTNC nodelist has some advantages in that points can be used | | without having to fiddle with fakenet addresses. It also allows | | several domains to be combined in one set of files. | | | | 3. Added a Nodelist cache. This certainly speeds things up. What it | | does is to store the information about a node when it is accessed | | avoiding the slow nodelist searching and disk access. The size of | | the cache is configurable using a new keyword: | | | | NodeCache | | | | Sets the size of the Nodelist Cache to entries. Each | | entry represents one address and occupies 146 bytes of memory. | | the default value is 16 taking up 2336 bytes. | | | | Setting to 0, will disable the cache. | | | | Whenever a node is looked up in the nodelist it is added to the | | cache. If the cache is full then the entry that has not been | | accessed for the longest will be removed to make way for the new | | one. I'll see how this works and maybe use a different algorithm | | to pick which one to lose if it seems necessary. | | | | A good size seems to be a few more than however many nodes there | | are in your outbound area. | | | {ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ}--------------------------------------. { 3.02a/Beta-4 : 27th April 1992 } {___________________________________}______________________________________. | | | 1. Speeded up NodeList reading some more by sorting the lists of nets | | in each zone and using a binary search. The list of zones is also | | sorted. | | | | 2. Failed file requests will display more information in the log about | | the reason for failure... i.e what the time limit was, etc. | | | | 3. Fixed a bug in the nodelist search that crashed when the 1st net | | in a zone was accessed | | | | 4. Recompiled with a new version of PureC. Its about 2K shorter, but | | I don't know what effects it will have. | | | | 5. Added multiple nodelist handling. All the IDX's for every domain | | will be loaded when needed and left in memory instead of having to | | be reread every time the domain changed. | | | | Note that the configuration command: | | NewNodeList | | has been removed since it serves no useful purpose any more. | | | | 6. "TRX#" display has been changed to "Tranx:" instead. | | | {ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ}--------------------------------------. { 3.02a/Beta-3 : <21st April> } {___________________________________}______________________________________. | | | 1. Fixed problem with nodelist reading whereby all zones weren't read | | properly. Apologies to anyone who received beta-1 already. | | | {ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ}--------------------------------------. { 3.02a/Beta-2 : } {___________________________________}______________________________________. | | {ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ}--------------------------------------. { 3.02a/Beta-1 : <21st April> } {___________________________________}______________________________________. | | | 1. Added new command Line Option for batch mode: | | | | CONNECT | | | | The intended use for this is when BinkleyTerm-ST is called in | | BATCH mode then the calling program should pass the modem's | | connect string to BinkleyTerm so that BinkleyTerm can know what | | the baud rate is and work out such things as whether or not to | | allow Janus connections. | | | | Example... | | | | BT.TTP BATCH CONNECT 9600/V32 | | | +------------------------------------------------------------------------+ | | | 2. Zmodem turnaround during EMSI has been modified. This should cure | | the problems with TrapDoor! | | | +------------------------------------------------------------------------+ | | | 3. Added new configuration Keywords: | | | | Rbuf size | | Tbuf size | | | | These set the size of the RS232 buffers in a more convenient manner | | than the previous method of using environment variables. | | | | Environment variables may still be used, but these configuration | | options take priority. | | | | If neither configuration words or environment variables are defined | | then the default buffers are used. On a standard ST these will be | | quite small, but if you are using an RS232 patch such as 4KBUF or | | HS_FIX then the buffers used by them will remain in use by | | BinkleyTerm. | | | | Example... | | | | Rbuf 8192 | | Tbuf 128 | | | +------------------------------------------------------------------------+ | | | 4. Updated Function Requests + and $ | | | | If the caller is a point then the point will be added to the | | commands generated from these requests. | | | | With $ you may now put up to 3 "%d" in the command and the last | | one is substituted by the point number. | | | | With + the point number is added to the end unless it is zero. | | | +------------------------------------------------------------------------+ | | | 5. EMSI HAT (Hold All Traffic) marks that node as uncallable to | | prevent it from being called again. | | | +------------------------------------------------------------------------+ | | | 6. EMSI aka's are displayed in log and on screen in lines like: | | aka: 1:234/56 2:345/678.12 | | | +------------------------------------------------------------------------+ | | | 7. EMSI TRX# field is dislayed. This is just a hexadecimal | | representation of the time while the EMSI packet is created. I | | don't know what it is for or what to do with it, but people have | | asked me to process it, so I have done so. | | | | It is displayed as: | | Trx#: 29F2BB28 / 29F2BB30 | | | | The 1st number is provided by the remote. The 2nd is the time on | | our system and is also sent to the remote. | | | +------------------------------------------------------------------------+ | | | 8. Speeded up the Nodelist and outbound reading | | | | This began as an attempt to speed up the outbound area reading | | time, but it soon became clear that most of the time was actually | | in looking up nodes in the nodelist rather than scanning the | | outbound packets! | | | | I have completely rewritten the nodelist module to use my own | | own sorted nodelist tree structure in memory instead of the raw | | NODELIST.IDX. The result is a lot less time searching through the | | IDX array. I can if neccessary speed it up some more, but that | | will have to wait till another day. | | | | In addition, I changed file access to use Gemdos directly instead | | of via the C Libraries, again increasing a dramatic speed increase | | | | On my system it speeded up the outbound reading to 58% of the time | | it used to take. | | | | It's also a good idea to unfragment your NODELIST.IDX and | | NODELIST.DAT files after producing them with ParselST. You can do | | this by moving them both to a different partition and back again. | | | .------------------------------------------------------------------------.