src/Makefile.am | 4 ++-- src/oddjob_dbus.c | 4 ++++ tests/018/pre.sh | 5 +---- tests/test-oddjobd.sh | 13 +++++++++---- 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index e3af35d..d451876 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -113,7 +113,7 @@ pam_oddjob_mkhomedir_la_SOURCES = \ mainloop.c \ mainloop.h \ pam_oddjob_mkhomedir.c -pam_oddjob_mkhomedir_la_LIBADD = liboddcommon.la @DBUS_LIBS@ @PAM_LIBS@ +pam_oddjob_mkhomedir_la_LIBADD = liboddcommon.la @DBUS_LIBS@ @PAM_LIBS@ @SELINUX_LIBS@ pam_oddjob_mkhomedir_la_LDFLAGS = -module -avoid-version -export-symbols-regex "pam_sm_.*" if NOW pam_oddjob_mkhomedir_la_LDFLAGS += -Wl,-z,relro,-z,now @@ -122,7 +122,7 @@ endif oddjob_request_SOURCES = \ common.h \ oddjob_request.c -oddjob_request_LDADD = liboddjob.la @DBUS_LIBS@ +oddjob_request_LDADD = liboddjob.la @DBUS_LIBS@ @SELINUX_LIBS@ oddjob_request_LDFLAGS = if PIE oddjob_request_LDFLAGS += -fPIE -pie diff --git a/src/oddjob_dbus.c b/src/oddjob_dbus.c index 5708f25..1a27100 100644 --- a/src/oddjob_dbus.c +++ b/src/oddjob_dbus.c @@ -45,6 +45,7 @@ #include "mainloop.h" #include "oddjob_dbus.h" #include "util.h" +#include struct oddjob_dbus_context { DBusBusType bustype; @@ -323,6 +324,9 @@ oddjob_dbus_get_selinux_context(DBusConnection *conn, DBusMessageIter iter, array; DBusError err; + if (!is_selinux_enabled()) + return NULL; + query = dbus_message_new_method_call(DBUS_SERVICE_DBUS, DBUS_PATH_DBUS, DBUS_INTERFACE_DBUS, diff --git a/tests/018/pre.sh b/tests/018/pre.sh index 52ad4b3..d167ea4 100755 --- a/tests/018/pre.sh +++ b/tests/018/pre.sh @@ -16,9 +16,6 @@ fi if $regen ; then echo -n 018 - Generating data for test... : > $outfile - while test $i -lt $stopat ; do - i=`expr $i + 1` - echo $i of $stopat >> $outfile - done + seq -f "%.0f of $stopat" $stopat >> $outfile echo " done." fi diff --git a/tests/test-oddjobd.sh b/tests/test-oddjobd.sh index 4ea9686..86385a5 100755 --- a/tests/test-oddjobd.sh +++ b/tests/test-oddjobd.sh @@ -39,13 +39,14 @@ for arg in "$@" ; do ;; esac done -$monitor oddjobd -S -n -c test-oddjobd.conf -p test-oddjobd.pid 3> test-oddjobd.log & -sleep 5 +$monitor oddjobd -S -d -c test-oddjobd.conf -p test-oddjobd.pid 3> test-oddjobd.log & +sleep 15 ODDJOBD_PID=`cat test-oddjobd.pid` if test "$post" != : ; then $post $ODDJOBD_PID & fi chmod +x sanity.sh printenv.sh +error_found= for subdir in * ; do if test -d "$subdir" -a -e "$subdir"/args ; then if test -s "$subdir"/args ; then @@ -53,7 +54,7 @@ for subdir in * ; do else args= fi - sleep 1 + sleep 5 if test -x "$subdir"/pre.sh ; then cd "$subdir" ./pre.sh @@ -106,6 +107,7 @@ for subdir in * ; do done fi if $exit_error || $stdout_error || $stderr_error ; then + error_found=1 echo FAIL break fi @@ -117,4 +119,7 @@ for subdir in * ; do fi done oddjob_request -S quit -exit 0 +if [ -z "$error_found" ]; then + exit 0 +fi +exit 1