]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/init.c
cleanup
[openldap] / servers / slapd / init.c
index 91482efc29a3d5dae606578d758bf1f45de92384..90f66152ea85758efc344eaf96c4d0394d7d3259 100644 (file)
@@ -14,6 +14,7 @@
 #include <ac/time.h>
 
 #include "slap.h"
+#include "lber_pvt.h"
 
 /*
  * read-only global variables or variables only written by the listener
@@ -33,6 +34,10 @@ int          ldap_syslog_level = LOG_DEBUG;
 
 BerVarray default_referral = NULL;
 
+struct berval AllUser = BER_BVC( LDAP_ALL_USER_ATTRIBUTES );
+struct berval AllOper = BER_BVC( LDAP_ALL_OPERATIONAL_ATTRIBUTES );
+struct berval NoAttrs = BER_BVC( LDAP_NO_ATTRS );
+
 /*
  * global variables that need mutex protection
  */
@@ -44,9 +49,11 @@ ldap_pvt_thread_mutex_t      passwd_mutex;
 #endif
 
 unsigned long                  num_ops_initiated = 0;
-unsigned long                  num_ops_initiated_[SLAP_OP_LAST];
 unsigned long                  num_ops_completed = 0;
+#ifdef SLAPD_MONITOR
+unsigned long                  num_ops_initiated_[SLAP_OP_LAST];
 unsigned long                  num_ops_completed_[SLAP_OP_LAST];
+#endif /* SLAPD_MONITOR */
 ldap_pvt_thread_mutex_t        num_ops_mutex;
 
 unsigned long                  num_entries_sent;
@@ -64,6 +71,65 @@ ldap_pvt_thread_mutex_t      replog_mutex;
 static const char* slap_name = NULL;
 int slapMode = SLAP_UNDEFINED_MODE;
 
