From 7cbc768376ed0a839afca64aeea99cd53d0fbc6f Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sun, 16 Jan 2005 11:15:08 +0000 Subject: r4777: added a smb_composite_sesssetup() async composite function. This encapsulates all the different session setup methods, including the multi-pass spnego code. I have hooked this into all the places that previously used the RAW_SESSSETUP_GENERIC method, and have removed the old RAW_SESSSETUP_GENERIC code from clisession.c and clitree.c. A nice side effect is that these two modules are now very simple again, back to being "raw" session setup handling, which was what was originally intended. I have also used this to replace the session setup code in the smb_composite_connect() code, and used that to build a very simple replacement for smbcli_tree_full_connection(). As a result, smbclient, smbtorture and all our other SMB connection code now goes via these composite async functions. That should give them a good workout! (This used to be commit 080d0518bc7d6fd4bc3ef783e7d4d2e3275d0799) --- source4/include/smb_interfaces.h | 23 +---------------------- source4/include/structs.h | 1 + 2 files changed, 2 insertions(+), 22 deletions(-) (limited to 'source4/include') diff --git a/source4/include/smb_interfaces.h b/source4/include/smb_interfaces.h index 5fae275f10..6bd061bef4 100644 --- a/source4/include/smb_interfaces.h +++ b/source4/include/smb_interfaces.h @@ -201,31 +201,10 @@ union smb_tcon { }; -enum smb_sesssetup_level {RAW_SESSSETUP_GENERIC, RAW_SESSSETUP_OLD, RAW_SESSSETUP_NT1, RAW_SESSSETUP_SPNEGO}; +enum smb_sesssetup_level {RAW_SESSSETUP_OLD, RAW_SESSSETUP_NT1, RAW_SESSSETUP_SPNEGO}; /* union used in session_setup call */ union smb_sesssetup { - - /* generic interface - used for auto selecting based on negotiated - protocol options */ - struct { - enum smb_sesssetup_level level; - - struct { - uint32_t sesskey; - uint32_t capabilities; - const char *password; - const char *user; - const char *domain; - } in; - struct { - uint16_t vuid; - char *os; - char *lanman; - char *domain; - } out; - } generic; - /* the pre-NT1 interface */ struct { enum smb_sesssetup_level level; diff --git a/source4/include/structs.h b/source4/include/structs.h index 2cffac1848..97449dc2b2 100644 --- a/source4/include/structs.h +++ b/source4/include/structs.h @@ -142,3 +142,4 @@ struct smbcli_composite; struct smb_composite_loadfile; struct smb_composite_savefile; struct smb_composite_connect; +struct smb_composite_sesssetup; -- cgit