Skip to content

Commit 228f479

Browse files
authored
Merge pull request #52 from lukbaj/master
Proper validation of iface data before export
2 parents 4c40248 + 1364458 commit 228f479

File tree

4 files changed

+56
-39
lines changed

4 files changed

+56
-39
lines changed

metadata_exporter.h

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,6 @@
4545
#define MD_INPUT_MAX (__MD_INPUT_MAX - 1)
4646
#define MD_WRITER_MAX (__MD_WRITER_MAX - 1)
4747

48-
#define META_IFACE_INVALID 0x81
49-
5048
#define META_TYPE_INTERFACE 0x01
5149
#define META_TYPE_CONNECTION 0x02
5250
#define META_TYPE_POS 0x04
@@ -55,6 +53,23 @@
5553
#define META_TYPE_RADIO 0x08
5654
#define META_TYPE_SYSTEM 0x10
5755

56+
#define DEFAULT_RSSI -127
57+
#define DEFAULT_RSRQ 0
58+
#define DEFAULT_RSRP 0
59+
#define DEFAULT_LTE_BAND 0
60+
#define DEFAULT_LTE_FREQ 0
61+
#define DEFAULT_LTE_PCI -1
62+
#define DEFAULT_ENODEBID -1
63+
#define DEFAULT_ECIO 0
64+
#define DEFAULT_RSCP 0
65+
#define DEFAULT_MCCMNC 0
66+
#define DEFAULT_LAC -1
67+
#define DEFAULT_CID -1
68+
#define DEFAULT_LTE_PCI -1
69+
#define DEFAULT_MODE -1
70+
#define DEFAULT_SUBMODE -1
71+
#define DEFAULT_DEVICE_STATE -1
72+
5873
enum iface_event {
5974
IFACE_EVENT_DEV_STATE=1,
6075
IFACE_EVENT_MODE_CHANGE,

metadata_input_nl_zmq_common.c

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -545,14 +545,16 @@ void init_iface_event(struct md_iface_event *mie)
545545
mie->md_type = META_TYPE_INTERFACE;
546546
mie->lac = -1;
547547
mie->cid = -1;
548-
mie->rscp = (int16_t) META_IFACE_INVALID;
549-
mie->lte_rsrp = (int16_t) META_IFACE_INVALID;
550-
mie->rssi = (int8_t) META_IFACE_INVALID;
551-
mie->ecio = (int8_t) META_IFACE_INVALID;
552-
mie->lte_rssi = (int8_t) META_IFACE_INVALID;
553-
mie->lte_rsrq = (int8_t) META_IFACE_INVALID;
554-
mie->lte_pci = 0xFFFF;
555-
mie->enodeb_id = -1;
548+
mie->rscp = DEFAULT_RSCP;
549+
mie->lte_rsrp = DEFAULT_RSRP;
550+
mie->rssi = DEFAULT_RSSI;
551+
mie->ecio = DEFAULT_ECIO;
552+
mie->lte_rssi = DEFAULT_RSSI;
553+
mie->lte_rsrq = DEFAULT_RSRQ;
554+
mie->lte_pci = DEFAULT_LTE_PCI;
555+
mie->enodeb_id = DEFAULT_ENODEBID;
556+
mie->device_mode = DEFAULT_MODE;
557+
mie->device_submode = DEFAULT_SUBMODE;
556558
}
557559

558560
void init_conn_event(struct md_conn_event* mce)

