-#ifndef HAVE_GMTIME_R
- ldap_pvt_thread_mutex_lock( &gmtime_mutex );
-#endif
-#ifdef HACK_LOCAL_TIME
-# ifdef HAVE_LOCALTIME_R
- ctm = localtime_r( &c->c_starttime, &tm_buf );
- lutil_localtime( ctmbuf, sizeof( ctmbuf ), ctm, -timezone );
- mtm = localtime_r( &c->c_activitytime, &tm_buf );
- lutil_localtime( mtmbuf, sizeof( mtmbuf ), mtm, -timezone );
-# else
- ctm = localtime( &c->c_starttime );
- lutil_localtime( ctmbuf, sizeof( ctmbuf ), ctm, -timezone );
- mtm = localtime( &c->c_activitytime );
- lutil_localtime( mtmbuf, sizeof( mtmbuf ), mtm, -timezone );
-# endif /* HAVE_LOCALTIME_R */
-#else /* !HACK_LOCAL_TIME */
-# ifdef HAVE_GMTIME_R
- ctm = gmtime_r( &c->c_starttime, &tm_buf );
- lutil_gentime( ctmbuf, sizeof( ctmbuf ), ctm );
- mtm = gmtime_r( &c->c_activitytime, &tm_buf );
- lutil_gentime( mtmbuf, sizeof( mtmbuf ), mtm );
-# else
- ctm = gmtime( &c->c_starttime );
- lutil_gentime( ctmbuf, sizeof( ctmbuf ), ctm );
- mtm = gmtime( &c->c_activitytime );
- lutil_gentime( mtmbuf, sizeof( mtmbuf ), mtm );
-# endif /* HAVE_GMTIME_R */
-#endif /* !HACK_LOCAL_TIME */
-#ifndef HAVE_GMTIME_R
- ldap_pvt_thread_mutex_unlock( &gmtime_mutex );
-#endif
-
-#ifndef HAVE_GMTIME_R
- ldap_pvt_thread_mutex_lock( &gmtime_mutex );
-#endif
-
-#ifdef HAVE_GMTIME_R
- ltm = gmtime_r( &c->c_starttime, &tm_buf );
-#else
- ltm = gmtime( &c->c_starttime );
-#endif
- lutil_gentime( buf2, sizeof( buf2 ), ltm );
-
-#ifdef HAVE_GMTIME_R
- ltm = gmtime_r( &c->c_activitytime, &tm_buf );
-#else
- ltm = gmtime( &c->c_activitytime );
-#endif
- lutil_gentime( buf3, sizeof( buf3 ), ltm );
-
-#ifndef HAVE_GMTIME_R
- ldap_pvt_thread_mutex_unlock( &gmtime_mutex );
-#endif /* HAVE_GMTIME_R */
-
- snprintf( buf, sizeof( buf ),
- "dn: cn=Connection %ld,%s\n"
- "objectClass: %s\n"
- "structuralObjectClass: %s\n"
- "cn: Connection %ld\n"
+ 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 );
+
+ if ( e == NULL) {
+ Debug( LDAP_DEBUG_ANY,
+ "monitor_subsys_conn_create: "
+ "unable to create entry "
+ "\"cn=Connection %ld,%s\"\n",
+ c->c_connid,
+ ms->mss_dn.bv_val, 0 );
+ return( -1 );
+ }