[SCM] Samba Shared Repository - branch master updated

Andreas Schneider asn at samba.org
Thu Aug 5 10:34:01 UTC 2021


The branch, master has been updated
       via  104fc353909 mit-samba: Only set the function opening bracket once
       via  60159e03850 mit-samba: Use talloc_get_type_abort() instead of casting
       via  dd8138236be mit-samba: Send the logging to the kdc log facility
       via  41d906301b8 mit-samba: Define debug class for kdb module
      from  4f093ae6c9e s3: VFS: ceph. Fix enumerating directories. dirfsp->fh->fd != AT_FDCWD in this case.

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 104fc3539090ae9e161945ef9d18d897e3b71fed
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Jul 15 08:48:37 2021 +0200

    mit-samba: Only set the function opening bracket once
    
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    
    Autobuild-User(master): Andreas Schneider <asn at cryptomilk.org>
    Autobuild-Date(master): Thu Aug  5 10:33:18 UTC 2021 on sn-devel-184

commit 60159e03850f88cdee332ba65939cfe4582cb5e1
Author: Andreas Schneider <asn at samba.org>
Date:   Mon Jul 12 13:05:59 2021 +0200

    mit-samba: Use talloc_get_type_abort() instead of casting
    
    This is safer to use and fixes compiler warnings.
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit dd8138236bec3635c25e5b482b7a14faa0a9c36b
Author: Andreas Schneider <asn at samba.org>
Date:   Mon Jun 11 16:15:10 2018 +0200

    mit-samba: Send the logging to the kdc log facility
    
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 41d906301b8d13f831b155dcec37d88889b9f36c
Author: Andreas Schneider <asn at samba.org>
Date:   Wed Jul 14 12:49:11 2021 +0200

    mit-samba: Define debug class for kdb module
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 source4/kdc/mit-kdb/kdb_samba_change_pwd.c |  3 +++
 source4/kdc/mit-kdb/kdb_samba_common.c     |  3 +++
 source4/kdc/mit-kdb/kdb_samba_masterkey.c  |  3 +++
 source4/kdc/mit-kdb/kdb_samba_pac.c        |  3 +++
 source4/kdc/mit-kdb/kdb_samba_policies.c   |  6 +++--
 source4/kdc/mit-kdb/kdb_samba_principals.c |  3 +++
 source4/kdc/mit_samba.c                    | 37 ++++++++++++++++++++++--------
 7 files changed, 46 insertions(+), 12 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/kdc/mit-kdb/kdb_samba_change_pwd.c b/source4/kdc/mit-kdb/kdb_samba_change_pwd.c
index e0264cb4f09..ad7bb5d54ea 100644
--- a/source4/kdc/mit-kdb/kdb_samba_change_pwd.c
+++ b/source4/kdc/mit-kdb/kdb_samba_change_pwd.c
@@ -30,6 +30,9 @@
 #include "kdc/mit_samba.h"
 #include "kdb_samba.h"
 
