diff options
| author | Linus Färnstrand <linus@mullvad.net> | 2017-10-18 15:02:46 +0200 |
|---|---|---|
| committer | Linus Färnstrand <linus@mullvad.net> | 2017-10-18 15:03:30 +0200 |
| commit | e1f41bb918aedb3c4af06ad505e80bf28db99462 (patch) | |
| tree | 147190e526692251e066baecf5f3a59391b14fd8 | |
| parent | 48cac0cc9858b596de83e0b7c9a7db5fc4ad75b4 (diff) | |
| download | mullvadvpn-e1f41bb918aedb3c4af06ad505e80bf28db99462.tar.xz mullvadvpn-e1f41bb918aedb3c4af06ad505e80bf28db99462.zip | |
Read RPC connection info file with BufReader
| -rw-r--r-- | mullvad-cli/src/cmds/shutdown.rs | 1 | ||||
| -rw-r--r-- | mullvad-cli/src/rpc.rs | 18 |
2 files changed, 8 insertions, 11 deletions
diff --git a/mullvad-cli/src/cmds/shutdown.rs b/mullvad-cli/src/cmds/shutdown.rs index bb211bed84..4a334da5a5 100644 --- a/mullvad-cli/src/cmds/shutdown.rs +++ b/mullvad-cli/src/cmds/shutdown.rs @@ -1,7 +1,6 @@ use {Command, Result}; use clap; -use mullvad_types::account::{AccountData, AccountToken}; use rpc; pub struct Shutdown; diff --git a/mullvad-cli/src/rpc.rs b/mullvad-cli/src/rpc.rs index 658d18408e..5e14cdf195 100644 --- a/mullvad-cli/src/rpc.rs +++ b/mullvad-cli/src/rpc.rs @@ -2,7 +2,7 @@ use {Result, ResultExt}; use serde; use std::fs::{File, Metadata}; -use std::io::{self, Read}; +use std::io::{self, BufRead, BufReader}; use std::path::{Path, PathBuf}; use talpid_ipc::WsIpcClient; @@ -46,16 +46,14 @@ fn read_rpc_address() -> io::Result<(String, String)> { "Trying to read RPC address at {}", RPC_ADDRESS_FILE_PATH.to_string_lossy() ); - let mut file = File::open(&*RPC_ADDRESS_FILE_PATH)?; + let file = File::open(&*RPC_ADDRESS_FILE_PATH)?; if is_rpc_file_trusted(file.metadata()?) { - let mut content = String::new(); - file.read_to_string(&mut content)?; - let mut iter = content.split("\n"); - let address = iter.next().unwrap(); - let shared_secret = iter.next().ok_or_else(|| { - io::Error::new(io::ErrorKind::Other, "No RPC shared secret") - })?; - Ok((address.to_owned(), shared_secret.to_owned())) + let mut buf_file = BufReader::new(file); + let mut address = String::new(); + buf_file.read_line(&mut address)?; + let mut shared_secret = String::new(); + buf_file.read_line(&mut shared_secret)?; + Ok((address, shared_secret)) } else { Err(io::Error::new( io::ErrorKind::Other, |
