mirror_frr/lib
Donald Sharp dd5bab0c09 lib: Fix read beyond end of data structure
Our Address Sanitizer CI is finding this issue:
error	09-Oct-2019 19:28:33	r4: bgpd triggered an exception by AddressSanitizer
error	09-Oct-2019 19:28:33	ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffdd425b060 at pc 0x00000068575f bp 0x7ffdd4258550 sp 0x7ffdd4258540
error	09-Oct-2019 19:28:33	READ of size 1 at 0x7ffdd425b060 thread T0
error	09-Oct-2019 19:28:33	    #0 0x68575e in prefix_cmp lib/prefix.c:776
error	09-Oct-2019 19:28:33	    #1 0x5889f5 in rfapiItBiIndexSearch bgpd/rfapi/rfapi_import.c:2230
error	09-Oct-2019 19:28:33	    #2 0x5889f5 in rfapiBgpInfoFilteredImportVPN bgpd/rfapi/rfapi_import.c:3520
error	09-Oct-2019 19:28:33	    #3 0x58b909 in rfapiProcessWithdraw bgpd/rfapi/rfapi_import.c:4071
error	09-Oct-2019 19:28:33	    #4 0x4c459b in bgp_withdraw bgpd/bgp_route.c:3736
error	09-Oct-2019 19:28:33	    #5 0x484122 in bgp_nlri_parse_vpn bgpd/bgp_mplsvpn.c:237
error	09-Oct-2019 19:28:33	    #6 0x497f52 in bgp_nlri_parse bgpd/bgp_packet.c:315
error	09-Oct-2019 19:28:33	    #7 0x49d06d in bgp_update_receive bgpd/bgp_packet.c:1598
error	09-Oct-2019 19:28:33	    #8 0x49d06d in bgp_process_packet bgpd/bgp_packet.c:2274
error	09-Oct-2019 19:28:33	    #9 0x6b9f54 in thread_call lib/thread.c:1531
error	09-Oct-2019 19:28:33	    #10 0x657037 in frr_run lib/libfrr.c:1052
error	09-Oct-2019 19:28:33	    #11 0x42d268 in main bgpd/bgp_main.c:486
error	09-Oct-2019 19:28:33	    #12 0x7f806032482f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)
error	09-Oct-2019 19:28:33	    #13 0x42bcc8 in _start (/usr/lib/frr/bgpd+0x42bcc8)
error	09-Oct-2019 19:28:33
error	09-Oct-2019 19:28:33	Address 0x7ffdd425b060 is located in stack of thread T0 at offset 240 in frame
error	09-Oct-2019 19:28:33	    #0 0x483945 in bgp_nlri_parse_vpn bgpd/bgp_mplsvpn.c:103
error	09-Oct-2019 19:28:33
error	09-Oct-2019 19:28:33	  This frame has 5 object(s):
error	09-Oct-2019 19:28:33	    [32, 36) 'label'
error	09-Oct-2019 19:28:33	    [96, 108) 'rd_as'
error	09-Oct-2019 19:28:33	    [160, 172) 'rd_ip'
error	09-Oct-2019 19:28:33	    [224, 240) 'prd' <== Memory access at offset 240 overflows this variable
error	09-Oct-2019 19:28:33	    [288, 336) 'p'
error	09-Oct-2019 19:28:33	HINT: this may be a false positive if your program uses some custom stack unwind mechanism or swapcontext
error	09-Oct-2019 19:28:33	      (longjmp and C++ exceptions *are* supported)
error	09-Oct-2019 19:28:33	SUMMARY: AddressSanitizer: stack-buffer-overflow lib/prefix.c:776 prefix_cmp
error	09-Oct-2019 19:28:33	Shadow bytes around the buggy address:
error	09-Oct-2019 19:28:33	  0x10003a8435b0: 00 00 00 00 00 00 f1 f1 f1 f1 00 00 00 00 00 00
error	09-Oct-2019 19:28:33	  0x10003a8435c0: 00 00 00 00 00 00 00 00 00 00 f3 f3 f3 f3 f3 f3
error	09-Oct-2019 19:28:33	  0x10003a8435d0: f3 f3 00 00 00 00 00 00 00 00 00 00 00 00 00 00
error	09-Oct-2019 19:28:33	  0x10003a8435e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f1 f1
error	09-Oct-2019 19:28:33	  0x10003a8435f0: f1 f1 04 f4 f4 f4 f2 f2 f2 f2 00 04 f4 f4 f2 f2
error	09-Oct-2019 19:28:33	=>0x10003a843600: f2 f2 00 04 f4 f4 f2 f2 f2 f2 00 00[f4]f4 f2 f2
error	09-Oct-2019 19:28:33	  0x10003a843610: f2 f2 00 00 00 00 00 00 f4 f4 f3 f3 f3 f3 00 00
error	09-Oct-2019 19:28:33	  0x10003a843620: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
error	09-Oct-2019 19:28:33	  0x10003a843630: 00 00 00 00 00 00 00 00 00 00 f1 f1 f1 f1 02 f4
error	09-Oct-2019 19:28:33	  0x10003a843640: f4 f4 f2 f2 f2 f2 04 f4 f4 f4 f2 f2 f2 f2 00 00
error	09-Oct-2019 19:28:33	  0x10003a843650: f4 f4 f2 f2 f2 f2 00 00 00 00 f2 f2 f2 f2 00 00
error	09-Oct-2019 19:28:33	Shadow byte legend (one shadow byte represents 8 application bytes):
error	09-Oct-2019 19:28:33	  Addressable:           00
error	09-Oct-2019 19:28:33	  Partially addressable: 01 02 03 04 05 06 07
error	09-Oct-2019 19:28:33	  Heap left redzone:       fa
error	09-Oct-2019 19:28:33	  Heap right redzone:      fb
error	09-Oct-2019 19:28:33	  Freed heap region:       fd
error	09-Oct-2019 19:28:33	  Stack left redzone:      f1
error	09-Oct-2019 19:28:33	  Stack mid redzone:       f2
error	09-Oct-2019 19:28:33	  Stack right redzone:     f3
error	09-Oct-2019 19:28:33	  Stack partial redzone:   f4
error	09-Oct-2019 19:28:33	  Stack after return:      f5
error	09-Oct-2019 19:28:33	  Stack use after scope:   f8
error	09-Oct-2019 19:28:33	  Global redzone:          f9
error	09-Oct-2019 19:28:33	  Global init order:       f6
error	09-Oct-2019 19:28:33	  Poisoned by user:        f7
error	09-Oct-2019 19:28:33	  Container overflow:      fc
error	09-Oct-2019 19:28:33	  Array cookie:            ac
error	09-Oct-2019 19:28:33	  Intra object redzone:    bb
error	09-Oct-2019 19:28:33	  ASan internal:           fe
error	09-Oct-2019 19:28:36	r3: Daemon bgpd not running

