• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.9.5/Security-55471.14.18/authd/

Lines Matching refs:item

26 auth_item_get_string(auth_item_t item)
28 if (item->bufLen <= item->data.valueLength) {
29 item->bufLen = item->data.valueLength+1; // make sure buffer has a null char
30 item->data.value = realloc(item->data.value, item->bufLen);
31 if (item->data.value == NULL) {
36 ((uint8_t*)item->data.value)[item->bufLen-1] = '\0';
38 return item->data.value;
42 auth_item_get_cf_key(auth_item_t item)
44 if (!item->cfKey) {
45 item->cfKey = CFStringCreateWithCStringNoCopy(kCFAllocatorDefault, item->data.name, kCFStringEncodingUTF8, kCFAllocatorNull);
47 return item->cfKey;
51 auth_item_get_auth_item(auth_item_t item)
53 return &item->data;
57 auth_item_copy_auth_item_xpc(auth_item_t item)
60 xpc_dictionary_set_string(xpc_data, AUTH_XPC_ITEM_NAME, item->data.name);
61 if (item->data.value) {
62 xpc_dictionary_set_data(xpc_data, AUTH_XPC_ITEM_VALUE, item->data.value, item->data.valueLength);
64 xpc_dictionary_set_uint64(xpc_data, AUTH_XPC_ITEM_FLAGS, item->data.flags);
65 xpc_dictionary_set_uint64(xpc_data, AUTH_XPC_ITEM_TYPE, item->type);
72 auth_item_t item = (auth_item_t)value;
74 CFReleaseSafe(item->cfKey);
76 if (item->data.name) {
77 free((void*)item->data.name);
80 if (item->data.value) {
81 memset(item->data.value, 0, item->data.valueLength);
82 free(item->data.value);
96 auth_item_t item = (auth_item_t)value;
100 if (strncasecmp(item->data.name, kAuthorizationEnvironmentPassword, passLen) == 0) {
107 item->data.name, item->type,
108 hidden ? 0 : item->data.valueLength, item->data.flags);
110 switch (item->type) {
112 CFStringAppendFormat(desc, NULL, CFSTR(" value=%s"), hidden ? "(hidden)" : auth_item_get_string(item));
115 CFStringAppendFormat(desc, NULL, CFSTR(" value=%i"), *(int32_t*)item->data.value);
118 CFStringAppendFormat(desc, NULL, CFSTR(" value=%u"), *(uint32_t*)item->data.value);
121 CFStringAppendFormat(desc, NULL, CFSTR(" value=%lli"), *(int64_t*)item->data.value);
124 CFStringAppendFormat(desc, NULL, CFSTR(" value=%llu"), *(uint64_t*)item->data.value);
127 CFStringAppendFormat(desc, NULL, CFSTR(" value=%i"), *(bool*)item->data.value);
130 CFStringAppendFormat(desc, NULL, CFSTR(" value=%f"), *(double*)item->data.value);
138 size_t i = item->data.valueLength < 10 ? item->data.valueLength : 10;
139 uint8_t * data = item->data.value;
154 auth_item_t item = (auth_item_t)value;
156 crc = crc64_update(crc, item->data.name, strlen(item->data.name));
157 if (item->data.value) {
158 crc = crc64_update(crc, item->data.value, item->data.valueLength);
160 crc = crc64_update(crc, &item->data.flags, sizeof(item->data.flags));
190 auth_item_t item = NULL;
192 item = (auth_item_t)_CFRuntimeCreateInstance(kCFAllocatorDefault, auth_item_get_type_id(), AUTH_CLASS_SIZE(auth_item), NULL);
193 require(item != NULL, done);
196 return item;
202 auth_item_t item = NULL;
205 item = _auth_item_create();
206 require(item != NULL, done);
208 item->type = type;
209 item->data.flags = flags;
210 item->data.name = _copy_string(name);
211 item->data.valueLength = valueLen;
212 item->bufLen = valueLen;
214 if (item->type == AI_TYPE_STRING) {
215 item->bufLen++;
216 item->data.value = calloc(1u, item->bufLen);
218 item->data.value = calloc(1u, item->bufLen);
221 memcpy(item->data.value, value, valueLen);
226 return item;
232 auth_item_t item = NULL;
237 item = _auth_item_create();
238 require(item != NULL, done);
240 item->data.name = _copy_string(xpc_dictionary_get_string(data, AUTH_XPC_ITEM_NAME));
241 item->data.flags = (uint32_t)xpc_dictionary_get_uint64(data, AUTH_XPC_ITEM_FLAGS);
242 item->type = (uint32_t)xpc_dictionary_get_uint64(data, AUTH_XPC_ITEM_TYPE);
247 item->bufLen = len;
248 item->data.valueLength = len;
249 item->data.value = calloc(1u, len);
250 memcpy(item->data.value, value, len);
254 return item;
351 auth_item_t item = auth_item_create_with_xpc(value);
352 if (item) {
353 CFDictionarySetValue(items->dictionary, auth_item_get_cf_key(item), item);
354 CFReleaseSafe(item);
416 auth_item_t item = (auth_item_t)values[i];
417 items->set.items[i] = *auth_item_get_auth_item(item);
433 auth_item_t item = (auth_item_t)value;
434 xpc_object_t xpc_data = auth_item_copy_auth_item_xpc(item);
446 auth_item_t item = NULL;
453 item = (auth_item_t)CFDictionaryGetValue(items->dictionary, lookup);
457 return item;
463 auth_item_t item = _find_item(items,key);
464 if (item) {
465 item->data.flags |= flags;
472 auth_item_t item = _find_item(items,key);
473 if (item) {
474 item->data.flags &= ~flags;
481 auth_item_t item = _find_item(items,key);
482 if (item) {
483 return item->data.flags;
499 auth_item_t item = _find_item(items,key);
500 if (!item) {
501 item = auth_item_create(AI_TYPE_RIGHT, key, NULL, 0, 0);
502 if (item) {
503 CFDictionarySetValue(items->dictionary, auth_item_get_cf_key(item), item);
504 CFReleaseSafe(item);
545 auth_item_t item = (auth_item_t)CFDictionaryGetValue(src->dictionary, lookup);
546 CFDictionarySetValue(items->dictionary, auth_item_get_cf_key(item), item);
564 auth_item_t item = (auth_item_t)CFDictionaryGetValue(src->dictionary, lookup);
565 CFDictionarySetValue(items->dictionary, auth_item_get_cf_key(item), item);
588 auth_item_t item = (auth_item_t)values[i];
589 result = iter(item->data.name);
606 auth_item_t item = _find_item(items,key);
607 if (item && item->type == AI_TYPE_STRING && valLen < item->bufLen) {
608 memcpy(item->data.value, value, valLen+1); // copy null
609 item->data.valueLength = valLen;
611 item = auth_item_create(AI_TYPE_STRING, key, value, valLen, 0);
612 if (item) {
613 CFDictionarySetValue(items->dictionary, auth_item_get_cf_key(item), item);
614 CFReleaseSafe(item);
623 auth_item_t item = _find_item(items,key);
624 if (item) {
626 if (!(item->type == AI_TYPE_STRING || item->type == AI_TYPE_UNKNOWN)) {
628 item->data.name, item->type, AI_TYPE_STRING);
631 return auth_item_get_string(item);
641 auth_item_t item = _find_item(items,key);
642 if (item && item->type == AI_TYPE_DATA && len <= item->bufLen) {
643 memcpy(item->data.value, value, len);
644 item->data.valueLength = len;
646 item = auth_item_create(AI_TYPE_DATA, key, value, len, 0);
647 if (item) {
648 CFDictionarySetValue(items->dictionary, auth_item_get_cf_key(item), item);
649 CFReleaseSafe(item);
658 auth_item_t item = _find_item(items,key);
659 if (item) {
661 if (!(item->type == AI_TYPE_DATA || item->type == AI_TYPE_UNKNOWN)) {
663 item->data.name, item->type, AI_TYPE_DATA);
667 *len = item->data.valueLength;
669 return item->data.value;
678 auth_item_t item = _find_item(items,key);
679 if (item && item->type == AI_TYPE_BOOL) {
680 *(bool*)item->data.value = value;
682 item = auth_item_create(AI_TYPE_BOOL, key, &value, sizeof(bool), 0);
683 if (item) {
684 CFDictionarySetValue(items->dictionary, auth_item_get_cf_key(item), item);
685 CFReleaseSafe(item);
693 auth_item_t item = _find_item(items,key);
694 if (item) {
696 if (!(item->type == AI_TYPE_BOOL || item->type == AI_TYPE_UNKNOWN) || (item->data.valueLength != sizeof(bool))) {
698 item->data.name, item->type, AI_TYPE_BOOL, item->data.valueLength, sizeof(bool));
701 if (item->type == AI_TYPE_STRING) {
702 return atoi(auth_item_get_string(item));
705 require(item->data.value != NULL, done);
706 require(item->data.valueLength == sizeof(bool), done);
708 return *(bool*)item->data.value;
718 auth_item_t item = _find_item(items,key);
719 if (item && item->type == AI_TYPE_INT) {
720 *(int32_t*)item->data.value = value;
722 item = auth_item_create(AI_TYPE_INT, key, &value, sizeof(int32_t), 0);
723 if (item) {
724 CFDictionarySetValue(items->dictionary, auth_item_get_cf_key(item), item);
725 CFReleaseSafe(item);
733 auth_item_t item = _find_item(items,key);
734 if (item) {
736 if (!(item->type ==AI_TYPE_INT || item->type == AI_TYPE_UNKNOWN) || (item->data.valueLength != sizeof(int32_t))) {
738 item->data.name, item->type, AI_TYPE_INT, item->data.valueLength, sizeof(int32_t));
741 if (item->type == AI_TYPE_STRING) {
742 return atoi(auth_item_get_string(item));
745 require(item->data.value != NULL, done);
746 require(item->data.valueLength == sizeof(int32_t), done);
748 return *(int32_t*)item->data.value;
758 auth_item_t item = _find_item(items,key);
759 if (item && item->type == AI_TYPE_UINT) {
760 *(uint32_t*)item->data.value = value;
762 item = auth_item_create(AI_TYPE_UINT, key, &value, sizeof(uint32_t), 0);
763 if (item) {
764 CFDictionarySetValue(items->dictionary, auth_item_get_cf_key(item), item);
765 CFReleaseSafe(item);
773 auth_item_t item = _find_item(items,key);
774 if (item) {
776 if (!(item->type ==AI_TYPE_UINT || item->type == AI_TYPE_UNKNOWN) || (item->data.valueLength != sizeof(uint32_t))) {
778 item->data.name, item->type, AI_TYPE_UINT, item->data.valueLength, sizeof(uint32_t));
781 if (item->type == AI_TYPE_STRING) {
782 return (uint32_t)atoi(auth_item_get_string(item));
785 require(item->data.value != NULL, done);
786 require(item->data.valueLength == sizeof(uint32_t), done);
788 return *(uint32_t*)item->data.value;
798 auth_item_t item = _find_item(items,key);
799 if (item && item->type == AI_TYPE_INT64) {
800 *(int64_t*)item->data.value = value;
802 item = auth_item_create(AI_TYPE_INT64, key, &value, sizeof(int64_t), 0);
803 if (item) {
804 CFDictionarySetValue(items->dictionary, auth_item_get_cf_key(item), item);
805 CFReleaseSafe(item);
813 auth_item_t item = _find_item(items,key);
814 if (item) {
816 if (!(item->type ==AI_TYPE_INT64 || item->type == AI_TYPE_UNKNOWN) || (item->data.valueLength != sizeof(int64_t))) {
818 item->data.name, item->type, AI_TYPE_INT64, item->data.valueLength, sizeof(int64_t));
821 if (item->type == AI_TYPE_STRING) {
822 return atoll(auth_item_get_string(item));
825 require(item->data.value != NULL, done);
826 require(item->data.valueLength == sizeof(int64_t), done);
828 return *(int64_t*)item->data.value;
838 auth_item_t item = _find_item(items,key);
839 if (item && item->type == AI_TYPE_UINT64) {
840 *(uint64_t*)item->data.value = value;
842 item = auth_item_create(AI_TYPE_UINT64, key, &value, sizeof(uint64_t), 0);
843 if (item) {
844 CFDictionarySetValue(items->dictionary, auth_item_get_cf_key(item), item);
845 CFReleaseSafe(item);
853 auth_item_t item = _find_item(items,key);
854 if (item) {
856 if (!(item->type ==AI_TYPE_UINT64 || item->type == AI_TYPE_UNKNOWN) || (item->data.valueLength != sizeof(uint64_t))) {
858 item->data.name, item->type, AI_TYPE_UINT64, item->data.valueLength, sizeof(uint64_t));
861 if (item->type == AI_TYPE_STRING) {
862 return (uint64_t)atoll(auth_item_get_string(item));
865 require(item->data.value != NULL, done);
866 require(item->data.valueLength == sizeof(uint64_t), done);
868 return *(uint64_t*)item->data.value;
877 auth_item_t item = _find_item(items,key);
878 if (item && item->type == AI_TYPE_DOUBLE) {
879 *(double*)item->data.value = value;
881 item = auth_item_create(AI_TYPE_DOUBLE, key, &value, sizeof(double), 0);
882 if (item) {
883 CFDictionarySetValue(items->dictionary, auth_item_get_cf_key(item), item);
884 CFReleaseSafe(item);
891 auth_item_t item = _find_item(items,key);
892 if (item) {
894 if (!(item->type ==AI_TYPE_DOUBLE || item->type == AI_TYPE_UNKNOWN) || (item->data.valueLength != sizeof(double))) {
896 item->data.name, item->type, AI_TYPE_DOUBLE, item->data.valueLength, sizeof(double));
899 if (item->type == AI_TYPE_STRING) {
900 return atof(auth_item_get_string(item));
903 require(item->data.value != NULL, done);
904 require(item->data.valueLength == sizeof(double), done);
906 return *(double*)item->data.value;
915 auth_item_t item = _find_item(items,key);
916 if (item) {
917 return item->type;
925 auth_item_t item = _find_item(items,key);
926 if (item) {
927 return item->data.valueLength;
935 auth_item_t item = auth_item_create(type, key, value, len, flags);
936 if (item) {
937 CFDictionarySetValue(items->dictionary, auth_item_get_cf_key(item), item);
938 CFReleaseSafe(item);
1030 auth_item_t item = auth_item_create_with_xpc(value);
1031 if (item) {
1032 CFArrayAppendValue(rights->array, item);
1033 CFReleaseSafe(item);
1049 auth_item_t item = (auth_item_t)CFArrayGetValueAtIndex(rights->array, i);
1050 xpc_object_t xpc_data = auth_item_copy_auth_item_xpc(item);
1061 auth_item_t item = NULL;
1072 item = tmp;
1079 return item;
1084 auth_item_t item = _find_right_item(rights,key);
1085 if (item) {
1086 item->data.flags |= flags;
1092 auth_item_t item = _find_right_item(rights,key);
1093 if (item) {
1094 item->data.flags &= ~flags;
1100 auth_item_t item = _find_right_item(rights,key);
1101 if (item) {
1102 return item->data.flags;
1121 auth_item_t item = auth_item_create(AI_TYPE_RIGHT, key, NULL, 0, 0);
1122 if (item) {
1123 CFArrayAppendValue(rights->array, item);
1124 CFReleaseSafe(item);
1138 auth_item_t item = (auth_item_t)CFArrayGetValueAtIndex(rights->array, i);
1139 if (CFEqual(auth_item_get_cf_key(item), lookup)) {
1160 auth_item_t item = (auth_item_t)CFArrayGetValueAtIndex(rights->array, i);
1161 result = iter(item->data.name);