mirror of
https://gitea.tendokyu.moe/ppc/amnet.git
synced 2026-10-10 16:38:09 +03:00
update parsing logic and add tests
This commit is contained in:
+9
-14
@@ -67,26 +67,21 @@ pub extern "C" fn aime_io_nfc_poll(unit_no: u8) -> i32 {
|
||||
}
|
||||
};
|
||||
|
||||
if aime_code.is_empty() || !utils::is_valid_access_code(&aime_code) {
|
||||
warn!("Access code file is either empty or contains invalid data");
|
||||
if aime_code.is_empty() {
|
||||
warn!("Access code file is empty");
|
||||
return 1;
|
||||
}
|
||||
|
||||
debug!("Access code read from file");
|
||||
let presenter_result = CardPresenter::instance().present_card(
|
||||
&aime_code,
|
||||
None,
|
||||
std::time::Duration::from_secs(5),
|
||||
);
|
||||
let Some(access_code) = utils::parse_access_code(&aime_code) else {
|
||||
warn!("Invalid access code read from file");
|
||||
return 1;
|
||||
};
|
||||
|
||||
match presenter_result {
|
||||
crate::card::CardPresentResult::Accepted => {
|
||||
match CardPresenter::instance().present_card(access_code, None, std::time::Duration::from_secs(5)) {
|
||||
card::CardPresentResult::Accepted => {
|
||||
return 0;
|
||||
},
|
||||
crate::card::CardPresentResult::Rejected(reason) => {
|
||||
warn!("Read access code was rejected: {}", reason);
|
||||
}
|
||||
crate::card::CardPresentResult::SlotUnavailable(release_time) => {
|
||||
card::CardPresentResult::SlotUnavailable(release_time) => {
|
||||
warn!("Access code was not accepted as there is already a card in the active slot until {:?}", release_time);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user