The Samba-Bugzilla – Attachment 13489 Details for
Bug 12968
smbclient tarmode doesn't work with SMB2/3
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
git-am fix for 4.7.0.
bug-12968-4.7.patch (text/plain), 4.68 KB, created by
Jeremy Allison
on 2017-08-22 20:31:38 UTC
(
hide
)
Description:
git-am fix for 4.7.0.
Filename:
MIME Type:
Creator:
Jeremy Allison
Created:
2017-08-22 20:31:38 UTC
Size:
4.68 KB
patch
obsolete
>From aa8773146c3df4434378f568cbd175f2828cc7ac Mon Sep 17 00:00:00 2001 >From: Jeremy Allison <jra@samba.org> >Date: Wed, 16 Aug 2017 15:48:01 -0700 >Subject: [PATCH 1/2] s3: libsmb: Add cli_smb2_chkpath() and use from > cli_chkpath(). > >BUG: https://bugzilla.samba.org/show_bug.cgi?id=12968 > >Signed-off-by: Jeremy Allison <jra@samba.org> >Reviewed-by: Stefan Metzmacher <metze@samba.org> >(cherry picked from commit 428fc22e8bb7b7a74ba9e29bf962ebfbfd50c47b) >--- > source3/libsmb/cli_smb2_fnum.c | 41 +++++++++++++++++++++++++++++++++++++++++ > source3/libsmb/cli_smb2_fnum.h | 2 ++ > source3/libsmb/clifile.c | 8 +++++++- > 3 files changed, 50 insertions(+), 1 deletion(-) > >diff --git a/source3/libsmb/cli_smb2_fnum.c b/source3/libsmb/cli_smb2_fnum.c >index 8ee97cad276..a478c41f068 100644 >--- a/source3/libsmb/cli_smb2_fnum.c >+++ b/source3/libsmb/cli_smb2_fnum.c >@@ -1100,6 +1100,47 @@ NTSTATUS cli_smb2_qpathinfo_basic(struct cli_state *cli, > return status; > } > >+/*************************************************************** >+ Wrapper that allows SMB2 to check if a path is a directory. >+ Synchronous only. >+***************************************************************/ >+ >+NTSTATUS cli_smb2_chkpath(struct cli_state *cli, >+ const char *name) >+{ >+ NTSTATUS status; >+ uint16_t fnum = 0xffff; >+ >+ if (smbXcli_conn_has_async_calls(cli->conn)) { >+ /* >+ * Can't use sync call while an async call is in flight >+ */ >+ return NT_STATUS_INVALID_PARAMETER; >+ } >+ >+ if (smbXcli_conn_protocol(cli->conn) < PROTOCOL_SMB2_02) { >+ return NT_STATUS_INVALID_PARAMETER; >+ } >+ >+ /* Ensure this is a directory. */ >+ status = cli_smb2_create_fnum(cli, >+ name, >+ 0, /* create_flags */ >+ FILE_READ_ATTRIBUTES, /* desired_access */ >+ FILE_ATTRIBUTE_DIRECTORY, /* file attributes */ >+ FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, /* share_access */ >+ FILE_OPEN, /* create_disposition */ >+ FILE_DIRECTORY_FILE, /* create_options */ >+ &fnum, >+ NULL); >+ >+ if (!NT_STATUS_IS_OK(status)) { >+ return status; >+ } >+ >+ return cli_smb2_close_fnum(cli, fnum); >+} >+ > /*************************************************************** > Helper function for pathname operations. > ***************************************************************/ >diff --git a/source3/libsmb/cli_smb2_fnum.h b/source3/libsmb/cli_smb2_fnum.h >index 8e240c6bc5b..9a709e85d96 100644 >--- a/source3/libsmb/cli_smb2_fnum.h >+++ b/source3/libsmb/cli_smb2_fnum.h >@@ -79,6 +79,8 @@ NTSTATUS cli_smb2_qpathinfo_basic(struct cli_state *cli, > NTSTATUS cli_smb2_qpathinfo_alt_name(struct cli_state *cli, > const char *name, > fstring alt_name); >+NTSTATUS cli_smb2_chkpath(struct cli_state *cli, >+ const char *name); > NTSTATUS cli_smb2_qfileinfo_basic(struct cli_state *cli, > uint16_t fnum, > uint16_t *mode, >diff --git a/source3/libsmb/clifile.c b/source3/libsmb/clifile.c >index 1455fbdbdfd..c3ca2995087 100644 >--- a/source3/libsmb/clifile.c >+++ b/source3/libsmb/clifile.c >@@ -4233,12 +4233,18 @@ NTSTATUS cli_chkpath_recv(struct tevent_req *req) > > NTSTATUS cli_chkpath(struct cli_state *cli, const char *path) > { >- TALLOC_CTX *frame = talloc_stackframe(); >+ TALLOC_CTX *frame = NULL; > struct tevent_context *ev = NULL; > struct tevent_req *req = NULL; > char *path2 = NULL; > NTSTATUS status = NT_STATUS_OK; > >+ if (smbXcli_conn_protocol(cli->conn) >= PROTOCOL_SMB2_02) { >+ return cli_smb2_chkpath(cli, path); >+ } >+ >+ frame = talloc_stackframe(); >+ > if (smbXcli_conn_has_async_calls(cli->conn)) { > /* > * Can't use sync call while an async call is in flight >-- >2.14.1.480.gb18f417b89-goog > > >From 5d0c2c7dced82498bf729a7b994fe3c876217b02 Mon Sep 17 00:00:00 2001 >From: Stefan Metzmacher <metze@samba.org> >Date: Wed, 16 Aug 2017 22:27:15 +0200 >Subject: [PATCH 2/2] libcli/smb: debug an error if smb1cli_req_writev_submit() > is called for SMB2/3 > >BUG: https://bugzilla.samba.org/show_bug.cgi?id=12968 > >Signed-off-by: Stefan Metzmacher <metze@samba.org> >Reviewed-by: Jeremy Allison <jra@samba.org> > >Autobuild-User(master): Jeremy Allison <jra@samba.org> >Autobuild-Date(master): Fri Aug 18 04:45:03 CEST 2017 on sn-devel-144 > >(cherry picked from commit 9fb2562324e4381f8d0d5eaf864790ad770293b9) >--- > libcli/smb/smbXcli_base.c | 3 +++ > 1 file changed, 3 insertions(+) > >diff --git a/libcli/smb/smbXcli_base.c b/libcli/smb/smbXcli_base.c >index cc8978975e1..d73949b90d7 100644 >--- a/libcli/smb/smbXcli_base.c >+++ b/libcli/smb/smbXcli_base.c >@@ -1661,6 +1661,9 @@ static NTSTATUS smb1cli_req_writev_submit(struct tevent_req *req, > } > > if (state->conn->protocol > PROTOCOL_NT1) { >+ DBG_ERR("called for dialect[%s] server[%s]\n", >+ smb_protocol_types_string(state->conn->protocol), >+ smbXcli_conn_remote_name(state->conn)); > return NT_STATUS_REVISION_MISMATCH; > } > >-- >2.14.1.480.gb18f417b89-goog >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Flags:
metze
:
review+
Actions:
View
Attachments on
bug 12968
:
13479
| 13489