2
0
mirror of https://github.com/openkmip/pykmip synced 2026-01-06 10:33:35 +00:00

Update object hierarchy read/write to support the KMIP version

This change updates the PyKMIP object hierarchy's read/write
method signatures to support propagation of the KMIP version. The
introduction of KMIP 2.0 introduces future KMIP message encodings
that break backwards compatibility; to support this, PyKMIP must
know what KMIP version is being used when encoding or decoding an
object; the KMIP version residing in the client or server alone
is now insufficient. Prior versions of KMIP, namely 1.0 - 1.4,
have been backwards compatible, obviating the need for the KMIP
version at encode/decode time. Going forward, this is no longer
true.

The PyKMIP client and server have been updated to include the
KMIP version when making calls to read/write, as have the
associated test cases covering this functionality.
This commit is contained in:
Peter Hamilton
2019-02-05 13:47:30 -05:00
committed by Peter Hamilton
parent c012a430aa
commit dcade2a264
40 changed files with 2527 additions and 946 deletions

View File

@@ -1061,7 +1061,7 @@ class KMIPProxy(object):
self._send_message(message)
message = messages.ResponseMessage()
data = self._receive_message()
message.read(data)
message.read(data, self.kmip_version)
batch_items = message.batch_items
batch_item = batch_items[0]
payload = batch_item.response_payload
@@ -1313,7 +1313,7 @@ class KMIPProxy(object):
self._send_message(message)
message = messages.ResponseMessage()
data = self._receive_message()
message.read(data)
message.read(data, self.kmip_version)
batch_items = message.batch_items
batch_item = batch_items[0]
payload = batch_item.response_payload
@@ -1350,7 +1350,7 @@ class KMIPProxy(object):
self._send_message(message)
message = messages.ResponseMessage()
data = self._receive_message()
message.read(data)
message.read(data, self.kmip_version)
batch_items = message.batch_items
batch_item = batch_items[0]
payload = batch_item.response_payload
@@ -1383,7 +1383,7 @@ class KMIPProxy(object):
self._send_message(message)
message = messages.ResponseMessage()
data = self._receive_message()
message.read(data)
message.read(data, self.kmip_version)
batch_items = message.batch_items
batch_item = batch_items[0]
payload = batch_item.response_payload
@@ -1421,7 +1421,7 @@ class KMIPProxy(object):
self._send_message(message)
message = messages.ResponseMessage()
data = self._receive_message()
message.read(data)
message.read(data, self.kmip_version)
batch_items = message.batch_items
batch_item = batch_items[0]
payload = batch_item.response_payload
@@ -1458,7 +1458,7 @@ class KMIPProxy(object):
self._send_message(message)
message = messages.ResponseMessage()
data = self._receive_message()
message.read(data)
message.read(data, self.kmip_version)
batch_items = message.batch_items
batch_item = batch_items[0]
payload = batch_item.response_payload
@@ -1508,7 +1508,7 @@ class KMIPProxy(object):
message = messages.ResponseMessage()
data = self._receive_message()
message.read(data)
message.read(data, self.kmip_version)
batch_items = message.batch_items
batch_item = batch_items[0]
payload = batch_item.response_payload
@@ -1542,7 +1542,7 @@ class KMIPProxy(object):
self._send_message(message)
message = messages.ResponseMessage()
data = self._receive_message()
message.read(data)
message.read(data, self.kmip_version)
batch_items = message.batch_items
batch_item = batch_items[0]
payload = batch_item.response_payload
@@ -1610,7 +1610,7 @@ class KMIPProxy(object):
def _send_message(self, message):
stream = BytearrayStream()
message.write(stream)
message.write(stream, self.kmip_version)
self.protocol.write(stream.buffer)
def _receive_message(self):
@@ -1620,7 +1620,7 @@ class KMIPProxy(object):
self._send_message(request)
response = messages.ResponseMessage()
data = self._receive_message()
response.read(data)
response.read(data, self.kmip_version)
return response
def _set_variables(self, host, port, keyfile, certfile,