[SCM] Samba Shared Repository - branch master updated

Jeremy Allison jra at samba.org
Mon Jun 24 17:28:01 UTC 2024


The branch, master has been updated
       via  d86f9ff7fdd smbd: Simplify callers of notify_filter_string
       via  a37ea9d750e smbd: Simplify notify_filter_string
       via  6e7a1cc6467 smbd: Modernize a DEBUG
       via  6d0444a7bfb lib: Align an integer type
       via  fc0c605aac6 smbd: Simplify smbd_do_qfilepathinfo()
       via  4af84350bd2 lib: Avoid an includes.h
       via  1b47fae676b lib: Move 286 bytes from R/W data to R/O text segment
       via  3f2e45aa163 tdb: Update times in tdb_transaction_commit per fd, not per name
       via  06aff34586d smbd: Fix DEBUG messages
       via  1cea29c3987 credentials: Protect the cred's nt hash with talloc_keep_secret
       via  3c84a84fff1 spnego: Fix typos
       via  2b06123a9b6 gensec: Fix whitespace
       via  9be7dbd9c47 gse: Simplify gse_errstr() with talloc_asprintf_addbuf()
       via  221ef3ca865 gse: Avoid explicit ZERO_STRUCT in gse_errstr()
       via  7fba822817a libsmb: "clang-format" for an if-condition
       via  7f935e27749 lib: Remove pointless \ line endings
       via  4f64e455f6f tdb: Fix a typo
       via  f3934fb9d09 heimdal_build: Fix whitespace
       via  8a7aad7fe0f torture4: Fix some whitespace
      from  cfb81b0c313 packaging: Add missing quotes in smbprint

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


- Log -----------------------------------------------------------------
commit d86f9ff7fdd042b76cf03cd84668c98391652f5e
Author: Volker Lendecke <vl at samba.org>
Date:   Thu Jun 20 20:25:24 2024 +0200

    smbd: Simplify callers of notify_filter_string
    
    This is exactly the application talloc_tos() was made for
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    
    Autobuild-User(master): Jeremy Allison <jra at samba.org>
    Autobuild-Date(master): Mon Jun 24 17:27:04 UTC 2024 on atb-devel-224

