librelp: Upgrade to 1.4.0

Remove one backported patch.

Add openssl to Depends.

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Mingli Yu
2019-03-12 02:46:26 -07:00
committed by Khem Raj
parent b3eeaf4498
commit 666c23a48a
2 changed files with 2 additions and 167 deletions
@@ -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
@@ -4,13 +4,12 @@ HOMEPAGE = "https://github.com/rsyslog/librelp"
LICENSE = "GPLv3" LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=1fb9c10ed9fd6826757615455ca893a9" 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 \ SRC_URI = "git://github.com/rsyslog/librelp.git;protocol=https \
file://0001-testbench-improvements.patch \
" "
SRCREV = "4b6a81061bccf68cba6fddd27f99fb5dc0d0c3a3" SRCREV = "e96443dda3c080fa991decec26bc4ac98d24b9a2"
S = "${WORKDIR}/git" S = "${WORKDIR}/git"