1
0
mirror of https://github.com/samba-team/samba.git synced 2025-08-31 22:02:58 +03:00

r25887: Build Samba-specific ldb modules as dso's.

This commit is contained in:
Jelmer Vernooij
2007-11-07 01:32:25 +01:00
committed by Stefan Metzmacher
parent 146c5226e6
commit 9d73becbb2
6 changed files with 31 additions and 4 deletions

View File

@ -206,3 +206,4 @@ source/lib/ldb/tdbtest.ldb
source/lib/ldb/tdbtest.ldb source/lib/ldb/tdbtest.ldb
*.po *.po
libtdb.so.* libtdb.so.*
libtalloc.so.*

View File

@ -2,6 +2,7 @@
# Start MODULE ldb_objectguid # Start MODULE ldb_objectguid
[MODULE::ldb_objectguid] [MODULE::ldb_objectguid]
SUBSYSTEM = LIBLDB SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
PRIVATE_DEPENDENCIES = LIBTALLOC LIBNDR NDR_MISC PRIVATE_DEPENDENCIES = LIBTALLOC LIBNDR NDR_MISC
INIT_FUNCTION = objectguid_module_init INIT_FUNCTION = objectguid_module_init
OBJ_FILES = \ OBJ_FILES = \
@ -13,6 +14,7 @@ OBJ_FILES = \
# Start MODULE ldb_repl_mata_data # Start MODULE ldb_repl_mata_data
[MODULE::ldb_repl_meta_data] [MODULE::ldb_repl_meta_data]
SUBSYSTEM = LIBLDB SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC LIBNDR NDR_MISC NDR_DRSUAPI NDR_DRSBLOBS PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC LIBNDR NDR_MISC NDR_DRSUAPI NDR_DRSBLOBS
INIT_FUNCTION = repl_meta_data_module_init INIT_FUNCTION = repl_meta_data_module_init
OBJ_FILES = \ OBJ_FILES = \
@ -24,6 +26,7 @@ OBJ_FILES = \
# Start MODULE ldb_dsdb_cache # Start MODULE ldb_dsdb_cache
[MODULE::ldb_dsdb_cache] [MODULE::ldb_dsdb_cache]
SUBSYSTEM = LIBLDB SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC
INIT_FUNCTION = dsdb_cache_module_init INIT_FUNCTION = dsdb_cache_module_init
OBJ_FILES = \ OBJ_FILES = \
@ -35,6 +38,7 @@ OBJ_FILES = \
# Start MODULE ldb_schema_fsmo # Start MODULE ldb_schema_fsmo
[MODULE::ldb_schema_fsmo] [MODULE::ldb_schema_fsmo]
SUBSYSTEM = LIBLDB SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC
INIT_FUNCTION = schema_fsmo_module_init INIT_FUNCTION = schema_fsmo_module_init
OBJ_FILES = \ OBJ_FILES = \
@ -46,6 +50,7 @@ OBJ_FILES = \
# Start MODULE ldb_naming_fsmo # Start MODULE ldb_naming_fsmo
[MODULE::ldb_naming_fsmo] [MODULE::ldb_naming_fsmo]
SUBSYSTEM = LIBLDB SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC
INIT_FUNCTION = naming_fsmo_module_init INIT_FUNCTION = naming_fsmo_module_init
OBJ_FILES = \ OBJ_FILES = \
@ -57,6 +62,7 @@ OBJ_FILES = \
# Start MODULE ldb_pdc_fsmo # Start MODULE ldb_pdc_fsmo
[MODULE::ldb_pdc_fsmo] [MODULE::ldb_pdc_fsmo]
SUBSYSTEM = LIBLDB SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC
INIT_FUNCTION = pdc_fsmo_module_init INIT_FUNCTION = pdc_fsmo_module_init
OBJ_FILES = \ OBJ_FILES = \
@ -68,6 +74,7 @@ OBJ_FILES = \
# Start MODULE ldb_samldb # Start MODULE ldb_samldb
[MODULE::ldb_samldb] [MODULE::ldb_samldb]
SUBSYSTEM = LIBLDB SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
PRIVATE_DEPENDENCIES = LIBTALLOC PRIVATE_DEPENDENCIES = LIBTALLOC
INIT_FUNCTION = samldb_module_init INIT_FUNCTION = samldb_module_init
OBJ_FILES = \ OBJ_FILES = \
@ -80,6 +87,7 @@ OBJ_FILES = \
# Start MODULE ldb_samba3sam # Start MODULE ldb_samba3sam
[MODULE::ldb_samba3sam] [MODULE::ldb_samba3sam]
SUBSYSTEM = LIBLDB SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
INIT_FUNCTION = ldb_samba3sam_module_init INIT_FUNCTION = ldb_samba3sam_module_init
PRIVATE_DEPENDENCIES = LIBTALLOC ldb_map SMBPASSWD NSS_WRAPPER PRIVATE_DEPENDENCIES = LIBTALLOC ldb_map SMBPASSWD NSS_WRAPPER
OBJ_FILES = \ OBJ_FILES = \
@ -92,6 +100,7 @@ OBJ_FILES = \
# Start MODULE ldb_entryUUID # Start MODULE ldb_entryUUID
[MODULE::ldb_entryUUID] [MODULE::ldb_entryUUID]
SUBSYSTEM = LIBLDB SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
INIT_FUNCTION = ldb_entryUUID_module_init INIT_FUNCTION = ldb_entryUUID_module_init
PRIVATE_DEPENDENCIES = LIBTALLOC PRIVATE_DEPENDENCIES = LIBTALLOC
ENABLE = YES ENABLE = YES
@ -118,6 +127,7 @@ OBJ_FILES = \
[MODULE::ldb_rootdse] [MODULE::ldb_rootdse]
SUBSYSTEM = LIBLDB SUBSYSTEM = LIBLDB
PRIVATE_DEPENDENCIES = LIBTALLOC PRIVATE_DEPENDENCIES = LIBTALLOC
OUTPUT_TYPE = SHARED_LIBRARY
INIT_FUNCTION = rootdse_module_init INIT_FUNCTION = rootdse_module_init
OBJ_FILES = \ OBJ_FILES = \
rootdse.o rootdse.o
@ -129,6 +139,7 @@ OBJ_FILES = \
# Start MODULE ldb_password_hash # Start MODULE ldb_password_hash
[MODULE::ldb_password_hash] [MODULE::ldb_password_hash]
SUBSYSTEM = LIBLDB SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
INIT_FUNCTION = password_hash_module_init INIT_FUNCTION = password_hash_module_init
OBJ_FILES = password_hash.o OBJ_FILES = password_hash.o
PRIVATE_DEPENDENCIES = HEIMDAL_HDB_KEYS LIBTALLOC HEIMDAL_KRB5 PRIVATE_DEPENDENCIES = HEIMDAL_HDB_KEYS LIBTALLOC HEIMDAL_KRB5
@ -140,6 +151,7 @@ PRIVATE_DEPENDENCIES = HEIMDAL_HDB_KEYS LIBTALLOC HEIMDAL_KRB5
# Start MODULE ldb_local_password # Start MODULE ldb_local_password
[MODULE::ldb_local_password] [MODULE::ldb_local_password]
PRIVATE_DEPENDENCIES = LIBTALLOC PRIVATE_DEPENDENCIES = LIBTALLOC
OUTPUT_TYPE = SHARED_LIBRARY
SUBSYSTEM = LIBLDB SUBSYSTEM = LIBLDB
INIT_FUNCTION = local_password_module_init INIT_FUNCTION = local_password_module_init
OBJ_FILES = local_password.o OBJ_FILES = local_password.o
@ -151,6 +163,7 @@ OBJ_FILES = local_password.o
# Start MODULE ldb_kludge_acl # Start MODULE ldb_kludge_acl
[MODULE::ldb_kludge_acl] [MODULE::ldb_kludge_acl]
PRIVATE_DEPENDENCIES = LIBTALLOC LIBSECURITY PRIVATE_DEPENDENCIES = LIBTALLOC LIBSECURITY
OUTPUT_TYPE = SHARED_LIBRARY
SUBSYSTEM = LIBLDB SUBSYSTEM = LIBLDB
INIT_FUNCTION = ldb_kludge_acl_init INIT_FUNCTION = ldb_kludge_acl_init
OBJ_FILES = \ OBJ_FILES = \
@ -163,6 +176,7 @@ OBJ_FILES = \
# Start MODULE ldb_extended_dn # Start MODULE ldb_extended_dn
[MODULE::ldb_extended_dn] [MODULE::ldb_extended_dn]
SUBSYSTEM = LIBLDB SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
PRIVATE_DEPENDENCIES = LIBTALLOC PRIVATE_DEPENDENCIES = LIBTALLOC
INIT_FUNCTION = ldb_extended_dn_init INIT_FUNCTION = ldb_extended_dn_init
OBJ_FILES = \ OBJ_FILES = \
@ -175,6 +189,7 @@ OBJ_FILES = \
# Start MODULE ldb_show_deleted # Start MODULE ldb_show_deleted
[MODULE::ldb_show_deleted] [MODULE::ldb_show_deleted]
SUBSYSTEM = LIBLDB SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
PRIVATE_DEPENDENCIES = LIBTALLOC PRIVATE_DEPENDENCIES = LIBTALLOC
INIT_FUNCTION = ldb_show_deleted_init INIT_FUNCTION = ldb_show_deleted_init
OBJ_FILES = \ OBJ_FILES = \
@ -187,6 +202,7 @@ OBJ_FILES = \
# Start MODULE ldb_partition # Start MODULE ldb_partition
[MODULE::ldb_partition] [MODULE::ldb_partition]
SUBSYSTEM = LIBLDB SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
PRIVATE_DEPENDENCIES = LIBTALLOC PRIVATE_DEPENDENCIES = LIBTALLOC
INIT_FUNCTION = ldb_partition_init INIT_FUNCTION = ldb_partition_init
OBJ_FILES = \ OBJ_FILES = \
@ -199,6 +215,7 @@ OBJ_FILES = \
# Start MODULE ldb_schema # Start MODULE ldb_schema
[MODULE::ldb_schema] [MODULE::ldb_schema]
SUBSYSTEM = LIBLDB SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
PRIVATE_DEPENDENCIES = LIBTALLOC PRIVATE_DEPENDENCIES = LIBTALLOC
INIT_FUNCTION = ldb_schema_init INIT_FUNCTION = ldb_schema_init
OBJ_FILES = \ OBJ_FILES = \
@ -209,8 +226,9 @@ OBJ_FILES = \
################################################ ################################################
# Start MODULE ldb_update_kt # Start MODULE ldb_update_kt
[MODULE::ldb_update_kt] [MODULE::ldb_update_keytab]
SUBSYSTEM = LIBLDB SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
PRIVATE_DEPENDENCIES = LIBTALLOC CREDENTIALS_KRB5 PRIVATE_DEPENDENCIES = LIBTALLOC CREDENTIALS_KRB5
#Also depends on credentials, but that would loop #Also depends on credentials, but that would loop
INIT_FUNCTION = ldb_update_kt_init INIT_FUNCTION = ldb_update_kt_init
@ -224,6 +242,7 @@ OBJ_FILES = \
# Start MODULE ldb_objectclass # Start MODULE ldb_objectclass
[MODULE::ldb_objectclass] [MODULE::ldb_objectclass]
INIT_FUNCTION = ldb_objectclass_init INIT_FUNCTION = ldb_objectclass_init
OUTPUT_TYPE = SHARED_LIBRARY
CFLAGS = -Ilib/ldb/include CFLAGS = -Ilib/ldb/include
PRIVATE_DEPENDENCIES = LIBTALLOC PRIVATE_DEPENDENCIES = LIBTALLOC
SUBSYSTEM = LIBLDB SUBSYSTEM = LIBLDB
@ -236,6 +255,7 @@ OBJ_FILES = \
# Start MODULE ldb_subtree_rename # Start MODULE ldb_subtree_rename
[MODULE::ldb_subtree_rename] [MODULE::ldb_subtree_rename]
INIT_FUNCTION = ldb_subtree_rename_init INIT_FUNCTION = ldb_subtree_rename_init
OUTPUT_TYPE = SHARED_LIBRARY
CFLAGS = -Ilib/ldb/include CFLAGS = -Ilib/ldb/include
PRIVATE_DEPENDENCIES = LIBTALLOC PRIVATE_DEPENDENCIES = LIBTALLOC
SUBSYSTEM = LIBLDB SUBSYSTEM = LIBLDB
@ -249,6 +269,7 @@ OBJ_FILES = \
[MODULE::ldb_linked_attributes] [MODULE::ldb_linked_attributes]
INIT_FUNCTION = ldb_linked_attributes_init INIT_FUNCTION = ldb_linked_attributes_init
CFLAGS = -Ilib/ldb/include CFLAGS = -Ilib/ldb/include
OUTPUT_TYPE = SHARED_LIBRARY
PRIVATE_DEPENDENCIES = LIBTALLOC SAMDB PRIVATE_DEPENDENCIES = LIBTALLOC SAMDB
SUBSYSTEM = LIBLDB SUBSYSTEM = LIBLDB
OBJ_FILES = \ OBJ_FILES = \

