check / check (push) Waiting to run
The package passes nothing to an app since rproxy took that over, so it is named after the command it serves. Its constructor is New, like rproxy's. The rproxy tests call their stand-in for servewaf standIn, since a local servewaf would hide the package. No change of behaviour. Model: opus-5-5
22 lines
567 B
Go
22 lines
567 B
Go
package servewaf
|
|
|
|
import (
|
|
"slices"
|
|
)
|
|
|
|
// countryDenied reports whether the country lists refuse the request, by
|
|
// the client's country as it was looked up. A client without a country,
|
|
// or whose country cannot be found, is refused only by
|
|
// SWWAF_EXCLUSIVELY_ALLOWED_COUNTRIES.
|
|
func (rq *request) countryDenied() bool {
|
|
denied := rq.h.config.DeniedCountries
|
|
allowed := rq.h.config.ExclusivelyAllowedCountries
|
|
country := rq.line.Country
|
|
|
|
if slices.Contains(denied, country) {
|
|
return true
|
|
}
|
|
|
|
return len(allowed) > 0 && !slices.Contains(allowed, country)
|
|
}
|