Ignore:
Timestamp:
Nov 27, 2012, 4:43:17 PM (13 years ago)
Author:
Silvan Scherrer
Message:

Samba Server: updated trunk to 3.6.0

Location:
trunk/server
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/server

  • trunk/server/source3/include/auth.h

    r414 r745  
    2020*/
    2121
    22 typedef struct auth_usersupplied_info {
    23         DATA_BLOB lm_resp;
    24         DATA_BLOB nt_resp;
    25         DATA_BLOB lm_interactive_pwd;
    26         DATA_BLOB nt_interactive_pwd;
    27         DATA_BLOB plaintext_password;
     22#include "../auth/common_auth.h"
    2823
    29         bool encrypted;
     24struct extra_auth_info {
     25        struct dom_sid user_sid;
     26        struct dom_sid pgid_sid;
     27};
    3028
    31         bool was_mapped;              /* Did the username map actually match? */
    32         char *client_domain;          /* domain name string */
    33         char *domain;                 /* domain name after mapping */
    34         char *internal_username;      /* username after mapping */
    35         char *smb_name;               /* username before mapping */
    36         char *wksta_name;             /* workstation name (netbios calling
    37                                        * name) unicode string */
     29struct auth_serversupplied_info {
     30        bool guest;
     31        bool system;
    3832
    39         uint32 logon_parameters;
    40 
    41 } auth_usersupplied_info;
    42 
    43 typedef struct auth_serversupplied_info {
    44         bool guest;
    45 
    46         DOM_SID *sids;  /* These SIDs are preliminary between
    47                            check_ntlm_password and the token creation. */
    48         size_t num_sids;
    49 
    50         struct unix_user_token utok;
     33        struct security_unix_token utok;
    5134
    5235        /* NT group information taken from the info3 structure */
    5336
    54         NT_USER_TOKEN *ptok;
     37        struct security_token *security_token;
     38
     39        /* This is the final session key, as used by SMB signing, and
     40         * (truncated to 16 bytes) encryption on the SAMR and LSA pipes
     41         * when over ncacn_np.
     42         * It is calculated by NTLMSSP from the session key in the info3,
     43         * and is  set from the Kerberos session key using
     44         * krb5_auth_con_getremotesubkey().
     45         *
     46         * Bottom line, it is not the same as the session keys in info3.
     47         */
    5548
    5649        DATA_BLOB user_session_key;
    5750        DATA_BLOB lm_session_key;
    5851
    59         char *login_server; /* which server authorized the login? */
     52        struct netr_SamInfo3 *info3;
    6053
    61         struct samu *sam_account;
    62 
    63         void *pam_handle;
     54        /* this structure is filled *only* in pathological cases where the user
     55         * sid or the primary group sid are not sids of the domain. Normally
     56         * this happens only for unix accounts that have unix domain sids.
     57         * This is checked only when info3.rid and/or info3.primary_gid are set
     58         * to the special invalid value of 0xFFFFFFFF */
     59        struct extra_auth_info extra;
    6460
    6561        /*
     
    7874         */
    7975        char *sanitized_username;
    80 } auth_serversupplied_info;
     76};
    8177
    8278struct auth_context {
     
    9288        struct auth_methods *auth_method_list; 
    9389
    94         TALLOC_CTX *mem_ctx;
    95         void (*get_ntlm_challenge)(struct auth_context *auth_context,
    96                                    uint8_t chal[8]);
     90        NTSTATUS (*get_ntlm_challenge)(struct auth_context *auth_context,
     91                                       uint8_t chal[8]);
    9792        NTSTATUS (*check_ntlm_password)(const struct auth_context *auth_context,
    9893                                        const struct auth_usersupplied_info *user_info,
    9994                                        struct auth_serversupplied_info **server_info);
    10095        NTSTATUS (*nt_status_squash)(NTSTATUS nt_status);
    101         void (*free)(struct auth_context **auth_context);
    10296};
    10397
     
    111105                         TALLOC_CTX *mem_ctx,
    112106                         const struct auth_usersupplied_info *user_info,
    113                          auth_serversupplied_info **server_info);
     107                         struct auth_serversupplied_info **server_info);
    114108
    115109        /* If you are using this interface, then you are probably
     
    137131};
    138132
    139 typedef struct auth_ntlmssp_state {
    140         TALLOC_CTX *mem_ctx;
    141         struct auth_context *auth_context;
    142         struct auth_serversupplied_info *server_info;
    143         struct ntlmssp_state *ntlmssp_state;
    144 } AUTH_NTLMSSP_STATE;
     133struct auth_ntlmssp_state;
    145134
    146135/* Changed from 1 -> 2 to add the logon_parameters field. */
    147 #define AUTH_INTERFACE_VERSION 2
     136/* Changed from 2 -> 3 when we reworked many auth structures to use IDL or be in common with Samba4 */
     137#define AUTH_INTERFACE_VERSION 3
     138
     139#include "auth/proto.h"
    148140
    149141#endif /* _SMBAUTH_H_ */
Note: See TracChangeset for help on using the changeset viewer.