Browse Source

Tor: remove --tor prefix from SOCKS5 options.

It's usually for Tor, but we can use a socks5 proxy without it.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
ppa-0.6.1
Rusty Russell 7 years ago
parent
commit
c3ccc14f19
  1. 27
      gossipd/gossip.c
  2. 2
      lightningd/gossip_control.c
  3. 4
      lightningd/lightningd.c
  4. 4
      lightningd/lightningd.h
  5. 24
      lightningd/options.c

27
gossipd/gossip.c

@ -147,8 +147,8 @@ struct daemon {
/* Automatically reconnect. */
bool reconnect;
struct addrinfo *tor_proxyaddr;
bool use_tor_proxy_always;
struct addrinfo *proxyaddr;
bool use_proxy_always;
};
/* Peers we're trying to reach. */
@ -1739,7 +1739,7 @@ static struct io_plan *gossip_init(struct daemon_conn *master,
struct bitcoin_blkid chain_hash;
u32 update_channel_interval;
bool dev_allow_localhost;
struct wireaddr *tor_proxyaddr;
struct wireaddr *proxyaddr;
if (!fromwire_gossipctl_init(
daemon, msg, &daemon->broadcast_interval, &chain_hash,
@ -1747,7 +1747,7 @@ static struct io_plan *gossip_init(struct daemon_conn *master,
&daemon->localfeatures, &daemon->proposed_wireaddr,
&daemon->proposed_listen_announce, daemon->rgb,
daemon->alias, &update_channel_interval, &daemon->reconnect,
&tor_proxyaddr, &daemon->use_tor_proxy_always,
&proxyaddr, &daemon->use_proxy_always,
&dev_allow_localhost)) {
master_badmsg(WIRE_GOSSIPCTL_INIT, msg);
}
@ -1757,13 +1757,12 @@ static struct io_plan *gossip_init(struct daemon_conn *master,
dev_allow_localhost);
/* Resolve Tor proxy address if any */
if (tor_proxyaddr) {
status_trace("Tor proxyaddr : %s",
fmt_wireaddr(tmpctx, tor_proxyaddr));
daemon->tor_proxyaddr = wireaddr_to_addrinfo(daemon,
tor_proxyaddr);
if (proxyaddr) {
status_trace("Proxy address: %s",
fmt_wireaddr(tmpctx, proxyaddr));
daemon->proxyaddr = wireaddr_to_addrinfo(daemon, proxyaddr);
} else
daemon->tor_proxyaddr = NULL;
daemon->proxyaddr = NULL;
/* Load stored gossip messages */
gossip_store_load(daemon->rstate, daemon->rstate->store);
@ -1918,9 +1917,9 @@ static struct io_plan *conn_init(struct io_conn *conn, struct reaching *reach)
return io_close(conn);
}
if (!use_tor && reach->daemon->tor_proxyaddr) {
if (!use_tor && reach->daemon->proxyaddr) {
/* We dont use tor proxy if we only have ip */
if (reach->daemon->use_tor_proxy_always
if (reach->daemon->use_proxy_always
|| do_we_use_tor_addr(reach->daemon->announcable))
use_tor = true;
}
@ -1929,7 +1928,7 @@ static struct io_plan *conn_init(struct io_conn *conn, struct reaching *reach)
io_set_finish(conn, connect_failed, reach);
if (use_tor) {
assert(reach->addr.itype == ADDR_INTERNAL_WIREADDR);
return io_tor_connect(conn, reach->daemon->tor_proxyaddr,
return io_tor_connect(conn, reach->daemon->proxyaddr,
&reach->addr.u.wireaddr, reach);
}
return io_connect(conn, ai, connection_out, reach);
@ -2065,7 +2064,7 @@ static void try_reach_peer(struct daemon *daemon, const struct pubkey *id,
switch (a->addr.u.wireaddr.type) {
case ADDR_TYPE_TOR_V2:
case ADDR_TYPE_TOR_V3:
if (!daemon->tor_proxyaddr)
if (!daemon->proxyaddr)
break;
/* fall thru */
case ADDR_TYPE_IPV4:

2
lightningd/gossip_control.c

@ -226,7 +226,7 @@ void gossip_init(struct lightningd *ld)
get_offered_local_features(tmpctx), wireaddrs,
listen_announce, ld->rgb,
ld->alias, ld->config.channel_update_interval, ld->reconnect,
ld->tor_proxyaddr, ld->use_tor_proxy_always,
ld->proxyaddr, ld->use_proxy_always,
allow_localhost);
subd_send_msg(ld->gossip, msg);
}

4
lightningd/lightningd.c

@ -84,10 +84,10 @@ static struct lightningd *new_lightningd(const tal_t *ctx)
ld->pidfile = NULL;
ld->ini_autocleaninvoice_cycle = 0;
ld->ini_autocleaninvoice_expiredby = 86400;
ld->proxyaddr = NULL;
ld->use_proxy_always = false;
ld->tor_service_password = NULL;
ld->tor_proxyaddr = NULL;
ld->tor_serviceaddr = NULL;
ld->use_tor_proxy_always = false;
return ld;
}

4
lightningd/lightningd.h

@ -203,10 +203,10 @@ struct lightningd {
#endif /* DEVELOPER */
/* tor support */
struct wireaddr *tor_proxyaddr;
struct wireaddr *proxyaddr;
bool use_proxy_always;
struct wireaddr *tor_serviceaddr;
char *tor_service_password;
bool use_tor_proxy_always;
};
const struct chainparams *get_chainparams(const struct lightningd *ld);

24
lightningd/options.c

@ -295,14 +295,14 @@ static char *opt_set_offline(struct lightningd *ld)
return NULL;
}
static char *opt_add_torproxy_addr(const char *arg, struct lightningd *ld)
static char *opt_add_proxy_addr(const char *arg, struct lightningd *ld)
{
tal_free(ld->tor_proxyaddr);
tal_free(ld->proxyaddr);
/* We use a tal_arr here, so we can marshal it to gossipd */
ld->tor_proxyaddr = tal_arr(ld, struct wireaddr, 1);
ld->proxyaddr = tal_arr(ld, struct wireaddr, 1);
if (!parse_wireaddr(arg, ld->tor_proxyaddr, 9050, NULL)) {
if (!parse_wireaddr(arg, ld->proxyaddr, 9050, NULL)) {
return tal_fmt(NULL, "Unable to parse Tor proxy address '%s'",
arg);
}
@ -423,7 +423,7 @@ static void config_register_opts(struct lightningd *ld)
opt_set_u64, opt_show_u64,
&ld->ini_autocleaninvoice_cycle,
"If expired invoice autoclean enabled, invoices that have expired for at least this given seconds are cleaned");
opt_register_arg("--proxy", opt_add_torproxy_addr, NULL,
opt_register_arg("--proxy", opt_add_proxy_addr, NULL,
ld,"Set a socks v5 proxy IP address and port");
opt_register_arg("--tor-service",opt_add_tor_service_addr, NULL,
ld,"Set a tor service api IP address and port");
@ -432,8 +432,8 @@ static void config_register_opts(struct lightningd *ld)
"Set a Tor hidden service password");
opt_register_arg("--tor-auto-listen", opt_set_bool_arg, opt_show_bool,
&ld->config.tor_enable_auto_hidden_service , "Generate and use a temp auto hidden-service and show the onion address");
opt_register_arg("--always-use-tor-proxy", opt_set_bool_arg, opt_show_bool,
&ld->use_tor_proxy_always , "Use the Tor proxy always");
opt_register_arg("--always-use-proxy", opt_set_bool_arg, opt_show_bool,
&ld->use_proxy_always, "Use the proxy always");
}
#if DEVELOPER
@ -598,8 +598,8 @@ static void check_config(struct lightningd *ld)
if (ld->config.tor_enable_auto_hidden_service && !ld->tor_serviceaddr)
fatal("--tor-auto-listen needs --tor-service");
if (ld->use_tor_proxy_always && !ld->tor_proxyaddr)
fatal("--always-use-tor-proxy needs --proxy");
if (ld->use_proxy_always && !ld->proxyaddr)
fatal("--always-use-proxy needs --proxy");
}
static void setup_default_config(struct lightningd *ld)
@ -985,9 +985,9 @@ static void add_config(struct lightningd *ld,
ld->proposed_listen_announce,
ADDR_ANNOUNCE);
return;
} else if (opt->cb_arg == (void *)opt_add_torproxy_addr) {
if (ld->tor_proxyaddr)
answer = fmt_wireaddr(name0, ld->tor_proxyaddr);
} else if (opt->cb_arg == (void *)opt_add_proxy_addr) {
if (ld->proxyaddr)
answer = fmt_wireaddr(name0, ld->proxyaddr);
} else if (opt->cb_arg == (void *)opt_add_tor_service_addr) {
if (ld->tor_serviceaddr)
answer = fmt_wireaddr(name0,

Loading…
Cancel
Save