commit 6169dd7ffbd7d3516a3c7175efcf373d6b2245e9
Author: Elan Ruusamäe <[email protected]>
Date:   Thu Oct 8 18:25:52 2015 +0300

    init: switch user, use makepid
    
    requires unreleased rc-scripts

 ol-ldapc.init                | 42 +++++++++++++++++++++++-------------------
 onelogin-ldap_connector.spec |  2 +-
 2 files changed, 24 insertions(+), 20 deletions(-)
---
diff --git a/onelogin-ldap_connector.spec b/onelogin-ldap_connector.spec
index bdb0c5a..5b72955 100644
--- a/onelogin-ldap_connector.spec
+++ b/onelogin-ldap_connector.spec
@@ -15,7 +15,7 @@ Source1:      ol-ldapc.init
 Source2:       ol-ldapc.sysconfig
 URL:           https://www.onelogin.com/product/directory
 Requires:      jre
-Requires:      rc-scripts >= 0.4.3.7
+Requires:      rc-scripts >= 0.4.15
 BuildArch:     noarch
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
diff --git a/ol-ldapc.init b/ol-ldapc.init
index e3b1d00..dabaf62 100755
--- a/ol-ldapc.init
+++ b/ol-ldapc.init
@@ -29,27 +29,15 @@ TOKEN=""
 SYNC_INTERVAL=30
 OBJECT_CLASSES="posixAccount"
 JAVA_OPTIONS="-XX:-UseGCOverheadLimit -Xmx64M -Xms64M"
+USER="http"
 OPTIONS=""
 
 # Get service config - may override defaults
-[ -f /etc/sysconfig/ol-ldapc ] && . /etc/sysconfig/ol-ldapc
+[ -r /etc/sysconfig/ol-ldapc ] && . /etc/sysconfig/ol-ldapc
 
 appdir="/usr/lib/ol-ldapc"
 pidfile="/var/run/ol-ldapc.pid"
-
-daemon_start() {
-       java \
-               -jar $appdir/ldap-connector.jar \
-               --sync-interval "$SYNC_INTERVAL" \
-               --object-classes "$OBJECT_CLASSES" \
-               --base-dn "$BASEDN" \
-               --token "$TOKEN" \
-               $OPTIONS \
-               > /dev/null 2>&1 &
-       RETVAL=$?
-       pid=$!
-       echo "$pid" > $pidfile
-}
+logdir="/var/log/ol-ldapc"
 
 start() {
        # Check if the service is already running?
@@ -59,7 +47,26 @@ start() {
        fi
 
        msg_starting "OneLogin LDAP Connector"
-       daemon --chdir "$appdir" setsid "$0" daemon_start
+
+       # make pid and log dir accessilbe for changed user
+       touch "$pidfile"
+       chown "$USER" "$pidfile"
+       chown "$USER" "$logdir"
+
+       # using ssd loses pid. so force rc-logging=yes, also when using ssd 
need to pass --fork
+       RC_LOGGING=yes
+
+       daemon \
+               --chdir "$appdir" \
+               --user "$USER" \
+               --pidfile "$pidfile" \
+               --makepid \
+               java -jar $appdir/ldap-connector.jar "$@" \
+               --sync-interval "$SYNC_INTERVAL" \
+               --object-classes "$OBJECT_CLASSES" \
+               --base-dn "$BASEDN" \
+               --token "$TOKEN" \
+               $OPTIONS
        RETVAL=$?
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/ol-ldapc
 }
@@ -106,9 +113,6 @@ case "$1" in
   force-reload)
        condrestart 7
        ;;
-  daemon_start)
-       daemon_start "$@"
-       ;;
   status)
        status --pidfile $pidfile ol-ldapc java
        RETVAL=$?
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/onelogin-ldap_connector.git/commitdiff/6169dd7ffbd7d3516a3c7175efcf373d6b2245e9

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to