[PATCH V2] Makefile.am: Avoid redirection of input and output files
by Khem Raj
Ensure that directory is created before its written to
This can cause a build race in a highly parallelised build where a directory is not yet created but
output file is being written using redirection e.g.
rst2man.py --strict --no-raw --no-generator --no-datestamp < ../git/monitor/iwmon.rst > monitor/iwmon.1
/bin/sh: monitor/iwmon.1: No such file or directory
make[1]: *** [Makefile:3544: monitor/iwmon.1] Error 1
---
v2: create directory before emitting doc files into it
Makefile.am | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 823b7d02..1bd0005c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -626,8 +626,9 @@ SED_PROCESS = $(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(SED) \
< $< > $@
if RUN_RST2MAN
-RST2MAN_PROCESS = $(AM_V_GEN)$(RST2MAN) --strict --no-raw --no-generator \
- --no-datestamp < $< > $@
+RST2MAN_PROCESS = $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
+ $(AM_V_GEN)$(RST2MAN) --strict --no-raw \
+ --no-generator --no-datestamp $< $@
else
RST2MAN_PROCESS = $(AM_V_GEN)test -f $@ || \
{ echo "Generated manual page $@ does not exist"; false; }
--
2.24.0
10 months, 3 weeks
[PATCH 1/4] eap-tls-common: Address PEAPv0 interoperability with Windows
by Tim Kourt
Windows Server 2008 - Network Policy Server (NPS) generates an invalid
Compound MAC for Cryptobinding TLV when is used within PEAPv0 due to
incorrect parsing of the message containing TLS Client Hello.
Setting L bit and including TLS Message Length field, even for the
packets that do not require fragmentation, corrects the issue. The
redundant TLS Message Length field in unfragmented packets doesn't
seem to effect the other server implementations.
---
src/eap-tls-common.c | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/src/eap-tls-common.c b/src/eap-tls-common.c
index 080e4f27..d62d7ca5 100644
--- a/src/eap-tls-common.c
+++ b/src/eap-tls-common.c
@@ -112,6 +112,7 @@ struct eap_tls_state {
size_t tx_frag_last_len;
bool expecting_frag_ack:1;
+ bool tunnel_ready:1;
struct l_queue *ca_cert;
struct l_certchain *client_cert;
@@ -128,6 +129,7 @@ static void __eap_tls_common_state_reset(struct eap_tls_state *eap_tls)
eap_tls->method_completed = false;
eap_tls->phase2_failed = false;
eap_tls->expecting_frag_ack = false;
+ eap_tls->tunnel_ready = false;
if (eap_tls->tunnel) {
l_tls_free(eap_tls->tunnel);
@@ -244,6 +246,8 @@ static void eap_tls_tunnel_ready(const char *peer_identity, void *user_data)
*/
eap_start_complete_timeout(eap);
+ eap_tls->tunnel_ready = true;
+
if (!eap_tls->variant_ops->tunnel_ready)
return;
@@ -261,6 +265,7 @@ static void eap_tls_tunnel_disconnected(enum l_tls_alert_desc reason,
eap_get_method_name(eap), l_tls_alert_to_str(reason));
eap_tls->method_completed = true;
+ eap_tls->tunnel_ready = false;
}
static bool eap_tls_validate_version(struct eap_state *eap,
@@ -325,11 +330,32 @@ static void eap_tls_send_fragment(struct eap_state *eap)
eap_tls->tx_frag_last_len = len;
}
+static bool needs_workaround(struct eap_state *eap)
+{
+ struct eap_tls_state *eap_tls = eap_get_data(eap);
+
+ /*
+ * Windows Server 2008 - Network Policy Server (NPS) generates an
+ * invalid Compound MAC for Cryptobinding TLV when is used within PEAPv0
+ * due to incorrect parsing of the message containing TLS Client Hello.
+ * Setting L bit and including TLS Message Length field, even for the
+ * packets that do not require fragmentation, corrects the issue. The
+ * redundant TLS Message Length field in unfragmented packets doesn't
+ * seem to effect the other server implementations.
+ */
+ return eap_get_method_type(eap) == EAP_TYPE_PEAP &&
+ eap_tls->version_negotiated == EAP_TLS_VERSION_0 &&
+ !eap_tls->tunnel_ready;
+}
+
static void eap_tls_send_response(struct eap_state *eap,
const uint8_t *pdu, size_t pdu_len)
{
struct eap_tls_state *eap_tls = eap_get_data(eap);
size_t msg_len = EAP_TLS_HEADER_LEN + pdu_len;
+ bool set_tls_msg_len = needs_workaround(eap);
+
+ msg_len += set_tls_msg_len ? 4 : 0;
if (msg_len <= eap_get_mtu(eap)) {
uint8_t *buf;
@@ -345,6 +371,15 @@ static void eap_tls_send_response(struct eap_state *eap,
buf[EAP_TLS_HEADER_OCTET_FLAGS + extra] =
eap_tls->version_negotiated;
+ if (set_tls_msg_len) {
+ buf[extra + EAP_TLS_HEADER_OCTET_FLAGS] |=
+ EAP_TLS_FLAG_L;
+ l_put_be32(pdu_len,
+ &buf[extra + EAP_TLS_HEADER_OCTET_FRAG_LEN]);
+
+ extra += 4;
+ }
+
memcpy(buf + EAP_TLS_HEADER_LEN + extra, pdu, pdu_len);
eap_send_response(eap, eap_get_method_type(eap), buf, msg_len);
--
2.13.6
11 months, 3 weeks
Issue connecting to PEAP (eduroam)
by abagnale20@protonmail.com
Hello,
first of all thank you very much for your efforts to develop iwd! I really enjoy its speed, simplicity and minimal resources.
I have been using it for months on several networks without problem, yet I can't get my uni's eduroam to work.
My config:
--------------
[Security]
EAP-Method=PEAP
EAP-Identity=eduroam(a)stud.uni-stuttgart.de
EAP-PEAP-CACert=/etc/iwd/ca.pem
EAP-PEAP-Phase2-Method=MSCHAPV2
EAP-PEAP-Phase2-Identity=<username>
The relevant log from /usr/lib/iwd/iwd -d:
-----------------------------------------------------
src/station.c:station_handshake_event() Handshaking
src/netdev.c:netdev_control_port_frame_cb() 0
src/netdev.c:netdev_unicast_notify() Unicast notification 129
src/netdev.c:netdev_control_port_frame_event()
4-Way handshake failed for ifindex: 2, reason: 15
What is reason 15?
The ca.pem file resides in /etc/iwd/. I copied the certificates section from the eduroamCAT python installer script into ca.pem, if that info is of any help.
Any ideas?
11 months, 4 weeks
KnownNetwork AutoConnect property changed signal
by Daniel Wagner
Hi,
I'm in the process of updating the iwd plugin for ConnMan. Since
ConnMan wants to decide when to connect to a network, I decided to
tell iwd not to auto connect to any known networks. Not sure if this
will work but that's a different topic.
Anyway, during boot up the plugin discovers the known network and for
each network with AutoConnect set to true it will issue an set
property call. There is also a property changed callback which does
the same.
[iwd]# known-networks "owl stretching time" show
Known Network: owl stretching time
--------------------------------------------------------------------------------
Settable Property Value
--------------------------------------------------------------------------------
Name owl stretching time
Hidden
* AutoConnect no
[iwd]# known-networks owl stretching time set-property AutoConnect yes
I observe following:
connmand[27914]: plugins/iwd.c:known_network_property_change() 0x1af1450 auto_connect 0
connmand[27914]: plugins/iwd.c:known_network_property_change() 0x1af1450 auto_connect 1
connmand[27914]: plugins/iwd.c:disable_auto_connect()
connmand[27914]: plugins/iwd.c:known_network_property_change() 0x1af1450 auto_connect 1
connmand[27914]: plugins/iwd.c:disable_auto_connect()
connmand[27914]: plugins/iwd.c:known_network_property_change() 0x1af1450 auto_connect 0
connmand[27914]: plugins/iwd.c:known_network_property_change() 0x1af1450 auto_connect 0
and monitor-iwd sees
{KnownNetwork} [/net/connman/iwd/6f776c2073747265746368696e672074696d65_psk] AutoConnect = False
{KnownNetwork} [/net/connman/iwd/6f776c2073747265746368696e672074696d65_psk] LastConnectedTime = 2020-01-18T16:10:34Z
{KnownNetwork} [/net/connman/iwd/6f776c2073747265746368696e672074696d65_psk] AutoConnect = True
{KnownNetwork} [/net/connman/iwd/6f776c2073747265746368696e672074696d65_psk] AutoConnect = True
{KnownNetwork} [/net/connman/iwd/6f776c2073747265746368696e672074696d65_psk] AutoConnect = False
{KnownNetwork} [/net/connman/iwd/6f776c2073747265746368696e672074696d65_psk] AutoConnect = False
I am bit surprised by the number of property changed signals. I
expected to see only 'auto_connect 1' and then a 'auto_connect 0'.
I verified the behavior without ConnMan running:
{KnownNetwork} [/net/connman/iwd/6f776c2073747265746368696e672074696d65_psk] AutoConnect = False
{KnownNetwork} [/net/connman/iwd/6f776c2073747265746368696e672074696d65_psk] LastConnectedTime = 2020-01-18T16:19:26Z
{KnownNetwork} [/net/connman/iwd/6f776c2073747265746368696e672074696d65_psk] AutoConnect = True
Is this supposed to be so?
Thanks,
Daniel
12 months
[PATCH] manager: Retry the interface setup if we get an EBUSY
by Andrew Zaborowski
Sometimes, at least with brcmfmac, the default interface apparently
takes a moment to get created after the NEW_WIPHY event. We didn't
really consider this case in the NEW_WIPHY handler and we've got a race
condition. It fixes the following bug for me:
https://bugs.archlinux.org/task/63912 -- tested by removing and
re-modprobing the brcmfmac module rather than rebooting.
To work around this wait for the NEW_INTERFACE event and then retry the
setup. We still do the initial attempt directly after NEW_WIPHY to
handle cases like wiphys with no default interfaces and pre-existing
wiphys.
---
src/manager.c | 70 ++++++++++++++++++++++++++++++++++++---------------
1 file changed, 50 insertions(+), 20 deletions(-)
diff --git a/src/manager.c b/src/manager.c
index a89bfc57..42d92c57 100644
--- a/src/manager.c
+++ b/src/manager.c
@@ -54,6 +54,7 @@ struct wiphy_setup_state {
struct wiphy *wiphy;
unsigned int pending_cmd_count;
bool aborted;
+ bool retry;
/*
* Data we may need if the driver does not seem to support interface
@@ -127,15 +128,29 @@ static void manager_new_interface_cb(struct l_genl_msg *msg, void *user_data)
struct wiphy_setup_state *state = user_data;
uint8_t addr_buf[6];
uint8_t *addr = NULL;
+ int error;
l_debug("");
if (state->aborted)
return;
- if (l_genl_msg_get_error(msg) < 0) {
+ error = l_genl_msg_get_error(msg);
+ if (error < 0) {
l_error("NEW_INTERFACE failed: %s",
strerror(-l_genl_msg_get_error(msg)));
+
+ /*
+ * If we receive an EBUSY most likely the wiphy is still
+ * initilising, the default interface has not been created
+ * yet and the wiphy needs some time. Retry when we
+ * receive a NEW_INTERFACE event.
+ */
+ if (error == -EBUSY) {
+ state->retry = true;
+ return;
+ }
+
/*
* Nothing we can do to use this wiphy since by now we
* will have successfully deleted any default interface
@@ -158,7 +173,9 @@ static void manager_new_interface_done(void *user_data)
struct wiphy_setup_state *state = user_data;
state->pending_cmd_count--;
- wiphy_setup_state_destroy(state);
+
+ if (!state->pending_cmd_count && !state->retry)
+ wiphy_setup_state_destroy(state);
}
static void manager_create_interfaces(struct wiphy_setup_state *state)
@@ -218,18 +235,23 @@ static void manager_create_interfaces(struct wiphy_setup_state *state)
state->pending_cmd_count++;
}
+static bool manager_wiphy_check_setup_done(struct wiphy_setup_state *state)
+{
+ if (state->pending_cmd_count || state->retry)
+ return false;
+
+ manager_create_interfaces(state);
+
+ return !state->pending_cmd_count && !state->retry;
+}
+
static void manager_setup_cmd_done(void *user_data)
{
struct wiphy_setup_state *state = user_data;
state->pending_cmd_count--;
- if (state->pending_cmd_count)
- return;
-
- manager_create_interfaces(state);
-
- if (!state->pending_cmd_count)
+ if (manager_wiphy_check_setup_done(state))
wiphy_setup_state_destroy(state);
}
@@ -280,7 +302,6 @@ static void manager_get_interface_cb(struct l_genl_msg *msg, void *user_data)
return;
}
-
if (nl80211_parse_attrs(msg, NL80211_ATTR_IFINDEX, &ifindex,
NL80211_ATTR_IFNAME, &ifname,
NL80211_ATTR_UNSPEC) < 0)
@@ -476,15 +497,10 @@ static bool manager_check_create_interfaces(void *data, void *user_data)
wiphy_create_complete(state->wiphy);
- if (state->pending_cmd_count)
- return false;
-
- /* If we are here, then there are no interfaces for this phy */
- manager_create_interfaces(state);
-
- if (state->pending_cmd_count)
+ if (!manager_wiphy_check_setup_done(state))
return false;
+ /* If we are here, there were no interfaces for this phy */
wiphy_setup_state_free(state);
return true;
}
@@ -561,6 +577,7 @@ static void manager_config_notify(struct l_genl_msg *msg, void *user_data)
{
uint8_t cmd;
struct netdev *netdev;
+ struct wiphy_setup_state *state;
cmd = l_genl_msg_get_command(msg);
@@ -578,11 +595,24 @@ static void manager_config_notify(struct l_genl_msg *msg, void *user_data)
case NL80211_CMD_NEW_INTERFACE:
/*
- * TODO: Until NEW_WIPHY contains all required information we
- * are stuck always having to do a full dump. This specific
- * interface must also be dumped, and this is taken care of
- * in manager_new_wiphy_event.
+ * Interfaces are normally dumped on the NEW_WIPHY events and
+ * and we have nothing to do here. But check if by any chance
+ * we've queried this wiphy and it was still busy initialising,
+ * in that case retry the setup now that an interface, likely
+ * the initial default one, has been added.
*/
+ state = manager_find_pending(manager_parse_wiphy_id(msg));
+
+ if (state && state->retry) {
+ state->retry = false;
+ l_debug("Retrying setup of wiphy %u", state->id);
+
+ manager_get_interface_cb(msg, state);
+
+ if (manager_wiphy_check_setup_done(state))
+ wiphy_setup_state_destroy(state);
+ }
+
break;
case NL80211_CMD_DEL_INTERFACE:
--
2.20.1
12 months
[PATCH 1/2] manager: Make sure all interface are processed after dump
by Andrew Zaborowski
In manager_interface_dump_done use l_queue_foreach_remove instead of
l_queue_remove_if to make sure we process all of the interfaces.
---
src/manager.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/manager.c b/src/manager.c
index a5de2842..a89bfc57 100644
--- a/src/manager.c
+++ b/src/manager.c
@@ -470,9 +470,9 @@ static void manager_interface_dump_callback(struct l_genl_msg *msg,
manager_get_interface_cb(msg, state);
}
-static bool manager_check_create_interfaces(const void *a, const void *b)
+static bool manager_check_create_interfaces(void *data, void *user_data)
{
- struct wiphy_setup_state *state = (void *) a;
+ struct wiphy_setup_state *state = data;
wiphy_create_complete(state->wiphy);
@@ -491,7 +491,7 @@ static bool manager_check_create_interfaces(const void *a, const void *b)
static void manager_interface_dump_done(void *user_data)
{
- l_queue_remove_if(pending_wiphys,
+ l_queue_foreach_remove(pending_wiphys,
manager_check_create_interfaces, NULL);
}
--
2.20.1
12 months
[PATCH v4] Document P2P dbus interfaces
by Andrew Zaborowski
Proposed minimum P2P interfaces for establishing basic connections. The
device discovery results in creation of Peer objects.
---
I removed any mentions of WFD or services for now. I did keep the
signal level agent as we have all the code in netdev and there's no
reason not to make the notifications available for client-mode
connections. For connections where don't have the data (GO-mode until
kernel support is there) we will not send them (obviously).
---
doc/p2p-api.txt | 97 ++++++++++++++++++++++++++++++++++++++++++++
doc/p2p-peer-api.txt | 45 ++++++++++++++++++++
2 files changed, 142 insertions(+)
create mode 100644 doc/p2p-api.txt
create mode 100644 doc/p2p-peer-api.txt
diff --git a/doc/p2p-api.txt b/doc/p2p-api.txt
new file mode 100644
index 00000000..ecf0a521
--- /dev/null
+++ b/doc/p2p-api.txt
@@ -0,0 +1,97 @@
+P2P hierarchy
+=============
+
+Service net.connman.iwd
+Interface net.connman.iwd.p2p.Device [Experimental]
+Object path /net/connman/iwd/{phy0,phy1,...}
+
+Methods array(on) GetPeers()
+
+ Returns a list (possibly empty) of detected P2P peers.
+ Each record returned contains a tuple of the following
+ values.
+
+ object Object
+
+ The net.connman.iwd.p2p.Peer object
+ representing the peer device.
+
+ int16 SignalStrength
+
+ Peer's signal strength expressed in 100 * dBm.
+ The value is the range of 0 (strongest signal)
+ to -10000 (weakest signal.)
+
+ void RequestDiscovery()
+
+ Starts device discovery if not already happening and
+ registers the calling D-Bus client as requiring device
+ discovery. The discovery phase will be active until
+ all registered clients have called ReleaseDiscovery()
+ or disconnected from D-Bus.
+
+ Possible errors: [service].Error.AlreadyExists
+
+ void ReleaseDiscovery()
+
+ Unregisters the calling client as requiring device
+ discovery. Clients should do this as soon as they
+ stop displaying or otherwise using the list of
+ discovered peer devices to avoid keeping the Wi-Fi
+ adapter occupied unnecessarily.
+
+ Possible errors: [service].Error.NotAvailable
+
+ void RegisterSignalLevelAgent(object path,
+ array(int16) levels)
+
+ Register the agent object to receive signal strength
+ level change notifications on the
+ net.connman.iwd.Station.SignalLevelAgent interface,
+ see station-api.txt. The "levels" parameter decides
+ the thresholds in dBm that will generate a call to
+ the agent's Changed method whenever current RSSI
+ crosses any of the values. The values must be
+ passed in descending order. The number and distance
+ between requested threshold values is a compromise
+ between resolution and the frequency of system
+ wakeups and context-switches that are going to be
+ occuring to update the client's signal meter. Only
+ one agent can be registered at any time.
+
+ Possible errors: [service].Error.InvalidArguments
+ [service].Error.Failed
+ [service].Error.AlreadyExists
+ [service].Error.NotSupported
+
+ void UnregisterSignalLevelAgent(object path)
+
+ Unregister an existing agent.
+
+ Possible errors: [service].Error.InvalidArguments
+ [service].Error.NotFound
+
+Properties boolean Enabled [readwrite]
+
+ Whether local P2P device is started and ready to
+ start device discovery, become discoverable by peers
+ and connect to peers.
+
+ string Name [readwrite]
+
+ Sets local P2P device name as it is going to be
+ presented on other devices that we will connect to
+ or ones that discover us in scanning.
+
+ uint16 AvailableConnections [readonly]
+
+ Minimum number of peers the hardware is capable of
+ connecting to in the current configuration and in
+ addition to any connections already established.
+ Often 1 while idle and 0 if connected to a peer,
+ connecting, disconnecting or otherwise busy.
+
+ A non-zero number is to be interpreted as meaning
+ that the device is capable of making *at least*
+ that many new connections as the final number may
+ depend on parameters negotiated with future peers.
diff --git a/doc/p2p-peer-api.txt b/doc/p2p-peer-api.txt
new file mode 100644
index 00000000..2245b2e3
--- /dev/null
+++ b/doc/p2p-peer-api.txt
@@ -0,0 +1,45 @@
+P2PPeer hierarchy
+=================
+
+Service net.connman.iwd
+Interface net.connman.iwd.p2p.Peer [Experimental]
+Object path /net/connman/iwd/{phy0,phy1,...}/p2p_peers/{aa_bb_cc_dd_ee_ff}
+
+Methods Disconnect()
+
+ If connected, disconnect from this peer.
+ Connections are established by calling methods on
+ the net.connman.iwd.SimpleConfiguration interface
+ on the same object -- see wsc-api.txt.
+
+ Possible errors: [service].Failed
+ [service].NotConnected
+
+Properties string Name [readonly]
+
+ P2P Peer's display name
+
+ string DeviceCategory [readonly]
+
+ The category part of the peer's declared
+ Primary Device Type.
+
+ string DeviceSubcategory [readonly, optional]
+
+ The Sub Category part of the peer's declared
+ Primary Device Type.
+
+ object Device [readonly]
+
+ The object with a net.connman.iwd.p2p.Device
+ interface that discovered this peer -- see
+ p2p-api.txt.
+
+ boolean Connected [readonly]
+
+ Whether there's currently an active connection
+ to this peer. This property is read-only and
+ changes as a result of method calls on the
+ net.connman.iwd.SimpleConfiguration interface
+ on the same object -- see wsc-api.txt -- and
+ calls to Disconnect on this interface.
--
2.20.1
12 months
[PATCH] monitor: Add message length check to nlmon_receice
by Daniel Wagner
The NLMSG_NEXT macro calculates the next nlmsg and updates the len
field:
#define NLMSG_NEXT(nlh,len) ((len) -= NLMSG_ALIGN((nlh)->nlmsg_len), \
(struct nlmsghdr*)(((char*)(nlh)) + NLMSG_ALIGN((nlh)->nlmsg_len)))
That means nlmsg_len needs to be an multiple of NLMSG_ALIGNTO to avoid
an underflow in len. But there are message which do not have a valid
lenght:
Breakpoint 1, nlmon_receive (io=0x4da210, user_data=0x4d4cc0) at monitor/nlmon.c:6947
6947 printf("malformed packet\n");
(gdb) bt
#0 nlmon_receive (io=0x4da210, user_data=0x4d4cc0) at monitor/nlmon.c:6947
#1 0x0000000000439a91 in io_callback (fd=7, events=1, user_data=0x4da210) at ell/io.c:126
#2 0x0000000000438861 in l_main_iterate (timeout=-1) at ell/main.c:473
#3 0x0000000000438968 in l_main_run () at ell/main.c:520
#4 0x0000000000438c80 in l_main_run_with_signal (callback=0x4038e6 <signal_handler>, user_data=0x0) at ell/main.c:642
#5 0x0000000000403cc9 in main (argc=3, argv=0x7fffffffec28) at monitor/main.c:806
(gdb) p nlmsg->nlmsg_len
$5 = 17
By adding an lenght check after each processed message garantees that
we do not underflow. The downside is that as soon an invalid length is
spotted the processing stops.
---
monitor/nlmon.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/monitor/nlmon.c b/monitor/nlmon.c
index 6b0afef8a497..5498e9fa0f23 100644
--- a/monitor/nlmon.c
+++ b/monitor/nlmon.c
@@ -6941,6 +6941,11 @@ static bool nlmon_receive(struct l_io *io, void *user_data)
nlmon_message(nlmon, tv, tp, nlmsg);
break;
}
+
+ if (nlmsg->nlmsg_len & (NLMSG_ALIGNTO-1)) {
+ printf("malformed packet\n");
+ break;
+ }
}
return true;
--
2.24.1
1 year
[PATCH] Treewide: fix typos
by Torstein Husebø
---
autotests/util/testutil.py | 2 +-
doc/access-point-api.txt | 2 +-
doc/adhoc-api.txt | 2 +-
doc/features.txt | 2 +-
doc/network-api.txt | 2 +-
doc/station-api.txt | 2 +-
doc/wpa-auth.txt | 2 +-
monitor/nlmon.c | 6 +++---
monitor/pcap.c | 2 +-
plugins/sim_hardcoded.c | 2 +-
src/adhoc.c | 2 +-
src/anqputil.c | 4 ++--
src/eap-mschapv2.c | 2 +-
src/eap-pwd.c | 2 +-
src/eap-sim.c | 2 +-
src/eap-tls-common.c | 2 +-
src/eap-wsc.c | 2 +-
src/erp.c | 2 +-
src/handshake.c | 4 ++--
src/hotspot.c | 2 +-
src/ie.c | 4 ++--
src/manager.c | 4 ++--
src/netdev.c | 6 +++---
src/netdev.h | 2 +-
src/network.c | 2 +-
src/sae.c | 2 +-
src/scan.c | 2 +-
src/station.c | 6 +++---
src/wsc.c | 4 ++--
tools/hwsim.c | 2 +-
unit/test-cmac-aes.c | 4 ++--
unit/test-ie.c | 8 ++++----
unit/test-sae.c | 4 ++--
33 files changed, 49 insertions(+), 49 deletions(-)
diff --git a/autotests/util/testutil.py b/autotests/util/testutil.py
index e02a299417..aaa4e7e1b1 100644
--- a/autotests/util/testutil.py
+++ b/autotests/util/testutil.py
@@ -1,5 +1,5 @@
#! /usr/bin/python3
-# Rougly based on wpa_supplicant's mac80211_hwsim/tools/hwsim_test.c utility.
+# Roughly based on wpa_supplicant's mac80211_hwsim/tools/hwsim_test.c utility.
import socket
import fcntl
import struct
diff --git a/doc/access-point-api.txt b/doc/access-point-api.txt
index 11235f8308..9ee06baaa4 100644
--- a/doc/access-point-api.txt
+++ b/doc/access-point-api.txt
@@ -1,4 +1,4 @@
-Access Point hiearchy
+Access Point hierarchy
=====================
Service net.connman.iwd
diff --git a/doc/adhoc-api.txt b/doc/adhoc-api.txt
index a60e351da8..8c4013f6b6 100644
--- a/doc/adhoc-api.txt
+++ b/doc/adhoc-api.txt
@@ -1,4 +1,4 @@
-Ad-Hoc hiearchy
+Ad-Hoc hierarchy
===============
Service net.connman.iwd
diff --git a/doc/features.txt b/doc/features.txt
index 47c86e9e30..a5f35eaf00 100644
--- a/doc/features.txt
+++ b/doc/features.txt
@@ -71,7 +71,7 @@ on open networks, by using ECDH to negotiate a PMK.
- IWD supports SAE (Simultaneous Authentication of Equals). SAE is required for
the WPA3 certification. SAE uses a Diffie-Hellman key exchange to produce the
-PMK thats used in the 4-way handshake. Support for hybrid WPA3/WPA2 AP's is
+PMK that's used in the 4-way handshake. Support for hybrid WPA3/WPA2 AP's is
also implemented, where WPA3 is preferred.
Wireless monitor
diff --git a/doc/network-api.txt b/doc/network-api.txt
index 7d059f8e5f..77536e28c1 100644
--- a/doc/network-api.txt
+++ b/doc/network-api.txt
@@ -49,4 +49,4 @@ Properties string Name [readonly]
Contains the path of the KnownNetwork object
corresponding to this Network. If the network
is not provisioned or has not been connected to
- before, the property is ommitted.
+ before, the property is omitted.
diff --git a/doc/station-api.txt b/doc/station-api.txt
index 2d0fa08a80..b2131890e5 100644
--- a/doc/station-api.txt
+++ b/doc/station-api.txt
@@ -120,7 +120,7 @@ Methods void Scan()
order. The number and distance between requested
threshold values is a compromise between resolution
and the frequency of system wakeups and
- context-switches that are going to be occuring to
+ context-switches that are going to be occurring to
update the client's signal meter. Only one agent
can be registered at any time.
diff --git a/doc/wpa-auth.txt b/doc/wpa-auth.txt
index 731e882b84..8d179f7682 100644
--- a/doc/wpa-auth.txt
+++ b/doc/wpa-auth.txt
@@ -91,7 +91,7 @@ Overall Process
AP.
- Once Message 3 is received from the AP, the STA sanity checks certain
- paremeters (Key Replay Counter, ANonce, MIC). The RSN received from the AP
+ parameters (Key Replay Counter, ANonce, MIC). The RSN received from the AP
is also checked against the one received in Message 3. If everything checks
out, then Message 4 is constructed and sent to the AP.
diff --git a/monitor/nlmon.c b/monitor/nlmon.c
index 6b0afef8a4..77f5dda429 100644
--- a/monitor/nlmon.c
+++ b/monitor/nlmon.c
@@ -2994,7 +2994,7 @@ static void print_p2p_status(unsigned int level, const char *label,
{ P2P_STATUS_FAIL_LIMIT_REACHED, "Fail; limit reached" },
{ P2P_STATUS_FAIL_INVALID_PARAMS, "Fail; invalid parameters" },
{ P2P_STATUS_FAIL_UNABLE_TO_ACCOMMODATE_REQUEST, "Fail; unable "
- "to accomodate request" },
+ "to accommodate request" },
{ P2P_STATUS_FAIL_PREV_PROTOCOL_ERROR, "Fail; previous protocol"
" error, or distruptive behavior" },
{ P2P_STATUS_FAIL_NO_COMMON_CHANNELS, "Fail; no common "
@@ -3519,7 +3519,7 @@ static void print_p2p_advertised_svc_info(unsigned int level, const char *label,
print_attr(level, "%s:", label);
- print_attr(level, "Servce advertisement: ID 0x%08x",
+ print_attr(level, "Service advertisement: ID 0x%08x",
l_get_le32(bytes + 0));
print_wsc_utf8_string(level + 1, "Service Name",
bytes + 6, bytes[6], 255);
@@ -4096,7 +4096,7 @@ static void print_public_action_frame(unsigned int level, const uint8_t *body,
[22] = "HCCA TXOP Advertisement",
[23] = "HCCA TXOP Response",
[24] = "Public Key",
- [25] = "Channel Availabilty Query",
+ [25] = "Channel Availability Query",
[26] = "Channel Schedule Management",
[27] = "Contact Verification Signal",
[28] = "GDD Enablement Request",
diff --git a/monitor/pcap.c b/monitor/pcap.c
index c5ca901529..fb29eea8e5 100644
--- a/monitor/pcap.c
+++ b/monitor/pcap.c
@@ -148,7 +148,7 @@ struct pcap *pcap_create(const char *pathname)
}
if (len != PCAP_HDR_SIZE) {
- fprintf(stderr, "Written PCAP header size mimatch\n");
+ fprintf(stderr, "Written PCAP header size mismatch\n");
goto failed;
}
diff --git a/plugins/sim_hardcoded.c b/plugins/sim_hardcoded.c
index e61404c960..463c39fe1d 100644
--- a/plugins/sim_hardcoded.c
+++ b/plugins/sim_hardcoded.c
@@ -51,7 +51,7 @@ static struct hardcoded_sim *sim;
* to - result of XOR array
* a - array 1
* b - array 2
- * len - size of aray
+ * len - size of array
*/
#define XOR(to, a, b, len) \
for (i = 0; i < len; i++) { \
diff --git a/src/adhoc.c b/src/adhoc.c
index 52164a0a1b..a8ff8c3a03 100644
--- a/src/adhoc.c
+++ b/src/adhoc.c
@@ -227,7 +227,7 @@ static struct eapol_sm *adhoc_new_sm(struct sta_state *sta, bool authenticator,
handshake_state_set_event_func(hs, adhoc_handshake_event, sta);
handshake_state_set_ssid(hs, (void *)adhoc->ssid, strlen(adhoc->ssid));
- /* we dont have the connecting peer rsn info, so just set ap == own */
+ /* we don't have the connecting peer rsn info, so just set ap == own */
handshake_state_set_authenticator_ie(hs, bss_rsne);
handshake_state_set_supplicant_ie(hs, bss_rsne);
handshake_state_set_pmk(hs, adhoc->pmk, 32);
diff --git a/src/anqputil.c b/src/anqputil.c
index fdc3af5848..098185cfb4 100644
--- a/src/anqputil.c
+++ b/src/anqputil.c
@@ -148,9 +148,9 @@ char **anqp_parse_nai_realms(const unsigned char *anqp, unsigned int len)
/*
* The method list is a variable field, so the only way to
* reliably increment anqp is by realm_len at the very end since
- * we dont know how many bytes parse_eap advanced (it does
+ * we don't know how many bytes parse_eap advanced (it does
* internal length checking so it should not overflow). We
- * cant incrementally advance anqp/len, hence the hardcoded
+ * can't incrementally advance anqp/len, hence the hardcoded
* length and pointer adjustments.
*/
diff --git a/src/eap-mschapv2.c b/src/eap-mschapv2.c
index 61a97952f8..3ede349888 100644
--- a/src/eap-mschapv2.c
+++ b/src/eap-mschapv2.c
@@ -77,7 +77,7 @@ struct mschapv2_response {
} __attribute__((packed));
/**
- * Generate the asymetric start keys from our mschapv2 master key for MPPE
+ * Generate the asymmetric start keys from our mschapv2 master key for MPPE
* This function is specified in:
* https://tools.ietf.org/html/draft-ietf-pppext-mschapv2-keys-02
*
diff --git a/src/eap-pwd.c b/src/eap-pwd.c
index f1b019550a..74d0997f49 100644
--- a/src/eap-pwd.c
+++ b/src/eap-pwd.c
@@ -481,7 +481,7 @@ static void eap_pwd_handle_confirm(struct eap_state *eap,
/*
* We just need to store clen/plen once. Since all these buffers are
- * created with enough bytes in mind we know these wont fail. Also, all
+ * created with enough bytes in mind we know these won't fail. Also, all
* scalar/point objects were created with the same curve, so it can be
* safe to assume the return values will not change from what clen/plen
* already are.
diff --git a/src/eap-sim.c b/src/eap-sim.c
index 6e97694742..b29211f65d 100644
--- a/src/eap-sim.c
+++ b/src/eap-sim.c
@@ -467,7 +467,7 @@ static void handle_challenge(struct eap_state *eap, const uint8_t *pkt,
case EAP_SIM_AT_IV:
case EAP_SIM_AT_ENCR_DATA:
case EAP_SIM_AT_MAC:
- /* need a case for these so the default wont get hit */
+ /* need a case for these so the default won't get hit */
break;
default:
diff --git a/src/eap-tls-common.c b/src/eap-tls-common.c
index 698a4797d8..080e4f27dd 100644
--- a/src/eap-tls-common.c
+++ b/src/eap-tls-common.c
@@ -401,7 +401,7 @@ static int eap_tls_init_request_assembly(struct eap_state *eap,
len -= 4;
if (!tls_msg_len || tls_msg_len > EAP_TLS_PDU_MAX_LEN) {
- l_warn("%s: Fragmented pkt size is outside of alowed"
+ l_warn("%s: Fragmented pkt size is outside of allowed"
" boundaries [1, %u]", eap_get_method_name(eap),
EAP_TLS_PDU_MAX_LEN);
diff --git a/src/eap-wsc.c b/src/eap-wsc.c
index 2466ccc604..9fa1405f10 100644
--- a/src/eap-wsc.c
+++ b/src/eap-wsc.c
@@ -986,7 +986,7 @@ static void eap_wsc_handle_request(struct eap_state *eap,
wsc->rx_pdu_buf_len >
EAP_WSC_PDU_MAX_LEN) {
l_warn("Fragmented pkt size is outside of "
- "alowed boundaries [1, %u]",
+ "allowed boundaries [1, %u]",
EAP_WSC_PDU_MAX_LEN);
return;
}
diff --git a/src/erp.c b/src/erp.c
index ab6a16f83b..cacd37d150 100644
--- a/src/erp.c
+++ b/src/erp.c
@@ -296,7 +296,7 @@ static bool erp_derive_emsk_name(const uint8_t *session_id, size_t session_len,
/*
* RFC 6696 - Section 4.1 and 4.3 - rRK and rIK derivation
*
- * All reauth keys form a hiearchy, and all ultimately are derived from the
+ * All reauth keys form a hierarchy, and all ultimately are derived from the
* EMSK. All keys follow the rule:
*
* "The length of the <key> MUST be equal to the length of the parent key used
diff --git a/src/handshake.c b/src/handshake.c
index bb4663c793..86a6650d5e 100644
--- a/src/handshake.c
+++ b/src/handshake.c
@@ -145,8 +145,8 @@ static bool handshake_state_setup_own_ciphers(struct handshake_state *s,
s->group_management_cipher = info->group_management_cipher;
/*
- * Dont set MFP for OSEN otherwise EAPoL will attempt to negotiate a
- * iGTK which is not allowe for OSEN.
+ * Don't set MFP for OSEN otherwise EAPoL will attempt to negotiate a
+ * iGTK which is not allow for OSEN.
*/
if (!s->osen_ie)
s->mfp = info->mfpc;
diff --git a/src/hotspot.c b/src/hotspot.c
index 6a95757bc6..fb75ef1366 100644
--- a/src/hotspot.c
+++ b/src/hotspot.c
@@ -212,7 +212,7 @@ static const uint8_t *hotspot_match_roaming_consortium(
&rc3, &rc3_len) < 0)
return NULL;
- /* rc1 is guarenteed to be set if the above returns success */
+ /* rc1 is guaranteed to be set if the above returns success */
if (rc1_len == config->rc_len && !memcmp(rc1, config->rc, rc1_len)) {
if (rc_len_out)
*rc_len_out = rc1_len;
diff --git a/src/ie.c b/src/ie.c
index 4390add54e..9b1127ce82 100644
--- a/src/ie.c
+++ b/src/ie.c
@@ -1585,7 +1585,7 @@ int ie_parse_bss_load_from_data(const uint8_t *data, uint8_t len,
}
/*
- * We have to store this mapping since basic rates dont come with a convenient
+ * We have to store this mapping since basic rates don't come with a convenient
* MCS index. Rates are stored as they are encoded in the Supported Rates IE.
* This does not include non 802.11g data rates, e.g. 1/2/4Mbps. This data was
* taken from 802.11 Section 17.3.10.2 and Table 10-7.
@@ -1994,7 +1994,7 @@ static int ie_parse_vht_capability(struct ie_tlv_iter *vht_iter,
* combinations (width, MCS, NSS), saving the highest data rate we find.
*
* We could calculate a maximum data rate separately for TX/RX, but
- * since this is only used for BSS ranking, the minumum between the
+ * since this is only used for BSS ranking, the minimum between the
* two should be good enough.
*/
for (width = sizeof(vht_width_map[0]) - 1; width >= 0; width--) {
diff --git a/src/manager.c b/src/manager.c
index 4ad0f03c5f..a5de2842d9 100644
--- a/src/manager.c
+++ b/src/manager.c
@@ -275,7 +275,7 @@ static void manager_get_interface_cb(struct l_genl_msg *msg, void *user_data)
return;
if (wiphy != state->id) {
- l_debug("Wiphy attribute mis-match, wanted: %u, got %u",
+ l_debug("Wiphy attribute mismatch, wanted: %u, got %u",
state->id, wiphy);
return;
}
@@ -515,7 +515,7 @@ static void manager_new_wiphy_event(struct l_genl_msg *msg)
/*
* Until fixed, a NEW_WIPHY event will not include all the information
* that may be available, but a dump will. Because of this we do both
- * GET_WIPHY/GET_INTERFACE, same as we would during initalization.
+ * GET_WIPHY/GET_INTERFACE, same as we would during initialization.
*/
msg = l_genl_msg_new_sized(NL80211_CMD_GET_WIPHY, 128);
l_genl_msg_append_attr(msg, NL80211_ATTR_SPLIT_WIPHY_DUMP, 0, NULL);
diff --git a/src/netdev.c b/src/netdev.c
index 0a287a4282..1fbf3d3b89 100644
--- a/src/netdev.c
+++ b/src/netdev.c
@@ -227,7 +227,7 @@ struct handshake_state *netdev_handshake_state_new(struct netdev *netdev)
nhs->netdev = netdev;
/*
* Since GTK/IGTK are optional (NO_GROUP_TRAFFIC), we set them as
- * 'installed' upon initalization. If/When the gtk/igtk callback is
+ * 'installed' upon initialization. If/When the gtk/igtk callback is
* called they will get set to false until we have received a successful
* callback from nl80211. From these callbacks we can check that all
* the keys have been installed, and only then trigger the handshake
@@ -1536,7 +1536,7 @@ static void netdev_qos_map_cb(struct l_genl_msg *msg, void *user_data)
* to let the kernel know is to receive the IE, then give it right back...
*
* The kernel/driver/firmware *could* simply obtain this information as the
- * frame comes in and not require userspace to forward it back... but thats a
+ * frame comes in and not require userspace to forward it back... but that's a
* battle for another day.
*/
static void netdev_send_qos_map_set(struct netdev *netdev,
@@ -2401,7 +2401,7 @@ static int netdev_connect_common(struct netdev *netdev,
netdev->handshake = hs;
netdev->sm = sm;
netdev->frequency = bss->frequency;
- netdev->cur_rssi_low = false; /* Gets udpated on the 1st CQM event */
+ netdev->cur_rssi_low = false; /* Gets updated on the 1st CQM event */
netdev->cur_rssi = bss->signal_strength / 100;
netdev_rssi_level_init(netdev);
diff --git a/src/netdev.h b/src/netdev.h
index f87e7e494b..58b63fbd08 100644
--- a/src/netdev.h
+++ b/src/netdev.h
@@ -87,7 +87,7 @@ typedef void (*netdev_connect_cb_t)(struct netdev *netdev,
* Notify function for netdev events. Depending on the event type, event_data
* will have different meanings:
*
- * NETDEV_EVENT_AUTHENTICATING - unsused
+ * NETDEV_EVENT_AUTHENTICATING - unused
* NETDEV_EVENT_ASSOCIATING - unused
* NETDEV_EVENT_LOST_BEACON - unused
* NETDEV_EVENT_DISCONNECT_BY_AP - MMPDU_REASON_CODE
diff --git a/src/network.c b/src/network.c
index 29cd4e13c4..fe6ba867ba 100644
--- a/src/network.c
+++ b/src/network.c
@@ -552,7 +552,7 @@ int network_autoconnect(struct network *network, struct scan_bss *bss)
if (!wiphy_select_cipher(wiphy, rsn.pairwise_ciphers) ||
!wiphy_select_cipher(wiphy, rsn.group_cipher)) {
- l_debug("Cipher mis-match");
+ l_debug("Cipher mismatch");
ret = -ENETUNREACH;
goto close_settings;
}
diff --git a/src/sae.c b/src/sae.c
index c247f5a492..6abbad5e61 100644
--- a/src/sae.c
+++ b/src/sae.c
@@ -354,7 +354,7 @@ static bool sae_build_commit(struct sae_sm *sm, const uint8_t *addr1,
/*
* Several cases require retransmitting the same commit message. The
- * anti-clogging code path requires this as well as the retransmition
+ * anti-clogging code path requires this as well as the retransmission
* timeout.
*/
old_commit:
diff --git a/src/scan.c b/src/scan.c
index 97b37c689e..c3ae3f8bfc 100644
--- a/src/scan.c
+++ b/src/scan.c
@@ -879,7 +879,7 @@ static bool scan_parse_vendor_specific(struct scan_bss *bss, const void *data,
/*
* Fully parses the Advertisement Protocol Element. The only thing being looked
- * for is the ANQP protocol ID, but this could be burried behind several other
+ * for is the ANQP protocol ID, but this could be buried behind several other
* advertisement tuples so the entire IE may need to be parsed.
*/
static bool scan_parse_advertisement_protocol(struct scan_bss *bss,
diff --git a/src/station.c b/src/station.c
index c60294238e..6ec7eb4bb6 100644
--- a/src/station.c
+++ b/src/station.c
@@ -678,7 +678,7 @@ static void station_handshake_event(struct handshake_state *hs,
case HANDSHAKE_EVENT_SETTING_KEYS_FAILED:
case HANDSHAKE_EVENT_EAP_NOTIFY:
/*
- * currently we dont care about any other events. The
+ * currently we don't care about any other events. The
* netdev_connect_cb will notify us when the connection is
* complete.
*/
@@ -2068,7 +2068,7 @@ void station_ap_directed_roam(struct station *station,
if (req_mode & WNM_REQUEST_MODE_PREFERRED_CANDIDATE_LIST) {
- l_debug("roam: AP sent a preffered candidate list");
+ l_debug("roam: AP sent a preferred candidate list");
station_neighbor_report_cb(station->netdev, 0, body + pos,
body_len - pos,station);
} else {
@@ -2162,7 +2162,7 @@ static bool station_retry_with_reason(struct station *station,
uint16_t reason_code)
{
/*
- * We dont want to cause a retry and blacklist if the password was
+ * We don't want to cause a retry and blacklist if the password was
* incorrect. Otherwise we would just continue to fail.
*
* Other reason codes can be added here if its decided we want to
diff --git a/src/wsc.c b/src/wsc.c
index f90129f92d..393e8d8d7e 100644
--- a/src/wsc.c
+++ b/src/wsc.c
@@ -90,7 +90,7 @@ static struct l_dbus_message *wsc_error_walk_time_expired(
return l_dbus_message_new_error(msg,
IWD_WSC_INTERFACE ".WalkTimeExpired",
"No APs in PushButton mode found in "
- "the alloted time");
+ "the allotted time");
}
static struct l_dbus_message *wsc_error_time_expired(struct l_dbus_message *msg)
@@ -98,7 +98,7 @@ static struct l_dbus_message *wsc_error_time_expired(struct l_dbus_message *msg)
return l_dbus_message_new_error(msg,
IWD_WSC_INTERFACE ".TimeExpired",
"No APs in PIN mode found in "
- "the alloted time");
+ "the allotted time");
}
static void wsc_enrollee_connect_cb(struct netdev *netdev,
diff --git a/tools/hwsim.c b/tools/hwsim.c
index 91963d545d..4dade8dc15 100644
--- a/tools/hwsim.c
+++ b/tools/hwsim.c
@@ -1353,7 +1353,7 @@ static bool interface_info_match_dst(const void *a, const void *b)
/*
* Process frames in a similar way to how the kernel built-in hwsim medium
* does this, with an additional optimization for unicast frames and
- * additonal modifications to frames decided by user-configurable rules.
+ * additional modifications to frames decided by user-configurable rules.
*/
static void process_frame(struct hwsim_frame *frame)
{
diff --git a/unit/test-cmac-aes.c b/unit/test-cmac-aes.c
index 0de68bcdc0..365265f683 100644
--- a/unit/test-cmac-aes.c
+++ b/unit/test-cmac-aes.c
@@ -149,8 +149,8 @@ int main(int argc, char *argv[])
l_test_add("/cmac-aes/Example 1", cmac_test, &example_1);
l_test_add("/cmac-aes/Example 2", cmac_test, &example_2);
- l_test_add("/cmac-aes/Exmaple 3", cmac_test, &example_3);
- l_test_add("/cmac-aes/Exmaple 4", cmac_test, &example_4);
+ l_test_add("/cmac-aes/Example 3", cmac_test, &example_3);
+ l_test_add("/cmac-aes/Example 4", cmac_test, &example_4);
done:
return l_test_run();
diff --git a/unit/test-ie.c b/unit/test-ie.c
index a7821045b5..6dd074b5b5 100644
--- a/unit/test-ie.c
+++ b/unit/test-ie.c
@@ -78,7 +78,7 @@ static const unsigned char beacon_frame[] = {
0xff, 0xff, 0xc8, 0xd7, 0x19, 0x39, 0xbe, 0x77,
0xc8, 0xd7, 0x19, 0x39, 0xbe, 0x77, 0x50, 0xa2,
- /* IEEE 802.11 wireless LAN managment frame
+ /* IEEE 802.11 wireless LAN management frame
* - Fixed parameters (12 bytes)
*/
0x87, 0x81, 0x31, 0xe6, 0x29, 0x02, 0x00, 0x00,
@@ -742,11 +742,11 @@ int main(int argc, char *argv[])
ie_test_wpa_build_compact_info,
&ie_wpa_info_test_5);
- l_test_add("/ie/Concatentation/WSC/Test Case 1",
+ l_test_add("/ie/Concatenation/WSC/Test Case 1",
ie_test_concat_wsc, &ie_tlv_concat_test_data_1);
- l_test_add("/ie/Concatentation/WSC/Test Case 2",
+ l_test_add("/ie/Concatenation/WSC/Test Case 2",
ie_test_concat_wsc, &ie_tlv_concat_test_data_2);
- l_test_add("/ie/Concatentation/WSC/Test Case 3",
+ l_test_add("/ie/Concatenation/WSC/Test Case 3",
ie_test_concat_wsc, &ie_tlv_concat_test_data_3);
l_test_add("/ie/Encapsulation/WSC/Test Case 1",
diff --git a/unit/test-sae.c b/unit/test-sae.c
index 71b0d6260a..2d984160f2 100644
--- a/unit/test-sae.c
+++ b/unit/test-sae.c
@@ -369,7 +369,7 @@ static void test_malformed_commit(const void *arg)
len = setup_auth_frame(frame, aa, 1, 0, aa_commit, sizeof(aa_commit));
- /* dont send entire commit */
+ /* don't send entire commit */
assert(auth_proto_rx_authenticate(ap, (uint8_t *)frame, len - 20) != 0);
test_destruct(td);
@@ -394,7 +394,7 @@ static void test_malformed_confirm(const void *arg)
frame = alloca(sizeof(struct authenticate_frame) + sizeof(aa_confirm));
len = setup_auth_frame(frame, aa, 2, 0, aa_confirm, sizeof(aa_confirm));
- /* dont send entire confirm */
+ /* don't send entire confirm */
assert(auth_proto_rx_authenticate(ap, (uint8_t *)frame, len - 10) != 0);
test_destruct(td);
--
2.25.0
1 year