summaryrefslogtreecommitdiffstats
path: root/source/include/smb.h
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1999-12-08 21:43:03 +0000
committerLuke Leighton <lkcl@samba.org>1999-12-08 21:43:03 +0000
commit30c7fdd6ef10ecd35594311c1b250b95ff895489 (patch)
tree0eef964462f04360126253f57fa326923c1882ef /source/include/smb.h
parent2245b0c6d13c7c5886e81f9137b05df883598c26 (diff)
downloadsamba-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.h68
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 */