~ubuntu-branches/ubuntu/maverick/openldap/maverick-proposed

« back to all changes in this revision

Viewing changes to servers/slapd/back-monitor/init.c

  • Committer: Bazaar Package Importer
  • Author(s): Mathias Gug
  • Date: 2009-09-07 13:41:10 UTC
  • mto: This revision was merged to the branch mainline in revision 19.
  • Revision ID: james.westby@ubuntu.com-20090907134110-jsdrvn0atu1fex4m
Tags: upstream-2.4.18
ImportĀ upstreamĀ versionĀ 2.4.18

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/* init.c - initialize monitor backend */
2
 
/* $OpenLDAP: pkg/ldap/servers/slapd/back-monitor/init.c,v 1.125.2.8 2009/01/22 00:01:08 kurt Exp $ */
 
2
/* $OpenLDAP: pkg/ldap/servers/slapd/back-monitor/init.c,v 1.125.2.10 2009/08/25 22:48:10 quanah Exp $ */
3
3
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
4
4
 *
5
5
 * Copyright 2001-2009 The OpenLDAP Foundation.
322
322
}
323
323
 
324
324
int
325
 
monitor_back_register_overlay(
326
 
        BackendDB               *be )
327
 
{
328
 
        return -1;
329
 
}
330
 
 
331
 
int
332
325
monitor_back_register_backend_limbo(
333
326
        BackendInfo             *bi )
334
327
{
338
331
int
339
332
monitor_back_register_database_limbo(
340
333
        BackendDB               *be,
341
 
        struct berval   *ndn )
 
334
        struct berval           *ndn_out )
342
335
{
343
336
        entry_limbo_t   **elpp, el = { 0 };
344
337
        monitor_info_t  *mi;
357
350
        el.el_type = LIMBO_DATABASE;
358
351
 
359
352
        el.el_be = be->bd_self;
360
 
        el.el_ndn = ndn;
 
353
        el.el_ndn = ndn_out;
361
354
        
362
355
        for ( elpp = &mi->mi_entry_limbo;
363
356
                        *elpp;
381
374
 
382
375
int
383
376
monitor_back_register_overlay_limbo(
384
 
        BackendDB               *be )
 
377
        BackendDB               *be,
 
378
        struct slap_overinst    *on,
 
379
        struct berval           *ndn_out )
385
380
{
386
 
        return -1;
 
381
        entry_limbo_t   **elpp, el = { 0 };
 
382
        monitor_info_t  *mi;
 
383
 
 
384
        if ( be_monitor == NULL ) {
 
385
                Debug( LDAP_DEBUG_ANY,
 
386
                        "monitor_back_register_overlay_limbo: "
 
387
                        "monitor database not configured.\n",
 
388
                        0, 0, 0 );
 
389
                return -1;
 
390
        }
 
391
 
 
392
        mi = ( monitor_info_t * )be_monitor->be_private;
 
393
 
 
394
 
 
395
        el.el_type = LIMBO_OVERLAY;
 
396
 
 
397
        el.el_be = be->bd_self;
 
398
        el.el_on = on;
 
399
        el.el_ndn = ndn_out;
 
400
        
 
401
        for ( elpp = &mi->mi_entry_limbo;
 
402
                        *elpp;
 
403
                        elpp = &(*elpp)->el_next )
 
404
                /* go to last */;
 
405
 
 
406
        *elpp = (entry_limbo_t *)ch_malloc( sizeof( entry_limbo_t ) );
 
407
 
 
408
        el.el_next = NULL;
 
409
        **elpp = el;
 
410
 
 
411
        return 0;
387
412
}
388
413
 
389
414
int
1903
1928
                        "SINGLE-VALUE "
1904
1929
                        "USAGE dSAOperation )", SLAP_AT_HIDE,
1905
1930
                        offsetof(monitor_info_t, mi_ad_monitorRuntimeConfig) },
 
1931
                { "( 1.3.6.1.4.1.4203.666.1.55.30 "
 
1932
                        "NAME 'monitorSuperiorDN' "
 
1933
                        "DESC 'monitor superior DN' "
 
1934
                        /* "SUP distinguishedName " */
 
1935
                        "EQUALITY distinguishedNameMatch "
 
1936
                        "SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 "
 
1937
                        "NO-USER-MODIFICATION "
 
1938
                        "USAGE dSAOperation )", SLAP_AT_FINAL|SLAP_AT_HIDE,
 
1939
                        offsetof(monitor_info_t, mi_ad_monitorSuperiorDN) },
1906
1940
                { NULL, 0, -1 }
1907
1941
        };
1908
1942
 
2356
2390
         * opens the monitor backend subsystems
2357
2391
         */
2358
2392
        for ( ms = monitor_subsys; ms[ 0 ] != NULL; ms++ ) {
2359
 
                if ( ms[ 0 ]->mss_open && ( *ms[ 0 ]->mss_open )( be, ms[ 0 ] ) )
2360
 
                {
 
2393
                if ( ms[ 0 ]->mss_open && ms[ 0 ]->mss_open( be, ms[ 0 ] ) ) {
2361
2394
                        return( -1 );
2362
2395
                }
2363
2396
                ms[ 0 ]->mss_flags |= MONITOR_F_OPENED;
2425
2458
                                break;
2426
2459
 
2427
2460
                        case LIMBO_OVERLAY:
2428
 
                                rc = monitor_back_register_overlay( el->el_be );
 
2461
                                rc = monitor_back_register_overlay( el->el_be, el->el_on, el->el_ndn );
2429
2462
                                break;
2430
2463
 
2431
2464
                        default: