rust/pvapconfig: No stderr in ApqnInfo

ApqnInfo is to be moved to pv_core. Move warnings about missing
master/wrapping keys to gather_apqns to avoid stderr output in library
code.

Signed-off-by: Jakob Naucke <naucke@linux.ibm.com>
Reviewed-by: Steffen Eiden <seiden@linux.ibm.com>
Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
This commit is contained in:
Jakob Naucke
2025-03-11 17:45:23 +00:00
committed by Jan Höppner
parent 8619f14c0a
commit 543d41cb59

View File

@@ -164,13 +164,7 @@ impl ApqnInfo {
));
} else {
let caps = re_cca_aes_mkvp.captures(&mkvps).unwrap();
let valid = caps.get(1).unwrap().as_str().to_lowercase();
if valid != "valid" {
eprintln!(
"Warning: APQN {} has no valid AES master key set.",
queuedir
);
} else {
if caps.get(1).unwrap().as_str().to_lowercase() == "valid" {
aes_mkvp = caps.get(2).unwrap().as_str().to_lowercase();
if aes_mkvp.starts_with("0x") {
aes_mkvp = String::from(&aes_mkvp[2..]);
@@ -186,13 +180,7 @@ impl ApqnInfo {
));
} else {
let caps = re_cca_apka_mkvp.captures(&mkvps).unwrap();
let valid = caps.get(1).unwrap().as_str().to_lowercase();
if valid != "valid" {
eprintln!(
"Warning: APQN {} has no valid APKA master key set.",
queuedir
);
} else {
if caps.get(1).unwrap().as_str().to_lowercase() == "valid" {
apka_mkvp = caps.get(2).unwrap().as_str().to_lowercase();
if apka_mkvp.starts_with("0x") {
apka_mkvp = String::from(&apka_mkvp[2..]);
@@ -221,10 +209,7 @@ impl ApqnInfo {
));
} else {
let caps = re_ep11_mkvp.captures(&mkvps).unwrap();
let valid = caps.get(1).unwrap().as_str().to_lowercase();
if valid != "valid" {
eprintln!("Warning: APQN {} has no valid wrapping key set.", queuedir);
} else {
if caps.get(1).unwrap().as_str().to_lowercase() == "valid" {
mkvp = caps.get(2).unwrap().as_str().to_lowercase();
if mkvp.starts_with("0x") {
mkvp = String::from(&mkvp[2..]);
@@ -456,6 +441,19 @@ impl ApqnList {
);
}
};
if let Some(ApqnInfo::Cca(ref cca_info)) = info {
if cca_info.mkvp_aes.is_empty() {
eprintln!("Warning: APQN {queue_dir} has no valid AES master key set.");
}
if cca_info.mkvp_apka.is_empty() {
eprintln!("Warning: APQN {queue_dir} has no valid APKA master key set.");
}
}
if let Some(ApqnInfo::Ep11(ref ep11_info)) = info {
if ep11_info.mkvp.is_empty() {
eprintln!("Warning: APQN {queue_dir} has no valid wrapping key set.");
}
}
apqns.push(Apqn {
name: queue_dir.clone(),
card,