1
0
vault-redux/tools/semgrep/replication-has-state.yml
Steven Clark 2b88002501
Update licensing across various source files - 1.14 (#24674)
* Fix licensing on various files

* Update CI and release files to BUSL-1.1

* Update offset within config_test_helpers.go

 - Fix a test the same way it's been fixed on main/1.15
2024-01-08 12:24:52 -05:00

62 lines
2.3 KiB
YAML

# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
rules:
- id: replication-state-should-use-IsPerfSecondary
patterns:
- pattern: |
$CORE.ReplicationState().HasState(consts.ReplicationPerformanceSecondary)
# Not the defining function
- pattern-not-inside: |
func ($CORE *Core) IsPerfSecondary() bool {
...
}
# Not a call to System()
- pattern-not: |
$BACKEND.System().ReplicationState().HasState(consts.ReplicationPerformanceSecondary)
- pattern-not: |
$IDENTITYSTORE.localNode.ReplicationState().HasState(consts.ReplicationPerformanceSecondary)
message: "Consider replacing ReplicationState().HasState(...) with IsPerfSecondary()"
languages: [go]
severity: WARNING
fix: $CORE.IsPerfSecondary()
- id: replication-state-should-use-IsDrSecondar
patterns:
- pattern: |
$CORE.ReplicationState().HasState(consts.ReplicationDRSecondary)
# Not the defining function
- pattern-not-inside: |
func ($CORE *Core) IsDRSecondary() bool {
...
}
# Not a call to System()
- pattern-not: |
$BACKEND.System().ReplicationState().HasState(consts.ReplicationDRSecondary)
- pattern-not: |
$IDENTITYSTORE.localNode.ReplicationState().HasState(consts.ReplicationDRSecondary)
message: "Consider replacing ReplicationState().HasState(...) with IsDRSecondary()"
languages: [go]
severity: WARNING
fix: $CORE.IsDRSecondary()
- id: replication-state-in-handler-op
patterns:
- pattern: |
$B.System().ReplicationState().HasState($STATE)
- pattern-inside: |
func ($T $TYPE) $FUNC($CTX context.Context, $REQ *logical.Request, $D *framework.FieldData) (*logical.Response, error) {
...
}
message: "Consider using frameworks ForwardPerformance* setting"
languages: [go]
severity: WARNING
- id: replication-state-bad-logic
patterns:
- pattern: |
b.System().LocalMount() || !b.System().ReplicationState().HasState(<... consts.ReplicationPerformanceStandby ...>)
message: "Invalid replication state handling of local mounts"
languages: [go]
severity: ERROR