diff --git a/src/requests.c b/src/requests.c index 6f8d743..635b538 100644 --- a/src/requests.c +++ b/src/requests.c @@ -19,6 +19,7 @@ #include "evm.h" #include "facilities.h" #include "infrastructure.h" +#include "tpm.h" static void fwd_to_apps(uint8_t* msg, uint16_t msg_len, int its_msg_type, uint32_t iid) { FacilitiesIndication_t* fi = NULL; @@ -782,9 +783,12 @@ int transport_indication_btp(BTPPacketIndication_t* bpi, void** security_socket) break; case 7011: + if (facilities.tolling.protocol.p == TOLLING_PROTOCOL_GN_SPKI) { /* do not wait for facilities process if spki */ + fwd_to_apps(bpi->data.buf, bpi->data.size, bpi->destinationPort, bpi->id); + } if (facilities.tolling.enabled) { tpm_recv(its_msg, security_socket, neighbour_cert, NULL); - fwd = true; + fwd = facilities.tolling.protocol.p != TOLLING_PROTOCOL_GN_SPKI; } break;