mirror of
https://github.com/samba-team/samba.git
synced 2025-11-20 08:23:50 +03:00
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 commit is contained in:
committed by
Gerald (Jerry) Carter
parent
70860779ae
commit
080d0518bc
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user