Exim option "srs" unknown

plantheo

Verified User
Joined
Jun 11, 2020
Messages
16
Location
Ezeiza, Argentina
Hi guys.
I've updated Exim but after that the service never started again. When I check the Exim service status i get this: Exim configuration error in line 773 of /etc/exim.conf
option "srs" unknown

Captura de pantalla 2023-10-04 172728.png

Well, that "srs option" is set to "reverse" in line 773. Exim was working fine until the update.
¿Any clues?
 

or Try this.
Code:
./build set exim yes
./build set eximconf yes
./build exim
./build exim_conf
 

or Try this.
Code:
./build set exim yes
./build set eximconf yes
./build exim
./build exim_conf
Thanks! But for the first solution: I don't see any /usr/local/directadmin/custombuild/custom_versions.txt
The closest is /usr/local/directadmin/custombuild/versions.txt. Is that the same file?

I've already tried the second solution with no results :cry:
 
No, that is the original file, you need to create a custom_versions.txt yourself.
Hi Richard. Thanks for all your help. I'm still struggling whit this.

I don't have any custom_version.txt so there's no need to delete that. Looks like a dead end there.

After y check service exim status I get this:

Oct 07 11:16:18 schroeder.xvserver.com systemd[1]: Started Exim Mail Transport Agent.
Oct 07 11:16:18 schroeder.xvserver.com exim[10698]: 2023-10-07 11:16:18 Exim configuration error in line 773 of /etc/exim.conf:
Oct 07 11:16:18 schroeder.xvserver.com exim[10698]: option "srs" unknown

Oct 07 11:16:18 schroeder.xvserver.com systemd[1]: exim.service: main process exited, code=exited, status=1/FAILURE
Oct 07 11:16:18 schroeder.xvserver.com systemd[1]: Unit exim.service entered failed state.
Oct 07 11:16:18 schroeder.xvserver.com systemd[1]: exim.service failed.

The "error in line 773 of /etc/exim.conf" is this one:
Captura de pantalla 2023-10-07 172547.png

I've never touched anything within the exim.conf
Rebuilding exim and exim_conf didn't resolve the issue.
 
I've founded something else. I have a previous exim.conf file in my backup (from 09/18/23). In that file all the lines starting at 770 are COMMENTED:
#srs_router:
# driver = redirect
#condition = ${if exists{/etc/exim.srs.forward.conf}}
# srs = reverse
# data = :blackhole:
# domains = +local_domains


I know I'm pretty basic but... something changed in the last Exim update.
 
So, I've changed /etc/exim.conf, commented the above lines and set ./build set eximconf no
Result:
Captura de pantalla 2023-10-07 180859.png
Exim starts again. Cool... but not so fast. Now I'm back at the SMTP Authentication error 535 again.

All of this are just tests. I know that I must set eximconf to yes. But I'm trying to understand what's happening here... using my basic knowledge.
 
But I'm trying to understand what's happening here...
You did some good investigation and your reply in post #5 made me curious.

So I checked my exim.conf versions and there line 773 is totally different.
Did you ever customized your exim.conf file in any way? Because nowadays the srs file is externally.

Please check your exim.conf and look which version that it is. If you didn't change anything then it should be reading this at the top:
# SpamBlockerTechnology* powered exim.conf, Version 4.5.44

If that is not the case, also doubleck your /etc/exim.pl version. If it contains a version number, then it's an old one.

In that case backup both your exim.conf and exim.pl version to another place so they don't exist anymore in your /etc directory.
So be sure they are moved/deleted and don't exist there anymore.
Also move the exim.srs.forward.conf and exim.srs.conf if present.
Check for presence of /etc/exim.variables.conf.custom and /etc/exim.strings.conf.custom and if present, if important changes were made there.

Then set the exim.conf setting back to yes in the options.conf.
Should ook like this:
Code:
# Mail Settings
exim=yes
eximconf=yes

If that is correct, rebuild the complete thing from the custombuild directory as root:
Code:
./build update
./build exim
./build exim_conf

Does that fix things or change the srs error?
Does the rebuild places back the exim.conf and exim.pl file and if yes which versions, does it also place back (or if not existed) places the exim.srs.forward.conf and exim.srs.conf backup in the /etc/ directory?
 
Does that fix things or change the srs error?
Good morning Richard. Thanks for all your help.

I've checked version of exim.conf and it was 4.5.30. Looks like I have an older version. So I've backed up / deleted the following:
  • /etc/exim.conf
  • /etc/exim.pl
  • /etc/exim.srs.forward.conf
  • /etc/exim.srs.conf

There were no /etc/exim.variables.conf.custom or /etc/exim.strings.conf.custom
The file /etc/exim.pl had no version number so I guess is the latest version.

