summaryrefslogtreecommitdiffstats
path: root/src/backend.h
Commit message (Collapse)AuthorAgeFilesLines
* Add ignore-subtree and restrict-subtree settingsNalin Dahyabhai2013-09-191-4/+6
| | | | | | | | | | | | | | Add {nis,schema-compat}-ignore-subtree (subtrees under which we ignore contents and updates )and {nis,schema-compat}-restrict-subtree (subtrees out of which we ignore contents and updates, if set) settings, and default the former to "cn=tasks,cn=config". This should avoid cases where we're looking through the ldbm backend for entries which have a dangling reference to a newly-added task (which, because it's in the DSE, means we acquire an ldbm lock after acquiring our internal lock) while also updating a compat entry after its source entry is modified (for example, by the memberOf plugin, which results in us attempting to acquire our lock while the ldbm lock is already held).
* Add schema-compat-relevant-subtreeNalin Dahyabhai2013-09-121-0/+3
| | | | | | | | | | Add a schema-compat-relevant-subtree configuration option, listing the only parts of the DIT that we should ever look at, either as source entries or as other entries which contain data which might be pulled in as part of computing the contents of compat entries. This is more or less the whitelist to schema-compat-ignore-subtree's blacklist.
* Add schema-compat-ignore-subtreeNalin Dahyabhai2013-09-121-1/+3
| | | | | | | Add a schema-compat-ignore-subtree configuration option, listing parts of the DIT that we should never look at, neither as source entries nor as random other entries which contain data which might be pulled in as part of computing the contents of compat entries.
* Overhaul betxn supportNalin Dahyabhai2012-11-011-1/+4
| | | | | | | | | * Check for BETXN support at build-time, provide options for disabling or requiring that it be available for build to succeed. * Track whether or not BETXN support is enabled in the plugin-local state. * Skip processing in post/internalpost callbacks if BETXN support is enabled. * Skip work in betxnpost callbacks if BETXN support is disabled.
* make NIS Plugin and Schema Compatibility Plugin betxn awareNoriko Hosoi2012-10-161-0/+1
| | | | | | | | | | When NIS Plugin and Schema Compatibility Plugin config entries include nsslapd-pluginbetxn: on (the value could be yes, true or 1, too), the plugins' update callbacks (add, delete, modify, and modrdn) are called at the betxn pre/postop timing. By default, the value of nsslapd-pluginbetxn is off. (See also https://fedorahosted.org/389/ticket/351)
* drop support for directory server transactionsNalin Dahyabhai2012-06-131-4/+0
| | | | | | | Transaction support the way we added it is an all-or-nothing proposition for a server installation, which turned out to be problematic, so 389 is going to pursue another strategy for that. The new way requires that we not register as a betxn plugin, ever.
* - in callbacks, only use pblocks that are built from pblocks that weNalin Dahyabhai2012-01-161-7/+16
| | | | | | already have, so that we can pass the transaction ID around; this includes additional parameters for a number of functions and a new callback data type for backend_set_config_entry_add_cb()
* - add a testing option for toggling the skip-uninteresting-updates logicNalin Dahyabhai2012-01-101-0/+3
|
* - most of what's needed to hook back-end txn postoperations, except for the ↵Nalin Dahyabhai2012-01-091-0/+3
| | | | passing the TXN ID around, which means we deadlock if we actually do it
* - Make a note of which attributes we read from any entry when evaluating ↵Nalin Dahyabhai2012-01-061-1/+12
| | | | data, and when we're later called for a modify request which doesn't modify any of those attributes, skip recalculating the entry contents (should make a dent in #771493).
* - give callback registration the ability to return errorsNalin Dahyabhai2008-12-031-3/+3
| | | | | - make the nis plugin register two types of internal plugins, since it can't just be a postop plugin any more
* - add another list of attributes and parents, for use in chasing andNalin Dahyabhai2008-09-101-1/+1
| | | | tracking multi-hop backreferences
* - wire the format_ref_attr_list structure into the two pluginsNalin Dahyabhai2008-09-081-0/+1
|
* - correctly name the format_inref_attr structure in a forward declarationNalin Dahyabhai2008-09-081-1/+1
|
* - make some used-only-locally functions staticNalin Dahyabhai2008-07-311-0/+4
| | | | | - warn if a map is going to be empty, because it usually signals a misconfiguration of some kind
* - add a helper for checking if we've been called by ourselvesNalin Dahyabhai2008-07-101-0/+5
| | | | - if a search was initiated by us, don't bother (and also don't deadlock)
* - function rename: set_entry_one -> set_entryNalin Dahyabhai2008-07-031-1/+1
|
* rename backend_shr_set_config_entry_add_one -> backend_shr_set_config_entry_addNalin Dahyabhai2008-07-021-2/+1
| | | | | just expect the specific backend to return a filter when checking if an entry is is a set configuration
* - reintroduce copyright noticeNalin Dahyabhai2008-07-011-0/+21
|
* - drop backend-specific header filesNalin Dahyabhai2008-07-011-0/+2
|
* - we're generating proper entries now. not storing them anywhere, but one thingNalin Dahyabhai2008-07-011-1/+1
| | | | at a time
* - make the shared parts of the configuration actually shared so that we canNalin Dahyabhai2008-07-011-11/+11
| | | | drop accessors for reading the shared parts
* - whoops, this file needs to be re-added to VCSNalin Dahyabhai2008-06-301-0/+52
|
* - rename backend and defaults, tooNalin Dahyabhai2008-06-301-34/+0
|
* - read a map's "secure" flag from the configuration, and set itNalin Dahyabhai2008-06-101-1/+1
|
* - (backend) when providing map configuration to others, read from the directoryNalin Dahyabhai2008-06-041-1/+2
| | | | | rather than the map cache, in case we're in the middle of building it - (format) referred: indicate how many bytes of data we stored
* - add a function for reading the set of search bases and filter for a mapNalin Dahyabhai2008-06-041-0/+3
| | | | - handle format_get_data taking a domain and map now
* - more build machineryNalin Dahyabhai2008-05-291-0/+21
| | | | | - license text in source files - elaborate on what's still to be done
* - build cleanupsNalin Dahyabhai2008-05-291-1/+3
| | | | - remove some more NSPRisms in cases when XDRisms are even more portable
* - switch to using virtual attributesNalin Dahyabhai2008-05-161-1/+2
| | | | | - read the name of the master for a map from "cn=config"'s nsslapd-localhost attribute, which is a virtual attribute
* - learn to iterate over mapsNalin Dahyabhai2008-05-091-0/+1
| | | | | | | | - rename visited lists to related lists - handle NULL related ID lists - fix map semantics so that it won't try to take ownership of key/value data - set up map backend data - start doing proper adds/removes in post-op callbacks
* - provide a way for the backend to register callbacks with the directoryNalin Dahyabhai2008-04-221-1/+3
| | | | | - switch to using the plugin's entry for locating maps in preference to the hard-coded location
* - stub out where we'll be providing dataNalin Dahyabhai2008-04-021-0/+3