Page 1 of 1

Exim user problem

PostPosted: Mon Aug 09, 2010 6:20 am
by Thasaidon
Hi all!

it's been a while since I've last been here, but Freesco was just running fine and dandy up till last night.

Here's the problem:
I have been using a certain user to send my mail via Freesco with Exim (exim_4.20_phbc50) without problems.
But since last night, this user is not allowed to send messages anymore.
I've tried sending mail with other valid usernames which works perfectly.

Hence, I thought it would be a problem with this particular user.
So I deleted and then added the user via the setup menu, via de web control panel and via the commandline, but nothing seems to work. Everytime I try to send mail with this account, I get the following error in my logs:

Code: Select all
Aug  9 13:05:13 - exim[12848]: 2010-08-09 13:05:13 login authenticator failed for []: 535 Incorrect authentication data (set_id=username)

where is my host pc running Mozilla Thunderbird 3.0.6
and "username" is faked to cover up the real username I'm using.

I even removed and added the account from my Thunderbird, but without luck.
I also removed and reinstalled the Exim package, but also without result.

Now here comes the weird part.
If I log in my webmail (webmail.cgi) via my browser I am able to login with this username without problems!
The only difference is that the server is set to "localhost" in my webmail, however, if I change this to my mail domain, it still works.

Go figure?!?!

Does anybody have any clue as to what the problem could be?
I've been googling this error all day now, and still didn't find a solution.

Thanx in advance

I forgot to mention that it's only sending mail through Exim that isn't working for this one particular user.
Receiving the mail via Teapop works perfectly with the same user account.
Also, mail send to this useraccount is being received by Exim correctly too.

Re: Exim user problem

PostPosted: Mon Aug 09, 2010 7:15 pm
by Lightning
I have seen this happen when I manually edit'ed the passwd file and gave a specific user root privileges of 0:0. So be certain the user name is a standard user ID like 500+:100

I would also install the exim_admin+ package and take a look at the queue. You may have a BUNCH of items in there causing problems. If you do just delete them in the control panel addon package section for the exim_admin+

Re: Exim user problem

PostPosted: Tue Aug 10, 2010 1:44 am
by Thasaidon
Thanx for the reply.

However, this is a spontaneous problem which occurred overnight...
Nothing has changed on my Freesco for a long time (except for some uploading to the webserver).

Also, the user is just a normal user which I created a long time ago for my main e-mail account, and nothing has changed regarding this user either.
Code: Select all

As a side note, this user is only used for e-mail, the only thing I changed when I created this user (a long time ago) is...
Code: Select all
Code: Select all
at the end of the userline.
and set it's home directory to /
However, I did the same for all other "e-mail" users, and they still work ok...

Also, when I removed this user and added the account again, I didn't change the passwd file, but it still didn't work.
I even copied a backup passwd file over the current one, but still without result.

the "exim_admin+" package is only available for Freesco 0.4.x when running Exim 4.50.
But I'm running Freesco 0.3.8 with Exim 4.20
Do I need to upgrade? or is there an exim_admin+ package for 0.3.8 with 4.20 ?

However, I did some manual checking, and there are no messages in any que
Code: Select all
[user@Linux] exim -bpc

A que run shows no problems either
Code: Select all
[user@Linux] exim -q -v
LOG: queue_run MAIN
  Start queue run: pid=4730
LOG: queue_run MAIN
  End queue run: pid=4730

I also checked if SMTP is working correctly
Code: Select all
[user@Linux] exim -bh

**** SMTP testing session as if from host
**** but without any ident (RFC 1413) callback.
**** This is not for real!

>>> host in host_lookup? yes (matched "*")
>>> looking up host name for
>>> IP address lookup yielded
>>> gethostbyname looked up these IP addresses:
>>>   name= address=
>>> checking addresses for
>>> host in host_reject_connection? no (option unset)
>>> host in sender_unqualified_hosts? no (option unset)
>>> host in recipient_unqualified_hosts? no (option unset)
>>> host in helo_verify_hosts? no (option unset)
>>> host in helo_try_verify_hosts? no (option unset)
>>> host in helo_accept_junk_hosts? no (option unset)
220 ESMTP Exim 4.20 Tue, 10 Aug 2010 08:30:08 +0000

