Commit b659ffe9 authored by Nick Mathewson's avatar Nick Mathewson 🦀
Browse files

Merge remote-tracking branch 'jryans/log-severity'

parents 1ad96ed9 9b2b799d
Loading
Loading
Loading
Loading

changes/19965

0 → 100644
+3 −0
Original line number Diff line number Diff line
  o Minor bugfix (configuration):
    - Accept non-space whitespace characters after the severity level in the
      `Log` option.  Fixes bug 19965; bugfix on 0.2.1.1-alpha.
+1 −3
Original line number Diff line number Diff line
@@ -1319,10 +1319,8 @@ parse_log_severity_config(const char **cfg_ptr,
    if (got_an_unqualified_range > 1)
      return -1;

    space = strchr(cfg, ' ');
    space = find_whitespace(cfg);
    dash = strchr(cfg, '-');
    if (!space)
      space = strchr(cfg, '\0');
    if (dash && dash < space) {
      sev_lo = tor_strndup(cfg, dash-cfg);
      sev_hi = tor_strndup(dash+1, space-(dash+1));
+28 −1
Original line number Diff line number Diff line
@@ -4890,6 +4890,33 @@ test_config_parse_port_config__ports__server_options(void *data)
  config_free_lines(config_port_valid); config_port_valid = NULL;
}

static void
test_config_parse_log_severity(void *data)
{
  int ret;
  const char *severity_log_lines[] = {
    "debug file /tmp/debug.log",
    "debug\tfile /tmp/debug.log",
    "[handshake]debug [~net,~mm]info notice stdout",
    "[handshake]debug\t[~net,~mm]info\tnotice\tstdout",
    NULL
  };
  int i;
  log_severity_list_t *severity;

  (void) data;

  severity = tor_malloc(sizeof(log_severity_list_t));
  for (i = 0; severity_log_lines[i]; i++) {
    memset(severity, 0, sizeof(log_severity_list_t));
    ret = parse_log_severity_config(&severity_log_lines[i], severity);
    tt_int_op(ret, OP_EQ, 0);
  }

 done:
  tor_free(severity);
}

#define CONFIG_TEST(name, flags)                          \
  { #name, test_config_ ## name, flags, NULL, NULL }

@@ -4916,6 +4943,6 @@ struct testcase_t config_tests[] = {
  CONFIG_TEST(parse_port_config__ports__no_ports_given, 0),
  CONFIG_TEST(parse_port_config__ports__server_options, 0),
  CONFIG_TEST(parse_port_config__ports__ports_given, 0),
  CONFIG_TEST(parse_log_severity, 0),
  END_OF_TESTCASES
};