Univention Bugzilla – Attachment 8120 Details for
Bug 42328
broken shell quoting 03univention-directory-listener.inst
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
42328.diff
file_42328.txt (text/plain), 7.49 KB, created by
Philipp Hahn
on 2016-10-17 14:46:11 CEST
(
hide
)
Description:
42328.diff
Filename:
MIME Type:
Creator:
Philipp Hahn
Created:
2016-10-17 14:46:11 CEST
Size:
7.49 KB
patch
obsolete
>diff --git a/branches/ucs-4.1/ucs-4.1-3/management/univention-directory-listener/03univention-directory-listener.inst b/branches/ucs-4.1/ucs-4.1-3/management/univention-directory-listener/03univention-directory-listener.inst >index fd8832b..51135ae 100755 >--- a/branches/ucs-4.1/ucs-4.1-3/management/univention-directory-listener/03univention-directory-listener.inst >+++ b/branches/ucs-4.1/ucs-4.1-3/management/univention-directory-listener/03univention-directory-listener.inst >@@ -37,10 +37,7 @@ joinscript_init > > ln -sf /etc/runit/univention-directory-listener /etc/runit/univention/univention-directory-listener > >-listener_pid=`pidof univention-directory-listener` >-if [ -n "$listener_pid" ]; then >- sv down univention-directory-listener >-fi >+sv down univention-directory-listener > > if [ -e "/var/lib/univention-directory-listener" ]; then > rm -Rf /var/lib/univention-directory-listener/* >@@ -51,47 +48,38 @@ if [ -e "/var/lib/univention-directory-replication" ]; then > fi > > eval "$(univention-config-registry shell)" >+write_translog= dn= secret= > >-if [ "$server_role" = "domaincontroller_master" ]; then >- test -n "`grep "univention-directory-listener v${VERSION} successful" /usr/lib/univention-install/.index.txt`" || echo "univention-directory-listener v${VERSION} successful" >>/usr/lib/univention-install/.index.txt >+case "$server_role" in >+domaincontroller_master) >+ index="/usr/lib/univention-install/.index.txt" >+ line="univention-directory-listener v${VERSION} successful" >+ grep -Fqx "$line" "$index" || echo "$line" >>"$index" > exit 0 >-fi >-cachedir=/var/lib/univention-directory-listener >-moduledir=/usr/lib/univention-directory-listener/system >- >-if [ "$server_role" != "domaincontroller_master" ]; then >+ ;; >+*) > if [ -e "/var/lib/univention-ldap/listener/listener" ]; then > chown listener /var/lib/univention-ldap/listener/listener* >- options="-o" >+ write_translog=1 > fi >-fi >- >-univention-config-registry set ldap/database/ldbm/dbsync="10" >- >-if [ "`echo $ldap_master_bind | tr A-Z a-z`" = "gssapi" ]; then >- options="$options -K" >-else >- options="$options -x" >-fi >+esac > >-debugLevel=1 >-if [ -n "$listener_debug_level" ]; then >- debugLevel="$listener_debug_level" >-fi >-options="$options -ZZ -d $debugLevel" >- >-options="$options -i -h $ldap_master -b "$ldap_base" -m $moduledir -c $cachedir" >- >-if [ -n "$server_role" ]; then >- if [ "$server_role" = "domaincontroller_master" -o "$server_role" = "domaincontroller_backup" ]; then >- /usr/sbin/univention-directory-listener $options -D "cn=admin,$ldap_base" -y /etc/ldap.secret >- else >- /usr/sbin/univention-directory-listener $options -D "`univention-config-registry get ldap/hostdn`" -y /etc/machine.secret >- fi >-else >- /usr/sbin/univention-directory-listener $options >-fi >+case "$server_role" in >+domaincontroller_master|domaincontroller_backup) dn="cn=admin,$ldap_base" secret=/etc/ldap.secret ;; >+?*) dn="$ldap_hostdn" secret=/etc/machine.secret ;; >+esac > >+univention-config-registry set ldap/database/ldbm/dbsync="10" >+/usr/sbin/univention-directory-listener -i \ >+ -d "${listener_debug_level:-1}" \ >+ -h "$ldap_master" \ >+ -b "$ldap_base" \ >+ -m /usr/lib/univention-directory-listener/system \ >+ -c /var/lib/univention-directory-listener \ >+ ${write_translog:+-o} \ >+ -ZZ \ >+ -x \ >+ ${dn:+-D "$dn"} ${secret:+-y "$secret"} > exit_status=$? > > univention-config-registry set ldap/database/ldbm/dbsync=$ldap_database_ldbm_dbsync >@@ -100,7 +88,7 @@ univention-config-registry set ldap/database/ldbm/dbsync=$ldap_database_ldbm_dbs > sleep 15 > > if [ -f /etc/init.d/slapd ] >- then >+then > /etc/init.d/slapd restart > fi > >@@ -123,5 +111,3 @@ test -x /usr/sbin/nscd && /usr/sbin/nscd -i group > > joinscript_save_current_version > exit 0 >- >- >diff --git a/branches/ucs-4.1/ucs-4.1-3/management/univention-directory-listener/conffiles/etc/runit/univention-directory-listener/run b/branches/ucs-4.1/ucs-4.1-3/management/univention-directory-listener/conffiles/etc/runit/univention-directory-listener/run >index 6ebccd3..5025126 100755 >--- a/branches/ucs-4.1/ucs-4.1-3/management/univention-directory-listener/conffiles/etc/runit/univention-directory-listener/run >+++ b/branches/ucs-4.1/ucs-4.1-3/management/univention-directory-listener/conffiles/etc/runit/univention-directory-listener/run >@@ -1,5 +1,4 @@ > #!/bin/sh -e >-@%@UCRWARNING=# @%@ > # > # Copyright 2004-2016 Univention GmbH > # >@@ -32,36 +31,29 @@ > test ! -f /etc/nologin || exit 0 > > cachedir=/var/lib/univention-directory-listener >-moduledir=/usr/lib/univention-directory-listener/system >- > for dir in "$cachedir" /var/lib/univention-ldap/listener; do > find "$dir" ! -user listener -exec chown listener {} \; > done > > eval "$(univention-config-registry shell)" >- >-if [ "$server_role" != "domaincontroller_master" ] && command -v univention-directory-notifier >/dev/null 2>&1 ; then >- options="-o" >-fi >- >- >-if [ -n "$listener_debug_level" ]; then >- options="$options -d $listener_debug_level" >-fi >- >-options="$options -x -ZZ" >- >-if [ -n "$listener_ignoremaster" -a "$listener_ignoremaster" = "yes" ]; then >- options="$options -B" >-fi >- >-if [ -n "$server_role" ]; then >- if [ "@%@server/role@%@" = "domaincontroller_master" -o "@%@server/role@%@" = "domaincontroller_backup" ]; then >- exec /usr/sbin/univention-directory-listener -F -b "@%@ldap/base@%@" -m "$moduledir" -c "$cachedir" $options -D cn=admin,@%@ldap/base@%@ -y /etc/ldap.secret >>/var/log/univention/listener.log 2>&1 >- else >- exec /usr/sbin/univention-directory-listener -F -b "@%@ldap/base@%@" -m "$moduledir" -c "$cachedir" $options -D "@%@ldap/hostdn@%@" -y /etc/machine.secret >>/var/log/univention/listener.log 2>&1 >- fi >-else >- exec /usr/sbin/univention-directory-listener -F -b "@%@ldap/base@%@" -m "$moduledir" -c "$cachedir" $options >>/var/log/univention/listener.log 2>&1 >-fi >- >+write_translog= ignore_master= dn= secret= >+[ "$server_role" != "domaincontroller_master" ] && command -v univention-directory-notifier >/dev/null 2>&1 && >+ write_translog=1 >+[ "${listener_ignoremaster:-}" = "yes" ] && >+ ignore_master=1 >+case "$server_role" in >+domaincontroller_master|domaincontroller_backup) dn="cn=admin,$ldap_base" secret=/etc/ldap.secret ;; >+?*) dn="$ldap_hostdn" secret=/etc/machine.secret ;; >+esac >+ >+tty -s || exec >>/var/log/univention/listener.log 2>&1 >+exec /usr/sbin/univention-directory-listener -F \ >+ ${listener_debug_level:+-d "$listener_debug_level"} \ >+ -b "$ldap_base" \ >+ -m /usr/lib/univention-directory-listener/system \ >+ -c "$cachedir" \ >+ ${write_translog:+-o} \ >+ ${ignore_master:+-B} \ >+ -ZZ \ >+ -x \ >+ ${dn:+-D "$dn"} ${secret:+-y "$secret"} >diff --git a/branches/ucs-4.1/ucs-4.1-3/management/univention-directory-listener/debian/univention-directory-listener.univention-config-registry b/branches/ucs-4.1/ucs-4.1-3/management/univention-directory-listener/debian/univention-directory-listener.univention-config-registry >index c89b6f1..62d15c0 100644 >--- a/branches/ucs-4.1/ucs-4.1-3/management/univention-directory-listener/debian/univention-directory-listener.univention-config-registry >+++ b/branches/ucs-4.1/ucs-4.1-3/management/univention-directory-listener/debian/univention-directory-listener.univention-config-registry >@@ -1,11 +1,5 @@ > Type: file > File: etc/runit/univention-directory-listener/run >-Variables: listener/debug/level >-Variables: server/role >-Variables: listener/ignoremaster >-Variables: ldap/base >-Variables: ldap/port >-Variables: ldap/server/port > > Type: file > File: etc/logrotate.d/univention-directory-listener
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 42328
: 8120