[SCM] Samba Shared Repository - branch master updated
Ralph Böhme
slow at samba.org
Wed Apr 8 16:23:05 UTC 2020
The branch, master has been updated
via 37059e45182 smbtree: Align integer types
via 67b097b8235 libsmb: Move get_ipc_connect_master_ip_bcast() to smbtree.c
via c7022803ede libsmb: Remove unused cli_NetWkstaUserLogon()
via 9d8819b3071 smbclient: Simplify browse_host()
via cfd0a8a738e libsmb: Respect the full timeval for smbc_utimes()
via 833303b8bd3 torture: Test smbc_utimes()
via 810397f89a1 libsmbclient: Don't throw away nsec fields in stat()
via b22b4daeba3 libsmb: Remove unused cli_setpathinfo_basic()
via 7b246696c89 libsmb: Call cli_setpathinfo_ext() instead of .._basic()
via e4aa9a970a4 libsmb: Pass "struct timespec" to SMBC_setatr()
via b89ab75cd6a smbtorture3: Call cli_setpathinfo_ext() instead of .._basic()
via aa1f34219d4 libsmb: Make cli_setpathinfo_ext() take structs instead of pointers
via 6cb1f20f73e libsmb: Use cli_setfileinfo_send() in cli_ftruncate_send()
via b46b5a6408d libsmb: Use cli_setfilefinfo_send() in cli_nt_delete_on_close_send()
via bf61a0d7f30 libsmb: Add cli_setfileinfo_send/recv()
via 268892f75c5 smbclient: Remove function set_remote_times()
via d3be1d04541 smbclient: Remove some unnecessary declarations
via f261d5f727f torture4: Allow DBG output in libsmbclient tests
via 5766956277f lib: Avoid casts in ctdb_packet_dump()
via fbf55d124dc libsmb: Remove a typedef
via 3ab9caae337 lib: Fix a signed/unsigned warning
from 9918abd7324 gitlab-ci: Add runner for fips compliance testing
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 37059e4518208b05168f6732cc8d8cf4db458a67
Author: Volker Lendecke <vl at samba.org>
Date: Sun Apr 5 13:02:12 2020 +0200
smbtree: Align integer types
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
Autobuild-User(master): Ralph Böhme <slow at samba.org>
Autobuild-Date(master): Wed Apr 8 16:22:17 UTC 2020 on sn-devel-184
commit 67b097b8235d8651c237bff757f9dc2067cd634c
Author: Volker Lendecke <vl at samba.org>
Date: Sun Apr 5 13:01:07 2020 +0200
libsmb: Move get_ipc_connect_master_ip_bcast() to smbtree.c
... the only user
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit c7022803edecebadacee619a18a77cb0ad1f4165
Author: Volker Lendecke <vl at samba.org>
Date: Sun Apr 5 12:38:01 2020 +0200
libsmb: Remove unused cli_NetWkstaUserLogon()
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit 9d8819b3071723ed82babf5e28bb67824e3ed86b
Author: Volker Lendecke <vl at samba.org>
Date: Sun Apr 5 12:31:24 2020 +0200
smbclient: Simplify browse_host()
We now have the check of the real connection's prootocol, so the
smb.conf's "client min protocol" does not really matter here
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit cfd0a8a738e39679aa7dab4580c2bcaf270c7616
Author: Volker Lendecke <vl at samba.org>
Date: Mon Mar 30 21:43:51 2020 +0200
libsmb: Respect the full timeval for smbc_utimes()
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit 833303b8bd38f20e835533a48a913122bbca245e
Author: Volker Lendecke <vl at samba.org>
Date: Mon Mar 30 22:08:40 2020 +0200
torture: Test smbc_utimes()
Prove that smbc_utimes throws away the tv_nsec field
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit 810397f89a101581511ed13b026340ad16f91694
Author: Volker Lendecke <vl at samba.org>
Date: Tue Mar 31 11:10:55 2020 +0200
libsmbclient: Don't throw away nsec fields in stat()
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit b22b4daeba34a16079032e7d6675a7b57e263ba7
Author: Volker Lendecke <vl at samba.org>
Date: Thu Mar 26 14:46:32 2020 +0100
libsmb: Remove unused cli_setpathinfo_basic()
We got beyond 1-sec timestamp resolution a while ago...
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit 7b246696c89c4d3567a1861f438955dc775e82b2
Author: Volker Lendecke <vl at samba.org>
Date: Thu Mar 26 14:42:39 2020 +0100
libsmb: Call cli_setpathinfo_ext() instead of .._basic()
Yes, the formatting is not according to README.Coding, but that's a
patch for another day.
Also, this is no functional change: All callers so far either set
.tv_sec only or set .tv_nsec to SAMBA_UTIME_OMIT.
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit e4aa9a970a483ea16aa5b5bc9f7bbf542a4eeecd
Author: Volker Lendecke <vl at samba.org>
Date: Thu Mar 26 12:29:13 2020 +0100
libsmb: Pass "struct timespec" to SMBC_setatr()
Prepare to set higher-precision timestamps. No change in behaviour so
far: The {.tv_nsec=SAMBA_UTIME_OMIT} implicitly sets .tv_sec=0, and
SMBC_setatr() only looks at .tv_sec
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit b89ab75cd6a77d2c069051f7bb174882cb5d1e68
Author: Volker Lendecke <vl at samba.org>
Date: Thu Mar 26 14:38:45 2020 +0100
smbtorture3: Call cli_setpathinfo_ext() instead of .._basic()
The timestamps were never looked at
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit aa1f34219d46b200f4c955232db4558e6260c8d8
Author: Volker Lendecke <vl at samba.org>
Date: Thu Mar 26 14:33:58 2020 +0100
libsmb: Make cli_setpathinfo_ext() take structs instead of pointers
This simplifies the next commit: With direct (small) structs on the
stack we don't need declared variables in the callers
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit 6cb1f20f73ed79f4d3717ebf4c8923707ef62ac3
Author: Volker Lendecke <vl at samba.org>
Date: Mon Mar 30 15:19:34 2020 +0200
libsmb: Use cli_setfileinfo_send() in cli_ftruncate_send()
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit b46b5a6408dfa002f6a38f3c0dcd592085ba93ac
Author: Volker Lendecke <vl at samba.org>
Date: Mon Mar 30 15:16:02 2020 +0200
libsmb: Use cli_setfilefinfo_send() in cli_nt_delete_on_close_send()
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit bf61a0d7f30f85b3459be12ab58fcd3c674666e2
Author: Volker Lendecke <vl at samba.org>
Date: Mon Mar 30 15:12:48 2020 +0200
libsmb: Add cli_setfileinfo_send/recv()
Encapsulate TRANSACT2_SETFILEINFO like cli_setpathinfo_send() does for
TRANSACT2_SETPATHINFO.
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit 268892f75c5a481ddad7cc0a25b3212c4d3f1d6d
Author: Volker Lendecke <vl at samba.org>
Date: Thu Mar 26 14:24:14 2020 +0100
smbclient: Remove function set_remote_times()
This was just a wrapper around cli_setpathinfo_ext() with just one
caller
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit d3be1d04541eed8a0c814cd7d0090e85e68e4dd5
Author: Volker Lendecke <vl at samba.org>
Date: Thu Mar 26 14:21:15 2020 +0100
smbclient: Remove some unnecessary declarations
"cmd_ptr" is a global variable in this file anyway
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit f261d5f727f52e0d951897628c55127c4410051a
Author: Volker Lendecke <vl at samba.org>
Date: Tue Mar 31 08:32:10 2020 +0200
torture4: Allow DBG output in libsmbclient tests
smbc_new_context() overwrites the global DEBUGLEVEL to 0.
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit 5766956277fa9d16711af55818af15e4648b268c
Author: Volker Lendecke <vl at samba.org>
Date: Fri Mar 20 13:27:43 2020 +0100
lib: Avoid casts in ctdb_packet_dump()
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit fbf55d124dc03b6b0bfe434bd6a121d8e2e1d562
Author: Volker Lendecke <vl at samba.org>
Date: Wed Mar 25 22:06:37 2020 +0100
libsmb: Remove a typedef
No API change, this is not used publically
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit 3ab9caae3379fcc37df716ef83be593bee0e8a43
Author: Volker Lendecke <vl at samba.org>
Date: Thu Mar 12 13:34:43 2020 +0100
lib: Fix a signed/unsigned warning
The types are deliberately distinct, but nwritten is >0 or ==-1, so
this should be okay.
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
-----------------------------------------------------------------------
Summary of changes:
source3/client/client.c | 52 ++--------
source3/include/libsmb_internal.h | 12 +--
source3/lib/ctdbd_conn.c | 14 ++-
source3/libsmb/cliconnect.c | 42 --------
source3/libsmb/clifile.c | 154 ++++++++++++++++-----------
source3/libsmb/clirap.c | 156 +++-------------------------
source3/libsmb/clirap.h | 15 +--
source3/libsmb/libsmb_dir.c | 43 ++++----
source3/libsmb/libsmb_file.c | 26 ++---
source3/libsmb/libsmb_stat.c | 12 +--
source3/libsmb/libsmb_xattr.c | 52 ++++++----
source3/libsmb/proto.h | 12 ++-
source3/torture/torture.c | 82 ++++++++-------
source3/utils/smbtree.c | 47 ++++++++-
source4/selftest/tests.py | 2 +
source4/torture/libsmbclient/libsmbclient.c | 52 +++++++++-
16 files changed, 360 insertions(+), 413 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/client/client.c b/source3/client/client.c
index 8d329216d58..f2cb3c8a337 100644
--- a/source3/client/client.c
+++ b/source3/client/client.c
@@ -4915,10 +4915,6 @@ static bool browse_host(bool sort)
return true;
}
- if (lp_client_min_protocol() > PROTOCOL_NT1) {
- return false;
- }
-
if (smbXcli_conn_protocol(cli->conn) > PROTOCOL_NT1) {
return false;
}
@@ -5180,41 +5176,6 @@ static int cmd_show_connect( void )
return 0;
}
-/**
- * set_remote_times - set times of a remote file
- * @filename: path to the file name
- * @create_time: New create time
- * @access_time: New access time
- * @write_time: New write time
- * @change_time: New metadata change time
- *
- * Update the file times with the ones provided.
- */
-static int set_remote_times(const char *filename,
- struct timespec *create_time,
- struct timespec *access_time,
- struct timespec *write_time,
- struct timespec *change_time)
-{
- extern struct cli_state *cli;
- NTSTATUS status;
-
- status = cli_setpathinfo_ext(cli,
- filename,
- create_time,
- access_time,
- write_time,
- change_time,
- -1);
- if (!NT_STATUS_IS_OK(status)) {
- d_printf("cli_setpathinfo_basic failed: %s\n",
- nt_errstr(status));
- return 1;
- }
-
- return 0;
-}
-
/**
* cmd_utimes - interactive command to set the four times
*
@@ -5223,7 +5184,6 @@ static int set_remote_times(const char *filename,
*/
static int cmd_utimes(void)
{
- const extern char *cmd_ptr;
char *buf;
char *fname = NULL;
struct timespec times[4] = {{0}};
@@ -5232,6 +5192,8 @@ static int cmd_utimes(void)
int err = 0;
bool ok;
TALLOC_CTX *ctx = talloc_new(NULL);
+ NTSTATUS status;
+
if (ctx == NULL) {
return 1;
}
@@ -5308,7 +5270,14 @@ static int cmd_utimes(void)
timespec_string_buf(×[2], false, &tbuf[2]),
timespec_string_buf(×[3], false, &tbuf[3])));
- set_remote_times(fname, ×[0], ×[1], ×[2], ×[3]);
+ status = cli_setpathinfo_ext(
+ cli, fname, times[0], times[1], times[2], times[3], -1);
+ if (!NT_STATUS_IS_OK(status)) {
+ d_printf("cli_setpathinfo_ext failed: %s\n",
+ nt_errstr(status));
+ err = 1;
+ goto out;
+ }
out:
talloc_free(ctx);
return err;
@@ -5357,7 +5326,6 @@ int set_remote_attr(const char *filename, uint16_t new_attr, int mode)
*/
int cmd_setmode(void)
{
- const extern char *cmd_ptr;
char *buf;
char *fname = NULL;
uint16_t attr[2] = {0};
diff --git a/source3/include/libsmb_internal.h b/source3/include/libsmb_internal.h
index feedddd0877..be88e8e300d 100644
--- a/source3/include/libsmb_internal.h
+++ b/source3/include/libsmb_internal.h
@@ -38,7 +38,7 @@
/*
* DOS Attribute values (used internally)
*/
-typedef struct DOS_ATTR_DESC {
+struct DOS_ATTR_DESC {
int mode;
off_t size;
time_t create_time;
@@ -46,7 +46,7 @@ typedef struct DOS_ATTR_DESC {
time_t write_time;
time_t change_time;
SMB_INO_T inode;
-} DOS_ATTR_DESC;
+};
/*
* Extension of libsmbclient.h's #defines
@@ -411,10 +411,10 @@ SMBC_getatr(SMBCCTX * context,
bool
SMBC_setatr(SMBCCTX * context, SMBCSRV *srv, char *path,
- time_t create_time,
- time_t access_time,
- time_t write_time,
- time_t change_time,
+ struct timespec create_time,
+ struct timespec access_time,
+ struct timespec write_time,
+ struct timespec change_time,
uint16_t mode);
off_t
diff --git a/source3/lib/ctdbd_conn.c b/source3/lib/ctdbd_conn.c
index e968ec5e491..498f477a3be 100644
--- a/source3/lib/ctdbd_conn.c
+++ b/source3/lib/ctdbd_conn.c
@@ -134,10 +134,14 @@ static void ctdb_packet_dump(struct ctdb_req_header *hdr)
if (DEBUGLEVEL < 11) {
return;
}
- DEBUGADD(11, ("len=%d, magic=%x, vers=%d, gen=%d, op=%d, reqid=%d\n",
- (int)hdr->length, (int)hdr->ctdb_magic,
- (int)hdr->ctdb_version, (int)hdr->generation,
- (int)hdr->operation, (int)hdr->reqid));
+ DEBUGADD(11, ("len=%"PRIu32", magic=%"PRIu32", vers=%"PRIu32", "
+ "gen=%"PRIu32", op=%"PRIu32", reqid=%"PRIu32"\n",
+ hdr->length,
+ hdr->ctdb_magic,
+ hdr->ctdb_version,
+ hdr->generation,
+ hdr->operation,
+ hdr->reqid));
}
/*
@@ -1380,7 +1384,7 @@ static struct tevent_req *ctdb_pkt_send_send(TALLOC_CTX *mem_ctx,
*/
nwritten = writev(conn->fd, state->iov, state->iovcnt);
- if (nwritten == state->packet_len) {
+ if ((size_t)nwritten == state->packet_len) {
DBG_DEBUG("Finished sending reqid [%" PRIu32 "]\n", reqid);
*req_state = DBWRAP_REQ_DISPATCHED;
diff --git a/source3/libsmb/cliconnect.c b/source3/libsmb/cliconnect.c
index 13d035a8d41..b87287fa24d 100644
--- a/source3/libsmb/cliconnect.c
+++ b/source3/libsmb/cliconnect.c
@@ -3873,45 +3873,3 @@ struct cli_state *get_ipc_connect_master_ip(TALLOC_CTX *ctx,
return cli;
}
-
-/*
- * Return the IP address and workgroup of a master browser on the network, and
- * connect to it.
- */
-
-struct cli_state *get_ipc_connect_master_ip_bcast(TALLOC_CTX *ctx,
- const struct user_auth_info *user_info,
- char **pp_workgroup_out)
-{
- struct sockaddr_storage *ip_list;
- struct cli_state *cli;
- int i, count;
- NTSTATUS status;
-
- *pp_workgroup_out = NULL;
-
- DEBUG(99, ("Do broadcast lookup for workgroups on local network\n"));
-
- /* Go looking for workgroups by broadcasting on the local network */
-
- status = name_resolve_bcast(MSBROWSE, 1, talloc_tos(),
- &ip_list, &count);
- if (!NT_STATUS_IS_OK(status)) {
- DEBUG(99, ("No master browsers responded: %s\n",
- nt_errstr(status)));
- return NULL;
- }
-
- for (i = 0; i < count; i++) {
- char addr[INET6_ADDRSTRLEN];
- print_sockaddr(addr, sizeof(addr), &ip_list[i]);
- DEBUG(99, ("Found master browser %s\n", addr));
-
- cli = get_ipc_connect_master_ip(ctx, &ip_list[i],
- user_info, pp_workgroup_out);
- if (cli)
- return(cli);
- }
-
- return NULL;
-}
diff --git a/source3/libsmb/clifile.c b/source3/libsmb/clifile.c
index dd08b0e30f3..28d85d1a9f8 100644
--- a/source3/libsmb/clifile.c
+++ b/source3/libsmb/clifile.c
@@ -149,6 +149,83 @@ NTSTATUS cli_setpathinfo(struct cli_state *cli,
return status;
}
+struct cli_setfileinfo_state {
+ uint16_t setup;
+ uint8_t param[6];
+};
+
+static void cli_setfileinfo_done(struct tevent_req *subreq);
+
+struct tevent_req *cli_setfileinfo_send(
+ TALLOC_CTX *mem_ctx,
+ struct tevent_context *ev,
+ struct cli_state *cli,
+ uint16_t fnum,
+ uint16_t level,
+ uint8_t *data,
+ size_t data_len)
+{
+ struct tevent_req *req = NULL, *subreq = NULL;
+ struct cli_setfileinfo_state *state = NULL;
+
+ req = tevent_req_create(mem_ctx, &state, struct cli_setfileinfo_state);
+ if (req == NULL) {
+ return NULL;
+ }
+ PUSH_LE_U16(&state->setup, 0, TRANSACT2_SETFILEINFO);
+
+ PUSH_LE_U16(state->param, 0, fnum);
+ PUSH_LE_U16(state->param, 2, level);
+
+ subreq = cli_trans_send(state, /* mem ctx. */
+ ev, /* event ctx. */
+ cli, /* cli_state. */
+ 0, /* additional_flags2 */
+ SMBtrans2, /* cmd. */
+ NULL, /* pipe name. */
+ -1, /* fid. */
+ 0, /* function. */
+ 0, /* flags. */
+ &state->setup, /* setup. */
+ 1, /* num setup uint16_t words. */
+ 0, /* max returned setup. */
+ state->param, /* param. */
+ 6, /* num param. */
+ 2, /* max returned param. */
+ data, /* data. */
+ data_len, /* num data. */
+ 0); /* max returned data. */
+
+ if (tevent_req_nomem(subreq, req)) {
+ return tevent_req_post(req, ev);
+ }
+ tevent_req_set_callback(subreq, cli_setfileinfo_done, req);
+ return req;
+}
+
+static void cli_setfileinfo_done(struct tevent_req *subreq)
+{
+ NTSTATUS status = cli_trans_recv(
+ subreq, /* req */
+ NULL, /* mem_ctx */
+ NULL, /* recv_flags2 */
+ NULL, /* setup */
+ 0, /* min_setup */
+ NULL, /* num_setup */
+ NULL, /* param */
+ 0, /* min_param */
+ NULL, /* num_param */
+ NULL, /* data */
+ 0, /* min_data */
+ NULL); /* num_data */
+ tevent_req_simple_finish_ntstatus(subreq, status);
+}
+
+NTSTATUS cli_setfileinfo_recv(struct tevent_req *req)
+{
+ return tevent_req_simple_recv_ntstatus(req);
+}
+
/****************************************************************************
Hard/Symlink a file (UNIX extensions).
Creates new name (sym)linked to link_target.
@@ -2129,8 +2206,6 @@ NTSTATUS cli_rmdir(struct cli_state *cli, const char *dname)
****************************************************************************/
struct doc_state {
- uint16_t setup;
- uint8_t param[6];
uint8_t data[1];
};
@@ -2163,34 +2238,17 @@ struct tevent_req *cli_nt_delete_on_close_send(TALLOC_CTX *mem_ctx,
return req;
}
- /* Setup setup word. */
- SSVAL(&state->setup, 0, TRANSACT2_SETFILEINFO);
-
- /* Setup param array. */
- SSVAL(state->param,0,fnum);
- SSVAL(state->param,2,SMB_SET_FILE_DISPOSITION_INFO);
-
/* Setup data array. */
SCVAL(&state->data[0], 0, flag ? 1 : 0);
- subreq = cli_trans_send(state, /* mem ctx. */
- ev, /* event ctx. */
- cli, /* cli_state. */
- 0, /* additional_flags2 */
- SMBtrans2, /* cmd. */
- NULL, /* pipe name. */
- -1, /* fid. */
- 0, /* function. */
- 0, /* flags. */
- &state->setup, /* setup. */
- 1, /* num setup uint16_t words. */
- 0, /* max returned setup. */
- state->param, /* param. */
- 6, /* num param. */
- 2, /* max returned param. */
- state->data, /* data. */
- 1, /* num data. */
- 0); /* max returned data. */
+ subreq = cli_setfileinfo_send(
+ state,
+ ev,
+ cli,
+ fnum,
+ SMB_SET_FILE_DISPOSITION_INFO,
+ state->data,
+ sizeof(state->data));
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
@@ -2203,8 +2261,7 @@ struct tevent_req *cli_nt_delete_on_close_send(TALLOC_CTX *mem_ctx,
static void cli_nt_delete_on_close_smb1_done(struct tevent_req *subreq)
{
- NTSTATUS status = cli_trans_recv(subreq, NULL, NULL, NULL, 0, NULL,
- NULL, 0, NULL, NULL, 0, NULL);
+ NTSTATUS status = cli_setfileinfo_recv(subreq);
tevent_req_simple_finish_ntstatus(subreq, status);
}
@@ -3289,15 +3346,12 @@ NTSTATUS cli_close(struct cli_state *cli, uint16_t fnum)
****************************************************************************/
struct ftrunc_state {
- uint16_t setup;
- uint8_t param[6];
uint8_t data[8];
};
static void cli_ftruncate_done(struct tevent_req *subreq)
{
- NTSTATUS status = cli_trans_recv(subreq, NULL, NULL, NULL, 0, NULL,
- NULL, 0, NULL, NULL, 0, NULL);
+ NTSTATUS status = cli_setfileinfo_recv(subreq);
tevent_req_simple_finish_ntstatus(subreq, status);
}
@@ -3315,35 +3369,17 @@ struct tevent_req *cli_ftruncate_send(TALLOC_CTX *mem_ctx,
return NULL;
}
- /* Setup setup word. */
- SSVAL(&state->setup, 0, TRANSACT2_SETFILEINFO);
-
- /* Setup param array. */
- SSVAL(state->param,0,fnum);
- SSVAL(state->param,2,SMB_SET_FILE_END_OF_FILE_INFO);
- SSVAL(state->param,4,0);
-
/* Setup data array. */
SBVAL(state->data, 0, size);
- subreq = cli_trans_send(state, /* mem ctx. */
- ev, /* event ctx. */
- cli, /* cli_state. */
- 0, /* additional_flags2 */
- SMBtrans2, /* cmd. */
- NULL, /* pipe name. */
- -1, /* fid. */
- 0, /* function. */
- 0, /* flags. */
- &state->setup, /* setup. */
- 1, /* num setup uint16_t words. */
- 0, /* max returned setup. */
- state->param, /* param. */
- 6, /* num param. */
- 2, /* max returned param. */
- state->data, /* data. */
- 8, /* num data. */
- 0); /* max returned data. */
+ subreq = cli_setfileinfo_send(
+ state,
+ ev,
+ cli,
+ fnum,
+ SMB_SET_FILE_END_OF_FILE_INFO,
+ state->data,
+ sizeof(state->data));
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
diff --git a/source3/libsmb/clirap.c b/source3/libsmb/clirap.c
index 71c7b97ad54..f76f11e00aa 100644
--- a/source3/libsmb/clirap.c
+++ b/source3/libsmb/clirap.c
@@ -95,74 +95,6 @@ fail:
return false;
}
-/****************************************************************************
- Perform a NetWkstaUserLogon.
-****************************************************************************/
-
-bool cli_NetWkstaUserLogon(struct cli_state *cli,char *user, char *workstation)
-{
- char *rparam = NULL;
- char *rdata = NULL;
- char *p;
- unsigned int rdrcnt,rprcnt;
- char param[1024];
-
- memset(param, 0, sizeof(param));
-
- /* send a SMBtrans command with api NetWkstaUserLogon */
- p = param;
- SSVAL(p,0,132); /* api number */
- p += 2;
- strlcpy(p,"OOWb54WrLh",sizeof(param)-PTR_DIFF(p,param));
- p = skip_string(param,sizeof(param),p);
- strlcpy(p,"WB21BWDWWDDDDDDDzzzD",sizeof(param)-PTR_DIFF(p,param));
- p = skip_string(param,sizeof(param),p);
- SSVAL(p,0,1);
- p += 2;
- strlcpy(p,user,sizeof(param)-PTR_DIFF(p,param));
- if (!strupper_m(p)) {
- return false;
- }
- p += 21;
- p++;
- p += 15;
- p++;
- strlcpy(p, workstation,sizeof(param)-PTR_DIFF(p,param));
- if (!strupper_m(p)) {
- return false;
- }
- p += 16;
- SSVAL(p, 0, CLI_BUFFER_SIZE);
- p += 2;
- SSVAL(p, 0, CLI_BUFFER_SIZE);
- p += 2;
-
- if (cli_api(cli,
- param, PTR_DIFF(p,param),1024, /* param, length, max */
- NULL, 0, CLI_BUFFER_SIZE, /* data, length, max */
- &rparam, &rprcnt, /* return params, return size */
- &rdata, &rdrcnt /* return data, return size */
- )) {
- cli->rap_error = rparam? SVAL(rparam,0) : -1;
-
- if (cli->rap_error == 0) {
- DEBUG(4,("NetWkstaUserLogon success\n"));
- /*
- * The cli->privileges = SVAL(p, 24); field was set here
- * but it was not use anywhere else.
- */
- /* The cli->eff_name field used to be set here
- but it wasn't used anywhere else. */
- } else {
- DEBUG(1,("NetwkstaUserLogon gave error %d\n", cli->rap_error));
- }
- }
-
- SAFE_FREE(rparam);
--
Samba Shared Repository
More information about the samba-cvs
mailing list