Bug 13903

Summary: A password containing a pipe (|) is truncated by the `/var/ipfire/dma/auth.conf` parsing logic, causing SMTP mail submission to fail with an authentication error.
Product: IPFire Reporter: barneyklarnocks <ben>
Component: ---Assignee: Michael Tremer <michael.tremer>
Status: CLOSED FIXED QA Contact:
Severity: Minor Usability    
Priority: - Unknown - CC: adolf.belka
Version: 2   
Hardware: all   
OS: Linux   

Description barneyklarnocks 2025-11-01 18:11:08 UTC
I'm running IPFire 2.29 (x86_64) - Core-Update 198 


Quoting @bonnietwin in his comment at: https://community.ipfire.org/t/what-command-line-mail-client-is-available-in-ipfire/15199/9

If you have a semicolon or a pipe symbol in your password then when you come back to the mail service WUI page, it will take the line from `/var/ipfire/dma/auth.conf` and split it at the pipe symbol to extract the username and then it will split the remainder of the line at the colon to extract the smarthost and then the part that is left is the password.

However with a pipe symbol in the password the auth.conf line does not get split into 3 sections but into 4. The same is if there is a colon in the password.

The user and the smarthost always get extracted correctly but the password will be split into multiple parts depending on how many pipe or colon symbols are present in it but only the first part of the split password will be kept and put onto the screen and if the save button is pressed you will then see the same shortened password saved back into the auth.conf file.
Comment 1 barneyklarnocks 2025-11-01 18:25:51 UTC
As a workaround, I’ve regenerated a new SMTP password that doesn’t contain a pipe symbol (|) and I’ve verified that it’s retrieved in its entirety from /var/ipfire/dma/auth.confin order to be presented on the /cgi-bin/mail.cgi (Mail Service Configuration) page.

I’ve also verified that I can then send a test email from the re-opened Mail Service Configuration page, and from my shell script adapted from the first example above.
Comment 2 Michael Tremer 2025-11-04 17:23:05 UTC
Here is a fix for this problem:

> https://git.ipfire.org/?p=ipfire-2.x.git;a=commitdiff;h=97026405cccf52990c481a3126820b3cc9db1c25