X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=multipass.rs;h=41c7c4e9db6ad99159372a42c455a8522e559158;hb=HEAD;hp=073e929216c9265a56952b3ecaaac19ec0d26e9e;hpb=c6421d3f060df4096791375f78bdef879be90098;p=linux-dallas-multipass
diff --git a/multipass.rs b/multipass.rs
index 073e929..41c7c4e 100644
--- a/multipass.rs
+++ b/multipass.rs
@@ -164,7 +164,7 @@ async fn apdu_service(req: Request
) -> Result, hyper::Error
}
(&Method::POST, "/scard/version/") => {
let reply = json!({
- "version": "1.3.9.46"
+ "version": "1.4.1.16"
});
*response.body_mut() = Body::from(reply.to_string());
}
@@ -354,7 +354,13 @@ fn run_apdu(reader_name: &str, apdus: Vec>) -> Result = Vec::new();
for apdu in apdus {
- let reply = &transmit_apdu(card.as_mut().unwrap(), &apdu)?;
+ let reply = match transmit_apdu(card.as_mut().unwrap(), &apdu) {
+ Ok(r) => r,
+ Err(err) => {
+ *card = None; // Clean up.
+ return Err(err);
+ }
+ };
response_json.push(json!({
"apdu": reply
}));