; Sample GMD 3.01 Configuration File ; ==================================== ; **************************************************************************** ; ; PLEASE NOTE: ; ; GMD is a very powerful program. Used properly, GMD can detect many types of ; grunged messages and some types of duplicate messages. It can also be used ; as a management tool by Moderators, an independent verification tool by ; software authors, and a testing tool by the average SysOp. ; ; Used improperly, GMD is capable of deleting valid echo mail, generating ; false warning messages, and violating Policy in general. Thus, you should ; be very careful in setting it up and in using it. If you haven't read and ; understood FTS-0001 and FTS-0004 then you should not attempt to configure or ; use GMD. ; ; To protect you, me and the rest of the Net, GMD will not delete an echo mail ; message without sending an information message to the originator. ; ; ; Please refer to the the GMD documentation file for more information. ; ; ; You will have to change the sample values below to suit your own needs. ; **************************************************************************** ; ; General Operation ; ; This section contains general information about your system and how GMD ; should operate. General: ; GMD logs to the screen and to a file. You can specify the level of detail ; you want for each. Each level includes the information in lower levels. ; The levels are: ; ; 4 Log every message (even OK messages) ; 3 Log each non-conforming message, lots of details ; 2 Log each non-conforming message, less detail ; 1 Log only packets processed, fatal errors and summary ; Log.Screen_Level = 1 ; 1 - 4 Log.Level = 3 ; 1 - 4 Log.File = GMD.Log ; filespec ; These will generate some summary statistics about the numbers and types of ; non-conforming messages. The first appends this information to the above ; logs. The second sends this information to you in a net mail message. ; Log.Error_Stats = y ; y or n Mail.Error_Stats = y ; y or n ; This defines the directory containing the incoming packets. It is usually ; your inbound mail area. ; Mail.Inbound = C:\In\ ; directory with trailing "\" ; This is the name of the echo mail area where GMD will send "saved" copies of ; non-conforming messages. ; Mail.Bad_Area = GMD_Bad ; echo area name ; This tells GMD whether or not to set the "kill/sent" attribute in the ; information messages which it generates. ; Info_Message.Kill_Sent = y ; y or n ; This tells GMD the name of the statistical database. In this data base GMD ; maintains statistical information about the number and types of errors ; encountered for each node. The database is cleared by deleting the file. ; GMD provides a reporting program. See the documentation for the reporting ; program for the details of database file layout. ; Stat.File = GMD.Dat ; filespec ; This tells GMD the maximum number of information messages to send to a ; particular node. It uses the statistical database defined above. This ; parameter has no effect when the information message is generated because a ; message has been deleted. If 0 is specified, no checking is performed. ; Stat.Max_Nr_To_Node = 1 ; 0 or 1 - 5 ; This partially stops your GMD from processing incoming packets. It stops ; your GMD from generating information messages and save copies, unless a ; delete is also called for, in which case it processes normally. This ; allows for the possibility of a message being grunged even though you are ; generally ignoring the packet. To prevent generating duplicate information ; messages to other nodes, you should list any nodes you connect with who also ; run GMD. You should also always list your echo mail feed, even if he ; doesn't run GMD. ; Ignore_Pkt_From = 1:13/13 396/1 ; node address(es), optional ; short form is OK. ; Example: 396/1 2 3 ; This stops your GMD from processing incoming packets which are addressed to ; certain nodes. This allows for "passthrough" packets which your system is ; not going to import or toss. This complements QM's Pkt_Forward feature. ; ;Ignore_Pkt_To = 1:396/2 1:1/1 ; node address(es), optional ; short form is OK. ; Example: 396/1 2 3 ; This stops GMD from checking packet endings to see if the are legal or not. ; Ignore_Illegal_Packet_Ending = y ; y or n ; **************************************************************************** ; ; Set Definitions ; ; This section contains definitions of sets which are used in the Default and ; Area Sections. Sets are used to specify character sets and zone numbers, ; for example. You can name them whatever you want to and you can have as ; many as you need. ; ; You can specify single number(s) or range(s) of numbers. A number is ; decimal by default, but can also be in hex or character form. Hex numbers ; start with "0x" and are followed by the hex digits. Characters are enclosed ; in single quotes ('). In all cases the numbers must be between 0 and 255. ; A range a number, followed by the word "to", followed by the other number. ; If more than one number, or range, is used, each must be separated by a ; comma. Sets: Char_ASCII = ' ' to 126 Char_HiBit = ' ' to 165, 168, 173, 224 to 240 Char_All = 0x01 to 0xFF Zone_1 = 1 Zone_2 = 2 Zone_3 = 3 Zone_4 = 4 Zone_5 = 5 Zone_6 = 6 Zone_Fido = 1 to 6 Zone_All = 1 to 255 ; **************************************************************************** ; ; Default Message Standards ; ; This section contains the default settings used for the echo areas. These ; settings can be overridden for specific echoes by using the Area Section. ; ; Most of these parameters test conditions, hence use the "ids" commands. Default: ; Define you system's address and your name. These are used in the ; information messages that GMD generates. ; System.Domain = fidonet.org ; string System.Zone = 0 ; 1 - 255 System.Net = 0 ; 1 - 65535 System.Node = 0 ; 0 - 65535 System.Point = 0 ; 0 - 65535 System.SysOp = "John Doe" ; string ;System.Private_Net = 0 ; 1 - 65535, optional ; The message length is the length of the packed message. This includes the ; header and the "unbounded text" of the message. In other words, all of the ; control fields are included. ; Message.Length = 12288 s ; 8192 - 60000, "ids" ; When GMD wants to send an information message, it will only do so if the ; message is going to one of these zones. Since GMD will not delete a message ; unless it is allowed to send an information message back to the originator, ; not including a zone here will prevent messages from that zone from being ; deleted. GMD is able to save a copy for you, regardless. ; Info.Zones = Zone_1 ; set ; GMD sends two styles of information messages, depending on whether or not ; the non-conforming message was deleted (as per the setting of the "d" ; command). The messages are built from one of two template files, and one ; of two subjects. ; Info_Message.Pass_File = GMD.Pas ; filespec Info_Message.Delete_File = GMD.Del ; filespec Info_Message.Pass_Subject = "Grunged Message Detected" ; string Info_Message.Delete_Subject = "Grunged Message Deleted" ; string ; This is the criteria that GMD uses to test the conformance of the "To" ; field. ; ; - "Alphabet" checks for illegal characters (not in the specified set). ; - "Empty" checks for an empty field. ; - "Length" checks that the field is not longer than specified in FTS-0001. ; To.Alphabet = Char_HiBit s ; set, "ids" To.Empty = y s ; y or n, "is" To.Length = y s ; y or n, "ids" ; This is the criteria that GMD uses to test the conformance of the "From" ; field. See "To.xxx" for descriptions of the tests. ; From.Alphabet = Char_HiBit s ; set, "ids" From.Empty = y s ; y or n, "is" From.Length = y s ; y or n, "ids" ; This is the criteria that GMD uses to test the conformance of the "Subject" ; field. See "To.xxx" for descriptions of the tests. ; Subject.Alphabet = Char_HiBit s ; set, "ids" Subject.Empty = n s ; y or n, "is" Subject.Length = y s ; y or n, "ids" ; This is the criteria that GMD uses to test the conformance of the "Date" ; field. ; ; - "Bad" tests for legal formats as specified in FTS-0001. ; - "One_Space_OK" exempts the case of only having one space, instead of two, ; between the date and time from being tested by "Bad". ; - "Old" tests for dates which are too many days old. ; - "New" tests for dates which are too many days in the future. ; Date.Bad = y s ; y or n, "ids" Date.One_Space_OK = y ; y or n Date.Old = 30 s ; 15 - 255, "ids" Date.New = y s ; y or n, "ids" ; This is the criteria that GMD uses to test the conformance of the "Body" of ; the message. ; ; - "Alphabet" tests for illegal characters (not in the specified set). ; Hidden lines are NOT tested. ; Body.Alphabet = Char_All s ; set, "is" ; This is the criteria that GMD uses to test the conformance of the gated ; origin line(s). A gated origin line starts with " # Origin: ". ; ; - "Sequence" tests that a gated origin line immediately follows another ; gated origin line, unless it is the first one. ; - "Max_Len" tests that the line is no longer than the specified length. ; - "Alphabet" tests for illegal characters (not in the specified set). ; Gated_Origin.Sequence = y ; y or n, "ids" Gated_Origin.Max_Len = 79 ; 79 - 255, "ids" Gated_Origin.Alphabet = Char_HiBit ; set, "ids" ; This is the criteria that GMD uses to test the conformance of the origin ; line. An origin line starts with " * Origin: ". ; ; - "Ending" tests that a ")" is the last character on the origin line. ; - "Exist" tests for the existence of at least 1 origin line. ; - "Sequence" tests that the origin line immediately follows a gated origin ; line, if there are any. ; - "Max_Nr" tests that there are no more than the specified number of origin ; lines. ; - "Max_Len" tests that the line is no longer than the specified length. ; - "Alphabet" tests for illegal characters (not in the specified set). ; - "Node" tests for a legally formatted node number at the end of the line ; in "()". ; - "Default_Zone" uses the "System.Zone" zone number in case the node number ; does not include a zone. ; - "Default_MsgId" uses the address information in the "MSGID:" hidden line ; as a fallback address for the information message if the address in ; the origin cannot be determined. ; - "Zones" tests for illegal zones (not in the specified set). ; Origin.Ending = y s ; y or n, "ids" Origin.Exist = y s ; y or n, "ids" Origin.Sequence = y s ; y or n, "ids" Origin.Max_Nr = 1 s ; 1 - 10, "ids" Origin.Max_Len = 79 s ; 79 - 255, "ids" Origin.Alphabet = Char_HiBit s ; set, "ids" Origin.Node = y s ; y or n, "ids" Origin.Default_Zone = y ; y or n Origin.Default_MsgId = y ; y or n Origin.Zones = Zone_All s ; set, "ids" ; This is the criteria that GMD uses to test the conformance of the seen-by ; line(s). A seen-by line starts with: "SEEN-BY: ". ; ; - "Exist" tests for the existence of at least 1 seen-by line. ; - "Sequence" tests that the seen-by line immediately follows the origin ; line, or another seen-by line. ; - "Empty" tests that there is at least one node listed. ; - "Max_Len" tests that the line is no longer than the specified length. ; - "Node" tests for a legally formatted node numbers. There must be at least ; one. They must be sorted. There must be no zone or point numbers. ; - "Node_Dupes_OK" exempts the case of only duplicate node numbers from being ; tested by "Node". ; - "Node_Sort_OK" exempts the case of only non-sorted node numbers from being ; tested by "Node". ; - "Max_Nodes" tests that there are no more than the specified number of ; nodes. ; Seen_By.Exist = y s ; y or n, "ids" Seen_By.Sequence = y s ; y or n, "ids" Seen_By.Empty = y s ; y or n, "ids" Seen_By.Max_Len = 80 s ; 80 - 255, "ids" Seen_By.Node = y s ; y or n, "ids" Seen_By.Node_Dupes_OK = y ; y or n Seen_By.Node_Sort_OK = y ; y or n Seen_By.Max_Nodes = 500 s ; 300 - 2000, "ids" ; This is the criteria that GMD uses to test the conformance of the path ; line(s). A path line starts with: "^aPATH: ". ; ; - "Exist" tests for the existence of at least 1 path line. ; - "Sequence" tests that the path line immediately follows the seen-by ; line(s) or another path line. ; - "Empty" tests that there is at least one node listed. ; - "Max_Len" tests that the line is no longer than the specified length. ; - "Node" tests for a legally formatted node numbers. There must be at least ; one. There must be no zone or point numbers. ; - "Node_4D_OK" exempts the cases of zone and point numbers from being tested ; by "Node". ; - "Max_Nodes" tests that there are no more than the specified number of ; nodes. ; Path.Exist = n s ; y or n, "ids" Path.Sequence = y s ; y or n, "ids" Path.Empty = y s ; y or n, "ids" Path.Max_Len = 80 s ; 80 - 255, "ids" Path.Node = y s ; y or n, "ids" Path.Node_4D_OK = n ; y or n Path.Max_Nodes = 200 s ; 100 - 200, "ids" ; This is the criteria that GMD uses to test the conformance of the EOM (end ; of message). ; ; - "Sequence" tests that the EOM immediately follows the path line(s). ; End.Sequence = y s ; y or n, "ids" ; **************************************************************************** ; ; Exception Areas ; ; These are optional sections which contain exceptions to the defaults listed ; in the Default Section. Any setting listed there can be overridden for ; specific echoes. An echo mail area can only be listed in one Exception Area ; Section. ; ; The only required parameter in an Area Section is "Echoes". It lists the ; echo mail areas for which the exceptions which follow it apply. ; ; This is an example of how to set different "Date.Old" criteria for two ; echoes: ; ; Area: ; Echoes = COMM, TECH ; Date.Old = 20 is ; ; This is an example of how someone in an additional Network might set up. ; Note the included file with the list of echoes: ; ; Area: ; Echoes = @Other_Echo.Lst ; System.Domain = other ; System.Zone = 7 ; System.Net = 9999 ; System.Node = 8888 ; System.Point = 0 ; System.SysOp = "Other Name" ; Info.Zones = Zone_7 ; Origin.Zones = Zone_7 is ; ; This is an example of how a Moderator might automate part of his chores. ; It would send out a special information message to anyone who used a ; non-ASCII character in the body of the message. ; ; Area: ; Echoes = MY_ECHO ; Info_Message.Pass_File = My_Echo.Rul ; Body.Alphabet = Char_ASCII is ; - End -