221 closing connection

And finally, Exim's config
Code: Select all
[user@Linux] exim -bP
acl_not_smtp =
acl_smtp_auth =
acl_smtp_connect =
acl_smtp_data =
acl_smtp_etrn =
acl_smtp_expn =
acl_smtp_helo =
acl_smtp_mail =
acl_smtp_rcpt = acl_check_rcpt
acl_smtp_vrfy =
admin_groups =
auth_advertise_hosts = *
auto_thaw = 0s
bi_command =
bounce_message_file =
bounce_message_text =
bounce_sender_authentication =
callout_domain_negative_expire = 3h
callout_domain_positive_expire = 1w
callout_negative_expire = 2h
callout_positive_expire = 1d
callout_random_local_part = $primary_hostname-$tod_epoch-testing
check_log_inodes = 0
check_log_space = 0
check_spool_inodes = 0
check_spool_space = 0
daemon_smtp_port =
delay_warning = 1d
delay_warning_condition = ${if match{$h_precedence:}{(?i)bulk|list|junk}{no}{yes}}
deliver_queue_load_max =
dns_again_means_nonexist =
dns_check_names_pattern = (?i)^(?>(?(1)\.|())[^\W_](?>[a-z0-9-]*[^\W_])?)+$
dns_ipv4_lookup =
dns_retrans = 0s
dns_retry = 0
errors_copy =
errors_reply_to =
exim_group = mail
exim_path = /usr/local/exim/bin/exim
exim_user = 65534
finduser_retries = 0
freeze_tell = username (changed to protect identity)
gecos_name =
gecos_pattern =
header_line_maxsize = 0
header_maxsize = 1048576
helo_accept_junk_hosts =
helo_allow_chars =
helo_lookup_domains = @ : @[]
helo_try_verify_hosts =
helo_verify_hosts =
hold_domains =
host_lookup = *
host_reject_connection =
hosts_treat_as_local =
ignore_bounce_errors_after = 2d
ignore_fromline_hosts =
keep_malformed = 4d
local_from_prefix =
local_from_suffix =
local_interfaces =
local_scan_timeout = 5m
localhost_number =
log_file_path = syslog:/var/log/exim_%slog
log_selector = -queue_run
lookup_open_max = 25
max_username_length = 0
message_body_visible = 500
message_id_header_domain =
message_id_header_text =
message_size_limit = 100M
never_users = root
percent_hack_domains =
pid_file_path =
pipelining_advertise_hosts = *
primary_hostname = (changed to protect my domain)
qualify_domain = (changed to protect my domain)
qualify_recipient = (changed to protect my domain)
queue_domains =
queue_only_file =
queue_only_load =
queue_run_max = 5
queue_smtp_domains =
receive_timeout = 0s
received_header_text = Received: ${if def:sender_rcvhost {from $sender_rcvhost\n        }{${if def:sender_ident {from $sender_ident }}${if def:sender_helo_name {(helo=$sender_helo_name)\n  }}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} (Exim $version_number)\n      id $message_id${if def:received_for {\n for $received_for}}
received_headers_max = 30
recipient_unqualified_hosts =
recipients_max = 0
remote_max_parallel = 2
remote_sort_domains =
retry_data_expire = 1w
retry_interval_max = 1d
return_size_limit = 100K
rfc1413_hosts = *
rfc1413_query_timeout = 30s
sender_unqualified_hosts =
smtp_accept_max = 20
smtp_accept_max_nonmail = 10
smtp_accept_max_nonmail_hosts = *
smtp_accept_max_per_connection = 1000
smtp_accept_max_per_host =
smtp_accept_queue = 0
smtp_accept_queue_per_connection = 10
smtp_accept_reserve = 0
smtp_banner = $primary_hostname ESMTP Exim $version_number $tod_full
smtp_connect_backlog = 20
smtp_etrn_command =
smtp_load_reserve =
smtp_max_unknown_commands = 3
smtp_ratelimit_hosts =
smtp_ratelimit_mail =
smtp_ratelimit_rcpt =
smtp_receive_timeout = 5m
smtp_reserve_hosts =
spool_directory = /mnt/bootdev/router/pkg/mail/spool
syslog_facility =
syslog_processname = exim
system_filter =
system_filter_directory_transport =
system_filter_file_transport =
system_filter_group =
system_filter_pipe_transport =
system_filter_reply_transport =
system_filter_user =
timeout_frozen_after = 1w
timezone =
trusted_groups =
trusted_users =
unknown_login =
unknown_username =
untrusted_set_sender =
uucp_from_pattern = ^From\s+(\S+)\s+(?:[a-zA-Z]{3},?\s+)?(?:[a-zA-Z]{3}\s+\d?\d|\d?\d\s+[a-zA-Z]{3}\s+\d\d(?:\d\d)?)\s+\d\d?:\d\d?
uucp_from_sender = $1
warn_message_file =

So basically, I cant see any problem.

What I really find annoying, is that this particular user is not allowed to send mail from any host on my lan (using different e-mail clients on all hosts).
But when I log in via webmail, this user is allowed to send mail! regardless if I use localhost or my domain as servers for POP and SMTP.

If you need more info, please let me know.

thanx for the help so far.

Re: Exim user problem

PostPosted: Tue Aug 10, 2010 11:59 pm
by Lightning
One test that can be done easily is to manually change the IP address of the client by setting it manually to an IP outside the normal DHCP range and then try to send mail again. Because everything that you are saying points towards some sort of IP ban either in an exim configuration or somewhere on the system or even on the client system.

If this system is already configured manually then I would suggest changing it to DHCP. I would also in either case look at this systems advanced network settings because I have seen Windows update make changes in DNS and gateway settings on the client that completely mess everything up without anyone knowing about it. Which with the circumstances that this happened under leads me to think that is what has happened. Another test would be to try that user name from a different system all together to determine if this really is a FREESCO/Exim problem or a client problem.

P.S. The exim admin plus addon is pretty neat to use. So you might consider the 04x series a but more when 0.4.3 is released in the not to distant future ;)

