From bcb420990b451b98c8efb1961b05310c0fe31989 Mon Sep 17 00:00:00 2001 From: emanuel Date: Tue, 21 Dec 2021 19:05:59 +0000 Subject: [PATCH] it2s-asn securityProfile compatibility --- src/cam.c | 7 ++----- src/cpm.c | 5 +---- src/requests.c | 5 +---- src/sa.c | 5 +---- src/tpm.c | 4 ++++ src/tpm.h | 2 ++ 6 files changed, 11 insertions(+), 17 deletions(-) diff --git a/src/cam.c b/src/cam.c index 84212b8..78ab791 100644 --- a/src/cam.c +++ b/src/cam.c @@ -656,13 +656,10 @@ void *ca_service(void *fc) { bpr->data.buf = malloc(512); - if (facilities->use_security) { - bpr->gn.securityProfile = malloc(sizeof(long)); - *bpr->gn.securityProfile = 1; - } - // Fill header for FacilitiesIndication and FacilitiesMessageIndication structs + bpr->gn.securityProfile.sign = true; + FacilitiesIndication_t* fi = calloc(1,sizeof(FacilitiesIndication_t)); fi->present = FacilitiesIndication_PR_message; FacilitiesMessageIndication_t* fmi = &fi->choice.message; diff --git a/src/cpm.c b/src/cpm.c index b8df544..0645560 100644 --- a/src/cpm.c +++ b/src/cpm.c @@ -691,10 +691,7 @@ void *cp_service(void *fc){ bpr->gn.trafficClass = 2; //Identifier assigned to a GeoNetworking packet that expresses its requirements on data transport bpr->data.buf = malloc(1500); //CPM Data to be sent to the Transport layer - if(facilities->use_security) { - bpr->gn.securityProfile = malloc(sizeof(long)); - *bpr->gn.securityProfile = 1; - } + bpr->gn.securityProfile.sign = true; /*--- Fill mandatory Facilities Message Indication parameters ---*/ fmi->itsMessageType = ItsMessageType_cpm; diff --git a/src/requests.c b/src/requests.c index 72ec4c8..75ee2cf 100644 --- a/src/requests.c +++ b/src/requests.c @@ -303,10 +303,7 @@ int facilities_request_single_message(facilities_t* facilities, void* responder, *bpr->gn.isUpdate = 1; } - if (facilities->use_security) { - bpr->gn.securityProfile = malloc(sizeof(long)); - *bpr->gn.securityProfile = 1; - } + bpr->gn.securityProfile.sign = true; uint8_t tr_oer[2048]; tr_oer[0] = 4; // [facilities] service id diff --git a/src/sa.c b/src/sa.c index 5144303..43df9ee 100644 --- a/src/sa.c +++ b/src/sa.c @@ -298,10 +298,7 @@ void *sa_service(void *fc) { bpr->data.buf = malloc(512); bpr->data.size = 512; - if (facilities->use_security) { - bpr->gn.securityProfile = malloc(sizeof(long)); - *bpr->gn.securityProfile = 1; - } + bpr->gn.securityProfile.sign = true; void* security_socket = zmq_socket(facilities->zmq.ctx, ZMQ_REQ); zmq_connect(security_socket, facilities->zmq.security_address); diff --git a/src/tpm.c b/src/tpm.c index 6bf1672..63736ea 100644 --- a/src/tpm.c +++ b/src/tpm.c @@ -1,6 +1,7 @@ #include "tpm.h" #include "facilities.h" +#include #include #include #include @@ -12,6 +13,8 @@ int tpm_pay(void* fc) { facilities_t* facilities = (facilities_t*) fc; tolling_s* tolling = (tolling_s*) &facilities->tolling; + tolling->tz = it2s_tender_get_clock(&facilities->epv) ; + TransportRequest_t* tr = NULL; TPM_t* tpm = NULL; @@ -271,6 +274,7 @@ int tpm_recv(void* fc, TPM_t* tpm_rx) { syslog_debug("[facilities] [tolling] received TPM.reply, ignoring"); goto cleanup; } + syslog_info("[facilities] [tolling] reply took %ld ms", it2s_tender_get_clock(&facilities->epv) - tolling->tz); veh_handle_recv(tolling, &tpm_rx->tpm.tollingFlow.choice.reply); break; diff --git a/src/tpm.h b/src/tpm.h index af60d5b..0a7846e 100644 --- a/src/tpm.h +++ b/src/tpm.h @@ -18,6 +18,8 @@ typedef struct tolling { uint64_t nonce; uint64_t client_id; + uint64_t tz; + } tolling_s; int tpm_pay(void* fc);