|
|
|
@ -1331,6 +1331,9 @@ static int redis_sfds(struct call *c, struct redis_list *sfds) { |
|
|
|
set_tos(sock, c->tos); |
|
|
|
sfd = stream_fd_new(sock, c, loc); |
|
|
|
|
|
|
|
if (redis_hash_get_sdes_params1(&sfd->crypto.params, rh, "") == -1) |
|
|
|
return -1; |
|
|
|
|
|
|
|
sfds->ptrs[i] = sfd; |
|
|
|
} |
|
|
|
return 0; |
|
|
|
@ -1363,6 +1366,8 @@ static int redis_streams(struct call *c, struct redis_list *streams) { |
|
|
|
return -1; |
|
|
|
if (redis_hash_get_stats(&ps->stats, rh, "stats")) |
|
|
|
return -1; |
|
|
|
if (redis_hash_get_sdes_params1(&ps->crypto.params, rh, "") == -1) |
|
|
|
return -1; |
|
|
|
|
|
|
|
streams->ptrs[i] = ps; |
|
|
|
|
|
|
|
@ -1979,6 +1984,24 @@ err: |
|
|
|
#define JSON_SET_SIMPLE_CSTR(a,d) JSON_SET_SIMPLE_LEN(a, strlen(d), d) |
|
|
|
#define JSON_SET_SIMPLE_STR(a,d) JSON_SET_SIMPLE_LEN(a, (d)->len, (d)->s) |
|
|
|
|
|
|
|
static void json_update_crypto_params(JsonBuilder *builder, const char *key, struct crypto_params *p) { |
|
|
|
char tmp[2048]; |
|
|
|
|
|
|
|
if (!p->crypto_suite) |
|
|
|
return; |
|
|
|
|
|
|
|
JSON_SET_NSTRING_CSTR("%s-crypto_suite", key, p->crypto_suite->name); |
|
|
|
JSON_SET_NSTRING_LEN("%s-master_key", key, sizeof(p->master_key), (char *) p->master_key); |
|
|
|
JSON_SET_NSTRING_LEN("%s-master_salt", key, sizeof(p->master_salt), (char *) p->master_salt); |
|
|
|
|
|
|
|
JSON_SET_NSTRING("%s-unenc-srtp", key, "%i", p->session_params.unencrypted_srtp); |
|
|
|
JSON_SET_NSTRING("%s-unenc-srtcp", key, "%i", p->session_params.unencrypted_srtcp); |
|
|
|
JSON_SET_NSTRING("%s-unauth-srtp", key, "%i", p->session_params.unauthenticated_srtp); |
|
|
|
|
|
|
|
if (p->mki) |
|
|
|
JSON_SET_NSTRING_LEN("%s-mki", key, p->mki_len, (char *) p->mki); |
|
|
|
} |
|
|
|
|
|
|
|
static int json_update_sdes_params(JsonBuilder *builder, const char *pref, |
|
|
|
unsigned int unique_id, |
|
|
|
const char *k, GQueue *q) |
|
|
|
@ -1996,17 +2019,7 @@ static int json_update_sdes_params(JsonBuilder *builder, const char *pref, |
|
|
|
return -1; |
|
|
|
|
|
|
|
JSON_SET_NSTRING("%s_tag", key, "%u", cps->tag); |
|
|
|
JSON_SET_NSTRING_CSTR("%s-crypto_suite",key,p->crypto_suite->name); |
|
|
|
JSON_SET_NSTRING_LEN("%s-master_key",key, sizeof(p->master_key), (char *) p->master_key); |
|
|
|
JSON_SET_NSTRING_LEN("%s-master_salt",key, sizeof(p->master_salt), (char *) p->master_salt); |
|
|
|
|
|
|
|
JSON_SET_NSTRING("%s-unenc-srtp",key,"%i",p->session_params.unencrypted_srtp); |
|
|
|
JSON_SET_NSTRING("%s-unenc-srtcp",key,"%i",p->session_params.unencrypted_srtcp); |
|
|
|
JSON_SET_NSTRING("%s-unauth-srtp",key,"%i",p->session_params.unauthenticated_srtp); |
|
|
|
|
|
|
|
if (p->mki) { |
|
|
|
JSON_SET_NSTRING_LEN("%s-mki",key, p->mki_len, (char *) p->mki); |
|
|
|
} |
|
|
|
json_update_crypto_params(builder, key, p); |
|
|
|
|
|
|
|
snprintf(keybuf, sizeof(keybuf), "%s-%u", k, iter++); |
|
|
|
key = keybuf; |
|
|
|
@ -2091,6 +2104,8 @@ char* redis_encode_json(struct call *c) { |
|
|
|
JSON_SET_SIMPLE("local_intf_uid","%u",sfd->local_intf->unique_id); |
|
|
|
JSON_SET_SIMPLE("stream","%u",sfd->stream->unique_id); |
|
|
|
|
|
|
|
json_update_crypto_params(builder, "", &sfd->crypto.params); |
|
|
|
|
|
|
|
} |
|
|
|
json_builder_end_object (builder); |
|
|
|
|
|
|
|
@ -2122,6 +2137,7 @@ char* redis_encode_json(struct call *c) { |
|
|
|
JSON_SET_SIMPLE("stats-bytes","%" PRIu64, atomic64_get(&ps->stats.bytes)); |
|
|
|
JSON_SET_SIMPLE("stats-errors","%" PRIu64, atomic64_get(&ps->stats.errors)); |
|
|
|
|
|
|
|
json_update_crypto_params(builder, "", &ps->crypto.params); |
|
|
|
} |
|
|
|
|
|
|
|
json_builder_end_object (builder); |
|
|
|
|