mirror of
https://github.com/yusing/godoxy.git
synced 2025-05-19 20:32:35 +02:00
fix: version parsing
This commit is contained in:
parent
80bc018a7f
commit
973a44ee07
2 changed files with 7 additions and 15 deletions
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue