improving authentication code (tidyup).
[kai/samba.git] / source / include / client.h
index 53674fe80a402300723ae2372b78c6cfaf1e8be1..b06d87718154477b60ff4a927a8870328bcb2b68 100644 (file)
 
 typedef struct file_info
 {
-  SMB_OFF_T size;
-  int mode;
-  uid_t uid;
-  gid_t gid;
-  /* these times are normally kept in GMT */
-  time_t mtime;
-  time_t atime;
-  time_t ctime;
-  pstring name;
+       SMB_OFF_T size;
+       uint16 mode;
+       uid_t uid;
+       gid_t gid;
+       /* these times are normally kept in GMT */
+       time_t mtime;
+       time_t atime;
+       time_t ctime;
+       pstring name;
 } file_info;
 
 struct print_job_info
@@ -58,20 +58,26 @@ struct print_job_info
 
 struct pwd_info
 {
-    BOOL null_pwd;
-    BOOL cleartext;
-    BOOL crypted;
+       BOOL null_pwd;
+       BOOL cleartext;
+       BOOL crypted;
 
-    fstring password;
+       fstring password;
 
-    uchar smb_lm_pwd[16];
-    uchar smb_nt_pwd[16];
+       uchar smb_lm_pwd[16];
+       uchar smb_nt_pwd[16];
 
-    uchar smb_lm_owf[24];
-    uchar smb_nt_owf[24];
+       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;
 };
 
 struct cli_state {
+       int port;
        int fd;
        uint16 cnum;
        uint16 pid;
@@ -87,6 +93,15 @@ struct cli_state {
        fstring user_name;
        fstring domain;
 
+       /*
+        * The following strings are the
+        * ones returned by the server if
+        * the protocol > NT1.
+        */
+       fstring server_type;
+       fstring server_os;
+       fstring server_domain;
+
        fstring share;
        fstring dev;
        struct nmb_name called;
@@ -96,6 +111,12 @@ struct cli_state {
 
        struct pwd_info pwd;
        unsigned char cryptkey[8];
+       unsigned char lm_cli_chal[8];
+       unsigned char nt_cli_chal[128];
+       size_t nt_cli_chal_len;
+
+       BOOL use_ntlmv2;
+
        uint32 sesskey;
        int serverzone;
        uint32 servertime;
@@ -116,7 +137,6 @@ struct cli_state {
         */
 
        uint32 nt_error;                   /* NT RPC error code. */
-       uint16 nt_pipe_fnum;               /* Pipe handle. */
        unsigned char sess_key[16];        /* Current session key. */
        unsigned char ntlmssp_hash[258];   /* ntlmssp data. */
        uint32 ntlmssp_cli_flgs;           /* ntlmssp client flags */
@@ -126,6 +146,8 @@ struct cli_state {
        fstring mach_acct;                 /* MYNAME$. */
        fstring srv_name_slash;            /* \\remote server. */
        fstring clnt_name_slash;           /* \\local client. */
+       uint16 max_xmit_frag;
+       uint16 max_recv_frag;
 };
 
 #endif /* _CLIENT_H */