[tor-bugs] #15760 [Tor]: tortls.c fails to compile with OpenSSL 1.1.0-dev

Tor Bug Tracker & Wiki blackhole at torproject.org
Tue May 19 20:21:07 UTC 2015


#15760: tortls.c fails to compile with OpenSSL 1.1.0-dev
------------------------+------------------------------
     Reporter:  yancm   |      Owner:
         Type:  defect  |     Status:  needs_review
     Priority:  normal  |  Milestone:  Tor: unspecified
    Component:  Tor     |    Version:  Tor: 0.2.7
   Resolution:          |   Keywords:  openssl, tor-tls
Actual Points:          |  Parent ID:  #9476
       Points:          |
------------------------+------------------------------
Changes (by nickm):

 * status:  new => needs_review


Old description:

> On NetBSD 6.1_Stable/i386 trying to compile
> Tor v0.2.7.0-alpha-dev (git-06939551f4c081c4)
> with
> Libevent 2.1.5-beta, Zlib 1.2.3
> AND
> OpenSSL 1.1.0-dev
>
> Since I was already compiling a development version of tor, thought I
> would compile against a dev version of openssl...
>
> I used autogen and configure thusly:
> ./autogen.sh --with-libevent-dir=/usr/local --enable-static-openssl=1
> --with-openssl-dir=/usr/local/ssl
> ./configure --with-libevent-dir=/usr/local --enable-static-openssl=1
> --with-openssl-dir=/usr/local/ssl
>
> The build started ok for the first 30-40 files then I received:
>   CC       src/common/tortls.o
> src/common/tortls.c: In function 'tor_tls_context_new':
> src/common/tortls.c:1375:18: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:1376:16: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c: In function 'find_cipher_by_id':
> src/common/tortls.c:1529:13: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:1535:10: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:1537:7: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:1541:13: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:1541:30: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:1547:22: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:1548:12: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:1549:18: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c: In function 'tor_tls_classify_client_ciphers':
> src/common/tortls.c:1626:27: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c: In function 'tor_tls_client_is_using_v2_ciphers':
> src/common/tortls.c:1676:54: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c: In function 'tor_tls_server_info_callback':
> src/common/tortls.c:1695:11: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:1696:11: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c: In function 'rectify_client_ciphers':
> src/common/tortls.c:1826:7: error: invalid application of 'sizeof' to
> incomplete type 'SSL_CIPHER'
> src/common/tortls.c:1828:7: error: invalid use of undefined type 'struct
> ssl_cipher_st'
> src/common/tortls.c:1828:28: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:1831:7: error: invalid use of undefined type 'struct
> ssl_cipher_st'
> src/common/tortls.c:1831:28: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:1832:7: error: invalid use of undefined type 'struct
> ssl_cipher_st'
> src/common/tortls.c:1832:28: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:1841:7: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:1841:7: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:1854:29: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:1857:9: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:1857:9: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:1862:25: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:1864:9: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:1868:7: error: invalid use of undefined type 'struct
> ssl_cipher_st'
> src/common/tortls.c:1868:47: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:1872:9: error: invalid use of undefined type 'struct
> ssl_cipher_st'
> src/common/tortls.c:1872:9: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:1873:1: error: invalid use of undefined type 'struct
> ssl_cipher_st'
> src/common/tortls.c:1873:9: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c: In function 'tor_tls_new':
> src/common/tortls.c:1939:40: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c: In function 'tor_tls_unblock_renegotiation':
> src/common/tortls.c:2033:13: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c: In function 'tor_tls_block_renegotiation':
> src/common/tortls.c:2048:11: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c: In function
> 'tor_tls_assert_renegotiation_unblocked':
> src/common/tortls.c:2056:5: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c: In function 'tor_tls_handshake':
> src/common/tortls.c:2193:22: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:2203:27: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c: In function 'tor_tls_finish_handshake':
> src/common/tortls.c:2239:13: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c: In function 'tor_tls_get_tlssecrets':
> src/common/tortls.c:2842:3: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:2843:3: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:2848:3: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:2848:3: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:2849:3: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:2849:3: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:2853:37: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:2854:30: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c: In function 'tor_tls_get_buffer_sizes':
> src/common/tortls.c:2870:15: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:2871:30: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:2874:15: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:2875:30: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:2878:25: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c:2879:25: error: dereferencing pointer to incomplete
> type
> src/common/tortls.c: In function 'tor_tls_client_is_using_v2_ciphers':
> src/common/tortls.c:1677:1: warning: control reaches end of non-void
> function
> src/common/tortls.c: In function 'find_cipher_by_id':
> src/common/tortls.c:1557:1: warning: control reaches end of non-void
> function
> *** Error code 1
>
> Stop.
> make: stopped in /usr/local/src/tor
> *** Error code 1
>
> Fixable? Unsupported?
>
> thanks,
> gene

