waf_helpers.go 844 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package waf
  2. import (
  3. "github.com/antonmedv/expr"
  4. "github.com/crowdsecurity/crowdsec/pkg/exprhelpers"
  5. )
  6. var exprFunctionOptions []expr.Option
  7. func initWafHelpers() {
  8. exprFunctionOptions = []expr.Option{}
  9. for _, function := range exprFuncs {
  10. exprFunctionOptions = append(exprFunctionOptions,
  11. expr.Function(function.name,
  12. function.function,
  13. function.signature...,
  14. ))
  15. }
  16. }
  17. func GetExprWAFOptions(ctx map[string]interface{}) []expr.Option {
  18. baseHelpers := exprhelpers.GetExprOptions(ctx)
  19. for _, function := range exprFuncs {
  20. baseHelpers = append(baseHelpers,
  21. expr.Function(function.name,
  22. function.function,
  23. function.signature...,
  24. ))
  25. }
  26. return baseHelpers
  27. }
  28. func SetRulesToInband(params ...any) (any, error) {
  29. return nil, nil
  30. }
  31. func SetRulesToOutOfBand(params ...any) (any, error) {
  32. return nil, nil
  33. }