diff options
author | Kurt Jaeger <pi@FreeBSD.org> | 2019-06-03 20:08:36 +0000 |
---|---|---|
committer | Kurt Jaeger <pi@FreeBSD.org> | 2019-06-03 20:08:36 +0000 |
commit | 713c2289b8d66d3752c1225ca18d740daa50c8fc (patch) | |
tree | 26af7b6de4c410d2e2810fec4c81c3ab0b9c5e76 /net/openbgpd/files/patch-openbsd-compat_imsg.h | |
parent | Upgrade to 0.0.5 (diff) |
net/openbgpd: revert upgrade from 6.5p0 to 5.2.20121209
- openbgpd version 6.5p0 was the "portable" version, which specifically
does *not* support kernel routing updates.
- Therefore this is only suitable for route servers/collectors, not
for production use in routers. This significantly violates POLA :)
PR: 213445
Submitted by: Oliver H <oliver@watershed.co.uk>
Notes
Notes:
svn path=/head/; revision=503421
Diffstat (limited to 'net/openbgpd/files/patch-openbsd-compat_imsg.h')
-rw-r--r-- | net/openbgpd/files/patch-openbsd-compat_imsg.h | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/net/openbgpd/files/patch-openbsd-compat_imsg.h b/net/openbgpd/files/patch-openbsd-compat_imsg.h new file mode 100644 index 000000000000..91cf15ea1afd --- /dev/null +++ b/net/openbgpd/files/patch-openbsd-compat_imsg.h @@ -0,0 +1,119 @@ +Index: openbsd-compat/imsg.h +=================================================================== +RCS file: openbsd-compat/imsg.h +diff -N openbsd-compat/imsg.h +--- /dev/null 1 Jan 1970 00:00:00 -0000 ++++ openbsd-compat/imsg.h 8 Dec 2012 20:17:59 -0000 1.2 +@@ -0,0 +1,112 @@ ++/* $OpenBSD: imsg.h,v 1.1 2010/05/26 16:44:32 nicm Exp $ */ ++ ++/* ++ * Copyright (c) 2006, 2007 Pierre-Yves Ritschard <pyr@openbsd.org> ++ * Copyright (c) 2006, 2007, 2008 Reyk Floeter <reyk@openbsd.org> ++ * Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org> ++ * ++ * Permission to use, copy, modify, and distribute this software for any ++ * purpose with or without fee is hereby granted, provided that the above ++ * copyright notice and this permission notice appear in all copies. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES ++ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF ++ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ++ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ++ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF ++ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ */ ++ ++#ifndef _IMSG_H_ ++#define _IMSG_H_ ++ ++#define IBUF_READ_SIZE 65535 ++#define IMSG_HEADER_SIZE sizeof(struct imsg_hdr) ++#define MAX_IMSGSIZE 16384 ++ ++struct ibuf { ++ TAILQ_ENTRY(ibuf) entry; ++ u_char *buf; ++ size_t size; ++ size_t max; ++ size_t wpos; ++ size_t rpos; ++ int fd; ++}; ++ ++struct msgbuf { ++ TAILQ_HEAD(, ibuf) bufs; ++ u_int32_t queued; ++ int fd; ++}; ++ ++struct ibuf_read { ++ u_char buf[IBUF_READ_SIZE]; ++ u_char *rptr; ++ size_t wpos; ++}; ++ ++struct imsg_fd { ++ TAILQ_ENTRY(imsg_fd) entry; ++ int fd; ++}; ++ ++struct imsgbuf { ++ TAILQ_HEAD(, imsg_fd) fds; ++ struct ibuf_read r; ++ struct msgbuf w; ++ int fd; ++ pid_t pid; ++}; ++ ++#define IMSGF_HASFD 1 ++ ++struct imsg_hdr { ++ u_int32_t type; ++ u_int16_t len; ++ u_int16_t flags; ++ u_int32_t peerid; ++ u_int32_t pid; ++}; ++ ++struct imsg { ++ struct imsg_hdr hdr; ++ int fd; ++ void *data; ++}; ++ ++ ++/* buffer.c */ ++struct ibuf *ibuf_open(size_t); ++struct ibuf *ibuf_dynamic(size_t, size_t); ++int ibuf_add(struct ibuf *, const void *, size_t); ++void *ibuf_reserve(struct ibuf *, size_t); ++void *ibuf_seek(struct ibuf *, size_t, size_t); ++size_t ibuf_size(struct ibuf *); ++size_t ibuf_left(struct ibuf *); ++void ibuf_close(struct msgbuf *, struct ibuf *); ++int ibuf_write(struct msgbuf *); ++void ibuf_free(struct ibuf *); ++void msgbuf_init(struct msgbuf *); ++void msgbuf_clear(struct msgbuf *); ++int msgbuf_write(struct msgbuf *); ++void msgbuf_drain(struct msgbuf *, size_t); ++ ++/* imsg.c */ ++void imsg_init(struct imsgbuf *, int); ++ssize_t imsg_read(struct imsgbuf *); ++ssize_t imsg_get(struct imsgbuf *, struct imsg *); ++int imsg_compose(struct imsgbuf *, u_int32_t, u_int32_t, pid_t, ++ int, void *, u_int16_t); ++int imsg_composev(struct imsgbuf *, u_int32_t, u_int32_t, pid_t, ++ int, const struct iovec *, int); ++struct ibuf *imsg_create(struct imsgbuf *, u_int32_t, u_int32_t, pid_t, ++ u_int16_t); ++int imsg_add(struct ibuf *, void *, u_int16_t); ++void imsg_close(struct imsgbuf *, struct ibuf *); ++void imsg_free(struct imsg *); ++int imsg_flush(struct imsgbuf *); ++void imsg_clear(struct imsgbuf *); ++ ++#endif |