Up until now i've relied on updating Tor using yum update but the version
on the repos is currently 0.2.9.10 . Arm reports this as unrecommended, so
compiling from source looks to be the only option.
I pulled down 0.3.0.10, untarred and ran ./configure && make
I get these errors--
----------------------------
In file included from src/common/tortls.c:52:0:
src/common/tortls.h:140:15: error: conflicting types for
SSL_SESSION_get_master_key
STATIC size_t SSL_SESSION_get_master_key(SSL_SESSION *s, uint8_t *out,
^
In file included from src/common/tortls.c:40:0:
/usr/local/include/openssl/ssl.h:1725:15: note: previous declaration of
SSL_SESSION_get_master_key was here
__owur size_t SSL_SESSION_get_master_key(const SSL_SESSION *ssl,
^
src/common/tortls.c: In function find_cipher_by_id:
src/common/tortls.c:1331:21: warning: unused variable c [-Wunused-variable]
const SSL_CIPHER *c;
^
src/common/tortls.c: In function tor_tls_client_is_using_v2_ciphers:
src/common/tortls.c:1508:20: error: dereferencing pointer to incomplete type
ciphers = session->ciphers;
^
src/common/tortls.c: At top level:
src/common/tortls.c:2402:1: error: conflicting types for
SSL_get_client_random
SSL_get_client_random(SSL *s, uint8_t *out, size_t len)
^
In file included from src/common/tortls.c:40:0:
/usr/local/include/openssl/ssl.h:1721:15: note: previous declaration of
SSL_get_client_random was here
__owur size_t SSL_get_client_random(const SSL *ssl, unsigned char *out,
^
In file included from src/common/tortls.c:27:0:
src/common/tortls.c: In function SSL_get_client_random:
src/common/tortls.c:2407:15: error: dereferencing pointer to incomplete type
tor_assert(s->s3);
^
src/common/compat.h:196:51: note: in definition of macro PREDICT_UNLIKELY
#define PREDICT_UNLIKELY(exp) __builtin_expect(!!(exp), 0)
^
src/common/tortls.c:2407:3: note: in expansion of macro tor_assert
tor_assert(s->s3);
^
src/common/tortls.c:2408:16: error: dereferencing pointer to incomplete type
memcpy(out, s->s3->client_random, len);
^
src/common/tortls.c: At top level:
src/common/tortls.c:2415:1: error: conflicting types for
SSL_get_server_random
SSL_get_server_random(SSL *s, uint8_t *out, size_t len)
^
In file included from src/common/tortls.c:40:0:
/usr/local/include/openssl/ssl.h:1723:15: note: previous declaration of
SSL_get_server_random was here
__owur size_t SSL_get_server_random(const SSL *ssl, unsigned char *out,
^
In file included from src/common/tortls.c:27:0:
src/common/tortls.c: In function SSL_get_server_random:
src/common/tortls.c:2420:15: error: dereferencing pointer to incomplete type
tor_assert(s->s3);
^
src/common/compat.h:196:51: note: in definition of macro PREDICT_UNLIKELY
#define PREDICT_UNLIKELY(exp) __builtin_expect(!!(exp), 0)
^
src/common/tortls.c:2420:3: note: in expansion of macro tor_assert
tor_assert(s->s3);
^
src/common/tortls.c:2421:16: error: dereferencing pointer to incomplete type
memcpy(out, s->s3->server_random, len);
^
src/common/tortls.c: In function SSL_SESSION_get_master_key:
src/common/tortls.c:2432:13: error: dereferencing pointer to incomplete type
return s->master_key_length;
^
In file included from src/common/tortls.c:27:0:
src/common/tortls.c:2433:30: error: dereferencing pointer to incomplete type
tor_assert(len == (size_t)s->master_key_length);
^
src/common/compat.h:196:51: note: in definition of macro PREDICT_UNLIKELY
#define PREDICT_UNLIKELY(exp) __builtin_expect(!!(exp), 0)
^
src/common/tortls.c:2433:3: note: in expansion of macro tor_assert
tor_assert(len == (size_t)s->master_key_length);
^
src/common/tortls.c:2435:16: error: dereferencing pointer to incomplete type
memcpy(out, s->master_key, len);
^
make[1]: *** [src/common/tortls.o] Error 1
make[1]: Leaving directory `/root/tor-0.3.0.10'
make: *** [all] Error 2
----------------------------
I'm running on Centos 7
Alan