File: 0023-Use-legacy-label-name-validation.patch

package info (click to toggle)
prometheus 2.53.5%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 25,344 kB
  • sloc: javascript: 2,423; yacc: 758; sh: 431; makefile: 231; lex: 189
file content (79 lines) | stat: -rw-r--r-- 2,245 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
From: Daniel Swarbrick <dswarbrick@debian.org>
Date: Thu, 20 Feb 2025 14:54:23 +0100
Subject: Use legacy label name validation

Forwarded: not-needed
Last-Update: 2025-02-20

Due to a backwards-incompatible change in prometheus/common v0.62.0,
override the global models.NameValidationScheme variable to enforce
legacy (non-UTF-8) label names. This patch can be dropped once the
prometheus package is updated to one that supports UTF-8 label names,
i.e., v2.55.0 or later.
---
 model/labels/labels_common.go | 4 ++++
 model/relabel/relabel.go      | 4 ++++
 model/rulefmt/rulefmt.go      | 4 ++++
 storage/remote/codec.go       | 4 ++++
 4 files changed, 16 insertions(+)

diff --git a/model/labels/labels_common.go b/model/labels/labels_common.go
index f46321c..60b92c2 100644
--- a/model/labels/labels_common.go
+++ b/model/labels/labels_common.go
@@ -33,6 +33,10 @@ const (
 
 var seps = []byte{'\xff'}
 
+func init() {
+	model.NameValidationScheme = model.LegacyValidation
+}
+
 // Label is a key/value pair of strings.
 type Label struct {
 	Name, Value string
diff --git a/model/relabel/relabel.go b/model/relabel/relabel.go
index db2e6ce..3c51ab0 100644
--- a/model/relabel/relabel.go
+++ b/model/relabel/relabel.go
@@ -37,6 +37,10 @@ var (
 	}
 )
 
+func init() {
+	model.NameValidationScheme = model.LegacyValidation
+}
+
 // Action is the action to be performed on relabeling.
 type Action string
 
diff --git a/model/rulefmt/rulefmt.go b/model/rulefmt/rulefmt.go
index bfb85ce..fa1d264 100644
--- a/model/rulefmt/rulefmt.go
+++ b/model/rulefmt/rulefmt.go
@@ -32,6 +32,10 @@ import (
 	"github.com/prometheus/prometheus/template"
 )
 
+func init() {
+	model.NameValidationScheme = model.LegacyValidation
+}
+
 // Error represents semantic errors on parsing rule groups.
 type Error struct {
 	Group    string
diff --git a/storage/remote/codec.go b/storage/remote/codec.go
index 4893340..b32c8e5 100644
--- a/storage/remote/codec.go
+++ b/storage/remote/codec.go
@@ -41,6 +41,10 @@ import (
 // decodeReadLimit is the maximum size of a read request body in bytes.
 const decodeReadLimit = 32 * 1024 * 1024
 
+func init() {
+	model.NameValidationScheme = model.LegacyValidation
+}
+
 type HTTPError struct {
 	msg    string
 	status int