From 5af1be33564d7dbe70b464a562a2e23e0c3e84be Mon Sep 17 00:00:00 2001 From: konradh <49533343+konradh@users.noreply.github.com> Date: Wed, 24 Jan 2024 20:27:51 +0100 Subject: [PATCH] fix: allow clearing ndp.spoof.neighbour to disable neighbor advertisements --- modules/ndp_spoof/ndp_spoof.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/ndp_spoof/ndp_spoof.go b/modules/ndp_spoof/ndp_spoof.go index 86d4130f..f542da90 100644 --- a/modules/ndp_spoof/ndp_spoof.go +++ b/modules/ndp_spoof/ndp_spoof.go @@ -36,7 +36,7 @@ func NewNDPSpoofer(s *session.Session) *NDPSpoofer { mod.AddParam(session.NewStringParameter("ndp.spoof.neighbour", "fe80::1", - session.IPv6Validator, + `^([:a-fA-F0-9]{6,})?$`, "Neighbour IPv6 address to spoof, clear to disable NA.")) mod.AddParam(session.NewStringParameter("ndp.spoof.prefix", "d00d::", "", @@ -99,6 +99,8 @@ func (mod *NDPSpoofer) Configure() error { } else { if err, neigh = mod.StringParam("ndp.spoof.neighbour"); err != nil { return err + } else if neigh == "" { + mod.neighbour = nil } else if mod.neighbour = net.ParseIP(neigh); mod.neighbour == nil { return fmt.Errorf("can't parse neighbour address %s", neigh) }