]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
tests: re-enable mini-record-range test
authorDaiki Ueno <dueno@redhat.com>
Wed, 3 Jan 2018 13:10:22 +0000 (14:10 +0100)
committerNikos Mavrogiannopoulos <nmav@redhat.com>
Mon, 19 Feb 2018 14:29:37 +0000 (15:29 +0100)
This test was previously disabled as part of NEW_PADDING extension
removal (commit 7df219f0).  Even though the extension is not usable,
gnutls_record_send_range() should work with the standard TLS block
cipher padding.

Signed-off-by: Daiki Ueno <dueno@redhat.com>
tests/mini-record-range.c

index 638e0b722bdfffa13a2f4e268ceb09c4283080ba..e46ad841e760b71950d1d7517f1041264dc05e42 100644 (file)
@@ -27,7 +27,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 
-#if 1
+#if defined(_WIN32)
 
 int main(void)
 {
@@ -47,12 +47,14 @@ int main(void)
 #include <gnutls/dtls.h>
 #include <signal.h>
 
+#include "cert-common.h"
 #include "utils.h"
 
 #define MAX_BUF 1024
 #define HIGH(x) (3*x)
 static void terminate(void);
 static int to_send;
+static size_t total;
 
 /* This program tests the robustness of record range sending.
  */
@@ -67,47 +69,6 @@ static void client_log_func(int level, const char *str)
        fprintf(stderr, "client|<%d>| %s", level, str);
 }
 
-static unsigned char server_cert_pem[] =
-    "-----BEGIN CERTIFICATE-----\n"
-    "MIICVjCCAcGgAwIBAgIERiYdMTALBgkqhkiG9w0BAQUwGTEXMBUGA1UEAxMOR251\n"
-    "VExTIHRlc3QgQ0EwHhcNMDcwNDE4MTMyOTIxWhcNMDgwNDE3MTMyOTIxWjA3MRsw\n"
-    "GQYDVQQKExJHbnVUTFMgdGVzdCBzZXJ2ZXIxGDAWBgNVBAMTD3Rlc3QuZ251dGxz\n"
-    "Lm9yZzCBnDALBgkqhkiG9w0BAQEDgYwAMIGIAoGA17pcr6MM8C6pJ1aqU46o63+B\n"
-    "dUxrmL5K6rce+EvDasTaDQC46kwTHzYWk95y78akXrJutsoKiFV1kJbtple8DDt2\n"
-    "DZcevensf9Op7PuFZKBroEjOd35znDET/z3IrqVgbtm2jFqab7a+n2q9p/CgMyf1\n"
-    "tx2S5Zacc1LWn9bIjrECAwEAAaOBkzCBkDAMBgNVHRMBAf8EAjAAMBoGA1UdEQQT\n"
-    "MBGCD3Rlc3QuZ251dGxzLm9yZzATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8B\n"
-    "Af8EBQMDB6AAMB0GA1UdDgQWBBTrx0Vu5fglyoyNgw106YbU3VW0dTAfBgNVHSME\n"
-    "GDAWgBTpPBz7rZJu5gakViyi4cBTJ8jylTALBgkqhkiG9w0BAQUDgYEAaFEPTt+7\n"
-    "bzvBuOf7+QmeQcn29kT6Bsyh1RHJXf8KTk5QRfwp6ogbp94JQWcNQ/S7YDFHglD1\n"
-    "AwUNBRXwd3riUsMnsxgeSDxYBfJYbDLeohNBsqaPDJb7XailWbMQKfAbFQ8cnOxg\n"
-    "rOKLUQRWJ0K3HyXRMhbqjdLIaQiCvQLuizo=\n" "-----END CERTIFICATE-----\n";
-
-const gnutls_datum_t server_cert = { server_cert_pem,
-       sizeof(server_cert_pem)
-};
-
-static unsigned char server_key_pem[] =
-    "-----BEGIN RSA PRIVATE KEY-----\n"
-    "MIICXAIBAAKBgQDXulyvowzwLqknVqpTjqjrf4F1TGuYvkrqtx74S8NqxNoNALjq\n"
-    "TBMfNhaT3nLvxqResm62ygqIVXWQlu2mV7wMO3YNlx696ex/06ns+4VkoGugSM53\n"
-    "fnOcMRP/PciupWBu2baMWppvtr6far2n8KAzJ/W3HZLllpxzUtaf1siOsQIDAQAB\n"
-    "AoGAYAFyKkAYC/PYF8e7+X+tsVCHXppp8AoP8TEZuUqOZz/AArVlle/ROrypg5kl\n"
-    "8YunrvUdzH9R/KZ7saNZlAPLjZyFG9beL/am6Ai7q7Ma5HMqjGU8kTEGwD7K+lbG\n"
-    "iomokKMOl+kkbY/2sI5Czmbm+/PqLXOjtVc5RAsdbgvtmvkCQQDdV5QuU8jap8Hs\n"
-    "Eodv/tLJ2z4+SKCV2k/7FXSKWe0vlrq0cl2qZfoTUYRnKRBcWxc9o92DxK44wgPi\n"
-    "oMQS+O7fAkEA+YG+K9e60sj1K4NYbMPAbYILbZxORDecvP8lcphvwkOVUqbmxOGh\n"
-    "XRmTZUuhBrJhJKKf6u7gf3KWlPl6ShKEbwJASC118cF6nurTjuLf7YKARDjNTEws\n"
-    "qZEeQbdWYINAmCMj0RH2P0mvybrsXSOD5UoDAyO7aWuqkHGcCLv6FGG+qwJAOVqq\n"
-    "tXdUucl6GjOKKw5geIvRRrQMhb/m5scb+5iw8A4LEEHPgGiBaF5NtJZLALgWfo5n\n"
-    "hmC8+G8F0F78znQtPwJBANexu+Tg5KfOnzSILJMo3oXiXhf5PqXIDmbN0BKyCKAQ\n"
-    "LfkcEcUbVfmDaHpvzwY9VEaoMOKVLitETXdNSxVpvWM=\n"
-    "-----END RSA PRIVATE KEY-----\n";
-
-const gnutls_datum_t server_key = { server_key_pem,
-       sizeof(server_key_pem)
-};
-
 
 /* A very basic TLS client, with anonymous authentication.
  */
