diff options
Diffstat (limited to 'net')
31 files changed, 0 insertions, 1024 deletions
diff --git a/net/Makefile b/net/Makefile index a8131a8d36f2..16c98902698b 100644 --- a/net/Makefile +++ b/net/Makefile @@ -20,7 +20,6 @@ SUBDIR += aoe SUBDIR += apache-commons-net SUBDIR += apinger - SUBDIR += appkonference SUBDIR += aprsc SUBDIR += aquantia-atlantic-kmod SUBDIR += arataga @@ -411,7 +410,6 @@ SUBDIR += libsignal-protocol-c SUBDIR += libslirp SUBDIR += libsrtp2 - SUBDIR += libstorj SUBDIR += libtnl SUBDIR += libtrace SUBDIR += libunp @@ -1037,7 +1035,6 @@ SUBDIR += py-ec2-cli-tools SUBDIR += py-errbot SUBDIR += py-eventlet - SUBDIR += py-flask-xml-rpc SUBDIR += py-gdown SUBDIR += py-geopy SUBDIR += py-gntp @@ -1598,7 +1595,6 @@ SUBDIR += yconalyzer SUBDIR += yggdrasil SUBDIR += yptransitd - SUBDIR += zebra SUBDIR += zebra-server SUBDIR += zeroconf-ioslave SUBDIR += zerotier diff --git a/net/appkonference/Makefile b/net/appkonference/Makefile deleted file mode 100644 index d14c56d04afa..000000000000 --- a/net/appkonference/Makefile +++ /dev/null @@ -1,47 +0,0 @@ -# Created by: Alex Deiter <Alex.Deiter@Gmail.COM> - -PORTNAME= appkonference -PORTVERSION= 2.8 -PORTREVISION= 3 -CATEGORIES= net -MASTER_SITES= SF - -MAINTAINER= ports@FreeBSD.org -COMMENT= High-performance Asterisk voice/video conferencing plugin - -DEPRECATED= Outdated, depends on unsupported version of net/asterisk -EXPIRATION_DATE=2021-12-31 - -LICENSE= GPLv2 -LICENSE_FILE= ${WRKSRC}/LICENSE - -BROKEN= does not build with net/asterisk1{6,8} - -ONLY_FOR_ARCHS= amd64 armv6 armv7 i386 powerpc powerpc64 powerpc64le -ONLY_FOR_ARCHS_REASON= not yet ported to this architecture - -USES= compiler:features gmake -USE_CSTD= gnu89 -WRKSRC= ${WRKDIR}/${PORTNAME}/konference -MAKE_ARGS= ASTERISK_SRC_VERSION=1300 -# Fix build with clang11 -CFLAGS+= -fcommon - -PLIST_FILES= lib/asterisk/modules/app_konference.so - -OPTIONS_DEFINE= OPTIMIZED_CFLAGS -OPTIONS_DEFAULT= OPTIMIZED_CFLAGS - -OPTIMIZED_CFLAGS_CFLAGS= -O3 -ffast-math - -.include <bsd.port.pre.mk> - -.if ${PORT_OPTIONS:MOPTIMIZED_CFLAGS} && ${CHOSEN_COMPILER_TYPE} == gcc -CFLAGS+= -funroll-all-loops -fsingle-precision-constant -.endif - -.if ${CHOSEN_COMPILER_TYPE} == clang -CFLAGS+= -fblocks -.endif - -.include <bsd.port.post.mk> diff --git a/net/appkonference/distinfo b/net/appkonference/distinfo deleted file mode 100644 index be7221dd436f..000000000000 --- a/net/appkonference/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -TIMESTAMP = 1595103827 -SHA256 (appkonference-2.8.tar.gz) = 7bd50a10fe98e6a57be8b678de20493df395d0035f6f0a47ac5709ca8e753387 -SIZE (appkonference-2.8.tar.gz) = 194169 diff --git a/net/appkonference/files/patch-Makefile b/net/appkonference/files/patch-Makefile deleted file mode 100644 index 953854ff8ae7..000000000000 --- a/net/appkonference/files/patch-Makefile +++ /dev/null @@ -1,73 +0,0 @@ ---- Makefile.orig 2016-01-05 16:43:05 UTC -+++ Makefile -@@ -13,7 +13,7 @@ - # - - # asterisk source directory --ASTERISK_SRC_DIR = -+ASTERISK_SRC_DIR = ${LOCALBASE} - - ifndef ASTERISK_SRC_DIR - $(warning Asterisk source directory is not set) -@@ -21,7 +21,7 @@ ifndef ASTERISK_SRC_DIR - endif - - # asterisk version --ASTERISK_SRC_VERSION = $(shell if [ -e $(ASTERISK_SRC_DIR)/.version ] ; then cat $(ASTERISK_SRC_DIR)/.version | awk -F. '{printf "%01d%02d",$$1,$$2}' ; fi) -+ASTERISK_SRC_VERSION = 18 - - ifeq ($(ASTERISK_SRC_VERSION),) - $(warning Asterisk version is not set) -@@ -32,7 +32,7 @@ endif - ASTERISK_INCLUDE_DIR = $(ASTERISK_SRC_DIR)/include - - # asterisk module directory --INSTALL_MODULES_DIR = /usr/lib/asterisk/modules -+INSTALL_MODULES_DIR = ${PREFIX}/lib/asterisk/modules - - # module release - RELEASE = 2.7 -@@ -84,12 +84,12 @@ INCLUDE = -I$(ASTERISK_INCLUDE_DIR) - # compiler flags - # - --CFLAGS = -pipe -Wall -Wmissing-prototypes -Wmissing-declarations -MD -MP $(DEBUG) -+CFLAGS += -pipe -Wall -Wmissing-prototypes -Wmissing-declarations -MD -MP $(DEBUG) - #CFLAGS += -O3 -march=pentium3 -msse -mfpmath=sse,387 -ffast-math - # PERF: below is 10% faster than -O2 or -O3 alone. - #CFLAGS += -O3 -ffast-math -funroll-loops - # below is another 5% faster or so. --CFLAGS += -O3 -ffast-math -funroll-all-loops -fsingle-precision-constant -+#CFLAGS += -O3 -ffast-math -funroll-all-loops -fsingle-precision-constant - #CFLAGS += -mcpu=7450 -faltivec -mabi=altivec -mdynamic-no-pic - # adding -msse -mfpmath=sse has little effect. - #CFLAGS += -O3 -msse -mfpmath=sse -@@ -102,7 +102,7 @@ CFLAGS += -fPIC - # preprocessor flags - # - --CPPFLAGS = $(INCLUDE) -D_REENTRANT -D_GNU_SOURCE -+CPPFLAGS += $(INCLUDE) -D_REENTRANT -D_GNU_SOURCE - CPPFLAGS += -DRELEASE=\"$(RELEASE)\" - CPPFLAGS += -DASTERISK_SRC_VERSION=$(ASTERISK_SRC_VERSION) - CPPFLAGS += -DCHANNEL_TABLE_SIZE=$(CHANNEL_TABLE_SIZE) -@@ -127,7 +127,7 @@ CPPFLAGS += -DAC_USE_ULAW - # - # Uncomment this if you want to use *bsd kqueue for timing - # --# CPPFLAGS += -DKQUEUE -+CPPFLAGS += -DKQUEUE - # - - # -@@ -207,7 +207,8 @@ clean: - $(OBJS): $(INCS) - - $(TARGET): $(OBJS) -- $(CC) $(SOLINK) -o $@ $(OBJS) -+ $(CC) $(LDFLAGS) $(SOLINK) -o $@ $(OBJS) - - install: -- if [ -f $(TARGET) ]; then $(INSTALL) -m 755 $(TARGET) $(INSTALL_MODULES_DIR); fi -+ mkdir -p $(DESTDIR)$(INSTALL_MODULES_DIR) -+ ${BSD_INSTALL_LIB} $(TARGET) $(DESTDIR)$(INSTALL_MODULES_DIR) diff --git a/net/appkonference/files/patch-konference_libwebrtc_typedefs.h b/net/appkonference/files/patch-konference_libwebrtc_typedefs.h deleted file mode 100644 index bb127c593b25..000000000000 --- a/net/appkonference/files/patch-konference_libwebrtc_typedefs.h +++ /dev/null @@ -1,23 +0,0 @@ ---- libwebrtc/typedefs.h.orig 2019-08-04 15:52:12 UTC -+++ libwebrtc/typedefs.h -@@ -48,7 +48,19 @@ - #define WEBRTC_ARCH_32_BITS - #define WEBRTC_ARCH_LITTLE_ENDIAN - #else --#error Please add support for your architecture in typedefs.h -+/* instead of failing, use typical unix defines... */ -+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ -+#define WEBRTC_ARCH_LITTLE_ENDIAN -+#elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ -+#define WEBRTC_ARCH_BIG_ENDIAN -+#else -+#error __BYTE_ORDER__ is not defined -+#endif -+#if defined(__LP64__) -+#define WEBRTC_ARCH_64_BITS -+#else -+#define WEBRTC_ARCH_32_BITS -+#endif - #endif - - #if !(defined(WEBRTC_ARCH_LITTLE_ENDIAN) ^ defined(WEBRTC_ARCH_BIG_ENDIAN)) diff --git a/net/appkonference/pkg-descr b/net/appkonference/pkg-descr deleted file mode 100644 index 3a76ed1f8afb..000000000000 --- a/net/appkonference/pkg-descr +++ /dev/null @@ -1,5 +0,0 @@ -App_konference is a channel-independent conference application. -It features efficient audio mixing algorithms as well as video selection -support based on VAD, DTMF or CLI. - -WWW: https://sourceforge.net/projects/appkonference/ diff --git a/net/libstorj/Makefile b/net/libstorj/Makefile deleted file mode 100644 index d6ed980e3d31..000000000000 --- a/net/libstorj/Makefile +++ /dev/null @@ -1,40 +0,0 @@ -PORTNAME= libstorj -PORTVERSION= 1.0.3 -DISTVERSIONPREFIX= v -PORTREVISION= 6 -CATEGORIES= net - -MAINTAINER= jhixson@FreeBSD.org -COMMENT= C library and CLI for encrypted file transfer on the Storj network - -LICENSE= LGPL21+ - -DEPRECATED= Deprecated in favour of net/storj due to v3 rearchitecture -EXPIRATION_DATE=2021-12-31 - -LIB_DEPENDS= libjson-c.so:devel/json-c \ - libuv.so:devel/libuv \ - libcurl.so:ftp/curl \ - libnettle.so:security/nettle \ - libmicrohttpd.so:www/libmicrohttpd - -USES= autoreconf gmake libtool localbase pkgconfig -USE_CSTD= gnu99 - -USE_GITHUB= yes -GH_ACCOUNT= Storj - -GNU_CONFIGURE= yes -USE_LDCONFIG= yes -MAKE_JOBS_UNSAFE= yes # ./storjtests.h:10:10: fatal error: 'mockbridgeinfo.json.h' file not found - -#CFLAGS+= -I. -I${LOCALBASE}/include -#LDFLAGS+= -L. -L${LOCALBASE}/lib - -.include <bsd.port.options.mk> - -.if ${ARCH} != amd64 && ${ARCH} != i386 -USE_GCC= yes -.endif - -.include <bsd.port.mk> diff --git a/net/libstorj/distinfo b/net/libstorj/distinfo deleted file mode 100644 index 9eaaa40dc76a..000000000000 --- a/net/libstorj/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -TIMESTAMP = 1527190057 -SHA256 (Storj-libstorj-v1.0.3_GH0.tar.gz) = 0f68f6a8374b93c240ae3a87c2f08feb34f812685858935bf079c1d0501ad032 -SIZE (Storj-libstorj-v1.0.3_GH0.tar.gz) = 170838 diff --git a/net/libstorj/files/patch-src_crypto.c b/net/libstorj/files/patch-src_crypto.c deleted file mode 100644 index d1b0a2a1d3e2..000000000000 --- a/net/libstorj/files/patch-src_crypto.c +++ /dev/null @@ -1,11 +0,0 @@ ---- src/crypto.c.orig 2018-05-10 18:45:47 UTC -+++ src/crypto.c -@@ -216,7 +216,7 @@ int sha512_of_str(const uint8_t *str, int str_len, uin - return 0; - } - --void pbkdf2_hmac_sha512 ( -+void off_pbkdf2_hmac_sha512 ( - unsigned key_length, - const uint8_t *key, - unsigned iterations, diff --git a/net/libstorj/files/patch-src_crypto.h b/net/libstorj/files/patch-src_crypto.h deleted file mode 100644 index 5212609b064f..000000000000 --- a/net/libstorj/files/patch-src_crypto.h +++ /dev/null @@ -1,11 +0,0 @@ ---- src/crypto.h.orig 2018-05-10 18:45:47 UTC -+++ src/crypto.h -@@ -40,7 +40,7 @@ int double_ripemd160sha256(uint8_t *data, uint64_t dat - int double_ripemd160sha256_as_string(uint8_t *data, uint64_t data_size, - char **digest); - --void pbkdf2_hmac_sha512(unsigned key_length, -+void off_pbkdf2_hmac_sha512(unsigned key_length, - const uint8_t *key, - unsigned iterations, - unsigned salt_length, const uint8_t *salt, diff --git a/net/libstorj/pkg-descr b/net/libstorj/pkg-descr deleted file mode 100644 index 6189741a0862..000000000000 --- a/net/libstorj/pkg-descr +++ /dev/null @@ -1,3 +0,0 @@ -C library for encrypted file transfer on the Storj network - -WWW: https://github.com/Storj/libstorj diff --git a/net/libstorj/pkg-plist b/net/libstorj/pkg-plist deleted file mode 100644 index d11ac67fa53f..000000000000 --- a/net/libstorj/pkg-plist +++ /dev/null @@ -1,7 +0,0 @@ -bin/storj -include/storj.h -lib/libstorj.a -lib/libstorj.so -lib/libstorj.so.0 -lib/libstorj.so.0.0.0 -libdata/pkgconfig/libstorj.pc diff --git a/net/py-flask-xml-rpc/Makefile b/net/py-flask-xml-rpc/Makefile deleted file mode 100644 index b7e31c6e5244..000000000000 --- a/net/py-flask-xml-rpc/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -PORTNAME= Flask-XML-RPC -PORTVERSION= 0.1.2 -PORTREVISION= 1 -CATEGORIES= net python -MASTER_SITES= CHEESESHOP -PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} - -MAINTAINER= john@saltant.com -COMMENT= Adds support for creating XML-RPC APIs to Flask - -LICENSE= MIT - -DEPRECATED= No longer maintained upstream -EXPIRATION_DATE= 2021-12-31 - -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Flask>0:www/py-flask@${PY_FLAVOR} -TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}nose>0:devel/py-nose@${PY_FLAVOR} - -# 2.7,3.4+ -USES= python:3.6+ -USE_PYTHON= autoplist distutils - -NO_ARCH= yes - -do-test: - @cd ${WRKSRC} && ${PYTHON_CMD} ${PYDISTUTILS_SETUP} test - -.include <bsd.port.mk> diff --git a/net/py-flask-xml-rpc/distinfo b/net/py-flask-xml-rpc/distinfo deleted file mode 100644 index 1f3d97035cc5..000000000000 --- a/net/py-flask-xml-rpc/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -TIMESTAMP = 1487439353 -SHA256 (Flask-XML-RPC-0.1.2.tar.gz) = 4adc7482240a916e8c2205cba38b4bd6e648692d189419686a3116768fa48ab7 -SIZE (Flask-XML-RPC-0.1.2.tar.gz) = 5756 diff --git a/net/py-flask-xml-rpc/files/patch-flaskext_xmlrpc.py b/net/py-flask-xml-rpc/files/patch-flaskext_xmlrpc.py deleted file mode 100644 index 968a359e210e..000000000000 --- a/net/py-flask-xml-rpc/files/patch-flaskext_xmlrpc.py +++ /dev/null @@ -1,56 +0,0 @@ -Obtained-From: https://bitbucket.org/leafstorm/flask-xml-rpc/pull-requests/2/added-python3-support-alongside-python2/commits - -# HG changeset patch -# User Maxime "Pepe_" Buquet <pep+code@bouah.net> -# Date 1425540278 -32400 -# Node ID 9da0e2bcfe5e32a1db95b639f41f67d3e1a43b80 -# Parent 06a6c81e3a98ecb647e729e239f5de11814901d3 -Added Python3 support alongside Python2 - ---- flaskext/xmlrpc.py.orig 2015-03-05 00:00:00 UTC -+++ flaskext/xmlrpc.py -@@ -10,9 +10,16 @@ - """ - - from flask import request, current_app --from SimpleXMLRPCServer import SimpleXMLRPCDispatcher as Dispatcher - import sys --import xmlrpclib -+ -+if sys.version_info[0] == 2: -+ from SimpleXMLRPCServer import SimpleXMLRPCDispatcher as Dispatcher -+ import xmlrpclib -+ string_types = basestring -+else: -+ from xmlrpc.server import SimpleXMLRPCDispatcher as Dispatcher -+ import xmlrpc.client as xmlrpclib -+ string_types = str - - Fault = xmlrpclib.Fault - -@@ -97,7 +104,7 @@ - If not given, the function's :obj:`__name__` attribute - will be used. - """ -- if isinstance(function, basestring): -+ if isinstance(function, string_types): - return lambda fn: self.register_function(fn, function) - return Dispatcher.register_function(self, function, name) - -@@ -198,7 +205,7 @@ - If not given, the function's :obj:`__name__` attribute - will be used. - """ -- if isinstance(function, basestring): -+ if isinstance(function, string_types): - return lambda fn: self.register_function(fn, function) - if name is None: - name = function.__name__ -@@ -249,7 +256,8 @@ - """ - try: - return xmlrpclib.loads(response)[0][0] -- except Fault, fault: -+ except Fault: -+ _, fault = sys.exec_info()[:2] - return fault diff --git a/net/py-flask-xml-rpc/files/patch-tests_test-xmlrpc.py b/net/py-flask-xml-rpc/files/patch-tests_test-xmlrpc.py deleted file mode 100644 index 435c195bd21c..000000000000 --- a/net/py-flask-xml-rpc/files/patch-tests_test-xmlrpc.py +++ /dev/null @@ -1,45 +0,0 @@ -Obtained-From: https://bitbucket.org/leafstorm/flask-xml-rpc/pull-requests/2/added-python3-support-alongside-python2/commits - -# HG changeset patch -# User Maxime "Pepe_" Buquet <pep+code@bouah.net> -# Date 1425540278 -32400 -# Node ID 9da0e2bcfe5e32a1db95b639f41f67d3e1a43b80 -# Parent 06a6c81e3a98ecb647e729e239f5de11814901d3 -Added Python3 support alongside Python2 - ---- tests/test-xmlrpc.py.orig 2015-03-05 00:00:00 UTC -+++ tests/test-xmlrpc.py -@@ -7,12 +7,19 @@ - :copyright: (c) 2010 by Matthew "LeafStorm" Frazier. - :license: MIT, see LICENSE for more details. - """ --import xmlrpclib - from flask import Flask - from flaskext.xmlrpc import (XMLRPCHandler, XMLRPCNamespace, Fault, - dump_method_call, load_method_response, - test_xmlrpc_call, XMLRPCTester) - -+import sys -+PY2 = sys.version_info[0] == 2 -+ -+if PY2: -+ import xmlrpclib -+else: -+ import xmlrpc.client as xmlrpclib -+ - - def hello(name='world'): - if not name: -@@ -39,7 +46,11 @@ - handler = XMLRPCHandler('api') - app = Flask(__name__) - handler.connect(app, '/api') -- assert app.view_functions[handler.endpoint_name].im_self is handler -+ if PY2: -+ app_handler = app.view_functions[handler.endpoint_name].im_self -+ else: -+ app_handler = app.view_functions[handler.endpoint_name].__self__ -+ assert app_handler is handler - - def test_register(self): - handler = XMLRPCHandler('api') diff --git a/net/py-flask-xml-rpc/pkg-descr b/net/py-flask-xml-rpc/pkg-descr deleted file mode 100644 index 84ef9edd7260..000000000000 --- a/net/py-flask-xml-rpc/pkg-descr +++ /dev/null @@ -1,6 +0,0 @@ -Flask-XML-RPC is an extension for Flask that makes it easy to create APIs -based on the XML-RPC standard. It features easy registration of methods -and namespacing, connects seamlessly to your Flask app, and includes -plenty of testing helpers. - -WWW: https://pythonhosted.org/Flask-XML-RPC/ diff --git a/net/zebra/Makefile b/net/zebra/Makefile deleted file mode 100644 index e9f91f12accb..000000000000 --- a/net/zebra/Makefile +++ /dev/null @@ -1,91 +0,0 @@ -# Created by: Andreas Klemm <andreas@klemm.gtn.com> - -PORTNAME= zebra -PORTVERSION= 0.95a -PORTREVISION= 10 -CATEGORIES= net -MASTER_SITES= ftp://ftp.ripe.net/mirrors/sites/ftp.zebra.org/pub/zebra/ - -MAINTAINER= bdrewery@FreeBSD.org -COMMENT= Free RIPv1, RIPv2, OSPFv2, BGP4 route software (server/reflector) - -LICENSE= GPLv2 LGPL21 -LICENSE_COMB= multi - -DEPRECATED= Abandoned upstream, last release in 2005. Consider migrating to net/frr7 or net/bird2 -EXPIRATION_DATE=2021-12-31 - -CONFLICTS= openbgpd quagga quagga-re openospfd - -SUB_FILES= pkg-message zebractl -SUB_LIST= BGPDARGS=${BGPDARGS} \ - OSPFDARGS=${OSPFDARGS} \ - OSPF6DARGS=${OSPFDARGS} \ - RIPDARGS=${RIPDARGS} \ - RIPNGDARGS=${RIPNGDARGS} \ - ZEBRAARGS=${ZEBRAARGS} -USE_SUBMAKE= yes -GNU_CONFIGURE= yes -USES= cpe readline -CONFIGURE_ARGS+= --sysconfdir=${PREFIX}/etc/zebra -CPE_VENDOR= gnu - -PORTSCOUT= ignore:1 - -SCRIPTS_ENV= WRKDIRPREFIX="${WRKDIRPREFIX}" - -OPTIONS_DEFINE= IPV6 PAM OSPFNSSA SNMP TCPZEBRA BGPD OSPF6D OSPFD RIPD RIPNGD VTYSH - -PAM_DESC= PAM authentication for vtysh -OSPFNSSA_DESC= undergoing NSSA feature -TCPZEBRA_DESC= TCP/IP socket connection -BGPD_DESC= BGPD support -OSPF6D_DESC= OSPF6D support -OSPFD_DESC= OSPFD support -RIPD_DESC= RIPD support -RIPNGD_DESC= RIPNGD support -VTYSH_DESC= VTYSH support - -OPTIONS_DEFAULT= BGPD OSPF6D OSPFD RIPD RIPNGD VTYSH -OPTIONS_SUB= yes -NO_OPTIONS_SORT= yes - -PAM_CONFIGURE_WITH= pam -OSPFNSSA_CONFIGURE_ENABLE= nssa -SNMP_CONFIGURE_ENABLE= snmp -SNMP_LIB_DEPENDS+= libnetsnmp.so:net-mgmt/net-snmp -TCPZEBRA_CONFIGURE_ENABLE= tcp-zebra -BGPD_CONFIGURE_ENABLE= bgpd -OSPF6D_CONFIGURE_ENABLE= ospf6d -OSPFD_CONFIGURE_ENABLE= ospfd -RIPD_CONFIGURE_ENABLE= ripd -RIPNGD_CONFIGURE_ENABLE= ripngd -VTYSH_CONFIGURE_ENABLE= vtysh -IPV6_CONFIGURE_ENABLE= ipv6 - -INFO= zebra - -BGPDARGS?= -d -OSPFDARGS?= -d -OSPF6DARGS?= -d -RIPDARGS?= -d -RIPNGDARGS?= -d -ZEBRAARGS?= -d - -.include <bsd.port.options.mk> - -.if !${PORT_OPTIONS:MIPV6} && ${PORT_OPTIONS:MOSPF6D} -IGNORE= OSPF6D requires IPV6 option -.endif -.if !${PORT_OPTIONS:MIPV6} && ${PORT_OPTIONS:MRIPNGD} -IGNORE= RIPNGD requires IPV6 option -.endif - -post-install: - @( cd ${WRKSRC}/doc; ${RM} zebra*info*; \ - ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} zebra.info install ) - @${ECHO_MSG} "===> installing zebra startup file..." - ${INSTALL_SCRIPT} ${WRKDIR}/zebractl ${STAGEDIR}${PREFIX}/sbin/zebractl - @${ECHO_MSG} "done." - -.include <bsd.port.mk> diff --git a/net/zebra/distinfo b/net/zebra/distinfo deleted file mode 100644 index a02a819da9a4..000000000000 --- a/net/zebra/distinfo +++ /dev/null @@ -1,2 +0,0 @@ -SHA256 (zebra-0.95a.tar.gz) = e7f8cbb367c325062625c881a97adc4cf6d3d138a25341451193652944888d1f -SIZE (zebra-0.95a.tar.gz) = 1370152 diff --git a/net/zebra/files/patch-configure b/net/zebra/files/patch-configure deleted file mode 100644 index 6b3a510c89e4..000000000000 --- a/net/zebra/files/patch-configure +++ /dev/null @@ -1,11 +0,0 @@ ---- configure.orig Thu May 19 11:13:47 2005 -+++ configure Thu May 19 11:15:55 2005 -@@ -5772,6 +5772,8 @@ - zebra_ipforward_path="proc";; - "/dev/ip") - case "$host" in -+ *-freebsd-*) IPFORWARD=ipforward_sysctl.o -+ zebra_ipforward_path="sysctl";; - *-linux-*) IPFORWARD=ipforward_proc.o - zebra_ipforward_path="proc";; - *-nec-sysv4*) IPFORWARD=ipforward_ews.o diff --git a/net/zebra/files/patch-ioctl.c b/net/zebra/files/patch-ioctl.c deleted file mode 100644 index dab8b25369fb..000000000000 --- a/net/zebra/files/patch-ioctl.c +++ /dev/null @@ -1,28 +0,0 @@ ---- zebra/ioctl.c.orig Tue Oct 23 11:31:29 2001 -+++ zebra/ioctl.c Fri Oct 4 19:45:04 2002 -@@ -349,6 +349,7 @@ - int ret; - struct ifreq ifreq; - -+ bzero(&ifreq, sizeof(struct ifreq)); - ifreq_set_name (&ifreq, ifp); - - ifreq.ifr_flags = ifp->flags; -@@ -371,6 +372,7 @@ - int ret; - struct ifreq ifreq; - -+ bzero(&ifreq, sizeof(struct ifreq)); - ifreq_set_name (&ifreq, ifp); - - ifreq.ifr_flags = ifp->flags; -@@ -473,6 +475,9 @@ - mask.sin6_len = sizeof (struct sockaddr_in6); - #endif - memcpy (&addreq.ifra_prefixmask, &mask, sizeof (struct sockaddr_in6)); -+ -+ addreq.ifra_lifetime.ia6t_vltime = 0xffffffff; -+ addreq.ifra_lifetime.ia6t_pltime = 0xffffffff; - - addreq.ifra_lifetime.ia6t_pltime = ND6_INFINITE_LIFETIME; - addreq.ifra_lifetime.ia6t_vltime = ND6_INFINITE_LIFETIME; diff --git a/net/zebra/files/patch-ospfd__ospf_spf.c b/net/zebra/files/patch-ospfd__ospf_spf.c deleted file mode 100644 index 2305ac9102c3..000000000000 --- a/net/zebra/files/patch-ospfd__ospf_spf.c +++ /dev/null @@ -1,291 +0,0 @@ -Index: ospfd/ospf_spf.c -=================================================================== -RCS file: /cvsroot/zebra/ospfd/ospf_spf.c,v -retrieving revision 1.124 -diff -u -r1.124 ospf_spf.c ---- ospfd/ospf_spf.c 28 Mar 2003 19:55:28 -0000 1.124 -+++ ospfd/ospf_spf.c 22 Feb 2006 03:03:26 -0000 -@@ -29,6 +29,7 @@ - #include "table.h" - #include "log.h" - #include "sockunion.h" /* for inet_ntop () */ -+#include "pqueue.h" - - #include "ospfd/ospfd.h" - #include "ospfd/ospf_interface.h" -@@ -114,7 +115,7 @@ - } - - void --ospf_vertex_add_parent (struct vertex *v) -+ospf_vertex_connect_to_parent (struct vertex *v) - { - struct vertex_nexthop *nh; - listnode node; -@@ -458,48 +459,36 @@ - } - } - --void --ospf_install_candidate (list candidate, struct vertex *w) -+int -+ospf_vertex_cmp (void *a, void *b) - { -- listnode node; -- struct vertex *cw; -- -- if (list_isempty (candidate)) -- { -- listnode_add (candidate, w); -- return; -- } -+ struct vertex *va = (struct vertex *) a; -+ struct vertex *vb = (struct vertex *) b; -+ /* ascending order */ -+ return (va->distance - vb->distance); -+} - -- /* Install vertex with sorting by distance. */ -- for (node = listhead (candidate); node; nextnode (node)) -- { -- cw = (struct vertex *) getdata (node); -- if (cw->distance > w->distance) -- { -- list_add_node_prev (candidate, node, w); -- break; -- } -- else if (node->next == NULL) -- { -- list_add_node_next (candidate, node, w); -- break; -- } -- } -+void -+ospf_install_candidate (struct pqueue *candidate_list, struct vertex *w) -+{ -+ if (IS_DEBUG_OSPF_EVENT) -+ zlog_info ("candidate: type: %d id: %s p: %p distance: %lu", -+ w->type, inet_ntoa (w->id), w, (u_long)w->distance); -+ pqueue_enqueue (w, candidate_list); - } - - /* RFC2328 Section 16.1 (2). */ - void - ospf_spf_next (struct vertex *v, struct ospf_area *area, -- list candidate, struct route_table *rv, -+ struct pqueue *candidate_list, struct route_table *rv, - struct route_table *nv) - { - struct ospf_lsa *w_lsa = NULL; -- struct vertex *w, *cw; -+ struct vertex *w; - u_char *p; - u_char *lim; - struct router_lsa_link *l = NULL; - struct in_addr *r; -- listnode node; - int type = 0; - - /* If this is a router-LSA, and bit V of the router-LSA (see Section -@@ -618,58 +607,22 @@ - else - w->distance = v->distance; - -- /* Is there already vertex W in candidate list? */ -- node = ospf_vertex_lookup (candidate, w->id, w->type); -- if (node == NULL) -- { -- /* Calculate nexthop to W. */ -- ospf_nexthop_calculation (area, v, w); -- -- ospf_install_candidate (candidate, w); -- } -- else -- { -- cw = (struct vertex *) getdata (node); -- -- /* if D is greater than. */ -- if (cw->distance < w->distance) -- { -- ospf_vertex_free (w); -- continue; -- } -- /* equal to. */ -- else if (cw->distance == w->distance) -- { -- /* Calculate nexthop to W. */ -- ospf_nexthop_calculation (area, v, w); -- ospf_nexthop_merge (cw->nexthop, w->nexthop); -- list_delete_all_node (w->nexthop); -- ospf_vertex_free (w); -- } -- /* less than. */ -- else -- { -- /* Calculate nexthop. */ -- ospf_nexthop_calculation (area, v, w); -- -- /* Remove old vertex from candidate list. */ -- ospf_vertex_free (cw); -- listnode_delete (candidate, cw); -+ /* calculate nexthop */ -+ ospf_nexthop_calculation (area, v, w); - -- /* Install new to candidate. */ -- ospf_install_candidate (candidate, w); -- } -- } -+ /* install candidate */ -+ ospf_install_candidate (candidate_list, w); - } - } - - /* Add vertex V to SPF tree. */ --void -+struct vertex * - ospf_spf_register (struct vertex *v, struct route_table *rv, - struct route_table *nv) - { - struct prefix p; - struct route_node *rn; -+ struct vertex *cv; - - p.family = AF_INET; - p.prefixlen = IPV4_MAX_BITLEN; -@@ -680,7 +633,39 @@ - else - rn = route_node_get (nv, &p); - -- rn->info = v; -+ cv = rn->info; -+ -+ /* if the route does not exist yet, just install and return */ -+ if (! cv) -+ { -+ rn->info = v; -+ return v; -+ } -+ -+ /* if D is greater than. */ -+ if (cv->distance < v->distance) -+ ospf_vertex_free (v); -+ -+ /* equal to. */ -+ else if (cv->distance == v->distance) -+ { -+ /* Merge nexthop to D. */ -+ ospf_nexthop_merge (cv->nexthop, v->nexthop); -+ list_delete_all_node (v->nexthop); -+ ospf_vertex_free (v); -+ } -+ -+ /* less than. */ -+ else -+ { -+ /* As long as sorting in the candidate_list works, -+ cv->distance never become more than v->distance -+ (i.e. (cv->distance > v->distance) should not happen). */ -+ assert (0); -+ } -+ -+ /* the vertex is dropped anyway */ -+ return NULL; - } - - void -@@ -709,6 +694,7 @@ - listnode cnode; - listnode nnode; - struct vertex_nexthop *nexthop; -+ struct vertex *w; - - if (v->type == OSPF_VERTEX_ROUTER) - { -@@ -734,8 +720,8 @@ - - for (cnode = listhead (v->child); cnode; nextnode (cnode)) - { -- v = getdata (cnode); -- ospf_spf_dump (v, i); -+ w = getdata (cnode); -+ ospf_spf_dump (w, i); - } - } - -@@ -895,8 +881,7 @@ - ospf_spf_calculate (struct ospf_area *area, struct route_table *new_table, - struct route_table *new_rtrs) - { -- list candidate; -- listnode node; -+ struct pqueue *candidate_list; - struct vertex *v; - struct route_table *rv; - struct route_table *nv; -@@ -925,7 +910,8 @@ - nv = route_table_init (); - - /* Clear the list of candidate vertices. */ -- candidate = list_new (); -+ candidate_list = pqueue_create (); -+ candidate_list->cmp = ospf_vertex_cmp; - - /* Initialize the shortest-path tree to only the root (which is the - router doing the calculation). */ -@@ -939,29 +925,37 @@ - - for (;;) - { -- /* RFC2328 16.1. (2). */ -- ospf_spf_next (v, area, candidate, rv, nv); -+ if (v != NULL) -+ { -+ if (IS_DEBUG_OSPF_EVENT) -+ zlog_info ("determined: type: %d id: %s p: %p distance: %lu", -+ v->type, inet_ntoa (v->id), v, (u_long)v->distance); -+ -+ /* RFC2328 16.1. (2). */ -+ ospf_spf_next (v, area, candidate_list, rv, nv); -+ } - - /* RFC2328 16.1. (3). */ - /* If at this step the candidate list is empty, the shortest- - path tree (of transit vertices) has been completely built and - this stage of the procedure terminates. */ -- if (listcount (candidate) == 0) -+ if (candidate_list->size == 0) - break; - - /* Otherwise, choose the vertex belonging to the candidate list - that is closest to the root, and add it to the shortest-path - tree (removing it from the candidate list in the - process). */ -- node = listhead (candidate); -- v = getdata (node); -- ospf_vertex_add_parent (v); -- -- /* Reveve from the candidate list. */ -- listnode_delete (candidate, v); -+ v = pqueue_dequeue (candidate_list); - - /* Add to SPF tree. */ -- ospf_spf_register (v, rv, nv); -+ v = ospf_spf_register (v, rv, nv); -+ -+ /* Skip rest if the vertex is rejected to be installed in SPF tree */ -+ if (v == NULL) -+ continue; -+ -+ ospf_vertex_connect_to_parent (v); - - /* Note that when there is a choice of vertices closest to the - root, network vertices must be chosen before router vertices -@@ -993,7 +987,7 @@ - ospf_spf_route_free (nv); - - /* Free candidate list */ -- list_free (candidate); -+ pqueue_delete (candidate_list); - - /* Increment SPF Calculation Counter. */ - area->spf_calculation++; diff --git a/net/zebra/files/patch-ospfd_ospf_dump.c b/net/zebra/files/patch-ospfd_ospf_dump.c deleted file mode 100644 index fbda1abf8294..000000000000 --- a/net/zebra/files/patch-ospfd_ospf_dump.c +++ /dev/null @@ -1,11 +0,0 @@ ---- ospfd/ospf_dump.c.orig 2003-11-04 20:10:17.000000000 +0100 -+++ ospfd/ospf_dump.c 2014-03-18 14:22:06.123332679 +0100 -@@ -607,7 +607,7 @@ - - iph = (struct ip *) STREAM_PNT (s); - --#ifdef GNU_LINUX -+#if defined(GNU_LINUX) || defined(__FreeBSD__) - length = ntohs (iph->ip_len); - #else /* GNU_LINUX */ - length = iph->ip_len; diff --git a/net/zebra/files/patch-ospfd_ospf_lsa.c b/net/zebra/files/patch-ospfd_ospf_lsa.c deleted file mode 100644 index 8a6de6ac49ba..000000000000 --- a/net/zebra/files/patch-ospfd_ospf_lsa.c +++ /dev/null @@ -1,38 +0,0 @@ ---- ./ospfd/ospf_lsa.c.orig 2005-05-26 11:40:19.000000000 -0500 -+++ ./ospfd/ospf_lsa.c 2014-04-09 15:16:46.751621976 -0500 -@@ -3247,6 +3247,7 @@ - listnode node; - struct ospf *ospf = THREAD_ARG (t); - int i; -+ time_t ct; - list lsa_to_refresh = list_new (); - - if (IS_DEBUG_OSPF (lsa, LSA_REFRESH)) -@@ -3254,16 +3255,26 @@ - - - i = ospf->lsa_refresh_queue.index; -+ -+ if ((ct = time(NULL)) < ospf->lsa_refresher_started) { -+ zlog_info ("LSA[Refresh]: ospf_lsa_refresh_walker(): HACK: fixing lsa_refresher_started: %d -> %d", ospf->lsa_refresher_started, ct); -+ ospf->lsa_refresher_started = ct; -+ } - - ospf->lsa_refresh_queue.index = - (ospf->lsa_refresh_queue.index + -- (time (NULL) - ospf->lsa_refresher_started) / OSPF_LSA_REFRESHER_GRANULARITY) -+ (ct - ospf->lsa_refresher_started) / OSPF_LSA_REFRESHER_GRANULARITY) - % OSPF_LSA_REFRESHER_SLOTS; - - if (IS_DEBUG_OSPF (lsa, LSA_REFRESH)) - zlog_info ("LSA[Refresh]: ospf_lsa_refresh_walker(): next index %d", - ospf->lsa_refresh_queue.index); - -+ if (ospf->lsa_refresh_queue.index >= OSPF_LSA_REFRESHER_SLOTS) { -+ zlog_info ("LSA[Refresh]: ospf_lsa_refresh_walker(): HACK: fixing index: %hu -> 0", ospf->lsa_refresh_queue.index); -+ ospf->lsa_refresh_queue.index = 0; -+ } -+ - for (;i != ospf->lsa_refresh_queue.index; - i = (i + 1) % OSPF_LSA_REFRESHER_SLOTS) - { diff --git a/net/zebra/files/patch-ospfd_ospf_packet.c b/net/zebra/files/patch-ospfd_ospf_packet.c deleted file mode 100644 index 8e4ca1f80f5f..000000000000 --- a/net/zebra/files/patch-ospfd_ospf_packet.c +++ /dev/null @@ -1,27 +0,0 @@ ---- ospfd/ospf_packet.c.orig 2005-06-21 02:58:24.000000000 +0200 -+++ ospfd/ospf_packet.c 2014-03-18 14:22:06.129332906 +0100 -@@ -528,7 +528,7 @@ - iph.ip_hl = sizeof (struct ip) >> 2; - iph.ip_v = IPVERSION; - iph.ip_tos = IPTOS_PREC_INTERNETCONTROL; --#if defined(__NetBSD__) || defined(__FreeBSD__) -+#if defined(__NetBSD__) - iph.ip_len = iph.ip_hl*4 + op->length; - #else - iph.ip_len = htons (iph.ip_hl*4 + op->length); -@@ -1893,13 +1894,13 @@ - return NULL; - } - --#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(OpenBSD_IP_LEN) -+#if defined(__NetBSD__) || defined(OpenBSD_IP_LEN) - ip_len = iph.ip_len; - #else - ip_len = ntohs (iph.ip_len); - #endif - --#if !defined(GNU_LINUX) && !defined(OpenBSD_IP_LEN) -+#if !defined(GNU_LINUX) && !defined(OpenBSD_IP_LEN) && !defined(__FreeBSD__) - /* - * Kernel network code touches incoming IP header parameters, - * before protocol specific processing. diff --git a/net/zebra/files/patch-zebra-kernel_socket.c b/net/zebra/files/patch-zebra-kernel_socket.c deleted file mode 100644 index d8868e362e9c..000000000000 --- a/net/zebra/files/patch-zebra-kernel_socket.c +++ /dev/null @@ -1,41 +0,0 @@ ---- ./zebra/kernel_socket.c.orig 2003-11-27 10:35:50.000000000 -0600 -+++ ./zebra/kernel_socket.c 2014-06-13 12:53:05.553677585 -0500 -@@ -58,8 +58,12 @@ - {RTM_REDIRECT, "RTM_REDIRECT"}, - {RTM_MISS, "RTM_MISS"}, - {RTM_LOCK, "RTM_LOCK"}, -+#ifdef RTM_OLDADD - {RTM_OLDADD, "RTM_OLDADD"}, -+#endif -+#ifdef RTM_OLDDEL - {RTM_OLDDEL, "RTM_OLDDEL"}, -+#endif - {RTM_RESOLVE, "RTM_RESOLVE"}, - {RTM_NEWADDR, "RTM_NEWADDR"}, - {RTM_DELADDR, "RTM_DELADDR"}, -@@ -91,9 +95,13 @@ - #ifdef RTF_MASK - {RTF_MASK, "MASK"}, - #endif /* RTF_MASK */ -+#ifdef RTF_CLONING - {RTF_CLONING, "CLONING"}, -+#endif /* RTF_CLONING */ - {RTF_XRESOLVE, "XRESOLVE"}, -+#ifdef RTF_LLINFO - {RTF_LLINFO, "LLINFO"}, -+#endif /* RTF_LLINFO */ - {RTF_STATIC, "STATIC"}, - {RTF_BLACKHOLE, "BLACKHOLE"}, - {RTF_PROTO1, "PROTO1"}, -@@ -593,9 +601,11 @@ - if (gate && message == RTM_ADD) - msg.rtm.rtm_flags |= RTF_GATEWAY; - -+#ifdef RTF_CLONING - if (! gate && message == RTM_ADD && ifp && - (ifp->flags & IFF_POINTOPOINT) == 0) - msg.rtm.rtm_flags |= RTF_CLONING; -+#endif */ RTF_CLONING */ - - /* If no protocol specific gateway is specified, use link - address for gateway. */ diff --git a/net/zebra/files/patch-zebra_Makefile.in b/net/zebra/files/patch-zebra_Makefile.in deleted file mode 100644 index c613ec176af0..000000000000 --- a/net/zebra/files/patch-zebra_Makefile.in +++ /dev/null @@ -1,11 +0,0 @@ ---- zebra/Makefile.in.orig Sat Jun 29 15:26:54 2002 -+++ zebra/Makefile.in Wed Jul 24 19:16:06 2002 -@@ -404,7 +404,7 @@ - - - #client : client_main.o ../lib/libzebra.a --# $(CC) -g -o client client_main.o ../lib/libzebra.a $(LIBS) $(LIB_IPV6) -+# $(CC) -o client client_main.o ../lib/libzebra.a $(LIBS) $(LIB_IPV6) - - install-sysconfDATA: $(sysconf_DATA) - @$(NORMAL_INSTALL) diff --git a/net/zebra/files/pkg-message.in b/net/zebra/files/pkg-message.in deleted file mode 100644 index 60c744520da7..000000000000 --- a/net/zebra/files/pkg-message.in +++ /dev/null @@ -1,12 +0,0 @@ -[ -{ type: install - message: <<EOM -To run zebra you should add in your /etc/rc.conf these lines: - -defaultrouter="NO" -router_enable="YES" -router="%%PREFIX%%/sbin/zebractl" -router_flags="start" -EOM -} -] diff --git a/net/zebra/files/zebractl.in b/net/zebra/files/zebractl.in deleted file mode 100644 index af1733ffe41c..000000000000 --- a/net/zebra/files/zebractl.in +++ /dev/null @@ -1,55 +0,0 @@ -#! /bin/sh -# -# zebra start/stop script by "Andreas Klemm <andreas@FreeBSD.ORG>" -# - -usage() -{ - echo "$0: usage: $0 [ start | stop | restart ]" - exit 1 -} - -if [ $# -lt 1 ]; then - echo "$0: error: one argument needed"; usage -elif [ $# -gt 1 ]; then - echo "$0: error: only one argument needed"; usage -fi - -case $1 in - start) - if [ ! -f %%ETCDIR%%/zebra.conf ]; then - echo "error: zebra.conf config file is mandatory" - exit 1 - fi - [ -f %%ETCDIR%%/zebra.conf ] \ - && %%PREFIX%%/sbin/zebra %%ZEBRAARGS%% && echo -n ' zebra' - [ -f %%ETCDIR%%/ripd.conf ] \ - && %%PREFIX%%/sbin/ripd %%RIPDARGS%% && echo -n ' ripd' - [ -f %%ETCDIR%%/ripngd.conf ] \ - && %%PREFIX%%/sbin/ripngd %%RIPNGDARGS%% && echo -n ' ripngd' - [ -f %%ETCDIR%%/ospfd.conf ] \ - && %%PREFIX%%/sbin/ospfd %%OSPFDARGS%% && echo -n ' ospfd' - [ -f %%ETCDIR%%/ospf6d.conf ] \ - && %%PREFIX%%/sbin/ospf6d %%OSPF6DARGS%% && echo -n ' ospf6d' - [ -f %%ETCDIR%%/bgpd.conf ] \ - && %%PREFIX%%/sbin/bgpd %%BGPDARGS%% && echo -n ' bgpd' - ;; - - stop) - [ -f %%ETCDIR%%/ripd.conf ] && killall ripd - [ -f %%ETCDIR%%/ripngd.conf ] && killall ripngd - [ -f %%ETCDIR%%/ospfd.conf ] && killall ospfd - [ -f %%ETCDIR%%/ospf6d.conf ] && killall ospf6d - [ -f %%ETCDIR%%/bgpd.conf ] && killall bgpd - [ -f %%ETCDIR%%/zebra.conf ] && killall zebra - ;; - restart) - $0 stop - $0 start - ;; - - *) echo "$0: error: unknown option $1" - usage - ;; -esac -exit 0 diff --git a/net/zebra/pkg-descr b/net/zebra/pkg-descr deleted file mode 100644 index 005d35bc4f1b..000000000000 --- a/net/zebra/pkg-descr +++ /dev/null @@ -1,15 +0,0 @@ -GNU Zebra is a free software (distributed under GNU Generic Public -License) which manages TCP/IP based routing protocols. - -It supports BGP-4 protocol as described in RFC1771 (A Border Gateway -Protocol 4) and RIPv1, RIPv2 and OSPFv2. - -Zebra uses multithread technology under multithread supported UNIX -kernels. However it can be run under not-multithread supported -UNIX kernels. - -Zebra is intended to be used as a Route Server and a Route Reflector. -Zebra is not a toolkit, it provides full routing power under a new -architecture. - -WWW: http://www.zebra.org/ diff --git a/net/zebra/pkg-plist b/net/zebra/pkg-plist deleted file mode 100644 index fa4de00f8e28..000000000000 --- a/net/zebra/pkg-plist +++ /dev/null @@ -1,23 +0,0 @@ -%%BGPD%%sbin/bgpd -%%OSPF6D%%sbin/ospf6d -%%OSPFD%%sbin/ospfd -%%RIPD%%sbin/ripd -%%RIPNGD%%sbin/ripngd -sbin/zebra -sbin/zebractl -%%VTYSH%%bin/vtysh -%%BGPD%%etc/zebra/bgpd.conf.sample -%%BGPD%%etc/zebra/bgpd.conf.sample2 -%%OSPF6D%%etc/zebra/ospf6d.conf.sample -%%OSPFD%%etc/zebra/ospfd.conf.sample -%%RIPD%%etc/zebra/ripd.conf.sample -%%RIPNGD%%etc/zebra/ripngd.conf.sample -%%VTYSH%%etc/zebra/vtysh.conf.sample -etc/zebra/zebra.conf.sample -man/man1/vtysh.1.gz -man/man8/bgpd.8.gz -man/man8/ospf6d.8.gz -man/man8/ospfd.8.gz -man/man8/ripd.8.gz -man/man8/ripngd.8.gz -man/man8/zebra.8.gz |