summaryrefslogtreecommitdiffstats
path: root/src/os/shared.rs
diff options
context:
space:
mode:
authorTobbeman <Tobbeman1994@gmail.com>2020-01-03 22:58:36 +0100
committerAram Drevekenin <aram@poor.dev>2020-01-03 22:58:36 +0100
commit53dc3be3880b0d1df2e6be05bd24c846a4df38d0 (patch)
tree2821ce20198dcf3927521502e27ca3aa6d947d97 /src/os/shared.rs
parent39d1a73469636c481bc9532d1c4d07518d699121 (diff)
chore(code): Add error message suggesting sudo if permission error (#59) (#67)
* chore(code): Add error message suggesting sudo if permission error (#59) I decided to use a nested match statement for further handling of the error, since it appears to be more rustesqe than a if statement. * fix(debugging): remove message Co-authored-by: Aram Drevekenin <aram@poor.dev>
Diffstat (limited to 'src/os/shared.rs')
-rw-r--r--src/os/shared.rs15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/os/shared.rs b/src/os/shared.rs
index 5245de7..8fd1300 100644
--- a/src/os/shared.rs
+++ b/src/os/shared.rs
@@ -39,11 +39,16 @@ fn get_datalink_channel(
match datalink::channel(interface, config) {
Ok(Ethernet(_tx, rx)) => Ok(rx),
Ok(_) => failure::bail!("Unknown interface type"),
- Err(e) => failure::bail!(
- "Failed to listen on network interface {}: {}",
- interface.name,
- e
- ),
+ Err(e) => {
+ match e.kind() {
+ std::io::ErrorKind::PermissionDenied => failure::bail!("Failed to listen on network interface due to permission error. Try running with sudo"),
+ _ => failure::bail!(
+ "Failed to listen on network interface {}: {}",
+ interface.name,
+ e
+ ),
+ }
+ }
}
}