[tor-commits] [tor/master] Write transport ARGS to extra-info descriptor.

nickm at torproject.org nickm at torproject.org
Thu Jul 18 12:48:28 UTC 2013


commit 924946aaafd75a657ae1fd0da95f9e95d19975ca
Author: George Kadianakis <desnacked at riseup.net>
Date:   Tue Jul 2 19:33:55 2013 +0300

    Write transport ARGS to extra-info descriptor.
---
 src/or/transports.c |   13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/or/transports.c b/src/or/transports.c
index d1c34b5..9123421 100644
--- a/src/or/transports.c
+++ b/src/or/transports.c
@@ -1404,6 +1404,8 @@ pt_get_extra_info_descriptor_string(void)
     tor_assert(mp->transports);
 
     SMARTLIST_FOREACH_BEGIN(mp->transports, const transport_t *, t) {
+      char *transport_args = NULL;
+
       /* If the transport proxy returned "0.0.0.0" as its address, and
        * we know our external IP address, use it. Otherwise, use the
        * returned address. */
@@ -1419,9 +1421,16 @@ pt_get_extra_info_descriptor_string(void)
         addrport = fmt_addrport(&t->addr, t->port);
       }
 
+      /* If this transport has any arguments with it, prepend a space
+         to them so that we can add them to the transport line. */
+      if (t->extra_info_args)
+        tor_asprintf(&transport_args, " %s", t->extra_info_args);
+
       smartlist_add_asprintf(string_chunks,
-                             "transport %s %s",
-                             t->name, addrport);
+                             "transport %s %s%s",
+                             t->name, addrport,
+                             transport_args ? transport_args : "");
+      tor_free(transport_args);
     } SMARTLIST_FOREACH_END(t);
 
   } SMARTLIST_FOREACH_END(mp);





More information about the tor-commits mailing list