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