Share TEST_FAIL/TEST_ALLOC_FAIL/GET_FAIL/GET_ALLOC_FAIL handler
Move the hostapd and wpa_supplicant control interface handlers into a shared functions instead of duplicated implementation. Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
This commit is contained in:
parent
85c96b7cf7
commit
e9bdecce4d
4 changed files with 72 additions and 151 deletions
|
@ -10134,72 +10134,6 @@ done:
|
|||
}
|
||||
|
||||
|
||||
static int wpas_ctrl_test_alloc_fail(struct wpa_supplicant *wpa_s, char *cmd)
|
||||
{
|
||||
#ifdef WPA_TRACE_BFD
|
||||
char *pos;
|
||||
|
||||
wpa_trace_fail_after = atoi(cmd);
|
||||
pos = os_strchr(cmd, ':');
|
||||
if (pos) {
|
||||
pos++;
|
||||
os_strlcpy(wpa_trace_fail_func, pos,
|
||||
sizeof(wpa_trace_fail_func));
|
||||
} else {
|
||||
wpa_trace_fail_after = 0;
|
||||
}
|
||||
return 0;
|
||||
#else /* WPA_TRACE_BFD */
|
||||
return -1;
|
||||
#endif /* WPA_TRACE_BFD */
|
||||
}
|
||||
|
||||
|
||||
static int wpas_ctrl_get_alloc_fail(struct wpa_supplicant *wpa_s,
|
||||
char *buf, size_t buflen)
|
||||
{
|
||||
#ifdef WPA_TRACE_BFD
|
||||
return os_snprintf(buf, buflen, "%u:%s", wpa_trace_fail_after,
|
||||
wpa_trace_fail_func);
|
||||
#else /* WPA_TRACE_BFD */
|
||||
return -1;
|
||||
#endif /* WPA_TRACE_BFD */
|
||||
}
|
||||
|
||||
|
||||
static int wpas_ctrl_test_fail(struct wpa_supplicant *wpa_s, char *cmd)
|
||||
{
|
||||
#ifdef WPA_TRACE_BFD
|
||||
char *pos;
|
||||
|
||||
wpa_trace_test_fail_after = atoi(cmd);
|
||||
pos = os_strchr(cmd, ':');
|
||||
if (pos) {
|
||||
pos++;
|
||||
os_strlcpy(wpa_trace_test_fail_func, pos,
|
||||
sizeof(wpa_trace_test_fail_func));
|
||||
} else {
|
||||
wpa_trace_test_fail_after = 0;
|
||||
}
|
||||
return 0;
|
||||
#else /* WPA_TRACE_BFD */
|
||||
return -1;
|
||||
#endif /* WPA_TRACE_BFD */
|
||||
}
|
||||
|
||||
|
||||
static int wpas_ctrl_get_fail(struct wpa_supplicant *wpa_s,
|
||||
char *buf, size_t buflen)
|
||||
{
|
||||
#ifdef WPA_TRACE_BFD
|
||||
return os_snprintf(buf, buflen, "%u:%s", wpa_trace_test_fail_after,
|
||||
wpa_trace_test_fail_func);
|
||||
#else /* WPA_TRACE_BFD */
|
||||
return -1;
|
||||
#endif /* WPA_TRACE_BFD */
|
||||
}
|
||||
|
||||
|
||||
static void wpas_ctrl_event_test_cb(void *eloop_ctx, void *timeout_ctx)
|
||||
{
|
||||
struct wpa_supplicant *wpa_s = eloop_ctx;
|
||||
|
@ -12886,15 +12820,15 @@ char * wpa_supplicant_ctrl_iface_process(struct wpa_supplicant *wpa_s,
|
|||
if (wpas_ctrl_iface_data_test_frame(wpa_s, buf + 16) < 0)
|
||||
reply_len = -1;
|
||||
} else if (os_strncmp(buf, "TEST_ALLOC_FAIL ", 16) == 0) {
|
||||
if (wpas_ctrl_test_alloc_fail(wpa_s, buf + 16) < 0)
|
||||
if (testing_set_fail_pattern(true, buf + 16) < 0)
|
||||
reply_len = -1;
|
||||
} else if (os_strcmp(buf, "GET_ALLOC_FAIL") == 0) {
|
||||
reply_len = wpas_ctrl_get_alloc_fail(wpa_s, reply, reply_size);
|
||||
reply_len = testing_get_fail_pattern(true, reply, reply_size);
|
||||
} else if (os_strncmp(buf, "TEST_FAIL ", 10) == 0) {
|
||||
if (wpas_ctrl_test_fail(wpa_s, buf + 10) < 0)
|
||||
if (testing_set_fail_pattern(false, buf + 10) < 0)
|
||||
reply_len = -1;
|
||||
} else if (os_strcmp(buf, "GET_FAIL") == 0) {
|
||||
reply_len = wpas_ctrl_get_fail(wpa_s, reply, reply_size);
|
||||
reply_len = testing_get_fail_pattern(false, reply, reply_size);
|
||||
} else if (os_strncmp(buf, "EVENT_TEST ", 11) == 0) {
|
||||
if (wpas_ctrl_event_test(wpa_s, buf + 11) < 0)
|
||||
reply_len = -1;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue