From 3294292b667ffa9ad55c7bd2e59943bd6eca4a4d Mon Sep 17 00:00:00 2001 From: Maxim Dounin Date: Thu, 15 Dec 2016 19:00:23 +0300 Subject: [PATCH] SSL: backed out changeset e7cb5deb951d, reimplemented properly. Changeset e7cb5deb951d breaks build on CentOS 5 with "dereferencing type-punned pointer will break strict-aliasing rules" warning. It is backed out. Instead, to keep builds with BoringSSL happy, type of the "value" variable changed to "char *", and an explicit cast added before calling ngx_parse_http_time(). --- src/event/ngx_event_openssl.c | 6 +++--- src/event/ngx_event_openssl_stapling.c | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/event/ngx_event_openssl.c b/src/event/ngx_event_openssl.c index 39f7cae89..c98e3c2b0 100644 --- a/src/event/ngx_event_openssl.c +++ b/src/event/ngx_event_openssl.c @@ -4049,7 +4049,7 @@ ngx_ssl_parse_time( ASN1_TIME *asn1time) { BIO *bio; - u_char *value; + char *value; size_t len; time_t time; @@ -4069,9 +4069,9 @@ ngx_ssl_parse_time( BIO_write(bio, "Tue ", sizeof("Tue ") - 1); ASN1_TIME_print(bio, asn1time); - len = BIO_get_mem_data(bio, (char **) &value); + len = BIO_get_mem_data(bio, &value); - time = ngx_parse_http_time(value, len); + time = ngx_parse_http_time((u_char *) value, len); BIO_free(bio); diff --git a/src/event/ngx_event_openssl_stapling.c b/src/event/ngx_event_openssl_stapling.c index 5e1eb502d..d332c112e 100644 --- a/src/event/ngx_event_openssl_stapling.c +++ b/src/event/ngx_event_openssl_stapling.c @@ -773,7 +773,7 @@ static time_t ngx_ssl_stapling_time(ASN1_GENERALIZEDTIME *asn1time) { BIO *bio; - u_char *value; + char *value; size_t len; time_t time; @@ -793,9 +793,9 @@ ngx_ssl_stapling_time(ASN1_GENERALIZEDTIME *asn1time) BIO_write(bio, "Tue ", sizeof("Tue ") - 1); ASN1_GENERALIZEDTIME_print(bio, asn1time); - len = BIO_get_mem_data(bio, (char **) &value); + len = BIO_get_mem_data(bio, &value); - time = ngx_parse_http_time(value, len); + time = ngx_parse_http_time((u_char *) value, len); BIO_free(bio);