Last Update:            28-Nov-2000
Operating System:       UNIX,NT
Component:              PMDF Shared Library
Base Level Required:    PMDF V6.0-23
Other Requirements:     none

Platform                Subdirectory            File(s) to download
--------                ------------            --------------------
OpenVMS VAX             [.VMS.VAX_EXE]          n/a
OpenVMS Alpha           [.VMS.ALPHA_EXE]        n/a
Tru64 Unix            osf/lib/                libpmdf.so
Solaris SPARC           solaris-sparc/lib/      libpmdf.so
Solaris x86             solaris-x86/lib/        libpmdf.so
NT Intel                nt/bin/                 libpmdf.dll
OS2                     os2/                    n/a


General info
------------
     You will need to have a License PAK with a release date after the date of
  this libpmdf.so to run PMDF.  Note that this may apply to other images as 
  well.

     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
--------------
28-Nov-2000
  Fixed a problem which would cause the tcp_smtp_server to core. All
  UNIX and nt sites who have downloaded a libpmdf.* after 26-oct-2000
  should ftp a newer libpmdf.so (UNIX) or libpmdf.dll (nt) image.

20-Nov-2000
  Allow matching on a parameter whose value was empty or null. For example
  this would be useful for matching during conversion on content-type and
  content-disposition type header with charset="" specified.

26-Oct-2000
  Fixed an additional problem related to charset-conversion where
  the os_create_filename code wasn't working properly. (NT only)

16-Oct-2000
  Fix corruption problems causing messages like:
  SCDB: /pmdf/table/queue_cache/tcp_local.db: page 538976288 doesn't
  exist, create flag not set This problem could manifest itself in several ways.
  
  Fixed a problem where PMDF would lock up if enough sendmail's were 
  launched at the same time, for example by a user with hundreds of 
  lines of the form:
        mailx user1 < myspam.txt
        mailx user2 < myspam.txt
        ...
  Fixed a problem when calling crdb repeatedly on a live system 
  could cause cause database confusion and/or the "Unable to allocate" 
  type errors.

  All Unix sites getting these fixes should also get a new /pmdf/bin/crdb
  and /pmdf/lib/libdb.so for their platforms. Be sure to 
  read the additional installation instructions below for clearing
  out shared memory and the database files when applying these
  particular fixes. (Unix Only)

15-Oct-2000
  Fixed a problem where the mode data structure wasn't being properly 
  zeroed out prior to use which would cause various sorts of 
  charset-conversion operations to fail (sometimes even causing accvios). 
  Sites should get a new conversion.exe image as well.

11-Oct-2000
  Fixed a problem with the call used on NT to create a subprocess 
  during a charset-conversion. (NT only)

5-Oct-2000
  Fix for 'pmdf decode' whereby user would get an error message
  about not being about to write to the output file.  E.g.:
  ---------
  %pmdf decode file.enc file.dat
  13:00:50.95: Exit code = 9 (9) - error during write to output file
  (Unix Only)

4-Oct-2000
  This fixes problems in V6.0 PMDF-X400.  It corrects problems with the
  PerRecipientIndicators and PerRecipientReportTransferFields fields
  generated when sending to X.400; in particular, since
  PerRecipientIndicators controls whether a recipient (envelope To:
  address) is considered "active" (as well as whether it has a delivery
  receipt request), prior to this fix remote X.400 MTAs might ignore or
  otherwise not properly handle intended envelope To: addresses. It also
  corrects potential problems with generating a new Message-id: if none was
  originally present, for messages either going to or coming from X.400.
  (Solaris-SPARC only)

27-Sep-2000
  Fixed a problem where the pmdf msgstore command noforward didn't work.
  (NT only)

22-Sep-2000
  Fixed a problem whereby a null character was being appended to the
  authenticated from: address. 

  Fixed a bug with the commentstrip keyword whereby the enclosing parentheses
  were being stripped.

19-Sep-2000
  Fixed several bugs in afile_win32, including the "reconstruct -m" core 
  dump bug and a bug which could cause corruption of the mailbox list any 
  time a user was created or deleted. You must get a new libmsgstore.dll
  dated 19-Sep-2000. (NT only)

  All NT MessageStore customers should get this fix.

18-Sep-2000
  Fixed warning messages from the underlying database technology
  which reported its attempts to log the database operation.
  These messages do not impact functionality and were only informational.
  (Solaris and Tru64 Unix platforms only)
 
25-Aug-2000
  Fixed a problem whereby wildcards for channelnames were not being recognized 
  in qm.  (Solaris and Tru64 Unix platforms only)

24-Aug-2000
  Fixed a problem with enforcing mustsaslserver when HELO/EHLO is omitted.

22-Aug-2000
  Fixed a database problem which affected the proper functioning of the directory
  channel.

