The FreeRADIUS server  $Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
rlm_mschap.h
Go to the documentation of this file.
1 #pragma once
2 /* @copyright 2006-2015 The FreeRADIUS server project */
3 RCSIDH(rlm_mschap_h, "$Id: 21ccb9790db569957f79dadd7d50677ab2c7854d $")
4 
5 #include "config.h"
6 
7 #include <freeradius-devel/util/dict.h>
8 #include <freeradius-devel/server/tmpl.h>
9 
10 #ifdef WITH_AUTH_WINBIND
11 # include <wbclient.h>
12 
13 #include <freeradius-devel/server/pool.h>
14 #endif
15 
16 /* Method of authentication we are going to use */
17 typedef enum {
18  AUTH_INTERNAL = 0, /* MS-CHAP-Use-NTLM-Auth = no */
19  AUTH_NTLMAUTH_EXEC = 1, /* MS-CHAP-Use-NTLM-Auth = yes */
20  AUTH_AUTO = 2, /* MS-CHAP-Use-NTLM-Auth = auto */
21 #ifdef WITH_AUTH_WINBIND
22  AUTH_WBCLIENT = 3
23 #endif
25 
32 
34 
40 
41 typedef struct {
43 
44  bool normify;
45 
46  bool use_mppe;
49  bool with_ntdomain_hack; /* this should be in another module */
50 
51  char const *ntlm_auth;
53  char const *ntlm_cpw;
54 
56  char const *retry_msg;
58  char const *wb_username;
59 #ifdef WITH_AUTH_WINBIND
60  fr_pool_t *wb_pool;
61  bool wb_retry_with_normalised_username;
62 #endif
63 #ifdef __APPLE__
64  bool open_directory;
65 #endif
66 } rlm_mschap_t;
67 
68 typedef struct {
69  tmpl_t const *username;
80  tmpl_t const *chap2_cpw;
86  tmpl_t const *local_cpw;
#define RCSIDH(h, id)
Definition: build.h:445
#define HIDDEN
Definition: build.h:312
Value of an enumerated attribute.
Definition: dict.h:209
A connection pool.
Definition: pool.c:85
char const * ntlm_cpw
Definition: rlm_mschap.h:53
HIDDEN fr_dict_attr_t const * attr_smb_account_ctrl
Definition: rlm_mschap.c:257
char const * wb_username
Definition: rlm_mschap.h:58
tmpl_t const * username
Definition: rlm_mschap.h:69
fr_dict_enum_value_t * auth_type
Definition: rlm_mschap.h:42
bool use_mppe
Definition: rlm_mschap.h:46
HIDDEN fr_dict_attr_t const * attr_auth_type
Definition: rlm_eap_peap.c:78
fr_value_box_t wb_domain
Definition: rlm_mschap.h:83
MSCHAP_AUTH_METHOD method
Definition: rlm_mschap.h:57
tmpl_t const * mppe_encryption_types
Definition: rlm_mschap.h:79
fr_time_delta_t ntlm_auth_timeout
Definition: rlm_mschap.h:52
HIDDEN fr_dict_attr_t const * attr_eap_identity
Definition: base.c:85
HIDDEN fr_dict_attr_t const * attr_nt_password
Definition: rlm_ldap.c:315
char const * ntlm_auth
Definition: rlm_mschap.h:51
HIDDEN fr_dict_attr_t const * attr_ms_chap_new_nt_password
Definition: rlm_mschap.c:251
HIDDEN fr_dict_attr_t const * attr_ms_chap_peer_challenge
Definition: rlm_eap_fast.c:98
tmpl_t const * ntlm_cpw_domain
Definition: rlm_mschap.h:85
tmpl_t const * ntlm_cpw_username
Definition: rlm_mschap.h:84
fr_value_box_t wb_username
Definition: rlm_mschap.h:82
HIDDEN fr_dict_attr_t const * attr_lm_password
tmpl_t const * chap_nt_enc_pw
Definition: rlm_mschap.h:81
tmpl_t const * mppe_send_key
Definition: rlm_mschap.h:78
HIDDEN fr_dict_attr_t const * attr_ms_chap_new_cleartext_password
Definition: rlm_mschap.c:250
char const * retry_msg
Definition: rlm_mschap.h:56
bool allow_retry
Definition: rlm_mschap.h:55
tmpl_t const * chap_response
Definition: rlm_mschap.h:72
bool require_encryption
Definition: rlm_mschap.h:47
tmpl_t const * local_cpw
Definition: rlm_mschap.h:86
tmpl_t const * chap_challenge
Definition: rlm_mschap.h:71
tmpl_t const * chap2_response
Definition: rlm_mschap.h:73
bool require_strong
Definition: rlm_mschap.h:48
tmpl_t const * mppe_encryption_policy
Definition: rlm_mschap.h:76
bool with_ntdomain_hack
Definition: rlm_mschap.h:49
bool normify
Definition: rlm_mschap.h:44
HIDDEN fr_dict_attr_t const * attr_ms_chap_user_name
Definition: rlm_mschap.c:254
tmpl_t const * mppe_recv_key
Definition: rlm_mschap.h:77
tmpl_t const * chap_error
Definition: rlm_mschap.h:70
tmpl_t const * chap2_cpw
Definition: rlm_mschap.h:80
tmpl_t const * chap2_success
Definition: rlm_mschap.h:74
MSCHAP_AUTH_METHOD
Definition: rlm_mschap.h:17
@ AUTH_AUTO
Definition: rlm_mschap.h:20
@ AUTH_INTERNAL
Definition: rlm_mschap.h:18
@ AUTH_NTLMAUTH_EXEC
Definition: rlm_mschap.h:19
HIDDEN fr_dict_attr_t const * attr_smb_account_ctrl_text
Definition: rlm_mschap.c:256
HIDDEN fr_dict_attr_t const * attr_cleartext_password
Definition: rlm_ldap.c:312
tmpl_t const * chap_mppe_keys
Definition: rlm_mschap.h:75
HIDDEN fr_dict_attr_t const * attr_ms_chap_use_ntlm_auth
Definition: rlm_mschap.c:253
A time delta, a difference in time measured in nanoseconds.
Definition: time.h:80