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]

Reply via email to