[tor-commits] [tor/master] Merge branch 'maint-0.2.9'

nickm at torproject.org nickm at torproject.org
Thu Dec 1 14:50:48 UTC 2016


commit 5efbd41daa874154025c9cc8cbe65763f08306bc
Merge: a776293 f8a7972
Author: Nick Mathewson <nickm at torproject.org>
Date:   Thu Dec 1 09:50:17 2016 -0500

    Merge branch 'maint-0.2.9'

 changes/bug20638     |   5 +
 src/or/config.c      |  34 -----
 src/or/rendservice.c | 349 +++++++++++++++++++++++++++++++++++----------------
 src/or/rendservice.h |  16 ++-
 src/test/test_hs.c   | 120 ++++++++++++++----
 5 files changed, 347 insertions(+), 177 deletions(-)

diff --cc src/or/rendservice.c
index 8ffd0bc,4d04da0..457821c
--- a/src/or/rendservice.c
+++ b/src/or/rendservice.c
@@@ -286,9 -296,9 +305,9 @@@ rend_add_service(smartlist_t *service_l
       * lock file.  But this is enough to detect a simple mistake that
       * at least one person has actually made.
       */
 -    if (service->directory != NULL) {
 +    if (!rend_service_is_ephemeral(service)) {
        /* Skip dupe for ephemeral services. */
-       SMARTLIST_FOREACH(rend_service_list, rend_service_t*, ptr,
+       SMARTLIST_FOREACH(s_list, rend_service_t*, ptr,
                          dupe = dupe ||
                                 !strcmp(ptr->directory, service->directory));
        if (dupe) {
@@@ -299,9 -309,9 +318,9 @@@
          return -1;
        }
      }
-     smartlist_add(rend_service_list, service);
+     smartlist_add(s_list, service);
 -    log_debug(LD_REND,"Configuring service with directory \"%s\"",
 -              service->directory);
 +    log_debug(LD_REND,"Configuring service with directory %s",
 +              rend_service_escaped_dir(service));
      for (i = 0; i < smartlist_len(service->ports); ++i) {
        p = smartlist_get(service->ports, i);
        if (!(p->is_unix_addr)) {
@@@ -1009,7 -1062,12 +1074,12 @@@ service_is_single_onion_poisoned(const 
    char *poison_fname = NULL;
    file_status_t fstatus;
  
+   /* Passing a NULL service is a bug */
+   if (BUG(!service)) {
+     return 0;
+   }
+ 
 -  if (!service->directory) {
 +  if (rend_service_is_ephemeral(service)) {
      return 0;
    }
  



More information about the tor-commits mailing list