Hi,
On Thu, Mar 03, 2005 at 02:23:04PM +0100, Christoph Martin wrote:
> >/usr/lib/tiger/systems/Linux/2/check_passwdspec: [: too many arguments
> >/usr/lib/tiger/systems/Linux/2/check_passwdspec: [: too many arguments
> >/usr/lib/tiger/systems/Linux/2/check_passwdspec: [: too many arguments
> >/usr/lib/tiger/systems/Linux/2/check_passwdspec: [: too many arguments
They are caused by a password set to ! (this is the case for postfix) in
systems/Linux/2/check_passwdspec, line 87
[ "$Tiger_Check_PASSWD_SHADOW" = 'Y' -a -s /etc/passwd -a "$pwd" != "x" ]
I don't know how this could be fixed.
Here are some tests performed:
I tried:
# [ "!" != "Y" ] && echo true || echo false
bash: !: event not found
And, unusually, it is here preferable not to quote the argument:
# [ ! != "Y" ] && echo true || echo false
true
# a=!
(note: a="!" won't work)
# [ "$a" != ! ] && echo true || echo false
false
# [ "$a" = ! ] && echo true || echo false
true
# [ "$a" = "a" ] && echo true || echo false
false
# [ "$a" != "a" ] && echo true || echo false
true
but:
# [ "$a" != ! -a "x" = "x" ] && echo true || echo false
[: too many arguments
false
So, it seems to me that we could test if $pwd is equal to !, if we perform
this test alone.
Changing line 87 to:
[ "$Tiger_Check_PASSWD_SHADOW" = 'Y' -a -s /etc/passwd ] && [ "$pwd" != "x" ]
&& {
works (but I don't know why;).
> >/bin/sed: -e expression #1, char 27: Unknown option to 's'
This one is produced by systems/Linux/2/deb_nopackfiles, line 145:
sed -e '{ s/ /\\\\\|/g; s/\//\\\\\//g }'
The { and } are not needed here. They could be dropped, and woody's
sed will be happy.
hth,
--
Nekral
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]