--- util-linux-ng-2.13/mount/lomount.c.eme 2007-10-26 19:45:24.677318000 +0300 +++ util-linux-ng-2.13/mount/lomount.c 2007-11-19 19:53:50.279101905 +0200 @@ -886,6 +886,7 @@ close_ffd_return1: case 12: /* LO_CRYPT_DES_EDE3 */ case 16: /* LO_CRYPT_AES */ case 18: /* LO_CRYPT_CRYPTOAPI */ + case 19: /* LO_CRYPT_EME_32_AES */ /* set default hash function */ hashFunc = sha256_hash_buffer; if(loopinfo.lo_encrypt_key_size == 24) hashFunc = sha384_hash_buffer; @@ -1001,6 +1002,13 @@ close_ffd_return1: loopinfo.lo_init[0] = i; } + if (loopinfo.lo_encrypt_type == 19) { + if (multiKeyMode != 0) { + fprintf(stderr, _("multiKeyMode with eme-32-aes not possible.\n")); + goto loop_clr_fd_out; + } + } + /* type 18 == LO_CRYPT_CRYPTOAPI */ if ((loopinfo.lo_encrypt_type == 18) || (loop_set_status64_ioctl(fd, &loopinfo) < 0)) { /* direct cipher interface failed - try CryptoAPI interface now */ --- util-linux-ng-2.13/mount/loop.c.eme 2007-10-26 19:45:24.763319000 +0300 +++ util-linux-ng-2.13/mount/loop.c 2007-11-20 23:47:49.709977243 +0200 @@ -158,6 +158,7 @@ struct loop_crypt_type_struct loop_crypt { 12, 0, 24, "3des" }, { 12, 0, 24, "des3_ede" }, { 16, 1, 16, "AES" }, + { 19, 1, 16, "eme" }, { -1, 0, 0, NULL } };