#* secure negotiation [4.0]
#* durable handles v2 [4.0]
#* '''_red_Multi-Channel_''' [WIP+]
-#* SMB direct [designing/starting]
-#* persistent file handles [design/tracer]
-#* cluster features [design]
+#* SMB direct [design]
+#* cluster features [design/WIP]
#** witness [WIP+]
+#* persistent file handles [design/tracer]
#* storage features [WIP]
-# SMB 3.0.2 (Win8.1 / 2012R2): [DONE,master]
+# SMB 3.0.2 (Win8.1 / 2012R2): [4.3]
# SMB 3.1.1 (Win10 / 2014):
-#* negotiate contexts, preauth: [DONE,master]
+#* negotiate contexts, preauth: [4.3]
[[[.35\textwidth]]]
%<<<durable-crop-colormod-1024,width=.9\textwidth>>>
** ''Natural choice'': at SessionSetup (Bind)
** !Idea!: as early as possible, based on ClientGUID \\ %
==> per ClientGUID single process model
-*<0> !But!: This may not work! \frownie
+*<0> !But!: There may be problems! ... \frownie
[block]>
** ''Natural choice'': at SessionSetup (Bind)
** !Idea!: as early as possible, based on ClientGUID \\ %
==> per ClientGUID single process model
-*<0> !But!: This may not work! \frownie
+*<0> !But!: There may be problems! ... \frownie
[block]>
** ''Natural choice'': at SessionSetup (Bind)
** ''Idea'': as early as possible, based on ClientGUID \\ %
==> per ClientGUID single process model
-* !But!: This may not work! \frownie
+* !But!: There may be problems! ... \frownie
[block]>
}
+<3->{
-<[block]{This may not be correct!}
-There is confusion -- currently being discussed.
+<[block]{The truth is...}
+The Windows server does not enforce it!
+[block]>
+}
+
+
+==== The Relevance of the ClientGUID ====
+
+<[block]{Windows behaviour according to MS}
+* The server does NOT enforce same ClientGUID in a session.
+* But clients can be expected to do it.
+* But it is not explicitly documented like this.
+[block]>
+
++<2->{
+<[block]{The good news:}
+There will be documentation notes:
+* Things will not work as expected when clients behave differently.
+* It is OK for a server to enforce equality of ClientGUID within session.
[block]>
}
-==== More on ClientGUID : Leases ====
+==== More digression on ClientGUID : Leases ====
<[block]{According to [MS-SMB2]}
* Server Global data Structures:
** smb server uses ClientGuid and LeaseKey given by ObjectStore
==> !Inconsistent\! -- What to do?!
-
[block]>
-==== Multi-Channel $\in$ Samba : pass by SessionID ====
+==== Multi-Channel $\in$ Samba : pass by SessionID (plan B) ====
<[center]
<<<smb3-mc-samba-v2.png,height=.9\textheight>>>
# implement smbd message to pass a tcp socket [ess.DONE]
# transfer connection in Negotiate (by ClientGUID) [ess.DONE]
# implement session bind [ess.DONE]
-# transfer connection in Session Bind (by SessionID) [WIP]
+# transfer connection in Session Bind (by SessionID) [thinking..]
# implement channel epoch numbers [WIP]
# implement interface discovery [WIP]
# implement test case [WIP(isn't it always?... $\smiley$)]