@@ -119,11 +80,8 @@ push(gnutls_transport_ptr_t tr, const void *data, size_t len)
 {
        int fd = (long int) tr;
 
-       if (to_send >= 0 && len < HIGH(MAX_BUF)) {
-               fail("Sent data (%u) are lower than expected (%u)\n",
-                    (unsigned) len, (unsigned) HIGH(MAX_BUF));
-               terminate();
-       }
+       if (to_send >= 0)
+               total += len;
        return send(fd, data, len, 0);
 }
 
@@ -294,6 +252,7 @@ static void server(int fd, const char *prio)
        }
 
        do {
+               total = 0;
                do {
                        ret =
                            gnutls_record_send_range(session, buffer,
@@ -307,6 +266,12 @@ static void server(int fd, const char *prio)
                             gnutls_strerror(ret));
                        terminate();
                }
+               if (total < HIGH(MAX_BUF)) {
+                       fail("Sent data (%u) are lower than expected (%u)\n",
+                            (unsigned) total, (unsigned) HIGH(MAX_BUF));
+                       terminate();
+               }
+
                to_send++;
        }
        while (to_send < 4);
@@ -358,7 +323,7 @@ static void start(const char *prio)
        }
 }
 
-#define AES_CBC "NORMAL:+ANON-ECDH:+CURVE-ALL"
+#define AES_CBC "NONE:+VERS-TLS1.2:+AES-128-CBC:+MAC-ALL:+SIGN-ALL:+ANON-ECDH:+CURVE-ALL"
 
 static void ch_handler(int sig)
 {