Helo is an ip address

flamewalker

Verified User
Joined
Aug 21, 2007
Messages
64
I have run into this before, and I thought I whitelisted the IP address (a customers' server, that was sending the IP address as helo) in the whitelist_hosts_ip file in the /etc/virtual directory. However it doesn't seem to be working this time.

Customer is on a static IP addres.

I did restart exim.

Any ideas?

Thanks!
 
They are attempting to login. The device is a phone system, and the tech has no way to change the HELO or host name. It fails on the HELO, so they can't login.
 
Better find someone who does have a way to change it then.

Unfortunately it is not a very smart phone system. The only place in the configuration is a system name, which is set, but it still HELO's the IP address.

Any clues on how I could modify the exim.conf to skip the IP HELO check for IP's in the /etc/virtual/whitelist_hosts_ip file? Would that be doable?

Thanks again!

EDIT: These lines to be specific:

deny message = HELO is an IP address (See RFC2821 4.1.3)
condition = ${if isip{$sender_helo_name}}

Am I mistaken that if an IP address is in the whitelist_hosts_ip file, it shouldn't be hitting on the HELO check?
 
Last edited:
I am sure you could change exim.conf to make it work the way you want but I dont know the syntax of coding the file. You could private message jlasman or wait for him to post here. He is the one that made the exim.conf file.
 
Hello,

You might want to edit your /etc/exim.conf find these lines:

Code:
#EDIT#25:
acl_check_helo:
  # accept mail originating on this server unconditionally
  accept  hosts = @[] : @
  # deny if the HELO pretends to be this host
    deny message = Bad HELO - Host impersonating hostname [$sender_helo_name]
      condition = ${if or { \
                            {match{$sender_helo_name}{$smtp_active_hostname}} \
                            {eq{$sender_helo_name}{[$interface_address]}} \
                          } {true}{false} }
  # deny if the HELO is an IP address
    deny message = HELO is an IP address (See RFC2821 4.1.3)
         condition   = ${if isip{$sender_helo_name}}
  # deny if the HELO pretends to be one of the domains hosted on the server
    deny message = Bad HELO - Host impersonating domain name [$sender_helo_name]
        condition = ${if match_domain{$sender_helo_name}{+local_domains}{true}{false}}
        hosts = ! +relay_hosts
  accept

and change them to:

Code:
#EDIT#25:
acl_check_helo:
  # accept mail originating on this server unconditionally
  accept  hosts = @[] : @
  # deny if the HELO pretends to be this host
    deny message = Bad HELO - Host impersonating hostname [$sender_helo_name]
      condition = ${if or { \
                            {match{$sender_helo_name}{$smtp_active_hostname}} \
                            {eq{$sender_helo_name}{[$interface_address]}} \
                          } {true}{false} }
  # deny if the HELO is an IP address
    deny message = HELO is an IP address (See RFC2821 4.1.3)
         condition  = ${if eq{$interface_port}{25}}
         condition   = ${if isip{$sender_helo_name}}
  # deny if the HELO pretends to be one of the domains hosted on the server
    deny message = Bad HELO - Host impersonating domain name [$sender_helo_name]
        condition = ${if match_domain{$sender_helo_name}{+local_domains}{true}{false}}
        hosts = ! +relay_hosts
  accept

I've added
Code:
condition  = ${if eq{$interface_port}{25}}
line

Related: http://www.directadmin.com/forum/printthread.php?t=37821&pp=20&page=13
 
Any clues on how I could modify the exim.conf to skip the IP HELO check for IP's in the /etc/virtual/whitelist_hosts_ip file? Would that be doable?
EDIT: These lines to be specific:

deny message = HELO is an IP address (See RFC2821 4.1.3)
condition = ${if isip{$sender_helo_name}}

Am I mistaken that if an IP address is in the whitelist_hosts_ip file, it shouldn't be hitting on the HELO check?
If the whitelist appears before the HELO check, then it will whitelist the login, but it's possible the check for HELO is before the whitelist check. If so, you can move it.

Jeff
 
Back
Top