commit a37ea9d750e1fcfc9e87ab747776bcc9cd70d568
Author: Volker Lendecke <vl at samba.org>
Date:   Thu Jun 20 20:19:52 2024 +0200

    smbd: Simplify notify_filter_string
    
    Just a single NULL check through talloc_asprintf_addbuf
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 6e7a1cc646786a51cedbdb971bf7b17b34eff652
Author: Volker Lendecke <vl at samba.org>
Date:   Thu Jun 20 20:06:44 2024 +0200

    smbd: Modernize a DEBUG
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 6d0444a7bfbf25241d7a7045b9ba9290fbc98c5f
Author: Volker Lendecke <vl at samba.org>
Date:   Mon Jun 17 12:45:32 2024 +0200

    lib: Align an integer type
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit fc0c605aac64a4ec41b74ccfbb035075910268e3
Author: Volker Lendecke <vl at samba.org>
Date:   Mon Jun 17 15:24:57 2024 +0200

    smbd: Simplify smbd_do_qfilepathinfo()
    
    Use fsctl_get_reparse_tag()
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 4af84350bd2ca3177f4153229565892383c8992c
Author: Volker Lendecke <vl at samba.org>
Date:   Mon Jun 10 14:32:27 2024 +0200

    lib: Avoid an includes.h
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 1b47fae676b59d99e601e208ad365c152bd1e970
Author: Volker Lendecke <vl at samba.org>
Date:   Mon Jun 10 16:08:04 2024 +0200

    lib: Move 286 bytes from R/W data to R/O text segment
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 3f2e45aa163bfb7c0b3c459f82d2677a9cd8a443
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Jun 14 17:48:52 2024 +0200

    tdb: Update times in tdb_transaction_commit per fd, not per name
    
    We might have a relative filename in tdb->name, so we might do the
    wrong thing here. And as we have the fd, why not use it...
    
    We call futimens in vfs_default without #ifdef and it's Posix 2018 or
    before. So I don't think we need to check for it.
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 06aff34586d154cb183235c8775a59798b329b6c
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Jun 14 18:28:10 2024 +0200

    smbd: Fix DEBUG messages
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 1cea29c39874ec0c04b95966cb0889cee475f26c
Author: Volker Lendecke <vl at samba.org>
Date:   Fri May 24 17:16:14 2024 +0200

    credentials: Protect the cred's nt hash with talloc_keep_secret
    
    This avoids the need for an explict ZERO_STRUCT before TALLOC_FREE
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 3c84a84fff15500b6bbbfbbf29d2114bc3c7fed4
Author: Volker Lendecke <vl at samba.org>
Date:   Thu May 30 14:06:39 2024 +0200

    spnego: Fix typos
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 2b06123a9b64f9a8b5015f107cb082ac12807fa0
Author: Volker Lendecke <vl at samba.org>
Date:   Thu May 30 14:04:51 2024 +0200

    gensec: Fix whitespace
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 9be7dbd9c470493dfceb3647ac57cb42d78749b5
Author: Volker Lendecke <vl at samba.org>
Date:   Wed May 29 17:27:11 2024 +0200

    gse: Simplify gse_errstr() with talloc_asprintf_addbuf()
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 221ef3ca865e50eb4e75933caea68aa221e70222
Author: Volker Lendecke <vl at samba.org>
Date:   Wed May 29 17:25:54 2024 +0200

    gse: Avoid explicit ZERO_STRUCT in gse_errstr()
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 7fba822817a1c0b30263058679a72ba13ffa1fb3
Author: Volker Lendecke <vl at samba.org>
Date:   Fri May 31 11:42:45 2024 +0200

    libsmb: "clang-format" for an if-condition
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 7f935e27749b384e8bd324ba0051204f367d4ba9
Author: Volker Lendecke <vl at samba.org>
Date:   Fri May 31 11:41:28 2024 +0200

    lib: Remove pointless \ line endings
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 4f64e455f6f5b8dafac184761686af8697a3bd21
Author: Volker Lendecke <vl at samba.org>
Date:   Fri May 31 08:51:45 2024 +0200

    tdb: Fix a typo
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit f3934fb9d0930b152d59a5a080f8695d069b35ca
Author: Volker Lendecke <vl at samba.org>
Date:   Mon Apr 29 13:11:36 2024 +0200

    heimdal_build: Fix whitespace
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 8a7aad7fe0f1bda0f79cdc891ea9b0dbfa5ccbc2
Author: Volker Lendecke <vl at samba.org>
Date:   Fri May 31 21:28:50 2024 +0200

    torture4: Fix some whitespace
    
    Review with "git show -w"
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

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

Summary of changes:
 auth/credentials/credentials.c        |   5 +
 auth/gensec/spnego.c                  |  24 ++---
 auth/ntlmssp/ntlmssp_client.c         |   1 -
 lib/tdb/common/freelist.c             |   2 +-
 lib/tdb/common/transaction.c          |   4 +-
 lib/util/tevent_debug.c               |   4 +-
 source3/lib/adouble.c                 |   2 +-
 source3/lib/charcnv.c                 |   5 +-
 source3/lib/util.c                    |   2 +-
 source3/librpc/crypto/gse.c           |  25 ++---
 source3/smbd/dosmode.c                |   9 +-
 source3/smbd/notify.c                 |  67 +++----------
 source3/smbd/server.c                 |   4 +-
 source3/smbd/smb1_nttrans.c           |  18 +---
 source3/smbd/smb2_notify.c            |  18 +---
 source3/smbd/smb2_trans2.c            |  10 +-
 source4/torture/raw/acls.c            | 182 +++++++++++++++++-----------------
 source4/torture/raw/chkpath.c         |  16 +--
 source4/torture/raw/close.c           |  26 ++---
 source4/torture/raw/composite.c       |  20 ++--
 source4/torture/raw/context.c         |  40 ++++----
 source4/torture/raw/ioctl.c           |  14 +--
 source4/torture/raw/lock.c            |  32 +++---
 source4/torture/raw/lockbench.c       |  44 ++++----
 source4/torture/raw/mkdir.c           |  20 ++--
 source4/torture/raw/mux.c             |  16 +--
 source4/torture/raw/notify.c          |  40 ++++----
 source4/torture/raw/open.c            |  48 ++++-----
 source4/torture/raw/openbench.c       |  48 ++++-----
 source4/torture/raw/oplock.c          | 110 ++++++++++----------
 source4/torture/raw/pingpong.c        |  19 ++--
 source4/torture/raw/qfileinfo.c       | 102 +++++++++----------
 source4/torture/raw/qfsinfo.c         |  60 +++++------
 source4/torture/raw/raw.c             |   8 +-
 source4/torture/raw/read.c            |  30 +++---
 source4/torture/raw/rename.c          |  40 ++++----
 source4/torture/raw/samba3hide.c      |  26 ++---
 source4/torture/raw/samba3misc.c      |  16 +--
 source4/torture/raw/search.c          | 102 +++++++++----------
 source4/torture/raw/seek.c            |  22 ++--
 source4/torture/raw/setfileinfo.c     |  24 ++---
 source4/torture/raw/streams.c         |  20 ++--
 source4/torture/raw/unlink.c          |  26 ++---
 third_party/heimdal_build/hdb-glue.c  |   9 +-
 third_party/heimdal_build/kafs.h      |   2 +-
 third_party/heimdal_build/krb5-glue.c |   8 +-
 third_party/heimdal_build/replace.c   |  10 +-
 47 files changed, 654 insertions(+), 726 deletions(-)