View File

@ -73,6 +73,8 @@ struct ldb_module_ops {
typedef int (*ldb_connect_fn) (struct ldb_context *ldb, const char *url, unsigned int flags, const char *options[], typedef int (*ldb_connect_fn) (struct ldb_context *ldb, const char *url, unsigned int flags, const char *options[],
struct ldb_module **module); struct ldb_module **module);
const char *ldb_default_modules_dir(void);
/* /*
schema related information needed for matching rules schema related information needed for matching rules
*/ */

View File

@ -499,6 +499,7 @@ sub provision($$$$$$)
ncalrpc dir = $ncalrpcdir ncalrpc dir = $ncalrpcdir
lock dir = $lockdir lock dir = $lockdir
setup directory = $self->{setupdir} setup directory = $self->{setupdir}
modules dir = $self->{bindir}/modules
js include = $srcdir/scripting/libjs js include = $srcdir/scripting/libjs
winbindd socket directory = $winbindd_socket_dir winbindd socket directory = $winbindd_socket_dir
winbind separator = / winbind separator = /
@ -646,6 +647,7 @@ nogroup:x:65534:nobody
DOMAIN => $domain, DOMAIN => $domain,
USERNAME => $username, USERNAME => $username,
REALM => $realm, REALM => $realm,
LDB_MODULES_PATH => "$self->{bindir}/modules/ldb",
PASSWORD => $password, PASSWORD => $password,
LDAPDIR => $ldapdir, LDAPDIR => $ldapdir,
WINBINDD_SOCKET_DIR => $winbindd_socket_dir, WINBINDD_SOCKET_DIR => $winbindd_socket_dir,

View File

@ -31,7 +31,7 @@ plantest "js.base" dc "$SCRIPTDIR/base.js" $CONFIGURATION
plantest "js.samr" dc "$SCRIPTDIR/samr.js" $CONFIGURATION ncalrpc: -U\$USERNAME%\$PASSWORD plantest "js.samr" dc "$SCRIPTDIR/samr.js" $CONFIGURATION ncalrpc: -U\$USERNAME%\$PASSWORD
plantest "js.echo" dc "$SCRIPTDIR/echo.js" $CONFIGURATION ncalrpc: -U\$USERNAME%\$PASSWORD plantest "js.echo" dc "$SCRIPTDIR/echo.js" $CONFIGURATION ncalrpc: -U\$USERNAME%\$PASSWORD
#plantest "ejsnet.js" dc "$SCRIPTDIR/ejsnet.js" $CONFIGURATION -U\$USERNAME%\$PASSWORD \$DOMAIN ejstestuser #plantest "ejsnet.js" dc "$SCRIPTDIR/ejsnet.js" $CONFIGURATION -U\$USERNAME%\$PASSWORD \$DOMAIN ejstestuser
plantest "js.ldb" none "$SCRIPTDIR/ldb.js" `pwd` $CONFIGURATION plantest "js.ldb" none "$SCRIPTDIR/ldb.js" `pwd` $CONFIGURATION -d 10
plantest "js.winreg" dc $samba4srcdir/scripting/bin/winreg $CONFIGURATION ncalrpc: 'HKLM' -U\$USERNAME%\$PASSWORD plantest "js.winreg" dc $samba4srcdir/scripting/bin/winreg $CONFIGURATION ncalrpc: 'HKLM' -U\$USERNAME%\$PASSWORD
# Simple tests for LDAP and CLDAP # Simple tests for LDAP and CLDAP
@ -56,7 +56,7 @@ LDBDIR=$samba4srcdir/lib/ldb
export LDBDIR export LDBDIR
plantest "ldb" none $LDBDIR/tests/test-tdb.sh plantest "ldb" none $LDBDIR/tests/test-tdb.sh
plantest "js.ldap" dc $SCRIPTDIR/ldap.js $CONFIGURATION \$SERVER -U\$USERNAME%\$PASSWORD plantest "js.ldap" dc $SCRIPTDIR/ldap.js $CONFIGURATION -d 10 \$SERVER -U\$USERNAME%\$PASSWORD
# Tests for RPC # Tests for RPC

View File

@ -546,6 +546,7 @@ sub write_clientconf($$)
torture:basedir = $prefix_abs/client torture:basedir = $prefix_abs/client
#We don't want to pass our self-tests if the PAC code is wrong #We don't want to pass our self-tests if the PAC code is wrong
gensec:require_pac = true gensec:require_pac = true
modules dir = $prefix_abs/../bin/modules
"; ";
close(CF); close(CF);
} }