diff --git a/CommandListener.cpp b/CommandListener.cpp index 89a7a09..2e8cb24 100644 --- a/CommandListener.cpp +++ b/CommandListener.cpp @@ -44,8 +44,6 @@ #include "Process.h" #include "Loop.h" #include "Devmapper.h" -#include "Ext4Crypt.h" -#include "cryptfs.h" #include "fstrim.h" #include "MoveTask.h" diff --git a/CryptCommandListener.cpp b/CryptCommandListener.cpp index 2e46919..68db073 100644 --- a/CryptCommandListener.cpp +++ b/CryptCommandListener.cpp @@ -42,6 +42,7 @@ #include "Process.h" #include "ResponseCode.h" #include "cryptfs.h" +#include "Ext4Crypt.h" #define DUMP_ARGS 0 @@ -288,6 +289,26 @@ int CryptCommandListener::CryptfsCmd::runCommand(SocketClient *cli, dumpArgs(argc, argv, -1); cryptfs_clear_password(); rc = 0; + } else if (!strcmp(argv[1], "createnewuserdir")) { + if (argc != 4) { + cli->sendMsg(ResponseCode::CommandSyntaxError, + "Usage: cryptfs createnewuserdir ", false); + return 0; + } + // ext4enc:TODO: send a CommandSyntaxError if argv[2] not an integer + SLOGD("cryptfs createnewuserdir"); + dumpArgs(argc, argv, -1); + rc = e4crypt_create_new_user_dir(argv[2], argv[3]); + } else if (!strcmp(argv[1], "deleteuserkey")) { + if (argc != 3) { + cli->sendMsg(ResponseCode::CommandSyntaxError, + "Usage: cryptfs deleteuserkey ", false); + return 0; + } + // ext4enc:TODO: send a CommandSyntaxError if argv[2] not an integer + SLOGD("cryptfs deleteuserkey"); + dumpArgs(argc, argv, -1); + rc = e4crypt_delete_user_key(argv[2]); } else { dumpArgs(argc, argv, -1); cli->sendMsg(ResponseCode::CommandSyntaxError, "Unknown cryptfs cmd", false);