Some fixes for emulation.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
This commit is contained in:
Pol Henarejos
2024-01-01 20:56:36 +01:00
parent a9dc6fd7f8
commit b663f5bebf
3 changed files with 5 additions and 5 deletions

View File

@@ -72,7 +72,7 @@ uint16_t apdu_process(uint8_t itf, const uint8_t *buffer, uint16_t buffer_size)
if (buffer_size == 7) { if (buffer_size == 7) {
apdu.ne = (apdu.header[5] << 8) | apdu.header[6]; apdu.ne = (apdu.header[5] << 8) | apdu.header[6];
if (apdu.ne == 0) { if (apdu.ne == 0) {
//apdu.ne = 65536; // All underlying architecture assumes payloads are 65535 as max apdu.ne = 65536;
} }
} }
else { else {
@@ -82,7 +82,7 @@ uint16_t apdu_process(uint8_t itf, const uint8_t *buffer, uint16_t buffer_size)
if (apdu.nc + 7 + 2 == buffer_size) { if (apdu.nc + 7 + 2 == buffer_size) {
apdu.ne = (apdu.header[buffer_size - 2] << 8) | apdu.header[buffer_size - 1]; apdu.ne = (apdu.header[buffer_size - 2] << 8) | apdu.header[buffer_size - 1];
if (apdu.ne == 0) { if (apdu.ne == 0) {
//apdu.ne = 65536; apdu.ne = 65536;
} }
} }
} }

View File

@@ -83,8 +83,8 @@ extern app_t *current_app;
PACK(struct apdu { PACK(struct apdu {
uint8_t *header; uint8_t *header;
uint16_t nc; uint32_t nc;
uint16_t ne; uint32_t ne;
uint8_t *data; uint8_t *data;
uint16_t sw; uint16_t sw;
uint8_t *rdata; uint8_t *rdata;

View File

@@ -264,7 +264,7 @@ int driver_process_usb_packet_emul(uint8_t itf, uint16_t len) {
apdu_finish(); apdu_finish();
if (sent > 0) { if (sent > 0) {
uint16_t ret = apdu_next(); uint16_t ret = apdu_next();
DEBUG_PAYLOAD(rdata, ret); DEBUG_PAYLOAD(apdu.rdata, ret);
emul_write(itf, ret); emul_write(itf, ret);
} }
} }