Improved auto mode detection

This commit is contained in:
wiire-a 2017-11-15 13:01:25 +01:00
parent 6bdf8e8f37
commit e265a62b1d

View File

@ -603,24 +603,20 @@ usage_err:
goto usage_err; goto usage_err;
} }
if (wps->mode_auto) { /* Mode auto */ if (wps->mode_auto) { /* Mode auto, order by probability */
p_mode[0] = RT; if (!memcmp(wps->pke, wps_rtl_pke, WPS_PKEY_LEN)) {
if (wps->pke && (!(wps->e_nonce[0] & 0x80) && !(wps->e_nonce[4] & 0x80) && p_mode[0] = RTL819x;
!(wps->e_nonce[8] & 0x80) && !(wps->e_nonce[12] & 0x80))) { p_mode[1] = NONE;
p_mode[1] = RTL819x;
p_mode[2] = ECOS_SIMPLE;
p_mode[3] = NONE;
} else { } else {
p_mode[1] = ECOS_SIMPLE; p_mode[0] = RT;
if (wps->pke && (!(wps->e_nonce[0] & 0x80) && !(wps->e_nonce[4] & 0x80) &&
/* Not tested */ p_mode[1] = RTL819x;
#ifdef EXTRA p_mode[2] = ECOS_SIMPLE;
p_mode[2] = ECOS_SIMPLEST; p_mode[3] = NONE;
p_mode[3] = ECOS_KNUTH; } else {
p_mode[4] = NONE; p_mode[1] = ECOS_SIMPLE;
#else p_mode[2] = NONE;
p_mode[2] = NONE; }
#endif
} }
} }