/mandos/trunk

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/trunk

« back to all changes in this revision

Viewing changes to initramfs-unpack

  • Committer: Teddy Hogeborn
  • Date: 2019-02-10 03:50:20 UTC
  • Revision ID: teddy@recompile.se-20190210035020-nttr1tybgwwixueu
Show debconf note about new TLS key IDs

If mandos-client did not see TLS keys and had to create them, or if
mandos sees GnuTLS version 3.6.6 or later, show an important notice on
package installation about the importance of adding the new key_id
options to clients.conf on the Mandos server.

* debian/control (Package: mandos, Package: mandos-client): Depend on
                                                            debconf.
* debian/mandos-client.lintian-overrides: Override warnings.
* debian/mandos-client.postinst (create_keys): Show notice if new TLS
                                               key files were created.
* debian/mandos-client.templates: New.
* debian/mandos.lintian-overrides: Override warnings.
* debian/mandos.postinst (configure): If GnuTLS 3.6.6 or later is
                                      detected, show an important
                                      notice (once) about the new
                                      key_id option required in
                                      clients.conf.
* debian/mandos.templates: New.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
3
3
# Initramfs unpacker - unpacks initramfs images into /tmp
4
4
5
 
# Copyright © 2013-2019 Teddy Hogeborn
6
 
# Copyright © 2013-2019 Björn Påhlsson
 
5
# Copyright © 2013-2018 Teddy Hogeborn
 
6
# Copyright © 2013-2018 Björn Påhlsson
7
7
8
8
# This file is part of Mandos.
9
9
#
43
43
    if $cpio --quiet --list --file="$imgfile" >/dev/null 2>&1; then
44
44
        # Number of bytes to skip to get to the compressed archive
45
45
        skip=$(($(LANG=C $cpio --io-size=1 --list --file="$imgfile" 2>&1 \
46
 
                      | sed --quiet \
47
 
                            --expression='s/^\([0-9]\+\) blocks$/\1/p')+8))
48
 
        if [ -x /usr/lib/dracut/skipcpio ]; then
49
 
            catimg="/usr/lib/dracut/skipcpio $imgfile"
50
 
        else
51
 
            catimg="dd if=$imgfile bs=$skip skip=1 status=noxfer"
52
 
        fi
 
46
            | sed --quiet --expression='s/^\([0-9]\+\) blocks$/\1/p')+8))
 
47
        catimg="dd if=$imgfile bs=$skip skip=1 status=noxfer"
53
48
    else
54
 
        echo "No microcode detected"
55
49
        catimg="cat -- $imgfile"
56
50
    fi
57
 
    while :; do
58
 
        # Determine the compression method
59
 
        if { $catimg 2>/dev/null | zcat --test >/dev/null 2>&1;
60
 
             [ ${PIPESTATUS[-1]} -eq 0 ]; }; then
61
 
            decomp="zcat"
62
 
        elif { $catimg 2>/dev/null | bzip2 --test >/dev/null 2>&1;
63
 
               [ ${PIPESTATUS[-1]} -eq 0 ]; }; then
64
 
            decomp="bzip2 --stdout --decompress"
65
 
        elif { $catimg 2>/dev/null | lzop --test >/dev/null 2>&1;
66
 
               [ ${PIPESTATUS[-1]} -eq 0 ]; }; then
67
 
            decomp="lzop --stdout --decompress"
68
 
        else
69
 
            skip=$((${skip}+1))
70
 
            echo "Could not determine compression of ${imgfile}; trying to skip ${skip} bytes" >&2
71
 
            catimg="dd if=$imgfile bs=$skip skip=1 status=noxfer"
72
 
            continue
73
 
        fi
74
 
        break
75
 
    done
76
 
    case "$catimg" in
77
 
        *skipcpio*) echo "Microcode detected, skipping";;
78
 
        *) echo "Microcode detected, skipping ${skip} bytes";;
79
 
    esac
 
51
    # Determine the compression method
 
52
    if { $catimg 2>/dev/null | zcat --test >/dev/null 2>&1;
 
53
            [ ${PIPESTATUS[-1]} -eq 0 ]; }; then
 
54
        decomp="zcat"
 
55
    elif { $catimg 2>/dev/null | bzip2 --test >/dev/null 2>&1;
 
56
            [ ${PIPESTATUS[-1]} -eq 0 ]; }; then
 
57
        decomp="bzip2 --stdout --decompress"
 
58
    elif { $catimg 2>/dev/null | lzop --test >/dev/null 2>&1;
 
59
            [ ${PIPESTATUS[-1]} -eq 0 ]; }; then
 
60
        decomp="lzop --stdout --decompress"
 
61
    else
 
62
        echo "Error: Could not determine type of $imgfile" >&2
 
63
        continue
 
64
    fi
80
65
    $catimg 2>/dev/null | $decomp | ( cd -- "$imgdir" && $cpio --quiet )
81
66
    if [ ${PIPESTATUS[-1]} -eq 0 ]; then
82
67
        echo "$imgfile unpacked into $imgdir"