Bug 11898 - SMB3 multichannel implementation needs integration with CTDB (public addresses)
Summary: SMB3 multichannel implementation needs integration with CTDB (public addresses)
Status: RESOLVED FIXED
Alias: None
Product: Samba 4.1 and newer
Classification: Unclassified
Component: File services (show other bugs)
Version: 4.4.3
Hardware: All All
: P5 normal with 1 vote (vote)
Target Milestone: ---
Assignee: Michael Adam
QA Contact: Samba QA Contact
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-05-04 19:28 UTC by Michael Adam
Modified: 2020-07-24 15:53 UTC (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Adam 2016-05-04 19:28:27 UTC
If CTDB public addresses (or externally managed virtual/floating IP addresses) are used for multi-channel, then there is the risk of creating a multi-channel session that spans multiple cluster nodes. This is due to the fact that the smb client is not aware that it is talking to a multi-host setup. This situation is something that needs to be prevented by all means, since at least currently the implementation of multichannel in samba is based on the principle that all connections of one multichannel session end up in a single smbd process. Otherwise, data corruption is possible due to lack of coordination.
Comment 1 Michael Adam 2016-05-04 19:30:52 UTC
There are several possible approaches, not completely mutually exclusive:

First is to prevent connections to a different host to be successful in sesion bind.

Second is to change samba to not hand out certain (the floating) addresses in the network_interface_info response if asked on a non-floating IP. On the other hand, if network_interface_info comes in via a floating IP, then only give back this single IP.
Comment 2 Stefan Metzmacher 2020-07-24 15:53:37 UTC
This is fixed as 3afdf2a8618ef9ca7cfba279e87ab59c8ae3d662 in 4.13.0rc1