Package: cryptsetup Version: 2:1.2.0-2 Severity: normal Hi,
usplash is dead and has been removed from the archive. Yet cryptsetup still uses it (especially in the initramfs), see attached log. This code should be dropped and possibly replaced by a integration with plymouth, which is the successor of usplash. Cheers, Michael -- System Information: Debian Release: wheezy/sid APT prefers unstable APT policy: (500, 'unstable'), (200, 'experimental') Architecture: i386 (i686) Kernel: Linux 2.6.38-2-686 (SMP w/1 CPU core) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages cryptsetup depends on: ii dmsetup 2:1.02.63-3 The Linux Kernel Device Mapper use ii libc6 2.11.2-11 Embedded GNU C Library: Shared lib ii libcryptsetup1 2:1.2.0-2 libcryptsetup shared library ii libpopt0 1.16-1 lib for parsing cmdline parameters cryptsetup recommends no packages. Versions of packages cryptsetup suggests: ii busybox 1:1.18.4-1 Tiny utilities for small and embed ii dosfstools 3.0.9-1 utilities for making and checking ii initramfs-tools [linux-initra 0.98.8 tools for generating an initramfs ii udev 167-1 /dev/ and hotplug management daemo -- no debconf information
debian/changelog: - start usplash in initramfs, since we need it for fancy passphrase input debian/changelog: * Hopefully fix askpass to properly handle console and usplash input debian/changelog: * Add support for usplash password prompt (closes: #397981) debian/askpass.c: * usplash functions * debian/askpass.c:#define USPLASH_WRITE_FIFO "/dev/.initramfs/usplash_fifo" debian/askpass.c:#define USPLASH_READ_FIFO "/dev/.initramfs/usplash_outfifo" debian/askpass.c:static size_t usplashused = 0; debian/askpass.c:static size_t usplashsize = 0; debian/askpass.c:static char *usplashbuf = NULL; debian/askpass.c:static bool usplashwaiting = false; debian/askpass.c:usplash_command(const char *cmd) debian/askpass.c:usplash_finish(int fd) debian/askpass.c: debug("usplash_finish\n"); debian/askpass.c: if (usplashwaiting) { debian/askpass.c: /* This is ugly, but we need to unwedge usplash if a different debian/askpass.c: * method has been used to provide the passphrase and usplash debian/askpass.c: * usplash's console did not seem to provide a reliable debian/askpass.c: debug("Unwedging usplash\n"); debian/askpass.c: /* Changing the VT will normally terminate usplash */ debian/askpass.c: /* Get a list of remaining usplash procs (if any) to kill */ debian/askpass.c: plist = pidlist("usplash", &plistlen); debian/askpass.c: usplashwaiting = false; debian/askpass.c: usplash_command("TIMEOUT 15"); debian/askpass.c: fifo_common_finish(fd, &usplashbuf, &usplashused, &usplashsize); debian/askpass.c:usplash_read(int fd, char **buf, size_t *size) debian/askpass.c: debug("In usplash_read\n"); debian/askpass.c: if (fifo_common_read(fd, &usplashbuf, &usplashused, &usplashsize)) { debian/askpass.c: while (usplashused > 0 && debian/askpass.c: ((usplashbuf[usplashused - 1] == '\n') || debian/askpass.c: (usplashbuf[usplashused - 1] == '\0'))) { debian/askpass.c: usplashused--; debian/askpass.c: usplashbuf[usplashused] = '\0'; debian/askpass.c: debug("Correcting usplash read length\n"); debian/askpass.c: *buf = usplashbuf; debian/askpass.c: *size = usplashused; debian/askpass.c: usplashwaiting = false; debian/askpass.c:usplash_prepare(const char *prompt) debian/askpass.c: int usplash_cmd_len = strlen("TEXT-URGENT"); debian/askpass.c: int cmd_input_max = strlen(prompt) + usplash_cmd_len + 2; debian/askpass.c: if (!usplash_command("TIMEOUT 0")) debian/askpass.c: line_len += usplash_cmd_len + 2; debian/askpass.c: if (!usplash_command(cmd_input)) debian/askpass.c: if (!usplash_command(cmd_input)) debian/askpass.c: /* If usplash is enabled, disable console */ debian/askpass.c: usplashwaiting = true; debian/askpass.c: { "usplash", usplash_prepare, usplash_read, usplash_finish, false, true, -1 }, debian/initramfs/cryptroot-script: elif [ -p /dev/.initramfs/usplash_outfifo ] && [ -x /sbin/usplash_write ]; then debian/initramfs/cryptroot-script: usplash_write "TEXT-URGENT $@" debian/initramfs/cryptroot-script: if [ -x /sbin/usplash_write ]; then debian/initramfs/cryptroot-script: /sbin/usplash_write "TIMEOUT ${slumber}" || true debian/initramfs/cryptroot-script: if [ -x /sbin/usplash_write ]; then debian/initramfs/cryptroot-script: /sbin/usplash_write "TIMEOUT 15" || true debian/initramfs/cryptroot-conf:# declare that we need usplash included in the initramfs, for pretty prompting debian/scripts/decrypt_opensc:if [ -p /dev/.initramfs/usplash_outfifo ] && [ -x /sbin/usplash_write ]; then debian/scripts/decrypt_opensc: # Get pin number from usplash debian/scripts/decrypt_opensc: /sbin/usplash_write "INPUTQUIET Enter pin for $crypttarget ($cryptsource): " debian/scripts/decrypt_opensc: /usr/bin/pkcs15-crypt --decipher --input $1 --pkcs1 --raw --pin "$(cat /dev/.initramfs/usplash_outfifo)" debian/scripts/decrypt_openct:if [ -p /dev/.initramfs/usplash_outfifo ] && [ -x /sbin/usplash_write ]; then debian/scripts/decrypt_openct: # Get pin number from usplash debian/scripts/decrypt_openct: /sbin/usplash_write "INPUTQUIET Enter pin for $crypttarget ($cryptsource): " debian/scripts/decrypt_openct: /usr/bin/pkcs15-tool --read-data-object $LABEL --pin "$(cat /dev/.initramfs/usplash_outfifo)" -o /proc/self/fd/3 3>&1 1>/dev/null 2>&1