Changeset truncated at 500 lines:

diff --git a/auth/credentials/credentials.c b/auth/credentials/credentials.c
index d57096c5707..aade70cd2c1 100644
--- a/auth/credentials/credentials.c
+++ b/auth/credentials/credentials.c
@@ -604,6 +604,7 @@ _PUBLIC_ bool cli_credentials_set_password(struct cli_credentials *cred,
 			if (nt_hash == NULL) {
 				return false;
 			}
+			talloc_keep_secret(nt_hash);
 
 			converted = strhex_to_str((char *)nt_hash->hash,
 						  sizeof(nt_hash->hash),
@@ -739,6 +740,7 @@ _PUBLIC_ struct samr_Password *cli_credentials_get_nt_hash(struct cli_credential
 	if (nt_hash == NULL) {
 		return NULL;
 	}
+	talloc_keep_secret(nt_hash);
 
 	if (password_is_nt_hash) {
 		size_t password_len = strlen(password);
@@ -763,6 +765,7 @@ return_hash:
 	if (nt_hash == NULL) {
 		return NULL;
 	}
+	talloc_keep_secret(nt_hash);
 
 	*nt_hash = *cred->nt_hash;
 
@@ -788,6 +791,7 @@ _PUBLIC_ struct samr_Password *cli_credentials_get_old_nt_hash(struct cli_creden
 		if (!nt_hash) {
 			return NULL;
 		}
+		talloc_keep_secret(nt_hash);
 
 		*nt_hash = *cred->old_nt_hash;
 
@@ -800,6 +804,7 @@ _PUBLIC_ struct samr_Password *cli_credentials_get_old_nt_hash(struct cli_creden
 		if (!nt_hash) {
 			return NULL;
 		}
+		talloc_keep_secret(nt_hash);
 
 		E_md4hash(old_password, nt_hash->hash);
 
diff --git a/auth/gensec/spnego.c b/auth/gensec/spnego.c
index d63d292f168..28d2e69132b 100644
--- a/auth/gensec/spnego.c
+++ b/auth/gensec/spnego.c
@@ -1,4 +1,4 @@
-/* 
+/*
    Unix SMB/CIFS implementation.
 
    RFC2478 Compliant SPNEGO implementation
@@ -66,11 +66,11 @@ struct spnego_neg_ops {
 	const char *name;
 	/*
 	 * The start hook does the initial processing on the incoming packet and
-	 * may starts the first possible subcontext. It indicates that
+	 * may start the first possible subcontext. It indicates that
 	 * gensec_update() is required on the subcontext by returning
 	 * NT_STATUS_MORE_PROCESSING_REQUIRED and return something useful in
 	 * 'in_next'. Note that 'in_mem_ctx' is just passed as a hint, the
-	 * caller should treat 'in_next' as const and don't attempt to free the
+	 * caller should treat 'in_next' as const and not attempt to free the
 	 * content.  NT_STATUS_OK indicates the finish hook should be invoked
 	 * directly within the need of gensec_update() on the subcontext.
 	 * Every other error indicates an error that's returned to the caller.
@@ -88,7 +88,7 @@ struct spnego_neg_ops {
 	 * gensec_update() is required on the subcontext by returning
 	 * NT_STATUS_MORE_PROCESSING_REQUIRED and return something useful in
 	 * 'in_next'. Note that 'in_mem_ctx' is just passed as a hint, the
-	 * caller should treat 'in_next' as const and don't attempt to free the
+	 * caller should treat 'in_next' as const and not attempt to free the
 	 * content.  NT_STATUS_OK indicates the finish hook should be invoked
 	 * directly within the need of gensec_update() on the subcontext.
 	 * Every other error indicates an error that's returned to the caller.
@@ -221,14 +221,14 @@ static NTSTATUS gensec_spnego_server_start(struct gensec_security *gensec_securi
 	return NT_STATUS_OK;
 }
 
-/** Fallback to another GENSEC mechanism, based on magic strings 
+/** Fallback to another GENSEC mechanism, based on magic strings
  *
  * This is the 'fallback' case, where we don't get SPNEGO, and have to
  * try all the other options (and hope they all have a magic string
  * they check)
 */
 
-static NTSTATUS gensec_spnego_server_try_fallback(struct gensec_security *gensec_security, 
+static NTSTATUS gensec_spnego_server_try_fallback(struct gensec_security *gensec_security,
 						  struct spnego_state *spnego_state,
 						  TALLOC_CTX *mem_ctx,
 						  const DATA_BLOB in)
@@ -267,8 +267,8 @@ static NTSTATUS gensec_spnego_server_try_fallback(struct gensec_security *gensec
 
 		spnego_state->state_position = SPNEGO_FALLBACK;
 
-		nt_status = gensec_subcontext_start(spnego_state, 
-						    gensec_security, 
+		nt_status = gensec_subcontext_start(spnego_state,
+						    gensec_security,
 						    &spnego_state->sub_sec_security);
 
 		if (!NT_STATUS_IS_OK(nt_status)) {
@@ -1098,7 +1098,7 @@ static const struct spnego_neg_ops gensec_spnego_client_negTokenTarg_ops = {
 	.finish_fn = gensec_spnego_client_negTokenTarg_finish,
 };
 
-/** create a server negTokenTarg 
+/** create a server negTokenTarg
  *
  * This is the case, where the client is the first one who sends data
 */
@@ -1118,7 +1118,7 @@ static NTSTATUS gensec_spnego_server_response(struct spnego_state *spnego_state,
 	spnego_out.negTokenTarg.mechListMIC = mech_list_mic;
 	spnego_out.negTokenTarg.supportedMech = NULL;
 
-	if (NT_STATUS_EQUAL(nt_status, NT_STATUS_MORE_PROCESSING_REQUIRED)) {	
+	if (NT_STATUS_EQUAL(nt_status, NT_STATUS_MORE_PROCESSING_REQUIRED)) {
 		spnego_out.negTokenTarg.supportedMech = spnego_state->neg_oid;
 		if (spnego_state->mic_requested) {
 			spnego_out.negTokenTarg.negResult = SPNEGO_REQUEST_MIC;
@@ -2185,9 +2185,9 @@ static NTSTATUS gensec_spnego_update_recv(struct tevent_req *req,
 	return status;
 }
 
-static const char *gensec_spnego_oids[] = { 
+static const char *gensec_spnego_oids[] = {
 	GENSEC_OID_SPNEGO,
-	NULL 
+	NULL
 };
 
 static const struct gensec_security_ops gensec_spnego_security_ops = {
diff --git a/auth/ntlmssp/ntlmssp_client.c b/auth/ntlmssp/ntlmssp_client.c
index d8dc1d2940b..a50ff661f5f 100644
--- a/auth/ntlmssp/ntlmssp_client.c
+++ b/auth/ntlmssp/ntlmssp_client.c
@@ -416,7 +416,6 @@ NTSTATUS ntlmssp_client_challenge(struct gensec_security *gensec_security,
 		nt_hash = cli_credentials_get_nt_hash(gensec_security->credentials,
 						      mem_ctx);
 		if (nt_hash != NULL) {
-			ZERO_STRUCTP(nt_hash);
 			TALLOC_FREE(nt_hash);
 			ntlmssp_state->use_ccache = false;
 		}
diff --git a/lib/tdb/common/freelist.c b/lib/tdb/common/freelist.c
index 046c747cf9b..d6671378620 100644
--- a/lib/tdb/common/freelist.c
+++ b/lib/tdb/common/freelist.c
@@ -34,7 +34,7 @@ int tdb_rec_free_read(struct tdb_context *tdb, tdb_off_t off, struct tdb_record
 		return -1;
 
 	if (rec->magic == TDB_MAGIC) {
-		/* this happens when a app is showdown while deleting a record - we should
+		/* this happens when a app is shutdown while deleting a record - we should
 		   not completely fail when this happens */
 		TDB_LOG((tdb, TDB_DEBUG_WARNING, "tdb_rec_free_read non-free magic 0x%x at offset=%u - fixing\n",
 			 rec->magic, off));
diff --git a/lib/tdb/common/transaction.c b/lib/tdb/common/transaction.c
index 78bbd7ad23e..b4dec1024a0 100644
--- a/lib/tdb/common/transaction.c
+++ b/lib/tdb/common/transaction.c
@@ -1206,9 +1206,7 @@ _PUBLIC_ int tdb_transaction_commit(struct tdb_context *tdb)
 	   not be backed up (as tdb rounding to block sizes means that
 	   file size changes are quite rare too). The following forces
 	   mtime changes when a transaction completes */
-#ifdef HAVE_UTIME
-	utime(tdb->name, NULL);
-#endif
+	futimens(tdb->fd, NULL);
 
 	/* use a transaction cancel to free memory and remove the
 	   transaction locks */
diff --git a/lib/util/tevent_debug.c b/lib/util/tevent_debug.c
index 4ec905759a1..996f49598ea 100644
--- a/lib/util/tevent_debug.c
+++ b/lib/util/tevent_debug.c
@@ -16,8 +16,10 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
-#include "includes.h"
+#include "replace.h"
 #include <tevent.h>
+#include "lib/util/debug.h"
+#include "lib/util/samba_util.h"
 
 #undef DBGC_CLASS
 #define DBGC_CLASS DBGC_TEVENT
diff --git a/source3/lib/adouble.c b/source3/lib/adouble.c
index 1e8dbc4aaf3..264e8f69013 100644
--- a/source3/lib/adouble.c
+++ b/source3/lib/adouble.c
@@ -210,7 +210,7 @@ static const uint32_t set_eid[] = {
 	AD_DEV, AD_INO, AD_SYN, AD_ID
 };
 
-static char empty_resourcefork[] = {
+static const char empty_resourcefork[] = {
 	0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00,
 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E,
 	0x54, 0x68, 0x69, 0x73, 0x20, 0x72, 0x65, 0x73,
diff --git a/source3/lib/charcnv.c b/source3/lib/charcnv.c
index d00a3a3cfa0..6364329b791 100644
--- a/source3/lib/charcnv.c
+++ b/source3/lib/charcnv.c
@@ -485,9 +485,8 @@ size_t pull_string_talloc(TALLOC_CTX *ctx,
 			  "UNICODE defined");
 	}
 
-	if (!(flags & STR_ASCII) && \
-	    ((flags & STR_UNICODE || \
-	      (smb_flags2 & FLAGS2_UNICODE_STRINGS)))) {
+	if (!(flags & STR_ASCII) &&
+	    ((flags & STR_UNICODE || (smb_flags2 & FLAGS2_UNICODE_STRINGS)))) {
 		return pull_ucs2_base_talloc(ctx,
 					base_ptr,
 					ppdest,
diff --git a/source3/lib/util.c b/source3/lib/util.c
index 29b5874d428..0deda2394f4 100644
--- a/source3/lib/util.c
+++ b/source3/lib/util.c
@@ -1070,7 +1070,7 @@ const char *get_remote_arch_str(void)
 
 enum remote_arch_types get_remote_arch_from_str(const char *remote_arch_string)
 {
-	int i;
+	size_t i;
 
 	for (i = 0; i < ARRAY_SIZE(remote_arch_strings); i++) {
 		if (strcmp(remote_arch_string, remote_arch_strings[i]) == 0) {
diff --git a/source3/librpc/crypto/gse.c b/source3/librpc/crypto/gse.c
index f70f67957a3..a071025c6f6 100644
--- a/source3/librpc/crypto/gse.c
+++ b/source3/librpc/crypto/gse.c
@@ -820,15 +820,12 @@ done:
 static char *gse_errstr(TALLOC_CTX *mem_ctx, OM_uint32 maj, OM_uint32 min)
 {
 	OM_uint32 gss_min, gss_maj;
-	gss_buffer_desc msg_min;
-	gss_buffer_desc msg_maj;
+	gss_buffer_desc msg_min = {};
+	gss_buffer_desc msg_maj = {};
 	OM_uint32 msg_ctx = 0;
 
 	char *errstr = NULL;
 
-	ZERO_STRUCT(msg_min);
-	ZERO_STRUCT(msg_maj);
-
 	gss_maj = gss_display_status(&gss_min, maj, GSS_C_GSS_CODE,
 				     GSS_C_NO_OID, &msg_ctx, &msg_maj);
 	if (gss_maj) {
@@ -837,9 +834,7 @@ static char *gse_errstr(TALLOC_CTX *mem_ctx, OM_uint32 maj, OM_uint32 min)
 	errstr = talloc_strndup(mem_ctx,
 				(char *)msg_maj.value,
 					msg_maj.length);
-	if (!errstr) {
-		goto done;
-	}
+
 	gss_maj = gss_display_status(&gss_min, min, GSS_C_MECH_CODE,
 				     (gss_OID)discard_const(gss_mech_krb5),
 				     &msg_ctx, &msg_min);
@@ -847,16 +842,10 @@ static char *gse_errstr(TALLOC_CTX *mem_ctx, OM_uint32 maj, OM_uint32 min)
 		goto done;
 	}
 
-	errstr = talloc_strdup_append_buffer(errstr, ": ");
-	if (!errstr) {
-		goto done;
-	}
-	errstr = talloc_strndup_append_buffer(errstr,
-						(char *)msg_min.value,
-							msg_min.length);
-	if (!errstr) {
-		goto done;
-	}
+	talloc_asprintf_addbuf(&errstr,
+			       ": %.*s",
+			       (int)msg_min.length,
+			       (char *)msg_min.value);
 
 done:
 	if (msg_min.value) {
diff --git a/source3/smbd/dosmode.c b/source3/smbd/dosmode.c
index fac226459ce..8b47a89dec4 100644
--- a/source3/smbd/dosmode.c
+++ b/source3/smbd/dosmode.c
@@ -457,10 +457,11 @@ NTSTATUS set_ea_dos_attribute(connection_struct *conn,
 	dosattrib.info.info5.create_time = full_timespec_to_nt_time(
 		&smb_fname->st.st_ex_btime);
 
-	DEBUG(10,("set_ea_dos_attributes: set attribute 0x%x, btime = %s on file %s\n",
-		(unsigned int)dosmode,
-		time_to_asc(convert_timespec_to_time_t(smb_fname->st.st_ex_btime)),
-		smb_fname_str_dbg(smb_fname) ));
+	DBG_DEBUG("set attribute 0x%" PRIx32 ", btime = %s on file %s\n",
+		  dosmode,
+		  time_to_asc(convert_timespec_to_time_t(
+			  smb_fname->st.st_ex_btime)),
+		  smb_fname_str_dbg(smb_fname));
 
 	ndr_err = ndr_push_struct_blob(
 			&blob, talloc_tos(), &dosattrib,
diff --git a/source3/smbd/notify.c b/source3/smbd/notify.c
index d08df3c8380..c6710a84b93 100644
--- a/source3/smbd/notify.c
+++ b/source3/smbd/notify.c
@@ -859,81 +859,46 @@ char *notify_filter_string(TALLOC_CTX *mem_ctx, uint32_t filter)
 	char *result = NULL;
 
 	result = talloc_strdup(mem_ctx, "");
-	if (result == NULL) {
-		return NULL;
-	}
 
 	if (filter & FILE_NOTIFY_CHANGE_FILE_NAME) {
-		result = talloc_asprintf_append(result, "FILE_NAME|");
-		if (result == NULL) {
-			return NULL;
-		}
+		talloc_asprintf_addbuf(&result, "FILE_NAME|");
 	}
 	if (filter & FILE_NOTIFY_CHANGE_DIR_NAME) {
-		result = talloc_asprintf_append(result, "DIR_NAME|");
-		if (result == NULL) {
-			return NULL;
-		}
+		talloc_asprintf_addbuf(&result, "DIR_NAME|");
 	}
 	if (filter & FILE_NOTIFY_CHANGE_ATTRIBUTES) {
-		result = talloc_asprintf_append(result, "ATTRIBUTES|");
-		if (result == NULL) {
-			return NULL;
-		}
+		talloc_asprintf_addbuf(&result, "ATTRIBUTES|");
 	}
 	if (filter & FILE_NOTIFY_CHANGE_SIZE) {
-		result = talloc_asprintf_append(result, "SIZE|");
-		if (result == NULL) {
-			return NULL;
-		}
+		talloc_asprintf_addbuf(&result, "SIZE|");
 	}
 	if (filter & FILE_NOTIFY_CHANGE_LAST_WRITE) {
-		result = talloc_asprintf_append(result, "LAST_WRITE|");
-		if (result == NULL) {
-			return NULL;
-		}
+		talloc_asprintf_addbuf(&result, "LAST_WRITE|");
 	}
 	if (filter & FILE_NOTIFY_CHANGE_LAST_ACCESS) {
-		result = talloc_asprintf_append(result, "LAST_ACCESS|");
-		if (result == NULL) {
-			return NULL;
-		}
+		talloc_asprintf_addbuf(&result, "LAST_ACCESS|");
 	}
 	if (filter & FILE_NOTIFY_CHANGE_CREATION) {
-		result = talloc_asprintf_append(result, "CREATION|");
-		if (result == NULL) {
-			return NULL;
-		}
+		talloc_asprintf_addbuf(&result, "CREATION|");
 	}
 	if (filter & FILE_NOTIFY_CHANGE_EA) {
-		result = talloc_asprintf_append(result, "EA|");
-		if (result == NULL) {
-			return NULL;
-		}
+		talloc_asprintf_addbuf(&result, "EA|");
 	}
 	if (filter & FILE_NOTIFY_CHANGE_SECURITY) {
-		result = talloc_asprintf_append(result, "SECURITY|");
-		if (result == NULL) {
-			return NULL;
-		}
+		talloc_asprintf_addbuf(&result, "SECURITY|");
 	}
 	if (filter & FILE_NOTIFY_CHANGE_STREAM_NAME) {
-		result = talloc_asprintf_append(result, "STREAM_NAME|");
-		if (result == NULL) {
-			return NULL;
-		}
+		talloc_asprintf_addbuf(&result, "STREAM_NAME|");
 	}
 	if (filter & FILE_NOTIFY_CHANGE_STREAM_SIZE) {
-		result = talloc_asprintf_append(result, "STREAM_SIZE|");
-		if (result == NULL) {
-			return NULL;
-		}
+		talloc_asprintf_addbuf(&result, "STREAM_SIZE|");
 	}
 	if (filter & FILE_NOTIFY_CHANGE_STREAM_WRITE) {
-		result = talloc_asprintf_append(result, "STREAM_WRITE|");
-		if (result == NULL) {
-			return NULL;
-		}
+		talloc_asprintf_addbuf(&result, "STREAM_WRITE|");
+	}
+
+	if (result == NULL) {
+		return NULL;
 	}
 
 	if (*result == '\0') return result;
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index c7d5dae44f0..e9ba7be9166 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -1512,7 +1512,7 @@ static NTSTATUS smbd_claim_version(struct messaging_context *msg,
 			     NULL,
 			     NULL);
 	if (!NT_STATUS_IS_OK(status)) {
-		DBG_WARNING("g_lock_lock(G_LOCK_WRITE) failed: %s\n",
+		DBG_WARNING("g_lock_lock(G_LOCK_UPGRADE) failed: %s\n",
 			    nt_errstr(status));
 		DBG_ERR("smbd %s already running, refusing to start "
 			"version %s\n", state.version, version);
@@ -1536,7 +1536,7 @@ static NTSTATUS smbd_claim_version(struct messaging_context *msg,
 			     NULL,
 			     NULL);
 	if (!NT_STATUS_IS_OK(status)) {
-		DBG_WARNING("g_lock_lock(G_LOCK_READ) failed: %s\n",
+		DBG_WARNING("g_lock_lock(G_LOCK_DOWNGRADE) failed: %s\n",
 			    nt_errstr(status));
 		TALLOC_FREE(ctx);
 		return status;
diff --git a/source3/smbd/smb1_nttrans.c b/source3/smbd/smb1_nttrans.c
index 104d3c09656..f89cddb2501 100644
--- a/source3/smbd/smb1_nttrans.c
+++ b/source3/smbd/smb1_nttrans.c
@@ -1675,20 +1675,10 @@ static void call_nt_transact_notify_change(connection_struct *conn,
 		return;
 	}
 
-	{
-		char *filter_string;
-
-		if (!(filter_string = notify_filter_string(NULL, filter))) {
-			reply_nterror(req,NT_STATUS_NO_MEMORY);
-			return;
-		}
-
-		DEBUG(3,("call_nt_transact_notify_change: notify change "
-			 "called on %s, filter = %s, recursive = %d\n",
-			 fsp_str_dbg(fsp), filter_string, recursive));
-
-		TALLOC_FREE(filter_string);
-	}
+	DBG_NOTICE("notify change called on %s, filter = %s, recursive = %d\n",
+		   fsp_str_dbg(fsp),
+		   notify_filter_string(talloc_tos(), filter),
+		   recursive);
 
 	if((!fsp->fsp_flags.is_directory) || (conn != fsp->conn)) {
 		reply_nterror(req, NT_STATUS_INVALID_PARAMETER);
diff --git a/source3/smbd/smb2_notify.c b/source3/smbd/smb2_notify.c
index 8cccd90b3fb..2f4176f3fbb 100644
--- a/source3/smbd/smb2_notify.c
+++ b/source3/smbd/smb2_notify.c
@@ -240,20 +240,10 @@ static struct tevent_req *smbd_smb2_notify_send(TALLOC_CTX *mem_ctx,
 	state->smbreq = smbreq;
 	smbreq->async_priv = (void *)req;
 
-	if (DEBUGLEVEL >= 3) {
-		char *filter_string;
-
-		filter_string = notify_filter_string(NULL, in_completion_filter);
-		if (tevent_req_nomem(filter_string, req)) {
-			return tevent_req_post(req, ev);
-		}
-
-		DEBUG(3,("smbd_smb2_notify_send: notify change "
-			 "called on %s, filter = %s, recursive = %d\n",
-			 fsp_str_dbg(fsp), filter_string, recursive));
-
-		TALLOC_FREE(filter_string);
-	}
+	DBG_NOTICE("notify change called on %s, filter = %s, recursive = %d\n",
+		   fsp_str_dbg(fsp),
+		   notify_filter_string(talloc_tos(), in_completion_filter),
+		   recursive);
 
 	if ((!fsp->fsp_flags.is_directory) || (conn != fsp->conn)) {
 		tevent_req_nterror(req, NT_STATUS_INVALID_PARAMETER);
diff --git a/source3/smbd/smb2_trans2.c b/source3/smbd/smb2_trans2.c
index 65940295248..32d368cedaa 100644
--- a/source3/smbd/smb2_trans2.c
+++ b/source3/smbd/smb2_trans2.c
@@ -3688,18 +3688,10 @@ NTSTATUS smbd_do_qfilepathinfo(connection_struct *conn,
 
 		case SMB_FILE_ATTRIBUTE_TAG_INFORMATION: {
 			uint32_t tag = 0;
-			uint8_t *data = NULL;
-			uint32_t datalen;
 


-- 
Samba Shared Repository



More information about the samba-cvs mailing list