Merge branch 'card-service-data' into 'main'

opgpcard: adjust handling of card_service_data

See merge request openpgp-card/openpgp-card!12
This commit is contained in:
Lars Wirzenius 2022-10-25 09:18:47 +00:00
commit 257a21cc43
3 changed files with 12 additions and 6 deletions

View file

@ -852,7 +852,10 @@ fn print_info(
}
}
if let Some(csd) = open.historical_bytes()?.card_service_data() {
output.card_service_data(csd.to_string());
for line in csd.to_string().lines() {
let line = line.strip_prefix("- ").unwrap_or(line);
output.card_service_data(line.to_string());
}
}
if let Some(eli) = open.extended_length_information()? {

View file

@ -14,7 +14,7 @@ pub struct Info {
manufacturer_id: String,
manufacturer_name: String,
card_capabilities: Vec<String>,
card_service_data: String,
card_service_data: Vec<String>,
extended_length_info: Vec<String>,
extended_capabilities: Vec<String>,
algorithms: Option<Vec<String>>,
@ -47,7 +47,7 @@ impl Info {
}
pub fn card_service_data(&mut self, data: String) {
self.card_service_data = data;
self.card_service_data.push(data);
}
pub fn extended_length_info(&mut self, info: String) {
@ -91,7 +91,10 @@ impl Info {
}
if !self.card_service_data.is_empty() {
s.push_str(&format!("Card service data: {}\n", self.card_service_data));
s.push_str("Card service data:\n");
for c in self.card_service_data.iter() {
s.push_str(&format!("- {}\n", c));
}
s.push('\n');
}
@ -177,7 +180,7 @@ struct InfoV0 {
manufacturer_id: String,
manufacturer_name: String,
card_capabilities: Vec<String>,
card_service_data: String,
card_service_data: Vec<String>,
extended_length_info: Vec<String>,
extended_capabilities: Vec<String>,
algorithms: Option<Vec<String>>,

View file

@ -108,7 +108,7 @@ then stdout, as JSON, matches embedded file info.json
"application_id": "D276000124 01 01 0200 AFAF 00001234 0000",
"manufacturer_id": "AFAF",
"manufacturer_name": "Unknown",
"card_service_data": "",
"card_service_data": [],
"ident": "AFAF:00001234"
}
~~~