Code

Fix Debian bug #478942: Fragile argument passing
authorHolger Weiss <holger@zedat.fu-berlin.de>
Sun, 11 Apr 2010 08:54:44 +0000 (10:54 +0200)
committerHolger Weiss <holger@zedat.fu-berlin.de>
Sun, 11 Apr 2010 08:54:44 +0000 (10:54 +0200)
commit614e9dec5e3f4059c8eb5e4ea11bf92e66c3c76f
treefa00fc25d49101ab071f252aecdfdc0411b43149
parentde7191e3424e02ba278a39b86e8b1906a25d0362
Fix Debian bug #478942: Fragile argument passing

Fix some problems regarding the way check_disk_smb passes command line
arguments to smbclient(1).

| It runs:
|
|  $res = qx/$smbclient "\/\/$host\/$share" $pass -W $workgroup \
|         -U $user $smbclientoptions -I $address -c ls/;
|
| [...]
|
| The documentation says that if the password is not passed, it
| defaults to "".  That is not true above, as $pass expands to
| nothing which leaves no argument at all (instead of an empty
| argument) so is different from providing with an empty password
| or with the -N option.
|
| Also, if the password starts with "-", you're in trouble, that's
| why -U $user%$pass may be prefered.
|
| Also, the doc says that if $user is not provided, then it
| defaults to "guest" but the problem is that if it is provided
| but empty, it is changed to "guest" as well, which prevents us
| from querying hosts that don't do user authentication.

[ http://bugs.debian.org/478942 ]

(Fixed by Stephane Chazelas, forwarded by Jan Wagner.)
plugins-scripts/check_disk_smb.pl