mirror of
https://github.com/yusing/godoxy.git
synced 2026-04-19 07:30:09 +02:00
fix: version parsing
This commit is contained in:
@@ -81,14 +81,6 @@ func (cfg *AgentConfig) Parse(addr string) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func withoutBuildTime(version string) string {
|
|
||||||
return strings.Split(version, "-")[0]
|
|
||||||
}
|
|
||||||
|
|
||||||
func checkVersion(a, b string) bool {
|
|
||||||
return withoutBuildTime(a) == withoutBuildTime(b)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (cfg *AgentConfig) InitWithCerts(ctx context.Context, ca, crt, key []byte) error {
|
func (cfg *AgentConfig) InitWithCerts(ctx context.Context, ca, crt, key []byte) error {
|
||||||
clientCert, err := tls.X509KeyPair(crt, key)
|
clientCert, err := tls.X509KeyPair(crt, key)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -120,10 +112,10 @@ func (cfg *AgentConfig) InitWithCerts(ctx context.Context, ca, crt, key []byte)
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
versionStr := string(version)
|
agentVer := pkg.ParseVersion(string(version))
|
||||||
// skip version check for dev versions
|
serverVer := pkg.GetVersion()
|
||||||
if strings.HasPrefix(versionStr, "v") && !checkVersion(versionStr, pkg.GetVersion().String()) {
|
if !agentVer.IsEqual(serverVer) {
|
||||||
return gperr.Errorf("agent version mismatch: server: %s, agent: %s", pkg.GetVersion(), versionStr)
|
return gperr.Errorf("agent version mismatch: server: %s, agent: %s", serverVer, agentVer)
|
||||||
}
|
}
|
||||||
|
|
||||||
// get agent name
|
// get agent name
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ func GetLastVersion() Version {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
currentVersion = parseVersion(version)
|
currentVersion = ParseVersion(version)
|
||||||
|
|
||||||
// ignore errors
|
// ignore errors
|
||||||
versionFile := filepath.Join(common.DataDir, "version")
|
versionFile := filepath.Join(common.DataDir, "version")
|
||||||
@@ -28,7 +28,7 @@ func init() {
|
|||||||
f, err := os.OpenFile(versionFile, os.O_RDWR|os.O_CREATE, 0o644)
|
f, err := os.OpenFile(versionFile, os.O_RDWR|os.O_CREATE, 0o644)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
_, err = fmt.Fscanf(f, "%s", &lastVersionStr)
|
_, err = fmt.Fscanf(f, "%s", &lastVersionStr)
|
||||||
lastVersion = parseVersion(lastVersionStr)
|
lastVersion = ParseVersion(lastVersionStr)
|
||||||
}
|
}
|
||||||
if err != nil && !os.IsNotExist(err) {
|
if err != nil && !os.IsNotExist(err) {
|
||||||
logging.Warn().Err(err).Msg("failed to read version file")
|
logging.Warn().Err(err).Msg("failed to read version file")
|
||||||
@@ -89,7 +89,7 @@ var (
|
|||||||
lastVersion Version
|
lastVersion Version
|
||||||
)
|
)
|
||||||
|
|
||||||
func parseVersion(v string) (ver Version) {
|
func ParseVersion(v string) (ver Version) {
|
||||||
if v == "" {
|
if v == "" {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user