diff --git management/univention-directory-listener/conffiles/etc/runit/univention-directory-listener/run management/univention-directory-listener/conffiles/etc/runit/univention-directory-listener/run index b0d82f34ee..6f303c31a4 100755 --- management/univention-directory-listener/conffiles/etc/runit/univention-directory-listener/run +++ management/univention-directory-listener/conffiles/etc/runit/univention-directory-listener/run @@ -49,6 +49,7 @@ esac tty -s || exec >>/var/log/univention/listener.log 2>&1 exec /usr/sbin/univention-directory-listener -F \ + -n ${listener_debug_level:+-d "$listener_debug_level"} \ -b "$ldap_base" \ -m /usr/lib/univention-directory-listener/system \ diff --git management/univention-directory-listener/src/main.c management/univention-directory-listener/src/main.c index 80accc64b3..1fc1f9d27c 100644 --- management/univention-directory-listener/src/main.c +++ management/univention-directory-listener/src/main.c @@ -211,6 +211,7 @@ static void usage(void) { fprintf(stderr, "Usage: univention-directory-listener [options]\n"); fprintf(stderr, "Options:\n"); fprintf(stderr, " -d debugging\n"); + fprintf(stderr, " -n no function debugging\n"); fprintf(stderr, " -F run in foreground (intended for process supervision)\n"); fprintf(stderr, " -H LDAP server URI\n"); fprintf(stderr, " -h LDAP server address\n"); @@ -350,6 +351,7 @@ int main(int argc, char *argv[]) { univention_ldap_parameters_t *lp_local; char *server_role; int debugging = 0; + bool debug_function = true; bool from_scratch = false; bool foreground = false; bool initialize_only = false; @@ -359,7 +361,7 @@ int main(int argc, char *argv[]) { struct stat stbuf; char cache_mdb_dir[PATH_MAX]; - univention_debug_init("stderr", 1, 1); + univention_debug_init("stderr", UV_DEBUG_FLUSH, UV_DEBUG_FUNCTION); { struct timeval timeout = { @@ -405,6 +407,9 @@ int main(int argc, char *argv[]) { case 'd': debugging = atoi(optarg); break; + case 'n': + debug_function = false; + break; case 'F': foreground = true; break; @@ -487,6 +492,7 @@ int main(int argc, char *argv[]) { univention_debug_set_level(UV_DEBUG_LISTENER, debugging); univention_debug_set_level(UV_DEBUG_LDAP, debugging); + univention_debug_set_function(debug_function ? UV_DEBUG_FUNCTION: UV_DEBUG_NO_FUNCTION); { char filename[PATH_MAX];