summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaiki Ueno <dueno@redhat.com>2018-01-03 14:10:22 +0100
committerNikos Mavrogiannopoulos <nmav@redhat.com>2018-02-19 15:29:37 +0100
commit64cd4f8081f05f7a7e14bb14545ab91e6d555a2e (patch)
treefb22c81c1257d8c6e617d97892fdbcc3bd2e9edb
parent306a56ce15fc3017654a803ceae38432de96d616 (diff)
downloadgnutls-64cd4f8081f05f7a7e14bb14545ab91e6d555a2e.tar.gz
tests: re-enable mini-record-range test
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>
-rw-r--r--tests/mini-record-range.c61
1 files changed, 13 insertions, 48 deletions
diff --git a/tests/mini-record-range.c b/tests/mini-record-range.c
index 638e0b722b..e46ad841e7 100644
--- a/tests/mini-record-range.c
+++ b/tests/mini-record-range.c
@@ -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)
{