mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 12:23:32 +01:00
Merge remote-tracking branch 'tor-github/pr/560'
This commit is contained in:
commit
4c81ab5914
@ -1460,6 +1460,19 @@ connection_listener_new(const struct sockaddr *listensockaddr,
|
||||
tor_socket_strerror(tor_socket_errno(s)));
|
||||
goto err;
|
||||
}
|
||||
|
||||
#ifndef __APPLE__
|
||||
int value;
|
||||
socklen_t len = sizeof(value);
|
||||
|
||||
if (!getsockopt(s, SOL_SOCKET, SO_ACCEPTCONN, &value, &len)) {
|
||||
if (value == 0) {
|
||||
log_err(LD_NET, "Could not listen on %s - "
|
||||
"getsockopt(.,SO_ACCEPTCONN,.) yields 0.", address);
|
||||
goto err;
|
||||
}
|
||||
}
|
||||
#endif /* __APPLE__ */
|
||||
#endif /* defined(HAVE_SYS_UN_H) */
|
||||
} else {
|
||||
log_err(LD_BUG, "Got unexpected address family %d.",
|
||||
@ -2894,6 +2907,10 @@ retry_all_listeners(smartlist_t *new_conns, int close_all_noncontrol)
|
||||
retval = -1;
|
||||
|
||||
#ifdef ENABLE_LISTENER_REBIND
|
||||
if (smartlist_len(replacements))
|
||||
log_debug(LD_NET, "%d replacements - starting rebinding loop.",
|
||||
smartlist_len(replacements));
|
||||
|
||||
SMARTLIST_FOREACH_BEGIN(replacements, listener_replacement_t *, r) {
|
||||
int addr_in_use = 0;
|
||||
int skip = 0;
|
||||
@ -2905,8 +2922,11 @@ retry_all_listeners(smartlist_t *new_conns, int close_all_noncontrol)
|
||||
connection_listener_new_for_port(r->new_port, &skip, &addr_in_use);
|
||||
connection_t *old_conn = r->old_conn;
|
||||
|
||||
if (skip)
|
||||
if (skip) {
|
||||
log_debug(LD_NET, "Skipping creating new listener for %s:%d",
|
||||
old_conn->address, old_conn->port);
|
||||
continue;
|
||||
}
|
||||
|
||||
connection_close_immediate(old_conn);
|
||||
connection_mark_for_close(old_conn);
|
||||
|
@ -19,9 +19,10 @@ def fail(msg):
|
||||
|
||||
def try_connecting_to_socksport():
|
||||
socks_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
if socks_socket.connect_ex(('127.0.0.1', socks_port)):
|
||||
e = socks_socket.connect_ex(('127.0.0.1', socks_port))
|
||||
if e:
|
||||
tor_process.terminate()
|
||||
fail('Cannot connect to SOCKSPort')
|
||||
fail('Cannot connect to SOCKSPort: error ' + os.strerror(e))
|
||||
socks_socket.close()
|
||||
|
||||
def wait_for_log(s):
|
||||
|
Loading…
Reference in New Issue
Block a user