/* $OpenLDAP$ */
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
*
- * Copyright 2001-2009 The OpenLDAP Foundation.
+ * Copyright 2001-2013 The OpenLDAP Foundation.
* Portions Copyright 2001-2003 Pierangelo Masarati.
* All rights reserved.
*
*/
BER_BVSTR( &bv, "cn=Max File Descriptors" );
e = monitor_entry_stub( &ms->mss_dn, &ms->mss_ndn, &bv,
- mi->mi_oc_monitorCounterObject, mi, NULL, NULL );
+ mi->mi_oc_monitorCounterObject, NULL, NULL );
if ( e == NULL ) {
Debug( LDAP_DEBUG_ANY,
} else {
BER_BVSTR( &bv, "0" );
}
- attr_merge_one( e, mi->mi_ad_monitorCounter, &bv, &bv );
+ attr_merge_one( e, mi->mi_ad_monitorCounter, &bv, NULL );
mp = monitor_entrypriv_create();
if ( mp == NULL ) {
*/
BER_BVSTR( &bv, "cn=Total" );
e = monitor_entry_stub( &ms->mss_dn, &ms->mss_ndn, &bv,
- mi->mi_oc_monitorCounterObject, mi, NULL, NULL );
+ mi->mi_oc_monitorCounterObject, NULL, NULL );
if ( e == NULL ) {
Debug( LDAP_DEBUG_ANY,
}
BER_BVSTR( &bv, "-1" );
- attr_merge_one( e, mi->mi_ad_monitorCounter, &bv, &bv );
+ attr_merge_one( e, mi->mi_ad_monitorCounter, &bv, NULL );
mp = monitor_entrypriv_create();
if ( mp == NULL ) {
*/
BER_BVSTR( &bv, "cn=Current" );
e = monitor_entry_stub( &ms->mss_dn, &ms->mss_ndn, &bv,
- mi->mi_oc_monitorCounterObject, mi, NULL, NULL );
+ mi->mi_oc_monitorCounterObject, NULL, NULL );
if ( e == NULL ) {
Debug( LDAP_DEBUG_ANY,
}
BER_BVSTR( &bv, "0" );
- attr_merge_one( e, mi->mi_ad_monitorCounter, &bv, &bv );
+ attr_merge_one( e, mi->mi_ad_monitorCounter, &bv, NULL );
mp = monitor_entrypriv_create();
if ( mp == NULL ) {
} else if ( dn_match( &rdn, ¤t_bv ) ) {
Connection *c;
- int connindex;
+ ber_socket_t connindex;
for ( n = 0, c = connection_first( &connindex );
c != NULL;
monitor_subsys_t *ms )
{
monitor_entry_t *mp;
- struct tm *tm;
+ struct tm tm;
char buf[ BACKMONITOR_BUFSIZE ];
char buf2[ LDAP_LUTIL_GENTIME_BUFSIZE ];
char buf3[ LDAP_LUTIL_GENTIME_BUFSIZE ];
- struct berval bv, ctmbv, mtmbv, bv2, bv3;
+ struct berval bv, ctmbv, mtmbv;
struct berval bv_unknown= BER_BVC("unknown");
Entry *e;
-#ifdef HACK_LOCAL_TIME
- char ctmbuf[ LDAP_LUTIL_GENTIME_BUFSIZE ];
- char mtmbuf[ LDAP_LUTIL_GENTIME_BUFSIZE ];
-#endif
-#ifdef HAVE_GMTIME_R
- struct tm tm_buf;
-#endif /* HAVE_GMTIME_R */
-
assert( c != NULL );
assert( ep != NULL );
-#ifndef HAVE_GMTIME_R
- ldap_pvt_thread_mutex_lock( &gmtime_mutex );
-#endif
-
-#ifdef HAVE_GMTIME_R
- tm = gmtime_r( &c->c_starttime, &tm_buf );
-#else
- tm = gmtime( &c->c_starttime );
-#endif
- bv2.bv_len = lutil_gentime( buf2, sizeof( buf2 ), tm );
- bv2.bv_val = buf2;
-#ifdef HACK_LOCAL_TIME
-# ifdef HAVE_LOCALTIME_R
- tm = localtime_r( &c->c_starttime, &tm_buf );
-# else
- tm = localtime( &c->c_starttime );
-# endif
- ctmbv.bv_len = lutil_localtime( ctmbuf, sizeof( ctmbuf ), tm, -timezone );
- ctmbv.bv_val = ctmbuf;
-#else /* !HACK_LOCAL_TIME */
- ctmbv = bv2;
-#endif
-
-#ifdef HAVE_GMTIME_R
- tm = gmtime_r( &c->c_activitytime, &tm_buf );
-#else
- tm = gmtime( &c->c_activitytime );
-#endif
- bv3.bv_len = lutil_gentime( buf3, sizeof( buf3 ), tm );
- bv3.bv_val = buf3;
-#ifdef HACK_LOCAL_TIME
-# ifdef HAVE_LOCALTIME_R
- tm = localtime_r( &c->c_activitytime, &tm_buf );
-# else
- tm = localtime( &c->c_activitytime );
-# endif /* HAVE_LOCALTIME_R */
- mtmbv.bv_len = lutil_localtime( mtmbuf, sizeof( mtmbuf ), tm, -timezone );
- mtmbv.bv_val = mtmbuf;
-#else /* !HACK_LOCAL_TIME */
- mtmbv = bv3;
-#endif
-
-#ifndef HAVE_GMTIME_R
- ldap_pvt_thread_mutex_unlock( &gmtime_mutex );
-#endif
+ ldap_pvt_gmtime( &c->c_starttime, &tm );
+
+ ctmbv.bv_len = lutil_gentime( buf2, sizeof( buf2 ), &tm );
+ ctmbv.bv_val = buf2;
+
+ ldap_pvt_gmtime( &c->c_activitytime, &tm );
+ mtmbv.bv_len = lutil_gentime( buf3, sizeof( buf3 ), &tm );
+ mtmbv.bv_val = buf3;
bv.bv_len = snprintf( buf, sizeof( buf ),
"cn=Connection %ld", c->c_connid );
bv.bv_val = buf;
e = monitor_entry_stub( &ms->mss_dn, &ms->mss_ndn, &bv,
- mi->mi_oc_monitorConnection, mi, &ctmbv, &mtmbv );
+ mi->mi_oc_monitorConnection, &ctmbv, &mtmbv );
if ( e == NULL) {
Debug( LDAP_DEBUG_ANY,
attr_merge_one( e, mi->mi_ad_monitorConnectionNumber, &bv, NULL );
bv.bv_len = snprintf( buf, sizeof( buf ), "%ld", (long) c->c_protocol );
- attr_merge_one( e, mi->mi_ad_monitorConnectionProtocol, &bv, NULL );
+ attr_merge_normalize_one( e, mi->mi_ad_monitorConnectionProtocol, &bv, NULL );
bv.bv_len = snprintf( buf, sizeof( buf ), "%ld", c->c_n_ops_received );
attr_merge_one( e, mi->mi_ad_monitorConnectionOpsReceived, &bv, NULL );
LDAP_STAILQ_EMPTY( &c->c_pending_ops ) ? "" : "p",
connection_state2str( c->c_conn_state ),
c->c_sasl_bind_in_progress ? "S" : "" );
- attr_merge_one( e, mi->mi_ad_monitorConnectionMask, &bv, NULL );
+ attr_merge_normalize_one( e, mi->mi_ad_monitorConnectionMask, &bv, NULL );
attr_merge_one( e, mi->mi_ad_monitorConnectionAuthzDN,
&c->c_dn, &c->c_ndn );
/* NOTE: client connections leave the c_peer_* fields NULL */
assert( !BER_BVISNULL( &c->c_listener_url ) );
- attr_merge_one( e, mi->mi_ad_monitorConnectionListener,
+ attr_merge_normalize_one( e, mi->mi_ad_monitorConnectionListener,
&c->c_listener_url, NULL );
- attr_merge_one( e, mi->mi_ad_monitorConnectionPeerDomain,
+ attr_merge_normalize_one( e, mi->mi_ad_monitorConnectionPeerDomain,
BER_BVISNULL( &c->c_peer_domain ) ? &bv_unknown : &c->c_peer_domain,
NULL );
- attr_merge_one( e, mi->mi_ad_monitorConnectionPeerAddress,
+ attr_merge_normalize_one( e, mi->mi_ad_monitorConnectionPeerAddress,
BER_BVISNULL( &c->c_peer_name ) ? &bv_unknown : &c->c_peer_name,
NULL );
assert( !BER_BVISNULL( &c->c_sock_name ) );
- attr_merge_one( e, mi->mi_ad_monitorConnectionLocalAddress,
+ attr_merge_normalize_one( e, mi->mi_ad_monitorConnectionLocalAddress,
&c->c_sock_name, NULL );
- attr_merge_one( e, mi->mi_ad_monitorConnectionStartTime, &bv2, NULL );
+ attr_merge_normalize_one( e, mi->mi_ad_monitorConnectionStartTime, &ctmbv, NULL );
- attr_merge_one( e, mi->mi_ad_monitorConnectionActivityTime, &bv3, NULL );
+ attr_merge_normalize_one( e, mi->mi_ad_monitorConnectionActivityTime, &mtmbv, NULL );
mp = monitor_entrypriv_create();
if ( mp == NULL ) {
if ( ndn == NULL ) {
Connection *c;
- int connindex;
+ ber_socket_t connindex;
Entry *e = NULL,
*e_tmp = NULL;
} else {
Connection *c;
- int connindex;
+ ber_socket_t connindex;
unsigned long connid;
char *next = NULL;
static struct berval nconn_bv = BER_BVC( "cn=connection " );