Skip to content

Commit 03ca452

Browse files
authored
Include whether Beat is running from a FIPS distribution in User Agent (#366)
1 parent bbff785 commit 03ca452

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

useragent/useragent.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,13 @@ func UserAgent(binaryNameCapitalized string, version, commit, buildTime string,
9393
return builder.String()
9494
}
9595

96-
func UserAgentWithBeatTelemetry(binaryNameCapitalized string, version string, mode AgentManagementMode, unprivileged AgentUnprivilegedMode) string {
96+
func UserAgentWithBeatTelemetry(
97+
binaryNameCapitalized string,
98+
version string,
99+
mode AgentManagementMode,
100+
unprivileged AgentUnprivilegedMode,
101+
isFIPSDistribution bool,
102+
) string {
97103
var builder strings.Builder
98104
builder.WriteString("Elastic-" + binaryNameCapitalized + "/" + version + " ")
99105
uaValues := []string{
@@ -106,6 +112,10 @@ func UserAgentWithBeatTelemetry(binaryNameCapitalized string, version string, mo
106112
if unprivileged != AgentUnprivilegedModeUnknown {
107113
uaValues = append(uaValues, unprivileged.String())
108114
}
115+
if isFIPSDistribution {
116+
uaValues = append(uaValues, "FIPS")
117+
}
118+
109119
builder.WriteByte('(')
110120
builder.WriteString(strings.Join(uaValues, "; "))
111121
builder.WriteByte(')')

useragent/useragent_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,10 @@ func TestUserAgent(t *testing.T) {
4141
}
4242

4343
func TestUserAgentWithBeatTelemetry(t *testing.T) {
44-
ua2 := UserAgentWithBeatTelemetry("FakeBeat", v, mode, unprivileged)
44+
isFIPSDistribution := true
45+
ua2 := UserAgentWithBeatTelemetry("FakeBeat", v, mode, unprivileged, isFIPSDistribution)
4546
assert.Regexp(t, regexp.MustCompile(`^Elastic-FakeBeat`), ua2)
46-
assert.Regexp(t, regexp.MustCompile(`; Managed; Unprivileged\)$`), ua2)
47+
assert.Regexp(t, regexp.MustCompile(`; Managed; Unprivileged; FIPS\)$`), ua2)
4748

4849
// Require deliberate update in case we want to extend the User Agent later
4950
assert.LessOrEqual(t, len(ua2), 100, "User agent string should be less than 100 characters")

0 commit comments

Comments
 (0)