aboutsummaryrefslogtreecommitdiffhomepage
path: root/modules/logging/filters.go
diff options
context:
space:
mode:
Diffstat (limited to 'modules/logging/filters.go')
-rw-r--r--modules/logging/filters.go21
1 files changed, 21 insertions, 0 deletions
diff --git a/modules/logging/filters.go b/modules/logging/filters.go
index f38f8c185..79d908fca 100644
--- a/modules/logging/filters.go
+++ b/modules/logging/filters.go
@@ -169,6 +169,27 @@ func (IPMaskFilter) CaddyModule() caddy.ModuleInfo {
// UnmarshalCaddyfile sets up the module from Caddyfile tokens.
func (m *IPMaskFilter) UnmarshalCaddyfile(d *caddyfile.Dispenser) error {
d.Next() // consume filter name
+
+ args := d.RemainingArgs()
+ if len(args) > 2 {
+ return d.Errf("too many arguments")
+ }
+ if len(args) > 0 {
+ val, err := strconv.Atoi(args[0])
+ if err != nil {
+ return d.Errf("error parsing %s: %v", args[0], err)
+ }
+ m.IPv4MaskRaw = val
+
+ if len(args) > 1 {
+ val, err := strconv.Atoi(args[1])
+ if err != nil {
+ return d.Errf("error parsing %s: %v", args[1], err)
+ }
+ m.IPv6MaskRaw = val
+ }
+ }
+
for d.NextBlock(0) {
switch d.Val() {
case "ipv4":