diff options
author | Luke Leighton <lkcl@samba.org> | 1999-12-08 21:43:03 +0000 |
---|---|---|
committer | Luke Leighton <lkcl@samba.org> | 1999-12-08 21:43:03 +0000 |
commit | 30c7fdd6ef10ecd35594311c1b250b95ff895489 (patch) | |
tree | 0eef964462f04360126253f57fa326923c1882ef /source/include/smb.h | |
parent | 2245b0c6d13c7c5886e81f9137b05df883598c26 (diff) | |
download | samba-30c7fdd6ef10ecd35594311c1b250b95ff895489.tar.gz samba-30c7fdd6ef10ecd35594311c1b250b95ff895489.tar.xz samba-30c7fdd6ef10ecd35594311c1b250b95ff895489.zip |
ABOUT TIME!!!!!!!!
damn, this one is bad.
started, at least two days ago, to add an authentication mechanism to
the smbd<->msrpc redirector/relay, such that sufficient unix / nt
information could be transferred across the unix socket to do a
become_user() on the other side of the socket.
it is necessary that the msrpc daemon inherit the same unix and nt
credentials as the smbd process from which it was spawned, until
such time as the msrpc daemon receives an authentication request
of its own, whereupon the msrpc daemon is responsible for authenticating
the new credentials and doing yet another become_user() etc sequence.
Diffstat (limited to 'source/include/smb.h')
-rw-r--r-- | source/include/smb.h | 68 |
1 files changed, 33 insertions, 35 deletions
diff --git a/source/include/smb.h b/source/include/smb.h index d75b1fe0ad5..22bba17e62c 100644 --- a/source/include/smb.h +++ b/source/include/smb.h @@ -576,14 +576,14 @@ typedef struct connection_struct uid_t uid; /* uid of user who *opened* this connection */ gid_t gid; /* gid of user who *opened* this connection */ - uint16 vuid; /* vuid of user who *opened* this connection, or UID_FIELD_INVALID */ - - /* following groups stuff added by ih */ - /* This groups info is valid for the user that *opened* the connection */ int ngroups; gid_t *groups; + uint16 vuid; /* vuid of user who *opened* this connection, or UID_FIELD_INVALID */ + + /* following groups stuff added by ih */ + time_t lastused; BOOL used; int num_files_open; @@ -593,34 +593,6 @@ typedef struct connection_struct } connection_struct; -struct unix_sec_ctxt -{ - uid_t uid; - gid_t gid; - int ngroups; - gid_t *groups; - - char *name; -}; - -struct nt_sec_ctxt -{ - /* this should (will?) probably become a SEC_DESC */ - DOM_SID user_sid; - DOM_SID group_sid; - - char *name; - char *domain; -}; - -#if 0 -struct sec_ctxt -{ - struct unix_sec_ctxt unix; - struct nt_sec_ctxt nt; -}; -#endif - struct current_user { connection_struct *conn; @@ -1700,8 +1672,6 @@ struct nmb_name { unsigned int name_type; }; -#include "client.h" -#include "rpcclient.h" #include "dfs.h" @@ -1744,6 +1714,7 @@ struct field_info }; #define AGENT_CMD_CON 0 +#define AGENT_CMD_CON_ANON 2 #define AGENT_CMD_CON_REUSE 1 #define MAX_MAX_MUX_LIMIT 16 @@ -1754,10 +1725,34 @@ struct nmb_state int port; }; +struct pwd_info +{ + BOOL null_pwd; + BOOL cleartext; + BOOL crypted; + + fstring password; + + uchar smb_lm_pwd[16]; + uchar smb_nt_pwd[16]; + + uchar smb_lm_owf[24]; + uchar smb_nt_owf[128]; + size_t nt_owf_len; + + uchar lm_cli_chal[8]; + uchar nt_cli_chal[128]; + size_t nt_cli_chal_len; + + uchar sess_key[16]; +}; + +#include "rpc_creds.h" + struct msrpc_state { fstring pipe_name; - struct user_credentials usr; + struct user_creds usr; int fd; BOOL redirect; BOOL initialised; @@ -1765,6 +1760,9 @@ struct msrpc_state char *outbuf; }; +#include "client.h" +#include "rpcclient.h" + #endif /* _SMB_H */ /* _SMB_H */ |