diff options
-rw-r--r-- | meta-oe/recipes-extended/rsyslog/librelp/0001-testbench-improvements.patch | 164 | ||||
-rw-r--r-- | meta-oe/recipes-extended/rsyslog/librelp_1.4.0.bb (renamed from meta-oe/recipes-extended/rsyslog/librelp_1.2.18.bb) | 5 |
2 files changed, 2 insertions, 167 deletions
diff --git a/meta-oe/recipes-extended/rsyslog/librelp/0001-testbench-improvements.patch b/meta-oe/recipes-extended/rsyslog/librelp/0001-testbench-improvements.patch deleted file mode 100644 index 6b60bd74867..00000000000 --- a/meta-oe/recipes-extended/rsyslog/librelp/0001-testbench-improvements.patch +++ /dev/null @@ -1,164 +0,0 @@ -From 1e6be18ed243dc562ff2976b46850bfd2e576664 Mon Sep 17 00:00:00 2001 -From: Rainer Gerhards <rgerhards@adiscon.com> -Date: Thu, 15 Nov 2018 12:23:41 +0100 -Subject: [PATCH] testbench improvements - -Most importantly, the test receiver process is now terminated -gracefully. Without that, gcov can never pick up correct -coverage data. - -Upstream-Status: Backport[https://github.com/rsyslog/librelp/commit/1e6be18ed243dc562ff2976b46850bfd2e576664] - -Signed-off-by: Mingli Yu <mingli.yu@windriver.com> ---- - src/tcp.c | 4 ++-- - tests/Makefile.am | 3 ++- - tests/receive.c | 29 +++++++++++++++++++++++++++-- - tests/selftest_receive_usage.sh | 5 +++++ - tests/test-framework.sh | 4 ++-- - 5 files changed, 38 insertions(+), 7 deletions(-) - create mode 100755 tests/selftest_receive_usage.sh - -diff --git a/src/tcp.c b/src/tcp.c -index f10a720..0ea92ea 100644 ---- a/src/tcp.c -+++ b/src/tcp.c -@@ -3027,7 +3027,7 @@ relpTcpConnect(relpTcp_t *const pThis, - struct addrinfo hints; - struct addrinfo *reslocal = NULL; - struct pollfd pfd; -- char errmsg[1024]; -+ char errmsg[1424]; - int so_error; - socklen_t len = sizeof so_error; - int r; -@@ -3067,7 +3067,7 @@ relpTcpConnect(relpTcp_t *const pThis, - } - if(connect(pThis->sock, res->ai_addr, res->ai_addrlen) == -1) { - if(errno != EINPROGRESS) { -- char errStr[1024]; -+ char errStr[1200]; - _relpEngine_strerror_r(errno, errStr, sizeof(errStr)); - snprintf(errmsg, sizeof(errmsg), "error connecting: '%s'", errStr); - callOnErr(pThis, errmsg, RELP_RET_IO_ERR); -diff --git a/tests/Makefile.am b/tests/Makefile.am -index 64deb19..51fd78f 100644 ---- a/tests/Makefile.am -+++ b/tests/Makefile.am -@@ -25,7 +25,8 @@ TESTS= basic.sh \ - long-msg.sh \ - oversize-msg-abort-errmsg.sh \ - oversize-msg-accept-errmsg.sh \ -- truncate-oversize-msg.sh -+ truncate-oversize-msg.sh \ -+ selftest_receive_usage.sh - # OpenSSL tests only! - if ENABLE_TLS_OPENSSL - TESTS += tls-wrong-permittedPeer.sh \ -diff --git a/tests/receive.c b/tests/receive.c -index e56e59c..4b69c99 100644 ---- a/tests/receive.c -+++ b/tests/receive.c -@@ -1,6 +1,7 @@ - /* A minimal RELP receiver using librelp - * - * Copyright 2014 Mathias Nyman -+ * Copyright 2018 Adiscon GmbH - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. -@@ -24,6 +25,7 @@ - #include <string.h> - #include <limits.h> - #include <errno.h> -+#include <signal.h> - #include "librelp.h" - - #define TRY(f) if(f != RELP_RET_OK) { fprintf(stderr, "receive.c: FAILURE in '%s'\n", #f); ret = 1; goto done; } -@@ -31,6 +33,24 @@ - static FILE *errFile = NULL; - static relpEngine_t *pRelpEngine; - -+static void -+hdlr_enable(int sig, void (*hdlr)()) -+{ -+ struct sigaction sigAct; -+ memset(&sigAct, 0, sizeof (sigAct)); -+ sigemptyset(&sigAct.sa_mask); -+ sigAct.sa_handler = hdlr; -+ sigaction(sig, &sigAct, NULL); -+} -+ -+void -+terminate(int sig) -+{ -+ fprintf(stderr, "terminating on signal %d\n", sig); -+ relpEngineSetStop(pRelpEngine); -+} -+ -+ - static void __attribute__((format(printf, 1, 2))) - dbgprintf(char *fmt, ...) - { -@@ -237,6 +257,8 @@ int main(int argc, char *argv[]) { - } - } - -+ hdlr_enable(SIGTERM, terminate); -+ - TRY(relpEngineConstruct(&pRelpEngine)); - TRY(relpEngineSetDbgprint(pRelpEngine, verbose ? dbgprintf : NULL)); - TRY(relpEngineSetEnableCmd(pRelpEngine, (unsigned char*) "syslog", eRelpCmdState_Required)); -@@ -294,11 +316,14 @@ int main(int argc, char *argv[]) { - fclose(fp); - } - -- TRY(relpEngineRun(pRelpEngine)); /* Abort with ctrl-c */ -+ TRY(relpEngineRun(pRelpEngine)); /* Abort via SIGHUP */ - -- TRY(relpEngineSetStop(pRelpEngine)); - TRY(relpEngineDestruct(&pRelpEngine)); - -+ if(pidFileName != NULL) { -+ unlink(pidFileName); -+ } -+ - done: - return ret; - } -diff --git a/tests/selftest_receive_usage.sh b/tests/selftest_receive_usage.sh -new file mode 100755 -index 0000000..c4ac8bb ---- /dev/null -+++ b/tests/selftest_receive_usage.sh -@@ -0,0 +1,5 @@ -+#!/bin/bash -+. ${srcdir:=$(pwd)}/test-framework.sh -+./receive &>librelp.out.log -+check_output "Port is missing" -+terminate -diff --git a/tests/test-framework.sh b/tests/test-framework.sh -index 6abdcf2..d4ab3ec 100644 ---- a/tests/test-framework.sh -+++ b/tests/test-framework.sh -@@ -32,7 +32,7 @@ function wait_process_startup_via_pidfile() { - # start receiver WITH valgrind, add receiver command line parameters after function name - function startup_receiver_valgrind() { - printf 'Starting Receiver...\n' -- $valgrind ./receive -p $TESTPORT -F receive.pid $OPT_VERBOSE $* 1>>librelp.out.log & -+ $valgrind ./receive -p $TESTPORT -F receive.pid $OPT_VERBOSE $* 1>librelp.out.log & - export RECEIVE_PID=$! - printf "got receive pid $RECEIVE_PID\n" - wait_process_startup_via_pidfile receive.pid -@@ -43,7 +43,7 @@ function startup_receiver_valgrind() { - # start receiver, add receiver command line parameters after function name - function startup_receiver() { - printf 'Starting Receiver...\n' -- ./receive -p $TESTPORT -F receive.pid $OPT_VERBOSE $* 1>>librelp.out.log & -+ ./receive -p $TESTPORT -F receive.pid $OPT_VERBOSE $* 1>librelp.out.log & - export RECEIVE_PID=$! - printf "got receive pid $RECEIVE_PID\n" - wait_process_startup_via_pidfile receive.pid --- -2.17.1 - diff --git a/meta-oe/recipes-extended/rsyslog/librelp_1.2.18.bb b/meta-oe/recipes-extended/rsyslog/librelp_1.4.0.bb index e4838fa5b9d..9e57dd520de 100644 --- a/meta-oe/recipes-extended/rsyslog/librelp_1.2.18.bb +++ b/meta-oe/recipes-extended/rsyslog/librelp_1.4.0.bb @@ -4,13 +4,12 @@ HOMEPAGE = "https://github.com/rsyslog/librelp" LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=1fb9c10ed9fd6826757615455ca893a9" -DEPENDS = "gmp nettle libidn zlib gnutls" +DEPENDS = "gmp nettle libidn zlib gnutls openssl" SRC_URI = "git://github.com/rsyslog/librelp.git;protocol=https \ - file://0001-testbench-improvements.patch \ " -SRCREV = "4b6a81061bccf68cba6fddd27f99fb5dc0d0c3a3" +SRCREV = "e96443dda3c080fa991decec26bc4ac98d24b9a2" S = "${WORKDIR}/git" |