/mandos/release

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

« back to all changes in this revision

Viewing changes to debian/mandos-client.postinst

  • Committer: Teddy Hogeborn
  • Date: 2015-07-09 20:32:52 UTC
  • mto: (237.7.594 trunk)
  • mto: This revision was merged to the branch mainline in revision 325.
  • Revision ID: teddy@recompile.se-20150709203252-u10p7trfsxc1a9yp
Install client Diffie-Hellman parameters into initramfs.

* debian/control (Package: mandos-client/Recommends): Added
  "gnutls-bin | openssl" (to generate DH parameters).
* debian/mandos-client.postinst (create_dh_params): New function
                                                    called on package
                                                    configure.
* plugins.d/mandos-client.c (main): Bug fix: Work around Debian bug
                                    #633582 also for the
                                    "client-dhparams.pem" file.

Show diffs side-by-side

added added

removed removed

Lines of Context:
63
63
    fi
64
64
}
65
65
 
 
66
create_dh_params(){
 
67
    if [ -r /etc/keys/mandos/client-dhparams.pem ]; then
 
68
        return 0
 
69
    fi
 
70
    # Create a Diffe-Hellman parameters file
 
71
    DHFILE="`mktemp -t mandos-client-dh-parameters.XXXXXXXXXX.pem`"
 
72
    # First try certtool from GnuTLS
 
73
    if ! certtool --generate-dh-params --sec-param high \
 
74
         --outfile "$DHFILE"; then
 
75
        # Otherwise try OpenSSL
 
76
        if ! openssl genpkey -genparam -algorithm DH -out "$DHFILE" \
 
77
             -pkeyopt dh_paramgen_prime_len:3072; then
 
78
            # None of the commands succeded; give up
 
79
            rm -- "$DHFILE"
 
80
            return 1
 
81
        fi
 
82
    fi
 
83
    sed --in-place --expression='0,/^-----BEGIN DH PARAMETERS-----$/d' \
 
84
        "$DHFILE"
 
85
    sed --in-place --expression='1i-----BEGIN DH PARAMETERS-----' \
 
86
            "$DHFILE"
 
87
    cp --archive "$DHFILE" /etc/keys/mandos/client-dhparams.pem
 
88
    rm -- "$DHFILE"
 
89
}
 
90
 
66
91
case "$1" in
67
92
    configure)
68
93
        add_mandos_user "$@"
69
94
        create_key "$@"
 
95
        create_dh_params "$@" || :
70
96
        update_initramfs "$@"
71
97
        ;;
72
98
    abort-upgrade|abort-deconfigure|abort-remove)