[server][client] Parse hostnames

This commit is contained in:
Armin Friedl 2020-02-02 08:35:57 +01:00
parent 90142ec5c1
commit 62b9d544f2
Signed by: armin
GPG key ID: 48C726EEE7FBCBC8
2 changed files with 7 additions and 6 deletions

View file

@ -18,8 +18,8 @@ use coffer_common::coffer::{CofferShard, CofferValue};
#[derive(StructOpt, Debug)]
struct Args {
/// Address of the coffer server
#[structopt(short, long, parse(try_from_str), env = "COFFER_SERVER_ADDRESS", default_value = "127.0.0.1:9187")]
server_address: SocketAddr,
#[structopt(short, long, env = "COFFER_SERVER_ADDRESS", default_value = "127.0.0.1:9187")]
server_address: String,
#[structopt(short, long, parse(from_os_str), env = "COFFER_CLIENT_CERTIFICATE", hide_env_values = true)]
certificate: PathBuf,
@ -39,7 +39,7 @@ fn main() -> Result<(), Box<dyn Error>> {
let cert = Certificate::new_from_cbor(&args.certificate)?;
debug!{"Connecting to coffer server"}
let mut stream: TcpStream = TcpStream::connect(&args.server_address)?;
let mut stream: TcpStream = TcpStream::connect(args.server_address)?;
debug!{"Sending hello"}
let hello = framed(0x00, cert.public_key());

View file

@ -7,7 +7,6 @@ use std::path::PathBuf;
use std::fs::File;
use std::io::{Read};
use structopt::StructOpt;
use std::net::SocketAddr;
use coffer_common::keyring::Keyring;
use coffer_common::coffer::Coffer;
@ -31,8 +30,10 @@ struct Args {
secrets: PathBuf,
/// Address, the coffer server should bind to
#[structopt(short, long, parse(try_from_str), env = "COFFER_SERVER_ADDRESS", default_value = "127.0.0.1:9187")]
address: SocketAddr,
#[structopt(short, long, env = "COFFER_SERVER_ADDRESS", default_value = "127.0.0.1:9187")]
address: String, // unfortunately we have to take a opaque string here,
// since we can't parse a hostname otherwise.
// Parsers are not customizable yet in structopt
}
#[tokio::main]