summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorLinus Färnstrand <linus@mullvad.net>2017-10-18 15:02:46 +0200
committerLinus Färnstrand <linus@mullvad.net>2017-10-18 15:03:30 +0200
commite1f41bb918aedb3c4af06ad505e80bf28db99462 (patch)
tree147190e526692251e066baecf5f3a59391b14fd8
parent48cac0cc9858b596de83e0b7c9a7db5fc4ad75b4 (diff)
downloadmullvadvpn-e1f41bb918aedb3c4af06ad505e80bf28db99462.tar.xz
mullvadvpn-e1f41bb918aedb3c4af06ad505e80bf28db99462.zip
Read RPC connection info file with BufReader
-rw-r--r--mullvad-cli/src/cmds/shutdown.rs1
-rw-r--r--mullvad-cli/src/rpc.rs18
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,