aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDavid Goulet <dgoulet@torproject.org>2022-02-03 08:30:40 -0500
committerDavid Goulet <dgoulet@torproject.org>2022-02-03 08:30:40 -0500
commita08b12568eb7f1d1fb8bd34847461e0887b6981d (patch)
treea0d4354f50ba0df0ed8fb820170b3cd34a15b96a /src
parentbc500804fde501368c8989e1118b389fa024f52e (diff)
parent3c73622f27c67eb636f19a938c5f401da8db901f (diff)
downloadtor-a08b12568eb7f1d1fb8bd34847461e0887b6981d.tar.gz
tor-a08b12568eb7f1d1fb8bd34847461e0887b6981d.zip
Merge branch 'maint-0.4.5' into maint-0.4.6
Diffstat (limited to 'src')
-rw-r--r--src/feature/hs/hs_metrics.c6
-rw-r--r--src/test/test_metrics.c4
2 files changed, 7 insertions, 3 deletions
diff --git a/src/feature/hs/hs_metrics.c b/src/feature/hs/hs_metrics.c
index e023eab90c..891029aded 100644
--- a/src/feature/hs/hs_metrics.c
+++ b/src/feature/hs/hs_metrics.c
@@ -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;
}
diff --git a/src/test/test_metrics.c b/src/test/test_metrics.c
index 5068a8254b..ba1a763f0c 100644
--- a/src/test/test_metrics.c
+++ b/src/test/test_metrics.c
@@ -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)