New description:

 On NetBSD 6.1_Stable/i386 trying to compile15760
 Tor v0.2.7.0-alpha-dev (git-06939551f4c081c4)
 with
 Libevent 2.1.5-beta, Zlib 1.2.3
 AND
 OpenSSL 1.1.0-dev

 Since I was already compiling a development version of tor, thought I
 would compile against a dev version of openssl...

 I used autogen and configure thusly:
 ./autogen.sh --with-libevent-dir=/usr/local --enable-static-openssl=1
 --with-openssl-dir=/usr/local/ssl
 ./configure --with-libevent-dir=/usr/local --enable-static-openssl=1
 --with-openssl-dir=/usr/local/ssl

 The build started ok for the first 30-40 files then I received:
   CC       src/common/tortls.o
 src/common/tortls.c: In function 'tor_tls_context_new':
 src/common/tortls.c:1375:18: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:1376:16: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c: In function 'find_cipher_by_id':
 src/common/tortls.c:1529:13: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:1535:10: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:1537:7: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:1541:13: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:1541:30: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:1547:22: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:1548:12: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:1549:18: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c: In function 'tor_tls_classify_client_ciphers':
 src/common/tortls.c:1626:27: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c: In function 'tor_tls_client_is_using_v2_ciphers':
 src/common/tortls.c:1676:54: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c: In function 'tor_tls_server_info_callback':
 src/common/tortls.c:1695:11: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:1696:11: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c: In function 'rectify_client_ciphers':
 src/common/tortls.c:1826:7: error: invalid application of 'sizeof' to
 incomplete type 'SSL_CIPHER'
 src/common/tortls.c:1828:7: error: invalid use of undefined type 'struct
 ssl_cipher_st'
 src/common/tortls.c:1828:28: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:1831:7: error: invalid use of undefined type 'struct
 ssl_cipher_st'
 src/common/tortls.c:1831:28: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:1832:7: error: invalid use of undefined type 'struct
 ssl_cipher_st'
 src/common/tortls.c:1832:28: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:1841:7: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:1841:7: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:1854:29: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:1857:9: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:1857:9: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:1862:25: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:1864:9: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:1868:7: error: invalid use of undefined type 'struct
 ssl_cipher_st'
 src/common/tortls.c:1868:47: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:1872:9: error: invalid use of undefined type 'struct
 ssl_cipher_st'
 src/common/tortls.c:1872:9: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:1873:1: error: invalid use of undefined type 'struct
 ssl_cipher_st'
 src/common/tortls.c:1873:9: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c: In function 'tor_tls_new':
 src/common/tortls.c:1939:40: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c: In function 'tor_tls_unblock_renegotiation':
 src/common/tortls.c:2033:13: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c: In function 'tor_tls_block_renegotiation':
 src/common/tortls.c:2048:11: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c: In function 'tor_tls_assert_renegotiation_unblocked':
 src/common/tortls.c:2056:5: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c: In function 'tor_tls_handshake':
 src/common/tortls.c:2193:22: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:2203:27: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c: In function 'tor_tls_finish_handshake':
 src/common/tortls.c:2239:13: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c: In function 'tor_tls_get_tlssecrets':
 src/common/tortls.c:2842:3: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:2843:3: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:2848:3: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:2848:3: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:2849:3: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:2849:3: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:2853:37: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:2854:30: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c: In function 'tor_tls_get_buffer_sizes':
 src/common/tortls.c:2870:15: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:2871:30: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:2874:15: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:2875:30: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:2878:25: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c:2879:25: error: dereferencing pointer to incomplete
 type
 src/common/tortls.c: In function 'tor_tls_client_is_using_v2_ciphers':
 src/common/tortls.c:1677:1: warning: control reaches end of non-void
 function
 src/common/tortls.c: In function 'find_cipher_by_id':
 src/common/tortls.c:1557:1: warning: control reaches end of non-void
 function
 *** Error code 1

 Stop.
 make: stopped in /usr/local/src/tor
 *** Error code 1

 Fixable? Unsupported?

 thanks,
 gene

--

Comment:

 The patch series mentioned above isn't complete, but I believe that
 merging it is better than not.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/15760#comment:13>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list