Add DNS resolution for network/drone arguments (#4038)

automerge
This commit is contained in:
Michael Vines 2019-04-27 10:06:58 -07:00 committed by Grimes
parent bf0dd158de
commit e81d434903
1 changed files with 14 additions and 13 deletions

View File

@ -1,10 +1,10 @@
use std::net::SocketAddr;
use std::time::Duration;
use clap::{crate_description, crate_name, crate_version, value_t, App, Arg, ArgMatches}; use clap::{crate_description, crate_name, crate_version, value_t, App, Arg, ArgMatches};
use solana::gen_keys::GenKeys; use solana::gen_keys::GenKeys;
use solana_drone::drone::DRONE_PORT; use solana_drone::drone::DRONE_PORT;
use solana_sdk::signature::{read_keypair, Keypair, KeypairUtil}; use solana_sdk::signature::{read_keypair, Keypair, KeypairUtil};
use std::net::SocketAddr;
use std::process::exit;
use std::time::Duration;
pub struct Config { pub struct Config {
pub network_addr: SocketAddr, pub network_addr: SocketAddr,
@ -146,16 +146,17 @@ pub fn build_args<'a, 'b>() -> App<'a, 'b> {
pub fn extract_args<'a>(matches: &ArgMatches<'a>) -> Config { pub fn extract_args<'a>(matches: &ArgMatches<'a>) -> Config {
let mut args = Config::default(); let mut args = Config::default();
args.network_addr = matches args.network_addr = solana_netutil::parse_host_port(matches.value_of("network").unwrap())
.value_of("network") .unwrap_or_else(|e| {
.unwrap() eprintln!("failed to parse network address: {}", e);
.parse() exit(1)
.expect("Failed to parse network"); });
args.drone_addr = matches
.value_of("drone") args.drone_addr = solana_netutil::parse_host_port(matches.value_of("drone").unwrap())
.unwrap() .unwrap_or_else(|e| {
.parse() eprintln!("failed to parse drone address: {}", e);
.expect("Failed to parse drone address"); exit(1)
});
if matches.is_present("identity") { if matches.is_present("identity") {
args.identity = read_keypair(matches.value_of("identity").unwrap()) args.identity = read_keypair(matches.value_of("identity").unwrap())