Loading src/common/log.c +7 −0 Original line number Original line Diff line number Diff line Loading @@ -137,6 +137,13 @@ static void close_log(logfile_t *victim); static char *domain_to_string(log_domain_mask_t domain, static char *domain_to_string(log_domain_mask_t domain, char *buf, size_t buflen); char *buf, size_t buflen); static INLINE char *format_msg(char *buf, size_t buf_len, log_domain_mask_t domain, int severity, const char *funcname, const char *format, va_list ap, size_t *msg_len_out) CHECK_PRINTF(6,0); static void logv(int severity, log_domain_mask_t domain, const char *funcname, const char *format, va_list ap) CHECK_PRINTF(4,0); /** Name of the application: used to generate the message we write at the /** Name of the application: used to generate the message we write at the * start of each new log. */ * start of each new log. */ Loading src/or/control.c +13 −3 Original line number Original line Diff line number Diff line Loading @@ -126,6 +126,13 @@ typedef int event_format_t; static void connection_printf_to_buf(control_connection_t *conn, static void connection_printf_to_buf(control_connection_t *conn, const char *format, ...) const char *format, ...) CHECK_PRINTF(2,3); CHECK_PRINTF(2,3); static void send_control_event_impl(uint16_t event, event_format_t which, const char *format, va_list ap) CHECK_PRINTF(3,0); static int control_event_status(int type, int severity, const char *format, va_list args) CHECK_PRINTF(3,0); static void send_control_done(control_connection_t *conn); static void send_control_done(control_connection_t *conn); static void send_control_event(uint16_t event, event_format_t which, static void send_control_event(uint16_t event, event_format_t which, const char *format, ...) const char *format, ...) Loading Loading @@ -3918,6 +3925,7 @@ control_event_my_descriptor_changed(void) static int static int control_event_status(int type, int severity, const char *format, va_list args) control_event_status(int type, int severity, const char *format, va_list args) { { char *user_buf = NULL; char format_buf[160]; char format_buf[160]; const char *status, *sev; const char *status, *sev; Loading Loading @@ -3949,13 +3957,15 @@ control_event_status(int type, int severity, const char *format, va_list args) log_warn(LD_BUG, "Unrecognized status severity %d", severity); log_warn(LD_BUG, "Unrecognized status severity %d", severity); return -1; return -1; } } if (tor_snprintf(format_buf, sizeof(format_buf), "650 %s %s %s\r\n", if (tor_snprintf(format_buf, sizeof(format_buf), "650 %s %s\r\n", status, sev, format)<0) { status, sev)<0) { log_warn(LD_BUG, "Format string too long."); log_warn(LD_BUG, "Format string too long."); return -1; return -1; } } tor_vasprintf(&user_buf, format, args); send_control_event_impl(type, ALL_FORMATS, format_buf, args); send_control_event(type, ALL_FORMATS, "%s %s", format_buf, user_buf); tor_free(user_buf); return 0; return 0; } } Loading Loading
src/common/log.c +7 −0 Original line number Original line Diff line number Diff line Loading @@ -137,6 +137,13 @@ static void close_log(logfile_t *victim); static char *domain_to_string(log_domain_mask_t domain, static char *domain_to_string(log_domain_mask_t domain, char *buf, size_t buflen); char *buf, size_t buflen); static INLINE char *format_msg(char *buf, size_t buf_len, log_domain_mask_t domain, int severity, const char *funcname, const char *format, va_list ap, size_t *msg_len_out) CHECK_PRINTF(6,0); static void logv(int severity, log_domain_mask_t domain, const char *funcname, const char *format, va_list ap) CHECK_PRINTF(4,0); /** Name of the application: used to generate the message we write at the /** Name of the application: used to generate the message we write at the * start of each new log. */ * start of each new log. */ Loading
src/or/control.c +13 −3 Original line number Original line Diff line number Diff line Loading @@ -126,6 +126,13 @@ typedef int event_format_t; static void connection_printf_to_buf(control_connection_t *conn, static void connection_printf_to_buf(control_connection_t *conn, const char *format, ...) const char *format, ...) CHECK_PRINTF(2,3); CHECK_PRINTF(2,3); static void send_control_event_impl(uint16_t event, event_format_t which, const char *format, va_list ap) CHECK_PRINTF(3,0); static int control_event_status(int type, int severity, const char *format, va_list args) CHECK_PRINTF(3,0); static void send_control_done(control_connection_t *conn); static void send_control_done(control_connection_t *conn); static void send_control_event(uint16_t event, event_format_t which, static void send_control_event(uint16_t event, event_format_t which, const char *format, ...) const char *format, ...) Loading Loading @@ -3918,6 +3925,7 @@ control_event_my_descriptor_changed(void) static int static int control_event_status(int type, int severity, const char *format, va_list args) control_event_status(int type, int severity, const char *format, va_list args) { { char *user_buf = NULL; char format_buf[160]; char format_buf[160]; const char *status, *sev; const char *status, *sev; Loading Loading @@ -3949,13 +3957,15 @@ control_event_status(int type, int severity, const char *format, va_list args) log_warn(LD_BUG, "Unrecognized status severity %d", severity); log_warn(LD_BUG, "Unrecognized status severity %d", severity); return -1; return -1; } } if (tor_snprintf(format_buf, sizeof(format_buf), "650 %s %s %s\r\n", if (tor_snprintf(format_buf, sizeof(format_buf), "650 %s %s\r\n", status, sev, format)<0) { status, sev)<0) { log_warn(LD_BUG, "Format string too long."); log_warn(LD_BUG, "Format string too long."); return -1; return -1; } } tor_vasprintf(&user_buf, format, args); send_control_event_impl(type, ALL_FORMATS, format_buf, args); send_control_event(type, ALL_FORMATS, "%s %s", format_buf, user_buf); tor_free(user_buf); return 0; return 0; } } Loading