The branch, master has been updated
via 16d32aa2562 libsmb: Modernize two DEBUGs
via 09b06a452e3 winbind: Fix a few Coverity complaints
via 14d7c02a1c8 smbd: Modernize a few DEBUGs
via a33cf4c3e7e lib: Fix whitespace
via 0a0abbf2939 lib: Save lines by avoiding explicit ZERO_STRUCTP calls
via 8a59c1c954c libsmb: Put useccache initialization into one place
via 3bf131965dc lsa_server4: Fix comments
via 41e98406c80 libsmb: Avoid an "else"
via c0955c0feed smbd: Modernize DEBUGs
via 10911c5a6fa libsmb: Avoid a "else" in cli_read_max_bufsize()
via c55df956bfb lib: Modernize a few DEBUGs
via 3d0371937f4 libsmb: Remove an unused variable
via 21633bdbbd3 libsmb: Move 192 bytes from R/W .data to R/O (shared)
.text
via fb0524d26dd libsmb: Reduce indentation in SMBC_attr_server()
via dde86a29c5c libsmb: Reduce indentation in SMBC_find_server()
via b6f4a56f34e libsmb: Simplify cli_smb2_list_send()
via f9e0d008d6e libsmb: Remove a redundant tevent_req_nterror()
via 1a11f1dcc6a libsmb: Reduce indentation in SMBC_check_server() with
a "goto done"
via 38e026d68a8 libsmb: Reduce indentation in SMBC_check_server() with
an early return
via fd7ecf098d9 libsmb: Introduce a helper var in SMBC_check_server()
via 1519fe8f699 libsmb: Introduce a helper var in SMBC_check_server()
via 3a21d0ec631 libsmb: Fix a nomem return from cli_smb2_list_send()
via 90de6c2d4d9 utils: Fix a comment
via e05b7014e53 libsmb: Save errno across TALLOC_FREE in a few places
via 69feb82144b libsmb: Simplify SMBC_creat_ctx()
via 452dc137866 auth: Reduce indentation
via 388be77b143 libsmb: Slightly simplify libsmb_xattr
via e71b9dda99b libsmb: Simplify net_share_enum_rpc() with a direct
struct initialization
via 737f4583ca8 libsmb: Save a few lines of ZERO_STRUCTP with
SMB_CALLOC_ARRAY
via 38be1103a4c vfs: Fix some whitespace
via 8d5f03956eb smbd: Replace talloc_zero() with a struct initialization
via f6695a5bb9a libsmb: Reduce indentation in SMB_open_ctx()
from fb485544f8a gitlab-ci: add ubuntu2404
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 16d32aa2562ee19d08e0986a5dcbea58a4583a3f
Author: Volker Lendecke <[email protected]>
Date: Mon Apr 7 10:47:23 2025 +0200
libsmb: Modernize two DEBUGs
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
Autobuild-User(master): Volker Lendecke <[email protected]>
Autobuild-Date(master): Thu May 15 15:06:36 UTC 2025 on atb-devel-224
commit 09b06a452e35b4f15480e31a20c665bb99ba9c12
Author: Volker Lendecke <[email protected]>
Date: Wed Apr 2 09:34:57 2025 +0200
winbind: Fix a few Coverity complaints
Coverity correctly complains that we pass time_t into a uint32_t.
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
commit 14d7c02a1c8b2deacc3cdf61e772fcbde8ace2fd
Author: Volker Lendecke <[email protected]>
Date: Mon Apr 7 15:28:14 2025 +0200
smbd: Modernize a few DEBUGs
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
commit a33cf4c3e7eb808cb5825d92ab59c00fef31be29
Author: Volker Lendecke <[email protected]>
Date: Tue Apr 8 11:46:38 2025 +0200
lib: Fix whitespace
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
commit 0a0abbf2939bac2ffcf340aab35b9b1b98bcac96
Author: Volker Lendecke <[email protected]>
Date: Fri Apr 4 12:24:59 2025 +0200
lib: Save lines by avoiding explicit ZERO_STRUCTP calls
SMB_CALLOC_ARRAY(..., 1) does this.
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
commit 8a59c1c954c5c2b33a8b25704583bd5f31081862
Author: Volker Lendecke <[email protected]>
Date: Thu Apr 24 12:04:46 2025 +0200
libsmb: Put useccache initialization into one place
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
commit 3bf131965dc381357ea8d437561f8c8a30b97686
Author: Volker Lendecke <[email protected]>
Date: Mon May 5 10:53:25 2025 +0200
lsa_server4: Fix comments
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
commit 41e98406c808abbb1a24456a06f43f735cc32c1a
Author: Volker Lendecke <[email protected]>
Date: Thu May 8 18:00:34 2025 +0200
libsmb: Avoid an "else"
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
commit c0955c0feed749075ed3380c8c9b1865d3fa6086
Author: Volker Lendecke <[email protected]>
Date: Thu May 8 13:57:25 2025 +0200
smbd: Modernize DEBUGs
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
commit 10911c5a6fafd583cc83d9021e6871cf835ca36d
Author: Volker Lendecke <[email protected]>
Date: Thu May 8 13:47:37 2025 +0200
libsmb: Avoid a "else" in cli_read_max_bufsize()
Simpler to read for me.
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
commit c55df956bfba1321e0919bd318036289a6ed296b
Author: Volker Lendecke <[email protected]>
Date: Wed May 7 15:45:53 2025 +0200
lib: Modernize a few DEBUGs
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
commit 3d0371937f4d158feee75b5f49fc3776c8b5722b
Author: Volker Lendecke <[email protected]>
Date: Tue May 6 17:06:39 2025 +0200
libsmb: Remove an unused variable
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
commit 21633bdbbd3bce3e39b11924e42c2d3eef47bc75
Author: Volker Lendecke <[email protected]>
Date: Tue May 6 13:52:57 2025 +0200
libsmb: Move 192 bytes from R/W .data to R/O (shared) .text
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
commit fb0524d26dd504e4b411a709d321eb96a587fdff
Author: Volker Lendecke <[email protected]>
Date: Tue May 6 13:18:30 2025 +0200
libsmb: Reduce indentation in SMBC_attr_server()
Use an early return
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
commit dde86a29c5c325899575f36f0105ed55e32ebb5d
Author: Volker Lendecke <[email protected]>
Date: Mon May 5 15:55:13 2025 +0200
libsmb: Reduce indentation in SMBC_find_server()
Use an early return
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
commit b6f4a56f34efd15727970bd22c504bb0254d40a0
Author: Volker Lendecke <[email protected]>
Date: Mon May 5 14:05:03 2025 +0200
libsmb: Simplify cli_smb2_list_send()
Use make_smb2_posix_create_ctx()
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
commit f9e0d008d6ebac9388c28a00df7963ff0418dc39
Author: Volker Lendecke <[email protected]>
Date: Mon May 5 14:02:39 2025 +0200
libsmb: Remove a redundant tevent_req_nterror()
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
commit 1a11f1dcc6a35c30e992f80d8a70bb0bc452ad90
Author: Volker Lendecke <[email protected]>
Date: Mon May 5 12:47:07 2025 +0200
libsmb: Reduce indentation in SMBC_check_server() with a "goto done"
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
commit 38e026d68a8d2bcd964032d1abc4bc12afabbce7
Author: Volker Lendecke <[email protected]>
Date: Mon May 5 12:43:58 2025 +0200
libsmb: Reduce indentation in SMBC_check_server() with an early return
Best reviewed with "git show -b"
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
commit fd7ecf098d9d875a74d8b8975a38cc919239b82d
Author: Volker Lendecke <[email protected]>
Date: Mon May 5 12:41:51 2025 +0200
libsmb: Introduce a helper var in SMBC_check_server()
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
commit 1519fe8f6999f671bbcd604ac44106155c66f213
Author: Volker Lendecke <[email protected]>
Date: Mon May 5 12:40:35 2025 +0200
libsmb: Introduce a helper var in SMBC_check_server()
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
commit 3a21d0ec63136f5f22482d68afab0b04a5df0304
Author: Volker Lendecke <[email protected]>
Date: Mon May 5 11:07:08 2025 +0200
libsmb: Fix a nomem return from cli_smb2_list_send()
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
commit 90de6c2d4d9a84c3a2d5c0703dc62882e0589e50
Author: Volker Lendecke <[email protected]>
Date: Tue Apr 29 14:03:41 2025 +0200
utils: Fix a comment
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
commit e05b7014e536317565ce99d50069f16414755547
Author: Volker Lendecke <[email protected]>
Date: Mon Apr 28 14:48:16 2025 +0200
libsmb: Save errno across TALLOC_FREE in a few places
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
commit 69feb82144b7d6f8bb19bee4b67662950025388b
Author: Volker Lendecke <[email protected]>
Date: Fri Apr 25 17:12:30 2025 +0200
libsmb: Simplify SMBC_creat_ctx()
The same is also checked in SMBC_open_ctx()
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
commit 452dc137866d0dac555870ec7718e2676ab33f08
Author: Volker Lendecke <[email protected]>
Date: Thu Apr 3 17:14:42 2025 +0200
auth: Reduce indentation
Best reviewed with "git sh -b"
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
commit 388be77b143cb74e886f8631b78520a45aa95ba1
Author: Volker Lendecke <[email protected]>
Date: Thu Apr 3 11:41:24 2025 +0200
libsmb: Slightly simplify libsmb_xattr
We have str[n]equal() for this
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
commit e71b9dda99b1f2e671d4c6e127c1400ff625d10d
Author: Volker Lendecke <[email protected]>
Date: Fri Apr 25 16:07:20 2025 +0200
libsmb: Simplify net_share_enum_rpc() with a direct struct initialization
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
commit 737f4583ca8db452d9ef294527c48487a55db915
Author: Volker Lendecke <[email protected]>
Date: Fri Apr 25 16:06:08 2025 +0200
libsmb: Save a few lines of ZERO_STRUCTP with SMB_CALLOC_ARRAY
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
commit 38be1103a4cc90af7d3b8c631b51ed8f66a0c0e2
Author: Volker Lendecke <[email protected]>
Date: Fri Apr 25 09:38:59 2025 +0200
vfs: Fix some whitespace
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
commit 8d5f03956eb9e0ecc621a86acbc1e71389f0bdf8
Author: Volker Lendecke <[email protected]>
Date: Tue Apr 8 09:49:17 2025 +0200
smbd: Replace talloc_zero() with a struct initialization
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
commit f6695a5bb9a6b57268d2c16e45e07de0dd911316
Author: Volker Lendecke <[email protected]>
Date: Wed May 7 14:25:01 2025 +0200
libsmb: Reduce indentation in SMB_open_ctx()
The "else" branch does not fall through to the opendir-retry. Best
reviewed with "git sh -b".
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Stefan Metzmacher <[email protected]>
-----------------------------------------------------------------------
Summary of changes:
auth/credentials/credentials_ntlm.c | 156 ++++++++--------
lib/tdb_wrap/tdb_wrap.h | 8 +-
libcli/smb/smbXcli_base.c | 2 +-
source3/auth/pampass.c | 4 +-
source3/lib/interface.c | 4 +-
source3/lib/util.c | 20 +-
source3/libsmb/cli_smb2_fnum.c | 13 +-
source3/libsmb/clidfs.c | 9 +-
source3/libsmb/clireadwrite.c | 4 +-
source3/libsmb/libsmb_context.c | 17 +-
source3/libsmb/libsmb_dir.c | 198 ++++++++++----------
source3/libsmb/libsmb_file.c | 234 +++++++++++------------
source3/libsmb/libsmb_server.c | 327 ++++++++++++++++-----------------
source3/libsmb/libsmb_stat.c | 26 ++-
source3/libsmb/libsmb_xattr.c | 289 ++++++++++++++---------------
source3/modules/vfs_fake_acls.c | 14 +-
source3/modules/vfs_readahead.c | 3 +-
source3/modules/vfs_shadow_copy.c | 4 +-
source3/printing/printing_db.c | 3 +-
source3/registry/regfio.c | 3 +-
source3/smbd/fd_handle.c | 4 +-
source3/smbd/smb2_ioctl_filesys.c | 20 +-
source3/smbd/smb2_trans2.c | 7 +-
source3/utils/smbcacls.c | 2 +-
source3/winbindd/winbindd_cache.c | 4 +-
source3/winbindd/winbindd_cred_cache.c | 33 ++--
source3/winbindd/winbindd_dual.c | 2 +-
source4/rpc_server/lsa/dcesrv_lsa.c | 4 +-
28 files changed, 692 insertions(+), 722 deletions(-)
Changeset truncated at 500 lines:
diff --git a/auth/credentials/credentials_ntlm.c
b/auth/credentials/credentials_ntlm.c
index a018be14c56..002ce4bd060 100644
--- a/auth/credentials/credentials_ntlm.c
+++ b/auth/credentials/credentials_ntlm.c
@@ -353,47 +353,47 @@ _PUBLIC_ bool cli_credentials_set_utf16_password(struct
cli_credentials *cred,
const DATA_BLOB
*password_utf16,
enum credentials_obtained
obtained)
{
+ struct samr_Password *nt_hash = NULL;
+ char *password_talloc = NULL;
+ size_t password_len = 0;
+ bool ok;
+
cred->password_will_be_nt_hash = false;
if (password_utf16 == NULL) {
return cli_credentials_set_password(cred, NULL, obtained);
}
- if (obtained >= cred->password_obtained) {
- struct samr_Password *nt_hash = NULL;
- char *password_talloc = NULL;
- size_t password_len = 0;
- bool ok;
-
- nt_hash = talloc(cred, struct samr_Password);
- if (nt_hash == NULL) {
- return false;
- }
+ if (obtained < cred->password_obtained) {
+ return false;
+ }
- ok = convert_string_talloc(cred,
- CH_UTF16MUNGED, CH_UTF8,
- password_utf16->data,
- password_utf16->length,
- &password_talloc,
- &password_len);
- if (!ok) {
- TALLOC_FREE(nt_hash);
- return false;
- }
+ nt_hash = talloc(cred, struct samr_Password);
+ if (nt_hash == NULL) {
+ return false;
+ }
- ok = cli_credentials_set_password(cred, password_talloc,
obtained);
- TALLOC_FREE(password_talloc);
- if (!ok) {
- TALLOC_FREE(nt_hash);
- return false;
- }
+ ok = convert_string_talloc(cred,
+ CH_UTF16MUNGED, CH_UTF8,
+ password_utf16->data,
+ password_utf16->length,
+ &password_talloc,
+ &password_len);
+ if (!ok) {
+ TALLOC_FREE(nt_hash);
+ return false;
+ }
- mdfour(nt_hash->hash, password_utf16->data,
password_utf16->length);
- cred->nt_hash = nt_hash;
- return true;
+ ok = cli_credentials_set_password(cred, password_talloc, obtained);
+ TALLOC_FREE(password_talloc);
+ if (!ok) {
+ TALLOC_FREE(nt_hash);
+ return false;
}
- return false;
+ mdfour(nt_hash->hash, password_utf16->data, password_utf16->length);
+ cred->nt_hash = nt_hash;
+ return true;
}
/*
@@ -469,21 +469,21 @@ _PUBLIC_ bool cli_credentials_set_nt_hash(struct
cli_credentials *cred,
{
cred->password_will_be_nt_hash = false;
- if (obtained >= cred->password_obtained) {
- cli_credentials_set_password(cred, NULL, obtained);
- if (nt_hash) {
- cred->nt_hash = talloc(cred, struct samr_Password);
- if (cred->nt_hash == NULL) {
- return false;
- }
- *cred->nt_hash = *nt_hash;
- } else {
- cred->nt_hash = NULL;
- }
- return true;
+ if (obtained < cred->password_obtained) {
+ return false;
}
- return false;
+ cli_credentials_set_password(cred, NULL, obtained);
+ if (nt_hash) {
+ cred->nt_hash = talloc(cred, struct samr_Password);
+ if (cred->nt_hash == NULL) {
+ return false;
+ }
+ *cred->nt_hash = *nt_hash;
+ } else {
+ cred->nt_hash = NULL;
+ }
+ return true;
}
_PUBLIC_ bool cli_credentials_set_old_nt_hash(struct cli_credentials *cred,
@@ -510,51 +510,51 @@ _PUBLIC_ bool cli_credentials_set_ntlm_response(struct
cli_credentials *cred,
const DATA_BLOB *nt_session_key,
enum credentials_obtained
obtained)
{
- if (obtained >= cred->password_obtained) {
- cli_credentials_set_password(cred, NULL, obtained);
-
- data_blob_clear_free(&cred->lm_response);
- data_blob_clear_free(&cred->lm_session_key);
- data_blob_clear_free(&cred->nt_response);
- data_blob_clear_free(&cred->nt_session_key);
-
- if (lm_response != NULL && lm_response->length != 0) {
- cred->lm_response = data_blob_talloc(cred,
- lm_response->data,
- lm_response->length);
- if (cred->lm_response.data == NULL) {
- return false;
- }
+ if (obtained < cred->password_obtained) {
+ return false;
+ }
+
+ cli_credentials_set_password(cred, NULL, obtained);
+
+ data_blob_clear_free(&cred->lm_response);
+ data_blob_clear_free(&cred->lm_session_key);
+ data_blob_clear_free(&cred->nt_response);
+ data_blob_clear_free(&cred->nt_session_key);
+
+ if (lm_response != NULL && lm_response->length != 0) {
+ cred->lm_response = data_blob_talloc(cred,
+ lm_response->data,
+ lm_response->length);
+ if (cred->lm_response.data == NULL) {
+ return false;
}
- if (lm_session_key != NULL && lm_session_key->length != 0) {
- cred->lm_session_key = data_blob_talloc(cred,
+ }
+ if (lm_session_key != NULL && lm_session_key->length != 0) {
+ cred->lm_session_key = data_blob_talloc(cred,
lm_session_key->data,
lm_session_key->length);
- if (cred->lm_session_key.data == NULL) {
- return false;
- }
+ if (cred->lm_session_key.data == NULL) {
+ return false;
}
+ }
- if (nt_response != NULL && nt_response->length != 0) {
- cred->nt_response = data_blob_talloc(cred,
- nt_response->data,
- nt_response->length);
- if (cred->nt_response.data == NULL) {
- return false;
- }
+ if (nt_response != NULL && nt_response->length != 0) {
+ cred->nt_response = data_blob_talloc(cred,
+ nt_response->data,
+ nt_response->length);
+ if (cred->nt_response.data == NULL) {
+ return false;
}
- if (nt_session_key != NULL && nt_session_key->length != 0) {
- cred->nt_session_key = data_blob_talloc(cred,
+ }
+ if (nt_session_key != NULL && nt_session_key->length != 0) {
+ cred->nt_session_key = data_blob_talloc(cred,
nt_session_key->data,
nt_session_key->length);
- if (cred->nt_session_key.data == NULL) {
- return false;
- }
+ if (cred->nt_session_key.data == NULL) {
+ return false;
}
-
- return true;
}
- return false;
+ return true;
}
diff --git a/lib/tdb_wrap/tdb_wrap.h b/lib/tdb_wrap/tdb_wrap.h
index de7e332bdb9..877d10a8e1c 100644
--- a/lib/tdb_wrap/tdb_wrap.h
+++ b/lib/tdb_wrap/tdb_wrap.h
@@ -1,20 +1,20 @@
-/*
+/*
Unix SMB/CIFS implementation.
database wrap headers
Copyright (C) Andrew Tridgell 2004
-
+
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
diff --git a/libcli/smb/smbXcli_base.c b/libcli/smb/smbXcli_base.c
index eecd73d0678..d1e36a3fa1e 100644
--- a/libcli/smb/smbXcli_base.c
+++ b/libcli/smb/smbXcli_base.c
@@ -4236,7 +4236,7 @@ NTSTATUS smb2cli_req_get_sent_iov(struct tevent_req *req,
static const struct {
enum protocol_types proto;
- const char *smb1_name;
+ const char smb1_name[24]; /* strlen("MICROSOFT NETWORKS 1.03") == 23 */
} smb1cli_prots[] = {
{PROTOCOL_CORE, "PC NETWORK PROGRAM 1.0"},
{PROTOCOL_COREPLUS, "MICROSOFT NETWORKS 1.03"},
diff --git a/source3/auth/pampass.c b/source3/auth/pampass.c
index 0be7f9f9d1f..03d2fe69286 100644
--- a/source3/auth/pampass.c
+++ b/source3/auth/pampass.c
@@ -236,15 +236,13 @@ static struct chat_struct *make_pw_chat(const char *p)
TALLOC_CTX *frame = talloc_stackframe();
while (1) {
- t = SMB_MALLOC_P(struct chat_struct);
+ t = SMB_CALLOC_ARRAY(struct chat_struct, 1);
if (!t) {
DEBUG(0,("make_pw_chat: malloc failed!\n"));
TALLOC_FREE(frame);
return NULL;
}
- ZERO_STRUCTP(t);
-
DLIST_ADD_END(list, t);
if (!next_token_talloc(frame, &p, &prompt, NULL)) {
diff --git a/source3/lib/interface.c b/source3/lib/interface.c
index 5f351999e41..4fbc17cccb7 100644
--- a/source3/lib/interface.c
+++ b/source3/lib/interface.c
@@ -319,13 +319,11 @@ static void add_interface(const struct iface_struct *ifs)
return;
}
- iface = SMB_MALLOC_P(struct interface);
+ iface = SMB_CALLOC_ARRAY(struct interface, 1);
if (!iface) {
return;
}
- ZERO_STRUCTPN(iface);
-
iface->name = SMB_STRDUP(ifs->name);
if (!iface->name) {
SAFE_FREE(iface);
diff --git a/source3/lib/util.c b/source3/lib/util.c
index 8f9b2ec424a..8f6b8634b21 100644
--- a/source3/lib/util.c
+++ b/source3/lib/util.c
@@ -1604,10 +1604,10 @@ bool map_open_params_to_ntcreate(const char
*smb_base_fname,
uint32_t create_options = FILE_NON_DIRECTORY_FILE;
uint32_t private_flags = 0;
- DEBUG(10,("map_open_params_to_ntcreate: fname = %s, deny_mode = 0x%x, "
- "open_func = 0x%x\n",
- smb_base_fname, (unsigned int)deny_mode,
- (unsigned int)open_func ));
+ DBG_DEBUG("fname = %s, deny_mode = 0x%x, open_func = 0x%x\n",
+ smb_base_fname,
+ (unsigned int)deny_mode,
+ (unsigned int)open_func);
/* Create the NT compatible access_mask. */
switch (GET_OPENX_MODE(deny_mode)) {
@@ -1623,8 +1623,8 @@ bool map_open_params_to_ntcreate(const char
*smb_base_fname,
access_mask = FILE_GENERIC_READ|FILE_GENERIC_WRITE;
break;
default:
- DEBUG(10,("map_open_params_to_ntcreate: bad open mode =
0x%x\n",
- (unsigned int)GET_OPENX_MODE(deny_mode)));
+ DBG_DEBUG("bad open mode = 0x%x\n",
+ (unsigned int)GET_OPENX_MODE(deny_mode));
return False;
}
@@ -1656,8 +1656,8 @@ bool map_open_params_to_ntcreate(const char
*smb_base_fname,
create_disposition = FILE_CREATE;
break;
}
- DEBUG(10,("map_open_params_to_ntcreate: bad "
- "open_func 0x%x\n", (unsigned int)open_func));
+ DBG_DEBUG("bad open_func 0x%x\n",
+ (unsigned int)open_func);
return False;
}
@@ -1703,7 +1703,7 @@ bool map_open_params_to_ntcreate(const char
*smb_base_fname,
return False;
}
- DEBUG(10,("map_open_params_to_ntcreate: file %s, access_mask = 0x%x, "
+ DBG_DEBUG("file %s, access_mask = 0x%x, "
"share_mode = 0x%x, create_disposition = 0x%x, "
"create_options = 0x%x private_flags = 0x%x\n",
smb_base_fname,
@@ -1711,7 +1711,7 @@ bool map_open_params_to_ntcreate(const char
*smb_base_fname,
(unsigned int)share_mode,
(unsigned int)create_disposition,
(unsigned int)create_options,
- (unsigned int)private_flags));
+ (unsigned int)private_flags);
if (paccess_mask) {
*paccess_mask = access_mask;
diff --git a/source3/libsmb/cli_smb2_fnum.c b/source3/libsmb/cli_smb2_fnum.c
index 155bc6ae353..dcd6aa50c58 100644
--- a/source3/libsmb/cli_smb2_fnum.c
+++ b/source3/libsmb/cli_smb2_fnum.c
@@ -1544,19 +1544,8 @@ struct tevent_req *cli_smb2_list_send(
/* The mode MUST be 0 when opening an existing file/dir, and
* will be ignored by the server.
*/
- uint8_t linear_mode[4] = { 0 };
- DATA_BLOB blob = { .data=linear_mode,
- .length=sizeof(linear_mode) };
-
- in_cblobs = talloc_zero(mem_ctx, struct smb2_create_blobs);
- if (in_cblobs == NULL) {
- return NULL;
- }
-
- status = smb2_create_blob_add(in_cblobs, in_cblobs,
- SMB2_CREATE_TAG_POSIX, blob);
+ status = make_smb2_posix_create_ctx(mem_ctx, &in_cblobs, 0);
if (tevent_req_nterror(req, status)) {
- tevent_req_nterror(req, status);
return tevent_req_post(req, ev);
}
}
diff --git a/source3/libsmb/clidfs.c b/source3/libsmb/clidfs.c
index 69d49c243f8..cafb1b421a6 100644
--- a/source3/libsmb/clidfs.c
+++ b/source3/libsmb/clidfs.c
@@ -150,7 +150,6 @@ static NTSTATUS do_connect(TALLOC_CTX *ctx,
enum smb_encryption_setting encryption_state =
cli_credentials_get_smb_encryption(creds);
struct smb2_negotiate_contexts *in_contexts = NULL;
- struct smb2_negotiate_contexts *out_contexts = NULL;
if (encryption_state >= SMB_ENCRYPTION_DESIRED) {
signing_state = SMB_SIGNING_REQUIRED;
@@ -226,8 +225,8 @@ static NTSTATUS do_connect(TALLOC_CTX *ctx,
lp_client_min_protocol(),
lp_client_max_protocol(),
in_contexts,
- ctx,
- &out_contexts);
+ NULL,
+ NULL);
TALLOC_FREE(in_contexts);
if (NT_STATUS_EQUAL(status, NT_STATUS_IO_TIMEOUT)) {
@@ -236,7 +235,9 @@ static NTSTATUS do_connect(TALLOC_CTX *ctx,
smbXcli_conn_remote_name(c->conn));
cli_shutdown(c);
return status;
- } else if (!NT_STATUS_IS_OK(status)) {
+ }
+
+ if (!NT_STATUS_IS_OK(status)) {
d_printf("Protocol negotiation to server %s (for a protocol
between %s and %s) failed: %s\n",
smbXcli_conn_remote_name(c->conn),
lpcfg_get_smb_protocol(lp_client_min_protocol()),
diff --git a/source3/libsmb/clireadwrite.c b/source3/libsmb/clireadwrite.c
index 16419052b74..0dfcd479cc0 100644
--- a/source3/libsmb/clireadwrite.c
+++ b/source3/libsmb/clireadwrite.c
@@ -53,7 +53,9 @@ static size_t cli_read_max_bufsize(struct cli_state *cli)
}
return useable_space;
- } else if (smb1cli_conn_capabilities(cli->conn) & CAP_LARGE_READX) {
+ }
+
+ if (smb1cli_conn_capabilities(cli->conn) & CAP_LARGE_READX) {
/*
* Note: CAP_LARGE_READX also works with signing
*/
diff --git a/source3/libsmb/libsmb_context.c b/source3/libsmb/libsmb_context.c
index 97a4430fd6a..55847f6b970 100644
--- a/source3/libsmb/libsmb_context.c
+++ b/source3/libsmb/libsmb_context.c
@@ -149,16 +149,14 @@ smbc_new_context(void)
* All newly added context fields should be placed in
* SMBC_internal_data, not directly in SMBCCTX.
*/
- context = SMB_MALLOC_P(SMBCCTX);
+ context = SMB_CALLOC_ARRAY(SMBCCTX, 1);
if (!context) {
TALLOC_FREE(frame);
errno = ENOMEM;
return NULL;
}
- ZERO_STRUCTP(context);
-
- context->internal = SMB_MALLOC_P(struct SMBC_internal_data);
+ context->internal = SMB_CALLOC_ARRAY(struct SMBC_internal_data, 1);
if (!context->internal) {
TALLOC_FREE(frame);
SAFE_FREE(context);
@@ -166,9 +164,6 @@ smbc_new_context(void)
return NULL;
}
- /* Initialize the context and establish reasonable defaults */
- ZERO_STRUCTP(context->internal);
-
context->internal->lp_ctx = loadparm_init_s3(NULL,
loadparm_s3_helpers());
if (context->internal->lp_ctx == NULL) {
@@ -186,15 +181,15 @@ smbc_new_context(void)
smbc_setOptionFullTimeNames(context, False);
smbc_setOptionOpenShareMode(context, SMBC_SHAREMODE_DENY_NONE);
smbc_setOptionSmbEncryptionLevel(context, SMBC_ENCRYPTLEVEL_DEFAULT);
- smbc_setOptionUseCCache(context, True);
+ {
+ bool no_ccache = (getenv("LIBSMBCLIENT_NO_CCACHE") == NULL);
+ smbc_setOptionUseCCache(context, !no_ccache);
+ }
smbc_setOptionCaseSensitive(context, False);
smbc_setOptionBrowseMaxLmbCount(context, 3); /* # LMBs to query */
smbc_setOptionUrlEncodeReaddirEntries(context, False);
smbc_setOptionOneSharePerServer(context, False);
smbc_setOptionPosixExtensions(context, false);
- if (getenv("LIBSMBCLIENT_NO_CCACHE") != NULL) {
- smbc_setOptionUseCCache(context, false);
- }
smbc_setFunctionAuthData(context, SMBC_get_auth_data);
smbc_setFunctionCheckServer(context, SMBC_check_server);
diff --git a/source3/libsmb/libsmb_dir.c b/source3/libsmb/libsmb_dir.c
index 1bcf5f1b475..1d2743df56b 100644
--- a/source3/libsmb/libsmb_dir.c
+++ b/source3/libsmb/libsmb_dir.c
@@ -111,30 +111,26 @@ add_dirent(SMBCFILE *dir,
if (dir->dir_list == NULL) {
- dir->dir_list = SMB_MALLOC_P(struct smbc_dir_list);
+ dir->dir_list = SMB_CALLOC_ARRAY(struct smbc_dir_list, 1);
if (!dir->dir_list) {
SAFE_FREE(dirent);
dir->dir_error = ENOMEM;
return -1;
-
}
- ZERO_STRUCTP(dir->dir_list);
dir->dir_end = dir->dir_next = dir->dir_list;
}
else {
- dir->dir_end->next = SMB_MALLOC_P(struct smbc_dir_list);
+ dir->dir_end->next = SMB_CALLOC_ARRAY(struct smbc_dir_list, 1);
if (!dir->dir_end->next) {
--
Samba Shared Repository