mirror of
https://github.com/espressif/openthread.git
synced 2026-09-16 06:00:13 +00:00
Move PSKc generation functionality to Commissioner role. (#1327)
This commit is contained in:
@@ -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
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user