Compability with it2s-asn
This commit is contained in:
parent
8ae273cafe
commit
ded1ae5c9e
|
|
@ -102,7 +102,7 @@ static int mk_cam(facilities_t* facilities, uint8_t *cam_oer, uint32_t *cam_len)
|
|||
CAM_t *cam = calloc(1, sizeof(CAM_t));
|
||||
|
||||
cam->header.protocolVersion = 2;
|
||||
cam->header.messageID = ItsPduHeader__messageID_cam;
|
||||
cam->header.messageID = messageID_cam;
|
||||
pthread_mutex_lock(&facilities->id.lock);
|
||||
cam->header.stationID = facilities->id.station_id;
|
||||
pthread_mutex_unlock(&facilities->id.lock);
|
||||
|
|
@ -785,7 +785,7 @@ void *ca_service(void *fc) {
|
|||
pthread_mutex_lock(&facilities->id.lock);
|
||||
uint64_t station_id = facilities->id.station_id;
|
||||
pthread_mutex_unlock(&facilities->id.lock);
|
||||
itss_db_add(facilities->logging.dbms, station_id, bpr->id, &facilities->epv, true, ItsPduHeader__messageID_cam, NULL, bpr->data.buf, bpr->data.size);
|
||||
itss_db_add(facilities->logging.dbms, station_id, bpr->id, &facilities->epv, true, messageID_cam, NULL, bpr->data.buf, bpr->data.size);
|
||||
}
|
||||
|
||||
if (facilities->logging.recorder) {
|
||||
|
|
|
|||
|
|
@ -100,21 +100,21 @@ static int transport_indication(facilities_t *facilities, void* responder, void*
|
|||
case Port_cam:
|
||||
its_msg_descriptor = &asn_DEF_CAM;
|
||||
its_msg = calloc(1, sizeof(CAM_t));
|
||||
its_msg_type = ItsPduHeader__messageID_cam;
|
||||
its_msg_type = messageID_cam;
|
||||
handled_msg = true;
|
||||
break;
|
||||
|
||||
case Port_denm:
|
||||
its_msg_descriptor = &asn_DEF_DENM;
|
||||
its_msg = calloc(1, sizeof(DENM_t));
|
||||
its_msg_type = ItsPduHeader__messageID_denm;
|
||||
its_msg_type = messageID_denm;
|
||||
handled_msg = true;
|
||||
break;
|
||||
|
||||
case Port_ivim:
|
||||
its_msg_descriptor = &asn_DEF_IVIM;
|
||||
its_msg = calloc(1, sizeof(IVIM_t));
|
||||
its_msg_type = ItsPduHeader__messageID_ivim;
|
||||
its_msg_type = messageID_ivim;
|
||||
handled_msg = true;
|
||||
break;
|
||||
|
||||
|
|
@ -128,7 +128,7 @@ static int transport_indication(facilities_t *facilities, void* responder, void*
|
|||
case Port_saem:
|
||||
its_msg_descriptor = &asn_DEF_SAEM;
|
||||
its_msg = calloc(1, sizeof(SAEM_t));
|
||||
its_msg_type = ItsPduHeader__messageID_saem;
|
||||
its_msg_type = messageID_saem;
|
||||
handled_msg = true;
|
||||
break;
|
||||
|
||||
|
|
@ -297,6 +297,17 @@ static int transport_indication(facilities_t *facilities, void* responder, void*
|
|||
|
||||
if (srep->returnCode == SecurityReplyReturnCode_rejected) {
|
||||
syslog_err("[facilities] SecurityReply.tlsRecv rejected");
|
||||
|
||||
SecurityRequest_t* sREQ = calloc(1, sizeof(SecurityRequest_t));
|
||||
sREQ->present = SecurityRequest_PR_tlsShutdown;
|
||||
sREQ->choice.tlsShutdown.connId = id;
|
||||
b_sdu[0] = 4;
|
||||
asn_enc_rval_t enc = oer_encode_to_buffer(&asn_DEF_SecurityRequest, NULL, sREQ, b_sdu+1, 2047);
|
||||
syslog_debug("[facilities]->[security] SecurityRequest.tlsShutdown (%ldB)", enc.encoded+1);
|
||||
zmq_send(security_socket, b_sdu, enc.encoded+1, 0);
|
||||
int32_t rl = zmq_recv(security_socket, b_sdu, 2048, 0);
|
||||
syslog_debug("[facilities]<-[security] SecurityReply.tlsShutdown (%dB)", rl);
|
||||
|
||||
rv = 1;
|
||||
goto cleanup;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,8 +8,7 @@
|
|||
#include <it2s-tender/time.h>
|
||||
#include <it2s-tender/syslog.h>
|
||||
|
||||
#include <ivim/Pictogram-trafficSign.h>
|
||||
#include <ivim/Pictogram-conditionsSign.h>
|
||||
#include <ivim/ISO14823Code.h>
|
||||
|
||||
const ivi_diid_ssp_bm_t DIID_SSP_BM_MAP[] = {
|
||||
{"Vienna Convention Code for road sign", IVI_DIID_ViennaCodeConvention, 0x800000},
|
||||
|
|
@ -123,13 +122,13 @@ static enum SERVICE_EVAL_R service_check(infrastructure_t* infrastructure, enum
|
|||
switch (code->choice.iso14823.pictogramCode.serviceCategoryCode.present) {
|
||||
case ISO14823Code__pictogramCode__serviceCategoryCode_PR_trafficSignPictogram:
|
||||
switch (code->choice.iso14823.pictogramCode.serviceCategoryCode.choice.trafficSignPictogram) {
|
||||
case Pictogram_trafficSign_dangerWarning:
|
||||
case ISO14823Code__pictogramCode__serviceCategoryCode__trafficSignPictogram_dangerWarning:
|
||||
if (!permissions_check(IVI_DIID_TrafficSignPictogramDangerWarning, ssp, ssp_len)) {return SERVICE_BAD_PERMISSIONS;}
|
||||
break;
|
||||
case Pictogram_trafficSign_regulatory:
|
||||
case ISO14823Code__pictogramCode__serviceCategoryCode__trafficSignPictogram_regulatory:
|
||||
if (!permissions_check(IVI_DIID_TrafficSignPictogramRegulatory, ssp, ssp_len)) {return SERVICE_BAD_PERMISSIONS;}
|
||||
break;
|
||||
case Pictogram_trafficSign_informative:
|
||||
case ISO14823Code__pictogramCode__serviceCategoryCode__trafficSignPictogram_informative:
|
||||
if (!permissions_check(IVI_DIID_TrafficSignPictogramInformative, ssp, ssp_len)) {return SERVICE_BAD_PERMISSIONS;}
|
||||
break;
|
||||
}
|
||||
|
|
@ -140,10 +139,10 @@ static enum SERVICE_EVAL_R service_check(infrastructure_t* infrastructure, enum
|
|||
|
||||
case ISO14823Code__pictogramCode__serviceCategoryCode_PR_ambientOrRoadConditionPictogram:
|
||||
switch (code->choice.iso14823.pictogramCode.serviceCategoryCode.choice.ambientOrRoadConditionPictogram) {
|
||||
case Pictogram_conditionsSign_ambientCondition:
|
||||
case ISO14823Code__pictogramCode__serviceCategoryCode__ambientOrRoadConditionPictogram_ambientCondition:
|
||||
if (!permissions_check(IVI_DIID_ServiceCategoryCodeAmbientOrRoadConditionPictogramAmbientCondition, ssp, ssp_len)) {return SERVICE_BAD_PERMISSIONS;}
|
||||
break;
|
||||
case Pictogram_conditionsSign_roadCondition:
|
||||
case ISO14823Code__pictogramCode__serviceCategoryCode__ambientOrRoadConditionPictogram_roadCondition:
|
||||
if (!permissions_check(IVI_DIID_ServiceCategoryCodeAmbientOrRoadConditionPictogramRoadCondition, ssp, ssp_len)) {return SERVICE_BAD_PERMISSIONS;}
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1277,6 +1277,7 @@ void tolling_info_free(tolling_info_t* ti) {
|
|||
}
|
||||
|
||||
tlsc_t* tolling_tlsc_new(tolling_t* tolling, itss_epv_t* epv, uint8_t ipv6[16], uint16_t port) {
|
||||
syslog_debug("[tolling] new tlsc , nconns=%d", tolling->protocol.c.tls.n_tlsc);
|
||||
if (tolling->protocol.c.tls.n_tlsc >= TOLLING_MAX_CONNS - 1) {
|
||||
return NULL;
|
||||
}
|
||||
|
|
@ -1291,6 +1292,7 @@ tlsc_t* tolling_tlsc_new(tolling_t* tolling, itss_epv_t* epv, uint8_t ipv6[16],
|
|||
}
|
||||
|
||||
tlsc_t* tolling_tlsc_get(tolling_t* tolling, itss_epv_t* epv, uint8_t ipv6[16], uint16_t port) {
|
||||
syslog_debug("[tolling] new get , nconns=%d", tolling->protocol.c.tls.n_tlsc);
|
||||
tlsc_t* tlsc = NULL;
|
||||
for (int i = 0; i < tolling->protocol.c.tls.n_tlsc; ++i) {
|
||||
if (!memcmp(tolling->protocol.c.tls.tls_conns[i]->ipv6, ipv6, 16) &&
|
||||
|
|
|
|||
Loading…
Reference in New Issue