Lines Matching refs:tokenNode

102 static int32_t GetNativeTokenFromJson(cJSON *cjsonItem, NativeTokenList *tokenNode)
107 ret = GetProcessNameFromJson(cjsonItem, tokenNode);
108 ret |= GetTokenIdFromJson(cjsonItem, tokenNode);
109 ret |= GetAplFromJson(cjsonItem, tokenNode);
112 ret |= GetInfoArrFromJson(cjsonItem, tokenNode->dcaps, &(tokenNode->dcapsNum), &attr);
119 ret = GetInfoArrFromJson(cjsonItem, tokenNode->perms, &(tokenNode->permsNum), &attr);
121 FreeStrArray(tokenNode->dcaps, tokenNode->dcapsNum - 1);
127 ret = GetInfoArrFromJson(cjsonItem, tokenNode->acls, &(tokenNode->aclsNum), &attr);
129 FreeStrArray(tokenNode->dcaps, tokenNode->dcapsNum - 1);
130 FreeStrArray(tokenNode->perms, tokenNode->permsNum - 1);
270 NativeTokenList *tokenNode = g_tokenListHead->next;
271 while (tokenNode != NULL) {
272 AtInnerInfo *existToken = (AtInnerInfo *)&(tokenNode->tokenId);
276 tokenNode = tokenNode->next;
470 NativeTokenList *tokenNode;
478 tokenNode = (NativeTokenList *)malloc(sizeof(NativeTokenList));
479 if (tokenNode == NULL) {
483 tokenNode->tokenId = id;
484 tokenNode->apl = aplIn;
485 if (strcpy_s(tokenNode->processName, MAX_PROCESS_NAME_LEN + 1, tokenInfo->processName) != EOK) {
487 free(tokenNode);
490 tokenNode->dcapsNum = tokenInfo->dcapsNum;
491 tokenNode->permsNum = tokenInfo->permsNum;
492 tokenNode->aclsNum = tokenInfo->aclsNum;
494 if (CreateStrArray(tokenInfo->dcapsNum, tokenInfo->dcaps, tokenNode->dcaps) != ATRET_SUCCESS) {
495 free(tokenNode);
498 if (CreateStrArray(tokenInfo->permsNum, tokenInfo->perms, tokenNode->perms) != ATRET_SUCCESS) {
499 FreeStrArray(tokenNode->dcaps, tokenInfo->dcapsNum - 1);
500 free(tokenNode);
503 if (CreateStrArray(tokenInfo->aclsNum, tokenInfo->acls, tokenNode->acls) != ATRET_SUCCESS) {
504 FreeStrArray(tokenNode->dcaps, tokenInfo->dcapsNum - 1);
505 FreeStrArray(tokenNode->perms, tokenInfo->permsNum - 1);
506 free(tokenNode);
510 tokenNode->next = g_tokenListHead->next;
511 g_tokenListHead->next = tokenNode;
515 SaveTokenIdToCfg(tokenNode);
519 static int32_t CompareTokenInfo(const NativeTokenList *tokenNode,
522 if (tokenNode->apl != aplIn) {
525 if (tokenNode->dcapsNum != dcapNumIn) {
529 if (strcmp(tokenNode->dcaps[i], dcapsIn[i]) != 0) {
536 static int32_t ComparePermsInfo(const NativeTokenList *tokenNode,
539 if (tokenNode->permsNum != permsNumIn) {
543 if (strcmp(tokenNode->perms[i], permsIn[i]) != 0) {
575 static uint32_t UpdateTokenInfoInList(NativeTokenList *tokenNode,
578 tokenNode->apl = GetAplLevel(tokenInfo->aplStr);
580 uint32_t ret = UpdateStrArrayInList(tokenNode->dcaps, &(tokenNode->dcapsNum),
585 ret = UpdateStrArrayInList(tokenNode->perms, &(tokenNode->permsNum),
588 FreeStrArray(tokenNode->dcaps, tokenNode->dcapsNum - 1);
590 ret = UpdateStrArrayInList(tokenNode->acls, &(tokenNode->aclsNum),
593 FreeStrArray(tokenNode->dcaps, tokenNode->dcapsNum - 1);
594 FreeStrArray(tokenNode->perms, tokenNode->permsNum - 1);
599 static uint32_t UpdateInfoInCfgFile(const NativeTokenList *tokenNode)
622 ret = UpdateGoalItemFromRecord(tokenNode, record);
649 NativeTokenList *tokenNode = g_tokenListHead->next;
650 while (tokenNode != NULL) {
651 if (strcmp(tokenNode->processName, tokenInfo->processName) == 0) {
652 tokenId = tokenNode->tokenId;
655 tokenNode = tokenNode->next;
658 if (tokenNode == NULL) {
661 int32_t needTokenUpdate = CompareTokenInfo(tokenNode, tokenInfo->dcaps, tokenInfo->dcapsNum, apl);
662 int32_t needPermUpdate = ComparePermsInfo(tokenNode, tokenInfo->perms, tokenInfo->permsNum);
664 ret = UpdateTokenInfoInList(tokenNode, tokenInfo);
665 ret |= UpdateInfoInCfgFile(tokenNode);