Description of problem: This is a problem with the postfix documentation being ambiguous for the helo smtp command. The helo command according to the RFC specification requires a valid hostname parameter or it gives a "501 Syntax: HELO hostname" error. If the parameter is provided but invalid, the error is produced. If a user wants to change the reject code, they can do so by changing the following parameters in /etc/postfix/main.cf smtpd_helo_restrictions = reject_invalid_helo_hostname invalid_hostname_reject_code = 554 smtpd_delay_reject = no If the client does not provide a hostname with the helo command it is "hard coded" to provide the "501 Syntax: HELO hostname" error response and no matter what parameters are used in /etc/postfix/*, it will always display the same error. **This needs to be clearly stated in the documentation. Here is a code snippet that shows the error code is hard coded (notice line 1313): postfix-2.3.3/src/smtpd/smtpd.c 1306 /* 1307 * RFC 2034: the text part of all 2xx, 4xx, and 5xx SMTP responses other 1308 * than the initial greeting and any response to HELO or EHLO are 1309 * prefaced with a status code as defined in RFC 3463. 1310 */ 1311 if (argc < 2) { 1312 state->error_mask |= MAIL_ERROR_PROTOCOL; 1313 smtpd_chat_reply(state, "501 Syntax: HELO hostname"); 1314 return (-1); Version-Release number of selected component (if applicable): postfix-2.3.3-2.1.el5_2-i386 How reproducible: always Steps to Reproduce: 1. Install and configure postfix 2. telnet localhost 25 3. helo (with no parameters) Actual results: helo responds with a "501 Syntax: HELO hostname" error Expected results: helo responds with a "501 Syntax: HELO hostname" error Additional info: Postfix docs: http://www.postfix.org/postconf.5.html#reject_invalid_helo_hostname In this doc the passage reads "Reject the request when the HELO or EHLO hostname syntax is invalid." Red Hat Docs: /usr/share/doc/postfix-2.3.3/README_FILES/SMTPD_ACCESS_README In the "Dangerous use of smtpd_recipient_restrictions" section **All that is required is a change to the documentation stating the the function of the helo command is when hostname is not provided with the "helo" command and not affected by changes in the postfix configuration files.
This request was evaluated by Red Hat Product Management for inclusion in the current release of Red Hat Enterprise Linux. Because the affected component is not scheduled to be updated in the current release, Red Hat is unfortunately unable to address this request at this time. Red Hat invites you to ask your support representative to propose this request, if appropriate and relevant, in the next release of Red Hat Enterprise Linux.
This request was evaluated by Red Hat Product Management for inclusion in a Red Hat Enterprise Linux release. Product Management has requested further review of this request by Red Hat Engineering, for potential inclusion in a Red Hat Enterprise Linux release for currently deployed products. This request is not yet committed for inclusion in a release.
Reply from upstream with updated text: > Reject the request when the HELO or EHLO command specifies a malformed hostname.
Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: Prior to this update the postconf documentation about the reject_invalid_helo_hostname restriction was ambiguous. Now the documentation is clarified.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2013-0054.html