Last Update:            17-Nov-2000
Operating System:       OpenVMS, UNIX
Component:              DNS_VERIFY
Base Level Required:    PMDF V6.0-23
Other Requirements:     none

Platform                Subdirectory            File(s) to download
--------                ------------            --------------------
OpenVMS VAX             [.VMS.VAX_EXE]		DNS_VERIFY.EXE
OpenVMS Alpha           [.VMS.ALPHA_EXE 	DNS_VERIFY.EXE
Digital UNIX            osf/lib/                dns_verify
Solaris SPARC           solaris-sparc/lib/      dns_verify
Solaris x86             solaris-x86/lib/        dns_verify
NT Intel                nt/bin/                 n/a
OS2                     os2/                    n/a


GENERAL INFO
-------------

****
****	Note - this module should be used with caution. If the dns
****    or connections to the sites being used for dns verification
****    become unavailable then things will break. Use of this module
****    can also impact performance as well as result in unreliable
****    mail reception due to the dependency on multiple DNS lookups 
****    for every incoming SMTP connection. In general, usage of
****    this module is not recommended.
****

    	When FTPing these images, be sure to FTP them as binary images. Before
	retrieving such an image with the GET command, be sure to put your FTP
	into binary mode with a command such as TYPE IMAGE or TYPE BINARY.

Change history
---------------
17-Nov-2000
  Updated dns_verify so that it will fall through to using A records
  when TXT records are not available. Sites must use the callout
  from a mapping table to get this fallthru behavior.

  There are two modes for this function

  dns_verify_domain_port is used in a PORT_ACCESS mapping. dns_verify_domain
  is used in a SEND_ACCESS, MAIL_ACCESS, or similar mapping table.


  Example 1. Using this in a mail_access mapping:
  (Note these entries are to be typed on one long line.)

  TCP|*|*|*|*|SMTP|*|tcp_local|*|*|* $C$[/pmdf/lib/dns_verify,dns_verify_domain,$2,dialups.mail-abuse.org]$E
  ! These rules implement the MAPS RSS list (relay spam stopper)
  TCP|*|*|*|*|SMTP|*|tcp_local|*|*|* $C$[/pmdf/lib/dns_verify,dns_verify_domain,$2,relays.mail-abuse.org]$E

  Example 2. Using this in a PORT_ACCESS mapping:

  For the dns_verify_domain_port function you would use:

PORT_ACCESS

 TCP|*|25|*|*  $C$[/pmdf/lib/dns_verify,dns_verify_domain_port,$1,relays.mail-abuse.org]$E
 TCP|*|25|*|*  $C$[/pmdf/lib/dns_verify,dns_verify_domain_port,$1,dialups.mail-abuse.org]$E


  There is an optional parameter which is the text to return when no TXT
  record is available.

  TCP|*|25|*|*   $C$[pmdf_dns_verify,dns_verify_domain_port,
$1,relays.mail-abuse.org,text-string-here]$E
                         ^^^^^^^^^^^^^^^^

The default string is "No Error Text Available" if one isn't specified.


  VMS sites should use pmdf_dns_verify and Unix sites should use
  /pmdf/lib/dns_verify to call the image.

  In practice, using this probably will require a more complicated setup, 
  but the general form will be like the examples here.


Installation
------------

OpenVMS [VAX] [ALPHA]
        Copy dns_verify to pmdf_exe: and define the following logical name:

	$ DEFINE/SYSTEM/EXEC PMDF_DNS_VERIFY PMDF_EXE:DNS_VERIFY.EXE

UNIX [Solaris] [Digital UNIX]

    Copy dns_verify to /pmdf/lib/. Make sure it is owned by pmdf or root.

NT