chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
68c2c0b
)
[PATCH] udev-test.pl: add check for textual uid/gid
author
kay.sievers@vrfy.org
<kay.sievers@vrfy.org>
Fri, 18 Mar 2005 22:52:41 +0000
(23:52 +0100)
committer
Greg KH
<gregkh@suse.de>
Wed, 27 Apr 2005 06:53:54 +0000
(23:53 -0700)
test/udev-test.pl
patch
|
blob
|
history
diff --git
a/test/udev-test.pl
b/test/udev-test.pl
index 2ece4317351a747431bdae0bed6f1975bc7e6ec5..0f010991ac9340a4a781634301c8fd45d7c693b4 100644
(file)
--- a/
test/udev-test.pl
+++ b/
test/udev-test.pl
@@
-553,6
+553,26
@@
EOF
exp_perms => ":100:0660",
conf => <<EOF
BUS=="scsi", KERNEL=="sda", NAME="node", GROUP="100"
exp_perms => ":100:0660",
conf => <<EOF
BUS=="scsi", KERNEL=="sda", NAME="node", GROUP="100"
+EOF
+ },
+ {
+ desc => "textual user id",
+ subsys => "block",
+ devpath => "/block/sda",
+ exp_name => "node",
+ exp_perms => "adm::0660",
+ conf => <<EOF
+BUS=="scsi", KERNEL=="sda", NAME="node", OWNER="adm"
+EOF
+ },
+ {
+ desc => "textual group id",
+ subsys => "block",
+ devpath => "/block/sda",
+ exp_name => "node",
+ exp_perms => ":daemon:0660",
+ conf => <<EOF
+BUS=="scsi", KERNEL=="sda", NAME="node", GROUP="daemon"
EOF
},
{
EOF
},
{
@@
-1215,21
+1235,35
@@
sub permissions_test {
my($config, $uid, $gid, $mode) = @_;
my $wrong = 0;
my($config, $uid, $gid, $mode) = @_;
my $wrong = 0;
+ my $userid;
+ my $groupid;
+
$config->{exp_perms} =~ m/^(.*):(.*):(.*)$/;
if ($1 ne "") {
$config->{exp_perms} =~ m/^(.*):(.*):(.*)$/;
if ($1 ne "") {
- if ($uid != $1) { $wrong = 1; };
+ if (defined(getpwnam($1))) {
+ $userid = int(getpwnam($1));
+ } else {
+ $userid = $1;
+ }
+ if ($uid != $userid) { $wrong = 1; }
}
if ($2 ne "") {
}
if ($2 ne "") {
- if ($gid != $2) { $wrong = 1; };
+ if (defined(getgrnam($2))) {
+ $groupid = int(getgrnam($2));
+ } else {
+ $groupid = $2;
+ }
+ if ($gid != $groupid) { $wrong = 1; }
}
if ($3 ne "") {
if (($mode & 07777) != oct($3)) { $wrong = 1; };
}
if ($wrong == 0) {
}
if ($3 ne "") {
if (($mode & 07777) != oct($3)) { $wrong = 1; };
}
if ($wrong == 0) {
- print "permissions: ok
";
+ print "permissions: ok
\n
";
} else {
} else {
- printf "expected permissions are: %i:%i:%#o\n", $1, $2, oct($3);
- printf "created permissions are : %i:%i:%#o\n", $uid, $gid, $mode & 07777;
+ printf " expected permissions are: %s:%s:%#o\n", $1, $2, oct($3);
+ printf " created permissions are : %i:%i:%#o\n", $uid, $gid, $mode & 07777;
+ print "permissions: error\n";
$error++;
}
}
$error++;
}
}
@@
-1249,11
+1283,11
@@
sub major_minor_test {
if ($minor != $2) { $wrong = 1; };
}
if ($wrong == 0) {
if ($minor != $2) { $wrong = 1; };
}
if ($wrong == 0) {
- print "major:minor: ok
";
+ print "major:minor: ok
\n
";
} else {
} else {
- printf "expected major:minor is: %i:%i\n", $1, $2;
- printf "created major:minor is : %i:%i\n", $major, $minor;
- print "major:minor: error
";
+ printf "
expected major:minor is: %i:%i\n", $1, $2;
+ printf "
created major:minor is : %i:%i\n", $major, $minor;
+ print "major:minor: error
\n
";
$error++;
}
}
$error++;
}
}
@@
-1265,22
+1299,25
@@
sub symlink_test {
if ($output =~ m/(.*)-> (.*)/) {
if ($2 eq $config->{exp_target}) {
if ($output =~ m/(.*)-> (.*)/) {
if ($2 eq $config->{exp_target}) {
- print "symlink:
ok
";
+ print "symlink:
ok\n
";
} else {
} else {
- print "expected symlink from: \'$config->{exp_name}\' to \'$config->{exp_target}\'\n";
- print "created symlink from: \'$config->{exp_name}\' to \'$2\'\n";
+ print " expected symlink from: \'$config->{exp_name}\' to \'$config->{exp_target}\'\n";
+ print " created symlink from: \'$config->{exp_name}\' to \'$2\'\n";
+ print "symlink: error";
if ($config->{exp_add_error}) {
if ($config->{exp_add_error}) {
- print "
as expected
";
+ print "
as expected\n
";
} else {
} else {
+ print "\n";
$error++;
}
}
} else {
$error++;
}
}
} else {
- print "expected symlink from: \'$config->{exp_name}\' to \'$config->{exp_target}\'\n";
- print "symlink:
not created
";
+ print "
expected symlink from: \'$config->{exp_name}\' to \'$config->{exp_target}\'\n";
+ print "symlink:
not created
";
if ($config->{exp_add_error}) {
if ($config->{exp_add_error}) {
- print "
as expected
";
+ print "
as expected\n
";
} else {
} else {
+ print "\n";
$error++;
}
}
$error++;
}
}
@@
-1314,13
+1351,13
@@
sub run_test {
if (defined($config->{exp_target})) {
symlink_test($config);
}
if (defined($config->{exp_target})) {
symlink_test($config);
}
- print "add:
ok
";
+ print "add:
ok\n
";
} else {
} else {
- print "add:
error
";
+ print "add:
error
";
if ($config->{exp_add_error}) {
if ($config->{exp_add_error}) {
- print "
as expected
";
+ print "
as expected\n
";
} else {
} else {
- print "\n
\n
";
+ print "\n";
system("tree $udev_root");
print "\n";
$error++;
system("tree $udev_root");
print "\n";
$error++;
@@
-1335,19
+1372,21
@@
sub run_test {
udev("remove", $config->{subsys}, $config->{devpath}, \$config->{conf});
if ((-e "$PWD/$udev_root$config->{exp_name}") ||
(-l "$PWD/$udev_root$config->{exp_name}")) {
udev("remove", $config->{subsys}, $config->{devpath}, \$config->{conf});
if ((-e "$PWD/$udev_root$config->{exp_name}") ||
(-l "$PWD/$udev_root$config->{exp_name}")) {
- print "remove:
error
";
+ print "remove:
error
";
if ($config->{exp_rem_error}) {
if ($config->{exp_rem_error}) {
- print "
as expected\n
\n";
+ print "
as expected
\n";
} else {
} else {
- print "\n
\n
";
+ print "\n";
system("tree $udev_root");
print "\n";
$error++;
}
} else {
system("tree $udev_root");
print "\n";
$error++;
}
} else {
- print "remove:
ok\n
\n";
+ print "remove:
ok
\n";
}
}
+ print "\n";
+
if (defined($config->{option}) && $config->{option} eq "clear") {
system("rm -rf $udev_db");
system("rm -rf $udev_root");
if (defined($config->{option}) && $config->{option} eq "clear") {
system("rm -rf $udev_db");
system("rm -rf $udev_root");