goto out;
}
}
+ } else if (isTCRYPT(cd->type)) {
+ //FIXME
}
out:
crypt_free_volume_key(dmd.u.crypt.vk);
(*cd)->type = strdup(CRYPT_LUKS1);
else if (!strncmp(CRYPT_VERITY, dmd.uuid, sizeof(CRYPT_VERITY)-1))
(*cd)->type = strdup(CRYPT_VERITY);
+ else if (!strncmp(CRYPT_TCRYPT, dmd.uuid, sizeof(CRYPT_TCRYPT)-1))
+ (*cd)->type = strdup(CRYPT_TCRYPT);
else
log_dbg("Unknown UUID set, some parameters are not set.");
} else
r = 0;
} else {
dmd.size = new_size;
- r = dm_create_device(cd, name, cd->type, &dmd, 1);
+ if (isTCRYPT(cd->type))
+ r = -ENOTSUP;
+ else
+ r = dm_create_device(cd, name, cd->type, &dmd, 1);
}
out:
if (dmd.target == DM_CRYPT) {
switch (crypt_status(cd, name)) {
case CRYPT_ACTIVE:
case CRYPT_BUSY:
- r = dm_remove_device(cd, name, 0, 0);
+ if (isTCRYPT(cd->type))
+ r = TCRYPT_deactivate(cd, name);
+ else
+ r = dm_remove_device(cd, name, 0, 0);
break;
case CRYPT_INACTIVE:
log_err(cd, _("Device %s is not active.\n"), name);