metadata_writer_file.c

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -127,32 +127,32 @@ static void md_file_handle_iface_event(struct md_writer_file *mwf,
127127
md_file_add_json_string(obj, "imsi", mie->imsi) ||
128128
md_file_add_json_string(obj, "imei", mie->imei) ||
129129
md_file_add_json_string(obj, "isp_name", mie->isp_name) ||
130-
md_file_add_json_int(obj, "mode", mie->device_mode) ||
131-
md_file_add_json_int(obj, "submode", mie->device_submode) ||
132-
md_file_add_json_int(obj, "cid", mie->cid) ||
133-
md_file_add_json_int(obj, "enodeb_id", mie->enodeb_id) ||
134-
md_file_add_json_int(obj, "lac", mie->lac) ||
135-
md_file_add_json_int(obj, "device_state", mie->device_state)) {
130+
(mie->device_mode != DEFAULT_MODE && md_file_add_json_int(obj, "mode", mie->device_mode)) ||
131+
(mie->device_submode != DEFAULT_SUBMODE && md_file_add_json_int(obj, "submode", mie->device_submode)) ||
132+
(mie->cid != DEFAULT_CID && md_file_add_json_int(obj, "cid", mie->cid)) ||
133+
(mie->enodeb_id != DEFAULT_ENODEBID && md_file_add_json_int(obj, "enodeb_id", mie->enodeb_id)) ||
134+
(mie->lac != DEFAULT_LAC && md_file_add_json_int(obj, "lac", mie->lac)) ||
135+
(mie->device_state != DEFAULT_DEVICE_STATE && md_file_add_json_int(obj, "device_state", mie->device_state))) {
136136
META_PRINT_SYSLOG(mwf->parent, LOG_ERR, "md_file_handle_iface_event: Can't create iface values to object!");
137137
json_object_put(obj);
138138
return;
139139
}
140140

