summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaiki Ueno <ueno@gnu.org>2021-08-31 18:37:55 +0000
committerDaiki Ueno <ueno@gnu.org>2021-08-31 18:37:55 +0000
commit6b4f1079af3eecca8f5c26db81a1dd44af939f0f (patch)
treeef41f7170990eb5734f0ee1c37dfd708dfc43abe
parentf3b6739f4d243084ff402dfa2c28455487104bb3 (diff)
parent8554e98779e6b021cd4888eccda89c99b52b7f13 (diff)
downloadgnutls-6b4f1079af3eecca8f5c26db81a1dd44af939f0f.tar.gz
Merge branch 'terminate-fixes' into 'master'
Avoid tests killing entire process groups See merge request gnutls/gnutls!1463
-rw-r--r--tests/alerts.c5
-rw-r--r--tests/alpn-server-prec.c2
-rw-r--r--tests/client-fastopen.c1
-rw-r--r--tests/custom-urls-override.c1
-rw-r--r--tests/custom-urls.c1
-rw-r--r--tests/dtls-client-with-seccomp.c2
-rw-r--r--tests/dtls-etm.c1
-rw-r--r--tests/dtls-rehandshake-anon.c4
-rw-r--r--tests/dtls-rehandshake-cert-2.c4
-rw-r--r--tests/dtls-rehandshake-cert-3.c2
-rw-r--r--tests/dtls-rehandshake-cert.c4
-rw-r--r--tests/dtls-with-seccomp.c2
-rw-r--r--tests/fallback-scsv.c1
-rw-r--r--tests/key-material-dtls.c38
-rw-r--r--tests/key-material-set-dtls.c20
-rw-r--r--tests/keylog-func.c6
-rw-r--r--tests/mini-alpn.c2
-rw-r--r--tests/mini-dtls-discard.c2
-rw-r--r--tests/mini-dtls-fork.c2
-rw-r--r--tests/mini-dtls-heartbeat.c8
-rw-r--r--tests/mini-dtls-hello-verify.c2
-rw-r--r--tests/mini-dtls-large.c2
-rw-r--r--tests/mini-dtls-lowmtu.c1
-rw-r--r--tests/mini-dtls-mtu.c2
-rw-r--r--tests/mini-dtls-record-asym.c2
-rw-r--r--tests/mini-dtls-record.c6
-rw-r--r--tests/mini-dtls-srtp.c2
-rw-r--r--tests/mini-dtls0-9.c2
-rw-r--r--tests/mini-key-material.c42
-rw-r--r--tests/mini-overhead.c1
-rw-r--r--tests/mini-record-2.c3
-rw-r--r--tests/mini-record-failure.c3
-rw-r--r--tests/mini-record-range.c1
-rw-r--r--tests/mini-record.c1
-rw-r--r--tests/mini-server-name.c1
-rw-r--r--tests/mini-termination.c1
-rw-r--r--tests/mini-tls-nonblock.c1
-rw-r--r--tests/prf.c6
-rw-r--r--tests/record-pad.c1
-rw-r--r--tests/record-retvals.c5
-rw-r--r--tests/recv-data-before-handshake.c1
-rw-r--r--tests/send-data-before-handshake.c12
-rw-r--r--tests/session-tickets-missing.c10
-rw-r--r--tests/session-tickets-ok.c3
-rw-r--r--tests/srp.c2
-rw-r--r--tests/tls-client-with-seccomp.c2
-rw-r--r--tests/tls-etm.c1
-rw-r--r--tests/tls-with-seccomp.c2
-rw-r--r--tests/tls12-rehandshake-cert-2.c1
-rw-r--r--tests/tls12-rehandshake-cert-3.c1
-rw-r--r--tests/tls13/key_limits.c1
-rw-r--r--tests/tls13/prf-early.c6
-rw-r--r--tests/tls13/prf.c6
-rw-r--r--tests/tlsext-decoding.c2
54 files changed, 132 insertions, 111 deletions
diff --git a/tests/alerts.c b/tests/alerts.c
index 7e9b20667c..6bc2868add 100644
--- a/tests/alerts.c
+++ b/tests/alerts.c
@@ -125,13 +125,13 @@ static void client(int fd, const char *prio, int ign)
ret = gnutls_alert_send(session, GNUTLS_AL_WARNING, GNUTLS_A_USER_CANCELED);
if (ret < 0) {
fail("server: Error sending user cancelled alert: %s\n", gnutls_strerror(ret));
- terminate();
+ exit(1);
}
ret = gnutls_alert_send(session, GNUTLS_AL_FATAL, GNUTLS_A_DECRYPT_ERROR);
if (ret < 0) {
fail("server: Error sending decrypt error alert: %s\n", gnutls_strerror(ret));
- terminate();
+ exit(1);
}
close(fd);
@@ -149,6 +149,7 @@ pid_t child;
static void terminate(void)
{
+ assert(child);
kill(child, SIGTERM);
exit(1);
}
diff --git a/tests/alpn-server-prec.c b/tests/alpn-server-prec.c
index 0461c5d39a..115522c843 100644
--- a/tests/alpn-server-prec.c
+++ b/tests/alpn-server-prec.c
@@ -160,7 +160,7 @@ static void client(int fd, const char *protocol0, const char *protocol1, const c
static void terminate(void)
{
int status;
-
+ assert(child);
kill(child, SIGTERM);
wait(&status);
exit(1);
diff --git a/tests/client-fastopen.c b/tests/client-fastopen.c
index 5a1457a8e8..cf527ffeda 100644
--- a/tests/client-fastopen.c
+++ b/tests/client-fastopen.c
@@ -154,6 +154,7 @@ pid_t child;
static void terminate(void)
{
+ assert(child);
kill(child, SIGTERM);
exit(1);
}
diff --git a/tests/custom-urls-override.c b/tests/custom-urls-override.c
index 8ce3606cf9..1ed55b2fde 100644
--- a/tests/custom-urls-override.c
+++ b/tests/custom-urls-override.c
@@ -140,6 +140,7 @@ pid_t child;
static void terminate(void)
{
+ assert(child);
kill(child, SIGTERM);
exit(1);
}
diff --git a/tests/custom-urls.c b/tests/custom-urls.c
index a7295a174c..81bf8353f9 100644
--- a/tests/custom-urls.c
+++ b/tests/custom-urls.c
@@ -137,6 +137,7 @@ pid_t child;
static void terminate(void)
{
+ assert(child);
kill(child, SIGTERM);
exit(1);
}
diff --git a/tests/dtls-client-with-seccomp.c b/tests/dtls-client-with-seccomp.c
index 7fc77263b4..c39068c18b 100644
--- a/tests/dtls-client-with-seccomp.c
+++ b/tests/dtls-client-with-seccomp.c
@@ -169,7 +169,7 @@ pid_t child;
static void terminate(void)
{
int status;
-
+ assert(child);
kill(child, SIGTERM);
wait(&status);
exit(1);
diff --git a/tests/dtls-etm.c b/tests/dtls-etm.c
index 765bc1fb19..1a8c1b55aa 100644
--- a/tests/dtls-etm.c
+++ b/tests/dtls-etm.c
@@ -180,6 +180,7 @@ pid_t child;
static void terminate(void)
{
+ assert(child);
kill(child, SIGTERM);
exit(1);
}
diff --git a/tests/dtls-rehandshake-anon.c b/tests/dtls-rehandshake-anon.c
index e102a54b3e..f281f5d3fa 100644
--- a/tests/dtls-rehandshake-anon.c
+++ b/tests/dtls-rehandshake-anon.c
@@ -145,7 +145,7 @@ static void client(int fd, int server_init)
if (ret < 0) {
fail("2nd client gnutls_handshake: %s\n",
gnutls_strerror(ret));
- terminate();
+ exit(1);
}
} else {
do {
@@ -200,7 +200,7 @@ pid_t child;
static void terminate(void)
{
int status;
-
+ assert(child);
kill(child, SIGTERM);
wait(&status);
exit(1);
diff --git a/tests/dtls-rehandshake-cert-2.c b/tests/dtls-rehandshake-cert-2.c
index e16372b5ef..c9d50585a8 100644
--- a/tests/dtls-rehandshake-cert-2.c
+++ b/tests/dtls-rehandshake-cert-2.c
@@ -153,7 +153,7 @@ static void client(int fd, int server_init, const char *prio)
if (ret < 0) {
fail("2nd client gnutls_handshake: %s\n",
gnutls_strerror(ret));
- terminate();
+ exit(1);
}
} else {
do {
@@ -205,7 +205,7 @@ pid_t child;
static void terminate(void)
{
int status;
-
+ assert(child);
kill(child, SIGTERM);
wait(&status);
exit(1);
diff --git a/tests/dtls-rehandshake-cert-3.c b/tests/dtls-rehandshake-cert-3.c
index b537a2b670..855f63cee6 100644
--- a/tests/dtls-rehandshake-cert-3.c
+++ b/tests/dtls-rehandshake-cert-3.c
@@ -212,7 +212,7 @@ pid_t child;
static void terminate(void)
{
int status;
-
+ assert(child);
kill(child, SIGTERM);
wait(&status);
exit(1);
diff --git a/tests/dtls-rehandshake-cert.c b/tests/dtls-rehandshake-cert.c
index 0591c771eb..3439ee9e93 100644
--- a/tests/dtls-rehandshake-cert.c
+++ b/tests/dtls-rehandshake-cert.c
@@ -146,7 +146,7 @@ static void client(int fd, int server_init, const char *prio)
if (ret < 0) {
fail("2nd client gnutls_handshake: %s\n",
gnutls_strerror(ret));
- terminate();
+ exit(1);
}
} else {
do {
@@ -201,7 +201,7 @@ pid_t child;
static void terminate(void)
{
int status;
-
+ assert(child);
kill(child, SIGTERM);
wait(&status);
exit(1);
diff --git a/tests/dtls-with-seccomp.c b/tests/dtls-with-seccomp.c
index fa46c3dfc9..357c3336c4 100644
--- a/tests/dtls-with-seccomp.c
+++ b/tests/dtls-with-seccomp.c
@@ -160,7 +160,7 @@ pid_t child;
static void terminate(void)
{
int status;
-
+ assert(child);
kill(child, SIGTERM);
wait(&status);
exit(1);
diff --git a/tests/fallback-scsv.c b/tests/fallback-scsv.c
index aeaa9d8056..d823e625a7 100644
--- a/tests/fallback-scsv.c
+++ b/tests/fallback-scsv.c
@@ -161,6 +161,7 @@ pid_t child;
static void terminate(void)
{
+ assert(child);
kill(child, SIGTERM);
exit(1);
}
diff --git a/tests/key-material-dtls.c b/tests/key-material-dtls.c
index 195afd0795..e54500d7bf 100644
--- a/tests/key-material-dtls.c
+++ b/tests/key-material-dtls.c
@@ -83,8 +83,10 @@ static void terminate(void)
{
int status = 0;
- kill(child, SIGTERM);
- wait(&status);
+ if (child) {
+ kill(child, SIGTERM);
+ wait(&status);
+ }
exit(1);
}
@@ -141,7 +143,7 @@ static void client(int fd)
if (ret < 0) {
fail("client: Handshake failed: %s\n", strerror(ret));
- terminate();
+ exit(1);
} else {
if (debug)
success("client: Handshake was completed\n");
@@ -155,13 +157,13 @@ static void client(int fd)
ret = gnutls_cipher_get(session);
if (ret != GNUTLS_CIPHER_AES_128_CBC) {
fprintf(stderr, "negotiated unexpected cipher: %s\n", gnutls_cipher_get_name(ret));
- terminate();
+ exit(1);
}
ret = gnutls_mac_get(session);
if (ret != GNUTLS_MAC_SHA1) {
fprintf(stderr, "negotiated unexpected mac: %s\n", gnutls_mac_get_name(ret));
- terminate();
+ exit(1);
}
iv_size = 16;
@@ -174,7 +176,7 @@ static void client(int fd)
if (ret < 0) {
fprintf(stderr, "error in %d\n", __LINE__);
gnutls_perror(ret);
- terminate();
+ exit(1);
}
p = key_material;
@@ -183,33 +185,33 @@ static void client(int fd)
if (ret < 0) {
fprintf(stderr, "error in %d\n", __LINE__);
gnutls_perror(ret);
- terminate();
+ exit(1);
}
if (memcmp(wseq_number, "\x00\x01\x00\x00\x00\x00\x00\x01", 8) != 0) {
dump("wseq:", wseq_number, 8);
fprintf(stderr, "error in %d\n", __LINE__);
- terminate();
+ exit(1);
}
ret = gnutls_record_get_state(session, 1, &read_mac_key, &read_iv, &read_cipher_key, rseq_number);
if (ret < 0) {
fprintf(stderr, "error in %d\n", __LINE__);
gnutls_perror(ret);
- terminate();
+ exit(1);
}
if (memcmp(rseq_number, "\x00\x01\x00\x00\x00\x00\x00\x01", 8) != 0) {
dump("rseq:", rseq_number, 8);
fprintf(stderr, "error in %d\n", __LINE__);
- terminate();
+ exit(1);
}
if (hash_size != mac_key.size || memcmp(p, mac_key.data, hash_size) != 0) {
dump("MAC:", mac_key.data, mac_key.size);
dump("Block:", key_material, block_size);
fprintf(stderr, "error in %d\n", __LINE__);
- terminate();
+ exit(1);
}
p+= hash_size;
@@ -217,19 +219,19 @@ static void client(int fd)
dump("MAC:", read_mac_key.data, read_mac_key.size);
dump("Block:", key_material, block_size);
fprintf(stderr, "error in %d\n", __LINE__);
- terminate();
+ exit(1);
}
p+= hash_size;
if (key_size != cipher_key.size || memcmp(p, cipher_key.data, key_size) != 0) {
fprintf(stderr, "error in %d\n", __LINE__);
- terminate();
+ exit(1);
}
p+= key_size;
if (key_size != read_cipher_key.size || memcmp(p, read_cipher_key.data, key_size) != 0) {
fprintf(stderr, "error in %d\n", __LINE__);
- terminate();
+ exit(1);
}
p+= key_size;
@@ -246,13 +248,13 @@ static void client(int fd)
if (ret < 0) {
fprintf(stderr, "error in %d\n", __LINE__);
gnutls_perror(ret);
- terminate();
+ exit(1);
}
if (memcmp(wseq_number, "\x00\x01\x00\x00\x00\x00\x00\x06", 8) != 0) {
dump("wseq:", wseq_number, 8);
fprintf(stderr, "error in %d\n", __LINE__);
- terminate();
+ exit(1);
}
memset(rseq_number, 0xAA, sizeof(rseq_number));
@@ -260,13 +262,13 @@ static void client(int fd)
if (ret < 0) {
fprintf(stderr, "error in %d\n", __LINE__);
gnutls_perror(ret);
- terminate();
+ exit(1);
}
if (memcmp(rseq_number, "\x00\x01\x00\x00\x00\x00\x00\x01", 8) != 0) {
dump("rseq:", rseq_number, 8);
fprintf(stderr, "error in %d\n", __LINE__);
- terminate();
+ exit(1);
}
gnutls_bye(session, GNUTLS_SHUT_WR);
diff --git a/tests/key-material-set-dtls.c b/tests/key-material-set-dtls.c
index 4a569162bb..6e6d6d2df5 100644
--- a/tests/key-material-set-dtls.c
+++ b/tests/key-material-set-dtls.c
@@ -71,8 +71,10 @@ static void terminate(void)
{
int status = 0;
- kill(child, SIGTERM);
- wait(&status);
+ if (child) {
+ kill(child, SIGTERM);
+ wait(&status);
+ }
exit(1);
}
@@ -127,7 +129,7 @@ static void client(int fd)
if (ret < 0) {
fail("client: Handshake failed: %s\n", strerror(ret));
- terminate();
+ exit(1);
} else {
if (debug)
success("client: Handshake was completed\n");
@@ -141,13 +143,13 @@ static void client(int fd)
ret = gnutls_cipher_get(session);
if (ret != GNUTLS_CIPHER_AES_128_CBC) {
fprintf(stderr, "negotiated unexpected cipher: %s\n", gnutls_cipher_get_name(ret));
- terminate();
+ exit(1);
}
ret = gnutls_mac_get(session);
if (ret != GNUTLS_MAC_SHA1) {
fprintf(stderr, "negotiated unexpected mac: %s\n", gnutls_mac_get_name(ret));
- terminate();
+ exit(1);
}
/* save state */
@@ -155,14 +157,14 @@ static void client(int fd)
if (ret < 0) {
fprintf(stderr, "error in %d\n", __LINE__);
gnutls_perror(ret);
- terminate();
+ exit(1);
}
ret = gnutls_record_get_state(session, 1, NULL, NULL, NULL, rseq_number);
if (ret < 0) {
fprintf(stderr, "error in %d\n", __LINE__);
gnutls_perror(ret);
- terminate();
+ exit(1);
}
/* skip past the sliding window */
@@ -187,14 +189,14 @@ static void client(int fd)
if (ret < 0) {
fprintf(stderr, "error in %d\n", __LINE__);
gnutls_perror(ret);
- terminate();
+ exit(1);
}
ret = gnutls_record_set_state(session, 1, rseq_number);
if (ret < 0) {
fprintf(stderr, "error in %d\n", __LINE__);
gnutls_perror(ret);
- terminate();
+ exit(1);
}
ret = gnutls_record_send(session, "ping", 4);
diff --git a/tests/keylog-func.c b/tests/keylog-func.c
index 4350698e6b..8145c55d1d 100644
--- a/tests/keylog-func.c
+++ b/tests/keylog-func.c
@@ -303,8 +303,10 @@ static void terminate(void)
{
int status = 0;
- kill(child, SIGTERM);
- wait(&status);
+ if (child) {
+ kill(child, SIGTERM);
+ wait(&status);
+ }
exit(1);
}
diff --git a/tests/mini-alpn.c b/tests/mini-alpn.c
index bed981451a..a8c9eb50af 100644
--- a/tests/mini-alpn.c
+++ b/tests/mini-alpn.c
@@ -162,7 +162,7 @@ static void client(int fd, const char *protocol0, const char *protocol2, const c
static void terminate(void)
{
int status;
-
+ assert(child);
kill(child, SIGTERM);
wait(&status);
exit(1);
diff --git a/tests/mini-dtls-discard.c b/tests/mini-dtls-discard.c
index 2ad841b1d8..7b0d23ed5a 100644
--- a/tests/mini-dtls-discard.c
+++ b/tests/mini-dtls-discard.c
@@ -169,7 +169,7 @@ pid_t child;
static void terminate(void)
{
int status;
-
+ assert(child);
kill(child, SIGTERM);
wait(&status);
exit(1);
diff --git a/tests/mini-dtls-fork.c b/tests/mini-dtls-fork.c
index b3164ef65c..f7b0ee7f60 100644
--- a/tests/mini-dtls-fork.c
+++ b/tests/mini-dtls-fork.c
@@ -56,7 +56,7 @@ pid_t child;
static void terminate(void)
{
int status;
-
+ assert(child);
kill(child, SIGTERM);
wait(&status);
exit(1);
diff --git a/tests/mini-dtls-heartbeat.c b/tests/mini-dtls-heartbeat.c
index cb575f9b2c..c5ca28b1a7 100644
--- a/tests/mini-dtls-heartbeat.c
+++ b/tests/mini-dtls-heartbeat.c
@@ -142,7 +142,7 @@ static void client(int fd, int server_init)
if (ret2 < 0) {
fail("pong: %s\n",
gnutls_strerror(ret));
- terminate();
+ exit(1);
}
}
}
@@ -151,7 +151,7 @@ static void client(int fd, int server_init)
if (ret < 0) {
fail("recv: %s\n", gnutls_strerror(ret));
- terminate();
+ exit(1);
}
} else {
do {
@@ -167,7 +167,7 @@ static void client(int fd, int server_init)
if (ret < 0) {
fail("ping: %s\n", gnutls_strerror(ret));
- terminate();
+ exit(1);
}
}
@@ -205,7 +205,7 @@ static gnutls_session_t initialize_tls_session(void)
static void terminate(void)
{
int status;
-
+ assert(child);
kill(child, SIGTERM);
wait(&status);
exit(1);
diff --git a/tests/mini-dtls-hello-verify.c b/tests/mini-dtls-hello-verify.c
index 1029c86877..8019313987 100644
--- a/tests/mini-dtls-hello-verify.c
+++ b/tests/mini-dtls-hello-verify.c
@@ -167,7 +167,7 @@ pid_t child;
static void terminate(void)
{
int status;
-
+ assert(child);
kill(child, SIGTERM);
wait(&status);
exit(1);
diff --git a/tests/mini-dtls-large.c b/tests/mini-dtls-large.c
index 8ae5c6905b..96e2a15b99 100644
--- a/tests/mini-dtls-large.c
+++ b/tests/mini-dtls-large.c
@@ -132,7 +132,7 @@ static void client(int fd)
if (ret < 0) {
fail("recv: %s\n", gnutls_strerror(ret));
- terminate();
+ exit(1);
}
close(fd);
diff --git a/tests/mini-dtls-lowmtu.c b/tests/mini-dtls-lowmtu.c
index a04d6227ef..6f8da5c597 100644
--- a/tests/mini-dtls-lowmtu.c
+++ b/tests/mini-dtls-lowmtu.c
@@ -199,6 +199,7 @@ pid_t child;
static void terminate(void)
{
+ assert(child);
kill(child, SIGTERM);
exit(1);
}
diff --git a/tests/mini-dtls-mtu.c b/tests/mini-dtls-mtu.c
index fa79cd6447..d48c328a07 100644
--- a/tests/mini-dtls-mtu.c
+++ b/tests/mini-dtls-mtu.c
@@ -201,7 +201,7 @@ pid_t child;
static void terminate(void)
{
int status;
-
+ assert(child);
kill(child, SIGTERM);
wait(&status);
exit(1);
diff --git a/tests/mini-dtls-record-asym.c b/tests/mini-dtls-record-asym.c
index 234e51b109..59e7467b13 100644
--- a/tests/mini-dtls-record-asym.c
+++ b/tests/mini-dtls-record-asym.c
@@ -239,7 +239,7 @@ pid_t child;
static void terminate(void)
{
int status;
-
+ assert(child);
kill(child, SIGTERM);
wait(&status);
exit(1);
diff --git a/tests/mini-dtls-record.c b/tests/mini-dtls-record.c
index 4d24f3b33f..bcda720391 100644
--- a/tests/mini-dtls-record.c
+++ b/tests/mini-dtls-record.c
@@ -247,12 +247,12 @@ static void client(int fd)
if (recv_msg_seq[current] == -1) {
fail("received message sequence differs\n");
- terminate();
+ exit(1);
}
if (((uint32_t)recv_msg_seq[current]) != useq) {
fail("received message sequence differs (current: %u, got: %u, expected: %u)\n",
(unsigned)current, (unsigned)useq, (unsigned)recv_msg_seq[current]);
- terminate();
+ exit(1);
}
current++;
@@ -275,7 +275,7 @@ static void client(int fd)
static void terminate(void)
{
int status;
-
+ assert(child);
kill(child, SIGTERM);
wait(&status);
exit(1);
diff --git a/tests/mini-dtls-srtp.c b/tests/mini-dtls-srtp.c
index 78c03b3d1e..1d40d734c1 100644
--- a/tests/mini-dtls-srtp.c
+++ b/tests/mini-dtls-srtp.c
@@ -184,7 +184,7 @@ static void client(int fd, int profile)
static void terminate(void)
{
int status;
-
+ assert(child);
kill(child, SIGTERM);
wait(&status);
exit(1);
diff --git a/tests/mini-dtls0-9.c b/tests/mini-dtls0-9.c
index 496df46aab..1877f7c485 100644
--- a/tests/mini-dtls0-9.c
+++ b/tests/mini-dtls0-9.c
@@ -178,7 +178,7 @@ pid_t child;
static void terminate(void)
{
int status;
-
+ assert(child);
kill(child, SIGTERM);
wait(&status);
exit(1);
diff --git a/tests/mini-key-material.c b/tests/mini-key-material.c
index aa7af6dd02..39493d92f4 100644
--- a/tests/mini-key-material.c
+++ b/tests/mini-key-material.c
@@ -82,8 +82,10 @@ static void terminate(void)
{
int status = 0;
- kill(child, SIGTERM);
- wait(&status);
+ if (child) {
+ kill(child, SIGTERM);
+ wait(&status);
+ }
exit(1);
}
@@ -140,7 +142,7 @@ static void client(int fd)
if (ret < 0) {
fail("client: Handshake failed: %s\n", strerror(ret));
- terminate();
+ exit(1);
} else {
if (debug)
success("client: Handshake was completed\n");
@@ -154,13 +156,13 @@ static void client(int fd)
ret = gnutls_cipher_get(session);
if (ret != GNUTLS_CIPHER_AES_128_CBC) {
fprintf(stderr, "negotiated unexpected cipher: %s\n", gnutls_cipher_get_name(ret));
- terminate();
+ exit(1);
}
ret = gnutls_mac_get(session);
if (ret != GNUTLS_MAC_SHA1) {
fprintf(stderr, "negotiated unexpected mac: %s\n", gnutls_mac_get_name(ret));
- terminate();
+ exit(1);
}
iv_size = 16;
@@ -173,7 +175,7 @@ static void client(int fd)
if (ret < 0) {
fprintf(stderr, "error in %d\n", __LINE__);
gnutls_perror(ret);
- terminate();
+ exit(1);
}
p = key_material;
@@ -182,33 +184,33 @@ static void client(int fd)
if (ret < 0) {
fprintf(stderr, "error in %d\n", __LINE__);
gnutls_perror(ret);
- terminate();
+ exit(1);
}
if (memcmp(wseq_number, "\x00\x00\x00\x00\x00\x00\x00\x01", 8) != 0) {
dump("wseq:", wseq_number, 8);
fprintf(stderr, "error in %d\n", __LINE__);
- terminate();
+ exit(1);
}
ret = gnutls_record_get_state(session, 1, &read_mac_key, &read_iv, &read_cipher_key, rseq_number);
if (ret < 0) {
fprintf(stderr, "error in %d\n", __LINE__);
gnutls_perror(ret);
- terminate();
+ exit(1);
}
if (memcmp(rseq_number, "\x00\x00\x00\x00\x00\x00\x00\x01", 8) != 0) {
dump("rseq:", rseq_number, 8);
fprintf(stderr, "error in %d\n", __LINE__);
- terminate();
+ exit(1);
}
if (hash_size != mac_key.size || memcmp(p, mac_key.data, hash_size) != 0) {
dump("MAC:", mac_key.data, mac_key.size);
dump("Block:", key_material, block_size);
fprintf(stderr, "error in %d\n", __LINE__);
- terminate();
+ exit(1);
}
p+= hash_size;
@@ -216,31 +218,31 @@ static void client(int fd)
dump("MAC:", read_mac_key.data, read_mac_key.size);
dump("Block:", key_material, block_size);
fprintf(stderr, "error in %d\n", __LINE__);
- terminate();
+ exit(1);
}
p+= hash_size;
if (key_size != cipher_key.size || memcmp(p, cipher_key.data, key_size) != 0) {
fprintf(stderr, "error in %d\n", __LINE__);
- terminate();
+ exit(1);
}
p+= key_size;
if (key_size != read_cipher_key.size || memcmp(p, read_cipher_key.data, key_size) != 0) {
fprintf(stderr, "error in %d\n", __LINE__);
- terminate();
+ exit(1);
}
p+= key_size;
if (iv_size != iv.size || memcmp(p, iv.data, iv_size) != 0) {
fprintf(stderr, "error in %d\n", __LINE__);
- terminate();
+ exit(1);
}
p+=iv_size;
if (iv_size != read_iv.size || memcmp(p, read_iv.data, iv_size) != 0) {
fprintf(stderr, "error in %d\n", __LINE__);
- terminate();
+ exit(1);
}
/* check sequence numbers */
@@ -255,26 +257,26 @@ static void client(int fd)
if (ret < 0) {
fprintf(stderr, "error in %d\n", __LINE__);
gnutls_perror(ret);
- terminate();
+ exit(1);
}
if (memcmp(wseq_number, "\x00\x00\x00\x00\x00\x00\x00\x06", 8) != 0) {
dump("wseq:", wseq_number, 8);
fprintf(stderr, "error in %d\n", __LINE__);
- terminate();
+ exit(1);
}
ret = gnutls_record_get_state(session, 1, NULL, NULL, NULL, rseq_number);
if (ret < 0) {
fprintf(stderr, "error in %d\n", __LINE__);
gnutls_perror(ret);
- terminate();
+ exit(1);
}
if (memcmp(rseq_number, "\x00\x00\x00\x00\x00\x00\x00\x01", 8) != 0) {
dump("wseq:", wseq_number, 8);
fprintf(stderr, "error in %d\n", __LINE__);
- terminate();
+ exit(1);
}
gnutls_bye(session, GNUTLS_SHUT_WR);
diff --git a/tests/mini-overhead.c b/tests/mini-overhead.c
index 6cd230d2df..4496491884 100644
--- a/tests/mini-overhead.c
+++ b/tests/mini-overhead.c
@@ -214,6 +214,7 @@ static gnutls_session_t initialize_tls_session(const char *prio)
static void terminate(void)
{
+ assert(child);
kill(child, SIGTERM);
exit(1);
}
diff --git a/tests/mini-record-2.c b/tests/mini-record-2.c
index 578766b208..6a73ad98d8 100644
--- a/tests/mini-record-2.c
+++ b/tests/mini-record-2.c
@@ -182,7 +182,7 @@ static void client(int fd, const char *prio, int ign)
if (ret < 0) {
fail("server (%s): Error sending %d byte packet: %s\n", prio, i, gnutls_strerror(ret));
- terminate();
+ exit(1);
}
}
@@ -248,6 +248,7 @@ pid_t child;
static void terminate(void)
{
+ assert(child);
kill(child, SIGTERM);
exit(1);
}
diff --git a/tests/mini-record-failure.c b/tests/mini-record-failure.c
index da4e31354f..5eb2eff216 100644
--- a/tests/mini-record-failure.c
+++ b/tests/mini-record-failure.c
@@ -158,7 +158,7 @@ static void client(int fd, const char *prio, int ign)
if (ret < 0) {
fail("client[%s]: Error sending packet: %s\n", prio, gnutls_strerror(ret));
- terminate();
+ exit(1);
}
gnutls_bye(session, GNUTLS_SHUT_WR);
@@ -179,6 +179,7 @@ pid_t child;
static void terminate(void)
{
+ assert(child);
kill(child, SIGTERM);
exit(1);
}
diff --git a/tests/mini-record-range.c b/tests/mini-record-range.c
index f0f0b25723..4c4242a6ea 100644
--- a/tests/mini-record-range.c
+++ b/tests/mini-record-range.c
@@ -177,6 +177,7 @@ pid_t child;
static void terminate(void)
{
+ assert(child);
kill(child, SIGTERM);
exit(1);
}
diff --git a/tests/mini-record.c b/tests/mini-record.c
index 8a912a425c..4081cdeb7a 100644
--- a/tests/mini-record.c
+++ b/tests/mini-record.c
@@ -214,6 +214,7 @@ pid_t child;
static void terminate(void)
{
+ assert(child);
kill(child, SIGTERM);
exit(1);
}
diff --git a/tests/mini-server-name.c b/tests/mini-server-name.c
index 4f241c66ff..cc431adc11 100644
--- a/tests/mini-server-name.c
+++ b/tests/mini-server-name.c
@@ -148,6 +148,7 @@ pid_t child;
static void terminate(void)
{
+ assert(child);
kill(child, SIGTERM);
exit(1);
}
diff --git a/tests/mini-termination.c b/tests/mini-termination.c
index f0b232cefa..2bb2d4735e 100644
--- a/tests/mini-termination.c
+++ b/tests/mini-termination.c
@@ -200,6 +200,7 @@ pid_t child;
static void terminate(void)
{
+ assert(child);
kill(child, SIGTERM);
exit(1);
}
diff --git a/tests/mini-tls-nonblock.c b/tests/mini-tls-nonblock.c
index 4a58bcdeec..b2c6578b88 100644
--- a/tests/mini-tls-nonblock.c
+++ b/tests/mini-tls-nonblock.c
@@ -218,6 +218,7 @@ pid_t child;
static void terminate(void)
{
+ assert(child);
kill(child, SIGTERM);
exit(1);
}
diff --git a/tests/prf.c b/tests/prf.c
index aa4f36af6a..02a174d5ac 100644
--- a/tests/prf.c
+++ b/tests/prf.c
@@ -346,8 +346,10 @@ static void terminate(void)
{
int status = 0;
- kill(child, SIGTERM);
- wait(&status);
+ if (child) {
+ kill(child, SIGTERM);
+ wait(&status);
+ }
exit(1);
}
diff --git a/tests/record-pad.c b/tests/record-pad.c
index 1402a9ad93..f625163179 100644
--- a/tests/record-pad.c
+++ b/tests/record-pad.c
@@ -181,6 +181,7 @@ pid_t child;
static void terminate(void)
{
+ assert(child);
kill(child, SIGTERM);
exit(1);
}
diff --git a/tests/record-retvals.c b/tests/record-retvals.c
index 84328b9652..9d3d131e76 100644
--- a/tests/record-retvals.c
+++ b/tests/record-retvals.c
@@ -182,12 +182,12 @@ static void client(int fd, const char *prio, int ign)
if (ret < 0) {
fail("server (%s): Error sending %d byte packet: %s\n", prio, i, gnutls_strerror(ret));
- terminate();
+ exit(1);
}
if (ret > 0 && ret != (int)i) {
fail("server (%s): Error sending %d byte packet: sent: %d\n", prio, i, ret);
- terminate();
+ exit(1);
}
}
@@ -257,6 +257,7 @@ pid_t child;
static void terminate(void)
{
+ assert(child);
kill(child, SIGTERM);
exit(1);
}
diff --git a/tests/recv-data-before-handshake.c b/tests/recv-data-before-handshake.c
index 0aedfca47b..98a5645c8c 100644
--- a/tests/recv-data-before-handshake.c
+++ b/tests/recv-data-before-handshake.c
@@ -186,6 +186,7 @@ pid_t child;
static void terminate(void)
{
+ assert(child);
kill(child, SIGTERM);
exit(1);
}
diff --git a/tests/send-data-before-handshake.c b/tests/send-data-before-handshake.c
index 53c60aadf5..b2ab6aa966 100644
--- a/tests/send-data-before-handshake.c
+++ b/tests/send-data-before-handshake.c
@@ -50,8 +50,6 @@ int main()
#include "cert-common.h"
#include "utils.h"
-static void terminate(void);
-
/* This program tests that a client cannot send any unencrypted data
* during the handshake process. That is to ensure we protect buggy clients
* from transmitting sensitive data over the wire.
@@ -135,7 +133,7 @@ static void client(int fd, const char *prio)
if (ret < 0) {
fail("client: Handshake failed: %s\n", gnutls_strerror(ret));
- terminate();
+ exit(1);
} else {
if (debug)
success("client: Handshake was completed\n");
@@ -160,7 +158,7 @@ static void client(int fd, const char *prio)
goto end;
} else if (ret < 0) {
fail("client: Error: %s\n", gnutls_strerror(ret));
- terminate();
+ exit(1);
}
gnutls_bye(session, GNUTLS_SHUT_WR);
@@ -180,12 +178,6 @@ static void client(int fd, const char *prio)
/* These are global */
pid_t child;
-static void terminate(void)
-{
- kill(child, SIGTERM);
- exit(1);
-}
-
static void server(int fd, const char *prio)
{
int ret;
diff --git a/tests/session-tickets-missing.c b/tests/session-tickets-missing.c
index 8b7b9ffda9..aaa1caea13 100644
--- a/tests/session-tickets-missing.c
+++ b/tests/session-tickets-missing.c
@@ -52,8 +52,6 @@ int main()
#include "cert-common.h"
#include "utils.h"
-static void terminate(void);
-
/* This program tests that handshakes do not include a session ticket
* if the flag GNUTLS_NO_TICKETS is specified under TLS 1.2.
*
@@ -139,7 +137,7 @@ static void client(int fd, const char *prio, unsigned int flags)
if (ret < 0) {
fail("client: Handshake failed: %s\n", gnutls_strerror(ret));
- terminate();
+ exit(1);
} else {
if (debug)
success("client: Handshake was completed\n");
@@ -167,12 +165,6 @@ static void client(int fd, const char *prio, unsigned int flags)
/* These are global */
pid_t child;
-static void terminate(void)
-{
- kill(child, SIGTERM);
- exit(1);
-}
-
static void server(int fd, const char *prio, unsigned int flags)
{
int ret;
diff --git a/tests/session-tickets-ok.c b/tests/session-tickets-ok.c
index 56aae5063c..ce06b222e3 100644
--- a/tests/session-tickets-ok.c
+++ b/tests/session-tickets-ok.c
@@ -112,7 +112,7 @@ static void client(int fd, const char *prio)
if (ret < 0) {
fail("client: Handshake failed: %s\n", gnutls_strerror(ret));
- terminate();
+ exit(1);
} else {
if (debug)
success("client: Handshake was completed\n");
@@ -140,6 +140,7 @@ pid_t child;
static void terminate(void)
{
+ assert(child);
kill(child, SIGTERM);
exit(1);
}
diff --git a/tests/srp.c b/tests/srp.c
index 64eb52aaf2..6fb0f02cd6 100644
--- a/tests/srp.c
+++ b/tests/srp.c
@@ -186,7 +186,7 @@ pid_t child;
static void terminate(void)
{
int status;
-
+ assert(child);
kill(child, SIGTERM);
wait(&status);
exit(1);
diff --git a/tests/tls-client-with-seccomp.c b/tests/tls-client-with-seccomp.c
index 53e8e97239..dc78737ef7 100644
--- a/tests/tls-client-with-seccomp.c
+++ b/tests/tls-client-with-seccomp.c
@@ -158,7 +158,7 @@ pid_t child;
static void terminate(void)
{
int status;
-
+ assert(child);
kill(child, SIGTERM);
wait(&status);
exit(1);
diff --git a/tests/tls-etm.c b/tests/tls-etm.c
index 7a5d707698..17da1e2a5b 100644
--- a/tests/tls-etm.c
+++ b/tests/tls-etm.c
@@ -180,6 +180,7 @@ pid_t child;
static void terminate(void)
{
+ assert(child);
kill(child, SIGTERM);
exit(1);
}
diff --git a/tests/tls-with-seccomp.c b/tests/tls-with-seccomp.c
index 9aff7a95a3..21340fd95c 100644
--- a/tests/tls-with-seccomp.c
+++ b/tests/tls-with-seccomp.c
@@ -150,7 +150,7 @@ pid_t child;
static void terminate(void)
{
int status;
-
+ assert(child);
kill(child, SIGTERM);
wait(&status);
exit(1);
diff --git a/tests/tls12-rehandshake-cert-2.c b/tests/tls12-rehandshake-cert-2.c
index c1e3013ff1..3a96f5b73a 100644
--- a/tests/tls12-rehandshake-cert-2.c
+++ b/tests/tls12-rehandshake-cert-2.c
@@ -202,6 +202,7 @@ pid_t child;
static void terminate(void)
{
+ assert(child);
kill(child, SIGTERM);
exit(1);
}
diff --git a/tests/tls12-rehandshake-cert-3.c b/tests/tls12-rehandshake-cert-3.c
index 1d3d61fc9a..4fcbc6c3ae 100644
--- a/tests/tls12-rehandshake-cert-3.c
+++ b/tests/tls12-rehandshake-cert-3.c
@@ -167,6 +167,7 @@ pid_t child;
static void terminate(void)
{
+ assert(child);
kill(child, SIGTERM);
exit(1);
}
diff --git a/tests/tls13/key_limits.c b/tests/tls13/key_limits.c
index d76bcde428..e2e533aebe 100644
--- a/tests/tls13/key_limits.c
+++ b/tests/tls13/key_limits.c
@@ -182,6 +182,7 @@ pid_t child;
static void terminate(void)
{
+ assert(child);
kill(child, SIGTERM);
exit(1);
}
diff --git a/tests/tls13/prf-early.c b/tests/tls13/prf-early.c
index cd4813671c..b97dc2424a 100644
--- a/tests/tls13/prf-early.c
+++ b/tests/tls13/prf-early.c
@@ -286,8 +286,10 @@ static void terminate(void)
{
int status = 0;
- kill(child, SIGTERM);
- wait(&status);
+ if (child) {
+ kill(child, SIGTERM);
+ wait(&status);
+ }
exit(1);
}
diff --git a/tests/tls13/prf.c b/tests/tls13/prf.c
index e03544a042..a83fda5ce6 100644
--- a/tests/tls13/prf.c
+++ b/tests/tls13/prf.c
@@ -257,8 +257,10 @@ static void terminate(void)
{
int status = 0;
- kill(child, SIGTERM);
- wait(&status);
+ if (child) {
+ kill(child, SIGTERM);
+ wait(&status);
+ }
exit(1);
}
diff --git a/tests/tlsext-decoding.c b/tests/tlsext-decoding.c
index b0734b4b11..2794d2c5e3 100644
--- a/tests/tlsext-decoding.c
+++ b/tests/tlsext-decoding.c
@@ -174,7 +174,7 @@ pid_t child;
static void terminate(void)
{
int status;
-
+ assert(child);
kill(child, SIGTERM);
wait(&status);
exit(1);