#
# username:: The attribute containing the user name.
#
- username = &User-Name
+ username = User-Name
#
# chap_challenge:: The attribute containing the CHAP Challenge.
#
- chap_challenge = &Vendor-Specific.Microsoft.CHAP-Challenge
+ chap_challenge = Vendor-Specific.Microsoft.CHAP-Challenge
#
# chap_response:: The attribute containing the CHAP Response for MS-CHAPv1.
#
- chap_response = &Vendor-Specific.Microsoft.CHAP-Response
+ chap_response = Vendor-Specific.Microsoft.CHAP-Response
#
# chap2_response:: The attribute containing the CHAP Response for MS-CHAPv2.
#
- chap2_response = &Vendor-Specific.Microsoft.CHAP2-Response
+ chap2_response = Vendor-Specific.Microsoft.CHAP2-Response
#
# chap2_success:: The attribute MS-CHAPv2 success messages are returned in.
#
- chap2_success = &Vendor-Specific.Microsoft.CHAP2-Success
+ chap2_success = Vendor-Specific.Microsoft.CHAP2-Success
#
# chap_error:: The attribute CHAP error messages are returned in.
#
- chap_error = &Vendor-Specific.Microsoft.CHAP-Error
+ chap_error = Vendor-Specific.Microsoft.CHAP-Error
#
# chap_mppe_keys:: The attribute MPPE keys are returned in for MS-CHAPv1
#
- chap_mppe_keys = &Vendor-Specific.Microsoft.CHAP-MPPE-Keys
+ chap_mppe_keys = Vendor-Specific.Microsoft.CHAP-MPPE-Keys
#
# mppe_recv_key:: The attribute MPPE recv key is returned in for MS-CHAPv2
#
- mppe_recv_key = &Vendor-Specific.Microsoft.MPPE-Recv-Key
+ mppe_recv_key = Vendor-Specific.Microsoft.MPPE-Recv-Key
#
# mppe_send_key:: The attribute MPPE send key is returned in for MS-CHAPv2
#
- mppe_send_key = &Vendor-Specific.Microsoft.MPPE-Send-Key
+ mppe_send_key = Vendor-Specific.Microsoft.MPPE-Send-Key
#
# mppe_encryption_policy:: The attribute that MPPE encryption policy is returned in.
#
- mppe_encryption_policy = &Vendor-Specific.Microsoft.MPPE-Encryption-Policy
+ mppe_encryption_policy = Vendor-Specific.Microsoft.MPPE-Encryption-Policy
#
# mppe_encryption_types:: The attribute that MPPE encryption type is returned in.
#
- mppe_encryption_types = &Vendor-Specific.Microsoft.MPPE-Encryption-Types
+ mppe_encryption_types = Vendor-Specific.Microsoft.MPPE-Encryption-Types
#
# chap2_cpw:: The attribute used to change a users' password
#
- chap2_cpw = &Vendor-Specific.Microsoft.CHAP2-CPW
+ chap2_cpw = Vendor-Specific.Microsoft.CHAP2-CPW
#
# chap_nt_enc_pw:: The attribute containing the encrypted new NT password
#
- chap_nt_enc_pw = &Vendor-Specific.Microsoft.CHAP-NT-Enc-PW
+ chap_nt_enc_pw = Vendor-Specific.Microsoft.CHAP-NT-Enc-PW
}
#
# changing using MSCHAP.
#
# attributes {
-# username = &User-Name
-# chap_challenge = &MS-CHAP-Challenge
-# chap_response = &MS-CHAP-Response
-# chap2_response = &MS-CHAP2-Response
+# username = User-Name
+# chap_challenge = MS-CHAP-Challenge
+# chap_response = MS-CHAP-Response
+# chap2_response = MS-CHAP2-Response
#
# TACACS+ puts the MS-CHAP2-Success information in the Data field,
# but we call it MS-CHAP2-Success for simplicity.
# See the ALIAS definition in dictionary/tacacs/dictionary.freeradius.internal
#
-# chap2_success = &MS-CHAP2-Success
+# chap2_success = MS-CHAP2-Success
#
# Similarly, TACACS+ puts the MS-CHAP-Error into the Server-Message
# field.
#
-# chap_error = &MS-CHAP-Error
+# chap_error = MS-CHAP-Error
# }
}
{ FR_CALL_ENV_OFFSET("chap_challenge", FR_TYPE_OCTETS,
CALL_ENV_FLAG_ATTRIBUTE | CALL_ENV_FLAG_REQUIRED | CALL_ENV_FLAG_NULLABLE | CALL_ENV_FLAG_CONCAT,
chap_xlat_call_env_t,
- chap_challenge), .pair.dflt = "&Chap-Challenge", .pair.dflt_quote = T_BARE_WORD },
+ chap_challenge), .pair.dflt = "Chap-Challenge", .pair.dflt_quote = T_BARE_WORD },
CALL_ENV_TERMINATOR
}
};
{ FR_CALL_ENV_OFFSET("chap_password", FR_TYPE_OCTETS,
CALL_ENV_FLAG_ATTRIBUTE | CALL_ENV_FLAG_REQUIRED | CALL_ENV_FLAG_NULLABLE | CALL_ENV_FLAG_CONCAT,
chap_autz_call_env_t, chap_password),
- .pair.dflt = "&Chap-Password", .pair.dflt_quote = T_BARE_WORD },
+ .pair.dflt = "Chap-Password", .pair.dflt_quote = T_BARE_WORD },
{ FR_CALL_ENV_PARSE_OFFSET("chap_challenge", FR_TYPE_OCTETS,
CALL_ENV_FLAG_ATTRIBUTE | CALL_ENV_FLAG_REQUIRED | CALL_ENV_FLAG_NULLABLE | CALL_ENV_FLAG_CONCAT,
chap_autz_call_env_t, chap_challenge, chap_challenge_tmpl),
- .pair.dflt = "&Chap-Challenge", .pair.dflt_quote = T_BARE_WORD },
+ .pair.dflt = "Chap-Challenge", .pair.dflt_quote = T_BARE_WORD },
CALL_ENV_TERMINATOR
}
};
{ FR_CALL_ENV_OFFSET("username", FR_TYPE_STRING,
CALL_ENV_FLAG_ATTRIBUTE | CALL_ENV_FLAG_REQUIRED | CALL_ENV_FLAG_CONCAT,
chap_auth_call_env_t, username),
- .pair.dflt = "&User-Name", .pair.dflt_quote = T_BARE_WORD },
+ .pair.dflt = "User-Name", .pair.dflt_quote = T_BARE_WORD },
{ FR_CALL_ENV_OFFSET("chap_password", FR_TYPE_OCTETS,
CALL_ENV_FLAG_ATTRIBUTE | CALL_ENV_FLAG_REQUIRED | CALL_ENV_FLAG_NULLABLE | CALL_ENV_FLAG_CONCAT,
chap_auth_call_env_t, chap_password),
- .pair.dflt = "&Chap-Password", .pair.dflt_quote = T_BARE_WORD },
+ .pair.dflt = "Chap-Password", .pair.dflt_quote = T_BARE_WORD },
{ FR_CALL_ENV_OFFSET("chap_challenge", FR_TYPE_OCTETS,
CALL_ENV_FLAG_ATTRIBUTE | CALL_ENV_FLAG_REQUIRED | CALL_ENV_FLAG_NULLABLE | CALL_ENV_FLAG_CONCAT,
chap_auth_call_env_t, chap_challenge),
- .pair.dflt = "&Chap-Challenge", .pair.dflt_quote = T_BARE_WORD },
+ .pair.dflt = "Chap-Challenge", .pair.dflt_quote = T_BARE_WORD },
CALL_ENV_TERMINATOR
}
};
#define MSCHAP_COMMON_CALL_ENV(_x) \
{ FR_CALL_ENV_PARSE_ONLY_OFFSET("chap_challenge", FR_TYPE_OCTETS, CALL_ENV_FLAG_ATTRIBUTE | CALL_ENV_FLAG_REQUIRED, mschap_ ## _x ## _call_env_t, chap_challenge), \
- .pair.dflt = "&Vendor-Specific.Microsoft.CHAP-Challenge", .pair.dflt_quote = T_BARE_WORD }, \
+ .pair.dflt = "Vendor-Specific.Microsoft.CHAP-Challenge", .pair.dflt_quote = T_BARE_WORD }, \
{ FR_CALL_ENV_PARSE_ONLY_OFFSET("chap_response", FR_TYPE_OCTETS, CALL_ENV_FLAG_ATTRIBUTE | CALL_ENV_FLAG_REQUIRED, mschap_ ## _x ## _call_env_t, chap_response), \
- .pair.dflt = "&Vendor-Specific.Microsoft.CHAP-Response", .pair.dflt_quote = T_BARE_WORD }, \
+ .pair.dflt = "Vendor-Specific.Microsoft.CHAP-Response", .pair.dflt_quote = T_BARE_WORD }, \
{ FR_CALL_ENV_PARSE_ONLY_OFFSET("chap2_response", FR_TYPE_OCTETS, CALL_ENV_FLAG_ATTRIBUTE | CALL_ENV_FLAG_REQUIRED, mschap_ ## _x ## _call_env_t, chap2_response), \
- .pair.dflt = "&Vendor-Specific.Microsoft.CHAP2-Response", .pair.dflt_quote = T_BARE_WORD }
+ .pair.dflt = "Vendor-Specific.Microsoft.CHAP2-Response", .pair.dflt_quote = T_BARE_WORD }
#define MSCHAP_OPT_CALL_ENV(_opt, _x) \
{ FR_CALL_ENV_PARSE_ONLY_OFFSET(STRINGIFY(_opt), FR_TYPE_OCTETS, CALL_ENV_FLAG_ATTRIBUTE, mschap_ ## _x ## _call_env_t, _opt) }
} mschap_xlat_call_env_t;
static const call_env_parser_t xlat_call_env[] = {
- { FR_CALL_ENV_PARSE_ONLY_OFFSET("username", FR_TYPE_STRING, CALL_ENV_FLAG_ATTRIBUTE | CALL_ENV_FLAG_REQUIRED, mschap_xlat_call_env_t, username), .pair.dflt = "&User-Name", .pair.dflt_quote = T_BARE_WORD },
+ { FR_CALL_ENV_PARSE_ONLY_OFFSET("username", FR_TYPE_STRING, CALL_ENV_FLAG_ATTRIBUTE | CALL_ENV_FLAG_REQUIRED, mschap_xlat_call_env_t, username), .pair.dflt = "User-Name", .pair.dflt_quote = T_BARE_WORD },
MSCHAP_COMMON_CALL_ENV(xlat),
CALL_ENV_TERMINATOR
};
MSCHAP_CALL_ENV(xlat);
static const call_env_parser_t auth_call_env[] = {
- { FR_CALL_ENV_PARSE_ONLY_OFFSET("username", FR_TYPE_STRING, CALL_ENV_FLAG_ATTRIBUTE | CALL_ENV_FLAG_REQUIRED, mschap_auth_call_env_t, username), .pair.dflt = "&User-Name", .pair.dflt_quote = T_BARE_WORD },
+ { FR_CALL_ENV_PARSE_ONLY_OFFSET("username", FR_TYPE_STRING, CALL_ENV_FLAG_ATTRIBUTE | CALL_ENV_FLAG_REQUIRED, mschap_auth_call_env_t, username), .pair.dflt = "User-Name", .pair.dflt_quote = T_BARE_WORD },
MSCHAP_COMMON_CALL_ENV(auth),
MSCHAP_OPT_CALL_ENV(chap2_success, auth),
MSCHAP_OPT_CALL_ENV(chap_error, auth),
.env = (call_env_parser_t[]) {
{ FR_CALL_ENV_PARSE_OFFSET("password_attribute", FR_TYPE_STRING,
CALL_ENV_FLAG_ATTRIBUTE | CALL_ENV_FLAG_REQUIRED | CALL_ENV_FLAG_NULLABLE | CALL_ENV_FLAG_CONCAT,
- pap_call_env_t, password, password_tmpl), .pair.dflt = "&User-Password", .pair.dflt_quote = T_BARE_WORD },
+ pap_call_env_t, password, password_tmpl), .pair.dflt = "User-Password", .pair.dflt_quote = T_BARE_WORD },
CALL_ENV_TERMINATOR
}
};
FR_CALL_ENV_METHOD_OUT(winbind_autz_call_env_t),
.env = (call_env_parser_t[]) {
{ FR_CALL_ENV_PARSE_ONLY_OFFSET("password", FR_TYPE_STRING, CALL_ENV_FLAG_ATTRIBUTE | CALL_ENV_FLAG_PARSE_ONLY, winbind_autz_call_env_t, password),
- .pair.dflt = "&User-Password", .pair.dflt_quote = T_BARE_WORD },
+ .pair.dflt = "User-Password", .pair.dflt_quote = T_BARE_WORD },
CALL_ENV_TERMINATOR
}
};