Hi, This updates rsyslogd to the current version and adds two new modules. It needs the updated librelp that I sent earlier.
I looked into upstreaming the remaining patch but that is not necessary. The next version of rsyslog will include <sys/wait.h> for all platforms. I tested it on i386 (imudp + omrelp) and on amd64 (imrelp, ommysql, omelasticsearch). The "CFLAGS += -march=i686" seems not to be needed anymore for i386. I guess because clang is now used. Comments, OKs? Remi Index: Makefile =================================================================== RCS file: /cvs/ports/sysutils/rsyslog/Makefile,v retrieving revision 1.38 diff -u -p -r1.38 Makefile --- Makefile 4 Nov 2017 14:50:02 -0000 1.38 +++ Makefile 8 Feb 2018 13:36:18 -0000 @@ -4,42 +4,48 @@ BROKEN-powerpc = 64-bit atomics (__sync_ COMMENT-main = syslog daemon supporting databases, TCP, SSL, RELP COMMENT-mysql = MySQL plugin for rsyslog +COMMENT-normalize = liblognorm plugin for rsyslog COMMENT-pgsql = PostgreSQL plugin for rsyslog +COMMENT-elasticsearch = Elasticsearch plugin for rsyslog -MULTI_PACKAGES = -main -mysql -pgsql +MULTI_PACKAGES = -main -mysql -normalize -pgsql -elasticsearch -V = 8.16.0 +V = 8.32.0 DISTNAME = rsyslog-$V PKGNAME-main = rsyslog-$V PKGNAME-mysql = rsyslog-mysql-$V +PKGNAME-normalize = rsyslog-normalize-$V PKGNAME-pgsql = rsyslog-pgsql-$V +PKGNAME-elasticsearch = rsyslog-elasticsearch-$V CATEGORIES = sysutils -REVISION-main = 3 -REVISION-mysql = 1 -REVISION-pgsql = 1 HOMEPAGE = http://www.rsyslog.com/ # GPLv3+ PERMIT_PACKAGE_CDROM = Yes -WANTLIB-main += c estr ffi gcrypt gmp gnutls gpg-error hogweed iconv -WANTLIB-main += idn2 intl json-c nettle p11-kit pthread relp tasn1 +WANTLIB-main += c curl estr fastjson ffi gcrypt gmp gnutls gpg-error +WANTLIB-main += hogweed idn2 nettle p11-kit pthread relp tasn1 WANTLIB-main += unistring uuid z WANTLIB-mysql += crypto m mysqlclient pthread ssl ${COMPILER_LIBCXX} z +WANTLIB-normalize += lognorm + WANTLIB-pgsql += crypto pq ssl -LIB_DEPENDS-main = devel/json-c \ - devel/libestr>=0.1.2 \ +LIB_DEPENDS-main = devel/libfastjson \ + devel/libestr \ + net/curl \ security/libgcrypt \ security/gnutls \ - sysutils/librelp>=1.2.9 + sysutils/librelp # XXX should port to using libc UUID functions LIB_DEPENDS-main += sysutils/e2fsprogs LIB_DEPENDS-mysql = databases/mariadb RUN_DEPENDS-mysql = ${PKGNAME-main}:${PKGPATH},-main +LIB_DEPENDS-normalize = devel/liblognorm +RUN_DEPENDS-normalize = ${PKGNAME-main}:${PKGPATH},-main LIB_DEPENDS-pgsql = databases/postgresql RUN_DEPENDS-pgsql = ${PKGNAME-main}:${PKGPATH},-main @@ -51,8 +57,10 @@ LIBTOOL_FLAGS = --tag=disable-static CONFIGURE_ARGS += --enable-pgsql \ --enable-mysql \ --enable-mail \ + --enable-mmnormalize \ --enable-gnutls \ --enable-relp \ + --enable-elasticsearch \ --disable-liblogging-stdlog CONFIGURE_ENV += CPPFLAGS="-I${LOCALBASE}/include" @@ -65,10 +73,5 @@ post-install: ${PREFIX}/share/examples/rsyslog/createDB_mysql.sql ${INSTALL_DATA} ${WRKSRC}/plugins/ompgsql/createDB.sql \ ${PREFIX}/share/examples/rsyslog/createDB_pgsql.sql - -.if ${MACHINE_ARCH:Mi386} -# 64-bit atomics -CFLAGS += -march=i686 -.endif .include <bsd.port.mk> Index: distinfo =================================================================== RCS file: /cvs/ports/sysutils/rsyslog/distinfo,v retrieving revision 1.4 diff -u -p -r1.4 distinfo --- distinfo 15 Mar 2016 23:25:51 -0000 1.4 +++ distinfo 8 Feb 2018 13:36:18 -0000 @@ -1,2 +1,2 @@ -SHA256 (rsyslog-8.16.0.tar.gz) = T+T5fBCJkIbZi5QB1+jSvP9hx8P3zehieJHjb8bsG3Y= -SIZE (rsyslog-8.16.0.tar.gz) = 2132012 +SHA256 (rsyslog-8.32.0.tar.gz) = lkb9wzpjFEZMumgyNxYBCopVw961I815i6i0Gg76QLg= +SIZE (rsyslog-8.32.0.tar.gz) = 2478990 Index: files/rsyslog.conf =================================================================== RCS file: /cvs/ports/sysutils/rsyslog/files/rsyslog.conf,v retrieving revision 1.1 diff -u -p -r1.1 rsyslog.conf --- files/rsyslog.conf 15 Mar 2016 23:25:51 -0000 1.1 +++ files/rsyslog.conf 8 Feb 2018 13:36:18 -0000 @@ -6,14 +6,14 @@ # like we have with the default config. For more advanced # things, RainerScript configuration is suggested. # -# For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html -# or latest version online at http://www.rsyslog.com/doc/rsyslog_conf.html +# For more information see http://www.rsyslog.com/doc/rsyslog_conf.html # If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html #### MODULES #### module(load="imuxsock") # provides support for local system logging (e.g. via logger command) -module(load="imklog") # provides kernel logging support (previously done by rklogd) +# on OpenBSD sendsyslog(2) is used for logging - imklog will not receive logs +#module(load="imklog") # provides kernel logging support (previously done by rklogd) #module(load"immark") # provides --MARK-- message capability # Provides UDP syslog reception @@ -39,6 +39,10 @@ $ActionFileDefaultTemplate RSYSLOG_Tradi # Include all config files in /etc/rsyslog.d/ $IncludeConfig ${SYSCONFDIR}/rsyslog.d/*.conf +# Drop root privileges +# See http://wiki.rsyslog.com/index.php/Security#Dropping_Privileges +$PrivDropToUser _rsyslogd +$PrivDropToGroup _rsyslogd #### RULES #### Index: patches/patch-grammar_lexer_l =================================================================== RCS file: patches/patch-grammar_lexer_l diff -N patches/patch-grammar_lexer_l --- patches/patch-grammar_lexer_l 15 Mar 2016 23:25:51 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -$OpenBSD: patch-grammar_lexer_l,v 1.1 2016/03/15 23:25:51 sthen Exp $ ---- grammar/lexer.l.orig Thu Mar 3 13:18:38 2016 -+++ grammar/lexer.l Thu Mar 3 13:18:52 2016 -@@ -97,7 +97,7 @@ extern int yydebug; - /* somehow, I need these prototype even though the headers are - * included. I guess that's some autotools magic I don't understand... - */ --#if !defined(__FreeBSD__) -+#if !defined(__FreeBSD__) && !defined(__OpenBSD__) - int fileno(FILE *stream); - #endif - Index: patches/patch-plugins_mmexternal_mmexternal_c =================================================================== RCS file: /cvs/ports/sysutils/rsyslog/patches/patch-plugins_mmexternal_mmexternal_c,v retrieving revision 1.1 diff -u -p -r1.1 patch-plugins_mmexternal_mmexternal_c --- patches/patch-plugins_mmexternal_mmexternal_c 15 Mar 2016 23:25:51 -0000 1.1 +++ patches/patch-plugins_mmexternal_mmexternal_c 8 Feb 2018 13:36:18 -0000 @@ -1,12 +1,13 @@ $OpenBSD: patch-plugins_mmexternal_mmexternal_c,v 1.1 2016/03/15 23:25:51 sthen Exp $ ---- plugins/mmexternal/mmexternal.c.orig Thu Mar 3 13:19:44 2016 -+++ plugins/mmexternal/mmexternal.c Thu Mar 3 13:19:51 2016 +Index: plugins/mmexternal/mmexternal.c +--- plugins/mmexternal/mmexternal.c.orig ++++ plugins/mmexternal/mmexternal.c @@ -31,7 +31,7 @@ #include <errno.h> #include <unistd.h> #include <fcntl.h> --#if defined(__FreeBSD__) -+#if defined(__FreeBSD__) || defined(__OpenBSD__) +-#if defined(_AIX) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__DragonFlyBSD__) || defined(__APPLE__) ++#if defined(_AIX) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__DragonFlyBSD__) || defined(__APPLE__) || defined(__OpenBSD__) #include <sys/wait.h> #else #include <wait.h> Index: patches/patch-tools_rsyslogd_c =================================================================== RCS file: patches/patch-tools_rsyslogd_c diff -N patches/patch-tools_rsyslogd_c --- patches/patch-tools_rsyslogd_c 15 Mar 2016 23:25:51 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -$OpenBSD: patch-tools_rsyslogd_c,v 1.1 2016/03/15 23:25:51 sthen Exp $ ---- tools/rsyslogd.c.orig Thu Mar 3 13:20:29 2016 -+++ tools/rsyslogd.c Thu Mar 3 13:21:39 2016 -@@ -29,7 +29,7 @@ - #ifdef HAVE_LIBLOGGING_STDLOG - # include <liblogging/stdlog.h> - #endif --#ifdef OS_SOLARIS -+#if defined(OS_SOLARIS) || defined(__OpenBSD__) - # include <errno.h> - #else - # include <sys/errno.h> Index: pkg/DESCR-elasticsearch =================================================================== RCS file: pkg/DESCR-elasticsearch diff -N pkg/DESCR-elasticsearch --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ pkg/DESCR-elasticsearch 8 Feb 2018 13:36:18 -0000 @@ -0,0 +1,2 @@ +Elasticsearch plugin for Rsyslog. + Index: pkg/DESCR-normalize =================================================================== RCS file: pkg/DESCR-normalize diff -N pkg/DESCR-normalize --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ pkg/DESCR-normalize 8 Feb 2018 13:36:18 -0000 @@ -0,0 +1 @@ +liblognorm plugin for rsyslog Index: pkg/PLIST-elasticsearch =================================================================== RCS file: pkg/PLIST-elasticsearch diff -N pkg/PLIST-elasticsearch --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ pkg/PLIST-elasticsearch 8 Feb 2018 13:36:18 -0000 @@ -0,0 +1,2 @@ +@comment $OpenBSD$ +lib/rsyslog/omelasticsearch.so Index: pkg/PLIST-main =================================================================== RCS file: /cvs/ports/sysutils/rsyslog/pkg/PLIST-main,v retrieving revision 1.2 diff -u -p -r1.2 PLIST-main --- pkg/PLIST-main 15 Mar 2016 23:25:51 -0000 1.2 +++ pkg/PLIST-main 8 Feb 2018 13:36:18 -0000 @@ -1,4 +1,6 @@ @comment $OpenBSD: PLIST-main,v 1.2 2016/03/15 23:25:51 sthen Exp $ +@newgroup _rsyslogd:800 +@newuser _rsyslogd:800:_rsyslogd:daemon:Rsyslog Daemon:/nonexistent:/sbin/nologin lib/rsyslog/ lib/rsyslog/imklog.so lib/rsyslog/immark.so @@ -26,3 +28,4 @@ lib/rsyslog/omtesting.so share/examples/rsyslog/ share/examples/rsyslog/rsyslog.conf @sample ${SYSCONFDIR}/rsyslog.conf +@rcscript ${RCDIR}/rsyslogd Index: pkg/PLIST-normalize =================================================================== RCS file: pkg/PLIST-normalize diff -N pkg/PLIST-normalize --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ pkg/PLIST-normalize 8 Feb 2018 13:36:18 -0000 @@ -0,0 +1,2 @@ +@comment $OpenBSD$ +lib/rsyslog/mmnormalize.so Index: pkg/rsyslogd.rc =================================================================== RCS file: pkg/rsyslogd.rc diff -N pkg/rsyslogd.rc --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ pkg/rsyslogd.rc 8 Feb 2018 13:36:18 -0000 @@ -0,0 +1,11 @@ +#!/bin/sh +# +# $OpenBSD$ + +daemon="${TRUEPREFIX}/sbin/rsyslogd" + +rc_reload=NO + +. /etc/rc.d/rc.subr + +rc_cmd $1