diff --git a/net/frr8/Makefile b/net/frr8/Makefile index acdfa1ea0581..749dc6d4edc3 100644 --- a/net/frr8/Makefile +++ b/net/frr8/Makefile @@ -1,148 +1,149 @@ PORTNAME= frr -PORTVERSION= 8.5 +PORTVERSION= 8.5.1 DISTVERSIONPREFIX= frr- PORTREVISION= 1 CATEGORIES= net .if defined(PYTHONTOOLS) PKGNAMESUFFIX= 8-pythontools .else PKGNAMESUFFIX= 8 .endif MAINTAINER= olivier@FreeBSD.org COMMENT?= IP routing protocol suite including BGP, IS-IS, OSPF and RIP WWW= https://frrouting.org/ LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING .if defined(PYTHONTOOLS) RUN_DEPENDS= frr-reload:net/frr8 USES= python:run,3.6+ shebangfix post-patch: @${REINPLACE_CMD} -e 's|/etc/frr|${ETCDIR}|g' \ -e 's|/usr/bin|${PREFIX}/bin|g' \ -e 's|/usr/local/bin/tail|${TAIL}|g' \ ${WRKSRC}/tools/frr-reload.py @${REINPLACE_CMD} -e 's|/etc/frr|${ETCDIR}|g' \ ${WRKSRC}/tools/generate_support_bundle.py do-install: ${MKDIR} ${STAGEDIR}${ETCDIR} ${INSTALL_SCRIPT} ${WRKSRC}/tools/frr-reload.py ${STAGEDIR}/${PREFIX}/sbin/ ${INSTALL_SCRIPT} ${WRKSRC}/tools/generate_support_bundle.py ${STAGEDIR}/${PREFIX}/sbin/ ${INSTALL_DATA} ${WRKSRC}/tools/etc/frr/support_bundle_commands.conf ${STAGEDIR}${ETCDIR}/ .else LIB_DEPENDS= libjson-c.so:devel/json-c \ libyang.so.2:net/libyang2 \ libcares.so:dns/c-ares \ libpcre2-8.so:devel/pcre2 USES= autoreconf bison compiler:c++11-lang gmake pkgconfig libtool \ makeinfo python:build,3.6+ readline shebangfix BINARY_ALIAS= python=${PYTHON_VERSION} CONFLICTS= openbgpd openospfd zebra quagga GNU_CONFIGURE= yes INSTALL_TARGET= install-strip USE_LDCONFIG= yes .endif USE_GITHUB= yes GH_ACCOUNT= FRRouting .if defined(PYTHONTOOLS) NO_BUILD= yes NO_ARCH= yes SHEBANG_FILES= tools/frr-reload.py \ tools/generate_support_bundle.py PLIST= ${.CURDIR}/pkg-plist PKGMESSAGE= "" .else INFO= frr OPTIONS_DEFINE= BACKTRACE CONFIGROLLBACKS FPM DATACENTER LDPD PAM SHELLACCESS \ VTYSH MANPAGES MULTIPATH TCMALLOC RPKI SHARPD SNMP OPTIONS_DEFAULT= BACKTRACE VTYSH RPKI FPM MANPAGES OPTIONS_SUB= yes BACKTRACE_DESC= Enable backtrace CONFIGROLLBACKS_DESC= Enable configuration rollback support FPM_DESC= Enable Forwarding Plane Manager support DATACENTER_DESC= Use reduced BGP timers LDPD_DESC= Build ldpd MULTIPATH_DESC= Allow 64 multipath routes (16 default) PAM_DESC= Use libpam for PAM support in vtysh RPKI_DESC= Add BGP RPKI (RFC 6810) support SHELLACCESS_DESC= Allow users to access shell/telnet/ssh SNMP_DESC= SNMP support SHARPD_DESC= Build sharpd TCMALLOC_DESC= Use tcmalloc VTYSH_DESC= Build integrated vty shell USERS= frr GROUPS= frr frrvty CPPFLAGS+= -I${LOCALBASE}/include LDFLAGS+= -L${LOCALBASE}/lib -# PIM compile but doesn't work on FreeBSD +# PIMD and PBRD compile but doesn't work on FreeBSD CONFIGURE_ARGS= --enable-user=frr \ --enable-group=frr \ --enable-vty-group=frrvty \ --disable-doc-html \ --sysconfdir=${ETCDIR} \ --localstatedir=/var/run/frr \ --disable-nhrpd \ --disable-pathd \ --disable-ospfclient \ --disable-pimd \ + --disable-pbrd \ --with-vtysh-pager=cat MANPAGES_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx>=0,1:textproc/py-sphinx@${PY_FLAVOR} MANPAGES_CONFIGURE_OFF= --disable-doc BACKTRACE_LIB_DEPENDS= libunwind.so:devel/libunwind BACKTRACE_CONFIGURE_ENABLE= backtrace CONFIGROLLBACKS_LIB_DEPENDS= libsqlite3.so:databases/sqlite3 CONFIGROLLBACKS_CONFIGURE_ENABLE= config-rollbacks DATACENTER_CONFIGURE_ENABLE= datacenter SHELLACCESS_CONFIGURE_ENABLE= shell-access FPM_CONFIGURE_ENABLE= fpm PAM_CONFIGURE_WITH= libpam LDPD_CONFIGURE_ENABLE= ldpd MULTIPATH_CONFIGURE_ON= --enable-multipath=64 RPKI_CONFIGURE_ENABLE= rpki RPKI_LIB_DEPENDS= librtr.so:net-mgmt/rtrlib \ libssh.so:security/libssh TCMALLOC_CONFIGURE_ENABLE= tcmalloc TCMALLOC_LIB_DEPENDS= libtcmalloc.so:devel/google-perftools SNMP_CONFIGURE_ENABLE= snmp SNMP_CFLAGS= "-std=gnu99" SNMP_LIB_DEPENDS= libnetsnmp.so:net-mgmt/net-snmp SNMP_USES= ssl SHARPD_CONFIGURE_ENABLE= sharpd VTYSH_CONFIGURE_ENABLE= vtysh USE_RC_SUBR= frr watchfrr SHEBANG_FILES= yang/embedmodel.py post-patch: @${REINPLACE_CMD} -e 's|/etc/frr|${ETCDIR}|g' \ -e 's|/usr/lib/|${PREFIX}/lib/|g' \ -e 's|frr-pythontools|frr8-pythontools|g' \ ${WRKSRC}/tools/frr-reload post-install: ${MKDIR} ${STAGEDIR}/var/run/frr ${INSTALL_SCRIPT} ${WRKSRC}/tools/frr-reload ${STAGEDIR}${PREFIX}/sbin .endif .include diff --git a/net/frr8/distinfo b/net/frr8/distinfo index 3fb541d03ffa..4bcdef346e2a 100644 --- a/net/frr8/distinfo +++ b/net/frr8/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1679345197 -SHA256 (FRRouting-frr-frr-8.5_GH0.tar.gz) = 98d471b3caa6da0ab5bac2027e136bc9942e3e3357a7850b135f4b337c963d24 -SIZE (FRRouting-frr-frr-8.5_GH0.tar.gz) = 10068379 +TIMESTAMP = 1682875450 +SHA256 (FRRouting-frr-frr-8.5.1_GH0.tar.gz) = 48fd98dc287021a4cf013d9475a22dbf0d082434fa035272b232f4fea2d4589f +SIZE (FRRouting-frr-frr-8.5.1_GH0.tar.gz) = 10070910 diff --git a/net/frr8/files/patch-bgpd_bgp__lcommunity.c b/net/frr8/files/patch-bgpd_bgp__lcommunity.c deleted file mode 100644 index 9f8566cea61d..000000000000 --- a/net/frr8/files/patch-bgpd_bgp__lcommunity.c +++ /dev/null @@ -1,42 +0,0 @@ ---- bgpd/bgp_lcommunity.c.orig 2023-03-13 14:01:47 UTC -+++ bgpd/bgp_lcommunity.c -@@ -211,12 +211,13 @@ static void set_lcommunity_string(struct lcommunity *l - } - - /* 1 space + lcom->size lcom strings + null terminator */ -- size_t str_buf_sz = BUFSIZ; -+ size_t str_buf_sz = (LCOMMUNITY_STRLEN * lcom->size) + 2; - str_buf = XCALLOC(MTYPE_LCOMMUNITY_STR, str_buf_sz); - -+ len = 0; - for (i = 0; i < lcom->size; i++) { - if (i > 0) -- strlcat(str_buf, " ", str_buf_sz); -+ len = strlcat(str_buf, " ", str_buf_sz); - - pnt = lcom->val + (i * LCOMMUNITY_SIZE); - pnt = ptr_get_be32(pnt, &global); -@@ -229,11 +230,22 @@ static void set_lcommunity_string(struct lcommunity *l - snprintf(lcsb, sizeof(lcsb), "%u:%u:%u", global, local1, - local2); - -+ /* -+ * Aliases can cause havoc, if the alias length is greater -+ * than the LCOMMUNITY_STRLEN for a particular item -+ * then we need to realloc the memory associated -+ * with the string so that it can fit -+ */ - const char *com2alias = - translate_alias ? bgp_community2alias(lcsb) : lcsb; -+ size_t individual_len = strlen(com2alias); -+ if (individual_len + len > str_buf_sz) { -+ str_buf_sz = individual_len + len + 1; -+ str_buf = XREALLOC(MTYPE_LCOMMUNITY_STR, str_buf, -+ str_buf_sz); -+ } - - len = strlcat(str_buf, com2alias, str_buf_sz); -- assert((unsigned int)len < str_buf_sz); - - if (make_json) { - json_string = json_object_new_string(com2alias); diff --git a/net/frr8/pkg-plist b/net/frr8/pkg-plist index 106f9f2a0331..8de4518c4a00 100644 --- a/net/frr8/pkg-plist +++ b/net/frr8/pkg-plist @@ -1,225 +1,223 @@ %%VTYSH%%bin/vtysh %%SHARPD%%sbin/sharpd include/frr/agg_table.h include/frr/atomlist.h include/frr/assert.h include/frr/base64.h include/frr/bfdd/bfddp_packet.h include/frr/cspf.h include/frr/libfrr_trace.h include/frr/link_state.h include/frr/resolver.h include/frr/tc.h include/frr/trace.h include/frr/xref.h include/frr/yang.h include/frr/yang_translator.h include/frr/yang_wrappers.h include/frr/zlog_5424.h include/frr/zlog_live.h include/frr/bfd.h include/frr/bitfield.h include/frr/buffer.h include/frr/checksum.h include/frr/command.h include/frr/command_graph.h include/frr/command_match.h include/frr/compiler.h include/frr/csv.h include/frr/db.h include/frr/debug.h include/frr/defaults.h include/frr/distribute.h include/frr/eigrpd/eigrp_dump.h include/frr/eigrpd/eigrp_topology.h include/frr/eigrpd/eigrpd.h include/frr/ferr.h include/frr/filter.h include/frr/freebsd-queue.h include/frr/frr_pthread.h include/frr/frratomic.h include/frr/frrcu.h include/frr/frrlua.h include/frr/frrstr.h include/frr/frrscript.h include/frr/getopt.h include/frr/graph.h include/frr/hash.h include/frr/hook.h include/frr/iana_afi.h include/frr/id_alloc.h include/frr/if.h include/frr/if_rmap.h include/frr/imsg.h include/frr/ipaddr.h include/frr/jhash.h include/frr/json.h include/frr/keychain.h include/frr/ldp_sync.h include/frr/lib_errors.h include/frr/lib_vty.h include/frr/libfrr.h include/frr/libospf.h include/frr/linklist.h include/frr/log.h include/frr/log_vty.h include/frr/md5.h include/frr/memory.h include/frr/mlag.h include/frr/module.h include/frr/monotime.h include/frr/mpls.h include/frr/network.h include/frr/nexthop.h include/frr/nexthop_group.h include/frr/nexthop_group_private.h include/frr/northbound.h include/frr/northbound_cli.h include/frr/northbound_db.h include/frr/ns.h include/frr/openbsd-queue.h include/frr/openbsd-tree.h include/frr/ospfd/ospf_api.h include/frr/ospfd/ospf_asbr.h include/frr/ospfd/ospf_dump.h include/frr/ospfd/ospf_dump_api.h include/frr/ospfd/ospf_ism.h include/frr/ospfd/ospf_lsa.h include/frr/ospfd/ospf_lsdb.h include/frr/ospfd/ospf_nsm.h include/frr/ospfd/ospf_opaque.h include/frr/ospfd/ospfd.h include/frr/pbr.h include/frr/plist.h include/frr/prefix.h include/frr/printfrr.h include/frr/privs.h include/frr/ptm_lib.h include/frr/pullwr.h include/frr/pw.h include/frr/queue.h include/frr/qobj.h include/frr/ringbuf.h include/frr/route_opaque.h include/frr/route_types.h include/frr/routemap.h include/frr/routing_nb.h include/frr/sbuf.h include/frr/seqlock.h include/frr/sha256.h include/frr/sigevent.h include/frr/smux.h include/frr/spf_backoff.h include/frr/skiplist.h include/frr/sockopt.h include/frr/sockunion.h include/frr/srcdest_table.h include/frr/srte.h include/frr/srv6.h include/frr/stream.h include/frr/systemd.h include/frr/table.h include/frr/termtable.h include/frr/thread.h include/frr/typerb.h include/frr/typesafe.h include/frr/vector.h include/frr/version.h include/frr/vlan.h include/frr/vrf_int.h include/frr/vrf.h include/frr/vty.h include/frr/vxlan.h include/frr/wheel.h include/frr/workqueue.h include/frr/zclient.h include/frr/zebra.h include/frr/zlog.h include/frr/zlog_targets.h lib/libfrr.a lib/libfrr.so lib/libfrr.so.0 lib/libfrr.so.0.0.0 lib/libfrrcares.a lib/libfrrcares.so lib/libfrrcares.so.0 lib/libfrrcares.so.0.0.0 %%SNMP%%lib/frr/modules/bgpd_snmp.so %%SNMP%%lib/frr/modules/bgpd_bmp.so %%SNMP%%lib/frr/modules/ospf6d_snmp.so %%SNMP%%lib/frr/modules/ospfd_snmp.so %%SNMP%%lib/frr/modules/ripd_snmp.so %%SNMP%%lib/frr/modules/zebra_snmp.so %%FPM%%lib/frr/modules/zebra_fpm.so %%SNMP%%lib/libfrrsnmp.a %%SNMP%%lib/libfrrsnmp.so %%SNMP%%lib/libfrrsnmp.so.0 %%SNMP%%lib/libfrrsnmp.so.0.0.0 %%RPKI%%lib/frr/modules/bgpd_rpki.so %%MANPAGES%%man/man1/frr.1.gz %%MANPAGES%%man/man8/frr-bfdd.8.gz %%MANPAGES%%man/man8/frr-eigrpd.8.gz %%MANPAGES%%man/man8/frr-isisd.8.gz %%MANPAGES%%man/man8/frr-staticd.8.gz %%MANPAGES%%man/man8/frr-watchfrr.8.gz %%MANPAGES%%%%VTYSH%%man/man1/vtysh.1.gz %%MANPAGES%%man/man8/frr-bgpd.8.gz %%MANPAGES%%%%LDPD%%man/man8/frr-ldpd.8.gz %%MANPAGES%%man/man8/frr-ospf6d.8.gz %%MANPAGES%%man/man8/frr-ospfd.8.gz -%%MANPAGES%%man/man8/frr-pbrd.8.gz %%MANPAGES%%man/man8/frr-ripd.8.gz %%MANPAGES%%man/man8/frr-ripngd.8.gz %%MANPAGES%%man/man8/frr-zebra.8.gz sbin/babeld sbin/bfdd sbin/bgpd %%LDPD%%sbin/ldpd sbin/eigrpd sbin/fabricd sbin/frr-reload sbin/ospf6d sbin/ospfd -sbin/pbrd sbin/ripd sbin/ripngd sbin/staticd sbin/zebra sbin/isisd sbin/watchfrr share/yang/ietf-bgp-types.yang share/yang/frr-bgp-bmp.yang share/yang/frr-bgp-common-multiprotocol.yang share/yang/frr-bgp-common-structure.yang share/yang/frr-bgp-common.yang share/yang/frr-bgp-filter.yang share/yang/frr-bgp-neighbor.yang share/yang/frr-bgp-peer-group.yang share/yang/frr-bgp-route-map.yang share/yang/frr-bgp-rpki.yang share/yang/frr-bgp-types.yang share/yang/frr-bgp.yang share/yang/frr-deviations-bgp-datacenter.yang share/yang/frr-ospf-route-map.yang share/yang/frr-ospf6-route-map.yang share/yang/frr-ospfd.yang share/yang/frr-bfdd.yang share/yang/frr-eigrpd.yang share/yang/frr-interface.yang share/yang/frr-isisd.yang share/yang/frr-module-translator.yang share/yang/frr-ripd.yang share/yang/frr-ripngd.yang share/yang/frr-route-types.yang share/yang/frr-test-module.yang share/yang/frr-filter.yang share/yang/frr-nexthop.yang share/yang/frr-route-map.yang share/yang/frr-routing.yang share/yang/frr-staticd.yang share/yang/frr-vrf.yang share/yang/frr-zebra.yang share/yang/frr-zebra-route-map.yang share/yang/ietf-interfaces.yang share/yang/ietf-routing-types.yang @dir(frr,frr,750) /var/run/frr