mirror of
https://github.com/Control-D-Inc/ctrld.git
synced 2026-02-03 22:18:39 +00:00
Capitalize the first letter of all log messages throughout the codebase to improve readability and consistency in logging output. Key improvements: - All log messages now start with capital letters - Consistent formatting across all logging statements - Improved readability for debugging and monitoring - Enhanced user experience with better formatted messages Files updated: - CLI commands and service management - Internal client information discovery - Network operations and configuration - DNS resolver and proxy operations - Platform-specific implementations This completes the final phase of the logging improvement project, ensuring all log messages follow consistent capitalization standards for better readability and professional appearance.
56 lines
1.4 KiB
Go
56 lines
1.4 KiB
Go
package ctrld
|
|
|
|
import (
|
|
"context"
|
|
"sync"
|
|
"sync/atomic"
|
|
"time"
|
|
|
|
"tailscale.com/net/netmon"
|
|
|
|
ctrldnet "github.com/Control-D-Inc/ctrld/internal/net"
|
|
)
|
|
|
|
var (
|
|
hasIPv6Once sync.Once
|
|
ipv6Available atomic.Bool
|
|
)
|
|
|
|
// HasIPv6 reports whether the current network stack has IPv6 available.
|
|
func HasIPv6(ctx context.Context) bool {
|
|
hasIPv6Once.Do(func() {
|
|
logger := LoggerFromCtx(ctx)
|
|
logger.Debug().Msg("Checking for ipv6 availability once")
|
|
ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
|
|
defer cancel()
|
|
val := ctrldnet.IPv6Available(ctx)
|
|
ipv6Available.Store(val)
|
|
logger.Debug().Msgf("ipv6 availability: %v", val)
|
|
mon, err := netmon.New(func(format string, args ...any) {})
|
|
if err != nil {
|
|
logger.Debug().Err(err).Msg("Failed to monitor ipv6 state")
|
|
return
|
|
}
|
|
mon.RegisterChangeCallback(func(delta *netmon.ChangeDelta) {
|
|
old := ipv6Available.Load()
|
|
cur := delta.Monitor.InterfaceState().HaveV6
|
|
if old != cur {
|
|
logger.Warn().Msgf("ipv6 availability changed, old: %v, new: %v", old, cur)
|
|
} else {
|
|
logger.Debug().Msg("ipv6 availability does not Changed")
|
|
}
|
|
ipv6Available.Store(cur)
|
|
})
|
|
mon.Start()
|
|
})
|
|
return ipv6Available.Load()
|
|
}
|
|
|
|
// DisableIPv6 marks IPv6 as unavailable if enabled.
|
|
func DisableIPv6(ctx context.Context) {
|
|
if ipv6Available.CompareAndSwap(true, false) {
|
|
logger := LoggerFromCtx(ctx)
|
|
logger.Debug().Msg("Turned off ipv6 availability")
|
|
}
|
|
}
|