mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-15 04:19:26 -07:00
nfc: Move captured MFUL auth data from worker to device data
This commit is contained in:
@@ -4,7 +4,7 @@ bool nfc_scene_mf_ultralight_unlock_auto_worker_callback(NfcWorkerEvent event, v
|
|||||||
Nfc* nfc = context;
|
Nfc* nfc = context;
|
||||||
|
|
||||||
if(event == NfcWorkerEventMfUltralightPwdAuth) {
|
if(event == NfcWorkerEventMfUltralightPwdAuth) {
|
||||||
MfUltralightAuth* auth = nfc_worker_get_event_data(nfc->worker);
|
MfUltralightAuth* auth = &nfc->dev->dev_data.mf_ul_auth;
|
||||||
memcpy(nfc->byte_input_store, auth->pwd.raw, sizeof(auth->pwd.raw));
|
memcpy(nfc->byte_input_store, auth->pwd.raw, sizeof(auth->pwd.raw));
|
||||||
nfc->dev->dev_data.mf_ul_data.auth_method = MfUltralightAuthMethodManual;
|
nfc->dev->dev_data.mf_ul_data.auth_method = MfUltralightAuthMethodManual;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ typedef struct {
|
|||||||
union {
|
union {
|
||||||
NfcReaderRequestData reader_data;
|
NfcReaderRequestData reader_data;
|
||||||
NfcMfClassicDictAttackData mf_classic_dict_attack_data;
|
NfcMfClassicDictAttackData mf_classic_dict_attack_data;
|
||||||
|
MfUltralightAuth mf_ul_auth;
|
||||||
};
|
};
|
||||||
union {
|
union {
|
||||||
EmvData emv_data;
|
EmvData emv_data;
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ NfcWorker* nfc_worker_alloc() {
|
|||||||
|
|
||||||
nfc_worker->callback = NULL;
|
nfc_worker->callback = NULL;
|
||||||
nfc_worker->context = NULL;
|
nfc_worker->context = NULL;
|
||||||
nfc_worker->event_data = NULL;
|
|
||||||
nfc_worker->storage = furi_record_open(RECORD_STORAGE);
|
nfc_worker->storage = furi_record_open(RECORD_STORAGE);
|
||||||
|
|
||||||
// Initialize rfal
|
// Initialize rfal
|
||||||
@@ -50,10 +49,6 @@ NfcWorkerState nfc_worker_get_state(NfcWorker* nfc_worker) {
|
|||||||
return nfc_worker->state;
|
return nfc_worker->state;
|
||||||
}
|
}
|
||||||
|
|
||||||
void* nfc_worker_get_event_data(NfcWorker* nfc_worker) {
|
|
||||||
return nfc_worker->event_data;
|
|
||||||
}
|
|
||||||
|
|
||||||
void nfc_worker_start(
|
void nfc_worker_start(
|
||||||
NfcWorker* nfc_worker,
|
NfcWorker* nfc_worker,
|
||||||
NfcWorkerState state,
|
NfcWorkerState state,
|
||||||
@@ -449,12 +444,11 @@ void nfc_worker_emulate_mf_ultralight(NfcWorker* nfc_worker) {
|
|||||||
5000);
|
5000);
|
||||||
// Check if there was an auth attempt
|
// Check if there was an auth attempt
|
||||||
if(emulator.auth_attempted) {
|
if(emulator.auth_attempted) {
|
||||||
nfc_worker->event_data = &emulator.auth_attempt;
|
nfc_worker->dev_data->mf_ul_auth = emulator.auth_attempt; // Make copy
|
||||||
if(nfc_worker->callback) {
|
if(nfc_worker->callback) {
|
||||||
nfc_worker->callback(NfcWorkerEventMfUltralightPwdAuth, nfc_worker->context);
|
nfc_worker->callback(NfcWorkerEventMfUltralightPwdAuth, nfc_worker->context);
|
||||||
}
|
}
|
||||||
emulator.auth_attempted = false;
|
emulator.auth_attempted = false;
|
||||||
nfc_worker->event_data = NULL;
|
|
||||||
}
|
}
|
||||||
// Check if data was modified
|
// Check if data was modified
|
||||||
if(emulator.data_changed) {
|
if(emulator.data_changed) {
|
||||||
|
|||||||
@@ -71,8 +71,6 @@ NfcWorker* nfc_worker_alloc();
|
|||||||
|
|
||||||
NfcWorkerState nfc_worker_get_state(NfcWorker* nfc_worker);
|
NfcWorkerState nfc_worker_get_state(NfcWorker* nfc_worker);
|
||||||
|
|
||||||
void* nfc_worker_get_event_data(NfcWorker* nfc_worker);
|
|
||||||
|
|
||||||
void nfc_worker_free(NfcWorker* nfc_worker);
|
void nfc_worker_free(NfcWorker* nfc_worker);
|
||||||
|
|
||||||
void nfc_worker_start(
|
void nfc_worker_start(
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ struct NfcWorker {
|
|||||||
|
|
||||||
NfcWorkerCallback callback;
|
NfcWorkerCallback callback;
|
||||||
void* context;
|
void* context;
|
||||||
void* event_data;
|
|
||||||
|
|
||||||
NfcWorkerState state;
|
NfcWorkerState state;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user