141141
if (mie->device_mode != 5) {
142-
if (md_file_add_json_int(obj, "rssi", mie->rssi) ||
143-
md_file_add_json_int(obj, "rscp", mie->rscp) ||
144-
md_file_add_json_int(obj, "ecio", mie->ecio)) {
142+
if ((mie->rssi != DEFAULT_RSSI && md_file_add_json_int(obj, "rssi", mie->rssi)) ||
143+
(mie->rscp != DEFAULT_RSCP && md_file_add_json_int(obj, "rscp", mie->rscp)) ||
144+
(mie->ecio != DEFAULT_ECIO && md_file_add_json_int(obj, "ecio", mie->ecio))) {
145145
META_PRINT_SYSLOG(mwf->parent, LOG_ERR, "md_file_handle_iface_event: Can't add non-LTE values to object!");
146146
json_object_put(obj);
147147
return;
148148
}
149149
} else { // LTE
150-
if (md_file_add_json_int(obj, "lte_rssi", mie->lte_rssi) ||
151-
md_file_add_json_int(obj, "lte_rsrp", mie->lte_rsrp) ||
152-
md_file_add_json_int(obj, "lte_rsrq", mie->lte_rsrq) ||
153-
md_file_add_json_int(obj, "lte_freq", mie->lte_freq) ||
154-
md_file_add_json_int(obj, "lte_pci", mie->lte_pci) ||
155-
md_file_add_json_int(obj, "lte_band", mie->lte_band)) {
150+
if ((mie->lte_rssi != DEFAULT_RSSI && md_file_add_json_int(obj, "lte_rssi", mie->lte_rssi)) ||
151+
(mie->lte_rsrp != DEFAULT_RSRP && md_file_add_json_int(obj, "lte_rsrp", mie->lte_rsrp)) ||
152+
(mie->lte_rsrq != DEFAULT_RSRQ && md_file_add_json_int(obj, "lte_rsrq", mie->lte_rsrq)) ||
153+
(mie->lte_freq != DEFAULT_LTE_FREQ && md_file_add_json_int(obj, "lte_freq", mie->lte_freq)) ||
154+
(mie->lte_pci != DEFAULT_LTE_PCI && md_file_add_json_int(obj, "lte_pci", mie->lte_pci)) ||
155+
(mie->lte_band != DEFAULT_LTE_BAND && md_file_add_json_int(obj, "lte_band", mie->lte_band))) {
156156
META_PRINT_SYSLOG(mwf->parent, LOG_ERR, "md_file_handle_iface_event: Can't add LTE values to object!");
157157
json_object_put(obj);
158158
return;

metadata_writer_zeromq.c

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -408,44 +408,44 @@ static json_object *md_zeromq_writer_create_iface_json(const struct md_writer_ze
408408
(mie->nw_mccmnc &&
409409
!md_zeromq_writer_create_json_int64(obj, mwz->keys[MD_ZMQ_KEY_NW_MCCMNC],
410410
mie->nw_mccmnc)) ||
411-
((mie->cid > -1 && mie->lac > -1) &&
411+
((mie->cid != DEFAULT_CID && mie->lac != DEFAULT_LAC) &&
412412
(!md_zeromq_writer_create_json_int(obj, mwz->keys[MD_ZMQ_KEY_LAC],
413413
mie->lac) ||
414414
!md_zeromq_writer_create_json_int(obj, mwz->keys[MD_ZMQ_KEY_CID],
415415
mie->cid))) ||
416-
(mie->rscp != (int16_t) META_IFACE_INVALID &&
416+
(mie->rscp != DEFAULT_RSCP &&
417417
!md_zeromq_writer_create_json_int(obj, mwz->keys[MD_ZMQ_KEY_RSCP],
418418
mie->rscp)) ||
419-
(mie->lte_rsrp != (int16_t) META_IFACE_INVALID &&
419+
(mie->lte_rsrp != DEFAULT_RSRP &&
420420
!md_zeromq_writer_create_json_int(obj, mwz->keys[MD_ZMQ_KEY_LTE_RSRP],
421421
mie->lte_rsrp)) ||
422-
(mie->lte_freq &&
422+
(mie->lte_freq != DEFAULT_LTE_FREQ &&
423423
!md_zeromq_writer_create_json_int(obj, mwz->keys[MD_ZMQ_KEY_LTE_FREQ],
424424
mie->lte_freq)) ||
425-
(mie->rssi != (int8_t) META_IFACE_INVALID &&
425+
(mie->rssi != DEFAULT_RSSI &&
426426
!md_zeromq_writer_create_json_int(obj, mwz->keys[MD_ZMQ_KEY_RSSI],
427427
mie->rssi)) ||
428-
(mie->ecio != (int8_t) META_IFACE_INVALID &&
428+
(mie->ecio != DEFAULT_ECIO &&
429429
!md_zeromq_writer_create_json_int(obj, mwz->keys[MD_ZMQ_KEY_ECIO],
430430
mie->ecio)) ||
431-
(mie->lte_rssi != (int8_t) META_IFACE_INVALID &&
431+
(mie->lte_rssi != DEFAULT_RSSI &&
432432
!md_zeromq_writer_create_json_int(obj, mwz->keys[MD_ZMQ_KEY_LTE_RSSI],
433433
mie->lte_rssi)) ||
434-
(mie->lte_rsrq != (int8_t) META_IFACE_INVALID &&
434+
(mie->lte_rsrq != DEFAULT_RSRQ &&
435435
!md_zeromq_writer_create_json_int(obj, mwz->keys[MD_ZMQ_KEY_LTE_RSRQ],
436436
mie->lte_rsrq)) ||
437-
(mie->device_mode && !md_zeromq_writer_create_json_int(obj,
437+
(mie->device_mode != DEFAULT_MODE && !md_zeromq_writer_create_json_int(obj,
438438
mwz->keys[MD_ZMQ_KEY_DEVICE_MODE], mie->device_mode)) ||
439-
(mie->device_submode && !md_zeromq_writer_create_json_int(obj,
439+
(mie->device_submode != DEFAULT_SUBMODE && !md_zeromq_writer_create_json_int(obj,
440440
mwz->keys[MD_ZMQ_KEY_DEVICE_SUBMODE], mie->device_submode)) ||
441-
(mie->lte_band && !md_zeromq_writer_create_json_int(obj,
441+
(mie->lte_band != DEFAULT_LTE_BAND && !md_zeromq_writer_create_json_int(obj,
442442
mwz->keys[MD_ZMQ_KEY_LTE_BAND], mie->lte_band)) ||
443-
(mie->device_state && !md_zeromq_writer_create_json_int(obj,
443+
(mie->device_state != DEFAULT_DEVICE_STATE && !md_zeromq_writer_create_json_int(obj,
444444
mwz->keys[MD_ZMQ_KEY_DEVICE_STATE], mie->device_state)) ||
445-
(mie->lte_pci != 0xFFFF &&
445+
(mie->lte_pci != DEFAULT_LTE_PCI &&
446446
!md_zeromq_writer_create_json_int(obj,
447447
mwz->keys[MD_ZMQ_KEY_LTE_PCI], mie->lte_pci)) ||
448-
(mie->enodeb_id >= 0 &&
448+
(mie->enodeb_id != DEFAULT_ENODEBID &&
449449
!md_zeromq_writer_create_json_int(obj,
450450
mwz->keys[MD_ZMQ_KEY_ENODEB_ID], mie->enodeb_id))) {
451451
json_object_put(obj);

0 commit comments

Comments
 (0)