Bug 13903 - 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.
Summary: A password containing a pipe (|) is truncated by the `/var/ipfire/dma/auth.co...
Status: CLOSED FIXED
Alias: None
Product: IPFire
Classification: Unclassified
Component: --- (show other bugs)
Version: 2
Hardware: all Linux
: - Unknown - Minor Usability
Assignee: Michael Tremer
QA Contact:
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-11-01 18:11 UTC by barneyklarnocks
Modified: 2026-01-12 17:50 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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