aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2021-06-07 22:09:27 +0200
committerGustav Sörnäs <gustav@sornas.net>2021-06-07 22:09:27 +0200
commit8744d7bff9941302dba05ddbfa98d50a255fc8d5 (patch)
tree4f852141422c714dacf10686d11df62e460c787d
parent9f1d465ac411ef2efc5930bbdf56b8ea67b48690 (diff)
downloadmum-8744d7bff9941302dba05ddbfa98d50a255fc8d5.tar.gz
mumctl config for invalid certs
-rw-r--r--mumctl/src/main.rs27
1 files changed, 26 insertions, 1 deletions
diff --git a/mumctl/src/main.rs b/mumctl/src/main.rs
index cb0ec2f..c7f2335 100644
--- a/mumctl/src/main.rs
+++ b/mumctl/src/main.rs
@@ -331,6 +331,11 @@ fn match_opt() -> Result<(), Error> {
config.audio.output_volume = Some(volume);
}
}
+ "accept_all_invalid_certs" => {
+ if let Ok(b) = value.parse() {
+ config.allow_invalid_server_cert = Some(b);
+ }
+ }
_ => {
return Err(CliError::ConfigKeyNotFound(key).into());
}
@@ -461,7 +466,7 @@ fn match_server_command(server_command: Server, config: &mut Config) -> Result<(
match (key.as_deref(), value) {
(None, _) => {
print!(
- "{}{}{}{}",
+ "{}{}{}{}{}",
format!("host: {}\n", server.host.to_string()),
server
.port
@@ -477,6 +482,10 @@ fn match_server_command(server_command: Server, config: &mut Config) -> Result<(
.as_ref()
.map(|s| format!("password: {}\n", s))
.unwrap_or_else(|| "".to_string()),
+ server
+ .accept_invalid_cert
+ .map(|b| format!("accept_invalid_cert: {}\n", if b { "true" } else { "false" }))
+ .unwrap_or_else(|| "".to_string()),
);
}
(Some("name"), None) => {
@@ -509,6 +518,15 @@ fn match_server_command(server_command: Server, config: &mut Config) -> Result<(
.ok_or(CliError::NotSet("password".to_string()))?
);
}
+ (Some("accept_invalid_cert"), None) => {
+ println!(
+ "{}",
+ server
+ .accept_invalid_cert
+ .map(|b| if b { "true" } else { "false "})
+ .ok_or(CliError::NotSet("accept_invalid_cert".to_string()))?
+ );
+ }
(Some("name"), Some(_)) => {
return Err(CliError::UseServerRename)?;
}
@@ -525,6 +543,13 @@ fn match_server_command(server_command: Server, config: &mut Config) -> Result<(
server.password = Some(value);
//TODO ask stdin if empty
}
+ (Some("accept_invalid_cert"), Some(value)) => {
+ match value.as_ref() {
+ "true" => server.accept_invalid_cert = Some(true),
+ "false" => server.accept_invalid_cert = Some(false),
+ v => warn!("Couldn't parse '{}' as bool", v),
+ }
+ }
(Some(_), _) => {
return Err(CliError::ConfigKeyNotFound(key.unwrap()))?;
}