diff options
Diffstat (limited to 'src/configuration/uapi/set.rs')
-rw-r--r-- | src/configuration/uapi/set.rs | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/configuration/uapi/set.rs b/src/configuration/uapi/set.rs index e449edd..882e4a7 100644 --- a/src/configuration/uapi/set.rs +++ b/src/configuration/uapi/set.rs @@ -109,7 +109,7 @@ impl<'a, C: Configuration> LineParser<'a, C> { // opt: set listen port "listen_port" => match value.parse() { Ok(port) => { - self.config.set_listen_port(Some(port)); + self.config.set_listen_port(Some(port))?; Ok(()) } Err(_) => Err(ConfigError::InvalidPortNumber), @@ -119,7 +119,7 @@ impl<'a, C: Configuration> LineParser<'a, C> { "fwmark" => match value.parse() { Ok(fwmark) => { self.config - .set_fwmark(if fwmark == 0 { None } else { Some(fwmark) }); + .set_fwmark(if fwmark == 0 { None } else { Some(fwmark) })?; Ok(()) } Err(_) => Err(ConfigError::InvalidFwmark), @@ -142,6 +142,9 @@ impl<'a, C: Configuration> LineParser<'a, C> { Ok(()) } + // ignore (end of transcript) + "" => Ok(()), + // unknown key _ => Err(ConfigError::InvalidKey), }, @@ -227,6 +230,12 @@ impl<'a, C: Configuration> LineParser<'a, C> { } } + // flush (used at end of transcipt) + "" => { + flush_peer(self.config, &peer); + Ok(()) + } + // unknown key _ => Err(ConfigError::InvalidKey), }, |