}
char *_app2sd_do_loopback_encryption_setup(const char *pkgid,
- const char *loopback_device)
+ const char *loopback_device, uid_t uid)
{
int ret = APP2EXT_SUCCESS;
char *passwd = NULL;
return NULL;
}
- /* Get password for loopback encryption */
+ /* get password for loopback encryption */
ret = _app2sd_initialize_db();
if (ret) {
_E("app2sd db initialize failed");
return NULL;
}
+
if ((passwd = _app2sd_get_password_from_db(pkgid)) == NULL) {
passwd = (char *)_app2sd_generate_password(pkgid);
if (NULL == passwd) {
}
}
- /* Get Free device node*/
+ /* get free device node*/
device_node = _app2sd_create_loopdevice_node();
if (NULL == device_node) {
free(passwd);
}
char *_app2sd_do_loopback_duplicate_encryption_setup(const char *pkgid,
- const char *temp_pkgid,
- const char *temp_loopback_device)
+ const char *temp_pkgid, const char *temp_loopback_device,
+ uid_t uid)
{
int ret = APP2EXT_SUCCESS;
char *passwd = NULL;
_E("unable to generate password");
return NULL;
} else {
- _E("password is (%s)", passwd);
if ((ret = _app2sd_set_password_in_db(pkgid,
passwd)) < 0) {
_E("unable to save password");
}
/* perform loopback encryption setup */
device_node = _app2sd_do_loopback_encryption_setup(pkgid,
- loopback_device);
+ loopback_device, uid);
if (!device_node) {
_E("loopback encryption setup failed");
return APP2EXT_ERROR_DO_LOSETUP;
if (NULL == device_node) {
/* do loopback setup */
device_node = _app2sd_do_loopback_encryption_setup(pkgid,
- loopback_device);
+ loopback_device, uid);
if (device_node == NULL) {
_E("loopback encryption setup failed");
return APP2EXT_ERROR_DO_LOSETUP;
/* perform loopback encryption setup */
dev_node = _app2sd_do_loopback_duplicate_encryption_setup(pkgid,
- temp_pkgid, temp_loopback_device);
+ temp_pkgid, temp_loopback_device, uid);
if (!dev_node) {
_E("losetup failed, device node is (%s)", dev_node);
_app2sd_delete_loopback_device(loopback_device);
if (NULL == old_device_node) {
/* do loopback setup */
old_device_node = _app2sd_do_loopback_encryption_setup(pkgid,
- loopback_device);
+ loopback_device, uid);
if (old_device_node == NULL) {
_E("loopback encryption setup failed");
err_res = APP2EXT_ERROR_DO_LOSETUP;