提交 3e471940 authored 作者: Anthony Minessale's avatar Anthony Minessale

FS-4710 --resolve don't send any data containing ESC seq over syslog

上级 cfce1fd2
...@@ -114,6 +114,20 @@ static switch_loadable_module_interface_t console_module_interface = { ...@@ -114,6 +114,20 @@ static switch_loadable_module_interface_t console_module_interface = {
/*.directory_interface */ NULL /*.directory_interface */ NULL
}; };
static int find_unprintable(const char *s)
{
const char *p;
for(p = s; p && *p; p++) {
if (*p < 10 || *p == 27) {
return 1;
}
}
return 0;
}
static switch_status_t mod_syslog_logger(const switch_log_node_t *node, switch_log_level_t level) static switch_status_t mod_syslog_logger(const switch_log_node_t *node, switch_log_level_t level)
{ {
int syslog_level; int syslog_level;
...@@ -146,7 +160,7 @@ static switch_status_t mod_syslog_logger(const switch_log_node_t *node, switch_l ...@@ -146,7 +160,7 @@ static switch_status_t mod_syslog_logger(const switch_log_node_t *node, switch_l
} }
/* don't log blank lines */ /* don't log blank lines */
if (!zstr(node->data) && (strspn(node->data, " \t\r\n") < strlen(node->data))) { if (!zstr(node->data) && (strspn(node->data, " \t\r\n") < strlen(node->data)) && !find_unprintable(node->data)) {
if (globals.log_uuid && !zstr(node->userdata)) { if (globals.log_uuid && !zstr(node->userdata)) {
syslog(syslog_level, "%s %s", node->userdata, node->data); syslog(syslog_level, "%s %s", node->userdata, node->data);
} else { } else {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论