10-Aug-2000
  Fixed a problem with pmdf send whereby an "unknown error message" error would
  be produced even though the message was properly sent and delivered.

8-Aug-2000
  Previously, addresses that matched the L channel but which contained an @, %, or
  ! character in the username would not get an immediate validity check performed
  on the username -- it would be left to the L channel to check the username. Now 
  such usernames will be looked up in the system password file immediately,
  allowing immediate rejection (for instance, by the SMTP server) in the case of
  invalid such usernames.  (UNIX platforms only)

1-Aug-2000
  Fixed a problem with the $S MAILSERV_ACCESS flag not working.

24-Jul-2000
  Made some additional database fixes.  (NT only)

21-Jul-2000
  Made an enhancement to work around Microsoft Outlook's buffer overflow
  security problem.  Bogus Date: header fields will be replaced with a
  correct field and the bogus field will be used to generate a 
  Date-Warning: header.  Any other header fields of this sort that are 
  illegal will simply be dropped.  Sites wishing to process inner headers
  should use the "inner" channel keyword.

8-Jul-2000
  Fixed a corruption problem whereby garbage could be appended to the end of messages.
  The problem involved the handling of temporary files.

5-Jul-2000
  Made some changes to cleanup after the underlying database technology more
  completely upon exit.

27-Jun-2000
  Fixed a problem whereby the wrong action was taken when a DNS error occurred.
  (NT only)

26-Jun-2000
  Fixed an obscure bug whereby a bogus error, which may contain 8-bit
  characters, would be given if someone issues a syntactically illegal VERB
  command.

20-Jun-2000
  Made some changes to cleanup after the underlying database technology more
  completely upon exit.

  Fixed a problem with huge databases.

14-Jun-2000
  Enhanced the format of the connection failure "Y" entries (written to the
  mail.log* or connection.log* file when the LOG_CONNECTION PMDF option is set
  appropriately).  "Y" entries now include in the transport information field the
  IP address and port number of the remote SMTP server to which the connection
  attempt was made.  And the application information field of "Y" entries is now
  formatted to match the format used for other sorts (e.g., "O" and "C") of
  entries.  (Previously, "Y" entries omitted the transport information field
  entirely and instead showed application information using the vertical bar
  character where other sorts of entries would use the slash character.)

  Fixed a problem whereby when the sendetrn keyword was used, the TCP/IP 
  channel would not insert a space before the system name on the ETRN command 
  it sent.

5-Jun-2000
  Fixed a problem whereby tcp_smtp_clients were staying around too long, 
  appearing to hang.

22-May-2000
  Fixed a problem with looping tcp_smtp_clients, instances of lost header fields,
  and incorrect MIME encoding.  All customers running PMDF V6.0-23 should
  upgrade the libpmdf.so/libpmdf.dll immediately.

18-May-2000
  Fixed a problem whereby spurious database messages would be output to the 
  screen upon sending mail interactively.  The messages are harmless but 
  distracting.  They typicall refer to not being able to open aliasesdb.db 
  and reversedb.db.  (UNIX platforms only)  

17-May-2000
  Fixed a problem whereby the x400_mtaid database was not using the pmdf_tailor
  file entry for PMDF_X400_MTAID_DATABASE.  (UNIX platforms only)

4-May-2000
  Fixed a problem whereby messages which should have been discarded because of
  mailbox, channel, or system-wide filter settings were being processed rather
  than discarded.

3-May-2000
  Fixed a problem whereby the SMTP client would wait ten times too long for
  a response from a failed connection.

26-Apr-2000
  Fixed a serious bug whereby the new automatic table expansion code would
  fail to copy many/most pointers to alias entries, resulting in lost
  aliases, broken aliases, and possibly a segmentation fault or Dr. Watson
  error on NT.

  Fixed a potential problem with databases locking up.

  The new libpmdf.dll fixes an occasional tcp_smtp_server crash which 
  generates a Dr. Watson file indicating a problem in POPSTORE_rewrite routine.
  (NT only)

22-Apr-2000
  Made a change whereby not having a filter file will no longer be a problem if
  the keyword is present on the channel.

17-Apr-2000
  A "temporary failure on this recipient while succeeding on other recipient"
  occurrence -- corresponding to mail.log "Z" records -- will now get counted
  in the PMDF counters as an "Attempted" message, rather than as a "Failed"
  message as previously.

14-Apr-2000
  Fixed a problem when using the 'pmdf msgstore' to modify the password of a
  msgstore user who also exists in the NT system.  This is a NT only bug.

13-Apr-2000
  Fixed a problem whereby the LOG_HEADER option in the option.dat file would
  not log the header in the mail.log* files.

12-Apr-2000
  Fixed a locking problem which could generate a segmentation fault.  (UNIX
  platforms only)