This is the result of this code pattern in rfapi/rfapi_import.c:

prefix_cmp((struct prefix *)&bpi_result->extra->vnc.import.rd,
	   (struct prefix *)prd))

Effectively prd or vnc.import.rd are `struct prefix_rd` which
are being typecast to a `struct prefix`.  Not a big deal except commit
1315d74de9 modified the prefix_cmp
function to allow for a sorted prefix_cmp.  In prefix_cmp
we were looking at the offset and shift.  In the case
of vnc we were passing a prefix length of 64 which is the exact length of
the remaining data structure for struct prefix_rd.  So we calculated
a offset of 8 and a shift of 0.  The data structures for the prefix
portion happened to be equal to 64 bits of data. So we checked that
with the memcmp got a 0 and promptly read off the end of the data
structure for the numcmp.  The fix is if shift is 0 that means thei
the memcmp has checked everything and there is nothing to do.

Please note: We will still crash if we set the prefixlen > then
~312 bits currently( ie if the prefixlen specifies a bit length
longer than the prefix length ).  I do not think there is
anything to do here( nor am I sure how to correct this either )
as that we are going to have some severe problems when we muck
up the prefixlen.

Fixes: #5025
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2019-10-10 09:03:56 -04:00
..
printf *: strip trailing whitespace 2019-09-30 16:44:43 +00:00
.gitignore *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
agentx.c lib: remove agentx already enabled warning 2018-10-28 02:50:47 +00:00
agg_table.c bgpd, lib, zebra: Wrapper get/set of table->info pointer 2018-09-23 20:04:39 -04:00
agg_table.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
atomlist.c lib: atomlist & atomsort 2019-04-27 19:33:39 +02:00
atomlist.h lib: Impelement the *_del list API. 2019-07-31 11:35:21 -04:00
bfd.c bfdd, lib, bgpd: add bfd cbit usage 2019-05-14 16:49:49 +02:00
bfd.h bgpd: add vty command to enable bfd control-plane-check-failure 2019-05-14 16:49:49 +02:00
bitfield.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
buffer.c *: LIB_[ERR|WARN] -> EC_LIB 2018-09-13 19:34:28 +00:00
buffer.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
checksum.c lib: add internet checksum with pseudoheaders 2019-05-17 00:27:08 +00:00
checksum.h lib: add internet checksum with pseudoheaders 2019-05-17 00:27:08 +00:00
clippy.c lib/clippy: error out on unsupported bits 2019-06-12 19:22:59 +02:00
clippy.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
command_graph.c *: fix ctype (isalpha & co.) casts 2019-08-06 16:54:52 +02:00
command_graph.h lib: a few more trivial changes for C++ compatibility 2019-02-11 22:34:12 -02:00
command_lex.l lib: change M:A:C to X:X:X:X:X:X 2018-10-24 21:44:33 +00:00
command_match.c lib: reject leading 0 in ipv4 decimal quad 2019-10-07 15:36:39 +00:00
command_match.h lib: rename enum to avoid conflict 2019-02-11 22:34:12 -02:00
command_parse.y lib: add a check for {[...]} in DEFUNs 2019-06-25 13:35:21 +02:00
command_py.c *: config.h or zebra.h is the first #include 2019-06-13 13:35:33 +02:00
command.c Revert "lib: introduce a read-write lock for northbound configurations" 2019-09-18 14:35:10 -03:00
command.h lib: fix typo 2019-10-08 16:52:33 +03:00
compiler.h lib: add some macro helpers 2019-09-03 17:15:17 +02:00
csv.c Merge pull request #2965 from opensourcerouting/buildfoo-20180904 2018-09-09 14:11:10 -04:00
csv.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
db.c lib: introduce new northbound API 2018-10-27 16:16:12 -02:00
db.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
debug.c lib: Separate out the debug_init api 2019-05-28 17:16:16 -04:00
debug.h lib: Separate out the debug_init api 2019-05-28 17:16:16 -04:00
defun_lex.l lib/clippy: error out on unsupported bits 2019-06-12 19:22:59 +02:00
distribute.c lib: hashing functions should take const arguments 2019-05-14 21:23:08 +00:00
distribute.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
ferr.c lib: add frr_with_mutex() block-wrapper 2019-09-03 17:15:17 +02:00
ferr.h vtysh: only show error codes once 2019-07-29 17:18:18 +00:00
filter.c *: fix ctype (isalpha & co.) casts 2019-08-06 16:54:52 +02:00
filter.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
freebsd-queue.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
frr_pthread.c lib: clean up frr_pthread structs at exit 2019-09-17 16:12:28 +00:00
frr_pthread.h lib: add frr_with_mutex() block-wrapper 2019-09-03 17:15:17 +02:00
frr_zmq.c *: do not check XMALLOC / XCALLOC for null ret 2019-02-25 23:00:44 +00:00
frr_zmq.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
frratomic.h lib: add cmpxchg_strong to frratomic.h 2019-04-18 12:44:29 +02:00
frrcu.c lib: Stop arm crash on shutdown 2019-08-28 12:09:41 -04:00
frrcu.h lib: RCU 2019-07-31 03:34:09 +02:00
frrlua.c *: config.h or zebra.h is the first #include 2019-06-13 13:35:33 +02:00
frrlua.h build: fix Lua build 2019-05-10 16:08:32 +00:00
frrstr.c *: fix ctype (isalpha & co.) casts 2019-08-06 16:54:52 +02:00
frrstr.h lib: replace begins_with, add frrstr_endswith 2019-05-23 20:52:01 +00:00
getopt1.c *: reindent 2017-07-17 14:04:07 +02:00
getopt.c Revert "*: reindent pt. 2" 2017-07-22 14:52:33 +02:00
getopt.h *: reindent 2017-07-17 14:04:07 +02:00
gitversion.pl build: make gitversion more useful 2017-08-02 02:59:51 +02:00
grammar_sandbox_main.c lib: Add '--command-log-always` to all daemons startup 2019-05-31 10:06:42 -04:00
grammar_sandbox.c lib: reduce exported var symbols 2019-04-03 20:34:18 +00:00
graph.c Treewide: use ANSI function definitions 2019-01-24 11:21:59 +01:00
graph.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
hash.c lib: add frr_with_mutex() block-wrapper 2019-09-03 17:15:17 +02:00
hash.h lib: use MTYPE_STATIC 2019-06-21 08:54:25 +02:00
hook.c lib: flip to ISC on hook & module code 2018-12-14 16:24:06 +01:00
hook.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
iana_afi.h lib, bgpd: Create iana_afi.h for storing iana_afi/safi enums 2019-06-02 15:02:07 -04:00
id_alloc.c *: config.h or zebra.h is the first #include 2019-06-13 13:35:33 +02:00
id_alloc.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
if_rmap.c lib: hashing functions should take const arguments 2019-05-14 21:23:08 +00:00
if_rmap.h eigrp, rip, ripng, lib: unlink if_rmap from vrf 2019-02-19 21:11:37 +01:00
if.c Merge pull request #5009 from donaldsharp/interface_deletion 2019-09-30 07:46:19 -04:00
if.h *: Convert zapi->interface_delete to ifp callback 2019-09-19 13:34:06 -04:00
imsg-buffer.c lib, ldpd: fix SA warnings from TAILQ oddness 2018-09-08 20:34:32 +02:00
imsg.c lib: reduce exported var symbols 2019-04-03 20:34:18 +00:00
imsg.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
ipaddr.h lib: use const in ipaddr2str 2019-07-17 16:59:41 -04:00
jhash.c Revert "bgpd: Prevent IPv6 routes received via a ibgp session with own ip as nexthop " 2019-05-02 07:15:39 -04:00
jhash.h Revert "bgpd: Prevent IPv6 routes received via a ibgp session with own ip as nexthop " 2019-05-02 07:15:39 -04:00
json.c lib: add more convenient boolean adder for json 2019-05-17 00:27:08 +00:00
json.h vrrpd, lib: style fixes 2019-05-17 00:27:08 +00:00
keychain.c lib: reduce exported var symbols 2019-04-03 20:34:18 +00:00
keychain.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
lib_errors.c lib: split off c-ares code from nhrpd 2019-07-03 17:15:34 +02:00
lib_errors.h lib: split off c-ares code from nhrpd 2019-07-03 17:15:34 +02:00
libfrr.c Revert "lib: introduce a read-write lock for northbound configurations" 2019-09-18 14:35:10 -03:00
libfrr.h *: Convert over to all -N namespace to change DAEMON_VTY_DIR 2019-06-04 19:52:46 -04:00
libospf.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
linklist.c lib: const a couple linklist apis 2019-05-28 20:23:04 +00:00
linklist.h *: s/TRUE/true/, s/FALSE/false/ 2019-07-01 17:26:05 +00:00
log_int.h lib: move zlog() prototype back to the public logging API 2019-04-18 13:15:13 -03:00
log_vty.c lib: Remove extraneous spacing/output filter cmds 2019-06-19 17:20:24 -04:00
log_vty.h lib,vtysh: Add vtysh commands for log-filter 2019-06-19 17:20:24 -04:00
log.c lib, zebra: add new MPLS zapi message with route replace semantics 2019-09-10 00:01:10 -03:00
log.h lib: Add log filter manipulation code 2019-06-19 17:20:24 -04:00
Makefile build: convert lib/ to non-recursive build 2017-07-31 23:03:27 +02:00
md5.c Treewide: use ANSI function definitions 2019-01-24 11:21:59 +01:00
md5.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
memory_vty.c lib: add process pids to 'show modules' 2019-07-02 15:15:13 -04:00
memory_vty.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
memory.c lib: MTYPE_PREFIX_FLOWSPEC should not be exposed by memory.h 2019-02-07 09:35:49 -05:00
memory.h lib: fix MTYPE alias on clang 2019-06-21 14:51:50 +02:00
mlag.c lib: Add mlag_role2str function 2019-01-04 12:21:00 -05:00
mlag.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
module.c *: remove null check before XFREE 2019-02-25 23:00:46 +00:00
module.h lib/printf: rename & private __find_arguments 2019-06-03 16:44:32 +02:00
monotime.h lib: add monotime_to_realtime() 2019-08-30 19:00:45 +02:00
mpls.c lib, zebra: Move label conversion strings to lib 2018-04-18 07:06:11 -04:00
mpls.h isisd: Update TLVs processing for TE, RI & SR 2019-09-17 17:35:50 +02:00
netns_linux.c *: remove null check before XFREE 2019-02-25 23:00:46 +00:00
netns_other.c all: remove logical-router functionality 2019-08-02 17:10:11 +03:00
network.c *: LIB_[ERR|WARN] -> EC_LIB 2018-09-13 19:34:28 +00:00
network.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
nexthop_group_private.h lib: Private api for nexthop_group manipulation 2019-06-25 22:58:48 -04:00
nexthop_group.c *: fix missing VRF autocompletions 2019-09-24 19:51:46 +03:00
nexthop_group.h lib: Private api for nexthop_group manipulation 2019-06-25 22:58:48 -04:00
nexthop.c lib: Sort zapi_nexthops on the encode 2019-08-19 15:56:45 -04:00
nexthop.h lib: Sort zapi_nexthops on the encode 2019-08-19 15:56:45 -04:00
northbound_cli.c Revert "lib: introduce a read-write lock for northbound configurations" 2019-09-18 14:35:10 -03:00
northbound_cli.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
northbound_confd.c Revert "lib: introduce a read-write lock for northbound configurations" 2019-09-18 14:35:10 -03:00
northbound_db.c lib: introduce new northbound API 2018-10-27 16:16:12 -02:00
northbound_db.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
northbound_grpc.cpp lib: fix gRPC northbound plugin build 2019-10-08 19:13:50 +00:00
northbound_sysrepo.c Revert "lib: introduce a read-write lock for northbound configurations" 2019-09-18 14:35:10 -03:00
northbound.c lib: add an exception in the northbound for operational data callbacks 2019-09-18 14:35:10 -03:00
northbound.h lib: fix ordering issues in the northbound 2019-09-18 14:35:10 -03:00
ns.h all: remove logical-router functionality 2019-08-02 17:10:11 +03:00
ntop.c lib: drop DSO_SELF on inet_ntop 2019-06-13 00:05:03 +02:00
openbsd-queue.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
openbsd-tree.c lib: Add const to openbsd-tree functions 2019-05-13 17:21:22 -07:00
openbsd-tree.h lib: Add const to openbsd-tree functions 2019-05-13 17:21:22 -07:00
pbr.h bgp, zebra, lib: add protocol support for iptables 2019-07-08 08:36:45 +02:00
pid_output.c lib: When we can't lock the pid file provide a meaningfull message 2018-09-22 14:18:52 -04:00
plist_int.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
plist.c *: fix ctype (isalpha & co.) casts 2019-08-06 16:54:52 +02:00
plist.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
prefix.c lib: Fix read beyond end of data structure 2019-10-10 09:03:56 -04:00
prefix.h lib: use const in prefix_mac2str 2019-08-23 10:09:38 -04:00
printfrr.h lib/printf: add extension support 2019-06-03 16:45:01 +02:00
privs.c lib: add frr_with_mutex() block-wrapper 2019-09-03 17:15:17 +02:00
privs.h *: frr_elevate_privs -> frr_with_privs 2019-09-03 17:18:35 +02:00
ptm_lib.c *: fix ctype (isalpha & co.) casts 2019-08-06 16:54:52 +02:00
ptm_lib.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
pullwr.c lib: add pull-driven data write handler 2019-08-30 19:00:45 +02:00
pullwr.h lib: add pull-driven data write handler 2019-08-30 19:00:45 +02:00
pw.h lib: a few more trivial changes for C++ compatibility 2019-02-11 22:34:12 -02:00
qobj.c lib: use DECLARE_HASH for qobj hash 2019-04-27 19:33:45 +02:00
qobj.h lib: use DECLARE_HASH for qobj hash 2019-04-27 19:33:45 +02:00
queue.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
resolver.c lib/resolver: NULL out callback before call 2019-07-03 17:15:38 +02:00
resolver.h lib: split off c-ares code from nhrpd 2019-07-03 17:15:34 +02:00
ringbuf.c *: conform with COMMUNITY.md formatting rules, via 'make indent' 2018-03-06 14:04:32 -05:00
ringbuf.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
route_types.pl lib, zebra: Fix 'show ip route' char collision 2019-01-29 20:41:36 -05:00
route_types.txt zebra: update zebra_rib for vrrp 2019-05-17 00:27:08 +00:00
routemap.c lib: rmap dep table is not correct in case of exact-match clause 2019-09-15 05:45:27 -07:00
routemap.h lib: rmap dep table is not correct in case of exact-match clause 2019-09-15 05:45:27 -07:00
sbuf.c lib: use snprintfrr() in "hidden" printfs 2019-06-12 19:35:43 +02:00
sbuf.h lib: make "%Ld" work for int64_t 2019-06-12 19:35:43 +02:00
seqlock.c lib/seqlock: add a few more comments 2019-07-31 03:33:41 +02:00
seqlock.h lib/seqlock: add a few more comments 2019-07-31 03:33:41 +02:00
sha256.c lib: Fix memset usage 2017-10-03 12:03:56 -04:00
sha256.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
sigevent.c lib: make SA_SIGINFO use unconditional 2019-07-31 03:33:41 +02:00
sigevent.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
skiplist.c Treewide: use ANSI function definitions 2019-01-24 11:21:59 +01:00
skiplist.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
smux.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
snmp.c *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
sockopt.c lib: On some platforms function did not return anything 2019-06-07 09:29:45 -04:00
sockopt.h lib: add support for extended TCP MD5 auth 2019-04-16 15:26:20 +00:00
sockunion.c bgpd, lib: Remove SO_MARK 2019-05-24 08:35:35 -04:00
sockunion.h bgpd, lib: Remove SO_MARK 2019-05-24 08:35:35 -04:00
spf_backoff.c lib: Remove default case statement from a enum driven switch 2018-08-23 08:36:07 -04:00
spf_backoff.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
srcdest_table.c lib: add some printfrr specifiers 2019-06-03 18:57:31 +02:00
srcdest_table.h lib: add some printfrr specifiers 2019-06-03 18:57:31 +02:00
stream.c lib: add frr_with_mutex() block-wrapper 2019-09-03 17:15:17 +02:00
stream.h lib: remove deprecated stream_resize api 2019-08-22 08:52:25 -04:00
strlcat.c *: fix config.h/zebra.h include order 2018-09-08 21:30:42 +02:00
strlcpy.c *: fix config.h/zebra.h include order 2018-09-08 21:30:42 +02:00
subdir.am lib: add pull-driven data write handler 2019-08-30 19:00:45 +02:00
systemd.c lib, watchfrr: Add some additional status messages to systemd 2019-10-03 21:09:28 -04:00
systemd.h lib, watchfrr: Add some additional status messages to systemd 2019-10-03 21:09:28 -04:00
table.c lib: use MTYPE_STATIC 2019-06-21 08:54:25 +02:00
table.h *: s/TRUE/true/, s/FALSE/false/ 2019-07-01 17:26:05 +00:00
termtable.c lib: use snprintfrr() in "hidden" printfs 2019-06-12 19:35:43 +02:00
termtable.h lib: make "%Ld" work for int64_t 2019-06-12 19:35:43 +02:00
thread.c lib: add frr_with_mutex() block-wrapper 2019-09-03 17:15:17 +02:00
thread.h lib: use DECLARE_HEAP for timers instead of pqueue 2019-08-01 16:59:29 +02:00
typerb.c lib: Impelement the *_del list API. 2019-07-31 11:35:21 -04:00
typerb.h lib: Add const to _count() in new list APIs 2019-07-31 11:35:21 -04:00
typesafe.c *: strip trailing whitespace 2019-09-30 16:44:43 +00:00
typesafe.h lib: Add const to _count() in new list APIs 2019-07-31 11:35:21 -04:00
vector.c lib: add vector_compact(), use after str splits 2018-06-06 16:16:12 +00:00
vector.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
version.h.in lib: add cli preprocessor for | actions 2018-06-06 16:15:34 +00:00
vlan.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
vrf_int.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
vrf.c *: fix missing VRF autocompletions 2019-09-24 19:51:46 +03:00
vrf.h Revert "Ospf missing interface handling 2" 2019-06-23 19:46:39 -04:00
vty.c Revert "lib: introduce a read-write lock for northbound configurations" 2019-09-18 14:35:10 -03:00
vty.h lib: make "%Ld" work for int64_t 2019-06-12 19:35:43 +02:00
vxlan.h bgpd: suppress IMET route generation if flood mode is PIM-SM 2019-04-20 08:33:20 -07:00
wheel.c lib: hashing functions should take const arguments 2019-05-14 21:23:08 +00:00
wheel.h lib: hashing functions should take const arguments 2019-05-14 21:23:08 +00:00
workqueue.c lib: Fix workqueue error function callback 2019-04-17 19:29:05 -04:00
workqueue.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
yang_translator.c lib: hashing functions should take const arguments 2019-05-14 21:23:08 +00:00
yang_translator.h lib: add extern "C" {} blocks to all libfrr headers 2019-02-11 22:34:12 -02:00
yang_wrappers.c lib: add yang wrappers for IP prefixes 2019-09-18 13:38:28 -03:00
yang_wrappers.h lib: add yang wrappers for IP prefixes 2019-09-18 13:38:28 -03:00
yang.c lib: use MTYPE_STATIC 2019-06-21 08:54:25 +02:00
yang.h lib: use MTYPE_STATIC 2019-06-21 08:54:25 +02:00
zassert.h *: Remove cvs control points 2017-12-05 17:28:12 -05:00
zclient.c lib: Decode vrf_id update appropriately from zapi 2019-10-01 19:07:37 -04:00
zclient.h lib: delete interface if you can in upper level protocol 2019-09-19 13:34:06 -04:00
zebra.h isisd: Enabling build with openssl 2019-09-04 09:39:47 -04:00