bss->oci_freq_override_fils_assoc = atoi(pos);
} else if (os_strcmp(buf, "oci_freq_override_wnm_sleep") == 0) {
bss->oci_freq_override_wnm_sleep = atoi(pos);
+ } else if (os_strcmp(buf, "eap_skip_prot_success") == 0) {
+ bss->eap_skip_prot_success = atoi(pos);
#endif /* CONFIG_TESTING_OPTIONS */
#ifdef CONFIG_SAE
} else if (os_strcmp(buf, "sae_password") == 0) {
int eap_reauth_period;
int erp_send_reauth_start;
char *erp_domain;
+#ifdef CONFIG_TESTING_OPTIONS
+ bool eap_skip_prot_success;
+#endif /* CONFIG_TESTING_OPTIONS */
enum macaddr_acl {
ACCEPT_UNLESS_DENIED = 0,
cfg->server_id_len = 7;
}
cfg->erp = hapd->conf->eap_server_erp;
+#ifdef CONFIG_TESTING_OPTIONS
+ cfg->skip_prot_success = hapd->conf->eap_skip_prot_success;
+#endif /* CONFIG_TESTING_OPTIONS */
return cfg;
}
conf.eap_req_id_text_len = hapd->conf->eap_req_id_text_len;
conf.erp_send_reauth_start = hapd->conf->erp_send_reauth_start;
conf.erp_domain = hapd->conf->erp_domain;
+#ifdef CONFIG_TESTING_OPTIONS
+ conf.eap_skip_prot_success = hapd->conf->eap_skip_prot_success;
+#endif /* CONFIG_TESTING_OPTIONS */
os_memset(&cb, 0, sizeof(cb));
cb.eapol_send = ieee802_1x_eapol_send;
unsigned int max_auth_rounds;
unsigned int max_auth_rounds_short;
+
+#ifdef CONFIG_TESTING_OPTIONS
+ bool skip_prot_success;
+#endif /* CONFIG_TESTING_OPTIONS */
};
struct eap_session_data {
if (data->tls_out_limit > 100)
data->tls_out_limit -= 100;
}
+
+#ifdef CONFIG_TESTING_OPTIONS
+ data->skip_prot_success = sm->cfg->skip_prot_success;
+#endif /* CONFIG_TESTING_OPTIONS */
+
return 0;
}
break;
/* fallthrough */
case EAP_TYPE_TLS:
+#ifdef CONFIG_TESTING_OPTIONS
+ if (data->skip_prot_success) {
+ wpa_printf(MSG_INFO,
+ "TESTING: Do not send protected success indication");
+ break;
+ }
+#endif /* CONFIG_TESTING_OPTIONS */
wpa_printf(MSG_DEBUG,
"EAP-TLS: Send protected success indication (appl data 0x00)");
* tls_v13 - Whether TLS v1.3 or newer is used
*/
int tls_v13;
+
+ bool skip_prot_success; /* testing behavior only for TLS v1.3 */
};
size_t eap_req_id_text_len;
int erp_send_reauth_start;
char *erp_domain; /* a copy of this will be allocated */
+ bool eap_skip_prot_success;
/* Opaque context pointer to owner data for callback functions */
void *ctx;