Update to 8.34.0

Add patches to configuration system to allow specifying whether
syslog(3) generates RFC5424 format messages, instead of RFC3164.

Set RFC5424 as the syslog(3) default for OSVER >= 1200061. See:
https://reviews.freebsd.org/D14951 This is primarily a convenience so
that users of rsyslog8 will not have to modify their rsyslog.conf when
upgrading to a version of FreeBSD that generates RFC5424 from
syslog(3).  I will submit these patches upstream in due course.
This commit is contained in:
Matthew Seaman
2018-04-15 21:26:26 +00:00
parent fba01334b1
commit d1fcfca6c9
6 changed files with 89 additions and 5 deletions

View File

@@ -1,7 +1,7 @@
# $FreeBSD$
PORTNAME= rsyslog
PORTVERSION= 8.33.1
PORTVERSION= 8.34.0
CATEGORIES= sysutils
MASTER_SITES= http://www.rsyslog.com/files/download/rsyslog/
@@ -123,6 +123,12 @@ SUB_FILES= pkg-message
CONFIGURE_ARGS+= --enable-imdiag --enable-imfile --enable-impstats --enable-mail --enable-omprog --enable-omstdout --enable-omuxsock --enable-rfc3195 --disable-testbench
.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200061
CONFIGURE_ARGS+= --enable-imuxsock-rfc5424
.else
CONFIGURE_ARGS+= --disable-imuxsock-rfc5424
.endif
post-patch:
@${REINPLACE_CMD} -e 's|/lib/rsyslog/|${PREFIX}/lib/rsyslog/|'\
${WRKSRC}/tools/syslogd.c
@@ -137,7 +143,7 @@ post-patch:
post-install-DOCS-on:
.for SQL in ${PORTDOCS:M*.sql}
@${MKDIR} ${STAGEDIR}${DOCSDIR}/${SQL:H}
@${INSTALL_DATA} ${WRKSRC}/${SQL} ${STAGEDIR}${DOCSDIR}/${SQL}
${INSTALL_DATA} ${WRKSRC}/${SQL} ${STAGEDIR}${DOCSDIR}/${SQL}
.endfor
.include <bsd.port.post.mk>

View File

@@ -1,3 +1,3 @@
TIMESTAMP = 1520407652
SHA256 (rsyslog-8.33.1.tar.gz) = 2da2bd773dbd5fde4eb162d5411dac96bf596b33e62a4062610443686597e3a8
SIZE (rsyslog-8.33.1.tar.gz) = 2494338
TIMESTAMP = 1522926631
SHA256 (rsyslog-8.34.0.tar.gz) = 18330a9764c55d2501b847aad267292bd96c2b12fa5c3b92909bd8d4563c80a9
SIZE (rsyslog-8.34.0.tar.gz) = 2545544

View File

@@ -0,0 +1,13 @@
--- config.h.in.orig 2018-04-14 15:52:32 UTC
+++ config.h.in
@@ -18,6 +18,10 @@
/* Indicator that RELP is present */
#undef ENABLE_RELP
+/* Indicator that syslog(3) sends RFC5424 format via the local unix
+ socket, rather than the traditional RFC3164 */
+#undef ENABLE_IMUXSOCK_RFC5424
+
/* Regular expressions support enabled. */
#undef FEATURE_REGEXP

View File

@@ -0,0 +1,30 @@
--- configure.ac.orig 2018-04-03 09:47:39 UTC
+++ configure.ac
@@ -1520,6 +1520,19 @@ if test "x$enable_imfile" = "xyes"; then
fi
AM_CONDITIONAL(ENABLE_IMFILE, test x$enable_imfile = xyes)
+# choose default settings for the format the system syslog(3)
+# generates: (old, default) RFC 3164 needs a special parser. (new) RFC
+# 5424 is handled by the default parser.
+AC_ARG_ENABLE(imuxsock_rfc5424,
+ [AS_HELP_STRING([--enable-imuxsock-rfc5424],[unix socket input defaults to RFC5424 format @<:default=no@:>@])],
+ [case "${enableval}" in
+ yes) enable_imuxsock_rfc5424="yes" ;;
+ no) enable_imuxsock_rfc5424="no" ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-imuxsock-rfc5424) ;;
+ esac],
+ [enable_imuxsock_rfc5424=no]
+)
+AM_CONDITIONAL(ENABLE_IMUXSOCK_RFC5424, test x$enable_imuxsock_rfc5424 = xyes)
# settings for the door input module (under solaris, thus default off)
AC_ARG_ENABLE(imsolaris,
@@ -2312,6 +2325,7 @@ echo " imdiag enabled:
echo " file input module enabled: $enable_imfile"
echo " Solaris input module enabled: $enable_imsolaris"
echo " periodic statistics module enabled: $enable_impstats"
+echo " syslog(3) unix socket uses RFC5424: $enable_imuxsock_rfc5424"
echo " imzmq3 input module enabled: $enable_imzmq3"
echo " imczmq input module enabled: $enable_imczmq"
echo " imjournal input module enabled: $enable_imjournal"

View File

@@ -0,0 +1,34 @@
--- plugins/imuxsock/imuxsock.c.orig 2018-04-08 11:15:54 UTC
+++ plugins/imuxsock/imuxsock.c
@@ -180,6 +180,13 @@ static int sd_fds = 0; /* number of sy
#define DFLT_ratelimitInterval 0
#define DFLT_ratelimitBurst 200
#define DFLT_ratelimitSeverity 1 /* do not rate-limit emergency messages */
+
+#ifdef ENABLE_IMUXSOCK_RFC5424
+#define DFLT_bUseSpecialParser 0 /* assumes syslog(3) generates RFC5424 format */
+#else
+#define DFLT_bUseSpecialParser 1 /* assumes syslog(3) generates RFC3164 format */
+#endif
+
/* config vars for the legacy config system */
static struct configSettings_s {
int bOmitLocalLogging;
@@ -323,7 +330,7 @@ createInstance(instanceConf_t **pinst)
inst->ratelimitBurst = DFLT_ratelimitBurst;
inst->ratelimitSeverity = DFLT_ratelimitSeverity;
inst->bUseFlowCtl = 0;
- inst->bUseSpecialParser = 1;
+ inst->bUseSpecialParser = DFLT_bUseSpecialParser;
inst->bParseHost = UNSET;
inst->bIgnoreTimestamp = 1;
inst->bCreatePath = DFLT_bCreatePath;
@@ -1243,7 +1250,7 @@ CODESTARTbeginCnfLoad
pModConf->bAnnotateSysSock = 0;
pModConf->bParseTrusted = 0;
pModConf->bParseHost = UNSET;
- pModConf->bUseSpecialParser = 1;
+ pModConf->bUseSpecialParser = DFLT_bUseSpecialParser;
/* if we do not process internal messages, we will see messages
* from ourselves, and so we need to permit this.
*/

View File

@@ -1,3 +1,4 @@
lib/rsyslog/fmhttp.so
lib/rsyslog/im3195.so
lib/rsyslog/imdiag.so
lib/rsyslog/imfile.so