From 64cd4f8081f05f7a7e14bb14545ab91e6d555a2e Mon Sep 17 00:00:00 2001 From: Daiki Ueno Date: Wed, 3 Jan 2018 14:10:22 +0100 Subject: 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 --- tests/mini-record-range.c | 61 ++++++++++------------------------------------- 1 file 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 #include -#if 1 +#if defined(_WIN32) int main(void) { @@ -47,12 +47,14 @@ int main(void) #include #include +#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) { -- cgit v1.2.1