#885288 OpenSMTPD cannot read passwd file: table-passwd: invalid entry

Package:
opensmtpd-extras
Source:
opensmtpd-extras
Description:
addons for the OpenSMTPD SMTP server
Submitter:
Martin Hanson
Date:
2017-12-26 18:48:03 UTC
Severity:
normal
#885288#5
Date:
2017-12-26 05:23:52 UTC
From:
To:
I have installed opensmtpd and opensmtpd-extras on a fresh Debian Strech installation.

I have generated a password using the command:

# smtpctl encrypt

This is my OpenSMTPD configuration file:
---
# cat /etc/smtpd.conf
# This is the smtpd server system-wide configuration file.
# See smtpd.conf(5) for more information.

# The pki setup.
pki serv1.example.com certificate "/etc/ssl/serv1.example.com.crt"
pki serv1.example.com key "/etc/ssl/private/serv1.example.com.key"

# Tables used for domains, users, passwords and aliases.
table aliases file:/etc/mail/aliases
table domains file:/etc/mail/domains
table passwd passwd:/etc/mail/passwd
table virtuals file:/etc/mail/virtuals

# Ports to listen on.
listen on lo
listen on enp0s3 port 25 tls pki serv1.example.com
listen on enp0s3 port 587 tls-require pki serv1.example.com auth <passwd>

# Allow local delivery.
accept from local for local alias <aliases> deliver to lmtp "/var/run/dovecot/lmtp" rcpt-to
# Allow virtual domains.
accept from any for domain <domains> virtual <virtuals> deliver to lmtp "/var/run/dovecot/lmtp" rcpt-to
# Allow outgoing emails.
accept from local for any relay
---

Now, I have tried several different setups in the password file, but no matter what I do OpenSMTPD cannot read the file:
--- # smtpd -vvvd -f /etc/smtpd.conf ... warn: table-passwd: invalid entry warn: table-passwd: error parsing config file warn: table-proc: imsg_read: Connection reset by peer fatal: table-proc: exiting warn: parent -> lka: pipe closed --- I have a running OpenBSD 6.2 server where I have copied the passwd file to Debian and tried with that, but I get the same error. On my OpenBSD box the passwd file looks like this (following the exact example from the OpenSMTPD FAQ) and it's working on OpenBSD:
--- foo@example.com:$2b$10$iziy9n1wNjlcJ5Bf4wcd2OO3Mr8ssAIt/JZUmn9E6EdK2KMHlMfB6::::: --- On Debian, using the same command to create the password creates another kind of string generated, but neither works anyway:
--- foo@example.com:$6$8PfdjgX6RXPbB7CB$NeSd4vYBXqj6SYIG3ke6RW2VlktZk4rdBWdx8o8dn7qx7ZKXliYoa/eRL7vUuo.Ayc8iBhQUYegx6sBFiY0Ht0::::: --- I have tried with various settings like (password has been shortened):
--- foo@example.com:$6$8Pfdjg::::: foo@example.com $6$8Pfdjg::::: foo:$6$8Pfdjg::::: foo $6$8Pfdjg::::: foo@example.com:$6$8Pfdjg foo@example.com $6$8Pfdjg foo:$6$8Pfdjg foo $6$8Pfdjg foo --- No matter what setup I use I get the same error. I suspect something is wrong with the table-passwd filter? Kind regards, Martin
#885288#10
Date:
2017-12-26 18:37:30 UTC
From:
To:
As a follow-up. On OpenBSD the password scheme that gets generated is blowfish whereas it is sha-512 on Debian.

Both work on OpenSMTPD.

I have tested the same setup on Arch Linux using the latest table-passwd from AUR: https://aur.archlinux.org/packages/opensmtpd-table-passwd/

It works on Arch.