* src/runcon.c (main): Don't reorder arguments. Reported by

Ulrich Drepper in <http://bugzilla.redhat.com/232652>.
* tests/misc/runcon-no-reorder: New file.  Test for the above.
* tests/misc/Makefile.am (TESTS): Add runcon-no-reorder.
This commit is contained in:
Jim Meyering 2007-03-18 18:04:30 +01:00
parent ab511a2106
commit 9aee8e78ea
4 changed files with 65 additions and 2 deletions

View File

@ -1,5 +1,10 @@
2007-03-18 Jim Meyering <jim@meyering.net>
* src/runcon.c (main): Don't reorder arguments. Reported by
Ulrich Drepper in <http://bugzilla.redhat.com/232652>.
* tests/misc/runcon-no-reorder: New file. Test for the above.
* tests/misc/Makefile.am (TESTS): Add runcon-no-reorder.
* src/runcon.c (main): Remove "." at end of a diagnostic.
2007-02-02 Jim Meyering <jim@meyering.net>

View File

@ -114,9 +114,9 @@ main (int argc, char **argv, char **envp)
while (1)
{
int c;
int option_index = 0;
c = getopt_long (argc, argv, "r:t:u:l:c", long_options, &option_index);
int c = getopt_long (argc, argv, "+r:t:u:l:c", long_options,
&option_index);
if (c == -1)
break;
switch (c)

View File

@ -73,6 +73,7 @@ TESTS = \
printf \
printf-hex \
pwd-long \
runcon-no-reorder \
sha224sum \
sha256sum \
sha384sum \

57
tests/misc/runcon-no-reorder Executable file
View File

@ -0,0 +1,57 @@
#!/bin/sh
# Ensure that runcon does not reorder its arguments.
# Copyright (C) 2007 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
if test "$VERBOSE" = yes; then
set -x
runcon --version
fi
. $srcdir/../lang-default
pwd=`pwd`
t0=`echo "$0"|sed 's,.*/,,'`.tmp; tmp=$t0/$$
trap 'status=$?; cd "$pwd" && chmod -R u+rwx $t0 && rm -rf $t0 && exit $status' 0
trap '(exit $?); exit $?' 1 2 13 15
framework_failure=0
mkdir -p $tmp || framework_failure=1
cd $tmp || framework_failure=1
cat <<\EOF > exp || framework_failure=1
runcon: runcon may be used only on a SELinux kernel
EOF
if test $framework_failure = 1; then
echo "$0: failure in testing framework" 1>&2
(exit 1); exit 1
fi
fail=0
# This test works even on systems without SELinux.
# On such a system it fails with the above diagnostic, which is fine.
# Before the no-reorder change, it would have failed with a diagnostic
# about -j being an invalid option.
runcon -t unconfined_t true -j 2> out && : > exp
cmp out exp || fail=1
test $fail = 1 && diff out exp 2> /dev/null
(exit $fail); exit $fail