MFH: r552864

net/openbgpd6: update 6.6.0 -> 6.8.0, fix -fno-common

6.8.0:
- In bgpctl(8), the "reload" command now takes a 'reason' argument
  to use as Administrative Shutdown Communication to its neighbors.
- Added bgpctl(8) support for VPNv6 in the family option of the
  "show rib" command.
- Added bgpctl(8) support for JSON formatted output in various
  "show" commands.
- Support to build OpenBGPD on Alpine Linux added

6.7.0:
- Add initial support for JSON output in bgpctl(8).
- Allow setting both IPv4 and IPv6 local-addresses at the same
  time in bgpd.conf group blocks.  Introduced 'no local-address'
  to reset a previously set local address.
- Properly aggregate duplicate bgpd(8) roa table prefix/source-as
  combinations into a single entry with the longest maxlen length.
- Implemented bgpd.conf(5) max-prefix NUM out to limit the number
  of announced prefixes, avoiding leaks of full tables to upstreams
  and peers.
- Extended bgpctl(8) 'show neighbor' to include the received and set
  prefix count, as well as the max-prefix out limit if set.
- Improved reporting of notifications to include the suberror cause.
- Also report the last received error cause in bgpctl(8) show neighbor
  output.
- Fix softreconfig out handling to also work for neighbors using
  'export default-route'.
- Mark stale prefixes in the Adj-RIB-Out so that graceful reload
  operates properly.
- Made it possible to build OpenBGPD-portable with bison. There is
  no longer the need to use byacc on Linux distributions.
- Support for --runstatedir to specify the location of the bgpctl.sock.
- Cleaned up configure script for better protability.

See also:
  https://github.com/openbgpd-portable/openbgpd-portable/issues/8

PR:		250274
Approved by:	ports-secteam (fluffy)
This commit is contained in:
Kurt Jaeger 2020-10-22 05:23:36 +00:00
parent b974f3f18e
commit 53d2c7bbed
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/branches/2020Q4/; revision=552927
10 changed files with 122 additions and 12 deletions

View File

@ -1,8 +1,7 @@
# $FreeBSD$
PORTNAME= openbgpd
PORTVERSION= 6.6p0
PORTREVISION= 1
PORTVERSION= 6.8p0
CATEGORIES= net
MASTER_SITES= OPENBSD/OpenBGPD
PKGNAMESUFFIX= 6

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1575231489
SHA256 (openbgpd-6.6p0.tar.gz) = 83ad5ee8177d324a2a5cc2ce014835007deff8c91550c009c12b7aa16cb2e046
SIZE (openbgpd-6.6p0.tar.gz) = 676732
TIMESTAMP = 1603267757
SHA256 (openbgpd-6.8p0.tar.gz) = 61487aed98071d9e975e9c38d1bfa0731dd7e55623f655372c318e665d928ff8
SIZE (openbgpd-6.8p0.tar.gz) = 701164

View File

@ -1,19 +1,21 @@
--- Makefile.am.orig 2019-05-01 11:22:14 UTC
--- Makefile.am.orig 2020-05-05 08:36:21 UTC
+++ Makefile.am
@@ -19,13 +19,14 @@
EXTRA_DIST = README.md VERSION bgpd.conf
@@ -19,13 +19,16 @@ ACLOCAL_AMFLAGS = -I m4
EXTRA_DIST = README.md LICENSE VERSION bgpd.conf
install-data-hook:
- @if [ ! -d "$(DESTDIR)$(localstatedir)/run" ]; then \
+ if [ ! -d "$(DESTDIR)$(localstatedir)/run" ]; then \
$(INSTALL) -m 755 -d "$(DESTDIR)$(localstatedir)/run"; \
- @if [ ! -d "$(DESTDIR)$(runstatedir)" ]; then \
+ if [ ! -d "$(DESTDIR)$(runstatedir)" ]; then \
$(INSTALL) -m 755 -d "$(DESTDIR)$(runstatedir)"; \
fi
- @if [ ! -d "$(DESTDIR)$(sysconfdir)" ]; then \
+ if [ ! -d "$(DESTDIR)$(sysconfdir)" ]; then \
$(INSTALL) -m 755 -d "$(DESTDIR)$(sysconfdir)"; \
fi
- @if [ ! -f "$(DESTDIR)$(sysconfdir)/bgpd.conf" ]; then \
+ $(INSTALL) -m 644 "$(srcdir)/bgpd.conf" "$(DESTDIR)$(sysconfdir)/bgpd.conf.sample"; \
+ if [ ! -f "$(DESTDIR)$(sysconfdir)/bgpd.conf.sample" ]; then \
+ $(INSTALL) -m 644 "$(srcdir)/bgpd.conf" "$(DESTDIR)$(sysconfdir)/bgpd.conf.sample"; \
+ fi
+ if [ ! -f "$(DESTDIR)$(sysconfdir)/bgpd.conf" ]; then \
$(INSTALL) -m 644 "$(srcdir)/bgpd.conf" "$(DESTDIR)$(sysconfdir)/bgpd.conf"; \
else \

