Kinetic / kinetic-protocol

34 stars 21 forks source link

Setup Request Question #8

Closed garyballance closed 9 years ago

garyballance commented 10 years ago

I was hoping to get clarification on the correct usage of the setup request. The request allows the following operations to be performed: 1) Set the PIN 2) Set the cluster version 3) Perform an instant secure erase 4) Download firmware

Does the current PIN need to be specified in order to perform each operation? Also, can only one of the four operations be performed per request?

My confusion stems from some inconsistencies between the different clients. The setup description in the kinetic-protocol README and the Python client API lead me to believe that the answers to my questions are yes. However, the C++ client API and examples don't specify the current PIN for all setup operations and the Java client API allows multiple operations to be specified in a single request, which the examples utilize and the simulator permits.

Thanks.

jphughes commented 10 years ago

Hi Gary: Thanks for the comments. I understand the confusion. Your expectation is yes:

Does the current PIN need to be specified in order to perform each operation? Yes. (comment: The set cluster version could be considered different that the others and may remove as a requirement. I would like your comment about this.)

Also, can only one of the four operations be performed per request? Yes. The combined API call in Java is a convenience and not intended to imply that these things must always be done.

garyballance commented 10 years ago

(comment: The set cluster version could be considered different that the others and may remove as a requirement. I would like your comment about this.)

I agree. Although I like the consistency of all setup operations requiring a PIN, I don't think setting the cluster version merits that level of security (even setting the ACLs don't require the PIN to be specified).

When an instant secure erase is performed, what all is affected besides the user's objects? Using the simulator, I noticed that the cluster version and PIN were set back to their default values but the security settings were unchanged. I didn’t expect any of the operational settings to be affected.

Thanks.