NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
bin/58749: postfix fails due to sh(1) problem
>Number: 58749
>Category: bin
>Synopsis: postfix fails due to sh(1) problem
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: bin-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Oct 12 22:00:00 +0000 2024
>Originator: Michael van Elst
>Release: NetBSD 10.99.12
>Organization:
>Environment:
System: NetBSD arnold 10.99.12 NetBSD 10.99.12 (EGGHED64) #7: Sat Oct 12 15:37:22 UTC 2024 mlelstv@slowpoke:/home/netbsd-current/obj.evbarm64-el/scratch/netbsd-current/src/sys/arch/evbarm/compile/EGGHED64 evbarm
Architecture: aarch64
Machine: evbarm
>Description:
Starting postfix fails with
unknown type for $config_directory:d:root:-:755:u in /usr/libexec/postfix/postfix-files
The file is read by the post-install script with:
exec <$postfix_file || exit 1
while IFS=: read path type owner group mode flags junk
do
IFS="$BACKUP_IFS"
...
done
IFS="$BACKUP_IFS"
Apparently the IFS variable is not set or not evaluated anymore
for read to split the input.
Changing the line to:
while { IFS=:; read path type owner group mode flags junk; }
makes postfix start again.
>How-To-Repeat:
% echo 1:2:3 | sh -c 'IFS=: read a b c; echo $a'
1:2:3
Previously this would printed the first field. Now
you have to use something like:
% echo 1:2:3 | sh -c 'IFS=:; read a b c; echo $a'
1
>Fix:
>Unformatted:
Home |
Main Index |
Thread Index |
Old Index