"Dereferencing Pointer To Incomplete Type" on ARM
Maxim Dounin
mdounin at mdounin.ru
Mon Aug 24 16:24:06 UTC 2015
Hello!
On Wed, Aug 19, 2015 at 09:15:07AM -0400, vindicator wrote:
> I swear I had built the hg default version on my AMD64 just fine, but now
> I'm doing it on my ARM device running Ubuntu 15.04 with kernel 4.2.
> I used the default system openssl, but also tried with the master git
> version all with the same result.
>
> Attempts with:
> 1) ./auto/configure --with-http_ssl_module --with-ipv6
> 2) ./auto/configure --with-http_ssl_module --with-ipv6 --with-cc-opt="-I
> /usr/local/ssl/include -I /usr/local/include" --with-ld-opt="-L
> /usr/local/ssl/lib -L /usr/local/lib"
> 3) ./auto/configure --with-ipv6 --with-http_ssl_module
> --with-openssl=/src/openssl/
> and of course "make".
> *****
> src/event/ngx_event_openssl.c: In function ‘ngx_ssl_handshake’:
> src/event/ngx_event_openssl.c:1164:31: error: dereferencing pointer to
> incomplete type
> if (c->ssl->connection->s3) {
> ^
> src/event/ngx_event_openssl.c:1165:31: error: dereferencing pointer to
> incomplete type
> c->ssl->connection->s3->flags |=
> SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS;
> ^
> *****
>
> "./auto/configure --with-ipv6" built with no problems.
Looks like you have OPENSSL_NO_SSL_INTERN defined by default in your system.
Try this patch:
--- a/src/event/ngx_event_openssl.c
+++ b/src/event/ngx_event_openssl.c
@@ -1159,6 +1159,7 @@ ngx_ssl_handshake(ngx_connection_t *c)
c->send_chain = ngx_ssl_send_chain;
#ifdef SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS
+#ifndef OPENSSL_NO_SSL_INTERN
/* initial handshake done, disable renegotiation (CVE-2009-3555) */
if (c->ssl->connection->s3) {
@@ -1166,6 +1167,7 @@ ngx_ssl_handshake(ngx_connection_t *c)
}
#endif
+#endif
return NGX_OK;
}
--
Maxim Dounin
http://nginx.org/
More information about the nginx
mailing list