X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=trp%2Ftrp_peer_encoders.c;h=48f74c5ddea3f30540043aee26f41a19d1adafb3;hb=fe3b5cb31ab0d19c2ead6465f82ceb749bf05b75;hp=4e8d57e699219588da59b8c7d3c9d58217af22b7;hpb=50696f931f2ebffc2a1f01f4819042d08eeab6d2;p=trust_router.git diff --git a/trp/trp_peer_encoders.c b/trp/trp_peer_encoders.c index 4e8d57e..48f74c5 100644 --- a/trp/trp_peer_encoders.c +++ b/trp/trp_peer_encoders.c @@ -38,6 +38,7 @@ #include #include #include +#include char *trp_peer_to_str(TALLOC_CTX *memctx, TRP_PEER *peer, const char *sep) { @@ -50,7 +51,7 @@ char *trp_peer_to_str(TALLOC_CTX *memctx, TRP_PEER *peer, const char *sep) } /* helper for encoding to json */ -static json_t *server_to_json_string(const char *server, unsigned int port) +static json_t *server_to_json_string(const char *server, int port) { char *s = talloc_asprintf(NULL, "%s:%u", server, port); json_t *jstr = json_string(s); @@ -64,29 +65,18 @@ static json_t *last_attempt_to_json_string(TRP_PEER *peer) char *s = NULL; json_t *jstr = NULL; - if (tr_cmp_timespec(trp_peer_get_last_conn_attempt(peer), &ts_zero) == 0) { - s = strdup(""); - } else { + if (tr_cmp_timespec(trp_peer_get_last_conn_attempt(peer), &ts_zero) > 0) { s = timespec_to_str(trp_peer_get_last_conn_attempt(peer)); - } - if (s) { - jstr = json_string(s); - free(s); + if (s) { + jstr = json_string(s); + free(s); + } } return jstr; } -/* helper for below */ -#define OBJECT_SET_OR_FAIL(jobj, key, val) \ -do { \ - if (val) \ - json_object_set_new((jobj),(key),(val)); \ - else \ - goto cleanup; \ -} while (0) - json_t *trp_peer_to_json(TRP_PEER *peer) { json_t *peer_json = NULL; @@ -112,6 +102,8 @@ json_t *trp_peer_to_json(TRP_PEER *peer) last_attempt_to_json_string(peer)); OBJECT_SET_OR_FAIL(peer_json, "allowed_credentials", tr_gss_names_to_json_array(trp_peer_get_gss_names(peer))); + OBJECT_SET_OR_FAIL(peer_json, "filters", + tr_filter_set_to_json(peer->filters)); /* succeeded - set the return value and increment the reference count */ retval = peer_json;