diff options
| author | jsing <> | 2016-12-04 14:33:04 +0000 |
|---|---|---|
| committer | jsing <> | 2016-12-04 14:33:04 +0000 |
| commit | 86cc696af289e97b488987ddb9c9567f6e32a32c (patch) | |
| tree | 336f72caab80d59741cf1ff46bf1ad6a8d6cd35e /src | |
| parent | 782e6af2c8cf001e1a3eef1d0acb0d16317e4464 (diff) | |
| download | openbsd-86cc696af289e97b488987ddb9c9567f6e32a32c.tar.gz openbsd-86cc696af289e97b488987ddb9c9567f6e32a32c.tar.bz2 openbsd-86cc696af289e97b488987ddb9c9567f6e32a32c.zip | |
Update regress test to handle change to ssl_cipher_list_to_bytes().
Diffstat (limited to 'src')
| -rw-r--r-- | src/regress/lib/libssl/unit/cipher_list.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/src/regress/lib/libssl/unit/cipher_list.c b/src/regress/lib/libssl/unit/cipher_list.c index 43161069eb..a9ae637d05 100644 --- a/src/regress/lib/libssl/unit/cipher_list.c +++ b/src/regress/lib/libssl/unit/cipher_list.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: cipher_list.c,v 1.3 2015/07/01 07:21:10 bcook Exp $ */ | 1 | /* $OpenBSD: cipher_list.c,v 1.4 2016/12/04 14:33:04 jsing Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2015 Doug Hogan <doug@openbsd.org> | 3 | * Copyright (c) 2015 Doug Hogan <doug@openbsd.org> |
| 4 | * Copyright (c) 2015 Joel Sing <jsing@openbsd.org> | 4 | * Copyright (c) 2015 Joel Sing <jsing@openbsd.org> |
| @@ -64,7 +64,7 @@ static uint16_t cipher_values[] = { | |||
| 64 | extern STACK_OF(SSL_CIPHER) *ssl_bytes_to_cipher_list(SSL *s, | 64 | extern STACK_OF(SSL_CIPHER) *ssl_bytes_to_cipher_list(SSL *s, |
| 65 | const unsigned char *p, int num); | 65 | const unsigned char *p, int num); |
| 66 | extern int ssl_cipher_list_to_bytes(SSL *s, STACK_OF(SSL_CIPHER) *sk, | 66 | extern int ssl_cipher_list_to_bytes(SSL *s, STACK_OF(SSL_CIPHER) *sk, |
| 67 | unsigned char *p); | 67 | unsigned char *p, size_t len, size_t *outlen); |
| 68 | 68 | ||
| 69 | static int | 69 | static int |
| 70 | ssl_bytes_to_list_alloc(SSL *s, STACK_OF(SSL_CIPHER) **ciphers) | 70 | ssl_bytes_to_list_alloc(SSL *s, STACK_OF(SSL_CIPHER) **ciphers) |
| @@ -91,8 +91,7 @@ static int | |||
| 91 | ssl_list_to_bytes_scsv(SSL *s, STACK_OF(SSL_CIPHER) **ciphers) | 91 | ssl_list_to_bytes_scsv(SSL *s, STACK_OF(SSL_CIPHER) **ciphers) |
| 92 | { | 92 | { |
| 93 | unsigned char *buf = NULL; | 93 | unsigned char *buf = NULL; |
| 94 | size_t buflen; | 94 | size_t buflen, outlen; |
| 95 | int len; | ||
| 96 | int ret = 0; | 95 | int ret = 0; |
| 97 | 96 | ||
| 98 | /* Space for cipher bytes, plus reneg SCSV and two spare bytes. */ | 97 | /* Space for cipher bytes, plus reneg SCSV and two spare bytes. */ |
| @@ -100,8 +99,9 @@ ssl_list_to_bytes_scsv(SSL *s, STACK_OF(SSL_CIPHER) **ciphers) | |||
| 100 | buflen = sizeof(cipher_bytes) + 2 + 2; | 99 | buflen = sizeof(cipher_bytes) + 2 + 2; |
| 101 | CHECK((buf = calloc(1, buflen)) != NULL); | 100 | CHECK((buf = calloc(1, buflen)) != NULL); |
| 102 | 101 | ||
| 103 | len = ssl_cipher_list_to_bytes(s, *ciphers, buf); | 102 | CHECK(ssl_cipher_list_to_bytes(s, *ciphers, buf, buflen, &outlen)); |
| 104 | CHECK_GOTO(len > 0 && (size_t)len == buflen - 2); | 103 | |
| 104 | CHECK_GOTO(outlen > 0 && outlen == buflen - 2); | ||
| 105 | CHECK_GOTO(memcmp(buf, cipher_bytes, sizeof(cipher_bytes)) == 0); | 105 | CHECK_GOTO(memcmp(buf, cipher_bytes, sizeof(cipher_bytes)) == 0); |
| 106 | CHECK_GOTO(buf[buflen - 4] == 0x00 && buf[buflen - 3] == 0xff); | 106 | CHECK_GOTO(buf[buflen - 4] == 0x00 && buf[buflen - 3] == 0xff); |
| 107 | CHECK_GOTO(buf[buflen - 2] == 0x00 && buf[buflen - 1] == 0x00); | 107 | CHECK_GOTO(buf[buflen - 2] == 0x00 && buf[buflen - 1] == 0x00); |
| @@ -117,8 +117,7 @@ static int | |||
| 117 | ssl_list_to_bytes_no_scsv(SSL *s, STACK_OF(SSL_CIPHER) **ciphers) | 117 | ssl_list_to_bytes_no_scsv(SSL *s, STACK_OF(SSL_CIPHER) **ciphers) |
| 118 | { | 118 | { |
| 119 | unsigned char *buf = NULL; | 119 | unsigned char *buf = NULL; |
| 120 | size_t buflen; | 120 | size_t buflen, outlen; |
| 121 | int len; | ||
| 122 | int ret = 0; | 121 | int ret = 0; |
| 123 | 122 | ||
| 124 | /* Space for cipher bytes and two spare bytes */ | 123 | /* Space for cipher bytes and two spare bytes */ |
| @@ -131,8 +130,9 @@ ssl_list_to_bytes_no_scsv(SSL *s, STACK_OF(SSL_CIPHER) **ciphers) | |||
| 131 | /* Set renegotiate so it doesn't add SCSV */ | 130 | /* Set renegotiate so it doesn't add SCSV */ |
| 132 | s->renegotiate = 1; | 131 | s->renegotiate = 1; |
| 133 | 132 | ||
| 134 | len = ssl_cipher_list_to_bytes(s, *ciphers, buf); | 133 | CHECK(ssl_cipher_list_to_bytes(s, *ciphers, buf, buflen, &outlen)); |
| 135 | CHECK_GOTO(len > 0 && (size_t)len == buflen - 2); | 134 | |
| 135 | CHECK_GOTO(outlen > 0 && outlen == buflen - 2); | ||
| 136 | CHECK_GOTO(memcmp(buf, cipher_bytes, sizeof(cipher_bytes)) == 0); | 136 | CHECK_GOTO(memcmp(buf, cipher_bytes, sizeof(cipher_bytes)) == 0); |
| 137 | CHECK_GOTO(buf[buflen - 2] == 0xfe && buf[buflen - 1] == 0xab); | 137 | CHECK_GOTO(buf[buflen - 2] == 0xfe && buf[buflen - 1] == 0xab); |
| 138 | 138 | ||
| @@ -203,5 +203,6 @@ err: | |||
| 203 | 203 | ||
| 204 | if (!rv) | 204 | if (!rv) |
| 205 | printf("PASS %s\n", __FILE__); | 205 | printf("PASS %s\n", __FILE__); |
| 206 | |||
| 206 | return rv; | 207 | return rv; |
| 207 | } | 208 | } |
