wlantest: Add wlantest_cli command add_wep

This can be used to configure a known WEP key for decrypting WEP frames.

Signed-hostap: Jouni Malinen <j@w1.fi>
This commit is contained in:
Jouni Malinen 2013-03-29 19:12:35 +02:00
parent e492837b67
commit 8cb9bc19fb

View file

@ -1,6 +1,6 @@
/* /*
* wlantest controller * wlantest controller
* Copyright (c) 2010, Jouni Malinen <j@w1.fi> * Copyright (c) 2010-2013, Jouni Malinen <j@w1.fi>
* *
* This software may be distributed under the terms of the BSD license. * This software may be distributed under the terms of the BSD license.
* See README for more details. * See README for more details.
@ -1209,6 +1209,32 @@ static int cmd_add_passphrase(int s, int argc, char *argv[])
} }
static int cmd_add_wepkey(int s, int argc, char *argv[])
{
u8 resp[WLANTEST_CTRL_MAX_RESP_LEN];
u8 buf[100], *pos, *end;
size_t len;
int rlen;
if (argc < 1) {
printf("add_wepkey needs one argument: WEP key\n");
return -1;
}
len = os_strlen(argv[0]);
pos = buf;
end = buf + sizeof(buf);
WPA_PUT_BE32(pos, WLANTEST_CTRL_ADD_PASSPHRASE);
pos += 4;
pos = attr_add_str(pos, end, WLANTEST_ATTR_WEPKEY, argv[0]);
rlen = cmd_send_and_recv(s, buf, pos - buf, resp, sizeof(resp));
if (rlen < 0)
return -1;
return 0;
}
struct sta_infos { struct sta_infos {
const char *name; const char *name;
enum wlantest_sta_info num; enum wlantest_sta_info num;
@ -1455,6 +1481,8 @@ static const struct wlantest_cli_cmd wlantest_cli_commands[] = {
{ "version", cmd_version, "= get wlantest version", NULL }, { "version", cmd_version, "= get wlantest version", NULL },
{ "add_passphrase", cmd_add_passphrase, { "add_passphrase", cmd_add_passphrase,
"<passphrase> = add a known passphrase", NULL }, "<passphrase> = add a known passphrase", NULL },
{ "add_wepkey", cmd_add_wepkey,
"<WEP key> = add a known WEP key", NULL },
{ "info_sta", cmd_info_sta, { "info_sta", cmd_info_sta,
"<field> <BSSID> <STA> = get STA information", "<field> <BSSID> <STA> = get STA information",
complete_info_sta }, complete_info_sta },