|
|
@ -137,6 +137,8 @@ static bencode_item_t *__bencode_list(ng_parser_ctx_t *ctx) { |
|
|
return bencode_list(&ctx->ngbuf->buffer); |
|
|
return bencode_list(&ctx->ngbuf->buffer); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
static void bencode_pretty_print(bencode_item_t *el, GString *s); |
|
|
|
|
|
|
|
|
const ng_parser_t ng_parser_native = { |
|
|
const ng_parser_t ng_parser_native = { |
|
|
.collapse = bencode_collapse_str, |
|
|
.collapse = bencode_collapse_str, |
|
|
.dict_iter = bencode_dict_iter, |
|
|
.dict_iter = bencode_dict_iter, |
|
|
@ -160,6 +162,7 @@ const ng_parser_t ng_parser_native = { |
|
|
.list_add = bencode_list_add, |
|
|
.list_add = bencode_list_add, |
|
|
.list_add_dict = bencode_list_add_dictionary, |
|
|
.list_add_dict = bencode_list_add_dictionary, |
|
|
.list_add_string = bencode_list_add_string, |
|
|
.list_add_string = bencode_list_add_string, |
|
|
|
|
|
.pretty_print = bencode_pretty_print, |
|
|
}; |
|
|
}; |
|
|
const ng_parser_t ng_parser_json = { |
|
|
const ng_parser_t ng_parser_json = { |
|
|
.collapse = bencode_collapse_str_json, |
|
|
.collapse = bencode_collapse_str_json, |
|
|
@ -184,6 +187,7 @@ const ng_parser_t ng_parser_json = { |
|
|
.list_add = bencode_list_add, |
|
|
.list_add = bencode_list_add, |
|
|
.list_add_dict = bencode_list_add_dictionary, |
|
|
.list_add_dict = bencode_list_add_dictionary, |
|
|
.list_add_string = bencode_list_add_string, |
|
|
.list_add_string = bencode_list_add_string, |
|
|
|
|
|
.pretty_print = bencode_pretty_print, |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -235,7 +239,7 @@ static void homer_trace_msg_out(ng_ctx *hctx, str *data) { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
static void pretty_print(bencode_item_t *el, GString *s) { |
|
|
|
|
|
|
|
|
static void bencode_pretty_print(bencode_item_t *el, GString *s) { |
|
|
bencode_item_t *chld; |
|
|
bencode_item_t *chld; |
|
|
const char *sep; |
|
|
const char *sep; |
|
|
|
|
|
|
|
|
@ -255,7 +259,7 @@ static void pretty_print(bencode_item_t *el, GString *s) { |
|
|
sep = ""; |
|
|
sep = ""; |
|
|
for (chld = el->child; chld; chld = chld->sibling) { |
|
|
for (chld = el->child; chld; chld = chld->sibling) { |
|
|
g_string_append(s, sep); |
|
|
g_string_append(s, sep); |
|
|
pretty_print(chld, s); |
|
|
|
|
|
|
|
|
bencode_pretty_print(chld, s); |
|
|
sep = ", "; |
|
|
sep = ", "; |
|
|
} |
|
|
} |
|
|
g_string_append(s, " ]"); |
|
|
g_string_append(s, " ]"); |
|
|
@ -266,10 +270,10 @@ static void pretty_print(bencode_item_t *el, GString *s) { |
|
|
sep = ""; |
|
|
sep = ""; |
|
|
for (chld = el->child; chld; chld = chld->sibling) { |
|
|
for (chld = el->child; chld; chld = chld->sibling) { |
|
|
g_string_append(s, sep); |
|
|
g_string_append(s, sep); |
|
|
pretty_print(chld, s); |
|
|
|
|
|
|
|
|
bencode_pretty_print(chld, s); |
|
|
g_string_append(s, ": "); |
|
|
g_string_append(s, ": "); |
|
|
chld = chld->sibling; |
|
|
chld = chld->sibling; |
|
|
pretty_print(chld, s); |
|
|
|
|
|
|
|
|
bencode_pretty_print(chld, s); |
|
|
sep = ", "; |
|
|
sep = ", "; |
|
|
} |
|
|
} |
|
|
g_string_append(s, " }"); |
|
|
g_string_append(s, " }"); |
|
|
@ -390,7 +394,7 @@ static void control_ng_process_payload(ng_ctx *hctx, str *reply, str *data, cons |
|
|
log_str = g_string_sized_new(256); |
|
|
log_str = g_string_sized_new(256); |
|
|
g_string_append_printf(log_str, "Dump for '"STR_FORMAT"' from %s: %s", STR_FMT(&cmd), addr, |
|
|
g_string_append_printf(log_str, "Dump for '"STR_FORMAT"' from %s: %s", STR_FMT(&cmd), addr, |
|
|
rtpe_config.common.log_mark_prefix); |
|
|
rtpe_config.common.log_mark_prefix); |
|
|
pretty_print(parser_ctx.req, log_str); |
|
|
|
|
|
|
|
|
parser_ctx.parser->pretty_print(parser_ctx.req, log_str); |
|
|
g_string_append(log_str, rtpe_config.common.log_mark_suffix); |
|
|
g_string_append(log_str, rtpe_config.common.log_mark_suffix); |
|
|
ilogs(control, LOG_DEBUG, "%.*s", (int) log_str->len, log_str->str); |
|
|
ilogs(control, LOG_DEBUG, "%.*s", (int) log_str->len, log_str->str); |
|
|
g_string_free(log_str, TRUE); |
|
|
g_string_free(log_str, TRUE); |
|
|
@ -562,7 +566,7 @@ send_resp: |
|
|
g_string_append_printf(log_str, "Response dump for '"STR_FORMAT"' to %s: %s", |
|
|
g_string_append_printf(log_str, "Response dump for '"STR_FORMAT"' to %s: %s", |
|
|
STR_FMT(&cmd), addr, |
|
|
STR_FMT(&cmd), addr, |
|
|
rtpe_config.common.log_mark_prefix); |
|
|
rtpe_config.common.log_mark_prefix); |
|
|
pretty_print(parser_ctx.req, log_str); |
|
|
|
|
|
|
|
|
parser_ctx.parser->pretty_print(parser_ctx.req, log_str); |
|
|
g_string_append(log_str, rtpe_config.common.log_mark_suffix); |
|
|
g_string_append(log_str, rtpe_config.common.log_mark_suffix); |
|
|
ilogs(control, LOG_DEBUG, "%.*s", (int) log_str->len, log_str->str); |
|
|
ilogs(control, LOG_DEBUG, "%.*s", (int) log_str->len, log_str->str); |
|
|
g_string_free(log_str, TRUE); |
|
|
g_string_free(log_str, TRUE); |
|
|
|