mirror of https://github.com/jetkvm/kvm.git
fix lint errors
This commit is contained in:
parent
e47442d701
commit
59b7141d84
|
|
@ -9,7 +9,6 @@ import (
|
|||
"github.com/jetkvm/kvm/pkg/nmlite/jetdhcpc"
|
||||
"github.com/jetkvm/kvm/pkg/nmlite/udhcpc"
|
||||
"github.com/rs/zerolog"
|
||||
"github.com/vishvananda/netlink"
|
||||
)
|
||||
|
||||
// DHCPClient wraps the dhclient package for use in the network manager
|
||||
|
|
@ -19,7 +18,6 @@ type DHCPClient struct {
|
|||
logger *zerolog.Logger
|
||||
client types.DHCPClient
|
||||
clientType string
|
||||
link netlink.Link
|
||||
|
||||
// Configuration
|
||||
ipv4Enabled bool
|
||||
|
|
@ -181,7 +179,9 @@ func (dc *DHCPClient) Renew() error {
|
|||
}
|
||||
|
||||
dc.logger.Info().Msg("renewing DHCP lease")
|
||||
dc.client.Renew()
|
||||
if err := dc.client.Renew(); err != nil {
|
||||
return fmt.Errorf("failed to renew DHCP lease: %w", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
@ -192,7 +192,9 @@ func (dc *DHCPClient) Release() error {
|
|||
}
|
||||
|
||||
dc.logger.Info().Msg("releasing DHCP lease")
|
||||
dc.client.Release()
|
||||
if err := dc.client.Release(); err != nil {
|
||||
return fmt.Errorf("failed to release DHCP lease: %w", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -256,38 +256,6 @@ func ToValidHostname(hostname string) string {
|
|||
|
||||
// ValidateHostname validates a hostname
|
||||
func ValidateHostname(hostname string) error {
|
||||
if hostname == "" {
|
||||
return fmt.Errorf("hostname cannot be empty")
|
||||
}
|
||||
|
||||
validHostname := ToValidHostname(hostname)
|
||||
if validHostname != hostname {
|
||||
return fmt.Errorf("hostname contains invalid characters: %s", hostname)
|
||||
}
|
||||
|
||||
if len(hostname) > 253 {
|
||||
return fmt.Errorf("hostname too long: %d characters (max 253)", len(hostname))
|
||||
}
|
||||
|
||||
// Check for valid characters (alphanumeric, hyphens, dots)
|
||||
for _, char := range hostname {
|
||||
if !((char >= 'a' && char <= 'z') ||
|
||||
(char >= 'A' && char <= 'Z') ||
|
||||
(char >= '0' && char <= '9') ||
|
||||
char == '-' || char == '.') {
|
||||
return fmt.Errorf("hostname contains invalid character: %c", char)
|
||||
}
|
||||
}
|
||||
|
||||
// Check that it doesn't start or end with hyphen
|
||||
if strings.HasPrefix(hostname, "-") || strings.HasSuffix(hostname, "-") {
|
||||
return fmt.Errorf("hostname cannot start or end with hyphen")
|
||||
}
|
||||
|
||||
// Check that it doesn't start or end with dot
|
||||
if strings.HasPrefix(hostname, ".") || strings.HasSuffix(hostname, ".") {
|
||||
return fmt.Errorf("hostname cannot start or end with dot")
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
_, err := idna.Lookup.ToASCII(hostname)
|
||||
return err
|
||||
}
|
||||
|
|
@ -160,7 +160,9 @@ func (im *InterfaceManager) Stop() error {
|
|||
|
||||
// Stop DHCP client
|
||||
if im.dhcpClient != nil {
|
||||
im.dhcpClient.Stop()
|
||||
if err := im.dhcpClient.Stop(); err != nil {
|
||||
return fmt.Errorf("failed to stop DHCP client: %w", err)
|
||||
}
|
||||
}
|
||||
|
||||
im.logger.Info().Msg("interface manager stopped")
|
||||
|
|
@ -241,7 +243,7 @@ func (im *InterfaceManager) GetIPv6Addresses() []string {
|
|||
addresses = append(addresses, addr.Address.String())
|
||||
}
|
||||
|
||||
return []string{}
|
||||
return addresses
|
||||
}
|
||||
|
||||
// GetMACAddress returns the MAC address of the interface
|
||||
|
|
@ -544,7 +546,9 @@ func (im *InterfaceManager) applyIPv6SLAACAndDHCP() error {
|
|||
// Enable both SLAAC and DHCPv6
|
||||
if im.dhcpClient != nil {
|
||||
im.dhcpClient.SetIPv6(true)
|
||||
im.dhcpClient.Start()
|
||||
if err := im.dhcpClient.Start(); err != nil {
|
||||
return fmt.Errorf("failed to start DHCP client: %w", err)
|
||||
}
|
||||
}
|
||||
|
||||
return im.staticConfig.EnableIPv6SLAAC()
|
||||
|
|
@ -644,15 +648,23 @@ func (im *InterfaceManager) SendRouterSolicitation() error {
|
|||
func (im *InterfaceManager) handleLinkUp() {
|
||||
im.logger.Info().Msg("link up")
|
||||
|
||||
im.applyConfiguration()
|
||||
if err := im.applyConfiguration(); err != nil {
|
||||
im.logger.Error().Err(err).Msg("failed to apply configuration")
|
||||
}
|
||||
|
||||
if im.config.IPv4Mode.String == "dhcp" {
|
||||
im.dhcpClient.Renew()
|
||||
if err := im.dhcpClient.Renew(); err != nil {
|
||||
im.logger.Error().Err(err).Msg("failed to renew DHCP lease")
|
||||
}
|
||||
}
|
||||
|
||||
if im.config.IPv6Mode.String == "slaac" {
|
||||
im.staticConfig.EnableIPv6SLAAC()
|
||||
im.SendRouterSolicitation()
|
||||
if err := im.staticConfig.EnableIPv6SLAAC(); err != nil {
|
||||
im.logger.Error().Err(err).Msg("failed to enable IPv6 SLAAC")
|
||||
}
|
||||
if err := im.SendRouterSolicitation(); err != nil {
|
||||
im.logger.Error().Err(err).Msg("failed to send router solicitation")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -660,7 +672,9 @@ func (im *InterfaceManager) handleLinkDown() {
|
|||
im.logger.Info().Msg("link down")
|
||||
|
||||
if im.config.IPv4Mode.String == "dhcp" {
|
||||
im.dhcpClient.Stop()
|
||||
if err := im.dhcpClient.Stop(); err != nil {
|
||||
im.logger.Error().Err(err).Msg("failed to stop DHCP client")
|
||||
}
|
||||
}
|
||||
|
||||
netlinkMgr := getNetlinkManager()
|
||||
|
|
@ -694,7 +708,6 @@ func (im *InterfaceManager) monitorInterfaceState() {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// updateStateFromDHCPLease updates the state from a DHCP lease
|
||||
|
|
@ -707,7 +720,6 @@ func (im *InterfaceManager) updateStateFromDHCPLease(lease *types.DHCPLease) {
|
|||
family = link.AfInet6
|
||||
} else {
|
||||
im.state.DHCPLease4 = lease
|
||||
family = link.AfInet
|
||||
}
|
||||
im.stateMu.Unlock()
|
||||
|
||||
|
|
|
|||
|
|
@ -96,8 +96,7 @@ func (nm *NetworkManager) AddInterface(iface string, config *types.NetworkConfig
|
|||
})
|
||||
|
||||
im.SetOnResolvConfChange(func(family int, resolvConf *types.InterfaceResolvConf) error {
|
||||
nm.resolvConf.SetInterfaceConfig(iface, family, *resolvConf)
|
||||
return nil
|
||||
return nm.resolvConf.SetInterfaceConfig(iface, family, *resolvConf)
|
||||
})
|
||||
|
||||
nm.interfaces[iface] = im
|
||||
|
|
|
|||
|
|
@ -79,7 +79,9 @@ func (rcm *ResolvConfManager) SetInterfaceConfig(iface string, family int, confi
|
|||
}
|
||||
rcm.mu.Unlock()
|
||||
|
||||
rcm.reconcileHostname()
|
||||
if err := rcm.reconcileHostname(); err != nil {
|
||||
return fmt.Errorf("failed to reconcile hostname: %w", err)
|
||||
}
|
||||
|
||||
return rcm.update()
|
||||
}
|
||||
|
|
@ -99,7 +101,9 @@ func (rcm *ResolvConfManager) SetConfig(resolvConf *types.ResolvConf) error {
|
|||
|
||||
// Reconcile reconciles the resolv.conf configuration
|
||||
func (rcm *ResolvConfManager) Reconcile() error {
|
||||
rcm.reconcileHostname()
|
||||
if err := rcm.reconcileHostname(); err != nil {
|
||||
return fmt.Errorf("failed to reconcile hostname: %w", err)
|
||||
}
|
||||
return rcm.update()
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -182,9 +182,3 @@ func (scm *StaticConfigManager) removeIPv4DefaultRoute() error {
|
|||
netlinkMgr := getNetlinkManager()
|
||||
return netlinkMgr.RemoveDefaultRoute(link.AfInet)
|
||||
}
|
||||
|
||||
// enableIPv6 enables IPv6 on the interface
|
||||
func (scm *StaticConfigManager) enableIPv6() error {
|
||||
netlinkMgr := getNetlinkManager()
|
||||
return netlinkMgr.EnableIPv6(scm.ifaceName)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue