From d5c3626fa73967ff59d60b36c8ec21394f357f9d Mon Sep 17 00:00:00 2001 From: Saibato Date: Wed, 19 Sep 2018 17:09:56 +0000 Subject: [PATCH] parse autotor: address before separate_address_and_port this enables addr like --addr=autotor:127.0.0.1 or --addr=autotor:localhost to just use the default tor service port Signed-off-by: Saibato --- common/wireaddr.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/common/wireaddr.c b/common/wireaddr.c index 8f2f2819b..1ff8ca132 100644 --- a/common/wireaddr.c +++ b/common/wireaddr.c @@ -430,6 +430,16 @@ bool parse_wireaddr_internal(const char *arg, struct wireaddr_internal *addr, return true; } + /* 'autotor:' is a special prefix meaning talk to Tor to create + * an onion address. */ + if (strstarts(arg, "autotor:")) { + addr->itype = ADDR_INTERNAL_AUTOTOR; + return parse_wireaddr(arg + strlen("autotor:"), + &addr->u.torservice, 9051, + dns_ok ? NULL : &needed_dns, + err_msg); + } + splitport = port; if (!separate_address_and_port(tmpctx, arg, &ip, &splitport)) { if (err_msg) { @@ -446,16 +456,6 @@ bool parse_wireaddr_internal(const char *arg, struct wireaddr_internal *addr, return true; } - /* 'autotor:' is a special prefix meaning talk to Tor to create - * an onion address. */ - if (strstarts(arg, "autotor:")) { - addr->itype = ADDR_INTERNAL_AUTOTOR; - return parse_wireaddr(arg + strlen("autotor:"), - &addr->u.torservice, 9051, - dns_ok ? NULL : &needed_dns, - err_msg); - } - addr->itype = ADDR_INTERNAL_WIREADDR; if (parse_wireaddr(arg, &addr->u.wireaddr, port, dns_ok ? NULL : &needed_dns, err_msg))