Package: cryptsetup Version: 2:1.1.0-2.1 Severity: normal Tags: squeeze sid patch
cryptsetup isLuks [..] code-path does not initialize gcrypt library properly. For example: This is luksDump is from a healthy volume, which was created with ripemd160 as the selected message digest. # cryptsetup luksDump /dev/loop1 LUKS header information for /dev/loop1 Version: 1 Cipher name: serpent Cipher mode: xts-benbi Hash spec: ripemd160 <--- Payload offset: 2056 MK bits: 256 MK digest: 47 cd 8a 78 ab [...] MK salt: d6 a9 81 f2 d7 [...] MK iterations: 20750 UUID: e4245[...] Key Slot 0: ENABLED Iterations: 83[...] Salt: 5d [...] Key material offset: 8 AF stripes: 4000 Key Slot 1: DISABLED [...] However, for the same volume isLuks failes with # cryptsetup isLuks /dev/loop1 Requested LUKS hash ripemd160 is not supported. - This behavior is actually a feature of libgcrypt. It prevents damage and misuse of the library. But in my case (I made the mistake of making a root partition with ripemd160...) it confused The initramfs script /scripts/local-top/cryptsetup, which then tried to call "cryptsetup create ..." instead of "luksOpen". -- Package-specific info: -- /proc/cmdline BOOT_IMAGE=/vmlinuz-2.6.34-rc4-wl root=/dev/mapper/linux2-disc1_crypt ro console=ttyS0,115200 console=tty0 hpet=force -- /etc/crypttab linux2-disc1_crypt /dev/mapper/linux2-disc1 none luks -- /etc/fstab # /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> /dev/mapper/linux2-disc1_crypt / reiserfs noatime,user_xattr 0 1 proc /proc proc defaults 0 0 /dev/sda1 /boot ext2 noatime,nosuid,nodev,noexec 0 1 none_debugfs /sys/kernel/debug debugfs defaults 0 0 -- lsmod Module Size Used by nls_iso8859_1 4473 0 nls_cp850 5314 0 vfat 8328 0 fat 44631 1 vfat tcp_diag 895 0 inet_diag 7293 1 tcp_diag nvidia 10786745 22 ppdev 5611 0 lp 9164 0 bluetooth 51651 2 rfkill 16789 2 bluetooth xt_multiport 2266 1 iptable_filter 1386 1 ip_tables 14814 1 iptable_filter x_tables 19492 3 xt_multiport,iptable_filter,ip_tables pktcdvd 24942 1 cpufreq_conservative 9806 0 binfmt_misc 6782 1 deflate 1769 0 zlib_deflate 18923 1 deflate ctr 3437 0 camellia 17980 0 cast5 15752 0 des_generic 16074 0 xcbc 2367 0 rmd160 7752 0 crypto_null 2582 0 dm_snapshot 25924 0 dm_mirror 11784 0 dm_region_hash 9698 1 dm_mirror dm_log 8264 2 dm_mirror,dm_region_hash fuse 54512 1 nfsd 262150 13 exportfs 3418 1 nfsd nfs 249246 0 lockd 62571 2 nfsd,nfs nfs_acl 2277 2 nfsd,nfs auth_rpcgss 37647 2 nfsd,nfs sunrpc 193752 14 nfsd,nfs,lockd,nfs_acl,auth_rpcgss i2c_dev 4497 0 cpufreq_userspace 2560 0 powernow_k8 13359 1 hwmon_vid 2026 0 firewire_sbp2 12036 0 snd_emu10k1_synth 4932 0 snd_emux_synth 29089 1 snd_emu10k1_synth snd_seq_virmidi 3996 1 snd_emux_synth snd_seq_midi_emul 4927 1 snd_emux_synth snd_emu10k1 129919 3 snd_emu10k1_synth snd_ac97_codec 110598 1 snd_emu10k1 ac97_bus 1242 1 snd_ac97_codec snd_pcm_oss 30195 0 snd_mixer_oss 12678 1 snd_pcm_oss snd_pcm 67238 4 snd_emu10k1,snd_ac97_codec,snd_pcm_oss snd_page_alloc 7252 2 snd_emu10k1,snd_pcm snd_util_mem 3290 2 snd_emux_synth,snd_emu10k1 snd_hwdep 5642 2 snd_emux_synth,snd_emu10k1 snd_seq_dummy 1542 0 snd_seq_oss 24254 0 snd_seq_midi 4604 0 snd_rawmidi 18819 3 snd_seq_virmidi,snd_emu10k1,snd_seq_midi snd_seq_midi_event 6067 3 snd_seq_virmidi,snd_seq_oss,snd_seq_midi snd_seq 45917 9 snd_emux_synth,snd_seq_virmidi,snd_seq_midi_emul,snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event snd_timer 18457 3 snd_emu10k1,snd_pcm,snd_seq snd_seq_device 5762 8 snd_emu10k1_synth,snd_emux_synth,snd_emu10k1,snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq snd 56213 16 snd_emux_synth,snd_seq_virmidi,snd_emu10k1,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_hwdep,snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device parport_pc 26456 1 parport 31679 3 ppdev,lp,parport_pc rtc_cmos 8215 1 rtc_core 14000 2 rtc_cmos rtc_lib 2433 1 rtc_core rt2860sta 468028 0 k8temp 3403 0 hwmon 1840 1 k8temp i2c_nforce2 5247 0 i2c_core 21356 3 nvidia,i2c_dev,i2c_nforce2 ohci_hcd 18795 0 firewire_ohci 20229 0 skge 34816 0 firewire_core 43315 2 firewire_sbp2,firewire_ohci ehci_hcd 30507 0 -- System Information: Debian Release: squeeze/sid APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 2.6.34-rc4-wl (SMP w/2 CPU cores; PREEMPT) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages cryptsetup depends on: ii dmsetup 2:1.02.45-1 The Linux Kernel Device Mapper use ii libc6 2.10.2-7 Embedded GNU C Library: Shared lib ii libdevmapper1.02.1 2:1.02.45-1 The Linux Kernel Device Mapper use ii libpopt0 1.15-1 lib for parsing cmdline parameters ii libuuid1 2.16.2-0 Universally Unique ID library cryptsetup recommends no packages. Versions of packages cryptsetup suggests: ii dosfstools 3.0.9-1 utilities for making and checking ii initramfs-tools [linux-initra 0.94.4 tools for generating an initramfs ii udev 151-3 /dev/ and hotplug management daemo -- no debconf information
--- a/lib/setup.c 2010-04-24 00:37:46.000000000 +0200 +++ b/lib/setup.c 2010-04-24 00:38:50.000000000 +0200 @@ -921,6 +921,11 @@ int crypt_isLuks(struct crypt_options *o log_dbg("Check device %s for LUKS header.", options->device); + if (init_crypto()) { + log_err(cd, _("Cannot initialize crypto backend.\n")); + return -ENOSYS; + } + r = crypt_init(&cd, options->device); if (r < 0) return -EINVAL;