#define PO_INTERNAL_MODULE_NAME "po_file"
#define PO_STAT_INTERNAL_MODULE_NAME "po_stat"
#define PI_FILE_NAME "pi_file"
-#define UUID_FILE "/usr/apps/tee/TA-UUID.list"
+#define UUID_FILE "/usr/lib/tastore/uuidlist.uuid"
TEE_UUID ssf_sharedthisTAUUID;
static TEE_UUID this_uuid;
////////////////////////////////////////////////////////////////////////////////////
TEE_Result copy_attribute(TEE_Attribute* dest, TEE_Attribute* src) {
if (!dest || !src) {
+ TZ_ERROR("Invalid pointers to attributes to copy\n");
return TEE_ERROR_BAD_PARAMETERS;
}
+
dest->attributeID = src->attributeID;
if (src->attributeID & TEE_ATTR_FLAG_VALUE) {
dest->content.value.a = src->content.value.a;
dest->content.ref.buffer = buffer;
dest->content.ref.length = src->content.ref.length;
}
+
return TEE_SUCCESS;
}
uint32_t maxObjectSize) {
tr->attr.attr_number = 0;
-/* switch (objectType) {
+ // TODO below switch requires finishing and verification
+ switch (objectType) {
case TEE_TYPE_AES:
if (maxObjectSize != 128 && maxObjectSize != 192
&& maxObjectSize != 256) {
default:
return TEE_ERROR_NOT_SUPPORTED;
}
-*/
+
// Object info
tr->info.objectType = objectType;
tr->info.objectSize = 0;
PERMISSION_CHECK(PERM_STORAGE);
TEE_Result rc;
-
- TransientObject * tr = (TransientObject*)OsaMalloc(sizeof(TransientObject));
- if (!tr) {
- OsaFree(tr);
+ TEE_ObjectHandle obj = (TEE_ObjectHandle)OsaMalloc(sizeof(struct __TEE_ObjectHandle));
+ if (!obj) {
return TEE_ERROR_OUT_OF_MEMORY;
}
- memset(tr, 0, sizeof(TransientObject));
- rc = allocate_transient_object(tr, objectType, maxObjectSize);
+
+ memset(obj, 0, sizeof(struct __TEE_ObjectHandle));
+ rc = allocate_transient_object(&obj->tr, objectType, maxObjectSize);
if (rc != TEE_SUCCESS) {
- OsaFree(tr);
+ OsaFree(obj);
return rc;
}
- *object = (TEE_ObjectHandle)&tr->info;
+
+ *object = obj;
return TEE_SUCCESS;
}
free_attribute(&attrs[i]);
}
memset(&tr->attr, 0, sizeof(tr->attr));
- OsaFree(tr);
+ OsaFree(object);
}
void TEE_ResetTransientObject(TEE_ObjectHandle object) {
TZ_ERROR("operation error line = %d,%s\n", __LINE__, __func__);
TEE_Panic(0);
}
+
TEE_Attribute* curr_attr = &tr->attr.attr_array[tr->attr.attr_number];
for (i = 0; i < attrCount; i++) {
-
if (attrs[i].content.ref.length > tr->info.maxObjectSize) {
TZ_ERROR("operation error line = %d,%s\n", __LINE__, __func__);
TEE_Panic(0);
return TEE_ERROR_BAD_PARAMETERS;
}
tr->info.handleFlags |= TEE_HANDLE_FLAG_INITIALIZED;
+
return TEE_SUCCESS;
}
}
break;
}
+
return TEE_SUCCESS;
}