The Samba-Bugzilla – Attachment 18218 Details for
Bug 15547
Multichannel refresh network information
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
backported patch for 4.19 and 4.18
0001-s3-smbd-multichannel-always-refresh-the-network-info.patch (text/plain), 2.88 KB, created by
Björn Jacke
on 2024-01-04 13:05:48 UTC
(
hide
)
Description:
backported patch for 4.19 and 4.18
Filename:
MIME Type:
Creator:
Björn Jacke
Created:
2024-01-04 13:05:48 UTC
Size:
2.88 KB
patch
obsolete
>From 1acb056a4200c74908b856033a145ad022488dba Mon Sep 17 00:00:00 2001 >From: Jones Syue <jonessyue@qnap.com> >Date: Thu, 4 Jan 2024 09:42:15 +0800 >Subject: [PATCH] s3:smbd multichannel: always refresh the network information >MIME-Version: 1.0 >Content-Type: text/plain; charset=UTF-8 >Content-Transfer-Encoding: 8bit > >To maintain SMB Multichannel, windows client might periodically query with >FSCTL_QUERY_NETWORK_INTERFACE_INFO to get SMB server's network information, >in my case windows server 2022 would do this every 10 minutes (600 seconds). > >Consider a scenario: the network information might have changed between >these queries, some become link down, new interface is link up, network >speed is changed, and etc. So far smbd might not aware of these changes and >still report out-of-date network information to windows client, until we >manually send a SIGHUP to smbd in order to trigger load_interfaces(): >smbd_sig_hup_handler() > reload_services () > load_interfaces() >This might be a bit inconvenient because it is hard to decide when should >we manually send a SIGHUP to smbd for refreshing network information. > >This patch adds load_interfaces() at fsctl_network_iface_info(), while smbd >received FSCTL_QUERY_NETWORK_INTERFACE_INFO would go through this and refresh >local_interfaces, then respond to client with up-to-date network information; >also refresh num_ifaces to make sure interfaces count is consistent. > >BUG: https://bugzilla.samba.org/show_bug.cgi?id=15547 > >Signed-off-by: Jones Syue <jonessyue@qnap.com> >Reviewed-by: Stefan Metzmacher <metze@samba.org> >Reviewed-by: Björn Jacke <bjacke@samba.org> >(cherry picked from commit 318fd95d5ea63724798592eb6b4eebaecfa0cbfb) >--- > source3/smbd/smb2_ioctl_network_fs.c | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > >diff --git a/source3/smbd/smb2_ioctl_network_fs.c b/source3/smbd/smb2_ioctl_network_fs.c >index 5b396855ca6..9ef99dca90f 100644 >--- a/source3/smbd/smb2_ioctl_network_fs.c >+++ b/source3/smbd/smb2_ioctl_network_fs.c >@@ -366,7 +366,7 @@ static NTSTATUS fsctl_network_iface_info(TALLOC_CTX *mem_ctx, > struct fsctl_net_iface_info *first = NULL; > struct fsctl_net_iface_info *last = NULL; > size_t i; >- size_t num_ifaces = iface_count(); >+ size_t num_ifaces; > enum ndr_err_code ndr_err; > struct cluster_movable_ips *cluster_movable_ips = NULL; > int ret; >@@ -375,6 +375,16 @@ static NTSTATUS fsctl_network_iface_info(TALLOC_CTX *mem_ctx, > return NT_STATUS_INVALID_PARAMETER; > } > >+ /* >+ * The list of probed interfaces might have changed, we might need to >+ * refresh local_interfaces to get up-to-date network information, and >+ * respond to clients which sent FSCTL_QUERY_NETWORK_INTERFACE_INFO. >+ * For example, network speed is changed, interfaces count is changed >+ * (some link down or link up), and etc. >+ */ >+ load_interfaces(); >+ num_ifaces = iface_count(); >+ > *out_output = data_blob_null; > > array = talloc_zero_array(mem_ctx, >-- >2.41.0 >
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 15547
: 18218