about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorMarc <marc@malloc.me>2023-04-06 20:53:56 +1000
committerGitHub <noreply@github.com>2023-04-06 20:53:56 +1000
commite87c63db4a2ae4b2ddeefc00ed9ae4669333d016 (patch)
tree233c3421710894b82a4ed9832fd4d0e31c9f657a /src
parent2ab2d320aab4b241d5a541f93114d0a6005c861f (diff)
parentdcce020904ed2c89cad02267df3f05abb8902a52 (diff)
downloadlibwifi-e87c63db4a2ae4b2ddeefc00ed9ae4669333d016.tar.gz
libwifi-e87c63db4a2ae4b2ddeefc00ed9ae4669333d016.tar.bz2
libwifi-e87c63db4a2ae4b2ddeefc00ed9ae4669333d016.zip
Merge pull request #15 from libwifi/cleanup
gen: Remove randomness from generated frames by default
Diffstat (limited to 'src')
-rw-r--r--src/libwifi/gen/management/action.c7
-rw-r--r--src/libwifi/gen/management/assoc_request.c2
-rw-r--r--src/libwifi/gen/management/assoc_response.c3
-rw-r--r--src/libwifi/gen/management/atim.c3
-rw-r--r--src/libwifi/gen/management/authentication.c2
-rw-r--r--src/libwifi/gen/management/beacon.c2
-rw-r--r--src/libwifi/gen/management/deauthentication.c3
-rw-r--r--src/libwifi/gen/management/disassociation.c3
-rw-r--r--src/libwifi/gen/management/probe_request.c1
-rw-r--r--src/libwifi/gen/management/probe_response.c5
-rw-r--r--src/libwifi/gen/management/reassoc_request.c2
-rw-r--r--src/libwifi/gen/management/reassoc_response.c2
-rw-r--r--src/libwifi/gen/management/timing_ad.c1
13 files changed, 2 insertions, 34 deletions
diff --git a/src/libwifi/gen/management/action.c b/src/libwifi/gen/management/action.c index 644f07a..7e80b4e 100644 --- a/src/libwifi/gen/management/action.c +++ b/src/libwifi/gen/management/action.c
@@ -56,9 +56,6 @@ int libwifi_create_action(struct libwifi_action *action,
56 memcpy(&action->frame_header.addr1, receiver, 6); 56 memcpy(&action->frame_header.addr1, receiver, 6);
57 memcpy(&action->frame_header.addr2, transmitter, 6); 57 memcpy(&action->frame_header.addr2, transmitter, 6);
58 memcpy(&action->frame_header.addr3, address3, 6); 58 memcpy(&action->frame_header.addr3, address3, 6);
59
60 action->frame_header.seq_control.sequence_number = (rand() % 4096);
61
62 action->fixed_parameters.category = category; 59 action->fixed_parameters.category = category;
63 60
64 return 0; 61 return 0;
@@ -76,9 +73,6 @@ int libwifi_create_action_no_ack(struct libwifi_action *action,
76 memcpy(&action->frame_header.addr1, receiver, 6); 73 memcpy(&action->frame_header.addr1, receiver, 6);
77 memcpy(&action->frame_header.addr2, transmitter, 6); 74 memcpy(&action->frame_header.addr2, transmitter, 6);
78 memcpy(&action->frame_header.addr3, address3, 6); 75 memcpy(&action->frame_header.addr3, address3, 6);
79
80 action->frame_header.seq_control.sequence_number = (rand() % 4096);
81
82 action->fixed_parameters.category = category; 76 action->fixed_parameters.category = category;
83 77
84 return 0; 78 return 0;
@@ -102,6 +96,7 @@ size_t libwifi_dump_action(struct libwifi_action *action, unsigned char *buf, si
102 96
103 memcpy(buf + offset, &action->fixed_parameters.category, sizeof(action->fixed_parameters.category)); 97 memcpy(buf + offset, &action->fixed_parameters.category, sizeof(action->fixed_parameters.category));
104 offset += sizeof(action->fixed_parameters.category); 98 offset += sizeof(action->fixed_parameters.category);
99
105 memcpy(buf + offset, action->fixed_parameters.details.detail, 100 memcpy(buf + offset, action->fixed_parameters.details.detail,
106 action->fixed_parameters.details.detail_length); 101 action->fixed_parameters.details.detail_length);
107 offset += action->fixed_parameters.details.detail_length; 102 offset += action->fixed_parameters.details.detail_length;
diff --git a/src/libwifi/gen/management/assoc_request.c b/src/libwifi/gen/management/assoc_request.c index e9d720e..f9a0b72 100644 --- a/src/libwifi/gen/management/assoc_request.c +++ b/src/libwifi/gen/management/assoc_request.c
@@ -46,8 +46,6 @@ int libwifi_create_assoc_req(struct libwifi_assoc_req *assoc_req,
46 memcpy(&assoc_req->frame_header.addr1, receiver, 6); 46 memcpy(&assoc_req->frame_header.addr1, receiver, 6);
47 memcpy(&assoc_req->frame_header.addr2, transmitter, 6); 47 memcpy(&assoc_req->frame_header.addr2, transmitter, 6);
48 memcpy(&assoc_req->frame_header.addr3, address3, 6); 48 memcpy(&assoc_req->frame_header.addr3, address3, 6);
49 assoc_req->frame_header.seq_control.sequence_number = (rand() % 4096);
50
51 assoc_req->fixed_parameters.capabilities_information = BYTESWAP16(LIBWIFI_DEFAULT_AP_CAPABS); 49 assoc_req->fixed_parameters.capabilities_information = BYTESWAP16(LIBWIFI_DEFAULT_AP_CAPABS);
52 assoc_req->fixed_parameters.listen_interval = BYTESWAP16(LIBWIFI_DEFAULT_LISTEN_INTERVAL); 50 assoc_req->fixed_parameters.listen_interval = BYTESWAP16(LIBWIFI_DEFAULT_LISTEN_INTERVAL);
53 51
diff --git a/src/libwifi/gen/management/assoc_response.c b/src/libwifi/gen/management/assoc_response.c index 0fd145c..531a5c9 100644 --- a/src/libwifi/gen/management/assoc_response.c +++ b/src/libwifi/gen/management/assoc_response.c
@@ -52,7 +52,6 @@ int libwifi_set_assoc_resp_channel(struct libwifi_assoc_resp *assoc_resp, uint8_
52 } 52 }
53 53
54 const unsigned char *chan = (const unsigned char *) &channel; 54 const unsigned char *chan = (const unsigned char *) &channel;
55
56 ret = libwifi_quick_add_tag(&assoc_resp->tags, TAG_DS_PARAMETER, chan, 1); 55 ret = libwifi_quick_add_tag(&assoc_resp->tags, TAG_DS_PARAMETER, chan, 1);
57 56
58 return ret; 57 return ret;
@@ -74,10 +73,8 @@ int libwifi_create_assoc_resp(struct libwifi_assoc_resp *assoc_resp,
74 memcpy(&assoc_resp->frame_header.addr1, receiver, 6); 73 memcpy(&assoc_resp->frame_header.addr1, receiver, 6);
75 memcpy(&assoc_resp->frame_header.addr2, transmitter, 6); 74 memcpy(&assoc_resp->frame_header.addr2, transmitter, 6);
76 memcpy(&assoc_resp->frame_header.addr3, address3, 6); 75 memcpy(&assoc_resp->frame_header.addr3, address3, 6);
77
78 assoc_resp->fixed_parameters.capabilities_information = BYTESWAP16(LIBWIFI_DEFAULT_AP_CAPABS); 76 assoc_resp->fixed_parameters.capabilities_information = BYTESWAP16(LIBWIFI_DEFAULT_AP_CAPABS);
79 assoc_resp->fixed_parameters.status_code = STATUS_SUCCESS; 77 assoc_resp->fixed_parameters.status_code = STATUS_SUCCESS;
80 assoc_resp->fixed_parameters.association_id = rand() % 4096;
81 78
82 libwifi_set_assoc_resp_channel(assoc_resp, channel); 79 libwifi_set_assoc_resp_channel(assoc_resp, channel);
83 80
diff --git a/src/libwifi/gen/management/atim.c b/src/libwifi/gen/management/atim.c index 60b5203..e27632a 100644 --- a/src/libwifi/gen/management/atim.c +++ b/src/libwifi/gen/management/atim.c
@@ -29,9 +29,6 @@ int libwifi_create_atim(struct libwifi_atim *atim,
29 memcpy(&atim->frame_header.addr1, transmitter, 6); 29 memcpy(&atim->frame_header.addr1, transmitter, 6);
30 memcpy(&atim->frame_header.addr2, receiver, 6); 30 memcpy(&atim->frame_header.addr2, receiver, 6);
31 memcpy(&atim->frame_header.addr3, address3, 6); 31 memcpy(&atim->frame_header.addr3, address3, 6);
32 atim->frame_header.frame_control.flags.power_mgmt = 1;
33 atim->frame_header.duration = (rand() % 4096);
34 atim->frame_header.seq_control.sequence_number = (rand() % 4096);
35 32
36 return 0; 33 return 0;
37} 34}
diff --git a/src/libwifi/gen/management/authentication.c b/src/libwifi/gen/management/authentication.c index fa1d769..c69e1fe 100644 --- a/src/libwifi/gen/management/authentication.c +++ b/src/libwifi/gen/management/authentication.c
@@ -46,8 +46,6 @@ int libwifi_create_auth(struct libwifi_auth *auth,
46 memcpy(&auth->frame_header.addr1, receiver, 6); 46 memcpy(&auth->frame_header.addr1, receiver, 6);
47 memcpy(&auth->frame_header.addr2, transmitter, 6); 47 memcpy(&auth->frame_header.addr2, transmitter, 6);
48 memcpy(&auth->frame_header.addr3, address3, 6); 48 memcpy(&auth->frame_header.addr3, address3, 6);
49 auth->frame_header.seq_control.sequence_number = (rand() % 4096);
50
51 auth->fixed_parameters.algorithm_number = algorithm_number; 49 auth->fixed_parameters.algorithm_number = algorithm_number;
52 auth->fixed_parameters.transaction_sequence = transaction_sequence; 50 auth->fixed_parameters.transaction_sequence = transaction_sequence;
53 auth->fixed_parameters.status_code = status_code; 51 auth->fixed_parameters.status_code = status_code;
diff --git a/src/libwifi/gen/management/beacon.c b/src/libwifi/gen/management/beacon.c index ab99254..f70a981 100644 --- a/src/libwifi/gen/management/beacon.c +++ b/src/libwifi/gen/management/beacon.c
@@ -91,8 +91,6 @@ int libwifi_create_beacon(struct libwifi_beacon *beacon,
91 memcpy(&beacon->frame_header.addr1, receiver, 6); 91 memcpy(&beacon->frame_header.addr1, receiver, 6);
92 memcpy(&beacon->frame_header.addr2, transmitter, 6); 92 memcpy(&beacon->frame_header.addr2, transmitter, 6);
93 memcpy(&beacon->frame_header.addr3, address3, 6); 93 memcpy(&beacon->frame_header.addr3, address3, 6);
94 beacon->frame_header.seq_control.sequence_number = (rand() % 4096);
95
96 beacon->fixed_parameters.timestamp = BYTESWAP64(libwifi_get_epoch()); 94 beacon->fixed_parameters.timestamp = BYTESWAP64(libwifi_get_epoch());
97 beacon->fixed_parameters.beacon_interval = BYTESWAP16(LIBWIFI_DEFAULT_BEACON_INTERVAL); 95 beacon->fixed_parameters.beacon_interval = BYTESWAP16(LIBWIFI_DEFAULT_BEACON_INTERVAL);
98 beacon->fixed_parameters.capabilities_information = BYTESWAP16(LIBWIFI_DEFAULT_AP_CAPABS); 96 beacon->fixed_parameters.capabilities_information = BYTESWAP16(LIBWIFI_DEFAULT_AP_CAPABS);
diff --git a/src/libwifi/gen/management/deauthentication.c b/src/libwifi/gen/management/deauthentication.c index a388a6e..df2b7d9 100644 --- a/src/libwifi/gen/management/deauthentication.c +++ b/src/libwifi/gen/management/deauthentication.c
@@ -45,9 +45,6 @@ int libwifi_create_deauth(struct libwifi_deauth *deauth,
45 memcpy(&deauth->frame_header.addr1, receiver, 6); 45 memcpy(&deauth->frame_header.addr1, receiver, 6);
46 memcpy(&deauth->frame_header.addr2, transmitter, 6); 46 memcpy(&deauth->frame_header.addr2, transmitter, 6);
47 memcpy(&deauth->frame_header.addr3, address3, 6); 47 memcpy(&deauth->frame_header.addr3, address3, 6);
48
49 deauth->frame_header.seq_control.sequence_number = (rand() % 4096);
50
51 memcpy(&deauth->fixed_parameters.reason_code, &reason_code, sizeof(reason_code)); 48 memcpy(&deauth->fixed_parameters.reason_code, &reason_code, sizeof(reason_code));
52 49
53 return 0; 50 return 0;
diff --git a/src/libwifi/gen/management/disassociation.c b/src/libwifi/gen/management/disassociation.c index dde1f1e..c3b00a9 100644 --- a/src/libwifi/gen/management/disassociation.c +++ b/src/libwifi/gen/management/disassociation.c
@@ -45,9 +45,6 @@ int libwifi_create_disassoc(struct libwifi_disassoc *disassoc,
45 memcpy(&disassoc->frame_header.addr1, receiver, 6); 45 memcpy(&disassoc->frame_header.addr1, receiver, 6);
46 memcpy(&disassoc->frame_header.addr2, transmitter, 6); 46 memcpy(&disassoc->frame_header.addr2, transmitter, 6);
47 memcpy(&disassoc->frame_header.addr3, address3, 6); 47 memcpy(&disassoc->frame_header.addr3, address3, 6);
48
49 disassoc->frame_header.seq_control.sequence_number = (rand() % 4096);
50
51 memcpy(&disassoc->fixed_parameters.reason_code, &reason_code, sizeof(reason_code)); 48 memcpy(&disassoc->fixed_parameters.reason_code, &reason_code, sizeof(reason_code));
52 49
53 return 0; 50 return 0;
diff --git a/src/libwifi/gen/management/probe_request.c b/src/libwifi/gen/management/probe_request.c index 8e4ce60..8374a80 100644 --- a/src/libwifi/gen/management/probe_request.c +++ b/src/libwifi/gen/management/probe_request.c
@@ -44,7 +44,6 @@ int libwifi_create_probe_req(struct libwifi_probe_req *probe_req,
44 memcpy(&probe_req->frame_header.addr1, receiver, 6); 44 memcpy(&probe_req->frame_header.addr1, receiver, 6);
45 memcpy(&probe_req->frame_header.addr2, transmitter, 6); 45 memcpy(&probe_req->frame_header.addr2, transmitter, 6);
46 memcpy(&probe_req->frame_header.addr3, address3, 6); 46 memcpy(&probe_req->frame_header.addr3, address3, 6);
47 probe_req->frame_header.seq_control.sequence_number = (rand() % 4096);
48 47
49 int ret = libwifi_quick_add_tag(&probe_req->tags, TAG_SSID, (const unsigned char *) ssid, strlen(ssid)); 48 int ret = libwifi_quick_add_tag(&probe_req->tags, TAG_SSID, (const unsigned char *) ssid, strlen(ssid));
50 if (ret != 0) { 49 if (ret != 0) {
diff --git a/src/libwifi/gen/management/probe_response.c b/src/libwifi/gen/management/probe_response.c index 603d0c4..f1347bd 100644 --- a/src/libwifi/gen/management/probe_response.c +++ b/src/libwifi/gen/management/probe_response.c
@@ -91,11 +91,8 @@ int libwifi_create_probe_resp(struct libwifi_probe_resp *probe_resp,
91 memcpy(&probe_resp->frame_header.addr1, receiver, 6); 91 memcpy(&probe_resp->frame_header.addr1, receiver, 6);
92 memcpy(&probe_resp->frame_header.addr2, transmitter, 6); 92 memcpy(&probe_resp->frame_header.addr2, transmitter, 6);
93 memcpy(&probe_resp->frame_header.addr3, address3, 6); 93 memcpy(&probe_resp->frame_header.addr3, address3, 6);
94
95 probe_resp->frame_header.seq_control.sequence_number = (rand() % 4096);
96 probe_resp->fixed_parameters.timestamp = BYTESWAP64(libwifi_get_epoch()); 94 probe_resp->fixed_parameters.timestamp = BYTESWAP64(libwifi_get_epoch());
97 uint16_t probe_resp_interval = 50 + (rand() % 100); 95 probe_resp->fixed_parameters.probe_resp_interval = BYTESWAP16(100);
98 probe_resp->fixed_parameters.probe_resp_interval = BYTESWAP16(probe_resp_interval);
99 probe_resp->fixed_parameters.capabilities_information = BYTESWAP16(LIBWIFI_DEFAULT_AP_CAPABS); 96 probe_resp->fixed_parameters.capabilities_information = BYTESWAP16(LIBWIFI_DEFAULT_AP_CAPABS);
100 97
101 int ret = libwifi_set_probe_resp_ssid(probe_resp, ssid); 98 int ret = libwifi_set_probe_resp_ssid(probe_resp, ssid);
diff --git a/src/libwifi/gen/management/reassoc_request.c b/src/libwifi/gen/management/reassoc_request.c index ed61a50..7590e8d 100644 --- a/src/libwifi/gen/management/reassoc_request.c +++ b/src/libwifi/gen/management/reassoc_request.c
@@ -48,8 +48,6 @@ int libwifi_create_reassoc_req(struct libwifi_reassoc_req *reassoc_req,
48 memcpy(&reassoc_req->frame_header.addr1, receiver, 6); 48 memcpy(&reassoc_req->frame_header.addr1, receiver, 6);
49 memcpy(&reassoc_req->frame_header.addr2, transmitter, 6); 49 memcpy(&reassoc_req->frame_header.addr2, transmitter, 6);
50 memcpy(&reassoc_req->frame_header.addr3, address3, 6); 50 memcpy(&reassoc_req->frame_header.addr3, address3, 6);
51 reassoc_req->frame_header.seq_control.sequence_number = (rand() % 4096);
52
53 reassoc_req->fixed_parameters.capabilities_information = BYTESWAP16(LIBWIFI_DEFAULT_AP_CAPABS); 51 reassoc_req->fixed_parameters.capabilities_information = BYTESWAP16(LIBWIFI_DEFAULT_AP_CAPABS);
54 reassoc_req->fixed_parameters.listen_interval = BYTESWAP16(LIBWIFI_DEFAULT_LISTEN_INTERVAL); 52 reassoc_req->fixed_parameters.listen_interval = BYTESWAP16(LIBWIFI_DEFAULT_LISTEN_INTERVAL);
55 memcpy(&reassoc_req->fixed_parameters.current_ap_address, current_ap, 6); 53 memcpy(&reassoc_req->fixed_parameters.current_ap_address, current_ap, 6);
diff --git a/src/libwifi/gen/management/reassoc_response.c b/src/libwifi/gen/management/reassoc_response.c index 5d85a86..d4b58c8 100644 --- a/src/libwifi/gen/management/reassoc_response.c +++ b/src/libwifi/gen/management/reassoc_response.c
@@ -73,10 +73,8 @@ int libwifi_create_reassoc_resp(struct libwifi_reassoc_resp *reassoc_resp,
73 memcpy(&reassoc_resp->frame_header.addr1, receiver, 6); 73 memcpy(&reassoc_resp->frame_header.addr1, receiver, 6);
74 memcpy(&reassoc_resp->frame_header.addr2, transmitter, 6); 74 memcpy(&reassoc_resp->frame_header.addr2, transmitter, 6);
75 memcpy(&reassoc_resp->frame_header.addr3, address3, 6); 75 memcpy(&reassoc_resp->frame_header.addr3, address3, 6);
76
77 reassoc_resp->fixed_parameters.capabilities_information = BYTESWAP16(LIBWIFI_DEFAULT_AP_CAPABS); 76 reassoc_resp->fixed_parameters.capabilities_information = BYTESWAP16(LIBWIFI_DEFAULT_AP_CAPABS);
78 reassoc_resp->fixed_parameters.status_code = STATUS_SUCCESS; 77 reassoc_resp->fixed_parameters.status_code = STATUS_SUCCESS;
79 reassoc_resp->fixed_parameters.association_id = rand() % 4096;
80 78
81 int ret = libwifi_set_reassoc_resp_channel(reassoc_resp, channel); 79 int ret = libwifi_set_reassoc_resp_channel(reassoc_resp, channel);
82 80
diff --git a/src/libwifi/gen/management/timing_ad.c b/src/libwifi/gen/management/timing_ad.c index b7985cb..f24a0d5 100644 --- a/src/libwifi/gen/management/timing_ad.c +++ b/src/libwifi/gen/management/timing_ad.c
@@ -40,7 +40,6 @@ int libwifi_create_timing_advert(struct libwifi_timing_advert *adv,
40 memcpy(&adv->frame_header.addr1, destination, 6); 40 memcpy(&adv->frame_header.addr1, destination, 6);
41 memcpy(&adv->frame_header.addr2, transmitter, 6); 41 memcpy(&adv->frame_header.addr2, transmitter, 6);
42 memcpy(&adv->frame_header.addr3, address3, 6); 42 memcpy(&adv->frame_header.addr3, address3, 6);
43 adv->frame_header.seq_control.sequence_number = (rand() % 4096);
44 43
45 adv->fixed_parameters.timestamp = BYTESWAP64(libwifi_get_epoch()); 44 adv->fixed_parameters.timestamp = BYTESWAP64(libwifi_get_epoch());
46 adv->fixed_parameters.measurement_pilot_interval = LIBWIFI_DEFAULT_BEACON_INTERVAL; 45 adv->fixed_parameters.measurement_pilot_interval = LIBWIFI_DEFAULT_BEACON_INTERVAL;