Always perform version-negotiation
If a client is initialized without a specific version set, version negotiation would not be functional. This patch changes the behavior to always perform version negotation (if called), in which case the "current" (maximum supported API version) is used as a default. Signed-off-by: Sebastiaan van Stijn <github@gone.nl> Upstream-commit: 5975dc4b4b8a6fa2e0edd1f1b113e7f66dad732b Component: engine
This commit is contained in:
@@ -260,8 +260,13 @@ func (cli *Client) NegotiateAPIVersionPing(p types.Ping) {
|
||||
p.APIVersion = "1.24"
|
||||
}
|
||||
|
||||
// if server version is lower than the current cli, downgrade
|
||||
if versions.LessThan(p.APIVersion, cli.ClientVersion()) {
|
||||
// if the client is not initialized with a version, start with the latest supported version
|
||||
if cli.version == "" {
|
||||
cli.version = api.DefaultVersion
|
||||
}
|
||||
|
||||
// if server version is lower than the maximum version supported by the Client, downgrade
|
||||
if versions.LessThan(p.APIVersion, api.DefaultVersion) {
|
||||
cli.version = p.APIVersion
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user