Commit 098cbcbb authored by Nick Mathewson's avatar Nick Mathewson 🦀
Browse files

Merge branch 'bug14989'

parents 21ac0cd2 f1fa85ea
Loading
Loading
Loading
Loading

changes/bug14989

0 → 100644
+4 −0
Original line number Diff line number Diff line
  o Major bugfixes (Linux seccomp2 sandbox):
    - Pass IPPROTO_TCP rather than 0 to socket(), so that the
      Linux seccomp2 sandbox doesn't fail. Fixes bug 14989;
      bugfix on 0.2.6.3-alpha.
+5 −4
Original line number Diff line number Diff line
@@ -1612,7 +1612,6 @@ connection_connect_sockaddr(connection_t *conn,
  tor_socket_t s;
  int inprogress = 0;
  const or_options_t *options = get_options();
  int protocol_family;

  tor_assert(conn);
  tor_assert(sa);
@@ -1624,8 +1623,6 @@ connection_connect_sockaddr(connection_t *conn,
    return -1;
  }

  protocol_family = sa->sa_family;

  if (get_options()->DisableNetwork) {
    /* We should never even try to connect anyplace if DisableNetwork is set.
     * Warn if we do, and refuse to make the connection. */
@@ -1637,7 +1634,11 @@ connection_connect_sockaddr(connection_t *conn,
    return -1;
  }

  s = tor_open_socket_nonblocking(protocol_family, SOCK_STREAM, 0);
  const int protocol_family = sa->sa_family;
  const int proto = (sa->sa_family == AF_INET6 ||
                     sa->sa_family == AF_INET) ? IPPROTO_TCP : 0;

  s = tor_open_socket_nonblocking(protocol_family, SOCK_STREAM, proto);
  if (! SOCKET_OK(s)) {
    *socket_error = tor_socket_errno(-1);
    log_warn(LD_NET,"Error creating network socket: %s",