Commit d37dbb09 authored by David Goulet's avatar David Goulet 🐼
Browse files

hs-v3: Do not close RP circuits when deleting an ephemeral service

Bug reported on tor-dev@ and here is the detail explanation of the issue:
https://lists.torproject.org/pipermail/tor-dev/2018-November/013558.html



Fixes bug #28619

Signed-off-by: David Goulet's avatarDavid Goulet <dgoulet@torproject.org>
parent cbe04d45
Loading
Loading
Loading
Loading

changes/bug28619

0 → 100644
+6 −0
Original line number Diff line number Diff line
  o Minor bugfixes (hidden service v3):
    - When deleting an ephemeral onion service (DEL_ONION), do not close any
      rendezvous circuits in order to let the existing client connections
      finish by themselves or closed by the application. The HS v2 is doing
      that already so now we have the same behavior for all versions. Fixes
      bug 28619; bugfix on 0.3.3.1-alpha.
+4 −2
Original line number Diff line number Diff line
@@ -3105,8 +3105,10 @@ hs_service_del_ephemeral(const char *address)
    goto err;
  }

  /* Close circuits, remove from map and finally free. */
  close_service_circuits(service);
  /* Close introduction circuits, remove from map and finally free. Notice
   * that the rendezvous circuits aren't closed in order for any existing
   * connections to finish. We let the application terminate them. */
  close_service_intro_circuits(service);
  remove_service(hs_service_map, service);
  hs_service_free(service);