Skip to content

Commit b7141ac

Browse files
committed
iface: Store and export ca_info
Store and export ca_info. We don't do anything special with the data, so just store it as a string and create a new object. We could even just copy the object.
1 parent 63c222a commit b7141ac

File tree

3 files changed

+48
-29
lines changed

3 files changed

+48
-29
lines changed

metadata_exporter.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,7 @@ struct md_iface_event {
187187
const char *ip_addr;
188188
const char *internal_ip_addr;
189189
const char *ifname;
190+
const char *ca_info;
190191
uint32_t imsi_mccmnc;
191192
uint32_t nw_mccmnc;
192193
int32_t cid;

metadata_input_nl_zmq_common.c

Lines changed: 31 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -82,62 +82,65 @@ uint8_t parse_conn_info(struct json_object *meta_obj, struct md_conn_event *mce,
8282
uint8_t parse_iface_event(struct json_object *meta_obj, struct md_iface_event *mie, struct md_exporter *parent)
8383
{
8484
json_object_object_foreach(meta_obj, key, val) {
85-
if (!strcmp(key, "md_seq"))
85+
if (!strcmp(key, "md_seq")) {
8686
mie->sequence = (uint16_t) json_object_get_int(val);
87-
else if (!strcmp(key, "timestamp"))
87+
} else if (!strcmp(key, "timestamp")) {
8888
mie->tstamp = json_object_get_int64(val);
89-
else if (!strcmp(key, "event_param"))
89+
} else if (!strcmp(key, "event_param")) {
9090
mie->event_param = (uint8_t) json_object_get_int(val);
91-
else if (!strcmp(key, "event_type"))
91+
} else if (!strcmp(key, "event_type")) {
9292
mie->event_type = (uint8_t) json_object_get_int(val);
93-
else if (!strcmp(key, "iccid"))
93+
} else if (!strcmp(key, "iccid")) {
9494
mie->iccid = json_object_get_string(val);
95-
else if (!strcmp(key, "imsi"))
95+
} else if (!strcmp(key, "imsi")) {
9696
mie->imsi = json_object_get_string(val);
97-
else if (!strcmp(key, "imei"))
97+
} else if (!strcmp(key, "imei")) {
9898
mie->imei = json_object_get_string(val);
99-
else if (!strcmp(key, "ip_addr"))
99+
} else if (!strcmp(key, "ip_addr")) {
100100
mie->ip_addr = json_object_get_string(val);
101-
else if (!strcmp(key, "internal_ip_addr"))
101+
} else if (!strcmp(key, "internal_ip_addr")) {
102102
mie->internal_ip_addr = json_object_get_string(val);
103-
else if (!strcmp(key, "isp_name"))
103+
} else if (!strcmp(key, "isp_name")) {
104104
mie->isp_name = json_object_get_string(val);
105-
else if (!strcmp(key, "ifname"))
105+
} else if (!strcmp(key, "ifname")) {
106106
mie->ifname = json_object_get_string(val);
107-
else if (!strcmp(key, "imsi_mccmnc"))
107+
} else if (!strcmp(key, "imsi_mccmnc")) {
108108
mie->imsi_mccmnc = (uint32_t) json_object_get_int(val);
109-
else if (!strcmp(key, "network_mccmnc"))
109+
} else if (!strcmp(key, "network_mccmnc")) {
110110
mie->nw_mccmnc = (uint32_t) json_object_get_int(val);
111-
else if (!strcmp(key, "cid"))
111+
} else if (!strcmp(key, "cid")) {
112112
mie->cid = json_object_get_int(val);
113-
else if (!strcmp(key, "device_mode"))
113+
} else if (!strcmp(key, "device_mode")) {
114114
mie->device_mode = (uint8_t) json_object_get_int(val);
115-
else if (!strcmp(key, "device_sub_mode"))
115+
} else if (!strcmp(key, "device_sub_mode")) {
116116
mie->device_submode = (uint8_t) json_object_get_int(val);
117-
else if (!strcmp(key, "rssi"))
117+
} else if (!strcmp(key, "rssi")) {
118118
mie->rssi = (int8_t) json_object_get_int(val);
119-
else if (!strcmp(key, "ecio"))
119+
} else if (!strcmp(key, "ecio")) {
120120
mie->ecio = (int8_t) json_object_get_int(val);
121-
else if (!strcmp(key, "rscp"))
121+
} else if (!strcmp(key, "rscp")) {
122122
mie->rscp = (int16_t) json_object_get_int(val);
123-
else if (!strcmp(key, "lte_rssi"))
123+
} else if (!strcmp(key, "lte_rssi")) {
124124
mie->lte_rssi = (int8_t) json_object_get_int(val);
125-
else if (!strcmp(key, "lte_rsrp"))
125+
} else if (!strcmp(key, "lte_rsrp")) {
126126
mie->lte_rsrp = (int16_t) json_object_get_int(val);
127-
else if (!strcmp(key, "lte_rsrq"))
127+
} else if (!strcmp(key, "lte_rsrq")) {
128128
mie->lte_rsrq = (int8_t) json_object_get_int(val);
129-
else if (!strcmp(key, "lac"))
129+
} else if (!strcmp(key, "lac")) {
130130
mie->lac = (uint16_t) json_object_get_int(val);
131-
else if (!strcmp(key, "lte_band"))
131+
} else if (!strcmp(key, "lte_band")) {
132132
mie->lte_band = (uint8_t) json_object_get_int(val);
133-
else if (!strcmp(key, "lte_freq"))
133+
} else if (!strcmp(key, "lte_freq")) {
134134
mie->lte_freq = (uint16_t) json_object_get_int(val);
135-
else if (!strcmp(key, "lte_pci"))
135+
} else if (!strcmp(key, "lte_pci")) {
136136
mie->lte_pci = (uint16_t) json_object_get_int(val);
137-
else if (!strcmp(key, "device_state"))
137+
} else if (!strcmp(key, "device_state")) {
138138
mie->device_state = (uint8_t) json_object_get_int(val);
139-
else if (!strcmp(key, "enodeb_id"))
139+
} else if (!strcmp(key, "enodeb_id")) {
140140
mie->enodeb_id = json_object_get_int(val);
141+
} else if (!strcmp(key, "ca_info")) {
142+
mie->ca_info = json_object_to_json_string_ext(val, JSON_C_TO_STRING_PLAIN);
143+
}
141144
}
142145

143146
return RETVAL_SUCCESS;

metadata_writer_file.c

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,20 @@ static int md_file_add_json_string(struct json_object *obj,
6262
return RETVAL_SUCCESS;
6363
}
6464

65+
static int md_file_add_json_obj(struct json_object *obj,
66+
const char *key, const char *value)
67+
{
68+
struct json_object *obj_to_add = json_tokener_parse(value);
69+
70+
if (!obj_to_add) {
71+
return RETVAL_FAILURE;
72+
}
73+
74+
json_object_object_add(obj, key, obj_to_add);
75+
76+
return RETVAL_SUCCESS;
77+
}
78+
6579
static int md_file_save(struct md_writer_file *mwf, int event_type, const char *content)
6680
{
6781
int output_fd;
@@ -132,7 +146,8 @@ static void md_file_handle_iface_event(struct md_writer_file *mwf,
132146
(mie->cid != DEFAULT_CID && md_file_add_json_int(obj, "cid", mie->cid)) ||
133147
(mie->enodeb_id != DEFAULT_ENODEBID && md_file_add_json_int(obj, "enodeb_id", mie->enodeb_id)) ||
134148
(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))) {
149+
(mie->device_state != DEFAULT_DEVICE_STATE && md_file_add_json_int(obj, "device_state", mie->device_state)) ||
150+
(mie->ca_info && md_file_add_json_obj(obj, "ca_info", mie->ca_info))) {
136151
META_PRINT_SYSLOG(mwf->parent, LOG_ERR, "md_file_handle_iface_event: Can't create iface values to object!");
137152
json_object_put(obj);
138153
return;

0 commit comments

Comments
 (0)