diff --git a/internal/dhcp_server/apply.go b/internal/dhcp_server/apply.go index fd8e07e..8665211 100644 --- a/internal/dhcp_server/apply.go +++ b/internal/dhcp_server/apply.go @@ -3,10 +3,10 @@ package dhcp import ( "context" "fmt" - "os" systemctl "github.com/coreos/go-systemd/v22/dbus" "nfsense.net/nfsense/internal/definitions/config" + "nfsense.net/nfsense/internal/util" ) const dhcpv4File = "/etc/dhcp/dhcpd.conf" @@ -24,12 +24,12 @@ func ApplyDHCPServerConfiguration(currentConfig config.Config, pendingConfig con return fmt.Errorf("Generating DHCPServerV6 Configuration: %w", err) } - err = OverwriteFile(dhcpv4File, v4Conf) + err = util.OverwriteFile(dhcpv4File, v4Conf) if err != nil { return fmt.Errorf("Writing v4 Configuration: %w", err) } - err = OverwriteFile(dhcpv6File, v6Conf) + err = util.OverwriteFile(dhcpv6File, v6Conf) if err != nil { return fmt.Errorf("Writing v6 Configuration: %w", err) } @@ -63,31 +63,3 @@ func ApplyDHCPServerConfiguration(currentConfig config.Config, pendingConfig con } return nil } - -func OverwriteFile(path, content string) error { - f, err := os.OpenFile(path, os.O_RDWR, 0644) - if err != nil { - return fmt.Errorf("opening File: %w", err) - } - - err = f.Truncate(0) - if err != nil { - return fmt.Errorf("truncate File: %w", err) - } - - _, err = f.Seek(0, 0) - if err != nil { - return fmt.Errorf("seek File: %w", err) - } - - _, err = f.WriteString(content + "\n") - if err != nil { - return fmt.Errorf("writing File: %w", err) - } - - err = f.Sync() - if err != nil { - return fmt.Errorf("syncing File: %w", err) - } - return nil -} diff --git a/internal/util/file.go b/internal/util/file.go new file mode 100644 index 0000000..e63faf2 --- /dev/null +++ b/internal/util/file.go @@ -0,0 +1,34 @@ +package util + +import ( + "fmt" + "os" +) + +func OverwriteFile(path, content string) error { + f, err := os.OpenFile(path, os.O_RDWR, 0644) + if err != nil { + return fmt.Errorf("opening File: %w", err) + } + + err = f.Truncate(0) + if err != nil { + return fmt.Errorf("truncate File: %w", err) + } + + _, err = f.Seek(0, 0) + if err != nil { + return fmt.Errorf("seek File: %w", err) + } + + _, err = f.WriteString(content + "\n") + if err != nil { + return fmt.Errorf("writing File: %w", err) + } + + err = f.Sync() + if err != nil { + return fmt.Errorf("syncing File: %w", err) + } + return nil +}