Re: Exim user problem

PostPosted: Wed Aug 11, 2010 3:46 am
by Thasaidon
Well, at first I thought it might be a host problem too, but I tried it on:

Win7, Thunderbird 3.x
WInXP, Thunderbird 3.x and OutlookExpress
Ubuntu 9.10, Evolution
Android 1.5 default mail program

All different hosts with different OS's, different Mail clients and different IP's.
All hosts are setup manually with fixed IP's with Freesco as their gateway and all of them use the OpenDNS servers.

But the problems is the same on ALL of these different host sytstems.

This one particular user, let's call him
he can recieve mail from Freesco via Teapop
Code: Select all
Aug 11 10:11:53 - teapop[4839]: Successful login for johndoe [] from unknown []
Aug 11 10:11:53 - teapop[4840]: Successful login for janedoe [] from unknown []
Aug 11 10:11:53 - teapop[4841]: Successful login for mariejoe [] from unknown []
Aug 11 10:11:53 - teapop[4839]: johndoe [] R0(0) D0(0) L0(0)
Aug 11 10:11:53 - teapop[4840]: janedoe [] R0(0) D0(0) L0(0)
Aug 11 10:11:53 - teapop[4841]: mariejoe [] R0(0) D0(0) L0(0)

But when using johndoe to send mail, the mail client keeps asking for this users password.
Login to server failed.

with this in Freesco's logs
Code: Select all
Aug 11 10:17:42 - exim[4848]: 2010-08-11 10:17:42 plain authenticator failed for []: 535 Incorrect authentication data (set_id=johndoe)
Aug 11 10:17:42 - exim[4848]: 2010-08-11 10:17:42 login authenticator failed for []: 535 Incorrect authentication data (set_id=johndoe)

But when using janedoe, or mariejoe, from the same host with the same ip using the same mail client, the mail get's send normally.
Code: Select all
Aug 11 10:26:28 - exim[4858]: 2010-08-11 10:26:28 1Oj8Vw-0001GM-7M <= H= [] P=asmtp A=plain:janedoe S=563
Aug 11 10:26:29 - exim[4859]: 2010-08-11 10:26:29 1Oj8Vw-0001GM-7M => R=dnslookup T=remote_smtp []
Aug 11 10:26:29 - exim[4859]: 2010-08-11 10:26:29 1Oj8Vw-0001GM-7M Completed

This occurs on all of my host systems.
So therefore, it has to be either a Freesco problem, or an Exim problem.

So far i've
copied a know working passwd file over the running one and rebooted freesco

removed and added johndoe using the setup menu
removed and added johndoe using the web control panel
removed and added johndoe using the commandline
I didn't edit the passwd file in all 3 cases.
and each time after removing the user, I stopped/started Exim, then added the user again, and then stopped/started Exim again, so the johndoe dir would get deleted and then recreated by Exim in the Spool folder. I didn't reboot Freesco.

Uinstalled Exim and reinstalled it again, using a backup configure file, which was known to be working.

What I'll try next.
setup DHCP and try again on a client with DHCP
Take another look in my network config
re-run Freesco's Ethernet router setup.

P.S. The exim admin plus addon is pretty neat to use. So you might consider the 04x series a but more when 0.4.3 is released in the not to distant future ;)
I'll be looking forward to it :D

Thanx for the help so far.

Re: Exim user problem

PostPosted: Wed Aug 11, 2010 3:01 pm
by Lightning
Well you have pretty much stumped all of my thoughts, but you might try searching the exim configuration file for that user name. If you have the mc package installed it has a very nice search engine that can search a single file or directory for any instance of a word or name.

If that doesn't help then I suggest you send me a PM with that specific user name included so I can duplicate it on my own system, although I am running 4.5

Re: Exim user problem

PostPosted: Wed Aug 11, 2010 3:38 pm
by Thasaidon
Well, I guess I'm as stumped as you are ;-)

Especially because this happened overnight.
On evening it was all still working, the next morning it didn't work anymore.
No config changes, no power outages, nothing...

I'll try and do a checkdisk tomorrow, to see if that fixes anything.
And I'll let MC do a search on the username.

I'll keep you posted.

thanx again.

Re: Exim user problem

PostPosted: Thu Aug 12, 2010 9:26 am
by Thasaidon
Well, I ran a checkdisk, and the system has been undergoing some other hardware tests all day to rule out my hardware.
All seemed ok and no problems were found.

So I decided to restore a (rather old) backup.
However, this backup is a 1on1 HD copy from my running Freesco HD.
So I decided to put the backup HD into an external USB mount, and mount it. Then I copied some exim files and the passwd file from the backup HD.
Then I copied these files over the files on my running Freesco.
I rebooted, and voilĂ !

Don't ask me why, but its all working again!

Code: Select all
Aug 12 16:41:25 - exim[5514]: 2010-08-12 16:41:25 1OjaqL-0001Qw-H6 <= H= [] P=asmtp A=plain:johndoe S=579
Aug 12 16:41:25 - exim[5515]: 2010-08-12 16:41:25 1OjaqL-0001Qw-H6 => johndoe <> R=localuser T=local_delivery
Aug 12 16:41:25 - exim[5515]: 2010-08-12 16:41:25 1OjaqL-0001Qw-H6 Completed

I guess somehow, somewhere, one of the files got corrupted, but by copying them over from the backup HD, the problem was solved...
Too bad I don't know which file it was...

Thanx for all the help!