From: Mike F. <va...@us...> - 2006-02-11 07:24:14
|
Update of /cvsroot/ltp/ltp/testcases/kernel/syscalls/setfsuid In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3780/setfsuid Modified Files: setfsuid02.c setfsuid03.c Log Message: ugh, dos CRLFs, how i hate you so Index: setfsuid03.c =================================================================== RCS file: /cvsroot/ltp/ltp/testcases/kernel/syscalls/setfsuid/setfsuid03.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** setfsuid03.c 3 Oct 2005 16:57:10 -0000 1.2 --- setfsuid03.c 11 Feb 2006 07:24:01 -0000 1.3 *************** *** 1,160 **** ! /* ! * ! * Copyright (C) International Business Machines Corp., 2001 ! * ! * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ! */ ! ! /* ! * NAME ! * setfsuid03.c ! * ! * DESCRIPTION ! * Testcase to test the basic functionality of the setfsuid(2) system ! * call when called by a user other than root. ! * ! * ALGORITHM ! * Call setfsuid(2) and test the uid returned by setfsuid(2). ! * If the action are allowed, ! * then the testcase fails. ! * ! * USAGE: <for command-line> ! * setfsuid01 [-c n] [-f] [-i n] [-I x] [-P x] [-t] ! * where, -c n : Run n copies concurrently. ! * -f : Turn off functionality Testing. ! * -i n : Execute test n times. ! * -I x : Execute test for x seconds. ! * -P x : Pause for x seconds between iterations. ! * -t : Turn on syscall timing. ! * ! * HISTORY ! * 07/2001 Ported by Wayne Boyer ! * 04/2003 Adapted by Dustin Kirkland (k1r...@us...) ! * ! * RESTRICTIONS ! * None ! */ ! #include <stdio.h> ! #include <unistd.h> ! #ifdef __GLIBC__ ! #include <sys/fsuid.h> ! #endif ! #include <sys/types.h> ! #include <errno.h> ! #include "test.h" ! #include "usctest.h" ! #include <pwd.h> ! ! void setup(void); ! void cleanup(void); ! ! char *TCID = "setfsuid03"; ! int TST_TOTAL = 1; ! extern int Tst_count; ! char nobody_uid[] = "nobody"; ! struct passwd *ltpuser; ! ! int main(int ac, char **av) ! { ! int lc; /* loop counter */ ! char *msg; /* message returned from parse_opts */ ! ! uid_t uid; ! ! /* parse standard options */ ! if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){ ! tst_brkm(TBROK, tst_exit, "OPTION PARSING ERROR - %s", msg); ! } ! ! setup(); ! ! uid = geteuid(); ! uid = 1; ! while (!getpwuid(uid)) { ! uid++; ! } ! ! /* Check for looping state if -i option is given */ ! for (lc = 0; TEST_LOOPING(lc); lc++) { ! ! /* reset Tst_count in case we are looping */ ! Tst_count = 0; ! ! TEST(setfsuid(uid)); ! ! if (TEST_RETURN == -1) { ! tst_resm(TFAIL, "call failed unexpectedly - errno %d", ! TEST_ERRNO); ! continue; ! } ! ! if (!STD_FUNCTIONAL_TEST) { ! tst_resm(TPASS, "call succeeded"); ! continue; ! } ! ! if (TEST_RETURN == uid) { ! tst_resm(TFAIL, "setfsuid() returned %d, expected anything but %d", ! TEST_RETURN, uid); ! } else { ! tst_resm(TPASS, "setfsuid() returned expected value : " ! "%d", TEST_RETURN); ! } ! } ! cleanup(); ! ! return 0; ! ! /*NOTREACHED*/ ! } ! ! /* ! * setup() - performs all ONE TIME setup for this test. ! */ ! void ! setup() ! { ! /* Switch to nobody user for correct error code collection */ ! if (geteuid() != 0) { ! tst_brkm(TBROK, tst_exit, "Test must be run as root"); ! } ! ltpuser = getpwnam(nobody_uid); ! if (setuid(ltpuser->pw_uid) == -1) { ! tst_resm(TINFO, "setuid failed to " ! "to set the effective uid to %d", ! ltpuser->pw_uid); ! perror("setuid"); ! } ! ! /* capture signals */ ! tst_sig(NOFORK, DEF_HANDLER, cleanup); ! ! /* Pause if that option was specified */ ! TEST_PAUSE; ! } ! ! /* ! * cleanup() - performs all ONE TIME cleanup for this test at ! * completion or premature exit. ! */ ! void ! cleanup() ! { ! /* ! * print timing stats if that option was specified. ! * print errno log if that option was specified. ! */ ! TEST_CLEANUP; ! } --- 1,160 ---- ! /* ! * ! * Copyright (C) International Business Machines Corp., 2001 ! * ! * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ! */ ! ! /* ! * NAME ! * setfsuid03.c ! * ! * DESCRIPTION ! * Testcase to test the basic functionality of the setfsuid(2) system ! * call when called by a user other than root. ! * ! * ALGORITHM ! * Call setfsuid(2) and test the uid returned by setfsuid(2). ! * If the action are allowed, ! * then the testcase fails. ! * ! * USAGE: <for command-line> ! * setfsuid01 [-c n] [-f] [-i n] [-I x] [-P x] [-t] ! * where, -c n : Run n copies concurrently. ! * -f : Turn off functionality Testing. ! * -i n : Execute test n times. ! * -I x : Execute test for x seconds. ! * -P x : Pause for x seconds between iterations. ! * -t : Turn on syscall timing. ! * ! * HISTORY ! * 07/2001 Ported by Wayne Boyer ! * 04/2003 Adapted by Dustin Kirkland (k1r...@us...) ! * ! * RESTRICTIONS ! * None ! */ ! #include <stdio.h> ! #include <unistd.h> ! #ifdef __GLIBC__ ! #include <sys/fsuid.h> ! #endif ! #include <sys/types.h> ! #include <errno.h> ! #include "test.h" ! #include "usctest.h" ! #include <pwd.h> ! ! void setup(void); ! void cleanup(void); ! ! char *TCID = "setfsuid03"; ! int TST_TOTAL = 1; ! extern int Tst_count; ! char nobody_uid[] = "nobody"; ! struct passwd *ltpuser; ! ! int main(int ac, char **av) ! { ! int lc; /* loop counter */ ! char *msg; /* message returned from parse_opts */ ! ! uid_t uid; ! ! /* parse standard options */ ! if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){ ! tst_brkm(TBROK, tst_exit, "OPTION PARSING ERROR - %s", msg); ! } ! ! setup(); ! ! uid = geteuid(); ! uid = 1; ! while (!getpwuid(uid)) { ! uid++; ! } ! ! /* Check for looping state if -i option is given */ ! for (lc = 0; TEST_LOOPING(lc); lc++) { ! ! /* reset Tst_count in case we are looping */ ! Tst_count = 0; ! ! TEST(setfsuid(uid)); ! ! if (TEST_RETURN == -1) { ! tst_resm(TFAIL, "call failed unexpectedly - errno %d", ! TEST_ERRNO); ! continue; ! } ! ! if (!STD_FUNCTIONAL_TEST) { ! tst_resm(TPASS, "call succeeded"); ! continue; ! } ! ! if (TEST_RETURN == uid) { ! tst_resm(TFAIL, "setfsuid() returned %d, expected anything but %d", ! TEST_RETURN, uid); ! } else { ! tst_resm(TPASS, "setfsuid() returned expected value : " ! "%d", TEST_RETURN); ! } ! } ! cleanup(); ! ! return 0; ! ! /*NOTREACHED*/ ! } ! ! /* ! * setup() - performs all ONE TIME setup for this test. ! */ ! void ! setup() ! { ! /* Switch to nobody user for correct error code collection */ ! if (geteuid() != 0) { ! tst_brkm(TBROK, tst_exit, "Test must be run as root"); ! } ! ltpuser = getpwnam(nobody_uid); ! if (setuid(ltpuser->pw_uid) == -1) { ! tst_resm(TINFO, "setuid failed to " ! "to set the effective uid to %d", ! ltpuser->pw_uid); ! perror("setuid"); ! } ! ! /* capture signals */ ! tst_sig(NOFORK, DEF_HANDLER, cleanup); ! ! /* Pause if that option was specified */ ! TEST_PAUSE; ! } ! ! /* ! * cleanup() - performs all ONE TIME cleanup for this test at ! * completion or premature exit. ! */ ! void ! cleanup() ! { ! /* ! * print timing stats if that option was specified. ! * print errno log if that option was specified. ! */ ! TEST_CLEANUP; ! } Index: setfsuid02.c =================================================================== RCS file: /cvsroot/ltp/ltp/testcases/kernel/syscalls/setfsuid/setfsuid02.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** setfsuid02.c 3 Oct 2005 16:57:10 -0000 1.2 --- setfsuid02.c 11 Feb 2006 07:24:01 -0000 1.3 *************** *** 1,145 **** ! /* ! * ! * Copyright (C) International Business Machines Corp., 2001 ! * ! * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ! */ ! ! /* ! * NAME ! * setfsuid02.c ! * ! * DESCRIPTION ! * Testcase to test the basic functionality of the setfsuid(2) system ! * call to fail on invalid uid. ! * ! * ALGORITHM ! * Call setfsuid(2) and test the uid returned by setfsuid(2) when ! * an invalid uid is used. ! * If the returned value matches the invalid uid of the process, ! * then the testcase fails. ! * ! * USAGE: <for command-line> ! * setfsuid01 [-c n] [-f] [-i n] [-I x] [-P x] [-t] ! * where, -c n : Run n copies concurrently. ! * -f : Turn off functionality Testing. ! * -i n : Execute test n times. ! * -I x : Execute test for x seconds. ! * -P x : Pause for x seconds between iterations. ! * -t : Turn on syscall timing. ! * ! * HISTORY ! * 07/2001 Ported by Wayne Boyer ! * 04/2003 Adapted by Dustin Kirkland (k1r...@us...) ! * ! * RESTRICTIONS ! * None ! */ ! #include <stdio.h> ! #include <unistd.h> ! #include <pwd.h> ! #ifdef __GLIBC__ ! #include <sys/fsuid.h> ! #endif ! #include <sys/types.h> ! #include <errno.h> ! #include "test.h" ! #include "usctest.h" ! ! void setup(void); ! void cleanup(void); ! ! char *TCID = "setfsuid02"; ! int TST_TOTAL = 1; ! extern int Tst_count; ! ! int main(int ac, char **av) ! { ! int lc; /* loop counter */ ! char *msg; /* message returned from parse_opts */ ! ! uid_t uid; ! ! /* parse standard options */ ! if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){ ! tst_brkm(TBROK, tst_exit, "OPTION PARSING ERROR - %s", msg); ! } ! ! setup(); ! ! uid = 1; ! while (getpwuid(uid)) { ! uid++; ! } ! ! /* Check for looping state if -i option is given */ ! for (lc = 0; TEST_LOOPING(lc); lc++) { ! ! /* reset Tst_count in case we are looping */ ! Tst_count = 0; ! ! TEST(setfsuid(uid)); ! ! if (TEST_RETURN == -1) { ! tst_resm(TFAIL, "call failed unexpectedly - errno %d", ! TEST_ERRNO); ! continue; ! } ! ! if (!STD_FUNCTIONAL_TEST) { ! tst_resm(TPASS, "call succeeded"); ! continue; ! } ! ! if (TEST_RETURN == uid) { ! tst_resm(TFAIL, "setfsuid() returned %d, expected %d", ! TEST_RETURN, uid); ! } else { ! tst_resm(TPASS, "setfsuid() returned expected value : " ! "%d", TEST_RETURN); ! } ! } ! cleanup(); ! ! return 0; ! /*NOTREACHED*/ ! } ! ! /* ! * setup() - performs all ONE TIME setup for this test. ! */ ! void ! setup() ! { ! /* capture signals */ ! tst_sig(NOFORK, DEF_HANDLER, cleanup); ! ! /* Pause if that option was specified */ ! TEST_PAUSE; ! } ! ! /* ! * cleanup() - performs all ONE TIME cleanup for this test at ! * completion or premature exit. ! */ ! void ! cleanup() ! { ! /* ! * print timing stats if that option was specified. ! * print errno log if that option was specified. ! */ ! TEST_CLEANUP; ! } --- 1,145 ---- ! /* ! * ! * Copyright (C) International Business Machines Corp., 2001 ! * ! * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ! */ ! ! /* ! * NAME ! * setfsuid02.c ! * ! * DESCRIPTION ! * Testcase to test the basic functionality of the setfsuid(2) system ! * call to fail on invalid uid. ! * ! * ALGORITHM ! * Call setfsuid(2) and test the uid returned by setfsuid(2) when ! * an invalid uid is used. ! * If the returned value matches the invalid uid of the process, ! * then the testcase fails. ! * ! * USAGE: <for command-line> ! * setfsuid01 [-c n] [-f] [-i n] [-I x] [-P x] [-t] ! * where, -c n : Run n copies concurrently. ! * -f : Turn off functionality Testing. ! * -i n : Execute test n times. ! * -I x : Execute test for x seconds. ! * -P x : Pause for x seconds between iterations. ! * -t : Turn on syscall timing. ! * ! * HISTORY ! * 07/2001 Ported by Wayne Boyer ! * 04/2003 Adapted by Dustin Kirkland (k1r...@us...) ! * ! * RESTRICTIONS ! * None ! */ ! #include <stdio.h> ! #include <unistd.h> ! #include <pwd.h> ! #ifdef __GLIBC__ ! #include <sys/fsuid.h> ! #endif ! #include <sys/types.h> ! #include <errno.h> ! #include "test.h" ! #include "usctest.h" ! ! void setup(void); ! void cleanup(void); ! ! char *TCID = "setfsuid02"; ! int TST_TOTAL = 1; ! extern int Tst_count; ! ! int main(int ac, char **av) ! { ! int lc; /* loop counter */ ! char *msg; /* message returned from parse_opts */ ! ! uid_t uid; ! ! /* parse standard options */ ! if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){ ! tst_brkm(TBROK, tst_exit, "OPTION PARSING ERROR - %s", msg); ! } ! ! setup(); ! ! uid = 1; ! while (getpwuid(uid)) { ! uid++; ! } ! ! /* Check for looping state if -i option is given */ ! for (lc = 0; TEST_LOOPING(lc); lc++) { ! ! /* reset Tst_count in case we are looping */ ! Tst_count = 0; ! ! TEST(setfsuid(uid)); ! ! if (TEST_RETURN == -1) { ! tst_resm(TFAIL, "call failed unexpectedly - errno %d", ! TEST_ERRNO); ! continue; ! } ! ! if (!STD_FUNCTIONAL_TEST) { ! tst_resm(TPASS, "call succeeded"); ! continue; ! } ! ! if (TEST_RETURN == uid) { ! tst_resm(TFAIL, "setfsuid() returned %d, expected %d", ! TEST_RETURN, uid); ! } else { ! tst_resm(TPASS, "setfsuid() returned expected value : " ! "%d", TEST_RETURN); ! } ! } ! cleanup(); ! ! return 0; ! /*NOTREACHED*/ ! } ! ! /* ! * setup() - performs all ONE TIME setup for this test. ! */ ! void ! setup() ! { ! /* capture signals */ ! tst_sig(NOFORK, DEF_HANDLER, cleanup); ! ! /* Pause if that option was specified */ ! TEST_PAUSE; ! } ! ! /* ! * cleanup() - performs all ONE TIME cleanup for this test at ! * completion or premature exit. ! */ ! void ! cleanup() ! { ! /* ! * print timing stats if that option was specified. ! * print errno log if that option was specified. ! */ ! TEST_CLEANUP; ! } |