projects
/
ldk-sample
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Switch to ToSocketAddrs to support connecting to hostnames not IPs
[ldk-sample]
/
src
/
cli.rs
diff --git
a/src/cli.rs
b/src/cli.rs
index 04b18f9815acc858ff92a0820227941bc7265598..d2d5a218a3e123299aac3fecf33d1ecd17ea39a6 100644
(file)
--- a/
src/cli.rs
+++ b/
src/cli.rs
@@
-18,7
+18,7
@@
use lightning_invoice::{utils, Currency, Invoice};
use std::env;
use std::io;
use std::io::{BufRead, Write};
use std::env;
use std::io;
use std::io::{BufRead, Write};
-use std::net::
SocketAddr
;
+use std::net::
{SocketAddr, ToSocketAddrs}
;
use std::ops::Deref;
use std::path::Path;
use std::str::FromStr;
use std::ops::Deref;
use std::path::Path;
use std::str::FromStr;
@@
-463,7
+463,14
@@
pub(crate) async fn connect_peer_if_necessary(
return Ok(());
}
}
return Ok(());
}
}
- match lightning_net_tokio::connect_outbound(Arc::clone(&peer_manager), event_notifier, pubkey, peer_addr).await {
+ match lightning_net_tokio::connect_outbound(
+ Arc::clone(&peer_manager),
+ event_notifier,
+ pubkey,
+ peer_addr,
+ )
+ .await
+ {
Some(conn_closed_fut) => {
let mut closed_fut_box = Box::pin(conn_closed_fut);
let mut peer_connected = false;
Some(conn_closed_fut) => {
let mut closed_fut_box = Box::pin(conn_closed_fut);
let mut peer_connected = false;
@@
-472,7
+479,7
@@
pub(crate) async fn connect_peer_if_necessary(
std::task::Poll::Ready(_) => {
println!("ERROR: Peer disconnected before we finished the handshake");
return Err(());
std::task::Poll::Ready(_) => {
println!("ERROR: Peer disconnected before we finished the handshake");
return Err(());
- }
,
+ }
std::task::Poll::Pending => {}
}
for node_pubkey in peer_manager.get_peer_node_ids() {
std::task::Poll::Pending => {}
}
for node_pubkey in peer_manager.get_peer_node_ids() {
@@
-632,12
+639,12
@@
pub(crate) fn parse_peer_info(
return Err(std::io::Error::new(
std::io::ErrorKind::Other,
"ERROR: incorrectly formatted peer
return Err(std::io::Error::new(
std::io::ErrorKind::Other,
"ERROR: incorrectly formatted peer
- info. Should be formatted as: `pubkey@host:port`",
+
info. Should be formatted as: `pubkey@host:port`",
));
}
));
}
- let peer_addr
: Result<SocketAddr, _> = peer_addr_str.unwrap().parse(
);
- if peer_addr.is_err() {
+ let peer_addr
= peer_addr_str.unwrap().to_socket_addrs().map(|mut r| r.next()
);
+ if peer_addr.is_err()
|| peer_addr.as_ref().unwrap().is_none()
{
return Err(std::io::Error::new(
std::io::ErrorKind::Other,
"ERROR: couldn't parse pubkey@host:port into a socket address",
return Err(std::io::Error::new(
std::io::ErrorKind::Other,
"ERROR: couldn't parse pubkey@host:port into a socket address",
@@
-652,5
+659,5
@@
pub(crate) fn parse_peer_info(
));
}
));
}
- Ok((pubkey.unwrap(), peer_addr.unwrap()))
+ Ok((pubkey.unwrap(), peer_addr.unwrap()
.unwrap()
))
}
}