aboutsummaryrefslogtreecommitdiff
path: root/src/rust/protover/protover.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/rust/protover/protover.rs')
-rw-r--r--src/rust/protover/protover.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/rust/protover/protover.rs b/src/rust/protover/protover.rs
index fd1f41d780..01d17ac8b4 100644
--- a/src/rust/protover/protover.rs
+++ b/src/rust/protover/protover.rs
@@ -13,6 +13,8 @@ use std::u32;
use tor_log::{LogSeverity, LogDomain};
use external::c_tor_version_as_new_as;
+use errors::ProtoverError;
+
/// The first version of Tor that included "proto" entries in its descriptors.
/// Authorities should use this to decide whether to guess proto lines.
///
@@ -54,7 +56,7 @@ impl fmt::Display for Proto {
///
/// C_RUST_COUPLED: src/or/protover.c `PROTOCOL_NAMES`
impl FromStr for Proto {
- type Err = &'static str;
+ type Err = ProtoverError;
fn from_str(s: &str) -> Result<Self, Self::Err> {
match s {
@@ -68,7 +70,7 @@ impl FromStr for Proto {
"LinkAuth" => Ok(Proto::LinkAuth),
"Microdesc" => Ok(Proto::Microdesc),
"Relay" => Ok(Proto::Relay),
- _ => Err("Not a valid protocol type"),
+ _ => Err(ProtoverError::UnknownProtocol),
}
}
}