]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
tests: don't kill whole pgroups
authorAlexander Sosedkin <asosedkin@redhat.com>
Fri, 27 Aug 2021 15:02:51 +0000 (17:02 +0200)
committerAlexander Sosedkin <asosedkin@redhat.com>
Fri, 27 Aug 2021 15:12:53 +0000 (17:12 +0200)
`terminate()` executed from the child process results in a `kill(0, SIGTERM)`,
bringing the whole pgroup down. `exit(1)` should be called instead.

Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
16 files changed:
tests/alerts.c
tests/dtls-rehandshake-anon.c
tests/dtls-rehandshake-cert-2.c
tests/dtls-rehandshake-cert.c
tests/key-material-dtls.c
tests/key-material-set-dtls.c
tests/mini-dtls-heartbeat.c
tests/mini-dtls-large.c
tests/mini-dtls-record.c
tests/mini-key-material.c
tests/mini-record-2.c
tests/mini-record-failure.c
tests/record-retvals.c
tests/send-data-before-handshake.c
tests/session-tickets-missing.c
tests/session-tickets-ok.c

index 7e9b20667cbe18e3b29541aa39378ee3b3998267..4768f639b9fd98acb7492a8a8d293b067a197b3b 100644 (file)
@@ -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);
index e102a54b3ea7282a44b4b0c6dc144979c13a058b..12f432387a8048675dc207f788252a6f1489441c 100644 (file)
@@ -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 {
index e16372b5ef8c8ccb503bdb30066b43a28bde9119..2400ab85eeb8d94ad7e84c503e447daf63274d50 100644 (file)
@@ -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 {
index 0591c771eb88cfaad0363cd8190f635316314866..a9535a3ab65842da6303a00c5db80bac0c55fadb 100644 (file)
@@ -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 {
index 195afd0795371604f290073ed2e2f31674fe049f..32a37c1b0a13881466000a981f68793ae4133647 100644 (file)
@@ -141,7 +141,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 +155,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 +174,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 +183,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 +217,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 +246,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 +260,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);
 
index 4a569162bb0d8da95ce0a3b80f34ad0662be1dd9..bd119cd1ef9f51cadefbac722cfc689271d92d8d 100644 (file)
@@ -127,7 +127,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 +141,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 +155,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 +187,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);
index cb575f9b2cf51221c0e45a47e5488669524f2f41..c96ee626197cf5fd48fd84d36815757ff0e3350f 100644 (file)
@@ -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);
                }
        }
 
index 8ae5c6905b6a3aca716dfa3d669f6963c4e828b8..96e2a15b99a0892d54d23378af05bd2d9955baef 100644 (file)
@@ -132,7 +132,7 @@ static void client(int fd)
 
        if (ret < 0) {
                fail("recv: %s\n", gnutls_strerror(ret));
-               terminate();
+               exit(1);
        }
 
        close(fd);
index 4d24f3b33f53a492e0037e4dd6dd282414628700..451ccbfdb8c83c997e69d46cbe50ca02f577732d 100644 (file)
@@ -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++;
index aa7af6dd02c31d331f1ba1c17ffff36646999d3c..15f74c424776cb47d505d1ae19ba2df0d2e70937 100644 (file)
@@ -140,7 +140,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 +154,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 +173,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 +182,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 +216,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 +255,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);
 
index 578766b2082a09f80bb2252da762c142be47e145..c5436cf9845923d881cde780a46b5141d2811c83 100644 (file)
@@ -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);
                }
        }
 
index da4e31354f209ab158da0693af5bbc2032d648c3..a778f36c535b057009446f3809ddfa84cb7f8f9a 100644 (file)
@@ -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);
index 84328b96522b76f744acc2063776817154fe5ea1..73f038c0c9557e3995b55bb46b67fe323e0fbdb9 100644 (file)
@@ -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);
                }
        }
 
index 53c60aadf5e47ef29460d8d303f367f83098ac86..d1e6f5b015ca7f1c1f907594d507c01d3b94ac28 100644 (file)
@@ -135,7 +135,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 +160,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);
index 8b7b9ffda91af6c58868bc9aad10cdd0b514c729..8f5f1269779d2b3634287c347e24dee5086312c2 100644 (file)
@@ -139,7 +139,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");
index 56aae5063c5620f45d27dc1ae495dae42c3484f8..d3c9a0851600c84e674994970ee8414e358f8ee3 100644 (file)
@@ -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");