From c764791100079ed447c07ca6b99d33f9695255c3 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Fri, 4 Apr 2008 12:25:19 +1100 Subject: Clean up provision and rootdse module to hard-code less stuff. In particular, allow for the server DN to be in a different site (possible outcome of a DRS replication). Andrew Bartlett (This used to be commit 9ee4e39fe178317f42fd9a0adceea24b55dfe0f1) --- source4/dsdb/samdb/ldb_modules/rootdse.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'source4/dsdb') diff --git a/source4/dsdb/samdb/ldb_modules/rootdse.c b/source4/dsdb/samdb/ldb_modules/rootdse.c index 3235b24ef9..50f333d095 100644 --- a/source4/dsdb/samdb/ldb_modules/rootdse.c +++ b/source4/dsdb/samdb/ldb_modules/rootdse.c @@ -26,6 +26,7 @@ #include "lib/ldb/include/ldb_private.h" #include "system/time.h" #include "dsdb/samdb/samdb.h" +#include "version.h" struct private_data { int num_controls; @@ -202,6 +203,13 @@ static int rootdse_add_dynamic(struct ldb_module *module, struct ldb_message *ms } } + if (schema && do_attribute_explicit(attrs, "vendorVersion")) { + if (ldb_msg_add_fmt(msg, "vendorVersion", + "%s", SAMBA_VERSION_STRING) != 0) { + goto failed; + } + } + /* TODO: lots more dynamic attributes should be added here */ return LDB_SUCCESS; -- cgit From ffc5cbfe803326a1c3bf55684717af910d091c5a Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 14 Apr 2008 16:53:00 +0200 Subject: Move object files lists to makefile rather than smb_build. (This used to be commit 5628d58990144463fd87f8c847c9384ac2193681) --- source4/dsdb/config.mk | 38 +++++----- source4/dsdb/samdb/ldb_modules/config.mk | 120 ++++++++++++++++--------------- 2 files changed, 82 insertions(+), 76 deletions(-) (limited to 'source4/dsdb') diff --git a/source4/dsdb/config.mk b/source4/dsdb/config.mk index 1a20add91c..e334e4c6e3 100644 --- a/source4/dsdb/config.mk +++ b/source4/dsdb/config.mk @@ -10,31 +10,33 @@ PUBLIC_DEPENDENCIES = HEIMDAL_KRB5 PRIVATE_DEPENDENCIES = LIBNDR NDR_MISC NDR_DRSUAPI NDR_DRSBLOBS NSS_WRAPPER \ auth_system_session LDAP_ENCODE LIBCLI_AUTH LIBNDR \ SAMDB_SCHEMA LDB_WRAP SAMDB_COMMON -OBJ_FILES = \ + + +SAMDB_OBJ_FILES = $(addprefix dsdb/, \ samdb/samdb.o \ samdb/samdb_privilege.o \ samdb/cracknames.o \ - repl/replicated_objects.o - + repl/replicated_objects.o) # PUBLIC_HEADERS += dsdb/samdb/samdb.h [SUBSYSTEM::SAMDB_COMMON] PRIVATE_PROTO_HEADER = common/proto.h PRIVATE_DEPENDENCIES = LIBLDB -OBJ_FILES = \ - common/sidmap.o \ - common/flag_mapping.o \ - common/util.o + +SAMDB_COMMON_OBJ_FILES = $(addprefix dsdb/common/, \ + sidmap.o \ + flag_mapping.o \ + util.o) [SUBSYSTEM::SAMDB_SCHEMA] PRIVATE_PROTO_HEADER = schema/proto.h PRIVATE_DEPENDENCIES = SAMDB_COMMON NDR_DRSUAPI NDR_DRSBLOBS -OBJ_FILES = \ - schema/schema_init.o \ - schema/schema_syntax.o \ - schema/schema_constructed.o \ +SAMDB_SCHEMA_OBJ_FILES = $(addprefix dsdb/schema/, \ + schema_init.o \ + schema_syntax.o \ + schema_constructed.o) # PUBLIC_HEADERS += dsdb/schema/schema.h @@ -43,15 +45,17 @@ OBJ_FILES = \ [MODULE::DREPL_SRV] INIT_FUNCTION = server_service_drepl_init SUBSYSTEM = service -OBJ_FILES = \ - repl/drepl_service.o \ - repl/drepl_periodic.o \ - repl/drepl_partitions.o \ - repl/drepl_out_pull.o \ - repl/drepl_out_helpers.o PRIVATE_PROTO_HEADER = repl/drepl_service_proto.h PRIVATE_DEPENDENCIES = \ SAMDB \ process_model # End SUBSYSTEM DREPL_SRV ####################### + +DREPL_SRV_OBJ_FILES = $(addprefix dsdb/repl/, \ + drepl_service.o \ + drepl_periodic.o \ + drepl_partitions.o \ + drepl_out_pull.o \ + drepl_out_helpers.o) + diff --git a/source4/dsdb/samdb/ldb_modules/config.mk b/source4/dsdb/samdb/ldb_modules/config.mk index de93b5638d..dd1c8b10db 100644 --- a/source4/dsdb/samdb/ldb_modules/config.mk +++ b/source4/dsdb/samdb/ldb_modules/config.mk @@ -5,11 +5,11 @@ SUBSYSTEM = LIBLDB OUTPUT_TYPE = SHARED_LIBRARY PRIVATE_DEPENDENCIES = LIBTALLOC LIBNDR NDR_MISC INIT_FUNCTION = objectguid_module_module_ops -OBJ_FILES = \ - objectguid.o # End MODULE ldb_objectguid ################################################ +ldb_objectguid_OBJ_FILES = dsdb/samdb/ldb_modules/objectguid.o + ################################################ # Start MODULE ldb_repl_meta_data [MODULE::ldb_repl_meta_data] @@ -18,11 +18,12 @@ OUTPUT_TYPE = SHARED_LIBRARY PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC LIBNDR NDR_MISC NDR_DRSUAPI \ NDR_DRSBLOBS LIBNDR INIT_FUNCTION = repl_meta_data_module_module_ops -OBJ_FILES = \ - repl_meta_data.o # End MODULE ldb_repl_meta_data ################################################ +ldb_repl_meta_data_OBJ_FILES = \ + repl_meta_data.o + ################################################ # Start MODULE ldb_dsdb_cache [MODULE::ldb_dsdb_cache] @@ -30,11 +31,12 @@ SUBSYSTEM = LIBLDB OUTPUT_TYPE = SHARED_LIBRARY PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC INIT_FUNCTION = dsdb_cache_module_module_ops -OBJ_FILES = \ - dsdb_cache.o # End MODULE ldb_dsdb_cache ################################################ +ldb_dsdb_cache_OBJ_FILES = \ + dsdb_cache.o + ################################################ # Start MODULE ldb_schema_fsmo [MODULE::ldb_schema_fsmo] @@ -42,11 +44,12 @@ SUBSYSTEM = LIBLDB OUTPUT_TYPE = SHARED_LIBRARY PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC INIT_FUNCTION = schema_fsmo_module_module_ops -OBJ_FILES = \ - schema_fsmo.o # End MODULE ldb_schema_fsmo ################################################ +ldb_schema_fsmo_OBJ_FILES = \ + schema_fsmo.o + ################################################ # Start MODULE ldb_naming_fsmo [MODULE::ldb_naming_fsmo] @@ -54,11 +57,12 @@ SUBSYSTEM = LIBLDB OUTPUT_TYPE = SHARED_LIBRARY PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC INIT_FUNCTION = naming_fsmo_module_module_ops -OBJ_FILES = \ - naming_fsmo.o # End MODULE ldb_naming_fsmo ################################################ +ldb_naming_fsmo_OBJ_FILES = \ + naming_fsmo.o + ################################################ # Start MODULE ldb_pdc_fsmo [MODULE::ldb_pdc_fsmo] @@ -66,11 +70,12 @@ SUBSYSTEM = LIBLDB OUTPUT_TYPE = SHARED_LIBRARY PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC INIT_FUNCTION = pdc_fsmo_module_module_ops -OBJ_FILES = \ - pdc_fsmo.o # End MODULE ldb_pdc_fsmo ################################################ +ldb_pdc_fsmo_OBJ_FILES = \ + pdc_fsmo.o + ################################################ # Start MODULE ldb_samldb [MODULE::ldb_samldb] @@ -78,12 +83,13 @@ SUBSYSTEM = LIBLDB OUTPUT_TYPE = SHARED_LIBRARY PRIVATE_DEPENDENCIES = LIBTALLOC LDAP_ENCODE NDR_MISC SAMDB INIT_FUNCTION = samldb_module_module_ops -OBJ_FILES = \ - samldb.o # # End MODULE ldb_samldb ################################################ +ldb_samldb_OBJ_FILES = \ + samldb.o + ################################################ # Start MODULE ldb_samba3sam [MODULE::ldb_samba3sam] @@ -92,12 +98,13 @@ OUTPUT_TYPE = SHARED_LIBRARY INIT_FUNCTION = &ldb_samba3sam_module_module_ops PRIVATE_DEPENDENCIES = LIBTALLOC ldb_map SMBPASSWD NSS_WRAPPER LIBSECURITY \ NDR_SECURITY -OBJ_FILES = \ - samba3sam.o # # End MODULE ldb_samldb ################################################ +ldb_samba3sam_OBJ_FILES = \ + samba3sam.o + ################################################ # Start MODULE ldb_simple_ldap_map [MODULE::ldb_simple_ldap_map] @@ -107,12 +114,13 @@ INIT_FUNCTION = &ldb_simple_ldap_map_module_module_ops PRIVATE_DEPENDENCIES = LIBTALLOC ldb_map LIBNDR NDR_MISC ENABLE = YES ALIASES = entryuuid nsuniqueid -OBJ_FILES = \ - simple_ldap_map.o # # End MODULE ldb_entryuuid ################################################ +ldb_simple_ldap_map_OBJ_FILES = \ + simple_ldap_map.o + # ################################################ # # Start MODULE ldb_proxy # [MODULE::ldb_proxy] @@ -132,25 +140,24 @@ SUBSYSTEM = LIBLDB PRIVATE_DEPENDENCIES = LIBTALLOC SAMDB OUTPUT_TYPE = SHARED_LIBRARY INIT_FUNCTION = rootdse_module_module_ops -OBJ_FILES = \ - rootdse.o -# # End MODULE ldb_rootdse ################################################ +ldb_rootdse_OBJ_FILES = dsdb/samdb/ldb_modules/rootdse.o + ################################################ # Start MODULE ldb_password_hash [MODULE::ldb_password_hash] SUBSYSTEM = LIBLDB OUTPUT_TYPE = SHARED_LIBRARY INIT_FUNCTION = password_hash_module_module_ops -OBJ_FILES = password_hash.o PRIVATE_DEPENDENCIES = HEIMDAL_HDB_KEYS LIBTALLOC HEIMDAL_KRB5 LDAP_ENCODE \ LIBCLI_AUTH NDR_DRSBLOBS KERBEROS SAMDB -# # End MODULE ldb_password_hash ################################################ +ldb_password_hash_OBJ_FILES = dsdb/samdb/ldb_modules/password_hash.o + ################################################ # Start MODULE ldb_local_password [MODULE::ldb_local_password] @@ -158,11 +165,11 @@ PRIVATE_DEPENDENCIES = LIBTALLOC LIBNDR SAMDB OUTPUT_TYPE = SHARED_LIBRARY SUBSYSTEM = LIBLDB INIT_FUNCTION = local_password_module_module_ops -OBJ_FILES = local_password.o -# # End MODULE ldb_local_password ################################################ +ldb_local_password_OBJ_FILES = dsdb/samdb/ldb_modules/local_password.o + ################################################ # Start MODULE ldb_kludge_acl [MODULE::ldb_kludge_acl] @@ -170,12 +177,12 @@ PRIVATE_DEPENDENCIES = LIBTALLOC LIBSECURITY SAMDB OUTPUT_TYPE = SHARED_LIBRARY SUBSYSTEM = LIBLDB INIT_FUNCTION = &ldb_kludge_acl_module_ops -OBJ_FILES = \ - kludge_acl.o -# + # End MODULE ldb_kludge_acl ################################################ +ldb_kludge_acl_OBJ_FILES = dsdb/samdb/ldb_modules/kludge_acl.o + ################################################ # Start MODULE ldb_extended_dn [MODULE::ldb_extended_dn] @@ -183,12 +190,11 @@ SUBSYSTEM = LIBLDB OUTPUT_TYPE = SHARED_LIBRARY PRIVATE_DEPENDENCIES = LIBTALLOC LIBNDR LIBSECURITY SAMDB INIT_FUNCTION = &ldb_extended_dn_module_ops -OBJ_FILES = \ - extended_dn.o -# # End MODULE ldb_extended_dn ################################################ +ldb_extended_dn_OBJ_FILES = dsdb/samdb/ldb_modules/extended_dn.o + ################################################ # Start MODULE ldb_show_deleted [MODULE::ldb_show_deleted] @@ -196,12 +202,11 @@ SUBSYSTEM = LIBLDB OUTPUT_TYPE = SHARED_LIBRARY PRIVATE_DEPENDENCIES = LIBTALLOC INIT_FUNCTION = &ldb_show_deleted_module_ops -OBJ_FILES = \ - show_deleted.o -# # End MODULE ldb_show_deleted ################################################ +ldb_show_deleted_OBJ_FILES = dsdb/samdb/ldb_modules/show_deleted.o + ################################################ # Start MODULE ldb_partition [MODULE::ldb_partition] @@ -209,12 +214,11 @@ SUBSYSTEM = LIBLDB OUTPUT_TYPE = SHARED_LIBRARY PRIVATE_DEPENDENCIES = LIBTALLOC SAMDB INIT_FUNCTION = &ldb_partition_module_ops -OBJ_FILES = \ - partition.o -# # End MODULE ldb_partition ################################################ +ldb_partition_OBJ_FILES = dsdb/samdb/ldb_modules/partition.o + ################################################ # Start MODULE ldb_schema [MODULE::ldb_schema] @@ -222,12 +226,11 @@ SUBSYSTEM = LIBLDB OUTPUT_TYPE = SHARED_LIBRARY PRIVATE_DEPENDENCIES = LIBTALLOC LIBLDB INIT_FUNCTION = &ldb_schema_module_ops -OBJ_FILES = \ - schema.o schema_syntax.o -# # End MODULE ldb_schema ################################################ +ldb_schema_OBJ_FILES = $(addprefix dsdb/samdb/ldb_modules/, schema.o schema_syntax.o) + ################################################ # Start MODULE ldb_update_kt [MODULE::ldb_update_keytab] @@ -236,12 +239,11 @@ OUTPUT_TYPE = SHARED_LIBRARY PRIVATE_DEPENDENCIES = LIBTALLOC CREDENTIALS #Also depends on credentials, but that would loop INIT_FUNCTION = &ldb_update_kt_module_ops -OBJ_FILES = \ - update_keytab.o -# # End MODULE ldb_update_kt ################################################ +ldb_update_keytab_OBJ_FILES = dsdb/samdb/ldb_modules/update_keytab.o + ################################################ # Start MODULE ldb_objectclass [MODULE::ldb_objectclass] @@ -250,11 +252,11 @@ OUTPUT_TYPE = SHARED_LIBRARY CFLAGS = -Ilib/ldb/include PRIVATE_DEPENDENCIES = LIBTALLOC LIBSECURITY NDR_SECURITY SAMDB SUBSYSTEM = LIBLDB -OBJ_FILES = \ - objectclass.o # End MODULE ldb_objectclass ################################################ +ldb_objectclass_OBJ_FILES = dsdb/samdb/ldb_modules/objectclass.o + ################################################ # Start MODULE ldb_subtree_rename [MODULE::ldb_subtree_rename] @@ -262,11 +264,11 @@ INIT_FUNCTION = &ldb_subtree_rename_module_ops CFLAGS = -Ilib/ldb/include PRIVATE_DEPENDENCIES = LIBTALLOC SUBSYSTEM = LIBLDB -OBJ_FILES = \ - subtree_rename.o # End MODULE ldb_subtree_rename ################################################ +ldb_subtree_rename_OBJ_FILES = dsdb/samdb/ldb_modules/subtree_rename.o + ################################################ # Start MODULE ldb_subtree_rename [MODULE::ldb_subtree_delete] @@ -274,11 +276,11 @@ INIT_FUNCTION = &ldb_subtree_delete_module_ops CFLAGS = -Ilib/ldb/include PRIVATE_DEPENDENCIES = LIBTALLOC SUBSYSTEM = LIBLDB -OBJ_FILES = \ - subtree_delete.o # End MODULE ldb_subtree_rename ################################################ +ldb_subtree_delete_OBJ_FILES = dsdb/samdb/ldb_modules/subtree_delete.o + ################################################ # Start MODULE ldb_linked_attributes [MODULE::ldb_linked_attributes] @@ -287,11 +289,11 @@ CFLAGS = -Ilib/ldb/include OUTPUT_TYPE = SHARED_LIBRARY PRIVATE_DEPENDENCIES = LIBTALLOC SAMDB SUBSYSTEM = LIBLDB -OBJ_FILES = \ - linked_attributes.o # End MODULE ldb_linked_attributes ################################################ +ldb_linked_attributes_OBJ_FILES = dsdb/samdb/ldb_modules/linked_attributes.o + ################################################ # Start MODULE ldb_ranged_results [MODULE::ldb_ranged_results] @@ -299,11 +301,11 @@ INIT_FUNCTION = &ldb_ranged_results_module_ops CFLAGS = -Ilib/ldb/include PRIVATE_DEPENDENCIES = LIBTALLOC SUBSYSTEM = LIBLDB -OBJ_FILES = \ - ranged_results.o # End MODULE ldb_ranged_results ################################################ +ldb_ranged_results_OBJ_FILES = dsdb/samdb/ldb_modules/ranged_results.o + ################################################ # Start MODULE ldb_anr [MODULE::ldb_anr] @@ -312,11 +314,11 @@ CFLAGS = -Ilib/ldb/include OUTPUT_TYPE = SHARED_LIBRARY PRIVATE_DEPENDENCIES = LIBTALLOC LIBSAMBA-UTIL SAMDB SUBSYSTEM = LIBLDB -OBJ_FILES = \ - anr.o # End MODULE ldb_anr ################################################ +ldb_anr_OBJ_FILES = dsdb/samdb/ldb_modules/anr.o + ################################################ # Start MODULE ldb_normalise [MODULE::ldb_normalise] @@ -325,11 +327,11 @@ CFLAGS = -Ilib/ldb/include OUTPUT_TYPE = SHARED_LIBRARY PRIVATE_DEPENDENCIES = LIBTALLOC LIBSAMBA-UTIL SAMDB SUBSYSTEM = LIBLDB -OBJ_FILES = \ - normalise.o # End MODULE ldb_normalise ################################################ +ldb_normalise_OBJ_FILES = dsdb/samdb/ldb_modules/normalise.o + ################################################ # Start MODULE ldb_instancetype [MODULE::ldb_instancetype] @@ -338,8 +340,8 @@ CFLAGS = -Ilib/ldb/include OUTPUT_TYPE = SHARED_LIBRARY PRIVATE_DEPENDENCIES = LIBTALLOC SUBSYSTEM = LIBLDB -OBJ_FILES = \ - instancetype.o # End MODULE ldb_instancetype ################################################ +ldb_instancetype_OBJ_FILES = dsdb/samdb/ldb_modules/instancetype.o + -- cgit From a15b6f1606e1c761c2c4037b734137e97f00489f Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 14 Apr 2008 20:00:04 +0200 Subject: Fix unresolved symbols. (This used to be commit 8573e828d1b68c47b3c1754e9be230b2e78d9d52) --- source4/dsdb/samdb/ldb_modules/config.mk | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'source4/dsdb') diff --git a/source4/dsdb/samdb/ldb_modules/config.mk b/source4/dsdb/samdb/ldb_modules/config.mk index dd1c8b10db..414b449ba8 100644 --- a/source4/dsdb/samdb/ldb_modules/config.mk +++ b/source4/dsdb/samdb/ldb_modules/config.mk @@ -22,7 +22,7 @@ INIT_FUNCTION = repl_meta_data_module_module_ops ################################################ ldb_repl_meta_data_OBJ_FILES = \ - repl_meta_data.o + dsdb/samdb/ldb_modules/repl_meta_data.o ################################################ # Start MODULE ldb_dsdb_cache @@ -35,7 +35,7 @@ INIT_FUNCTION = dsdb_cache_module_module_ops ################################################ ldb_dsdb_cache_OBJ_FILES = \ - dsdb_cache.o + dsdb/samdb/ldb_modules/dsdb_cache.o ################################################ # Start MODULE ldb_schema_fsmo @@ -48,7 +48,7 @@ INIT_FUNCTION = schema_fsmo_module_module_ops ################################################ ldb_schema_fsmo_OBJ_FILES = \ - schema_fsmo.o + dsdb/samdb/ldb_modules/schema_fsmo.o ################################################ # Start MODULE ldb_naming_fsmo @@ -61,7 +61,7 @@ INIT_FUNCTION = naming_fsmo_module_module_ops ################################################ ldb_naming_fsmo_OBJ_FILES = \ - naming_fsmo.o + dsdb/samdb/ldb_modules/naming_fsmo.o ################################################ # Start MODULE ldb_pdc_fsmo @@ -74,7 +74,7 @@ INIT_FUNCTION = pdc_fsmo_module_module_ops ################################################ ldb_pdc_fsmo_OBJ_FILES = \ - pdc_fsmo.o + dsdb/samdb/ldb_modules/pdc_fsmo.o ################################################ # Start MODULE ldb_samldb @@ -88,7 +88,7 @@ INIT_FUNCTION = samldb_module_module_ops ################################################ ldb_samldb_OBJ_FILES = \ - samldb.o + dsdb/samdb/ldb_modules/samldb.o ################################################ # Start MODULE ldb_samba3sam @@ -103,7 +103,7 @@ PRIVATE_DEPENDENCIES = LIBTALLOC ldb_map SMBPASSWD NSS_WRAPPER LIBSECURITY \ ################################################ ldb_samba3sam_OBJ_FILES = \ - samba3sam.o + dsdb/samdb/ldb_modules/samba3sam.o ################################################ # Start MODULE ldb_simple_ldap_map @@ -119,7 +119,7 @@ ALIASES = entryuuid nsuniqueid ################################################ ldb_simple_ldap_map_OBJ_FILES = \ - simple_ldap_map.o + dsdb/samdb/ldb_modules/simple_ldap_map.o # ################################################ # # Start MODULE ldb_proxy -- cgit From 1efbd5fbf6b0f606ed29a763e2adfa6f99c6beac Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Thu, 17 Apr 2008 01:03:18 +0200 Subject: Remove event context tracking from the credentials struct. (This used to be commit 4d7fc946b2ec50e774689c9036423b6feef99b8e) --- source4/dsdb/samdb/ldb_modules/update_keytab.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source4/dsdb') diff --git a/source4/dsdb/samdb/ldb_modules/update_keytab.c b/source4/dsdb/samdb/ldb_modules/update_keytab.c index 54362dcfd4..3096ce8dd9 100644 --- a/source4/dsdb/samdb/ldb_modules/update_keytab.c +++ b/source4/dsdb/samdb/ldb_modules/update_keytab.c @@ -90,7 +90,7 @@ static int add_modified(struct ldb_module *module, struct ldb_dn *dn, bool delet } cli_credentials_set_conf(item->creds, ldb_get_opaque(module->ldb, "loadparm")); - status = cli_credentials_set_secrets(item->creds, ldb_get_opaque(module->ldb, "loadparm"), module->ldb, NULL, filter); + status = cli_credentials_set_secrets(item->creds, ldb_get_opaque(module->ldb, "event_ctx"), ldb_get_opaque(module->ldb, "loadparm"), module->ldb, NULL, filter); talloc_free(filter); if (NT_STATUS_IS_OK(status)) { if (delete) { @@ -158,7 +158,7 @@ static int update_kt_end_trans(struct ldb_module *module) struct dn_list *p; for (p=data->changed_dns; p; p = p->next) { int kret; - kret = cli_credentials_update_keytab(p->creds, ldb_get_opaque(module->ldb, "loadparm")); + kret = cli_credentials_update_keytab(p->creds, ldb_get_opaque(module->ldb, "event_ctx"), ldb_get_opaque(module->ldb, "loadparm")); if (kret != 0) { talloc_free(data->changed_dns); data->changed_dns = NULL; -- cgit From 21fc7673780aa1d7c0caab7b17ff9171238913ba Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Thu, 17 Apr 2008 12:23:44 +0200 Subject: Specify event_context to ldb_wrap_connect explicitly. (This used to be commit b4e1ae07a284c044704322446c94351c2decff91) --- source4/dsdb/common/sidmap.c | 5 +++-- source4/dsdb/repl/drepl_service.c | 2 +- source4/dsdb/samdb/cracknames.c | 6 ++++-- source4/dsdb/samdb/ldb_modules/samldb.c | 3 +-- source4/dsdb/samdb/ldb_modules/update_keytab.c | 4 ++-- source4/dsdb/samdb/samdb.c | 13 ++++++++++--- source4/dsdb/samdb/samdb.h | 1 + source4/dsdb/samdb/samdb_privilege.c | 5 +++-- 8 files changed, 25 insertions(+), 14 deletions(-) (limited to 'source4/dsdb') diff --git a/source4/dsdb/common/sidmap.c b/source4/dsdb/common/sidmap.c index 2144d61dfc..20bba7a0d9 100644 --- a/source4/dsdb/common/sidmap.c +++ b/source4/dsdb/common/sidmap.c @@ -49,14 +49,15 @@ struct sidmap_context { /* open a sidmap context - use talloc_free to close */ -struct sidmap_context *sidmap_open(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx) +struct sidmap_context *sidmap_open(TALLOC_CTX *mem_ctx, struct event_context *ev_ctx, + struct loadparm_context *lp_ctx) { struct sidmap_context *sidmap; sidmap = talloc(mem_ctx, struct sidmap_context); if (sidmap == NULL) { return NULL; } - sidmap->samctx = samdb_connect(sidmap, lp_ctx, system_session(sidmap, lp_ctx)); + sidmap->samctx = samdb_connect(sidmap, ev_ctx, lp_ctx, system_session(sidmap, lp_ctx)); if (sidmap->samctx == NULL) { talloc_free(sidmap); return NULL; diff --git a/source4/dsdb/repl/drepl_service.c b/source4/dsdb/repl/drepl_service.c index 3375059e99..e485c50a47 100644 --- a/source4/dsdb/repl/drepl_service.c +++ b/source4/dsdb/repl/drepl_service.c @@ -51,7 +51,7 @@ static WERROR dreplsrv_connect_samdb(struct dreplsrv_service *service, struct lo const struct GUID *ntds_guid; struct drsuapi_DsBindInfo28 *bind_info28; - service->samdb = samdb_connect(service, lp_ctx, service->system_session_info); + service->samdb = samdb_connect(service, service->task->event_ctx, lp_ctx, service->system_session_info); if (!service->samdb) { return WERR_DS_SERVICE_UNAVAILABLE; } diff --git a/source4/dsdb/samdb/cracknames.c b/source4/dsdb/samdb/cracknames.c index b9333e451b..da10cbb057 100644 --- a/source4/dsdb/samdb/cracknames.c +++ b/source4/dsdb/samdb/cracknames.c @@ -1197,6 +1197,7 @@ NTSTATUS crack_service_principal_name(struct ldb_context *sam_ctx, } NTSTATUS crack_name_to_nt4_name(TALLOC_CTX *mem_ctx, + struct event_context *ev_ctx, struct loadparm_context *lp_ctx, uint32_t format_offered, const char *name, @@ -1214,7 +1215,7 @@ NTSTATUS crack_name_to_nt4_name(TALLOC_CTX *mem_ctx, return NT_STATUS_OK; } - ldb = samdb_connect(mem_ctx, lp_ctx, system_session(mem_ctx, lp_ctx)); + ldb = samdb_connect(mem_ctx, ev_ctx, lp_ctx, system_session(mem_ctx, lp_ctx)); if (ldb == NULL) { return NT_STATUS_INTERNAL_DB_CORRUPTION; } @@ -1259,6 +1260,7 @@ NTSTATUS crack_name_to_nt4_name(TALLOC_CTX *mem_ctx, } NTSTATUS crack_auto_name_to_nt4_name(TALLOC_CTX *mem_ctx, + struct event_context *ev_ctx, struct loadparm_context *lp_ctx, const char *name, const char **nt4_domain, @@ -1283,5 +1285,5 @@ NTSTATUS crack_auto_name_to_nt4_name(TALLOC_CTX *mem_ctx, format_offered = DRSUAPI_DS_NAME_FORMAT_CANONICAL; } - return crack_name_to_nt4_name(mem_ctx, lp_ctx, format_offered, name, nt4_domain, nt4_account); + return crack_name_to_nt4_name(mem_ctx, ev_ctx, lp_ctx, format_offered, name, nt4_domain, nt4_account); } diff --git a/source4/dsdb/samdb/ldb_modules/samldb.c b/source4/dsdb/samdb/ldb_modules/samldb.c index 3b67ca19d3..88590f306b 100644 --- a/source4/dsdb/samdb/ldb_modules/samldb.c +++ b/source4/dsdb/samdb/ldb_modules/samldb.c @@ -484,8 +484,7 @@ static int samldb_fill_group_object(struct ldb_module *module, const struct ldb_ return ret; } -static int samldb_fill_user_or_computer_object(struct ldb_module *module, const struct ldb_message *msg, - struct ldb_message **ret_msg) +static int samldb_fill_user_or_computer_object(struct ldb_module *module, const struct ldb_message *msg, struct ldb_message **ret_msg) { int ret; char *name; diff --git a/source4/dsdb/samdb/ldb_modules/update_keytab.c b/source4/dsdb/samdb/ldb_modules/update_keytab.c index 3096ce8dd9..b36c2c9b71 100644 --- a/source4/dsdb/samdb/ldb_modules/update_keytab.c +++ b/source4/dsdb/samdb/ldb_modules/update_keytab.c @@ -90,7 +90,7 @@ static int add_modified(struct ldb_module *module, struct ldb_dn *dn, bool delet } cli_credentials_set_conf(item->creds, ldb_get_opaque(module->ldb, "loadparm")); - status = cli_credentials_set_secrets(item->creds, ldb_get_opaque(module->ldb, "event_ctx"), ldb_get_opaque(module->ldb, "loadparm"), module->ldb, NULL, filter); + status = cli_credentials_set_secrets(item->creds, ldb_get_opaque(module->ldb, "EventContext"), ldb_get_opaque(module->ldb, "loadparm"), module->ldb, NULL, filter); talloc_free(filter); if (NT_STATUS_IS_OK(status)) { if (delete) { @@ -158,7 +158,7 @@ static int update_kt_end_trans(struct ldb_module *module) struct dn_list *p; for (p=data->changed_dns; p; p = p->next) { int kret; - kret = cli_credentials_update_keytab(p->creds, ldb_get_opaque(module->ldb, "event_ctx"), ldb_get_opaque(module->ldb, "loadparm")); + kret = cli_credentials_update_keytab(p->creds, ldb_get_opaque(module->ldb, "EventContext"), ldb_get_opaque(module->ldb, "loadparm")); if (kret != 0) { talloc_free(data->changed_dns); data->changed_dns = NULL; diff --git a/source4/dsdb/samdb/samdb.c b/source4/dsdb/samdb/samdb.c index a01e442587..4af7fb7963 100644 --- a/source4/dsdb/samdb/samdb.c +++ b/source4/dsdb/samdb/samdb.c @@ -71,11 +71,12 @@ char *samdb_relative_path(struct ldb_context *ldb, return an opaque context pointer on success, or NULL on failure */ struct ldb_context *samdb_connect(TALLOC_CTX *mem_ctx, + struct event_context *ev_ctx, struct loadparm_context *lp_ctx, struct auth_session_info *session_info) { struct ldb_context *ldb; - ldb = ldb_wrap_connect(mem_ctx, lp_ctx, + ldb = ldb_wrap_connect(mem_ctx, ev_ctx, lp_ctx, lp_sam_url(lp_ctx), session_info, NULL, 0, NULL); if (!ldb) { @@ -98,6 +99,8 @@ int samdb_copy_template(struct ldb_context *ldb, struct ldb_context *templates_ldb; char *templates_ldb_path; struct ldb_dn *basedn; + struct event_context *event_ctx; + struct loadparm_context *lp_ctx; templates_ldb = talloc_get_type(ldb_get_opaque(ldb, "templates_ldb"), struct ldb_context); @@ -109,8 +112,11 @@ int samdb_copy_template(struct ldb_context *ldb, *errstring = talloc_asprintf(msg, "samdb_copy_template: ERROR: Failed to contruct path for template db"); return LDB_ERR_OPERATIONS_ERROR; } + + event_ctx = (struct event_context *)ldb_get_opaque(ldb, "EventContext"); + lp_ctx = (struct loadparm_context *)ldb_get_opaque(ldb, "loadparm"); - templates_ldb = ldb_wrap_connect(ldb, (struct loadparm_context *)ldb_get_opaque(ldb, "loadparm"), + templates_ldb = ldb_wrap_connect(ldb, event_ctx, lp_ctx, templates_ldb_path, NULL, NULL, 0, NULL); talloc_free(templates_ldb_path); @@ -184,6 +190,7 @@ int samdb_copy_template(struct ldb_context *ldb, Create the SID list for this user. ****************************************************************************/ NTSTATUS security_token_create(TALLOC_CTX *mem_ctx, + struct event_context *ev_ctx, struct loadparm_context *lp_ctx, struct dom_sid *user_sid, struct dom_sid *group_sid, @@ -242,7 +249,7 @@ NTSTATUS security_token_create(TALLOC_CTX *mem_ctx, } /* setup the privilege mask for this token */ - status = samdb_privilege_setup(lp_ctx, ptoken); + status = samdb_privilege_setup(ev_ctx, lp_ctx, ptoken); if (!NT_STATUS_IS_OK(status)) { talloc_free(ptoken); return status; diff --git a/source4/dsdb/samdb/samdb.h b/source4/dsdb/samdb/samdb.h index 5d8694d2d4..9e02ef76c6 100644 --- a/source4/dsdb/samdb/samdb.h +++ b/source4/dsdb/samdb/samdb.h @@ -27,6 +27,7 @@ struct dsdb_control_current_partition; struct dsdb_extended_replicated_object; struct dsdb_extended_replicated_objects; struct loadparm_context; +struct event_context; #include "librpc/gen_ndr/security.h" #include "lib/ldb/include/ldb.h" diff --git a/source4/dsdb/samdb/samdb_privilege.c b/source4/dsdb/samdb/samdb_privilege.c index 5c2de81816..688d1ef9de 100644 --- a/source4/dsdb/samdb/samdb_privilege.c +++ b/source4/dsdb/samdb/samdb_privilege.c @@ -73,7 +73,8 @@ static NTSTATUS samdb_privilege_setup_sid(void *samctx, TALLOC_CTX *mem_ctx, setup the privilege mask for this security token based on our local SAM */ -NTSTATUS samdb_privilege_setup(struct loadparm_context *lp_ctx, struct security_token *token) +NTSTATUS samdb_privilege_setup(struct event_context *ev_ctx, + struct loadparm_context *lp_ctx, struct security_token *token) { void *samctx; TALLOC_CTX *mem_ctx; @@ -97,7 +98,7 @@ NTSTATUS samdb_privilege_setup(struct loadparm_context *lp_ctx, struct security_ } mem_ctx = talloc_new(token); - samctx = samdb_connect(mem_ctx, lp_ctx, system_session(mem_ctx, lp_ctx)); + samctx = samdb_connect(mem_ctx, ev_ctx, lp_ctx, system_session(mem_ctx, lp_ctx)); if (samctx == NULL) { talloc_free(mem_ctx); return NT_STATUS_INTERNAL_DB_CORRUPTION; -- cgit From 7dddab3f6cdb36a537ca3ed9c9f3461993d1c11c Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Mon, 21 Apr 2008 19:53:29 -0400 Subject: Make sure we have an event context available (This used to be commit b7c96e0cc270bd3b1c9bd117a22df3f657b6acd5) --- source4/dsdb/samdb/samdb.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'source4/dsdb') diff --git a/source4/dsdb/samdb/samdb.c b/source4/dsdb/samdb/samdb.c index 4af7fb7963..9154f5382b 100644 --- a/source4/dsdb/samdb/samdb.c +++ b/source4/dsdb/samdb/samdb.c @@ -37,6 +37,7 @@ #include "dsdb/samdb/samdb.h" #include "dsdb/common/flags.h" #include "param/param.h" +#include "lib/events/events.h" char *samdb_relative_path(struct ldb_context *ldb, TALLOC_CTX *mem_ctx, @@ -116,6 +117,12 @@ int samdb_copy_template(struct ldb_context *ldb, event_ctx = (struct event_context *)ldb_get_opaque(ldb, "EventContext"); lp_ctx = (struct loadparm_context *)ldb_get_opaque(ldb, "loadparm"); + /* FIXME: need to remove this wehn we finally pass the event + * context around in ldb */ + if (event_ctx == NULL) { + event_ctx = event_context_init(templates_ldb); + } + templates_ldb = ldb_wrap_connect(ldb, event_ctx, lp_ctx, templates_ldb_path, NULL, NULL, 0, NULL); -- cgit