[SCM] Samba Shared Repository - branch master updated
Andrew Bartlett
abartlet at samba.org
Wed May 22 05:27:01 UTC 2024
The branch, master has been updated
via e0d9e285921 selftest/Samba4: make use of get_cmd_env_vars() to setup all relevant env variables
via 83030780285 s4:dsdb/repl: let drepl_out_helpers.c always go via dreplsrv_out_drsuapi_send()
via 5abeb724d74 s3:smbcacls: fix ace_compare
via c7299556845 lib/fuzzing: fuzz_stable_sort_r_unstable tries to catch overrun
via 99d26221311 spelling: comments: synthax -> syntax
via 64003d86778 spelling: fix spelling of privilege.ldb in comments
via 94b8deffa2d libsmb: Remove file_info->[ug]id
via f2b692fb458 smbd: Simplify request_timed_out
via 0fe1a6e9dac lib: Use struct initialization
via c443d377a0b libsmb: Remove a talloc_strdup()
via 335877ec04c libsmb: Remove an unneeded NULL check
via 5384244f760 libsmb: Remove unused cli_list_trans()
via e79698c4be6 libsmb: Use SMB2_0_INFO_ constants instead of magic numbers
via 7ecf3b0e25c libsmb: Execute a "TODO", remove IVAL2_TO_SMB_BIG_UINT
via 27ac0beaa01 lib: Fix a typo
via 0013105eb55 libsmb: Avoid pointless intermediate variables
via 06a322a17f8 libsmb: Use the direct FSCC_ infolevels
via dd1dd65026e smbd: Remove an unused function parameter
via f69fe79189e smbd: Remove an unnecessary else
via ff43158c528 smbd: Remove a no-op call to init_strict_lock_struct
via 661532c46c0 smbd: Remove an unnecessary else branch
via 6f0628c8485 smbd: Return correct error for fallback sendfile
via 9115836687f smbd: Use direct struct initialization
via 979f3e23990 smbd: Remove the ZERO_ZERO define
via 3542f938c53 smbd: Fix whitespace
via a8b9a8358e2 smbd: Move a DBG_DEBUG up
via 477dec3770b smbd: Modernize a few DEBUGs
from bdfbf25255e test_kinit_export_keytab: reset pw of the test account and test --only-current-keys
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit e0d9e285921ce841e4872aadc6e4750b2ad48973
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue May 14 16:55:58 2024 +0200
selftest/Samba4: make use of get_cmd_env_vars() to setup all relevant env variables
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Autobuild-User(master): Andrew Bartlett <abartlet at samba.org>
Autobuild-Date(master): Wed May 22 05:26:48 UTC 2024 on atb-devel-224
commit 83030780285290ecf64b57c1744634379b68ea01
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Feb 6 21:09:58 2024 +0100
s4:dsdb/repl: let drepl_out_helpers.c always go via dreplsrv_out_drsuapi_send()
I have customer backtraces showing that 'drsuapi' is NULL in
dreplsrv_op_pull_source_get_changes_trigger() called from the
WERR_DS_DRA_SCHEMA_MISMATCH retry case of
dreplsrv_op_pull_source_apply_changes_trigger(), while 'drsuapi' was
a valid pointer there.
From reading the code I don't understand how this can happen,
but it does very often on RODCs. And this fix prevents the problem.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15573
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit 5abeb724d74af2b861f2ee6bc27762bb5bf07bca
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date: Tue May 21 20:20:36 2024 +1200
s3:smbcacls: fix ace_compare
We got this wrong in commit 31101a9fa1503be9d8137e42466f57d85136a156.
In fact, we should probably not reorder the inherited ACLs, but that
is for another patch series.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15625
Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit c7299556845a764c7ca6195ede3f273bc20ebfbb
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date: Tue May 14 14:58:51 2024 +1200
lib/fuzzing: fuzz_stable_sort_r_unstable tries to catch overrun
Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit 99d2622131161d7d597f5b0a9e2b509817483217
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date: Wed Apr 10 21:25:12 2024 +1200
spelling: comments: synthax -> syntax
Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit 64003d867786231c130b13f6d84f9d248631d3be
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date: Wed Apr 10 21:22:57 2024 +1200
spelling: fix spelling of privilege.ldb in comments
'privileges' is a word, but the ldb referred to is privilege.ldb
Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit 94b8deffa2d8af39309a94d94f4c0c97ea85265b
Author: Volker Lendecke <vl at samba.org>
Date: Tue May 21 11:21:03 2024 +0200
libsmb: Remove file_info->[ug]id
These fields were never assigned
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit f2b692fb458f0253adcb8b7ae2b9eb99346559fb
Author: Volker Lendecke <vl at samba.org>
Date: Tue May 21 08:38:19 2024 +0200
smbd: Simplify request_timed_out
timeval_expired does what we need here
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit 0fe1a6e9dac928dec9875981b9d299e5e7cc0496
Author: Volker Lendecke <vl at samba.org>
Date: Tue May 21 08:31:45 2024 +0200
lib: Use struct initialization
Make sure everything is initialized
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit c443d377a0b61d65996374e336da69a4ec800f43
Author: Volker Lendecke <vl at samba.org>
Date: Mon May 20 15:19:06 2024 +0200
libsmb: Remove a talloc_strdup()
We're directly overwriting state->mask without actually using it for
anything real.
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit 335877ec04c759b49383c2e3809023a82510abac
Author: Volker Lendecke <vl at samba.org>
Date: Mon May 20 10:38:47 2024 +0200
libsmb: Remove an unneeded NULL check
We have dereferenced p_last_name_raw before in the call to
data_blob_free, our only caller does give us a pointer
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit 5384244f760905ea2201d9c15be62d19969480ef
Author: Volker Lendecke <vl at samba.org>
Date: Mon May 20 10:06:46 2024 +0200
libsmb: Remove unused cli_list_trans()
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit e79698c4be6a092ec2fb32037040201cd583aeee
Author: Volker Lendecke <vl at samba.org>
Date: Fri May 17 12:32:20 2024 +0200
libsmb: Use SMB2_0_INFO_ constants instead of magic numbers
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit 7ecf3b0e25c5607bcae50a42ee33164ffe118868
Author: Volker Lendecke <vl at samba.org>
Date: Fri May 17 16:05:19 2024 +0200
libsmb: Execute a "TODO", remove IVAL2_TO_SMB_BIG_UINT
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit 27ac0beaa0140d55fcf01bd123904414e5071bfd
Author: Volker Lendecke <vl at samba.org>
Date: Fri May 17 16:07:44 2024 +0200
lib: Fix a typo
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit 0013105eb55a9f0771c1980f27ef67d6cc2fd78a
Author: Volker Lendecke <vl at samba.org>
Date: Fri May 17 12:28:53 2024 +0200
libsmb: Avoid pointless intermediate variables
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit 06a322a17f8c170caf3e778125bcf66325eb58f4
Author: Volker Lendecke <vl at samba.org>
Date: Fri May 17 12:23:19 2024 +0200
libsmb: Use the direct FSCC_ infolevels
Could have done this as part of 1776918c5bf already.
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit dd1dd65026e7e658ec753d651f50ef2c4920cfc6
Author: Volker Lendecke <vl at samba.org>
Date: Thu May 16 12:59:28 2024 +0200
smbd: Remove an unused function parameter
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit f69fe79189e42a1336a974ae7630c7be6543f645
Author: Volker Lendecke <vl at samba.org>
Date: Thu May 16 12:49:17 2024 +0200
smbd: Remove an unnecessary else
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit ff43158c5286f664f4eefd0b8e135960aa2d1109
Author: Volker Lendecke <vl at samba.org>
Date: Thu May 16 12:05:38 2024 +0200
smbd: Remove a no-op call to init_strict_lock_struct
"lock" is a variable on the stack, and initializing it is all that
init_strict_lock_struct does. We've done the corresponding checks
already in smbd_smb2_read_send
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit 661532c46c04bb4f80865874749b1e75671885d8
Author: Volker Lendecke <vl at samba.org>
Date: Thu May 16 12:04:23 2024 +0200
smbd: Remove an unnecessary else branch
We return in the if branch, review with "git show -w"
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit 6f0628c8485c6c258ea8733a9cfc6ca0bb89e48b
Author: Volker Lendecke <vl at samba.org>
Date: Tue May 21 10:12:22 2024 +0200
smbd: Return correct error for fallback sendfile
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit 9115836687f7980d4a1a0cea38262a7956e354fe
Author: Volker Lendecke <vl at samba.org>
Date: Thu May 16 12:03:46 2024 +0200
smbd: Use direct struct initialization
Make sure all fields in the target struct are initialized
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit 979f3e239906b2a6b5d648bbed6241f327fd7075
Author: Volker Lendecke <vl at samba.org>
Date: Wed May 15 17:26:27 2024 +0200
smbd: Remove the ZERO_ZERO define
This code went in with e8e98c9ea06 in 2001 without any mention in the
commit message.
I don't remember all details, but there was some discussion around the
offset=0,length=0 lock being somehow special. These days [MS-FSA]
defines the required behaviour (don't conflict) and we implement that
behaviour.
If someone still remembers why this code is in and thinks it's
worthwhile, that's what version control is for.
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit 3542f938c5368f41682b3503bbf3a4dc07ef6fd9
Author: Volker Lendecke <vl at samba.org>
Date: Wed May 15 17:14:55 2024 +0200
smbd: Fix whitespace
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit a8b9a8358e22cd8daae19cf864b67eb9dead0a7e
Author: Volker Lendecke <vl at samba.org>
Date: Thu May 16 15:27:05 2024 +0200
smbd: Move a DBG_DEBUG up
Make it line up with the other branches
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit 477dec3770bbb30616b5e58f397f7541dc520abb
Author: Volker Lendecke <vl at samba.org>
Date: Wed May 15 17:10:24 2024 +0200
smbd: Modernize a few DEBUGs
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
-----------------------------------------------------------------------
Summary of changes:
examples/fuse/clifuse.c | 2 +-
lib/fuzzing/fuzz_stable_sort_r_unstable.c | 13 ++-
lib/util/time.c | 4 +-
librpc/idl/security.idl | 2 +-
selftest/target/Samba4.pm | 13 ++-
source3/include/client.h | 2 -
source3/include/includes.h | 1 -
source3/lib/util_str.c | 2 +-
source3/libsmb/cli_smb2_fnum.c | 139 +++++++++++++--------------
source3/libsmb/clifile.c | 12 +--
source3/libsmb/clilist.c | 66 ++-----------
source3/libsmb/clirap.c | 12 +--
source3/libsmb/libsmb_dir.c | 2 -
source3/libsmb/proto.h | 7 --
source3/locking/brlock.c | 88 -----------------
source3/locking/locking.c | 18 ++--
source3/locking/posix.c | 51 +++++-----
source3/smbd/open.c | 6 +-
source3/smbd/smb1_reply.c | 23 ++---
source3/smbd/smb2_read.c | 80 +++++++--------
source3/smbd/smb2_trans2.c | 42 ++++----
source3/utils/smbcacls.c | 2 +-
source4/dsdb/repl/drepl_out_helpers.c | 26 +++--
source4/scripting/bin/samba_upgradeprovision | 6 +-
24 files changed, 235 insertions(+), 384 deletions(-)
Changeset truncated at 500 lines:
diff --git a/examples/fuse/clifuse.c b/examples/fuse/clifuse.c
index 59af1602980..dd4aa6d3838 100644
--- a/examples/fuse/clifuse.c
+++ b/examples/fuse/clifuse.c
@@ -506,7 +506,7 @@ static NTSTATUS parse_finfo_id_both_directory_info(uint8_t *dir_data,
finfo->atime_ts = interpret_long_date(BVAL(dir_data, 16));
finfo->mtime_ts = interpret_long_date(BVAL(dir_data, 24));
finfo->ctime_ts = interpret_long_date(BVAL(dir_data, 32));
- finfo->size = IVAL2_TO_SMB_BIG_UINT(dir_data + 40, 0);
+ finfo->size = BVAL(dir_data + 40, 0);
finfo->attr = IVAL(dir_data + 56, 0);
namelen = IVAL(dir_data + 60,0);
if (namelen > (dir_data_length - 104)) {
diff --git a/lib/fuzzing/fuzz_stable_sort_r_unstable.c b/lib/fuzzing/fuzz_stable_sort_r_unstable.c
index 45abc6a535c..68174ee460e 100644
--- a/lib/fuzzing/fuzz_stable_sort_r_unstable.c
+++ b/lib/fuzzing/fuzz_stable_sort_r_unstable.c
@@ -85,9 +85,18 @@ int LLVMFuzzerTestOneInput(const uint8_t *buf, size_t len)
len--;
memcpy(buf2, buf, len);
-
- stable_sort_r(buf2, aux, len, 1,
+ stable_sort_r(buf2, aux, len - 1, 1,
(samba_compare_with_context_fn_t)cmp_int8,
&context);
+
+ /*
+ * We sorted all but the last element, which should remain unchanged.
+ * buf2[-1] should also be unchanged, but the sanitizers will catch
+ * that one.
+ */
+ if (buf2[len - 1] != buf[len - 1]) {
+ abort();
+ }
+
return 0;
}
diff --git a/lib/util/time.c b/lib/util/time.c
index d2bf2454e31..7ed8fb00447 100644
--- a/lib/util/time.c
+++ b/lib/util/time.c
@@ -102,9 +102,7 @@ time_t convert_timespec_to_time_t(struct timespec ts)
struct timespec convert_time_t_to_timespec(time_t t)
{
- struct timespec ts;
- ts.tv_sec = t;
- ts.tv_nsec = 0;
+ struct timespec ts = {.tv_sec = t};
return ts;
}
diff --git a/librpc/idl/security.idl b/librpc/idl/security.idl
index d5e65032652..edeed285943 100644
--- a/librpc/idl/security.idl
+++ b/librpc/idl/security.idl
@@ -490,7 +490,7 @@ interface security
/* Bitmap of privilege values for internal use only. We need
* our own bitmap here as privileges.tdb records these values
- * as a bitmap (privileges.ldb uses the string forms).
+ * as a bitmap (privilege.ldb uses the string forms).
*/
typedef [bitmap64bit] bitmap {
SEC_PRIV_MACHINE_ACCOUNT_BIT = 0x00000010,
diff --git a/selftest/target/Samba4.pm b/selftest/target/Samba4.pm
index f52d6740c6e..4b289fb27ae 100755
--- a/selftest/target/Samba4.pm
+++ b/selftest/target/Samba4.pm
@@ -2604,9 +2604,8 @@ sub setup_fl2008r2dc
$trustpw .= "$env->{SOCKET_WRAPPER_DEFAULT_IFACE}";
$trustpw .= "$nt4_dc_vars->{SOCKET_WRAPPER_DEFAULT_IFACE}";
- my $cmd = "";
- $cmd .= "SOCKET_WRAPPER_DEFAULT_IFACE=\"$env->{SOCKET_WRAPPER_DEFAULT_IFACE}\" ";
- $cmd .= "SELFTEST_WINBINDD_SOCKET_DIR=\"$env->{SELFTEST_WINBINDD_SOCKET_DIR}\" ";
+ my $cmd_env = $self->get_cmd_env_vars($env);
+ my $cmd = $cmd_env;
$cmd .= "$net rpc trust create ";
$cmd .= "otherdomainsid=$nt4_dc_vars->{SAMSID} ";
$cmd .= "otherdomain=$nt4_dc_vars->{DOMAIN} ";
@@ -2620,9 +2619,8 @@ sub setup_fl2008r2dc
return undef;
}
- $cmd = "";
- $cmd .= "SOCKET_WRAPPER_DEFAULT_IFACE=\"$nt4_dc_vars->{SOCKET_WRAPPER_DEFAULT_IFACE}\" ";
- $cmd .= "SELFTEST_WINBINDD_SOCKET_DIR=\"$nt4_dc_vars->{SELFTEST_WINBINDD_SOCKET_DIR}\" ";
+ my $nt4_cmd_env = $self->get_cmd_env_vars($nt4_dc_vars);
+ $cmd = $nt4_cmd_env;
$cmd .= "$net rpc trustdom establish $env->{DOMAIN} -U/%$trustpw $nt4_dc_vars->{CONFIGURATION}";
if (system($cmd) != 0) {
@@ -2631,7 +2629,8 @@ sub setup_fl2008r2dc
}
# Reload trusts
- $cmd = "$smbcontrol winbindd reload-config $nt4_dc_vars->{CONFIGURATION}";
+ $cmd = $nt4_cmd_env;
+ $cmd .= "$smbcontrol winbindd reload-config $nt4_dc_vars->{CONFIGURATION}";
if (system($cmd) != 0) {
warn("add failed\n$cmd");
diff --git a/source3/include/client.h b/source3/include/client.h
index e1a394af4b5..3bd441279d5 100644
--- a/source3/include/client.h
+++ b/source3/include/client.h
@@ -99,8 +99,6 @@ struct file_info {
uint64_t size;
uint64_t allocated_size;
uint32_t attr;
- uid_t uid;
- gid_t gid;
uint64_t ino;
/* these times are normally kept in GMT */
struct timespec btime_ts; /* Birth-time if supported by system */
diff --git a/source3/include/includes.h b/source3/include/includes.h
index b33f86a9565..b80683d4601 100644
--- a/source3/include/includes.h
+++ b/source3/include/includes.h
@@ -165,7 +165,6 @@ typedef sig_atomic_t volatile SIG_ATOMIC_T;
/* TODO: remove this macros */
#define SBIG_UINT(p, ofs, v) SBVAL(p, ofs, v)
#define BIG_UINT(p, ofs) BVAL(p, ofs)
-#define IVAL2_TO_SMB_BIG_UINT(p, ofs) BVAL(p, ofs)
/*
* Set the define that tells us if we can do 64 bit
diff --git a/source3/lib/util_str.c b/source3/lib/util_str.c
index 3ac1e554246..1591420587e 100644
--- a/source3/lib/util_str.c
+++ b/source3/lib/util_str.c
@@ -124,7 +124,7 @@ bool trim_char(char *s,char cfront,char cback)
while ((ep >= fp) && (*ep == cback)) {
ret = true;
if ((ep > fp) && (((unsigned char)ep[-1]) & 0x80)) {
- /* Could be mb... bail back to tim_string. */
+ /* Could be mb... bail back to trim_string. */
char fs[2], bs[2];
if (cfront) {
fs[0] = cfront;
diff --git a/source3/libsmb/cli_smb2_fnum.c b/source3/libsmb/cli_smb2_fnum.c
index cea27444b97..7f44435963f 100644
--- a/source3/libsmb/cli_smb2_fnum.c
+++ b/source3/libsmb/cli_smb2_fnum.c
@@ -710,8 +710,6 @@ struct tevent_req *cli_smb2_delete_on_close_send(TALLOC_CTX *mem_ctx,
struct tevent_req *req = NULL;
struct cli_smb2_delete_on_close_state *state = NULL;
struct tevent_req *subreq = NULL;
- uint8_t in_info_type;
- uint8_t in_file_info_class;
req = tevent_req_create(mem_ctx, &state,
struct cli_smb2_delete_on_close_state);
@@ -720,26 +718,19 @@ struct tevent_req *cli_smb2_delete_on_close_send(TALLOC_CTX *mem_ctx,
}
state->cli = cli;
- /*
- * setinfo on the handle with info_type SMB2_SETINFO_FILE (1),
- * level 13 (SMB_FILE_DISPOSITION_INFORMATION - 1000).
- */
- in_info_type = 1;
- in_file_info_class = SMB_FILE_DISPOSITION_INFORMATION - 1000;
/* Setup data array. */
SCVAL(&state->data[0], 0, flag ? 1 : 0);
state->inbuf.data = &state->data[0];
state->inbuf.length = 1;
- subreq = cli_smb2_set_info_fnum_send(
- state,
- ev,
- cli,
- fnum,
- in_info_type,
- in_file_info_class,
- &state->inbuf,
- 0);
+ subreq = cli_smb2_set_info_fnum_send(state,
+ ev,
+ cli,
+ fnum,
+ SMB2_0_INFO_FILE,
+ FSCC_FILE_DISPOSITION_INFORMATION,
+ &state->inbuf,
+ 0);
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
}
@@ -1344,10 +1335,10 @@ static NTSTATUS parse_finfo_id_both_directory_info(const uint8_t *dir_data,
finfo->atime_ts = interpret_long_date(BVAL(dir_data, 16));
finfo->mtime_ts = interpret_long_date(BVAL(dir_data, 24));
finfo->ctime_ts = interpret_long_date(BVAL(dir_data, 32));
- finfo->size = IVAL2_TO_SMB_BIG_UINT(dir_data + 40, 0);
- finfo->allocated_size = IVAL2_TO_SMB_BIG_UINT(dir_data + 48, 0);
+ finfo->size = BVAL(dir_data + 40, 0);
+ finfo->allocated_size = BVAL(dir_data + 48, 0);
finfo->attr = IVAL(dir_data + 56, 0);
- finfo->ino = IVAL2_TO_SMB_BIG_UINT(dir_data + 96, 0);
+ finfo->ino = BVAL(dir_data + 96, 0);
namelen = IVAL(dir_data + 60,0);
if (namelen > (dir_data_length - 104)) {
return NT_STATUS_INFO_LENGTH_MISMATCH;
@@ -2437,12 +2428,12 @@ NTSTATUS cli_smb2_setatr(struct cli_state *cli,
SBVAL(inbuf.data, 8, 0xFFFFFFFFFFFFFFFFLL);
SBVAL(inbuf.data, 24, 0xFFFFFFFFFFFFFFFFLL);
- return cli_smb2_setpathinfo(cli,
- name,
- 1, /* in_info_type */
- /* in_file_info_class */
- SMB_FILE_BASIC_INFORMATION - 1000,
- &inbuf);
+ return cli_smb2_setpathinfo(
+ cli,
+ name,
+ SMB2_0_INFO_FILE, /* in_info_type */
+ FSCC_FILE_BASIC_INFORMATION, /* in_file_info_class */
+ &inbuf);
}
@@ -2486,13 +2477,13 @@ NTSTATUS cli_smb2_setattrE(struct cli_state *cli,
put_long_date((char *)inbuf.data + 16, write_time);
}
- status = cli_smb2_set_info_fnum(cli,
- fnum,
- 1, /* in_info_type */
- SMB_FILE_BASIC_INFORMATION -
- 1000, /* in_file_info_class */
- &inbuf, /* in_input_buffer */
- 0); /* in_additional_info */
+ status = cli_smb2_set_info_fnum(
+ cli,
+ fnum,
+ SMB2_0_INFO_FILE, /* in_info_type */
+ FSCC_FILE_BASIC_INFORMATION, /* in_file_info_class */
+ &inbuf, /* in_input_buffer */
+ 0); /* in_additional_info */
cli->raw_status = status;
return status;
}
@@ -2647,12 +2638,12 @@ NTSTATUS cli_smb2_get_fs_full_size_info(struct cli_state *cli,
status = cli_smb2_query_info_fnum(
cli,
fnum,
- SMB2_0_INFO_FILESYSTEM, /* in_info_type */
- SMB_FS_FULL_SIZE_INFORMATION - 1000, /* in_file_info_class */
- 0xFFFF, /* in_max_output_length */
- NULL, /* in_input_buffer */
- 0, /* in_additional_info */
- 0, /* in_flags */
+ SMB2_0_INFO_FILESYSTEM, /* in_info_type */
+ FSCC_FS_FULL_SIZE_INFORMATION, /* in_file_info_class */
+ 0xFFFF, /* in_max_output_length */
+ NULL, /* in_input_buffer */
+ 0, /* in_additional_info */
+ 0, /* in_flags */
frame,
&outbuf);
if (!NT_STATUS_IS_OK(status)) {
@@ -2812,11 +2803,11 @@ NTSTATUS cli_smb2_get_fs_volume_info(struct cli_state *cli,
fnum,
SMB2_0_INFO_FILESYSTEM, /* in_info_type */
/* in_file_info_class */
- SMB_FS_VOLUME_INFORMATION - 1000,
+ FSCC_FS_VOLUME_INFORMATION,
0xFFFF, /* in_max_output_length */
- NULL, /* in_input_buffer */
- 0, /* in_additional_info */
- 0, /* in_flags */
+ NULL, /* in_input_buffer */
+ 0, /* in_additional_info */
+ 0, /* in_flags */
frame,
&outbuf);
if (!NT_STATUS_IS_OK(status)) {
@@ -3154,14 +3145,14 @@ static struct tevent_req *cli_smb2_rename_fnum_send(
level SMB2_FILE_RENAME_INFORMATION (SMB_FILE_RENAME_INFORMATION - 1000) */
subreq = cli_smb2_set_info_fnum_send(
- state, /* mem_ctx */
- ev, /* ev */
- cli, /* cli */
- fnum, /* fnum */
- 1, /* in_info_type */
- SMB_FILE_RENAME_INFORMATION - 1000, /* in_file_info_class */
- &state->inbuf, /* in_input_buffer */
- 0); /* in_additional_info */
+ state, /* mem_ctx */
+ ev, /* ev */
+ cli, /* cli */
+ fnum, /* fnum */
+ SMB2_0_INFO_FILE, /* in_info_type */
+ FSCC_FILE_RENAME_INFORMATION, /* in_file_info_class */
+ &state->inbuf, /* in_input_buffer */
+ 0); /* in_additional_info */
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
}
@@ -3374,10 +3365,10 @@ NTSTATUS cli_smb2_set_ea_fnum(struct cli_state *cli,
status = cli_smb2_set_info_fnum(
cli,
fnum,
- 1, /* in_info_type */
- SMB_FILE_FULL_EA_INFORMATION - 1000, /* in_file_info_class */
- &inbuf, /* in_input_buffer */
- 0); /* in_additional_info */
+ SMB2_0_INFO_FILE, /* in_info_type */
+ FSCC_FILE_FULL_EA_INFORMATION, /* in_file_info_class */
+ &inbuf, /* in_input_buffer */
+ 0); /* in_additional_info */
fail:
@@ -3483,12 +3474,12 @@ NTSTATUS cli_smb2_get_ea_list_path(struct cli_state *cli,
status = cli_smb2_query_info_fnum(
cli,
fnum,
- 1, /* in_info_type */
- SMB_FILE_FULL_EA_INFORMATION - 1000, /* in_file_info_class */
- 0xFFFF, /* in_max_output_length */
- NULL, /* in_input_buffer */
- 0, /* in_additional_info */
- 0, /* in_flags */
+ SMB2_0_INFO_FILE, /* in_info_type */
+ FSCC_FILE_FULL_EA_INFORMATION, /* in_file_info_class */
+ 0xFFFF, /* in_max_output_length */
+ NULL, /* in_input_buffer */
+ 0, /* in_additional_info */
+ 0, /* in_flags */
frame,
&outbuf);
@@ -3735,12 +3726,12 @@ NTSTATUS cli_smb2_get_fs_quota_info(struct cli_state *cli,
status = cli_smb2_query_info_fnum(
cli,
quota_fnum,
- 2, /* in_info_type */
- SMB_FS_QUOTA_INFORMATION - 1000, /* in_file_info_class */
- 0xFFFF, /* in_max_output_length */
- NULL, /* in_input_buffer */
- 0, /* in_additional_info */
- 0, /* in_flags */
+ SMB2_0_INFO_FILESYSTEM, /* in_info_type */
+ FSCC_FS_QUOTA_INFORMATION, /* in_file_info_class */
+ 0xFFFF, /* in_max_output_length */
+ NULL, /* in_input_buffer */
+ 0, /* in_additional_info */
+ 0, /* in_flags */
frame,
&outbuf);
@@ -3823,10 +3814,10 @@ NTSTATUS cli_smb2_set_fs_quota_info(struct cli_state *cli,
status = cli_smb2_set_info_fnum(
cli,
quota_fnum,
- 2, /* in_info_type */
- SMB_FS_QUOTA_INFORMATION - 1000, /* in_file_info_class */
- &inbuf, /* in_input_buffer */
- 0); /* in_additional_info */
+ SMB2_0_INFO_FILESYSTEM, /* in_info_type */
+ FSCC_FS_QUOTA_INFORMATION, /* in_file_info_class */
+ &inbuf, /* in_input_buffer */
+ 0); /* in_additional_info */
cleanup:
cli->raw_status = status;
@@ -4731,9 +4722,9 @@ NTSTATUS cli_smb2_ftruncate(struct cli_state *cli,
status = cli_smb2_set_info_fnum(
cli,
fnum,
- 1, /* in_info_type */
- SMB_FILE_END_OF_FILE_INFORMATION-1000, /* in_file_info_class */
- &inbuf, /* in_input_buffer */
+ SMB2_0_INFO_FILE, /* in_info_type */
+ FSCC_FILE_END_OF_FILE_INFORMATION, /* in_file_info_class */
+ &inbuf, /* in_input_buffer */
0);
fail:
diff --git a/source3/libsmb/clifile.c b/source3/libsmb/clifile.c
index 354d8960dd8..7732cb91279 100644
--- a/source3/libsmb/clifile.c
+++ b/source3/libsmb/clifile.c
@@ -841,10 +841,10 @@ static void cli_posix_stat_done(struct tevent_req *subreq)
}
/* total size, in bytes */
- sbuf->st_ex_size = IVAL2_TO_SMB_BIG_UINT(data, 0);
+ sbuf->st_ex_size = BVAL(data, 0);
/* number of blocks allocated */
- sbuf->st_ex_blocks = IVAL2_TO_SMB_BIG_UINT(data,8);
+ sbuf->st_ex_blocks = BVAL(data,8);
#if defined (HAVE_STAT_ST_BLOCKS) && defined(STAT_ST_BLOCKSIZE)
sbuf->st_ex_blocks /= STAT_ST_BLOCKSIZE;
#else
@@ -872,7 +872,7 @@ static void cli_posix_stat_done(struct tevent_req *subreq)
}
#endif
/* inode */
- sbuf->st_ex_ino = (SMB_INO_T)IVAL2_TO_SMB_BIG_UINT(data, 76);
+ sbuf->st_ex_ino = (SMB_INO_T)BVAL(data, 76);
/* protection */
sbuf->st_ex_mode |= wire_perms_to_unix(IVAL(data, 84));
@@ -2026,10 +2026,10 @@ static void cli_smb2_hardlink_opened(struct tevent_req *subreq)
state->ev,
state->cli,
state->fnum_src,
- 1, /* in_info_type */
- SMB_FILE_LINK_INFORMATION - 1000, /* in_file_info_class */
+ SMB2_0_INFO_FILE, /* in_info_type */
+ FSCC_FILE_LINK_INFORMATION, /* in_file_info_class */
&inbuf,
- 0); /* in_additional_info */
+ 0); /* in_additional_info */
if (tevent_req_nomem(subreq, req)) {
return;
}
diff --git a/source3/libsmb/clilist.c b/source3/libsmb/clilist.c
index 54b46b09e0e..d8951482bac 100644
--- a/source3/libsmb/clilist.c
+++ b/source3/libsmb/clilist.c
@@ -254,7 +254,7 @@ static size_t interpret_long_filename(TALLOC_CTX *ctx,
p += 8;
finfo->ctime_ts = interpret_long_date(BVAL(p, 0));
p += 8;
- finfo->size = IVAL2_TO_SMB_BIG_UINT(p,0);
+ finfo->size = BVAL(p,0);
p += 8;
p += 8; /* alloc size */
finfo->attr = IVAL(p,0);
@@ -298,11 +298,10 @@ static size_t interpret_long_filename(TALLOC_CTX *ctx,
Namelen doesn't include the terminating unicode null, so
copy it here. */
- if (p_last_name_raw) {
- *p_last_name_raw = data_blob(NULL, namelen+2);
- memcpy(p_last_name_raw->data, p, namelen);
- SSVAL(p_last_name_raw->data, namelen, 0);
- }
+ *p_last_name_raw = data_blob(NULL, namelen + 2);
+ memcpy(p_last_name_raw->data, p, namelen);
+ SSVAL(p_last_name_raw->data, namelen, 0);
+
return calc_next_entry_offset(base, pdata_end);
}
}
@@ -668,11 +667,7 @@ static struct tevent_req *cli_list_trans_send(TALLOC_CTX *mem_ctx,
}
state->ev = ev;
state->cli = cli;
- state->mask = talloc_strdup(state, mask);
- if (tevent_req_nomem(state->mask, req)) {
- return tevent_req_post(req, ev);
- }
- state->mask = smb1_dfs_share_path(state, cli, state->mask);
+ state->mask = smb1_dfs_share_path(state, cli, mask);
if (tevent_req_nomem(state->mask, req)) {
return tevent_req_post(req, ev);
}
@@ -937,55 +932,6 @@ static NTSTATUS cli_list_trans_recv(struct tevent_req *req,
return NT_STATUS_OK;
}
-NTSTATUS cli_list_trans(struct cli_state *cli, const char *mask,
- uint32_t attribute, int info_level,
- NTSTATUS (*fn)(
- struct file_info *finfo,
- const char *mask,
- void *private_data),
- void *private_data)
-{
- TALLOC_CTX *frame = talloc_stackframe();
- struct tevent_context *ev;
- struct tevent_req *req;
- int i, num_finfo;
- struct file_info *finfo = NULL;
- NTSTATUS status = NT_STATUS_NO_MEMORY;
-
- if (smbXcli_conn_has_async_calls(cli->conn)) {
- /*
- * Can't use sync call while an async call is in flight
- */
- status = NT_STATUS_INVALID_PARAMETER;
- goto fail;
- }
- ev = samba_tevent_context_init(frame);
- if (ev == NULL) {
- goto fail;
- }
- req = cli_list_trans_send(frame, ev, cli, mask, attribute, info_level);
- if (req == NULL) {
- goto fail;
- }
- if (!tevent_req_poll_ntstatus(req, ev, &status)) {
--
Samba Shared Repository
More information about the samba-cvs
mailing list