mirror_frr/isisd
Juraj Vijtiuk 89a1238132 isisd: fix router capability TLV parsing issues
isis_tlvs.c would fail at multiple places if incorrect TLVs were
received causing stream assertion violations.
This patch fixes the issues by adding missing length checks, missing
consumed length updates and handling malformed Segment Routing subTLVs.

Signed-off-by: Juraj Vijtiuk <juraj.vijtiuk@sartura.hr>

Small adjustments by Igor Ryzhov:
- fix incorrect replacement of srgb by srlb on lines 3052 and 3054
- add length check for ISIS_SUBTLV_ALGORITHM
- fix conflict in fuzzing data during rebase

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
(cherry picked from commit 9ba865f54d)
2022-02-09 10:49:32 +00:00
..
.gitignore *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
AUTHORS Add support of Traffic Engineering to IS-IS 2016-09-03 11:05:50 -04:00
fabricd.c isisd: Do not explicitly set the thread pointer to NULL 2021-10-08 08:56:42 +03:00
fabricd.h *: use the current project name (FRRouting) 2020-03-25 17:38:56 -04:00
isis_adjacency.c Merge pull request #9938 from Orange-OpenSource/isis_ls 2022-01-18 10:12:08 -05:00
isis_adjacency.h isisd: Add support for RFC6119 (IPv6 TE in IS-IS) 2021-11-30 15:22:28 +01:00
isis_bfd.c isisd: Add support for RFC6119 (IPv6 TE in IS-IS) 2021-11-30 15:22:28 +01:00
isis_bfd.h isisd: rework BFD integration 2021-05-07 12:03:57 +03:00
isis_bpf.c isisd: Remove #if 0 code 2021-01-28 13:45:44 -05:00
isis_circuit.c *: do not print vrf name for interface config when using vrf-lite 2022-01-24 14:44:05 +03:00
isis_circuit.h fabricd: cleanup interface config output 2021-11-11 14:56:34 +03:00
isis_cli.c isisd: remove deprecated command 2022-01-27 21:12:22 +03:00
isis_common.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
isis_constants.h isisd: Fix Attach-bit processing 2021-01-20 09:24:35 -05:00
isis_csm.c isisd: allow arbitrary order of area/interface configuration 2021-04-29 17:05:21 +03:00
isis_csm.h isisd: Use enum for circuit state 2021-04-22 15:17:20 -04:00
isis_dlpi.c isisd: Remove #if 0 code 2021-01-28 13:45:44 -05:00
isis_dr.c isisd: support for snmp 2021-03-02 10:06:31 -05:00
isis_dr.h isisd: reduce code duplication for levels 2018-12-04 12:49:25 +01:00
isis_dynhn.c isisd: per-instance dynamic hostname cache 2021-06-11 18:30:47 +03:00
isis_dynhn.h isisd: per-instance dynamic hostname cache 2021-06-11 18:30:47 +03:00
isis_errors.c isisd: detect Prefix-SID collisions and handle them appropriately 2020-11-04 17:12:30 -03:00
isis_errors.h isisd: detect Prefix-SID collisions and handle them appropriately 2020-11-04 17:12:30 -03:00
isis_events.c isisd: fix circuit is-type configuration 2021-10-30 03:17:49 +03:00
isis_events.h isisd: Replace isis_event_adjacency_state_change with a hook 2018-10-05 14:05:28 +02:00
isis_flags.c *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
isis_flags.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
isis_ldp_sync.c *: cleanup ifp->vrf_id 2021-11-22 20:47:23 +03:00
isis_ldp_sync.h isisd: fix ldp-sync configuration 2021-04-29 17:05:21 +03:00
isis_lfa.c isisd: Add support for RFC6119 (IPv6 TE in IS-IS) 2021-11-30 15:22:28 +01:00
isis_lfa.h isisd: kill isis_memory.h, use MTYPE_STATIC 2021-03-22 18:27:58 +01:00
isis_lsp.c isisd: Prepare IS-IS for Link State support 2021-11-30 15:22:28 +01:00
isis_lsp.h isisd: fix processing of the attached bit 2021-07-13 14:49:49 +03:00
isis_main.c *: Convert quagga_signal_X to frr_signal_X 2021-11-11 14:41:27 -05:00
isis_misc.c isisd: per-instance dynamic hostname cache 2021-06-11 18:30:47 +03:00
isis_misc.h isisd: minor cleanup 2020-08-26 20:16:19 -03:00
isis_mt.c isisd: Add support for RFC6119 (IPv6 TE in IS-IS) 2021-11-30 15:22:28 +01:00
isis_mt.h isisd: Add support for RFC6119 (IPv6 TE in IS-IS) 2021-11-30 15:22:28 +01:00
isis_nb_config.c isisd: Log messages should not have newlines in them. 2022-01-18 14:06:38 -05:00
isis_nb_notifications.c isisd: per-instance dynamic hostname cache 2021-06-11 18:30:47 +03:00
isis_nb_state.c isisd, yang: move IS-IS interface state data to the appropriate place 2020-05-15 23:47:43 -03:00
isis_nb.c isisd: Add Link State Traffic Engineering support 2021-11-30 15:22:28 +01:00
isis_nb.h isisd: Add Link State Traffic Engineering support 2021-11-30 15:22:28 +01:00
isis_network.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
isis_pdu_counter.c Minor adjustments to address CI warnings 2018-12-12 00:23:23 +00:00
isis_pdu_counter.h isisd: Provide statistics about sent/received PDU count 2018-12-07 19:45:14 +00:00
isis_pdu.c isisd: Add support for RFC6119 (IPv6 TE in IS-IS) 2021-11-30 15:22:28 +01:00
isis_pdu.h isisd: Add debug output for tx-queues 2018-12-07 19:45:14 +00:00
isis_pfpacket.c *: cleanup ifp->vrf_id 2021-11-22 20:47:23 +03:00
isis_redist.c isisd: fix redistribute CLI 2021-10-05 17:38:21 +03:00
isis_redist.h isisd: fix redistribution in vrf 2021-05-14 17:12:35 +03:00
isis_route.c isisd: Add support for RFC6119 (IPv6 TE in IS-IS) 2021-11-30 15:22:28 +01:00
isis_route.h *: require semicolon after DEFINE_HOOK & co. 2021-03-17 06:18:17 +01:00
isis_routemap.c isisd: added support for routemap match tag in redistribution 2021-03-05 22:12:00 +00:00
isis_routemap.h *: reindent 2017-07-17 14:04:07 +02:00
isis_snmp.c isisd: Ensure structure is defined for compilation 2022-01-18 14:07:21 -05:00
isis_spf_private.h isisd: kill isis_memory.h, use MTYPE_STATIC 2021-03-22 18:27:58 +01:00
isis_spf.c isisd: Do not explicitly set the thread pointer to NULL 2021-10-08 08:56:42 +03:00
isis_spf.h isisd: implement Remote LFA 2021-01-08 22:22:11 -03:00
isis_sr.c isisd: Add support for RFC6119 (IPv6 TE in IS-IS) 2021-11-30 15:22:28 +01:00
isis_sr.h *: require semicolon after DEFINE_<typesafe...> 2021-03-17 06:18:39 +01:00
isis_te.c isisd: Add Link State Traffic Engineering support 2021-11-30 15:22:28 +01:00
isis_te.h isisd: Add Link State Traffic Engineering support 2021-11-30 15:22:28 +01:00
isis_tlvs.c isisd: fix router capability TLV parsing issues 2022-02-09 10:49:32 +00:00
isis_tlvs.h isisd: fix router capability TLV parsing issues 2022-02-09 10:49:32 +00:00
isis_tx_queue.c isisd: Do not explicitly set the thread pointer to NULL 2021-10-04 19:24:54 +03:00
isis_tx_queue.h *: use the current project name (FRRouting) 2020-03-25 17:38:56 -04:00
isis_vty_fabricd.c isisd: using argv as a string name is categorically wrong 2021-06-22 13:03:00 -04:00
isis_zebra.c isisd: Prepare IS-IS for Link State support 2021-11-30 15:22:28 +01:00
isis_zebra.h isisd: Prepare IS-IS for Link State support 2021-11-30 15:22:28 +01:00
isisd.c Merge pull request #9938 from Orange-OpenSource/isis_ls 2022-01-18 10:12:08 -05:00
isisd.h isisd: Prepare IS-IS for Link State support 2021-11-30 15:22:28 +01:00
iso_checksum.c *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
iso_checksum.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
Makefile build: non-recursive isisd 2017-08-04 11:09:50 +02:00
README More cleanup in isisd. 2005-01-01 21:12:56 +00:00
subdir.am build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00

Constraints

  o Maximum number of interfaces 255