#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,
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 ) ) {
return( 0 );
}
-int
+static int
monitor_subsys_conn_update(
Operation *op,
SlapReply *rs,
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,
return SLAP_CB_CONTINUE;
}
-int
+static int
monitor_subsys_conn_create(
Operation *op,
SlapReply *rs,