+#undef DBGC_CLASS
+#define DBGC_CLASS DBGC_KERBEROS
+
 krb5_error_code kdb_samba_change_pwd(krb5_context context,
 				     krb5_keyblock *master_key,
 				     krb5_key_salt_tuple *ks_tuple,
diff --git a/source4/kdc/mit-kdb/kdb_samba_common.c b/source4/kdc/mit-kdb/kdb_samba_common.c
index e89aed6aeba..35cac193a44 100644
--- a/source4/kdc/mit-kdb/kdb_samba_common.c
+++ b/source4/kdc/mit-kdb/kdb_samba_common.c
@@ -30,6 +30,9 @@
 #include "kdc/mit_samba.h"
 #include "kdb_samba.h"
 
+#undef DBGC_CLASS
+#define DBGC_CLASS DBGC_KERBEROS
+
 struct mit_samba_context *ks_get_context(krb5_context kcontext)
 {
 	void *db_ctx;
diff --git a/source4/kdc/mit-kdb/kdb_samba_masterkey.c b/source4/kdc/mit-kdb/kdb_samba_masterkey.c
index 2c4fe72d8c2..b068d964735 100644
--- a/source4/kdc/mit-kdb/kdb_samba_masterkey.c
+++ b/source4/kdc/mit-kdb/kdb_samba_masterkey.c
@@ -31,6 +31,9 @@
 #include "kdc/mit_samba.h"
 #include "kdb_samba.h"
 
+#undef DBGC_CLASS
+#define DBGC_CLASS DBGC_KERBEROS
+
 krb5_error_code kdb_samba_fetch_master_key(krb5_context context,
 					   krb5_principal name,
 					   krb5_keyblock *key,
diff --git a/source4/kdc/mit-kdb/kdb_samba_pac.c b/source4/kdc/mit-kdb/kdb_samba_pac.c
index 15497603b10..75b05a62a07 100644
--- a/source4/kdc/mit-kdb/kdb_samba_pac.c
+++ b/source4/kdc/mit-kdb/kdb_samba_pac.c
@@ -30,6 +30,9 @@
 #include "kdc/mit_samba.h"
 #include "kdb_samba.h"
 
+#undef DBGC_CLASS
+#define DBGC_CLASS DBGC_KERBEROS
+
 krb5_error_code kdb_samba_dbekd_decrypt_key_data(krb5_context context,
 						 const krb5_keyblock *mkey,
 						 const krb5_key_data *key_data,
diff --git a/source4/kdc/mit-kdb/kdb_samba_policies.c b/source4/kdc/mit-kdb/kdb_samba_policies.c
index 9197551ed61..c431567a7f4 100644
--- a/source4/kdc/mit-kdb/kdb_samba_policies.c
+++ b/source4/kdc/mit-kdb/kdb_samba_policies.c
@@ -30,6 +30,9 @@
 #include "kdc/mit_samba.h"
 #include "kdb_samba.h"
 
+#undef DBGC_CLASS
+#define DBGC_CLASS DBGC_KERBEROS
+
 /* FIXME: This is a krb5 function which is exported, but in no header */
 extern krb5_error_code decode_krb5_padata_sequence(const krb5_data *output,
 						   krb5_pa_data ***rep);
@@ -301,7 +304,6 @@ krb5_error_code kdb_samba_db_sign_auth_data(krb5_context context,
 					    krb5_timestamp authtime,
 					    krb5_authdata **tgt_auth_data,
 					    krb5_authdata ***signed_auth_data)
-{
 #else
 krb5_error_code kdb_samba_db_sign_auth_data(krb5_context context,
 					    unsigned int flags,
@@ -321,8 +323,8 @@ krb5_error_code kdb_samba_db_sign_auth_data(krb5_context context,
 					    void *authdata_info,
 					    krb5_data ***auth_indicators,
 					    krb5_authdata ***signed_auth_data)
-{
 #endif
+{
 	krb5_authdata **authdata = NULL;
 	krb5_boolean is_as_req;
 	krb5_error_code code;
diff --git a/source4/kdc/mit-kdb/kdb_samba_principals.c b/source4/kdc/mit-kdb/kdb_samba_principals.c
index 8b67436dc47..c17fe8b0a14 100644
--- a/source4/kdc/mit-kdb/kdb_samba_principals.c
+++ b/source4/kdc/mit-kdb/kdb_samba_principals.c
@@ -30,6 +30,9 @@
 #include "kdc/mit_samba.h"
 #include "kdb_samba.h"
 
+#undef DBGC_CLASS
+#define DBGC_CLASS DBGC_KERBEROS
+
 #define ADMIN_LIFETIME 60*60*3 /* 3 hours */
 #define CHANGEPW_LIFETIME 60*5 /* 5 minutes */
 
diff --git a/source4/kdc/mit_samba.c b/source4/kdc/mit_samba.c
index feacc1b5f19..0a0d3a98315 100644
--- a/source4/kdc/mit_samba.c
+++ b/source4/kdc/mit_samba.c
@@ -25,6 +25,7 @@
 #include "param/param.h"
 #include "dsdb/samdb/samdb.h"
 #include "system/kerberos.h"
+#include <com_err.h>
 #include <kdb.h>
 #include <kadm5/kadm_err.h>
 #include "kdc/sdb.h"
@@ -40,6 +41,9 @@
 
 #include "mit_samba.h"
 
+#undef DBGC_CLASS
+#define DBGC_CLASS DBGC_KERBEROS
+
 void mit_samba_context_free(struct mit_samba_context *ctx)
 {
 	/* free heimdal's krb5_context */
@@ -51,6 +55,22 @@ void mit_samba_context_free(struct mit_samba_context *ctx)
 	talloc_free(ctx);
 }
 
+/*
+ * Implemant a callback to log to the MIT KDC log facility
+ *
+ * http://web.mit.edu/kerberos/krb5-devel/doc/plugindev/general.html#logging-from-kdc-and-kadmind-plugin-modules
+ */
+static void mit_samba_debug(void *private_ptr, int msg_level, const char *msg)
+{
+	int is_error = 1;
+
+	if (msg_level > 0) {
+		is_error = 0;
+	}
+
+	com_err("", is_error, "%s", msg);
+}
+
 int mit_samba_context_init(struct mit_samba_context **_ctx)
 {
 	NTSTATUS status;
@@ -77,7 +97,7 @@ int mit_samba_context_init(struct mit_samba_context **_ctx)
 		goto done;
 	}
 
-	setup_logging("mitkdc", DEBUG_DEFAULT_STDOUT);
+	debug_set_callback(NULL, mit_samba_debug);
 
 	/* init s4 configuration */
 	s4_conf_file = lpcfg_configfile(base_ctx.lp_ctx);
@@ -1056,7 +1076,8 @@ int mit_samba_kpasswd_change_password(struct mit_samba_context *ctx,
 	struct samr_DomInfo1 *dominfo;
 	const char *error_string = NULL;
 	struct auth_user_info_dc *user_info_dc;
-	struct samba_kdc_entry *p;
+	struct samba_kdc_entry *p =
+		talloc_get_type_abort(db_entry->e_data, struct samba_kdc_entry);
 	krb5_error_code code = 0;
 
 #ifdef DEBUG_PASSWORD
@@ -1068,8 +1089,6 @@ int mit_samba_kpasswd_change_password(struct mit_samba_context *ctx,
 		return ENOMEM;
 	}
 
-	p = (struct samba_kdc_entry *)db_entry->e_data;
-
 	status = authsam_make_user_info_dc(tmp_ctx,
 					   ctx->db_ctx->samdb,
 					   lpcfg_netbios_name(ctx->db_ctx->lp_ctx),
@@ -1145,11 +1164,10 @@ out:
 void mit_samba_zero_bad_password_count(krb5_db_entry *db_entry)
 {
 	struct netr_SendToSamBase *send_to_sam = NULL;
-	struct samba_kdc_entry *p;
+	struct samba_kdc_entry *p =
+		talloc_get_type_abort(db_entry->e_data, struct samba_kdc_entry);
 	struct ldb_dn *domain_dn;
 
-	p = (struct samba_kdc_entry *)db_entry->e_data;
-
 	domain_dn = ldb_get_default_basedn(p->kdc_db_ctx->samdb);
 
 	authsam_logon_success_accounting(p->kdc_db_ctx->samdb,
@@ -1163,9 +1181,8 @@ void mit_samba_zero_bad_password_count(krb5_db_entry *db_entry)
 
 void mit_samba_update_bad_password_count(krb5_db_entry *db_entry)
 {
-	struct samba_kdc_entry *p;
-
-	p = (struct samba_kdc_entry *)db_entry->e_data;
+	struct samba_kdc_entry *p =
+		talloc_get_type_abort(db_entry->e_data, struct samba_kdc_entry);
 
 	authsam_update_bad_pwd_count(p->kdc_db_ctx->samdb,
 				     p->msg,


-- 
Samba Shared Repository



More information about the samba-cvs mailing list