Skip to content

Commit 05ced62

Browse files
refactor!: opt-in with the appsec build tag when cgo is disabled (#57)
Signed-off-by: Eliott Bouhana <[email protected]> Co-authored-by: Julio Guerra <[email protected]>
1 parent 2cbd3ff commit 05ced62

17 files changed

+75
-13
lines changed

.github/workflows/test.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ jobs:
2020
- '' # Default behavior
2121
- 'datadog.no_waf' # Explicitly disabled WAF
2222
- 'go1.22' # Too recent go version (purego compatibility uncertain)
23+
- 'appsec' # Legacy build tag to enable appsec when cgo is disabled
2324
- 'datadog.no_waf,go1.22' # Explicitly disabled & too recent go version (purego compatibility uncertain)
2425
include:
2526
# gocheck2 is configured differently in go1.21 than in previous versions
@@ -39,6 +40,8 @@ jobs:
3940
go-tags: go1.22
4041
- go-version: '1.19'
4142
go-tags: datadog.no_waf,go1.22
43+
- cgo-enabled: 1
44+
go-tags: "appsec"
4245
name: ${{ matrix.runs-on }} go${{ matrix.go-version }} cgo=${{ matrix.cgo-enabled }} tags=${{ matrix.go-tags }}
4346
runs-on: ${{ matrix.runs-on }}
4447
steps:
@@ -78,6 +81,7 @@ jobs:
7881
- '' # Default behavior
7982
- 'datadog.no_waf' # Explicitly disabled WAF
8083
- 'go1.22' # Too recent go version (purego compatibility uncertain)
84+
- 'appsec' # Legacy build tag to enable appsec when cgo is disabled
8185
- 'datadog.no_waf,go1.22' # Explicitly disabled & too recent go version (purego compatibility uncertain)
8286
include:
8387
# gocheck2 is configured differently in go1.21 than in previous versions
@@ -105,6 +109,8 @@ jobs:
105109
image: amazonlinux:2
106110
- go-version: '1.21'
107111
image: amazonlinux:2
112+
- cgo-enabled: 1
113+
go-tags: "appsec"
108114
name: linux/${{ matrix.arch }} ${{ format(matrix.image, matrix.go-version) }} cgo=${{ matrix.cgo-enabled }} tags=${{ matrix.go-tags }}
109115
runs-on: ubuntu-latest
110116
steps:

_tools/libddwaf-updater/update.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ func (t target) embedSourceFilename() string {
282282
}
283283

284284
func (t target) buildConstraintDirective() string {
285-
return fmt.Sprintf("//go:build %s && %s && !%s && !datadog.no_waf", t.os, t.arch, goVersionUnsupported)
285+
return fmt.Sprintf("//go:build %s && %s && !%s && !datadog.no_waf && (cgo || appsec)", t.os, t.arch, goVersionUnsupported)
286286
}
287287

288288
func (t target) tempFilePatternStatement() string {

ctypes_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
// Copyright 2016-present Datadog, Inc.
55

66
// Purego only works on linux/macOS with amd64 and arm64 from now
7-
//go:build (linux || darwin) && (amd64 || arm64) && !go1.22 && !datadog.no_waf
7+
//go:build (linux || darwin) && (amd64 || arm64) && !go1.22 && !datadog.no_waf && (cgo || appsec)
88

99
package waf
1010

encoder_decoder_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
// This product includes software developed at Datadog (https://www.datadoghq.com/).
44
// Copyright 2016-present Datadog, Inc.
55

6-
//go:build (amd64 || arm64) && (linux || darwin) && !go1.22 && !datadog.no_waf
6+
//go:build (amd64 || arm64) && (linux || darwin) && !go1.22 && !datadog.no_waf && (cgo || appsec)
77

88
package waf
99

internal/lib/lib.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
// This product includes software developed at Datadog (https://www.datadoghq.com/).
44
// Copyright 2016-present Datadog, Inc.
55

6-
//go:build ((darwin && (amd64 || arm64)) || (linux && (amd64 || arm64))) && !go1.22 && !datadog.no_waf
6+
//go:build ((darwin && (amd64 || arm64)) || (linux && (amd64 || arm64))) && !go1.22 && !datadog.no_waf && (cgo || appsec)
77

88
package lib
99

internal/lib/lib_darwin_amd64.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
// This product includes software developed at Datadog (https://www.datadoghq.com/).
44
// Copyright 2016-present Datadog, Inc.
55

6-
//go:build darwin && amd64 && !go1.22 && !datadog.no_waf
6+
//go:build darwin && amd64 && !go1.22 && !datadog.no_waf && (cgo || appsec)
77

88
package lib
99

internal/lib/lib_darwin_arm64.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
// This product includes software developed at Datadog (https://www.datadoghq.com/).
44
// Copyright 2016-present Datadog, Inc.
55

6-
//go:build darwin && arm64 && !go1.22 && !datadog.no_waf
6+
//go:build darwin && arm64 && !go1.22 && !datadog.no_waf && (cgo || appsec)
77

88
package lib
99

internal/lib/lib_linux_amd64.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
// This product includes software developed at Datadog (https://www.datadoghq.com/).
44
// Copyright 2016-present Datadog, Inc.
55

6-
//go:build linux && amd64 && !go1.22 && !datadog.no_waf
6+
//go:build linux && amd64 && !go1.22 && !datadog.no_waf && (cgo || appsec)
77

88
package lib
99

internal/lib/lib_linux_arm64.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
// This product includes software developed at Datadog (https://www.datadoghq.com/).
44
// Copyright 2016-present Datadog, Inc.
55

6-
//go:build linux && arm64 && !go1.22 && !datadog.no_waf
6+
//go:build linux && arm64 && !go1.22 && !datadog.no_waf && (cgo || appsec)
77

88
package lib
99

symbols_linux_purego.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
// This product includes software developed at Datadog (https://www.datadoghq.com/).
44
// Copyright 2016-present Datadog, Inc.
55

6-
//go:build !cgo && linux && !go1.22 && !datadog.no_waf
6+
//go:build !cgo && appsec && linux && !go1.22 && !datadog.no_waf
77

88
package waf
99

0 commit comments

Comments
 (0)