1.22 8/ 8/91 New/changed command line options: none New/changed Raid.Cfg directives: Announce_Exclude allow wildcards in exclude area list Announce_Dest_Format allow wildcards in destination list Report_From now noticed if included. Details: - Allow wildcards in the Announce_Exclude list of area names to exclude from announce operations. - Allow wildcards in the Announce_Dest_Format list of announce message destinations. - Fix wildcard match routine to exit with match condition if the wildcard and areaname compare doesn't find a mismatch. - Report_From never worked. Maybe it can be tested now. - Announce_Dest_Format was not finding announce message destination s when they were in drive:\directory format and not ended with a backslash. 1.21 7/11/91 New/changed command line options: * Report Orphan Areas displays on-screen list of orphans New/changed Raid.Cfg directives: *NewAreas_Create Changed format; 1 per line; optional area selects *NewAreas_Node Changed format; 1 per line; optional area selects Outbound_Path Defines .Pkt destination directory >>>* MIGHT REQUIRE RAID.CFG CHANGES! New/changed output tokens: %include% fixed early quit problem %newareacreate% display message when none defined %newareanode% display message when none defined %address% allow values up to 64k %aka% allow values up to 64k Details: - Command line 'Raid Report Orphan Areas' will generate a raw list of file areas that exist in Tic.Cfg but not in Raid.Cfg. Output is sent only to the screen. - Month overrides were being used in message headers. English months are now used. - Autocreate now notices that it just created an area rather than reporting what it did for each .tic in the new area. - NewAreas_Create and NewAreas_Node directives in Raid.Cfg are reworked. They both now accept one address per line followed by an optional list of file echo names. A trailing * (as in SDS* DVN*) is recognized as a wildcard indicator. The NewAreas_Create list is validated against new area tags. Similarly, the NewAreas_Node list is used to decide who should be connected to new areas. - Wildcard operations now allow ? in the areaname as in D?N* and ?DN* - Fixed situation where %include% display token was sometimes quitting early. - Fixed %newareacreate% and %newareanode% output tokens so is displayed when no addresses are found. - Fixed address display output tokens to display zone, net, and node up to 64k rather than only 32k. - Outbound_Path defines the directory where Raid will write all .Pkt format outbound messages. The path defaults to the Tic.Cfg IN path. 1.20 6/ /91 New/changed Raid.Cfg directives: Trailers Template trailer corrected -> : after * Origin New/changed output tokens: %mm% fixed to show this month instead of last month %mn% corrected; was coded as a duplicate of month Details: - Trailer templates in the sample raid.cfg were wrong. Origin lines were missing the colon (:) following Origin. Default templates generated internally were correct. - Fixed %mm% token to show current month. Forgot to add one. - Changed second %mm% token (minutes) to %mn%. Minutes were always being displayed as if month was requested. No impact since it never worked. - Messages from non-configured addresses or with bad passwords were being reprocessed. Needed to set received bit. - Alert processing. Only set kill flag if NetmailBehavior in Raid.Cfg includes K or if -MK (or -RK) is used on the command line. - Alert message destination sysop name will be "SysOp" if the sysop name cannot be located in raid.cfg. - Removed test for -M and -R used together so -M modifiers can be used with -R operations. 1.19 4/26/91 Summary for the folks who hate to read... New/changed Raid.Cfg directives: Months define your own spelling for months of the year Days define your own spelling for days of the week Force_Intl always put an ^AINTL line in netmail output Hide_Protected only list requestable areas in available areas report Announce_Header \ Announce_Cont_Header \ seem to be working Announce_Trailer / as intended. Announce_Cont_Trailer / Announce_Dest_Format assign template format to message destinations New/changed output tokens: %include% import a text file %date% new access to individual components -- see below %time% new access to individual components -- see below %address% new subfields to display address components %filedate% new subfields to display time/date components Details... - Added Hide_Protected configuration directive. This affects the available area display. If an area is not available to the address being processed the area will not be displayed. - Added Months and Days configuration directives to provide override of the English month and day names Raid uses in output. The default: Months January February March April ...etc... Days Sunday Monday Tuesday Wednesday Thursday Friday Saturday Up to 12 months or 7 days can be listed but must be in strict calendar order. If April is listed all preceding months (January February March) must also be listed. The same is true of Days. - These are tokens that display current date or time: %date% April 26 %month% April %weekday% Friday %day% 26 %doy% 116 %mm% 04 %dd% 26 %yy% 91 %time% 20:04 %hh% 20 %mm% 04 - These are tokens that display file date or time in announce templates: %filedate% 04/13/91 %filedate:month% April %filedate:day% 13 %filedate:mm% 04 %filedate:dd% 13 %filedate:yy% 91 %filetime% 12:05 %filetime:hh% 12 %filetime:mm% 05 - Extended the %address% token to include 2 optional subfields... %address% displays the configured primary address %address:#% displays the AKA address (relative to the primary). 0 (default) is primary, 1...n are AKAs in the order configured. If the number is out of the range of configured AKAs the primary address (0) will be used. %address:#:string% displays the address component identified by string. Allowable values are zone, net, and node. Point and domain are valid but currently display default values (0 and blank. Misspelled values are ignored. For example, the net/node can be listed as: %address::net%/%address::node% Here's how a message trailer could be set up to generate something echomail tossers might like... Announce_Trailer default "" Announce_Trailer default "--- %version%" Announce_Trailer default " * Origin: %system% (%address%)" Announce_Trailer default "SEEN-BY: %address::net%/%address::node%" Announce_Trailer default "PATH: %address::net%/%address::node%" Announce_Trailer default "" - New output token. %include:filename% will display the named file. Full path notation is fine. Wildcards are not. If the file contains token strings they will not be interpreted. - Added Force_Intl configuration directive to force generation of an ^AINTL line on all netmail output rather than only when to a different zone. - Dropped tearline warning message. Tearline will be valid for non-announce netmail output. Announce output will use announce templates. - Announce_Dest_Format seems to be working now. Needs testing. - Corrected situation where received message header rewrite reversed from/to addresses and sent requests back to originator if kill_received was not used. 1.18 4/4/91 - Fixed a serious problem in the text list manager. This was showing up primarily as missing lines in tic.cfg. This bug was introduced during the changes between 1.16c and 1.17. - Inserted warning messages for tearline, announce_seenby, and announce_paths directives. Template definitions should be used instead of these directives. - Alert feature caused original messages to be readdressed and sent to alertnode. Fixed so original header isn't changed. - Added arealist token to list all areas with descriptions. Areas with higher security than the Hide_Area value will not be listed. - Added line number display to raid.cfg error message display. - Fixed autocreate operation to properly realize that a file echo configured in raid.cfg but not found in tic.cfg can be created. - If a -r netmail input mesaage has a fatal error it will not be deleted no matter the setting of kill_received. - Added the framework for Announce_Cont_Header and Announce_Cont_Trailer directives that define header and trailer templates for continuation messages. If announce causes 3 messages to be created, the headers and trailers will be displayed... --message 1-- --message 2-- --message 3-- announce_header announce_cont_header announce_cont_header announce_cont_trailer announce_cont_trailer announce_trailer Defaults are: announce_cont_header default "(continued from previous message)" announce_cont_trailer default "(continued in next message)" This feature is not fully implemented. Please pardon our dust. - Added 3 more tokens... totsize total bytes of all announced files msgsize cumulative bytes announced in current message cumsize cumulative total bytes announced - Added Announce_Dest_Format configuration directive to associate announce templates with announce output destinations. Not finished! Announce_Dest_Format templatename destarea destpath * *net/node 1.17 2/28/91 - Added yet another command line parameter to help control runtime performance. Many of us operate all the time with tidy and sort raid.cfg parameters enabled. All three take more than a trivial amount of CPU resources. That spells longer execution times. The new command (TIDY or CLEAN or CLEANUP or SORT all work) simply forces the tidy and sort parameters active for a single execution. So we might run with those raid.cfg parameters off for normal operations and simply use SORT (as the first command line parameter) along with NOTIFY or other reporting functions and even occasionally to "clean up" tic.cfg. Anyway, it's there and I'm using this with noticably shorter execution time on my machine. Maybe you will see a similar saving. - Slight performance improvement in .cfg file reads. Fixed some code and increased i/o buffer sizes. - All RAIDxxxx.TXT files can now contain embedded token strings. - Expanded newarea_msg to work like announce_msg such that any number of destinations can be defined in any combination of 4 formats; * *net/node echo_tag drive:\directory - Fixed announce_header display logic to display only the first (default) header set. This is because several different formats of announcements can appear in one message. If raid starts to accept destination (net/node, areatag, directory) defaults for headers and trailers this will change. - AlertNode is partially installed. It will generate a copy of every -r mode response message to the fist address listed. AlertNode is not working for PKT output -- only for MSG. - Changed hard error capture (int 24) routine to cleanly return to DOS rather than aborting the BATch file. Thanks to Steve Ahola. - Changed create logic to push on with a manual create regardless of raid.cfg, tic.cfg, and directory status. We'll see... 1.16 2/4/91 - remove_delete and alert_node are not implemented [yet? ever?]. - Add and delete operations recognize a trailing asterisk for wildcard operations. This works in netmail requests as well as manual operations (add, delete, [net]areareport). I think the limited wildcarding is installed everywhere that's practical now. Let me know. - Remove seems to work now. Syntax is "raid remove area ... area" The named area(s) will be deleted from tic.cfg. Netmail will be sent to raid at all affected addresses to remove connections. - newareacreate output token was displaying the token name along with normal output. - Finished install of filedate and filetime output tokens. - Fixed a pointer problem in the tic.cfg read routine that showed up when sortareas was not selected in raid.cfg. - Fixed output routines to handle multiple desc lines from .tic files. - Fixed output routines to allow underscore (_) outside of token fields. - Added a couple of tokens -- what else do we need to define folks? activemarker privmarkerleft privmarkerright remoteflagupdate - Several tokens now accept a second optional subfield: They include: path, seenby, newareacreate, newareanode, alias, aka The format for these tokens is now: %tokenname:lindent:lwidth% lindent is the number of characters to indent continuation lines. default is 0. lwidth is the number of characters per line. default lwidth is 72. "Seenby: %seenby:8:40%" set left indent to 8 and line width to 40. "Seenby: %seenby::40%" set left indent to 0 (default) and line width to 40. "Path: %path:6:1%" sets left indent to 6 and width to 1. This one 'fools' the output routine so a continuation will be forced after every item. The result is a vertical column 1 item wide. 1.15 1/24/91 - Added limited wildcard capability to announce_only and announce_area such that a trailing * on any file area name will force a match on the remainder of the area name. SDS* and PDN* and DVN* and SDN* are examples. In each case all file area names beginning with the three character prefix will match the wildcard reference. - Fixed raid.cfg parser to recognize more than one address on newarea_create lines. Only the first address was recognized. Newarea_node lines still allow 1 address per line because of the [not quite working] optional password and flag field overrides. - Don't dislay newarea_node being added until after it's matched against the from net/node. This gets rid of a misleading double display. - Deleted debug display of create:area log entry as addresses are added. - Fixed situation where remote requests for an address that's set up in raid.cfg with security level 0 were rejected if not running in open_system mode. This is a fuzzy fix in that I've previously used level 0 internally to indicate no access. I've run my test suite of requests thru it with no apparent problem but... - Trim trailing blanks from raid.cfg lines that must terminate with specific sequences. - Announce_Path and Announce_Seenby are now activated whenever any announce templates are defined. - Raidnote.Txt can include any of the tokens defined below except those from .tic files. This gives you more control over notify message content. The sample raidnote.txt includes examples. - Added a second CR to the end of echomail origin lines to try to address a disagreement with at least one echomail program. - Here we go... There's a bit of a change in the way file arrival announcements are generated. It's either really easy to adapt to or terribly complicated. Each of you will have to decide that for yourself. Briefly, there are at least 3 new raid.cfg directives that now support announce message generation. announce_header -- defines the format and content of the header line(s) raid writes as it opens each announce message. All lines are written to each message. announce_template -- defines all the wonderful things you want announcements to say about each new arrival. The first template defined is the default announce template when not overridden by announce_format. announce_format -- defines the relationship between file areas and announce message templates so any template design can be associated with any number of file areas. The trailing * wildcard can be used for file area matching. This entire feature is optional. If you have no need or interest in designing your own announce messages you don't need to change anything. Raid will default to generation of the original output layout and content. But if you dare to try out this feature you'll be offered a virtually limitless "designer announcement" capability through liberal use of "tokens" in the announce message header and body. Rather than shower you with boring details right away, let's look at the way Raid now defines the "default" announce message layout. Each line appears as you or I might enter it in Raid.Cfg. Here's the standard announce template that is used if none is defined in raid.cfg: Announce_Header format1 "The following files were processed by %address% on %date% at %time%:" Announce_Template format1 " File: %file% (%size% bytes) Origin: %origin% Rec'd from: %from%" Announce_Template format1 " Area: %area% [%areadesc%]" Announce_Template format1 " Desc: %desc:7%" Or maybe we'll want to override the standard templates to make the output resemble that of RFP or RFD. Here's what we'd enter in raid.cfg... Announce_Header format1 "The following files were received here for processing" Announce_Header format1 "on %day% %month% %year% %time%:" Announce_Template format1 "File: %file% (%size% bytes), Area: %area%, Origin: %origin%" Announce_Template format1 "Description: %desc:13%" The two components following the directive on each line are: format -- identifies the header or template name. This name will be maintained thruout a template set and referenced on announce_format directives. data -- This portion of the line must begin and end with a double quote character. Literals and tokens can be used in a variety of combinations to achieve the desired look. Tokens are bracketed with the % character. Otherwise they are interpreted as literals. Each announce template line will generate one line in announce messages. Several tokens are available for use in header and template definitions. They come from several sources; Tic files, .Cfg files, and the environment. Additional tokens are available to control output appearance and formatting. from the current .tic file fields... area current file area name areadesc current file area description file filename from .tic desc description from .tic size size of file in bytes filetime time of file creation filedate date of file creation origin original hatch address from received from address path address path the file followed seenby list of addresses that received the file crc crc-32 of the file password security password replaces filename this file replaces. This is a special token that substitutes a literal along with the data. If the optional "replaces" line is in the .tic file this token displays: replaces If no "replaces" line is found the token is be ignored. from raid.cfg... address sysop sysopfirst aka alias remoteaddress remotesysop remotesysopfirst wildcard globalwildcard announceto announcefrom announcesubject announceorigin newareato newareafrom newareasubject newareaorigin newareacreate newareanode reportto reportfrom reportsubj reportorigin pointnet activelist availablelist version from the environment... date time month day year literals... quote percent format control: lindent:# Sets left margin indent for continuation lines. Initially 0 (flush left). The lindent value is in effect only for the duration of the current template line. lindent:# can be abbreviated to l:# Tokens that can generate continuation lines (ie path, seenby) recognize optional continuation left indent values as part of the token definition. The value is added as :# (colon followed by number of columns to indent. For example, these two definitions generate identical output: "%linput:7%%path%: " "%path:7% " and finally, so you don't have to type 'em all in... test 1.14c 1/15/91 - Announce operations were hanging regularly when writing messages to multiple areas. Discovered a misplaced memory free without a corresponding malloc. [introduced in 1.14b] - Added the "tearline" raid.cfg directive to add a tell-tale tear line to all messages generated. - Added announce_seenby in raid.cfg directive to trigger display of seen-by information in announce messages. not tested and a terrible memory hog. beware! 1.14b 1/14/91 - A little bit of code path reduction. rewrite == new bugs? - Reworked announce/autocreate file search logic to reduce overhead and incidence of invalid data being reported. - Started adding "remove" manual mode command to remove file areas and all their connections from tic.cfg. There's a new configuration directive called "remove_delete" that tells the remove process to actually clear and delete the subdirectory for a removed area. 1.14a 1/10/91 - .RAD files were being processed and deleted during autocreate operations as well as announce. Corrected routine so the hold directory is only searched (and .rads deleted) during announce. - The "fix" in 1.14 for scanning response mode (-r) messages broke more things than it fixed. It's been replaced by a slightly less damaging fix. Also removed tab from list of line terminators . - Adjusted .tic keyword scans to allow for the optional ':'. 1.14 1/9/91 - Fixed up a couple of pointer problems in announce logic; discovered during .RAD adapt. - Added a bit of housekeeping to response mode (-r) message body code. Blank lines and lines containing control characters were sometimes being treated as add requests for non-existent areas. - Completed response mode change [begun in 1.13] that requires a delete before an add will be honored. This eliminates "updates". - The previously undocumented File_Template configuration directive is now available. Any number of directives of the form: file_template string ... string string is in file.ext format. The defaults are TK??????.TIC and TK??????.RAD until overridden by any file_template directive. This isn't going to be a high usage item but it's there in case someone develops another FTS-0028 compatible file echo program and chooses to use other names for the files it generates. The directive will not appear in the sample raid configuration file but might be mentioned briefly in the raid documentation. 1.13.03 1/8/91 - Added support for Tick's .RAD files. Hatch v2.05 and up create a TK??????.RAD file in it's configured HOLD directory to celebrate the hatching. This version of Raid searches for .RAD files in the HOLD directory (defined in the Tick config file) and generates announcements for them. The .RAD files are then deleted or if in debug mode (-d) renamed to .BAK. - Path info in announce output wraps to a new line after 5 addresses. 1.13.01 12/13/90 - The check for net/node already existing in an area was not being done correctly if tidy or sort was active. This may have resulted in duplicate net/node entries in tic.cfg. 1.13 12/5/90 - Add requests will no longer be accepted if the requestor is already active in the requested area(s). As with areafix, the area must be deleted first. - Adjusted netmail access in response mode to bypass messages with read errors rather than abort. Also corrected an error where raid was opening every netmail message for read/write during the netmail scan. Now write privs are requested only when a message to raid is marked "read". - Added what I hope is the beginning of "share" support. Need feedback. - Addresses in announce messages are converted from z:pointnet/node to z:net/node.point format for display when the net matches the configured pointnet. - Command line add, delete, and find operations accept a point number as long as the point is "yours". If your primary address is 6:123/456 and your pointnet is configured as 789, raid converts a varety of address formats... 6:123/456.1212 -> 6:789/1212 123/456.1212 -> 6:789/1212 456.1212 -> 6:789/1212 .1212 -> 6:789/1212 So now you can enter something like "raid add .1212 softdist" and your point #1212 will be changed. If you use a point number on any address other than your own primary address raid will see it as an error condition. - Fixed ADDNOF log entry (ADD NO Find) so requested area tag displays. 1.12 11/28/90 - Fixed a bug in tic.cfg write routine where lines within an area block without field 3 (*CH& etc) would pick up the previous line's field 3. - Upgraded to MSC 6.0A 1.11 10/17/90 - Announce messages were wrapping rather badly on TBBS which apparently requires a leading space or crlf pair (rather than cr) to skip wrap. So now announce messages use leading spaces. 1.10b 10/1/90 - Open_system seems to work for the first raid request from an unlisted node. Requests with areas already active for the unlisted address were requiring that the password in the netmail subject = the raid.cfg def_password rather that a user selected password. This change uses the default password only if the unlisted requestor has a blank password field. Otherwise the password from the subject line is used as the security validation password for that session. 1.10a 8/21/90 - Notify was displaying message body to screen and in individual node mode was bombing. Caused by turning off debug code in 1.10. 1.10 - If directives follow last area block in tic.cfg they're now "found" and not merged into the last area block. They'll be moved ahead of the first area block instead. - Began shortening config file processing execution path. - Announce to *net/node" will address the netmail to the configured sysop name if found in raid.cfg. 1.09 7/11/90 - Newarea_Path can optionally define a single path to receive all new areas rather than the default action of appending the new area name onto the base path. If the Newarea_Path definition is preceded by a plus (+) the path definition will be used as-is for all create and autocreate operations. No error checking will be performed on the path definition. For example, a definition of... Newarea_Path +C:\XYZZY will cause all new tic.cfg AREA blocks to point to point to C:\XYZZY rather than defaulting to unique paths of the format... C:\XYZZY\ - Yet another new command line switch. -O defines the report/areareport output file destination. The -O switch overrides report_file definition and disables report_msg. Additionally, a "+" ahead of the filename will trigger an append of the new data rather than overwriting an existing file. The raid.cfg combination of defining report_msg and not report_file allows command-line control of which destination to use. -oreport.fil create a new report in report.fil -o+report.fil append to report.fil - Raidrpt.txt preface for report file output is now followed by a pair of newlines. The raidrpt.txt file should end without a trailing blank line for best results. 1.08b 6/28/90 -- limited distribution - Added DEL as a synonym for command line DELETE operation. Similarly, NET = NETREPORT, AREA = AREAREPORT, NETAREA = NETAREAREPORT. - Sysop name was truncated if it wasn't entered exactly like the sample in raid.cfg. - Manual 'create' hung trying to find addresses to add. - Announce displays progress information during .tic file processing. - netreport/netareareport were reporting incorrect report destination. - added two raid.cfg directives that are rather specialized: file_template defines filenames to search for in the INbound directory. [Might not ever get documented] default: file_template TK??????.TIC add_template defines the default field positions for lines added to tic.cfg by add/[auto]create. default: add_template "%-15s %15s %15s" The double-quote characters are required and will be stripped. This is a 'C' format string. The 3 fields inserted are character strings so exactly three %s's must be present. If you want to use tabs, enter actual tab characters, not \t. 1.08a 6/27/90 - Underscores are now optional in all Raid.cfg configuration directives. Use as many or as few as you like to make them readable. - SortNodes now requires TidyNodes. TidyNodes can still be used alone. - TidyNodes directive was being ignored throughout Raid. - Fixed up some strangeness in net address processing for NetAreaReport - 1.08 was sending netmail announce messages to net/net rather than net/node. - Added A# to flag values reported in *report output. - Added a legend of flag values to *report output. 1.08 6/26/90 -- updated doc file included new directives AreaReport generate report of connections by area name NetAreaReport generate area report to NetMail SortAreas rearrange tic.cfg AREA blocks in area name seq. changed directives alias announce_msg all now accept multiple destinations announce_only and any number of lines announce_area newcreate ++This one has a rewritten tic.cfg interface. The file is read into multi-level arrays to streamline processing and then written from the updated arrays. The resulting file will usually look a little different from the original (after the first update) but it works the same. Comments embedded in AREA blocks are relocated ahead of the first block. - announce_msg, _only, _area directives now accept 4 message destination formats to amuse and confuse: * or blank pvt netmail to primary address *z:n/n pvt netmail to z:n/n d:\path write as public echomail to .msg areatag write as public echomail to .pkt - The part number in "announce" echo messages is now 1-relative in each message area rather than across all message area. - More command line manual mode commands. "AreaReport" and "NetAreaReport" generate a report/message similar to [net]report but selection is by area name. "AreaReport" generates the standard report to the directory/area/file configured. "NetAreaReport" generates the report to NetMail. NetAreaReport expects first field following the command to be an address to send the report in NetMail. AreaReport all areas to standard dest(s) AreaReport DVNET SOFTDIST dvnet/softdist to standard dest NetAreaReport 270/101 all areas to 270/101 in netmail NetAreaReport 17/38 DVNet dvnet to 17/38 in netmail NetAreaReport 1/0 DVNET WALRUS dvnet/walrus to 1/0 in netmail - Fixed hang when announce_exclude addresses were defined and .TIC files were found in an announce operation. - Overhauled announce_msg, announce_exclude, announce_area, newareacreate, alias raid.cfg directive processing. All now allow any number of values on a line and any number of lines. - announce_msg now allows any number of default message areas/dirs to be defined. All file areas not explicitly named on announce_only or announce_exclude directives will be announced in the all announce_msg areas. - Added a CR following the origin line in echomail (pkt only) just to see if it changes anything. - Dropped lzexe packing of the executable. It was fun but unnecessary. 1.07 6/19/90 - -r operation stopped recognizing fmpt/msgid/intl in incoming netmail. Seems to be another MSC6.00 difference. Changed the #defines and it's working again. - The strip lf code in -r processing wasn't working. It was garbaging some netmail bodies. - Installed simple point conversion for command line operations. If a pointnet is configured, the address given includes a point (270/101.8) and the net/node is the primary configured address, the address will be converted to pointnet/point. If pointnet is not configured the point will be ignored. - Announce messages were sometimes written to the last listed area/ directory twice. 1.06h 6/??/90 -- no doc updates since v1.06 new directives: Announce_Paths add tick path info to announce message changed directives: Announce_Exclude overrides _only/_area Announce_Only accepts 1->n message area/path fields Announce_Area accepts 1->n message area/path fields - Announce_Only and Announce_Area now allow any number of echo area tags (for .pkt format) or .msg directories on one line (up to 256 characters) or on separate lines following the file area name. This 'feature' is a rewrite of the announce logic. Since file arrival announcements can be placed in multiple areas/directories the message destinations and .TIC file areas are matched up during processing so no more than one message (plus continuations) is written to any msg area in a single execution. As before, more than one Announce_Only/_Area can be used for a file area. - Announce_Exclude entries are now unconditionally excluded. I was confused about how to use the directive so assume others were too. Exclude is more easily defined as "excludes" than "excludes sometimes". - There's another new raid.cfg directive. If raid finds the "Announce_Paths" directive the addresses of systems each file passed through will be reported. - Text files imported into notify and report messages now have soft cr, lf stripped. - Response mode requests have soft cr, lf stripped before processing. - Added a bit of debuf (-d) code to tic.cfg write code to [try to] identify the cause of a hang during sort/write. - Closed a hole that might cause a hang... if sortnodes is on the last net/node is being deleted from the last AREA definition that AREA line becomes the last line in the file. - Continuation messages are generated when announce and find message size exceeds 5-7k. - Received .TIC files are now processed in area name sequence to try to minimize creation of too many separate messages. - Rewrote .TIC file processing code. All .TIC files are read and pertinent parts are staged in memory. My test suite of 500 .TICs didn't break it too badly but actual capacity is memory size, raid.cfg, and tic.cfg dependent. This will take some testing to see if it's the way to go. If not, I'll go back to a two-pass processing mode on the .TIC files. - Installed the proper product code in the PKT generation phase. - Autocreate on command line with no "newarea_path" defined did not display an error message. It looked to the user like raid was not operating. Added error message/exit in that situation. - Fixed null pointer problem with report and notify operations. It was apparently related to MSC 6.0 changing order of interpretation of operators. A couple of missing parens fixed it. - Tear lines will now only be generated for non-netmail messages. - Private attribute was getting set on echomail written to .PKT. Should only be set on netmail. - Continuation messages are generated when "[net]report" message size exceeds 5-7k. - "raid find" without an address field works again. It lists everything in tic.cfg right down the line. -m can be used to make it into a message. - A more descriptive error message is given if "report" is requested and neither report_file nor report_msg are found in raid.cfg. 1.06 6/8/90 [This one was compiled with MSC 6.0] - Installed .PKT creation routines. You get to decide for yourself which way you want messages written. In the case of the function-specific tags (announce_msg, newarea_msg, and report_msg) if the string is blank, netmail is assumed. If the string contains both : and \ messages are written as .msg files. Otherwise raid will assume the string is an echomail tag and write the message to a .PKT. The netmail directive is a little different. The netmail path must be defined (to process incoming remote requests). There's now a second [optional] field on the netmail directive. If blank, Raid will write directly to .msgs. If the field is PKT all netmail generated by raid will be written in .pkts. In all cases the .pkt destination is defined by the directive on the Tick control file "IN" directive. NetMail V:\NetMail [.msg generation in v:\netmail] NetMail V:\NetMail PKT [.pkt generation in path defined by tic.cfg IN directive] So the bottom line is that if you don't want anything to change from the way it's been operating don't change anything. Or at least make sure your message path definitions include both a : and a \ so raid will see is as a path to a message subdirectory. If you want to start using .pkts go ahead and make the other changes. Clear as mud, eh? How about... Netmail v:\netmail [.msg generation] Netmail v:\netmail pkt [.pkt generation] Announce_Msg V:\Raidbeta [.msg generation as echomail] Announce_Msg [.msg generation as netmail] Announce_Msg RAIDBETA [.pkt generation as echomail] Announce_Msg \Raidbeta [.pkt generation as echomail!] new directives to customize messages. used for all echomail written to .PKTs: origin [default] announce_origin [new arrival message override] newarea_origin [create/autocreate override] report_origin [report override] changed directives to specify subdirectory, area tag (echomail), or blank (netmail) rather than path announce_msg newarea_msg report_msg - The Announce_Only raid.cfg directive has been expanded to accept an optional message directory or echomail area name. In addition, the "Announce_Area" directive is available to direct new arrival announcements for individual file areas. As above, presence of both : and \ in the path/area field indicates a path for .MSGs. If both "announce_only" and "announce_area" directives are used, the announce_only directives will [as before] define the exclusive list of file area arrivals to be announced. If both announce_only and announce_area directives exist for the same area the message path/area of the last matching directive will be used. Announce_Only FIDONEWS [message to announce_msg dest.] Announce_Only NODEDIFF [message to announce_msg dest.] Announce_Area NODEDIFF NEWFILES [override and use NEWFILES echo] [ in .PKT format.] Announce_Area RAIDBETA V:\WHAT [ignored because no matching] [ _Only directive is found.] Another possible setup might result from your wanting to be informed of *all* arrivals but only have certain areas announced publicly... Announce_Msg [default to private netmail] Announce_Area FidoNews newfiles [direct specific areas to public] Announce_Area NodeDiff newfiles [ conferences.] Announce_Area DVNet newfiles - Temporarily fudged the .PKT product code to FF. An application for a product code has been submitted to FTSC. - Fixed new area create announcement to insert the home address rather than the last newarea_node address. - Dropped local attribute from messages written to .pkts - When doing response mode (-r) processing, added a check for the tic.cfg IN path so we don't lose any .pkt output. All it does is try to create/delete a file in the IN path just prior to rewriting the in-progress request message. - Fixed another memory trashing situation in tic.cfg read. It only showed up with MSC 6.00. - If create/autocreate mkdir fails for a new area the warning message is displayed as well as written to the log. - Stopped putting origin line in netmail. - Low memory condition log entries were being lost or scrambled. Free a little memory to let the error message process. - Fixed a really nasty problem with memory getting trashed during raid.cfg processing. - Finished up origin processing for echomail messages. "origin" is used whenever one of the message-specific origins is missing. - Added a slight kludge to message timestamp generation so dupes are less likely to occur. - Corrected info file attach so the filename isn't trailing behind other subject text. 1.05 - Used Lzexe v0.91 to pack the executable from 130k to about 50k. Let me know if it screwed anything up. - Changed remote request logic password checks so open_system will not affect password checking. For unlisted systems, the password they use in the message subject field will be used for that session. If the subject is blank, def_password will be used. - Dropped tic.cfg "IN" path check since status can be misleading and all it's used for is to search for TK*.TIC files. If we can't find tic files the reason isn't important to raid. If raid can't find 'em Tick probably can't either. - Add trailing backslash to newarea_path if missing. - Echomail messages no longer use wasteful ^A kludge lines. - Strip trailing spaces from message header fields. - Autocreate and Create generate NetMail to all nodes added by the functions. The NetMail includes area name and the line added to Tic.Cfg. 1.04e - The sortnodes routine now sorts only areas that have changed during the current execution. - Yet another bug in the autocreate function. This time it was going into a forever loop trying to add "newarea_node" entries. One step at a time. - The available area display at the tail of response messages now takes lock/key settings into account and flags areas accordingly. - Completed separation of wildcard and global wildcard operations for manual ADD. "Wildcard" (ALL) now adds only areas for which the target address has adequate clearance. "Global_wildcard" (GLOBAL) operates on all areas no matter the security. Delete is a different animal. Using either wildcard with a manual delete will delete every entry for the target address. Manual add operations for individual areas is not affected by this since those are "intentional". 1.04d - Fixed more troubles with combination executions and message generation. - Fixed a nasty bug in autocreate. A forever loop resulted when the from address was in both the newarea_create and newarea_add lists. - Command line: autocreate was being run whenever announce was requested. 1.04c - Changed response mode command sequencing so '-r' is now executed after 'autocreate' and 'announce'. All three can be used in the same execution. The sequence on the command line does not matter. 1.04b - Added retry of mkdir for (auto)create such that each failure results in one character being dropped from the path (areaname). 1.04a - Fixed report so it writes something to net/echo messages. - create/autocreate directory valid characters are a-z, 0-9, - and _. Any other character will be replaced by -. - Finally updated help message to include report/netreport. - Autocreate "forgot" to check the from net address against the configured list of addresses allowed to create new areas. - Create and AutoCreate were being processed even if Newarea_Path was not defined. That condition now disables the commands. - Fixed debug display of markers. They were set correctly but displayed as garbage in debug. - Yet another try at fixing announce. This time it wasn't working when only an announce_exclude list was given. - Fixed drop through from def_key config directive. - Fix REPORT generation to stop generating netmail when report_file is defined. - Fixed message build routine to terminate timeDate string with null rather than FF. - Changed arrival announcement processing to handle up to 250 Desc lines of up to 512 characters each. Each Desc entry from the .tic file will begin on a new line. 1.03 - Thanks to Joe Elser and Charlie Smith, the "announce isn't working" bug has finally been fixed. It only occurred when neither "announce_exclude" nor "announce_only" lists were defined. Forest/tree syndrome here. - Fixed "announce_from" config directive. It was copying the name string to the announce_subject variable. - Added two new manual functions. "report" and "netreport" generate file area connection status reports. "report" looks for config directives "report_file" and/or "report_msg" to tell it whether to write the report to a file or to a message directory. "netreport" generates one or more netmail messages to addresses provided on the command line in the defined "netmail_path". The number of areanames per line is controlled by the "areasperline" config directive. - Fixed a couple of bad error messages in config file processing. - Added "def_key" and -K command line switch to operate in the same way as def_password (-P) and def_flags (-F) operate. - Threw in a bit more debug code for announce function - Now (correctly) allows delete of area even if security is too low for add - Fixed echomail message create to start at message 2 rather than 1 1.02 - Added "open_system" config directive that tells response mode to bypass the node number "access" check. When enabled by adding the directive to raid.cfg, non-configured addresses are allowed to request any area with a security level equal to or lower than the value defined by the "access_default" (another new one) config directive. So if I set "open_system" and receive a netmail request from an address not configured, the request will be processed. The address will be treated (internally) as if an "access" directive existed. The values assigned to "access_default", "def_password", and "def_flags" will be used for processing the request. The requestor's password (message subject) will be ignored. The [optional] password field on individual add/update message body lines can be used to override the default. - Fixed a really stupid coding error in -r logic that didn't read the entire message if the body was longer than the header. Thanks Kevin. - Added a little feedback for failed announce/autocreate operations. - Fixed up create/autocreate code so they're starting to work. - Made areaname and filename upper case in announce/create messages - Manual mode netmail replies are now private (like in 1.00) 1.01 - Here we go again. THANKS for sticking around. - The doc hasn't been updated yet so I'll spare you the expense. - The RAID.CFG shipped with this test release is the baseline configuration file. Please try to use that file and edit in your unique configuration information so we all begin together. Conversion from Raid v1.00 to v1.01 REQUIRES that Raid.Cfg change. The minimum you can get away with is to add " . " (space-dot-space) after the security level value on all ACCESS and AREA lines. That will account for the additional lock/key fields. The period is the blank field place holder just like the period we used in v1.00's flags field. Please do use the starter Raid.Cfg for your conversion as there are several new directives we need to exercise. All I can say is "I warned you, Barry!". And I thought I could make Raid do everything with a few command line switches. This raid.cfg file has grown to monstrous proportions. I suspect many of us will strip the comments out of the file so it'll process faster and take up a little less space. There are other options. High on the list is a binary config file with a separate program to fiddle with it. I'm looking for comments folks. - Lock/key codes have been added to area and access definition lines. Lock/key strings can be period (.) for unused or any/all of the chatracters A-Z and 0-5 for a total of 32 slots. The area contains the lock value and the area (access) has the key. If lock is defined (not a period) for an area the key assigned to the net address accessing the key must fit. That's to say that a lock of ABC will be opened by a key of ABC or ABCD but not AC. lock/key checks are performed after level validaion has succeeded. - A 33rd lock/key, an asterisk (*) enables remote requests to override the "flags" field by providing the new field as the third value on a request line (area [password [flags]]). The override must be set for both the area and the requestor for the flag override to be processed. - Rather than [try to] keep track of both small and compact model versions of the program I bit the bullet and dropped the small one. Then I added the new bells and whistles and discovered that the code segment is now over 65k (no overlays). So this version will only be available in large model. If there's a problem running it please let me know. [I operate in a 200k partition just fine.] - Added OS/2 equates to let the program compile for an OS/2 environment. Thanks to Bill Andrus for sifting through the code. - Add/delete/find/notify from the command line will now accept partial net addresses. Missing components will be replaced with components of the configured primary "address" [zone:][net/]node This capability also removes the "sliding search" capability from the find manual operation as well as the last remaining undocumented use of the -O (override) command line switch. "raid find 102", "raid find 270/102" and "raid find 1:270/102" will now all be functionally equivalent back here in net 270. - Distribution lines within tic.cfg area blocks can now be sorted. A new configuration directive -- SortNodes -- activates the sort. Sorting is in ascending order by zone:net/node. If zone is missing for any line that line might not be sorted properly. - Reorganized all output routines to channel through a single point. LFs in NetMail should now be gone. That ought to make the FD folks (and Alan ;-) happy. And clear the way for other goodies. - Added the ANNOUNCE command line directive. If announce_msg is defined in raid.cfg, executing "raid announce" just ahead of "Tick" will generate rfp-like output as a message in the defined directory. "Announce_Path" and "Announce_Exclude" configuration directives help keep announcements under control. Command lines like "raid announce" or "raid -r announce" are valid. The best place to put "raid announce" is immediately ahead of the Tick execution. Announce gets the inbound directory from Tick's mandatory "in" configuration directive. The announce output message is generated only when the target file is found. Also, announce output includes the file area description if provided in raid.cfg. [This feature is actually what I intended Raid to be when I first discussed the project with Barry! It got a bit out of control along the way and at least three programs now exist that do the job quite well. Raid simply offers an alternative.] - As if that wasn't enough... Added CREATE and AUTOCREATE command line directives. Both require configuration values to be set before they're allowed. CREATE is a manual mode function to create new file echo(s). AUTOCREATE is an unattended mode function that can be used along with -r and/or ANNOUNCE directives. See raid.cfg for all the boring parameters. [I use "raid announce autocreate" just ahead of tick when tk*.tic files exist.] - Added configurable text files to append to security error netmail responses. "ErrorSuffix" and "PasswordSuffix" will be appended to netmail reject messages when the requesting node is not allowed to use Raid remotely (error) and when an incorect password was supplied as the message subject (password). Just in case... 215-969-2112 -- work; 9am-3pm Eastern 215-638-8361 -- Monday-Friday evenings until 11pm -- weekends? nah.