Oct 03 23:37:09.000 [notice] Now checking whether ORPort 5.165.74.63:9002 and
DirPort 5.165.74.63:9031 are reachable... (this may take up to 20 minutes --
look for log messages indicating success)
Oct 03 23:37:11.000 [notice] Self-testing indicates your DirPort is reachable
from the outside. Excellent.
Program received signal SIGBUS, Bus error.
0x00000ad2c4fb8884 in sk_value (st=0xad241c45118, i=0) at
/usr/src/lib/libcrypto/crypto/../../libssl/src/crypto/stack/stack.c:317
317 return st->data[i];
(gdb) bt
#0 0x00000ad2c4fb8884 in sk_value (st=0xad241c45118, i=0) at
/usr/src/lib/libcrypto/crypto/../../libssl/src/crypto/stack/stack.c:317
#1 0x00000ad0246806e7 in prune_v2_cipher_list () at src/common/tortls.c:1506
#2 0x00000ad0246807ba in tor_tls_classify_client_ciphers (ssl=0xad290613c00,
peer_ciphers=0xad29bb5bfc0) at src/common/tortls.c:1540
#3 0x00000ad024680c56 in tor_tls_session_secret_cb (ssl=0xad290613c00,
secret=0xad316261c08, secret_len=0xad316261c04, peer_ciphers=0xad29bb5bfc0,
cipher=0x7f7fffff2000, arg=0x0) at src/common/tortls.c:1651
#4 0x00000ad241b1bb99 in ssl3_get_client_hello (s=0xad290613c00) at
/usr/src/lib/libssl/ssl/../../libssl/src/ssl/s3_srvr.c:1119
#5 0x00000ad241b1c7d5 in ssl3_accept (s=0xad290613c00) at
/usr/src/lib/libssl/ssl/../../libssl/src/ssl/s3_srvr.c:346
#6 0x00000ad241b14804 in ssl23_get_client_hello (s=0xad290613c00) at
/usr/src/lib/libssl/ssl/../../libssl/src/ssl/s23_srvr.c:573
#7 0x00000ad241b15026 in ssl23_accept (s=0xad290613c00) at
/usr/src/lib/libssl/ssl/../../libssl/src/ssl/s23_srvr.c:232
#8 0x00000ad024682b83 in tor_tls_handshake (tls=0xad23c771f00) at
src/common/tortls.c:2148
#9 0x00000ad0245fce92 in connection_tls_continue_handshake
(conn=0xad2879d3e00) at src/or/connection_or.c:1344
#10 0x00000ad0245fcd0d in connection_tls_start_handshake (conn=0xad2879d3e00,
receiving=1) at src/or/connection_or.c:1291
#11 0x00000ad0245e7439 in connection_init_accepted_conn (conn=0xad2879d3e00,
listener=0xad2c0876900) at src/or/connection.c:1416
#12 0x00000ad0245e7344 in connection_handle_listener_read (conn=0xad2c0876900,
new_type=4) at src/or/connection.c:1392
#13 0x00000ad0245eab9e in connection_handle_read_impl (conn=0xad2c0876900) at
src/or/connection.c:2821
#14 0x00000ad0245eaf9b in connection_handle_read (conn=0xad2c0876900) at
src/or/connection.c:2923
#15 0x00000ad02451208c in conn_read_callback (fd=9, event=2,
_conn=0xad2c0876900) at src/or/main.c:718
#16 0x00000ad2cb8d7198 in event_base_loop (base=0xad2879d5000, flags=Variable
"flags" is not available.
) at /usr/src/lib/libevent/event.c:404
#17 0x00000ad024514cdb in do_main_loop () at src/or/main.c:1987
#18 0x00000ad024516519 in tor_main (argc=1, argv=0x7f7fffff2708) at
src/or/main.c:2703
#19 0x00000ad02451060f in main (argc=1, argv=0x7f7fffff2708) at
src/or/tor_main.c:30
Friday, October 3, 2014, 7:03:07 PM, you wrote:
> Please try the attached patch for the tor port and let me know if it
> fixes your crash.
> Cheers!
> David
> ---------- Forwarded message ----------
> From: Joel Sing <[email protected]>
> Date: Fri, Oct 3, 2014 at 4:39 PM
> Subject: tor and get_cipher_by_char
> The following (compile-tested-only) diff should handle the removal of
> get_cipher_by_char in tor. This is possibly a little bit more expensive
> than the previous code (worst case N * M), but given the number of
> ciphers this should be a non-issue.
> The other options would be to add get_cipher_by_char() back as a wrapper
> (which is horrible) or provide a SSL_get_cipher_by_value() which would take
> the SSLv3/TLSv1 cipher suite value and return the cipher - I had partially
> planned/considered doing this for other reasons anyway. However, the
> downside is that it would be a LibreSSL specific addition and not available
> for OpenSSL. On the other hand, the below diff is bog standard OpenSSL
> and could potentially go upstream.
> I'm not a tor user in general, so it would take time for me to test the
> diff. If someone wants to test it and land it (assuming it works), feel
> free to do so...