Commit 3c73622f authored by David Goulet's avatar David Goulet
Browse files

hs: Double quote the metrics label value

Fixes #40552

Signed-off-by: David Goulet's avatarDavid Goulet <dgoulet@torproject.org>
parent 1b58399b
Pipeline #25892 passed with stage
in 18 minutes and 49 seconds
o Minor bugfixes (MetricsPort, Prometheus):
- Add double quotes to the label values of the onion service metrics. Fixes
bug 40552; bugfix on 0.4.5.1-alpha.
......@@ -32,12 +32,16 @@ port_to_str(const uint16_t port)
/** Return a static buffer pointer that contains a formatted label on the form
* of key=value.
*
* NOTE: Important, label values MUST NOT contain double quotes else, in the
* case of Prometheus, it will fail with a malformed line because we force the
* label value to be enclosed in double quotes.
*
* Subsequent call to this function invalidates the previous buffer. */
static const char *
format_label(const char *key, const char *value)
{
static char buf[128];
tor_snprintf(buf, sizeof(buf), "%s=%s", key, value);
tor_snprintf(buf, sizeof(buf), "%s=\"%s\"", key, value);
return buf;
}
......
......@@ -30,8 +30,8 @@
#define TEST_METRICS_ENTRY_NAME "entryA"
#define TEST_METRICS_ENTRY_HELP "Description of entryA"
#define TEST_METRICS_ENTRY_LABEL_1 "label=farfadet"
#define TEST_METRICS_ENTRY_LABEL_2 "label=ponki"
#define TEST_METRICS_ENTRY_LABEL_1 "label=\"farfadet\""
#define TEST_METRICS_ENTRY_LABEL_2 "label=\"ponki\""
static void
set_metrics_port(or_options_t *options)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment