diff options
author | Andrew Bartlett <abartlet@samba.org> | 2006-09-14 03:15:30 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:18:38 -0500 |
commit | 1e4f5a096cb75f0db0219fc55a6f654c485b0427 (patch) | |
tree | 2a1724130e34798309ba6a2b840fa15dc2a01e82 /source4/lib/ldb/modules/ldb_map.h | |
parent | 48615ca0da4a4521fdf632ec3cbc45286919f996 (diff) | |
download | samba-1e4f5a096cb75f0db0219fc55a6f654c485b0427.tar.gz samba-1e4f5a096cb75f0db0219fc55a6f654c485b0427.tar.bz2 samba-1e4f5a096cb75f0db0219fc55a6f654c485b0427.zip |
r18495: More work on the LDAP backend (which now passes a lot of our tests!)
This adds a list of attributes that are in our wildcard seaches, but
the remote server requires to be explicitly listed. This also cleans
up the handling of wildcards in ldb_map to be more consistant.
Also fix the partitions module to rebase the search, if on the GC
port, we do a subtree search. (Otherwise backends can rightly
complain that the search is not in their scope).
Andrew Bartlett
(This used to be commit bc58792b7102f086b19353635d5d5ef9d40a0aae)
Diffstat (limited to 'source4/lib/ldb/modules/ldb_map.h')
-rw-r--r-- | source4/lib/ldb/modules/ldb_map.h | 51 |
1 files changed, 27 insertions, 24 deletions
diff --git a/source4/lib/ldb/modules/ldb_map.h b/source4/lib/ldb/modules/ldb_map.h index e743970564..c5c455bcb2 100644 --- a/source4/lib/ldb/modules/ldb_map.h +++ b/source4/lib/ldb/modules/ldb_map.h @@ -1,27 +1,26 @@ -/* - ldb database library - map backend +/* + ldb database mapping module Copyright (C) Jelmer Vernooij 2005 Copyright (C) Martin Kuehl <mkhl@samba.org> 2006 - Development sponsored by the Google Summer of Code program - ** NOTE! The following LGPL license applies to the ldb - ** library. This does NOT imply that all of Samba is released - ** under the LGPL - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. + * NOTICE: this module is NOT released under the GNU LGPL license as + * other ldb code. This module is release under the GNU GPL v2 or + * later license. - This library is distributed in the hope that it will be useful, + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef __LDB_MAP_H__ @@ -130,6 +129,11 @@ struct ldb_map_context { struct ldb_map_attribute *attribute_maps; /* NOTE: Always declare base classes first here */ const struct ldb_map_objectclass *objectclass_maps; + + /* Remote (often operational) attributes that should be added + * to any wildcard search */ + const char * const *wildcard_attributes; + /* struct ldb_context *mapped_ldb; */ const struct ldb_dn *local_base_dn; const struct ldb_dn *remote_base_dn; @@ -141,12 +145,11 @@ struct map_private { struct ldb_map_context *context; }; -/* initialization function */ -int -ldb_map_init(struct ldb_module *module, - const struct ldb_map_attribute *attrs, - const struct ldb_map_objectclass *ocls, - const char *name); +/* Initialize global private data. */ +int ldb_map_init(struct ldb_module *module, const struct ldb_map_attribute *attrs, + const struct ldb_map_objectclass *ocls, + const char * const *wildcard_attributes, + const char *name); /* get copy of map_ops */ struct ldb_module_ops |