summaryrefslogtreecommitdiff
path: root/contrib/sendmail/KNOWNBUGS
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/sendmail/KNOWNBUGS')
-rw-r--r--contrib/sendmail/KNOWNBUGS244
1 files changed, 0 insertions, 244 deletions
diff --git a/contrib/sendmail/KNOWNBUGS b/contrib/sendmail/KNOWNBUGS
deleted file mode 100644
index b2c6c44327f0..000000000000
--- a/contrib/sendmail/KNOWNBUGS
+++ /dev/null
@@ -1,244 +0,0 @@
-
-
- K N O W N B U G S I N S E N D M A I L
-
-
-The following are bugs or deficiencies in sendmail that we are aware of
-but which have not been fixed in the current release. You probably
-want to get the most up to date version of this from ftp.sendmail.org
-in /pub/sendmail/KNOWNBUGS. For descriptions of bugs that have been
-fixed, see the file RELEASE_NOTES (in the root directory of the sendmail
-distribution).
-
-This list is not guaranteed to be complete.
-
-* Delivery to programs that generate too much output may cause problems
-
- If e-mail is delivered to a program which generates too much
- output, then sendmail may issue an error:
-
- timeout waiting for input from local during Draining Input
-
- Make sure that the program does not generate output beyond a
- status message (corresponding to the exit status). This may
- require a wrapper around the actual program to redirect output
- to /dev/null.
-
- Such a problem has been reported for bulk_mailer.
-
-* Null bytes are not handled properly in headers.
-
- Sendmail should handle full binary data. As it stands, it handles
- all values in the body, but only 0x01-0x80 and 0xA0-0xFF in
- the header. Notably missing is 0x00, which would require a major
- restructuring of the code -- for example, almost no C library support
- could be used to handle strings.
-
-* Header checks are not called if header value is too long or empty.
-
- If the value of a header is longer than 1250 (MAXNAME + MAXATOM - 6)
- characters or it contains a single word longer than 256 (MAXNAME)
- characters then no header check is done even if one is configured for
- the header.
-
-* Sender addresses whose domain part cause a temporary A record lookup
- failure but have a valid MX record will be temporarily rejected in
- the default configuration. Solution: fix the DNS at the sender side.
- If that's not easy to achieve, possible workarounds are:
- - add an entry to the access map:
- dom.ain OK
- - (only for advanced users) replace
-
-# Resolve map (to check if a host exists in check_mail)
-Kresolve host -a<OKR> -T<TEMP>
-
- with
-
-# Resolve map (to check if a host exists in check_mail)
-Kcanon host -a<OKR> -T<TEMP>
-Kdnsmx dns -R MX -a<OKR> -T<TEMP>
-Kresolve sequence dnsmx canon
-
-
-* Duplicate error messages.
-
- Sometimes identical, duplicate error messages can be generated. As
- near as I can tell, this is rare and relatively innocuous.
-
-* Misleading error messages.
-
- If an illegal address is specified on the command line together
- with at least one valid address and PostmasterCopy is set, the
- DSN does not contain the illegal address, but only the valid
- address(es).
-
-* \231 considered harmful.
-
- Header addresses that have the \231 character (and possibly others
- in the range \201 - \237) behave in odd and usually unexpected ways.
-
-* accept() problem on SVR4.
-
- Apparently, the sendmail daemon loop (doing accept()s on the network)
- can get into a weird state on SVR4; it starts logging ``SYSERR:
- getrequests: accept: Protocol Error''. The workaround is to kill
- and restart the sendmail daemon. We don't have an SVR4 system at
- Berkeley that carries more than token mail load, so I can't validate
- this. It is likely to be a glitch in the sockets emulation, since
- "Protocol Error" is not possible error code with Berkeley TCP/IP.
-
- I've also had someone report the message ``sendmail: accept:
- SIOCGPGRP failed errno 22'' on an SVR4 system. This message is
- not in the sendmail source code, so I assume it is also a bug
- in the sockets emulation. (Errno 22 is EINVAL "Invalid Argument"
- on all the systems I have available, including Solaris 2.x.)
- Apparently, this problem is due to linking -lc before -lsocket;
- if you are having this problem, check your Makefile.
-
-* accept() problem on Linux.
-
- The accept() in sendmail daemon loop can return ETIMEDOUT. An
- error is reported to syslog:
-
- Jun 9 17:14:12 hostname sendmail[207]: NOQUEUE: SYSERR(root):
- getrequests: accept: Connection timed out
-
- "Connection timed out" is not documented as a valid return from
- accept(2) and this was believed to be a bug in the Linux kernel.
- Later information from the Linux kernel group states that Linux
- 2.0 kernels follow RFC1122 while sendmail follows the original BSD
- (now POSIX 1003.1g draft) specification. The 2.1.X and later kernels
- will follow the POSIX draft.
-
-* Excessive mailing list nesting can run out of file descriptors.
-
- If you have a mailing list that includes lots of other mailing
- lists, each of which has a separate owner, you can run out of
- file descriptors. Each mailing list with a separate owner uses
- one open file descriptor (prior to 8.6.6 it was three open
- file descriptors per list). This is particularly egregious if
- you have your connection cache set to be large.
-
-* Connection caching breaks if you pass the port number as an argument.
-
- If you have a definition such as:
-
- Mport, P=[IPC], F=kmDFMuX, S=11/31, R=21,
- M=2100000, T=DNS/RFC822/SMTP,
- A=IPC [127.0.0.1] $h
-
- (i.e., where $h is the port number instead of the host name) the
- connection caching code will break because it won't notice that
- two messages addressed to different ports should use different
- connections.
-
-* ESMTP SIZE underestimates the size of a message
-
- Sendmail makes no allowance for headers that it adds, nor does it
- account for the SMTP on-the-wire \r\n expansion. It probably doesn't
- allow for 8->7 bit MIME conversions either.
-
-* Client ignores SIZE parameter.
-
- When sendmail acts as client and the server specifies a limit
- for the mail size, sendmail will ignore this and try to send the
- mail anyway. The server will usually reject the MAIL command
- which specifies the size of the message and hence this problem
- is not significant.
-
-* Paths to programs being executed and the mode of program files are
- not checked. Essentially, the RunProgramInUnsafeDirPath and
- RunWritableProgram bits in the DontBlameSendmail option are always
- set. This is not a problem if your system is well managed (that is,
- if binaries and system directories are mode 755 instead of something
- foolish like 777).
-
-* 8-bit data in GECOS field
-
- If the GECOS (personal name) information in the passwd file contains
- 8-bit characters, those characters can be included in the message
- header, which can cause problems when sending SMTP to hosts that
- only accept 7-bit characters.
-
-* 8->7 bit MIME conversion
-
- When sendmail is doing 8->7 bit MIME conversions, and the message
- contains certain MIME body types that cannot be converted to 7-bit,
- sendmail will strip the message to 7-bit.
-
-* 7->8 bit MIME conversion
-
- If a message that is encoded as 7-bit MIME is converted to 8-bit and
- that message when decoded is illegal (e.g., because of long lines or
- illegal characters), sendmail can produce an illegal message.
-
-* MIME encoded full name phrases in the From: header
-
- If a full name phrase includes characters from MustQuoteChars, sendmail
- will quote the entire full name phrase. If MustQuoteChars includes
- characters which are not special characters according to STD 11 (RFC
- 822), this quotation can interfere with MIME encoded full name phrases.
- By default, sendmail includes the single quote character (') in
- MustQuoteChars even though it is not listed as a special character in
- STD 11.
-
-* bestmx map with -z flag truncates the list of MX hosts
-
- A bestmx map configured with the -z flag will truncate the list
- of MX hosts. This prevents creation of strings which are too
- long for ruleset parsing. This can have an adverse effect on the
- relay_based_on_MX feature.
-
-* Saving to ~sender/dead.letter fails if su'ed to root
-
- If ErrorMode is set to print and an error in sending mail occurs,
- the normal action is to print a message to the screen and append
- the message to a dead.letter file in the sender's home directory.
- In the case where the sender is using su to act as root, the file
- safety checks prevent sendmail from saving the dead.letter file
- because the sender's uid and the current real uid do not match.
-
-* Berkeley DB 2.X race condition with fcntl() locking
-
- There is a race condition for Berkeley DB 2.X databases on
- operating systems which use fcntl() style locking, such as
- Solaris. Sendmail locks the map before calling db_open() to
- prevent others from modifying the map while it is being opened.
- Unfortunately, Berkeley DB opens the map, closes it, and then
- reopens it. fcntl() locking drops the lock when any file
- descriptor pointing to the file is closed, even if it is a
- different file descriptor than the one used to initially lock
- the file. As a result there is a possibility that entries in a
- map might not be found during a map rebuild. As a workaround,
- you can use makemap to build a map with a new name and then
- "mv" the new db file to replace the old one.
-
- Sleepycat Software has added code to avoid this race condition to
- Berkeley DB versions after 2.7.5.
-
-* File open timeouts not available on hard mounted NFS file systems
-
- Since SIGALRM does not interrupt an RPC call for hard mounted
- NFS file systems, it is impossible to implement a timeout on a file
- open operation. Therefore, while the NFS server is not responding,
- attempts to open a file on that server will hang. Systems with
- local mail delivery and NFS hard mounted home directories should be
- avoided, as attempts to open the forward files could hang.
-
-* Race condition for delivery to set-user-ID files
-
- Sendmail will deliver to a fail if the file is owned by the DefaultUser
- or has the set-user-ID bit set. Unfortunately, some systems clear that bit
- when a file is modified. Sendmail compensates by resetting the file mode
- back to it's original settings. Unfortunately, there's still a
- permission failure race as sendmail checks the permissions before locking
- the file. This is unavoidable as sendmail must verify the file is safe
- to open before opening it. A file can not be locked until it is open.
-
-* MAIL_HUB always takes precedence over LOCAL_RELAY
-
- Despite the information in the documentation, MAIL_HUB ($H) will always
- be used if set instead of LOCAL_RELAY ($R). This will be fixed in a
- future version.
-
-$Revision: 8.55.2.1 $, Last updated $Date: 2002/12/18 22:38:48 $