Commit 569e8824 authored by Nick Mathewson's avatar Nick Mathewson 🦀
Browse files

Backport r17137: Patch from rovv: send back END cell in response to connect...

Backport r17137: Patch from rovv: send back END cell in response to connect attempts to nonexistent hidden service port.

svn:r17868
parent 6515b74f
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -49,6 +49,9 @@ Changes in version 0.2.0.33 - 200?-??-??
    - Fix a race condition when freeing keys shared between main thread
    - Fix a race condition when freeing keys shared between main thread
      and CPU workers that could result in a memory leak.  Bugfix on
      and CPU workers that could result in a memory leak.  Bugfix on
      0.1.0.1-rc.  Fixes bug 889.
      0.1.0.1-rc.  Fixes bug 889.
    - Send a valid END cell back when a client tries to connect to a
      nonexistent hidden service port.  Bugfix on 0.1.2.15.  Fixes bug
      840.  Patch from rovv.


  o Minor features:
  o Minor features:
    - Report the case where all signatures in a detached set are rejected
    - Report the case where all signatures in a detached set are rejected
+1 −1
Original line number Original line Diff line number Diff line
@@ -16,7 +16,7 @@ Backport for 0.2.0 once better tested:
            "no circuits are pending."
            "no circuits are pending."
    o See also r17181...
    o See also r17181...
    o ... and r17184.
    o ... and r17184.
  - r17137: send END cell in response to connect to nonexistent hidserv port.
  o r17137: send END cell in response to connect to nonexistent hidserv port.
  - r17138: reject *:* servers should never do DNS lookups.
  - r17138: reject *:* servers should never do DNS lookups.
  o r17139: Fix another case of overriding .exit choices.
  o r17139: Fix another case of overriding .exit choices.
  - r17162 and r17164: fix another case of not checking cpath_layer.
  - r17162 and r17164: fix another case of not checking cpath_layer.
+1 −1
Original line number Original line Diff line number Diff line
@@ -2497,7 +2497,7 @@ connection_exit_begin_conn(cell_t *cell, circuit_t *circ)
               n_stream->_base.port);
               n_stream->_base.port);
      end_payload[0] = END_STREAM_REASON_EXITPOLICY;
      end_payload[0] = END_STREAM_REASON_EXITPOLICY;
      relay_send_command_from_edge(rh.stream_id, circ, RELAY_COMMAND_END,
      relay_send_command_from_edge(rh.stream_id, circ, RELAY_COMMAND_END,
                                   end_payload, 1, NULL);
                                   end_payload, 1, origin_circ->cpath->prev);
      connection_free(TO_CONN(n_stream));
      connection_free(TO_CONN(n_stream));
      tor_free(address);
      tor_free(address);
      return 0;
      return 0;