Hi,
running:
Postfix 2.9.5
Output of uname -a:
SunOS hostname 5.10 Generic_147440-27 sun4v sparc sun4v
Running multiple instances in a multi-instance setup: the instance that
is used and for which an SMTP client has problems is named postfix-app.
Output of postconf -n :
# /opt/postfix/sbin/postmulti -i postfix-app -x postconf -n
2bounce_notice_recipient = suppd...@example.nl
alias_maps = dbm:/opt/postfix-app/etc/aliases
append_dot_mydomain = no
authorized_submit_users =
bounce_notice_recipient = suppd...@example.nl
bounce_queue_lifetime = 3d
command_directory = /opt/postfix/sbin
config_directory = /opt/postfix-app/etc
daemon_directory = /opt/postfix/libexec
data_directory = /opt/postfix-app/lib
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd
$daemon_directory/$process_name $process_id & sleep 5
default_transport = smtp
disable_vrfy_command = yes
error_notice_recipient = suppd...@example.nl
html_directory = no
inet_protocols = ipv4
mail_owner = postfix
mailq_path = /opt/postfix/bin/mailq
manpage_directory = /usr/local/man
maximal_queue_lifetime = 4d
multi_instance_enable = yes
multi_instance_group = mta
multi_instance_name = postfix-app
mydestination = $myhostname
mydomain = app.example.nl
myhostname = mta12.app.example.nl
mynetworks = cidr:/opt/postfix-app/etc/mynetworks
myorigin = $myhostname
newaliases_path = /opt/postfix/bin/newaliases
notify_classes = resource, software, bounce
queue_directory = /opt/postfix-app/spool
readme_directory = /opt/postfix/readme
sample_directory = /opt/postfix/etc
sendmail_path = /opt/postfix/sbin/sendmail
setgid_group = postdrop
smtpd_client_restrictions = check_client_access
dbm:/opt/postfix-app/etc/access
smtpd_delay_reject = no
smtpd_helo_required = yes
smtpd_recipient_restrictions = permit_mynetworks,reject
syslog_facility = mail
syslog_name = postfix-app
transport_maps = dbm:/opt/postfix-app/etc/transport
In general, Postfix is running fine and this Postfix instance is also
running fine. However, there is one SMTP client (of which we are not in
control), that sends messages with long lines to this server running
Postfix. There is a problem with the communication between this client
and the server: whenever the clients sends a message which includes one
long line (377 characters, excluding the CRLF), the client seems to
'hang' after character # 256 of this long line is transmitted. Then,
after some time the connection times out.
The part of the SMTP DATA that is causing problems is typically
something like:
...
------=_Part_5045_26475068.1360013318406
Content-Type: application/smil; name=smil.xml; charset=UTF-8
Content-Transfer-Encoding: 7bit
Content-ID: <smil>
Content-Location: smil.xml
<smil><head><layout><root-layout width="240" height="320"/><region
id="Image" left="0" top="0" width="240" height="220" fit="meet"/><region
id="Text" left="0" top="220" width="240" height="100"
fit="meet"/></layout></head><body><par dur="5000ms"><img
src="cid:_external_images_media_623478$IMAG0503.jpg"
region="Image"/><text src="text_0.txt" region="Text"/></par></body></smil>
------=_Part_5045_26475068.1360013318406
...
On the client side the communication looks like:
...
...
------=_Part_5045_26475068.1360013318406
Content-Type: application/smil; name=smil.xml; charset=UTF-8
Content-Transfer-Encoding: 7bit
Content-ID: <smil>
Content-Location: smil.xml
<smil><head><layout><root-layout width="240" height="320"/><region
id="Image" left="0" top="0" width="240" height="220" fit="meet"/><region
id="Text" left="0" top="220" width="240" height="100"
fit="meet"/></layout></head><body><par dur="5000ms"><img src="c421 4.4.2
mta12.app.example.nl Error: timeout exceeded
Connection to hostname closed by foreign host.
And the logfile on the (Postfix) SMTP server side shows:
Feb 11 22:19:16 hostname postfix-app/smtpd[22726]: [ID 197553 mail.info]
> smtp. client[10.10.16.132]: 250 2.1.5 Ok
Feb 11 22:19:24 hostname postfix-app/smtpd[22726]: [ID 197553 mail.info]
< smtp. client[10.10.16.132]: DATA
Feb 11 22:19:24 hostname postfix-app/smtpd[22726]: [ID 197553 mail.info]
> smtp. client[10.10.16.132]: 354 End data with <CR><LF>.<CR><LF>
Feb 11 22:25:11 hostname postfix-app/smtpd[22726]: [ID 197553 mail.info]
smtp_get: timeout
Feb 11 22:25:11 hostname postfix-app/smtpd[22726]: [ID 197553 mail.info]
> smtp. client[10.10.16.132]: 421 4.4.2 mta12.app.example.nl Error:
timeout exceeded
Feb 11 22:25:11 hostname postfix-app/smtpd[22726]: [ID 197553 mail.info]
match_hostname: smtp. client ~?
cidr:/opt/postfix-app/etc/mynetworks(0,lock|fold_fix)
Feb 11 22:25:11 hostname postfix-app/smtpd[22726]: [ID 197553 mail.info]
dict_cidr_lookup: /opt/postfix-app/etc/mynetworks: smtp. client
Feb 11 22:25:11 hostname postfix-app/smtpd[22726]: [ID 197553 mail.info]
match_hostaddr: 10.10.16.132 ~?
cidr:/opt/postfix-app/etc/mynetworks(0,lock|fold_fix)
Feb 11 22:25:11 hostname postfix-app/smtpd[22726]: [ID 197553 mail.info]
dict_cidr_lookup: /opt/postfix-app/etc/mynetworks: 10.10.16.132
Feb 11 22:25:11 hostname postfix-app/smtpd[22726]: [ID 197553 mail.info]
timeout after DATA (1881 bytes) from smtp. client[10.10.16.132]
Feb 11 22:25:11 hostname postfix-app/smtpd[22726]: [ID 197553 mail.info]
disconnect from smtp. client[10.10.16.132]
Feb 11 22:25:11 hostname postfix-app/smtpd[22726]: [ID 197553 mail.info]
master_notify: status 1
Feb 11 22:25:11 hostname postfix-app/smtpd[22726]: [ID 197553 mail.info]
connection closed
Feb 11 22:25:11 hostname postfix-app/cleanup[22729]: [ID 197553
mail.info] 5DB473E9D8: message-id=<31707045.1360013318423.JavaMail@somehost>
Feb 11 22:25:11 hostname postfix-app/smtpd[22726]: [ID 197553 mail.info]
proxymap stream disconnect
Feb 11 22:25:11 hostname postfix-app/smtpd[22726]: [ID 197553 mail.info]
rewrite stream disconnect
Feb 11 22:26:51 hostname postfix-app/smtpd[22726]: [ID 197553 mail.info]
idle timeout -- exiting
As far as I know there is no limitation in Postfix where Postfix would
not support lines longer than 256 characters during SMTP server
operation. I assume it will support lines as long as 1,000 positions,
including CRLF (see RFC5321). Are there any known limitations of this
kind for the combination of Postfix on Solaris 10 (Sparc), which could
cause this problem?
If I telnet to a Redhat Linux system (running Postfix 2.8.0) on port 25
and I submit the same data with the same long line during SMTP DATA, I
cannot reproduce this problem. However, if I do a telnet to a neighbor
Solaris Sparc system (running Postfix 2.8.0) on port 25, I can reproduce
this problem. So, is the problem Solaris-specific? Is it network-related?
Any ideas what to check next c.q. how to debug this problem further?
/rolf