diff options
author | Kangping <wgtdkp@google.com> | 2023-11-08 16:21:21 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-11-08 16:21:21 +0000 |
commit | f0b410e931804f1702c721b0c5dd566cdcc41298 (patch) | |
tree | 8b0dbe041825ccbf20adf27efddd47d39b477f0a | |
parent | d80d0926b50b4991cc2017e03feebf44f64ca104 (diff) | |
parent | e1f515553c9f22f2fb603fcdfc8efd713d28366f (diff) | |
download | openthread-f0b410e931804f1702c721b0c5dd566cdcc41298.tar.gz |
[dataset] returns OT_ERROR_REJECTED when MGMT_SET is rejected by leader (#9582) am: e1f515553c
Original change: https://android-review.googlesource.com/c/platform/external/openthread/+/2817256
Change-Id: I4c1dd2d0296a5fcdbf42b02dcd4ed9dbb9f5a6e5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | src/core/meshcop/dataset_manager.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/core/meshcop/dataset_manager.cpp b/src/core/meshcop/dataset_manager.cpp index 043f88c2a..e236fcc57 100644 --- a/src/core/meshcop/dataset_manager.cpp +++ b/src/core/meshcop/dataset_manager.cpp @@ -312,15 +312,18 @@ void DatasetManager::HandleMgmtSetResponse(Coap::Message *aMessage, const Ip6::M OT_UNUSED_VARIABLE(aMessageInfo); Error error; - uint8_t state; + uint8_t state = StateTlv::kPending; SuccessOrExit(error = aError); VerifyOrExit(Tlv::Find<StateTlv>(*aMessage, state) == kErrorNone && state != StateTlv::kPending, error = kErrorParse); + if (state == StateTlv::kReject) + { + error = kErrorRejected; + } exit: - LogInfo("MGMT_SET finished: %s", - error == kErrorNone ? StateTlv::StateToString(static_cast<StateTlv::State>(state)) : ErrorToString(error)); + LogInfo("MGMT_SET finished: %s", error == kErrorNone ? "Accepted" : ErrorToString(error)); mMgmtPending = false; |