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