]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-monitor/conn.c
Destroy monitor_info.mi_cache_mutex
[openldap] / servers / slapd / back-monitor / conn.c
index caa59c7a95b990e8cf9d2ff3b3e9ee9a279cf6a2..b5fcab790ac3d4ed6f185956662a1d7d2ef36937 100644 (file)
 #define MONITOR_LEGACY_CONN
 #endif
 
+static int
+monitor_subsys_conn_update(
+       Operation               *op,
+       SlapReply               *rs,
+       Entry                   *e );
+
+static int 
+monitor_subsys_conn_create( 
+       Operation               *op,
+       SlapReply               *rs,
+       struct berval           *ndn,
+       Entry                   *e_parent,
+       Entry                   **ep );
+
 int
 monitor_subsys_conn_init(
        BackendDB               *be,
@@ -45,6 +59,9 @@ monitor_subsys_conn_init(
 
        assert( be != NULL );
 
+       ms->mss_update = monitor_subsys_conn_update;
+       ms->mss_create = monitor_subsys_conn_create;
+
        mi = ( monitor_info_t * )be->be_private;
 
        if ( monitor_cache_get( mi, &ms->mss_ndn, &e_conn ) ) {
@@ -170,7 +187,7 @@ monitor_subsys_conn_init(
        return( 0 );
 }
 
-int
+static int
 monitor_subsys_conn_update(
        Operation               *op,
        SlapReply               *rs,
@@ -424,12 +441,13 @@ conn_create(
                mi->mi_ad_monitorConnectionAuthzDN->ad_cname.bv_val,
                        c->c_dn.bv_len ? c->c_dn.bv_val : SLAPD_ANONYMOUS,
 
+               /* NOTE: client connections leave the c_peer_* fields NULL */
                mi->mi_ad_monitorConnectionListener->ad_cname.bv_val,
                        c->c_listener_url.bv_val,
                mi->mi_ad_monitorConnectionPeerDomain->ad_cname.bv_val,
-                       c->c_peer_domain.bv_val,
+                       BER_BVISNULL( &c->c_peer_domain ) ? "unknown" : c->c_peer_domain.bv_val,
                mi->mi_ad_monitorConnectionLocalAddress->ad_cname.bv_val,
-                       c->c_peer_name.bv_val,
+                       BER_BVISNULL( &c->c_peer_name ) ? "unknown" : c->c_peer_name.bv_val,
                mi->mi_ad_monitorConnectionPeerAddress->ad_cname.bv_val,
                        c->c_sock_name.bv_val,
 
@@ -468,7 +486,7 @@ conn_create(
        return SLAP_CB_CONTINUE;
 }
 
-int 
+static int 
 monitor_subsys_conn_create( 
        Operation               *op,
        SlapReply               *rs,