Group :: System/Servers
RPM: oddjob
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
Patch: oddjob-0.34.7-alt.patch
Download
Download
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 <selinux/selinux.h>
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