keystore: change migrate to duplicate
After discussion, it was determined that duplicate would be less
disruptive and it still fit in the current HAL model.
Change-Id: Id6ff97bfa5ec4cca9def177677263e9be1c9619f
diff --git a/keystore/IKeystoreService.cpp b/keystore/IKeystoreService.cpp
index d1df44e..0803071 100644
--- a/keystore/IKeystoreService.cpp
+++ b/keystore/IKeystoreService.cpp
@@ -488,21 +488,24 @@
return ret;
}
- virtual int32_t migrate(const String16& name, int32_t targetUid)
+ virtual int32_t duplicate(const String16& srcKey, int32_t srcUid, const String16& destKey,
+ int32_t destUid)
{
Parcel data, reply;
data.writeInterfaceToken(IKeystoreService::getInterfaceDescriptor());
- data.writeString16(name);
- data.writeInt32(targetUid);
- status_t status = remote()->transact(BnKeystoreService::MIGRATE, data, &reply);
+ data.writeString16(srcKey);
+ data.writeInt32(srcUid);
+ data.writeString16(destKey);
+ data.writeInt32(destUid);
+ status_t status = remote()->transact(BnKeystoreService::DUPLICATE, data, &reply);
if (status != NO_ERROR) {
- ALOGD("migrate() could not contact remote: %d\n", status);
+ ALOGD("duplicate() could not contact remote: %d\n", status);
return -1;
}
int32_t err = reply.readExceptionCode();
int32_t ret = reply.readInt32();
if (err < 0) {
- ALOGD("migrate() caught exception %d\n", err);
+ ALOGD("duplicate() caught exception %d\n", err);
return -1;
}
return ret;
@@ -758,11 +761,13 @@
reply->writeInt64(ret);
return NO_ERROR;
} break;
- case MIGRATE: {
+ case DUPLICATE: {
CHECK_INTERFACE(IKeystoreService, data, reply);
- String16 name = data.readString16();
- int32_t targetUid = data.readInt32();
- int32_t ret = migrate(name, targetUid);
+ String16 srcKey = data.readString16();
+ int32_t srcUid = data.readInt32();
+ String16 destKey = data.readString16();
+ int32_t destUid = data.readInt32();
+ int32_t ret = duplicate(srcKey, srcUid, destKey, destUid);
reply->writeNoException();
reply->writeInt32(ret);
return NO_ERROR;