+/*
+ * all known control OIDs should be added to this list
+ */
+char *slap_known_controls[] = {
+#ifdef LDAP_CONTROL_REFERRALS
+       LDAP_CONTROL_REFERRALS,
+#endif /* LDAP_CONTROL_REFERRALS */
+
+#ifdef LDAP_CONTROL_MANAGEDSAIT
+       LDAP_CONTROL_MANAGEDSAIT,
+#endif /* LDAP_CONTROL_MANAGEDSAIT */
+
+#ifdef LDAP_CONTROL_SUBENTRIES
+       LDAP_CONTROL_SUBENTRIES,
+#endif /* LDAP_CONTROL_SUBENTRIES */
+
+#ifdef LDAP_CONTROL_NOOP
+       LDAP_CONTROL_NOOP,
+#endif /* LDAP_CONTROL_NOOP */
+
+#ifdef LDAP_CONTROL_DUPENT_REQUEST
+       LDAP_CONTROL_DUPENT_REQUEST,
+#endif /* LDAP_CONTROL_DUPENT_REQUEST */
+
+#ifdef LDAP_CONTROL_DUPENT_RESPONSE
+       LDAP_CONTROL_DUPENT_RESPONSE,
+#endif /* LDAP_CONTROL_DUPENT_RESPONSE */
+
+#ifdef LDAP_CONTROL_DUPENT_ENTRY
+       LDAP_CONTROL_DUPENT_ENTRY,
+#endif /* LDAP_CONTROL_DUPENT_ENTRY */
+
+#ifdef LDAP_CONTROL_PAGEDRESULTS
+       LDAP_CONTROL_PAGEDRESULTS,
+#endif /* LDAP_CONTROL_PAGEDRESULTS */
+
+#ifdef LDAP_CONTROL_SORTREQUEST
+       LDAP_CONTROL_SORTREQUEST,
+#endif /* LDAP_CONTROL_SORTREQUEST */
+
+#ifdef LDAP_CONTROL_SORTRESPONSE
+       LDAP_CONTROL_SORTRESPONSE,
+#endif /* LDAP_CONTROL_SORTRESPONSE */
+
+#ifdef LDAP_CONTROL_VLVREQUEST
+       LDAP_CONTROL_VLVREQUEST,
+#endif /* LDAP_CONTROL_VLVREQUEST */
+
+#ifdef LDAP_CONTROL_VLVRESPONSE
+       LDAP_CONTROL_VLVRESPONSE,
+#endif /* LDAP_CONTROL_VLVRESPONSE */
+
+#ifdef LDAP_CONTROL_VALUESRETURNFILTER
+       LDAP_CONTROL_VALUESRETURNFILTER,
+#endif /* LDAP_CONTROL_VALUESRETURNFILTER */
+
+       NULL
+};
+
 int
 slap_init( int mode, const char *name )
 {
@@ -73,9 +139,9 @@ slap_init( int mode, const char *name )
 
        if( slapMode != SLAP_UNDEFINED_MODE ) {
 #ifdef NEW_LOGGING
-               LDAP_LOG(( "operation", LDAP_LEVEL_CRIT,
-                          "init: %s init called twice (old=%d, new=%d)\n",
-                          name, slapMode, mode ));
+               LDAP_LOG( OPERATION, CRIT, 
+                       "init: %s init called twice (old=%d, new=%d)\n",
+                       name, slapMode, mode );
 #else
                Debug( LDAP_DEBUG_ANY,
                 "%s init: init called twice (old=%d, new=%d)\n",
@@ -91,9 +157,10 @@ slap_init( int mode, const char *name )
                case SLAP_SERVER_MODE:
                case SLAP_TOOL_MODE:
 #ifdef NEW_LOGGING
-                       LDAP_LOG(( "operation", LDAP_LEVEL_DETAIL1,
-                                  "init: %s initiation, initiated %s.\n",
-                                  name, (mode & SLAP_MODE) == SLAP_TOOL_MODE ? "tool" : "server" ));
+                       LDAP_LOG( OPERATION, DETAIL1, 
+                               "init: %s initiation, initiated %s.\n",
+                               name, (mode & SLAP_MODE) == SLAP_TOOL_MODE ? 
+                                 "tool" : "server", 0 );
 #else
                        Debug( LDAP_DEBUG_TRACE,
                                "%s init: initiated %s.\n",     name,
@@ -113,6 +180,7 @@ slap_init( int mode, const char *name )
                        ldap_pvt_thread_mutex_init( &num_ops_mutex );
                        ldap_pvt_thread_mutex_init( &num_sent_mutex );
 
+#ifdef SLAPD_MONITOR
                        {
                                int i;
                                for ( i = 0; i < SLAP_OP_LAST; i++ ) {
@@ -120,6 +188,7 @@ slap_init( int mode, const char *name )
                                        num_ops_completed_[ i ] = 0;
                                }
                        }
+#endif
 
                        ldap_pvt_thread_mutex_init( &gmtime_mutex );
 #if defined( SLAPD_CRYPT ) || defined( SLAPD_SPASSWD )
@@ -135,8 +204,8 @@ slap_init( int mode, const char *name )
 
                default:
 #ifdef NEW_LOGGING
-                       LDAP_LOG(( "operation", LDAP_LEVEL_ERR,
-                                  "init: %s init, undefined mode (%d).\n", name, mode ));
+                       LDAP_LOG( OPERATION, ERR, 
+                               "init: %s init, undefined mode (%d).\n", name, mode, 0 );
 #else
                        Debug( LDAP_DEBUG_ANY,
                                "%s init: undefined mode (%d).\n", name, mode, 0 );
@@ -154,8 +223,7 @@ int slap_startup( Backend *be )
        int rc;
 
 #ifdef NEW_LOGGING
-       LDAP_LOG(( "operation", LDAP_LEVEL_CRIT,
-                  "slap_startup: %s started\n", slap_name ));
+       LDAP_LOG( OPERATION, CRIT, "slap_startup: %s started\n", slap_name, 0, 0 );
 #else
        Debug( LDAP_DEBUG_TRACE,
                "%s startup: initiated.\n",
@@ -173,8 +241,8 @@ int slap_shutdown( Backend *be )
        int rc;
 
 #ifdef NEW_LOGGING
-       LDAP_LOG(( "operation", LDAP_LEVEL_CRIT,
-                  "slap_shutdown: %s shutdown initiated.\n", slap_name));
+       LDAP_LOG( OPERATION, CRIT, 
+               "slap_shutdown: %s shutdown initiated.\n", slap_name, 0, 0);
 #else
        Debug( LDAP_DEBUG_TRACE,
                "%s shutdown: initiated\n",
@@ -195,9 +263,8 @@ int slap_destroy(void)
        int rc;
 
 #ifdef NEW_LOGGING
-       LDAP_LOG(( "operation", LDAP_LEVEL_INFO,
-                  "slap_destroy: %s freeing system resources.\n",
-                  slap_name ));
+       LDAP_LOG( OPERATION, INFO, 
+               "slap_destroy: %s freeing system resources.\n", slap_name, 0, 0);
 #else
        Debug( LDAP_DEBUG_TRACE,
                "%s shutdown: freeing system resources.\n",