From 751e7d4d33414d60971cdc9546d4d58e1b42a794 Mon Sep 17 00:00:00 2001 From: Sumit Bose Date: Thu, 23 Jun 2011 17:52:06 +0200 Subject: [PATCH] s3-pdb_ipa: Add supprted encryption types to struct pdb_trusted_domain MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Günther Deschner --- source3/include/passdb.h | 1 + source3/passdb/pdb_ipa.c | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/source3/include/passdb.h b/source3/include/passdb.h index b42491d834c..1d0f2f36be4 100644 --- a/source3/include/passdb.h +++ b/source3/include/passdb.h @@ -268,6 +268,7 @@ struct pdb_trusted_domain { uint32_t trust_type; uint32_t trust_attributes; uint32_t *trust_posix_offset; + uint32_t *supported_enc_type; DATA_BLOB trust_forest_trust_info; }; diff --git a/source3/passdb/pdb_ipa.c b/source3/passdb/pdb_ipa.c index 65164e58657..15e65e0c224 100644 --- a/source3/passdb/pdb_ipa.c +++ b/source3/passdb/pdb_ipa.c @@ -36,6 +36,7 @@ #define LDAP_ATTRIBUTE_TRUST_ATTRIBUTES "sambaTrustAttributes" #define LDAP_ATTRIBUTE_TRUST_DIRECTION "sambaTrustDirection" #define LDAP_ATTRIBUTE_TRUST_POSIX_OFFSET "sambaTrustPosixOffset" +#define LDAP_ATTRIBUTE_SUPPORTED_ENC_TYPE "sambaSupportedEncryptionTypes" #define LDAP_ATTRIBUTE_TRUST_PARTNER "sambaTrustPartner" #define LDAP_ATTRIBUTE_FLAT_NAME "sambaFlatName" #define LDAP_ATTRIBUTE_TRUST_AUTH_OUTGOING "sambaTrustAuthOutgoing" @@ -376,6 +377,18 @@ static bool fill_pdb_trusted_domain(TALLOC_CTX *mem_ctx, return false; } + td->supported_enc_type = talloc(td, uint32_t); + if (td->supported_enc_type == NULL) { + return false; + } + res = get_uint32_t_from_ldap_msg(ldap_state, entry, + LDAP_ATTRIBUTE_SUPPORTED_ENC_TYPE, + td->supported_enc_type); + if (!res) { + return false; + } + + get_data_blob_from_ldap_msg(td, ldap_state, entry, LDAP_ATTRIBUTE_TRUST_FOREST_TRUST_INFO, &td->trust_forest_trust_info); @@ -542,6 +555,16 @@ static NTSTATUS ipasam_set_trusted_domain(struct pdb_methods *methods, } } + if (td->supported_enc_type != NULL) { + res = smbldap_make_mod_uint32_t(priv2ld(ldap_state), entry, + &mods, + LDAP_ATTRIBUTE_SUPPORTED_ENC_TYPE, + *td->supported_enc_type); + if (!res) { + return NT_STATUS_UNSUCCESSFUL; + } + } + if (td->trust_auth_outgoing.data != NULL) { smbldap_make_mod_blob(priv2ld(ldap_state), entry, &mods, LDAP_ATTRIBUTE_TRUST_AUTH_OUTGOING, -- 2.34.1