From: Martin R. <mr...@us...> - 2005-04-20 16:09:26
|
Update of /cvsroot/ltp/ltp/testcases/kernel/security/selinux-testsuite/tests/task_getpgid In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18951/tests/task_getpgid Added Files: Makefile selinux_task_getpgid.sh selinux_task_getpgid_source.c selinux_task_getpgid_target.c Log Message: Moved to the correct directory --- NEW FILE: selinux_task_getpgid_source.c --- /* * Copyright (c) 2002 Network Associates Technology, 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. * */ #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main(int argc, char *argv[]) { pid_t pid, group_id; if (argc != 2) { fprintf(stderr,"Usage: %s pid\n",argv[0]); exit(-1); } pid = (pid_t) atol(argv[1]); printf("pid = %d \n",pid); if ((group_id = getpgid(pid)) < 0) { perror("getpgid"); exit(1); } printf("group ID = %d\n",group_id); exit(0); } --- NEW FILE: Makefile --- TARGETS=$(patsubst %.c,%,$(wildcard *.c)) all: $(TARGETS) install: @set -e; for i in $(TARGETS); do ln -f $$i ../../../../../bin/$$i; done ln -f selinux_task_getpgid.sh ../../../../../bin/ clean: rm -f $(TARGETS) --- NEW FILE: selinux_task_getpgid_target.c --- /* * Copyright (c) 2002 Network Associates Technology, 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. * */ int main(void) { while (1) { sleep(1); } } --- NEW FILE: selinux_task_getpgid.sh --- #!/bin/sh # # Copyright (c) 2002 Network Associates Technology, Inc. # Copyright (c) International Business Machines Corp., 2005 # # 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. # setup() { LTPTMP="/tmp/selinux" export TCID="setup" export TST_COUNT=0 # Start the target process. runcon -t test_getpgid_target_t selinux_task_getpgid_target & PID=$! # Give it a second to start sleep 1 } test01() { TCID="test01" TST_COUNT=1 RC=0 # Verify that test_getpgid_yes_t can get the # target's process group ID. runcon -t test_getpgid_yes_t -- selinux_task_getpgid_source $PID 2>&1 RC=$? if [ $RC -eq 0 ] then echo "Test #1: task_getpgid passed." else echo "Test #1: task_getpgid failed." fi return $RC } test02() { TCID="test02" TST_COUNT=2 RC=0 # Verify that test_getpgid_no_t cannot get the # target's process group ID. runcon -t test_getpgid_no_t -- selinux_task_getpgid_source $PID 2>&1 RC=$? if [ $RC -ne 0 ] then echo "Test #2: task_getpgid passed." RC=0 else echo "Test #2: task_getpgid failed." RC=1 fi return $RC } cleanup() { # Kill the target kill -s KILL $PID } # Function: main # # Description: - Execute all tests, exit with test status. # # Exit: - zero on success # - non-zero on failure. # RC=0 # Return value from setup, and test functions. setup test01 || exit $RC test02 || exit $RC cleanup exit 0 |