1.10.4 fix EnvVar parsing when value contains '='

This commit is contained in:
mbecker20
2024-07-16 16:05:11 -07:00
parent 03ae7268fd
commit d0c94278ec
4 changed files with 34 additions and 50 deletions

26
Cargo.lock generated
View File

@@ -41,7 +41,7 @@ dependencies = [
[[package]]
name = "alerter"
version = "1.10.3"
version = "1.10.4"
dependencies = [
"anyhow",
"axum 0.7.5",
@@ -967,7 +967,7 @@ dependencies = [
[[package]]
name = "command"
version = "1.10.3"
version = "1.10.4"
dependencies = [
"monitor_client",
"run_command",
@@ -1351,7 +1351,7 @@ dependencies = [
[[package]]
name = "formatting"
version = "1.10.3"
version = "1.10.4"
dependencies = [
"serror",
]
@@ -1482,7 +1482,7 @@ checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
[[package]]
name = "git"
version = "1.10.3"
version = "1.10.4"
dependencies = [
"anyhow",
"command",
@@ -2083,7 +2083,7 @@ dependencies = [
[[package]]
name = "logger"
version = "1.10.3"
version = "1.10.4"
dependencies = [
"anyhow",
"monitor_client",
@@ -2152,7 +2152,7 @@ dependencies = [
[[package]]
name = "migrator"
version = "1.10.3"
version = "1.10.4"
dependencies = [
"anyhow",
"chrono",
@@ -2286,7 +2286,7 @@ dependencies = [
[[package]]
name = "monitor_cli"
version = "1.10.3"
version = "1.10.4"
dependencies = [
"anyhow",
"clap",
@@ -2306,7 +2306,7 @@ dependencies = [
[[package]]
name = "monitor_client"
version = "1.10.3"
version = "1.10.4"
dependencies = [
"anyhow",
"async_timing_util",
@@ -2338,7 +2338,7 @@ dependencies = [
[[package]]
name = "monitor_core"
version = "1.10.3"
version = "1.10.4"
dependencies = [
"anyhow",
"async_timing_util",
@@ -2394,7 +2394,7 @@ dependencies = [
[[package]]
name = "monitor_periphery"
version = "1.10.3"
version = "1.10.4"
dependencies = [
"anyhow",
"async_timing_util",
@@ -2838,7 +2838,7 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
[[package]]
name = "periphery_client"
version = "1.10.3"
version = "1.10.4"
dependencies = [
"anyhow",
"monitor_client",
@@ -3977,7 +3977,7 @@ dependencies = [
[[package]]
name = "tests"
version = "1.10.3"
version = "1.10.4"
dependencies = [
"anyhow",
"dotenv",
@@ -4579,7 +4579,7 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
[[package]]
name = "update_logger"
version = "1.10.3"
version = "1.10.4"
dependencies = [
"anyhow",
"logger",

View File

@@ -3,7 +3,7 @@ resolver = "2"
members = ["bin/*", "lib/*", "client/core/rs", "client/periphery/rs"]
[workspace.package]
version = "1.10.3"
version = "1.10.4"
edition = "2021"
authors = ["mbecker20 <becker.maxh@gmail.com>"]
license = "GPL-3.0-or-later"

View File

@@ -309,21 +309,13 @@ pub fn conversions_from_str(
.enumerate()
.filter(|(_, line)| !line.is_empty() && !line.starts_with('#'))
.map(|(i, line)| {
let mut split = line.split('=');
let local = split
.next()
.with_context(|| {
format!("line {i} does not have 'local' key")
})?
.trim()
.to_string();
let (local, container) =
line.split_once('=').with_context(|| {
format!("line {i} missing assignment (=)")
})?;
let local = local.trim().to_string();
// remove trailing comments
let mut container_split = split
.next()
.with_context(|| {
format!("line {i} does not have 'container' key")
})?
.split('#');
let mut container_split = container.split('#');
let container = container_split
.next()
.with_context(|| {
@@ -618,20 +610,16 @@ pub fn term_signal_labels_from_str(
.enumerate()
.filter(|(_, line)| !line.is_empty() && !line.starts_with('#'))
.map(|(i, line)| {
let mut split = line.split('=');
let signal = split
.next()
.with_context(|| format!("line {i} does not have signal"))?
.trim()
.parse::<TerminationSignal>()
.with_context(|| {
format!("line {i} does not have valid signal")
let (signal, label) =
line.split_once('=').with_context(|| {
format!("line {i} missing assignment (=)")
})?;
let signal =
signal.trim().parse::<TerminationSignal>().with_context(
|| format!("line {i} does not have valid signal"),
)?;
// remove trailing comments
let mut label_split = split
.next()
.with_context(|| format!("line {i} does not have label"))?
.split('#');
let mut label_split = label.split('#');
let label = label_split
.next()
.with_context(|| format!("line {i} does not have label"))?

View File

@@ -368,17 +368,13 @@ pub fn environment_vars_from_str(
.enumerate()
.filter(|(_, line)| !line.is_empty() && !line.starts_with('#'))
.map(|(i, line)| {
let mut split = line.split('=');
let variable = split
.next()
.with_context(|| format!("line {i} does not have variable"))?
.trim()
.to_string();
let (variable, value) =
line.split_once('=').with_context(|| {
format!("line {i} missing assignment (=)")
})?;
let variable = variable.trim().to_string();
// remove trailing comments
let mut value_split = split
.next()
.with_context(|| format!("line {i} does not have value"))?
.split('#');
let mut value_split = value.split('#');
let value = value_split
.next()
.with_context(|| format!("line {i} does not have value"))?