View File

@ -0,0 +1,11 @@
--- src/bgpctl/output_json.c.orig 2020-05-18 19:17:41 UTC
+++ src/bgpctl/output_json.c
@@ -22,6 +22,8 @@
#include <stdlib.h>
#include <string.h>
+#include <sys/endian.h>
+
#include "bgpd.h"
#include "session.h"
#include "rde.h"

View File

@ -0,0 +1,11 @@
--- src/bgpctl/output.c.orig 2020-05-18 19:17:41 UTC
+++ src/bgpctl/output.c
@@ -25,6 +25,8 @@
#include <stdlib.h>
#include <string.h>
+#include <sys/endian.h>
+
#include "bgpd.h"
#include "session.h"
#include "rde.h"

View File

@ -0,0 +1,11 @@
--- src/bgpd/bgpd.c.orig 2020-05-18 19:17:41 UTC
+++ src/bgpd/bgpd.c
@@ -61,6 +61,8 @@ struct rib_names ribnames = SIMPLEQ_HEAD_INITIALIZER(
char *cname;
char *rcname;
+enum bgpd_process bgpd_process;
+
void
sighdlr(int sig)
{

View File

@ -0,0 +1,23 @@
--- src/bgpd/bgpd.h.orig 2020-05-19 09:24:33 UTC
+++ src/bgpd/bgpd.h
@@ -130,7 +130,8 @@ enum bgpd_process {
PROC_MAIN,
PROC_SE,
PROC_RDE
-} bgpd_process;
+};
+extern enum bgpd_process bgpd_process;
enum reconf_action {
RECONF_NONE,
@@ -532,6 +533,10 @@ enum imsg_type {
IMSG_XON,
IMSG_XOFF
};
+
+extern struct imsgbuf *ibuf_se;
+extern struct imsgbuf *ibuf_rde;
+extern struct imsgbuf *ibuf_main;
struct demote_msg {
char demote_group[IFNAMSIZ];

View File

@ -0,0 +1,15 @@
--- src/bgpd/rde.c.orig 2020-05-04 14:45:09 UTC
+++ src/bgpd/rde.c
@@ -99,11 +99,9 @@ void rde_shutdown(void);
int ovs_match(struct prefix *, u_int32_t);
volatile sig_atomic_t rde_quit = 0;
-struct bgpd_config *conf, *nconf;
+static struct bgpd_config *conf, *nconf;
struct filter_head *out_rules, *out_rules_tmp;
-struct imsgbuf *ibuf_se;
struct imsgbuf *ibuf_se_ctl;
-struct imsgbuf *ibuf_main;
struct rde_memstats rdemem;
int softreconfig;

View File

@ -0,0 +1,18 @@
--- src/bgpd/session.c.orig 2020-05-19 09:24:33 UTC
+++ src/bgpd/session.c
@@ -100,13 +100,13 @@ void session_template_clone(struct peer *, struct so
u_int32_t, u_int32_t);
int session_match_mask(struct peer *, struct bgpd_addr *);
-struct bgpd_config *conf, *nconf;
+static struct bgpd_config *conf, *nconf;
+struct ctl_conns ctl_conns;
struct bgpd_sysdep sysdep;
volatile sig_atomic_t session_quit;
int pending_reconf;
int csock = -1, rcsock = -1;
u_int peer_cnt;
-struct imsgbuf *ibuf_rde;
struct imsgbuf *ibuf_rde_ctl;
struct imsgbuf *ibuf_main;

View File

@ -0,0 +1,20 @@
--- src/bgpd/session.h.orig 2020-05-18 19:17:41 UTC
+++ src/bgpd/session.h
@@ -18,6 +18,7 @@
#include <sys/types.h>
#include <sys/socket.h>
+#include <sys/queue.h>
#include <time.h>
#define MAX_BACKLOG 5
@@ -146,7 +147,8 @@ struct ctl_conn {
int terminate;
};
-TAILQ_HEAD(ctl_conns, ctl_conn) ctl_conns;
+TAILQ_HEAD(ctl_conns, ctl_conn);
+extern struct ctl_conns ctl_conns;
struct peer_stats {
unsigned long long msg_rcvd_open;