]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Fix GETINFO address-mappings/... with wildcarded addresses.
authorNick Mathewson <nickm@torproject.org>
Thu, 28 Jun 2012 03:55:01 +0000 (23:55 -0400)
committerNick Mathewson <nickm@torproject.org>
Thu, 28 Jun 2012 03:55:01 +0000 (23:55 -0400)
changes/bug6244_part2 [new file with mode: 0644]
src/or/connection_edge.c

diff --git a/changes/bug6244_part2 b/changes/bug6244_part2
new file mode 100644 (file)
index 0000000..ffeb5cd
--- /dev/null
@@ -0,0 +1,4 @@
+  o Minor bugfixes:
+    - When formatting wildcarded address mappings for the controller,
+      be sure to include "*." as appropriate. Partial fix for bug 6244;
+      bugfix on 0.2.3.9-alpha.
index 98920781a2a8ccdc36fd62186c3b005fd4c5f49a..3c8b4bcc921be29f13ec1230f0efe1ff2be27c79 100644 (file)
@@ -1702,17 +1702,22 @@ addressmap_get_mappings(smartlist_t *sl, time_t min_expires,
          addressmap_ent_remove(key, val);
          continue;
        } else if (val->new_address) {
+         const char *src_wc = val->src_wildcard ? "*." : "";
+         const char *dst_wc = val->dst_wildcard ? "*." : "";
          if (want_expiry) {
            if (val->expires < 3 || val->expires == TIME_MAX)
-             smartlist_add_asprintf(sl, "%s %s NEVER", key, val->new_address);
+             smartlist_add_asprintf(sl, "%s%s %s%s NEVER",
+                                    src_wc, key, dst_wc, val->new_address);
            else {
              char time[ISO_TIME_LEN+1];
              format_iso_time(time, val->expires);
-             smartlist_add_asprintf(sl, "%s %s \"%s\"", key, val->new_address,
-                          time);
+             smartlist_add_asprintf(sl, "%s%s %s%s \"%s\"",
+                                    src_wc, key, dst_wc, val->new_address,
+                                    time);
            }
          } else {
-           smartlist_add_asprintf(sl, "%s %s", key, val->new_address);
+           smartlist_add_asprintf(sl, "%s%s %s%s",
+                                  src_wc, key, dst_wc, val->new_address);
          }
        }
      }