From 1de7013eaca9f1bdce506d7b7e4b57c5c452e9ac Mon Sep 17 00:00:00 2001 From: evilsocket Date: Wed, 7 Feb 2018 18:48:40 +0100 Subject: [PATCH] balls --- firewall/firewall_windows.go | 45 ++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 firewall/firewall_windows.go diff --git a/firewall/firewall_windows.go b/firewall/firewall_windows.go new file mode 100644 index 00000000..ff03b46d --- /dev/null +++ b/firewall/firewall_windows.go @@ -0,0 +1,45 @@ +package firewall + +import ( + "fmt" +) + +type WindowsFirewall struct { + forwarding bool + redirections map[string]*Redirection +} + +func Make() FirewallManager { + firewall := &WindowsFirewall{ + forwarding: false, + redirections: make(map[string]*Redirection, 0), + } + + firewall.forwarding = firewall.IsForwardingEnabled() + + return firewall +} + +func (f WindowsFirewall) IsForwardingEnabled() bool { + return false +} + +func (f WindowsFirewall) EnableForwarding(enabled bool) error { + return fmt.Errorf("Not implemented") +} + +func (f *WindowsFirewall) EnableRedirection(r *Redirection, enabled bool) error { + return fmt.Errorf("Not implemented") +} + +func (f WindowsFirewall) Restore() { + for _, r := range f.redirections { + if err := f.EnableRedirection(r, false); err != nil { + fmt.Printf("%s", err) + } + } + + if err := f.EnableForwarding(f.forwarding); err != nil { + fmt.Printf("%s", err) + } +}