Attention is currently required from: flichtenheld, plaisthos.
Hello plaisthos, flichtenheld,
I'd like you to do a code review.
Please visit
http://gerrit.openvpn.net/c/openvpn/+/1027?usp=email
to review the following change.
Change subject: dco_linux: print meaningful text when netlink message is not
parsed
......................................................................
dco_linux: print meaningful text when netlink message is not parsed
We may bail out parsing an incoming DCO message because it may
concern a different interface.
In that case we print the following debug messages:
dco_do_read
ovpn-dco: ignoring message (type=5) for foreign ifindex 313
process_incoming_dco: received message of type 0 - ignoring
However, the last message is confusing, because there is no message
of type 0 being received, but the message_type was simply not
initialized.
Fix that by printing something more appropriate like:
process_incoming_dco: received message was not parsed
Change-Id: I568faa12a5960e8b69de23c2df413b70b231592c
Signed-off-by: Antonio Quartulli <[email protected]>
---
M src/openvpn/dco_linux.c
M src/openvpn/forward.c
2 files changed, 12 insertions(+), 0 deletions(-)
git pull ssh://gerrit.openvpn.net:29418/openvpn refs/changes/27/1027/1
diff --git a/src/openvpn/dco_linux.c b/src/openvpn/dco_linux.c
index 3f7965e..29722cb 100644
--- a/src/openvpn/dco_linux.c
+++ b/src/openvpn/dco_linux.c
@@ -903,6 +903,12 @@
dco_do_read(dco_context_t *dco)
{
msg(D_DCO_DEBUG, __func__);
+
+ /* set the message type to an invalid value so that we later know
+ * if a message was properly parsed or we bailed out earlier
+ */
+ dco->dco_message_type = -1;
+
nl_cb_set(dco->nl_cb, NL_CB_VALID, NL_CB_CUSTOM, ovpn_handle_msg, dco);
return ovpn_nl_recvmsgs(dco, __func__);
diff --git a/src/openvpn/forward.c b/src/openvpn/forward.c
index ed4cdb4..39c74af 100644
--- a/src/openvpn/forward.c
+++ b/src/openvpn/forward.c
@@ -1251,6 +1251,12 @@
dco_do_read(dco);
+ if (dco->dco_message_type == -1)
+ {
+ msg(D_DCO_DEBUG, "%s: received message was not parsed");
+ return;
+ }
+
/* FreeBSD currently sends us removal notifcation with the old peer-id in
* p2p mode with the ping timeout reason, so ignore that one to not shoot
* ourselves in the foot and removing the just established session */
--
To view, visit http://gerrit.openvpn.net/c/openvpn/+/1027?usp=email
To unsubscribe, or for help writing mail filters, visit
http://gerrit.openvpn.net/settings
Gerrit-Project: openvpn
Gerrit-Branch: master
Gerrit-Change-Id: I568faa12a5960e8b69de23c2df413b70b231592c
Gerrit-Change-Number: 1027
Gerrit-PatchSet: 1
Gerrit-Owner: ordex <[email protected]>
Gerrit-Reviewer: flichtenheld <[email protected]>
Gerrit-Reviewer: plaisthos <[email protected]>
Gerrit-CC: openvpn-devel <[email protected]>
Gerrit-Attention: plaisthos <[email protected]>
Gerrit-Attention: flichtenheld <[email protected]>
Gerrit-MessageType: newchange
_______________________________________________
Openvpn-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openvpn-devel