~ttx/openldap/lucid-gssapi-495418

« back to all changes in this revision

Viewing changes to servers/slapd/back-bdb/operational.c

  • Committer: Bazaar Package Importer
  • Author(s): Steve Langasek, Updated debconf translations
  • Date: 2009-07-28 10:17:15 UTC
  • mfrom: (1.1.4 upstream) (0.2.2 sid)
  • mto: (0.2.4 sid)
  • mto: This revision was merged to the branch mainline in revision 16.
  • Revision ID: james.westby@ubuntu.com-20090728101715-epwmqmsk0d3h22k3
* New upstream version.
  - Fixes FTBFS on ia64 with -fPIE. Closes: #524770.
  - Fixes some TLS issues with GnuTLS.  Closes: #505191.
* Update priority of libldap-2.4-2 to match the archive override.
* Add the missing ldapexop and ldapurl tools to ldap-utils, as well as the
  ldapurl(1) manpage.  Thanks to Peter Marschall for the patch.
  Closes: #496749.
* Bump build-dependency on debhelper to 6 instead of 5, since that's
  what we're using.  Closes: #498116.
* Set the default SLAPD_SERVICES to ldap:/// ldapi:///, instead of using
  the built-in default of ldap:/// only.
* Build-depend on libltdl-dev | libltdl3-dev (>= 1.4.3), for the package
  name change.  Closes: #522965.

[ Updated debconf translations ]
* Spanish, thanks to Francisco Javier Cuadrado <fcocuadrado@gmail.com>.
  Closes: #521804.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/* operational.c - bdb backend operational attributes function */
2
 
/* $OpenLDAP: pkg/ldap/servers/slapd/back-bdb/operational.c,v 1.29.2.3 2008/02/11 23:26:46 kurt Exp $ */
 
2
/* $OpenLDAP: pkg/ldap/servers/slapd/back-bdb/operational.c,v 1.29.2.5 2009/03/05 22:24:29 quanah Exp $ */
3
3
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
4
4
 *
5
 
 * Copyright 2000-2008 The OpenLDAP Foundation.
 
5
 * Copyright 2000-2009 The OpenLDAP Foundation.
6
6
 * All rights reserved.
7
7
 *
8
8
 * Redistribution and use in source and binary forms, with or without
34
34
        Entry           *e,
35
35
        int             *hasSubordinates )
36
36
{
 
37
        struct bdb_info *bdb = (struct bdb_info *) op->o_bd->be_private;
 
38
        struct bdb_op_info      *opinfo;
 
39
        OpExtra *oex;
 
40
        DB_TXN          *rtxn;
37
41
        int             rc;
38
42
        
39
43
        assert( e != NULL );
47
51
                return LDAP_OTHER;
48
52
        }
49
53
 
 
54
        /* Check for a txn in a parent op, otherwise use reader txn */
 
55
        LDAP_SLIST_FOREACH( oex, &op->o_extra, oe_next ) {
 
56
                if ( oex->oe_key == bdb )
 
57
                        break;
 
58
        }
 
59
        opinfo = (struct bdb_op_info *) oex;
 
60
        if ( opinfo && opinfo->boi_txn ) {
 
61
                rtxn = opinfo->boi_txn;
 
62
        } else {
 
63
                rc = bdb_reader_get(op, bdb->bi_dbenv, &rtxn);
 
64
                if ( rc ) return LDAP_OTHER;
 
65
        }
 
66
 
50
67
retry:
51
68
        /* FIXME: we can no longer assume the entry's e_private
52
69
         * field is correctly populated; so we need to reacquire
53
70
         * it with reader lock */
54
 
        rc = bdb_cache_children( op, NULL, e );
55
 
        
 
71
        rc = bdb_cache_children( op, rtxn, e );
 
72
 
56
73
        switch( rc ) {
57
74
        case DB_LOCK_DEADLOCK:
58
75
        case DB_LOCK_NOTGRANTED: