Move PSKc generation functionality to Commissioner role. (#1327)

This commit is contained in:
Jonathan Hui
2017-02-15 23:10:44 -08:00
committed by GitHub
parent bf21420cd0
commit 87bbf4a83a
14 changed files with 83 additions and 107 deletions
-9
View File
@@ -655,15 +655,6 @@ Set pskc with hex format.
Done
```
### dataset pskc \[passphrase\] \[networkname\] \[extpanid\]
Generate pskc from passphrase, network name and extended panid.
```bash
> dataset pskc OpenThreadPassphrase OpenThread dead00beef00cafe
Done
```
### dataset userdata \[size\] \[data\]
Set user specific data for the command.
+6 -15
View File
@@ -666,25 +666,16 @@ exit:
ThreadError Dataset::ProcessPSKc(otInstance *aInstance, int argc, char *argv[])
{
ThreadError error = kThreadError_None;
uint8_t extPanId[OT_EXT_PAN_ID_SIZE];
uint16_t length;
VerifyOrExit((argc == 1) || (argc == 3), error = kThreadError_Parse);
if (argc == 1)
{
length = static_cast<uint16_t>((strlen(argv[0]) + 1) / 2);
VerifyOrExit(length <= OT_PSKC_MAX_SIZE, error = kThreadError_NoBufs);
VerifyOrExit(Interpreter::Hex2Bin(argv[0], sDataset.mPSKc.m8 + OT_PSKC_MAX_SIZE - length, length) == length,
error = kThreadError_Parse);
}
else
{
VerifyOrExit(Interpreter::Hex2Bin(argv[2], extPanId, sizeof(extPanId)) >= 0, error = kThreadError_Parse);
SuccessOrExit(error = otGeneratePSKc(aInstance, argv[0], argv[1], extPanId, sDataset.mPSKc.m8));
}
VerifyOrExit(argc > 0, error = kThreadError_Parse);
length = static_cast<uint16_t>((strlen(argv[0]) + 1) / 2);
VerifyOrExit(length <= OT_PSKC_MAX_SIZE, error = kThreadError_NoBufs);
VerifyOrExit(Interpreter::Hex2Bin(argv[0], sDataset.mPSKc.m8 + OT_PSKC_MAX_SIZE - length, length) == length,
error = kThreadError_Parse);
sDataset.mIsPSKcSet = true;
(void)aInstance;
exit:
return error;