11-Apr-2000
  Fixed a problem whereby issuing a "pmdf test -rewrite" command from an
  unpriviledged account could result in a "permission denied" error.  (UNIX
  platforms only)

3-Apr-2000
  1.  Fixed a problem in PMDF's notification message generation whereby in some
  cases PMDF wasn't propagating extended status codes received back out to the
  Status: field of the message/delivery-status part of the notification message.

  2.  Fixed a problem whereby concurrent programs operating on a database
  may not see each others' updates.  For example, if the aliases database
  is extended while PMDF is running:

        # pmdf crdb -append newaliases.txt PMDF_ALIAS_DATABASE

  ..then a currently executing TCP SMTP server (/pmdf/bin/tcp_smtp_server),
  would not see the updates if it had already consulted the alias database 
  at least once, 

  Another example: if a message store user was using the password database
  for authentication, but changed the password using the 'pmdf password'
  command, the currently executing IMAP server would fail to see the update.

  A restart of PMDF services would enable all new entries to be seen and
  used.

23-Mar-2000
  Made an enhancement whereby Date: fields with invalid time zone information
  will simply be converted to GMT by PMDF.

  The NOTIFICATION_LANGUAGE mapping table probes now include the first 
  recipient address.

  Fixed a problem whereby the port_access-info and application-info were not
  being used in FROM_ACCESS mapping table probes.

19-Mar-2000
  Improved the handling of Sun-format message formats.  PMDF is capable of
  converting from the non-standard message format used by some Sun applications 
  to standard MIME message format (e.g., via a CHARSET-CONVERSION of YES). 
  Sun changed their non-standard format at one point; this PMDF enhancement
  provides support for converting messages of the modified Sun-format,
  including support for the X-Sun-Content-length: header.

17-Mar-2000
  Fixed revision level

16-Mar-2000
  Fixed a problem whereby the last character of a parameter on a MIME header
  could be lost, such as the last character of a CHARSET parameter.

  Fixed a problem in the debug output routine.

14-Mar-2000
  Fixed a HUGE bug in the PMDF configuration auto table resizing. This could
  cause aborts and mysterious symptoms after adding rewrite rules, channels,
  mappings, aliases, etc., to the PMDF configuration.  ALL PMDF SITES SHOULD 
  FETCH THIS PATCH.

10-Mar-2000
  Fixed the size calculation of the message for the dequeue record in the
  mail.log_current file when BLOCK_SIZE=1 in the option.dat file.

  Made an image with memory allocation debugging.

5-Mar-2000
  Made a fix to the popstore.

Installation
------------
OpenVMS

  Not applicable


Solaris, Tru64 Unix

     Before installing a new libpmdf.so, issue the following command:

        # pmdf shutdown

     Failure to issue the above command could result in the current processes
  not recognizing commands (i.e., restart and shutdown) with the new 
  libpmdf.so in place.

     To install the new shared library, place it into the /pmdf/lib/ directory
  and then execute the following commands:
        
        # chown pmdf:bin /pmdf/lib/libpmdf.so
        # chmod 755 /pmdf/lib/libpmdf.so


     In some cases new versions of libpmdf.so may alter the format of compiled
  configurations. When this happens recompilation is also necessary:
 
        # pmdf cnbuild -option

     Failure to recompile the configuration after installing new versions of 
  libpmdf.so may lead to "compiled configuration version mismatch" errors.


     Sites should also clean out the database files and memory
  (You should only have to do this the first time you get
  a new libpmdf.so patch dated after 15-oct-2000):

       # cd /pmdf/table/queue_cache
       # rm *.db
       # pmdf cleandb

     Because of an addition to information stored in shared memory,
  please also issue a command to clean out PMDF's shared memory 
  segments after making sure all PMDF processes have been shutdown:
  
       # ipcs -a | grep pmdf | awk '{printf "-m %d\n",$2}' | xargs ipcrm
    Then rebuild the cache files
       # pmdf cache -sync

    Next, be sure to start PMDF by issuing the following command:

        # pmdf startup

NT

    Before installing a new libpmdf.dll, issue the following command:

      c:  pmdf shutdown

    Failure to issue the above command could result in the current processes
  not recognizing commands (i.e., restart and shutdown) with the new
  libpmdf.dll in place.

    To install the new shared library, place it into the c:\pmdf\bin\
  directory.

    In some cases new versions of libpmdf.dll may alter the format of compiled
  configurations.  When this happens recompilation is necessary:

      c: pmdf cnbuild

    Failure to recompile the configuration after installing new versions of
  libpmdf.dll may lead to "compiled configuration version mismatch" errors.

    Next, be sure to start PMDF by issuing the following command:

      c: pmdf startup

Search About Contact Home