import lldpad-1.0.1-13.git036e314.el8
This commit is contained in:
parent
383d10c0f3
commit
b43f6ed316
51
SOURCES/open-lldp-v1.0.1-28-fix-oid-display.patch
Normal file
51
SOURCES/open-lldp-v1.0.1-28-fix-oid-display.patch
Normal file
@ -0,0 +1,51 @@
|
||||
From cf3f54d1883e5bc23e4c4006a63e1dde88684013 Mon Sep 17 00:00:00 2001
|
||||
From: Aaron Conole <aconole@redhat.com>
|
||||
Date: Thu, 21 Jun 2018 13:28:48 -0400
|
||||
Subject: [PATCH] basman_clif: print the OID properly
|
||||
|
||||
When invoking the lldp tool to view the management information, the display
|
||||
for the OID is printed as the actual binary bits, rather than the
|
||||
OID dotted-notation form.
|
||||
|
||||
This change will display the OID as expected.
|
||||
|
||||
Signed-off-by: Aaron Conole <aconole@redhat.com>
|
||||
---
|
||||
lldp_basman_clif.c | 18 ++++++++++++++++--
|
||||
1 file changed, 16 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lldp_basman_clif.c b/lldp_basman_clif.c
|
||||
index 7dba9d2..abd152d 100644
|
||||
--- a/lldp_basman_clif.c
|
||||
+++ b/lldp_basman_clif.c
|
||||
@@ -272,8 +272,15 @@ void print_mng_addr(u16 len, char *info)
|
||||
memset(buf, 0, sizeof(buf));
|
||||
if (hexstr2bin(info+offset, (u8 *)&buf, oidlen))
|
||||
printf("\tOID: Error parsing OID\n");
|
||||
- else
|
||||
- printf("\tOID: %s\n", buf);
|
||||
+ else {
|
||||
+ printf("\tOID: 0.");
|
||||
+ for (i = 0; i < oidlen; ++i) {
|
||||
+ printf("%d", buf[i]);
|
||||
+ if (i != (oidlen - 1))
|
||||
+ printf(".");
|
||||
+ }
|
||||
+ printf("\n");
|
||||
+ }
|
||||
} else if (oidlen > 128) {
|
||||
printf("\tOID: Invalid length = %d\n", oidlen);
|
||||
}
|
||||
@@ -310,3 +317,10 @@ u32 basman_lookup_tlv_name(char *tlvid_str)
|
||||
}
|
||||
return INVALID_TLVID;
|
||||
}
|
||||
+
|
||||
+/* Local Variables: */
|
||||
+/* c-indent-level: 8 */
|
||||
+/* c-basic-offset: 8 */
|
||||
+/* tab-width: 8 */
|
||||
+/* indent-tabs-mode: t */
|
||||
+/* End: */
|
||||
--
|
||||
2.14.3
|
109
SOURCES/open-lldp-v1.0.1-29-memleak-on-received-TLVs.patch
Normal file
109
SOURCES/open-lldp-v1.0.1-29-memleak-on-received-TLVs.patch
Normal file
@ -0,0 +1,109 @@
|
||||
From 9b0389837d7532909a8070d5a08f0175c367c12e Mon Sep 17 00:00:00 2001
|
||||
From: Chris Leech <cleech@redhat.com>
|
||||
Date: Wed, 23 May 2018 16:37:51 -0700
|
||||
Subject: [PATCH] memleak on received TLVs from modules
|
||||
|
||||
Most of the TLV modules that have an rchange handler for received TLVs
|
||||
seem to get the return values wrong, returning 0 or TLV_OK without
|
||||
freeing or storing the unpacked TLV to be freed later. That leaks the
|
||||
allocation, as rxProcessFrame believes the module has claimed ownership.
|
||||
|
||||
In a test setup, it's probably easiest to see by enabling some TLV type
|
||||
on one side of a connection only. Or, any unexpected TLV that doesn't
|
||||
get handled will be erroneously leaked by the EVB modules.
|
||||
---
|
||||
lldp_8021qaz.c | 4 ++--
|
||||
lldp_evb.c | 8 +++++---
|
||||
lldp_evb22.c | 8 +++++---
|
||||
3 files changed, 12 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/lldp_8021qaz.c b/lldp_8021qaz.c
|
||||
index 094676d..198ebcf 100644
|
||||
--- a/lldp_8021qaz.c
|
||||
+++ b/lldp_8021qaz.c
|
||||
@@ -1924,7 +1924,7 @@ int ieee8021qaz_rchange(struct port *port, struct lldp_agent *agent,
|
||||
struct ieee8021qaz_unpkd_tlvs *rx;
|
||||
|
||||
if (agent->type != NEAREST_BRIDGE)
|
||||
- return 0;
|
||||
+ return SUBTYPE_INVALID;
|
||||
|
||||
qaz_tlvs = ieee8021qaz_data(port->ifname);
|
||||
if (!qaz_tlvs)
|
||||
@@ -2005,7 +2005,7 @@ int ieee8021qaz_rchange(struct port *port, struct lldp_agent *agent,
|
||||
}
|
||||
}
|
||||
|
||||
- return TLV_OK;
|
||||
+ return SUBTYPE_INVALID;
|
||||
}
|
||||
|
||||
static void ieee8021qaz_free_rx(struct ieee8021qaz_unpkd_tlvs *rx)
|
||||
diff --git a/lldp_evb.c b/lldp_evb.c
|
||||
index 4b3752e..07f5ffb 100644
|
||||
--- a/lldp_evb.c
|
||||
+++ b/lldp_evb.c
|
||||
@@ -210,7 +210,8 @@ static int evb_rchange(struct port *port, struct lldp_agent *agent,
|
||||
u8 oui_subtype[OUI_SUB_SIZE] = LLDP_OUI_SUBTYPE;
|
||||
|
||||
if (agent->type != NEAREST_CUSTOMER_BRIDGE)
|
||||
- return 0;
|
||||
+ return SUBTYPE_INVALID;
|
||||
+
|
||||
ed = evb_data(port->ifname, agent->type);
|
||||
|
||||
if (!ed)
|
||||
@@ -229,7 +230,7 @@ static int evb_rchange(struct port *port, struct lldp_agent *agent,
|
||||
if (!ed->txmit) {
|
||||
LLDPAD_WARN("%s:%s agent %d EVB Config disabled\n",
|
||||
__func__, ed->ifname, agent->type);
|
||||
- return TLV_OK;
|
||||
+ return SUBTYPE_INVALID;
|
||||
}
|
||||
|
||||
LLDPAD_DBG("%s:%s agent %d received tlv:\n", __func__,
|
||||
@@ -246,7 +247,8 @@ static int evb_rchange(struct port *port, struct lldp_agent *agent,
|
||||
evb_print_tlvinfo(ed->ifname, &ed->tie);
|
||||
vdp_update(port->ifname, ed->tie.ccap);
|
||||
}
|
||||
- return TLV_OK;
|
||||
+
|
||||
+ return SUBTYPE_INVALID;
|
||||
}
|
||||
|
||||
/*
|
||||
diff --git a/lldp_evb22.c b/lldp_evb22.c
|
||||
index 85c6abc..64b04e0 100644
|
||||
--- a/lldp_evb22.c
|
||||
+++ b/lldp_evb22.c
|
||||
@@ -305,7 +305,8 @@ static int evb22_rchange(struct port *port, struct lldp_agent *agent,
|
||||
u8 oui_subtype[OUI_SUB_SIZE] = LLDP_MOD_EVB22_OUI;
|
||||
|
||||
if (agent->type != NEAREST_CUSTOMER_BRIDGE)
|
||||
- return 0;
|
||||
+ return SUBTYPE_INVALID;
|
||||
+
|
||||
ed = evb22_data(port->ifname, agent->type);
|
||||
|
||||
if (!ed)
|
||||
@@ -324,7 +325,7 @@ static int evb22_rchange(struct port *port, struct lldp_agent *agent,
|
||||
if (!ed->txmit) {
|
||||
LLDPAD_WARN("%s:%s agent %d EVB Config disabled\n",
|
||||
__func__, ed->ifname, agent->type);
|
||||
- return TLV_OK;
|
||||
+ return SUBTYPE_INVALID;
|
||||
}
|
||||
|
||||
LLDPAD_DBG("%s:%s agent %d received tlv:\n", __func__,
|
||||
@@ -341,7 +342,8 @@ static int evb22_rchange(struct port *port, struct lldp_agent *agent,
|
||||
evb22_print_tlvinfo(ed->ifname, &ed->out);
|
||||
/* TODO vdp_update(port->ifname, ed->tie.ccap); */
|
||||
}
|
||||
- return TLV_OK;
|
||||
+
|
||||
+ return SUBTYPE_INVALID;
|
||||
}
|
||||
|
||||
/*
|
||||
--
|
||||
2.19.1
|
42
SOURCES/open-lldp-v1.0.1-30-support-DSCP-selectors.patch
Normal file
42
SOURCES/open-lldp-v1.0.1-30-support-DSCP-selectors.patch
Normal file
@ -0,0 +1,42 @@
|
||||
From c8e438d610bc8af109c19479ee0f568b271d4030 Mon Sep 17 00:00:00 2001
|
||||
From: Petr Machata <petrm@mellanox.com>
|
||||
Date: Mon, 9 Jul 2018 21:43:41 +0300
|
||||
Subject: [PATCH] lldpad: Support DSCP selectors in APP TLV's
|
||||
|
||||
The P802.1Qcd/D2.1 standard draft introduces a new APP TLV: DSCP, with
|
||||
selector value of 5. Don't reject APP TLV's with selector 5, and
|
||||
sanitize the PID value to not be out of bounds for DSCP.
|
||||
|
||||
Signed-off-by: Petr Machata <petrm@mellanox.com>
|
||||
---
|
||||
lldp_8021qaz_cmds.c | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lldp_8021qaz_cmds.c b/lldp_8021qaz_cmds.c
|
||||
index 8cb225e..e017e2a 100644
|
||||
--- a/lldp_8021qaz_cmds.c
|
||||
+++ b/lldp_8021qaz_cmds.c
|
||||
@@ -1290,7 +1290,7 @@ static int _set_arg_app(struct cmd *cmd, char *args, char *arg_value,
|
||||
obuf_len - strlen(obuf) - 2);
|
||||
goto err;
|
||||
}
|
||||
- if (sel < 1 || sel > 4) {
|
||||
+ if (sel < 1 || sel > 5) {
|
||||
strncat(obuf, ": selector out of range",
|
||||
obuf_len - strlen(obuf) - 2);
|
||||
goto err;
|
||||
@@ -1305,6 +1305,11 @@ static int _set_arg_app(struct cmd *cmd, char *args, char *arg_value,
|
||||
obuf_len - strlen(obuf) - 2);
|
||||
goto err;
|
||||
}
|
||||
+ if (sel == 5 && pid > 63) {
|
||||
+ strncat(obuf, ": DSCP > 63",
|
||||
+ obuf_len - strlen(obuf) - 2);
|
||||
+ goto err;
|
||||
+ }
|
||||
|
||||
free(parse);
|
||||
|
||||
--
|
||||
2.21.0
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
Name: lldpad
|
||||
Version: 1.0.1
|
||||
Release: 9.git%{checkout}%{?dist}
|
||||
Release: 13.git%{checkout}%{?dist}
|
||||
Summary: Intel LLDP Agent
|
||||
Group: System Environment/Daemons
|
||||
License: GPLv2
|
||||
@ -40,6 +40,9 @@ Patch24: open-lldp-v1.0.1-24-switch-from-sysv-to-posix-shared-memory-apis.patch
|
||||
Patch25: open-lldp-v1.0.1-25-l2_linux_packet-correctly-process-return-value-of-ge.patch
|
||||
Patch26: open-lldp-v1.0.1-26-lldpad-system-capability-incorrect-advertised-as-sta.patch
|
||||
Patch27: open-lldp-v1.0.1-27-fix-build-warnings.patch
|
||||
Patch28: open-lldp-v1.0.1-28-fix-oid-display.patch
|
||||
Patch29: open-lldp-v1.0.1-29-memleak-on-received-TLVs.patch
|
||||
Patch30: open-lldp-v1.0.1-30-support-DSCP-selectors.patch
|
||||
|
||||
BuildRequires: automake autoconf libtool
|
||||
BuildRequires: flex >= 2.5.33
|
||||
@ -113,6 +116,18 @@ rm -f %{buildroot}%{_libdir}/liblldp_clif.la
|
||||
%{_libdir}/liblldp_clif.so
|
||||
|
||||
%changelog
|
||||
* Tue Aug 13 2019 Aaron Conole <aconole@redhat.com> - 1.0.1-13.git036e314
|
||||
- After gating yml updates
|
||||
|
||||
* Fri Jul 05 2019 Aaron Conole <aconole@redhat.com> - 1.0.1-12.git036e314
|
||||
- Add support for DSCP selectors in APP TLVs (#1704660)
|
||||
|
||||
* Fri Jul 05 2019 Aaron Conole <aconole@redhat.com> - 1.0.1-11.git036e314
|
||||
- Fix memleak on TLV reception (#1727326)
|
||||
|
||||
* Fri Jul 05 2019 Aaron Conole <aconole@redhat.com> - 1.0.1-10.git036e314
|
||||
- Fix the OID display (#1614933)
|
||||
|
||||
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-9.git036e314
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user