357 Commits

Author SHA1 Message Date
Peter Hamilton
471d0a1ad8 Updating the CryptographicParameters struct
This change updates the CryptographicParameters struct, removing the
primitive class wrappers that it used to use for attribute values
and replacing them with struct properties that internally manage the
primitive objects directly. This gutting and regutting necessitates
cascading changes to every part of the library that used these
internal primitive class wrappers, including unit tests, client and
client tests, and attribute factory handlers. All of these have been
updated to reflect the correct usage of the CryptographicParameters
struct.

This change also adds in additional attribute members for the
CryptographicParameters struct to bring it up to spec with KMIP 1.2.
2017-05-24 15:39:09 -04:00
Peter Hamilton
4617ae5280 Merge pull request #283 from vbnmmnbv/rename_compromise_occurrence_date
rename compromise_date to compromise_occurrence_date in revoke reques…
2017-04-21 15:52:04 -04:00
Hao Shen
8f16558b76 rename compromise_date to compromise_occurrence_date 2017-04-21 12:24:48 -07:00
Peter Hamilton
901f2d8097 Merge pull request #282 from vbnmmnbv/add_reset_mock
add missing reset_mock of logger in server revoke operation tests
2017-04-21 15:12:09 -04:00
Peter Hamilton
a7c627d28f Merge pull request #274 from vbnmmnbv/destroy_state_permission_server
Add state check for Destroy operation.
2017-04-21 15:06:29 -04:00
Hao Shen
1c565b37f3 add missing reset_mock of logger in server revoke operation tests 2017-04-21 09:50:29 -07:00
Hao Shen
3897455469 Add state check for Destroy operation. 2017-04-21 09:32:26 -07:00
Peter Hamilton
f7e0e55955 Merge pull request #276 from vbnmmnbv/create_crypo_usage_mask
Add crypto_usage_masks argument to pie Create operation
2017-04-21 11:01:55 -04:00
Peter Hamilton
fda5e32fa0 Merge pull request #271 from vbnmmnbv/revoke_server
Add initial Revoke operation support for server.
2017-04-21 10:31:09 -04:00
Hao Shen
74075d502c Add Revoke operation support for pie client 2017-04-20 10:19:10 -07:00
Hao Shen
a2b7194c08 Add crypto_usage_masks argument to pie Create operation 2017-04-19 21:07:32 -07:00
Hao Shen
0229a83acf Add initial Revoke operation support for server.
See the TODO in _process_revoke for more info.
2017-04-19 15:27:51 -07:00
Peter Hamilton
e26e0748af Merge pull request #280 from vbnmmnbv/api_activate_locate_mac
Add the missing locate/activate KmipClient abstractmethod definition
2017-04-19 18:07:56 -04:00
Peter Hamilton
5678c21903 Merge pull request #273 from vbnmmnbv/mac_state_permission_server
Add state/crypto usage mask checks for MAC operation
2017-04-19 18:02:46 -04:00
Hao Shen
ec4dae707c Add the missing locate/activate KmipClient abstractmethod definition 2017-04-14 11:19:50 -07:00
Hao Shen
a0673dc111 Add state/crypto usage mask checks for MAC operation 2017-04-11 18:16:54 -07:00
Peter Hamilton
1d2a337ee0 Update the server Query results to match current features
This change updates the server results returned by the Query
operation to match the current set of supported features. The tests
for Query have been updated to better reflect testing across KMIP
versions.
2017-04-11 16:43:43 -04:00
Peter Hamilton
28e1e809d1 Merge pull request #275 from vbnmmnbv/KmipOperationFailure
Modify KmipOperationFailure to expose status/reason/message attributes
2017-04-06 08:54:16 -04:00
Hao Shen
16d79283f2 Modify KmipOperationFailure to expose status/reason/message attributes 2017-04-04 11:36:05 -07:00
Hao Shen
5967b55148 Fixing stringent argument checks for MAC operation 2017-03-30 14:32:42 -07:00
Hao Shen
de1d9c5646 Add Activate operation support for pie client 2017-03-29 11:55:48 -07:00
Peter Hamilton
5fc2e26527 Merge pull request #259 from OpenKMIP/maint/cleanup-old-server-code
Removing deprecated server code and supporting infrastructure
2017-03-28 09:37:10 -04:00
Peter Hamilton
cbcb5b97bf Merge pull request #263 from vbnmmnbv/locate_pie
Add Locate operation support for pie client
2017-02-15 10:40:15 -05:00
Hao Shen
b8b2d43347 Add minimum Locate operation support for server.
Currently it will return all the existing managed objects with the restriction of operation
policy only. No other filterings.

Closes #258
2017-02-14 18:09:10 -08:00
Hao Shen
f0934fd08a Add Locate operation support for pie client 2017-02-14 17:59:52 -08:00
Peter Hamilton
c584ac0cb5 Removing deprecated server code and supporting infrastructure
This change removes the original KMIPServer implementation, along
with all supporting classes. The KmipServer implementation is the
only supported server implementation going forward.
2017-02-08 15:29:10 -05:00
Peter Hamilton
d9cf4c148a Merge pull request #256 from vbnmmnbv/server
Add MAC operation support for server
2017-02-03 12:11:41 -05:00
Hao Shen
ac1206082c Add MAC operation support for server 2017-02-02 13:25:22 -08:00
Peter Hamilton
7fca09fa75 Merge pull request #254 from vbnmmnbv/client
Add MAC operation support at client side
2017-02-02 13:09:51 -05:00
Hao Shen
2d45f33d43 Add MAC operation support for client 2017-01-31 14:48:19 -08:00
Peter Hamilton
84fe76e15d Merge pull request #255 from vbnmmnbv/payload
Add necessary objects/attributes and payloads for MAC operation
2017-01-31 11:11:54 -05:00
Hao Shen
a2696b722f Add necessary objects/attributes and payloads for MAC operation 2017-01-30 14:50:40 -08:00
Hao Shen
e8b63eb9d3 Add MAC operation support in cryptography engine 2017-01-25 13:10:41 -08:00
Peter Hamilton
57c703c52f Refactor access control enforcement in the server
This change restructures how access controls are enforced for
different server operations, pulling common code into a shared
method for reuse. The server unit tests have been updated to
reflect this change.
2017-01-09 10:34:14 -05:00
Peter Hamilton
1bd5366a62 Adding support for the InitialDate attribute
This change updates the server and managed object set to support
the InitialDate attribute. The InitialDate is set when the Create,
CreateKeyPair, and Register operations are invoked and can be
listed and retrieved with the GetAttributeList and GetAttributes
operations respectively. The server unit tests have been updated
to reflect these changes.
2017-01-08 12:07:22 -05:00
Peter Hamilton
089d126b04 Adding server support for the GetAttributeList operation
This change adds support for the GetAttributeList operation. The
user can specify the ID of a managed object and get back a list
containing the names of all attributes currently set on the object.
The user can also omit the ID and the server will default to using
the ID placeholder for the object ID. New server tests have been
added to cover this feature. The GetAttributeList payloads have
also been updated for consistency with other payloads, requiring
minor updates in other clients and unit tests.
2017-01-05 18:43:11 -05:00
Peter Hamilton
28209bd60a Fixes a bug with socket interrupt handling under Python3.5
This change fixes a bug introduced with the addition of Python3.5
support. In Python3.5, SIGINT is silently ignored for system calls
(e.g., socket.accept) if the SIGINT signal handler does not raise
an exception. This causes the server to delay shutdown when
receiving SIGINT until after a new connection has been made. This
change updates the server's SIGINT signal handler to raise the
correct exception and updates the error handling code while serving
connections to account for this change in SIGINT processing. This
allows the server to shutdown immediately upon receiving SIGINT.
The server unit tests are updated to account for this change.
2017-01-04 16:05:45 -05:00
Peter Hamilton
bbc2d8e58a Merge pull request #238 from cfs-pure/master
Unit test fixes
2017-01-04 13:24:24 -05:00
Charles Stephens
5be11db648 Unit test fixes
Fix unittests for compatibility between Python 2 and 3.
2017-01-04 10:04:10 -08:00
Peter Hamilton
239ec7102d Fixes how open is mocked in the server test suite
This change updates how the built-in open function is mocked in
the PyKMIP server test suite. On some platforms the old approach
was insufficient. This change explicitly references the builtins
module for Python3+, removing the old module-based mock.
2017-01-04 11:29:30 -05:00
Peter Hamilton
b1f73d811c Fixing a bug with multithreading support with the SQLite backend
This change fixes a bug that could occur when accessing the server
with multiple threads or processes. The SQLite backend by default
does not support multithreading. This change updates how the
SQLite backend is instantiated, preventing error generation when
using multiple clients simultaenously. The server unit test suite
has been updated to cover the change.
2016-12-17 14:57:38 -05:00
Peter Hamilton
065cc0cec1 Updating server to enable the Activate operation
This change updates the PyKMIP server to enable the Activate
operation. Server unit tests are updated to account for this
change.
2016-12-07 19:27:05 -05:00
Peter Hamilton
131addf967 Merge pull request #231 from OpenKMIP/bug/handle-missing-object-attribute
Updating the server to handle errors during attribute lookup
2016-12-07 19:25:21 -05:00
Peter Hamilton
9738c2ba7f Fixing a bug with attribute handling in ProxyKmipClient.register
This change fixes a bug in the ProxyKmipClient, specifically in
the register method. The client would create attributes for the
object to register, regardless if those attributes were set on
the object. This could cause attribute value overwrites, deleting
valid default values with empty values. This change adds checks
to ensure these attributes are not created with the request if
they are not set on the object. The client unit tests have been
updated to reflect this change.
2016-12-07 09:57:57 -05:00
Peter Hamilton
e2841f1ee5 Updating the server to handle errors during attribute lookup
This change updates the server to better handle exceptions thrown
while looking up the value of different attributes on managed
objects. Some managed objects in PyKMIP don't currently support
attributes they are supposed to. This can cause lookup errors
when using GetAttributes. This change suppresses any exceptions
and simply returns None for the missing attribute value. The
server unit tests have been updated to account for this change.
2016-12-07 09:13:38 -05:00
Peter Hamilton
fc0d95ebb9 Adding GetAttributes support to the PyKMIP clients
This change adds support for the GetAttributes operation to the
PyKMIP clients. Demo scripts showing how to use the new operation
will be included in a future update. Client test cases have been
added and updated to reflect the new operation.
2016-12-06 20:42:17 -05:00
Peter Hamilton
c59cfeeef9 Adding server support for the GetAttributes operation
This change adds server support for the GetAttributes operation.
The user can specify an object ID and an attribute list to get
the values of the attributes listed from the specified object.
The user can also omit either argument; the server will default
to using the ID placeholder and all viable attributes respectively.
Only a subset of the standard attributes are supported right now.
New tests have been added to cover the new feature.

Closes #185
Closes #211
Closes #218
2016-12-06 20:24:29 -05:00
Peter Hamilton
27140daa78 Updating the attribute value factory to support ObjectType values
This change updates the attribute value factory to allow for the
creation of ObjectType attributes with values provided by the
caller. Unit tests have been added to cover this change.
2016-12-06 14:15:16 -05:00
Jonathan Seawright
10030cd173 Fix pep8 errors 2016-12-05 13:29:09 -06:00
Jonathan Seawright
7b25780a4e Created test suite for attribute_factory
Resolves CR changes for #208
2016-12-05 13:14:22 -06:00