After that I did a Rebuild but the exim.conf didn't change. It remains 4.5.30. And Exim didn't start again because of the same error...
 
It remains 4.5.30.
That is odd.
Can you issue this command and output the versions (from the custombuild directory):
./build versions

The out put needed is on top the Directadmin versions and then the Exim versions.

You might either have some old DA version or something else is preventing you form updating Exim.
Can you also state your OS Distro and version?
 
Is there something outdated?
I didn't check all yet, but on a quick look everything seems totally up to date except....

This is what I have.
Latest version of exim.conf: 4.5.44
Installed version of exim.conf: 4.5.44

So only exim.conf is not up to date. You say you don't have any custom_versions.txt file.
Can you check your current versions.txt and see if some conf is mentioned in there? Like exim.conf or eximconf or exim_conf?

If yes, delete the versions.txt (or maybe better, move it somewhere) and re-issue these commands:
Code:
./build update
./build update_versions
 
Can you check your current versions.txt and see if some conf is mentioned in there?
The only thing "exim related" is exim:4.96.1-7-g79877b70e:
I've deleted versions.txt and then ./build update_versions but then I get this error:
Incompatible MySQL 5.7 version is configured, version '' is not part of '5.7', please check if there is a custom version configured for 'mysql5.7'.
 
Well, after a few hours trying my guess is that ./build update_versions didn't downloaded any updated versions.txt. Am I right?
Because when I copy/paste the old versions.txt it works again.
 
./build update_versions didn't downloaded any updated versions.txt. Am I right?
Yes, that's why I put the "./build update" in front of that which should take care of that.
You didn't need to remove the versions.txt if there was nothing about the conf file in there (which shouldn't be in there).

So it looks your version.txt is also correct. In that case and since you don't have any custom_versions.txt I really don't have a clue as to why exim.conf refuses to update to a new version.

We have to call in some help, or you might need to send in a ticket for this and refer to this thread so they can see what you tried already.
But maybe @fln or @zEitEr have a clue.
 
@plantheo, error:
Code:
Incompatible MySQL 5.7 version is configured, version '' is not part of '5.7', please check if there is a custom version configured for 'mysql5.7'.

Is cause by CustomBuild complaining that in the versions.txt file it can not find version for mysql5.7. Valid versions.txt file should contain it:

Code:
# grep mysql5.7: /usr/local/directadmin/custombuild/versions.txt
mysql5.7:5.7.43:

Deleting versions.txt would explain why it is missing. You can restore all the DA files with da update --force command. Argument --force makes sure DA files are downloaded and extracted even if your DA version is already up to date. This helps restoring removed DA internal files.
 
it can not find version for mysql5.7.
Yes but that is not the issue. That came as test as answer when we removed the versions.txt file.

The big issue here is that the exim.conf will keep being installed/upgraded to 4.5.30 and displaying this as latest version while it should be 4.5.44.
But maybe the da update --force will fix this indeed.
 
CB uses this code to check for current exim version installed on the system:

Code:
# head -n1 /etc/exim.conf | awk '{ print $6 }'
4.5.44

And this code to detect the latest available version:

Code:
# head -n1 /usr/local/directadmin/custombuild/custom/exim/exim.conf | awk '{ print $6 }'
head: cannot open '/usr/local/directadmin/custombuild/custom/exim/exim.conf' for reading: No such file or directory
# head -n1 /usr/local/directadmin/custombuild/configure/exim/exim.conf | awk '{ print $6 }'
4.5.44

If they do not match an update action is offered. You could have latest DA and old exim.conf version if you have placed custom exim conf in /usr/local/directadmin/custombuild/custom/exim/exim.conf.
 
Argument --force makes sure DA files are downloaded and extracted even if your DA version is already up to date.
Thank you @fln . I forced the update but Exim is still broken. It didn't start.

Besides that there is another odd thing. I also tried to migrate from MySQL to MariaDB. I solved it without problems following the instructions. But according to the versions.txt (I think) it would be posible to install MariaDB 10.11. But when I tried I get this error:
Captura de pantalla 2023-10-09 111754.png

This is odd because versions.txt looks like this:
Captura de pantalla 2023-10-09 111850.png

It looks like version 10.11 is available, but when I ./build mariabd there's an error. I ended up installing 10.6.

I mention this not because it is related to my problem with Exim but because I see that maybe there is some problem with the versions.

Well... my main problem is still Exim. The version of /etc/exim.conf is still 4.5.30 when it should be 4.5.44 (according to @Richard G).
 
If they do not match an update action is offered. You could have latest DA and old exim.conf version if you have placed custom exim conf in /usr/local/directadmin/custombuild/custom/exim/exim.conf.
They do not match:
Captura de pantalla 2023-10-09 115753.png

I don't know who set this custom version. Should I delete that? Making a backup first, of course.
 
Back
Top