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 }));