bzr branch
http://bzr.recompile.se/loggerhead/mandos/trunk
505.1.13
by Teddy Hogeborn
Miscellaneous fixes prompted by lintian: |
1 |
#!/bin/sh
|
185
by Teddy Hogeborn
* .bzr-builddeb/default.conf: New. |
2 |
# This script can be called in the following ways:
|
3 |
#
|
|
4 |
# After the package was installed:
|
|
5 |
# <postinst> configure <old-version>
|
|
6 |
#
|
|
7 |
#
|
|
8 |
# If prerm fails during upgrade or fails on failed upgrade:
|
|
9 |
# <old-postinst> abort-upgrade <new-version>
|
|
10 |
#
|
|
11 |
# If prerm fails during deconfiguration of a package:
|
|
12 |
# <postinst> abort-deconfigure in-favour <new-package> <version>
|
|
13 |
# removing <old-package> <version>
|
|
14 |
#
|
|
15 |
# If prerm fails during replacement due to conflict:
|
|
16 |
# <postinst> abort-remove in-favour <new-package> <version>
|
|
17 |
||
505.1.13
by Teddy Hogeborn
Miscellaneous fixes prompted by lintian: |
18 |
set -e |
19 |
||
195
by Teddy Hogeborn
* debian/control (mandos, mandos-client): Depend on "adduser". |
20 |
# Update the initial RAM file system image
|
185
by Teddy Hogeborn
* .bzr-builddeb/default.conf: New. |
21 |
update_initramfs()
|
22 |
{
|
|
771
by Teddy Hogeborn
Don't use absolute paths to commands in Debian configurations scripts. |
23 |
update-initramfs -u -k all |
237.2.21
by Teddy Hogeborn
* debian/mandos-client.postinst: Secure permissions of old |
24 |
|
25 |
if dpkg --compare-versions "$2" lt-nl "1.0.10-1"; then |
|
26 |
# Make old initrd.img files unreadable too, in case they were |
|
27 |
# created with mandos-client 1.0.8 or older. |
|
237.2.22
by Teddy Hogeborn
* debian/mandos-client.postinst (update_initramfs): Bug fix: typo. |
28 |
find /boot -maxdepth 1 -type f -name "initrd.img-*.bak" \ |
29 |
-print0 | xargs --null --no-run-if-empty chmod o-r |
|
237.2.21
by Teddy Hogeborn
* debian/mandos-client.postinst: Secure permissions of old |
30 |
fi |
185
by Teddy Hogeborn
* .bzr-builddeb/default.conf: New. |
31 |
}
|
32 |
||
190
by Teddy Hogeborn
* debian/mandos-client.postinst: Use "type" instead of "which". Split |
33 |
# Add user and group
|
34 |
add_mandos_user(){
|
|
238
by Teddy Hogeborn
First version of a somewhat complete D-Bus server interface. Also |
35 |
# Rename old "mandos" user and group |
348
by Teddy Hogeborn
* debian/mandos-client.postinst (configure): Don't look for user and |
36 |
if dpkg --compare-versions "$2" lt "1.0.3-1"; then |
37 |
case "`getent passwd mandos`" in |
|
38 |
*:Mandos\ password\ system,,,:/nonexistent:/bin/false) |
|
39 |
usermod --login _mandos mandos |
|
40 |
groupmod --new-name _mandos mandos |
|
41 |
return |
|
42 |
;; |
|
43 |
esac |
|
44 |
fi |
|
238
by Teddy Hogeborn
First version of a somewhat complete D-Bus server interface. Also |
45 |
# Create new user and group |
46 |
if ! getent passwd _mandos >/dev/null; then |
|
47 |
adduser --system --force-badname --quiet --home /nonexistent \ |
|
48 |
--no-create-home --group --disabled-password \ |
|
49 |
--gecos "Mandos password system" _mandos |
|
190
by Teddy Hogeborn
* debian/mandos-client.postinst: Use "type" instead of "which". Split |
50 |
fi |
51 |
}
|
|
52 |
||
53 |
# Create client key pair
|
|
54 |
create_key(){
|
|
194
by Teddy Hogeborn
* debian/mandos-client.postinst (create_key): Do not abort on existing |
55 |
if [ -r /etc/keys/mandos/pubkey.txt \ |
56 |
-a -r /etc/keys/mandos/seckey.txt ]; then |
|
57 |
return 0 |
|
58 |
fi |
|
771
by Teddy Hogeborn
Don't use absolute paths to commands in Debian configurations scripts. |
59 |
mandos-keygen
|
190
by Teddy Hogeborn
* debian/mandos-client.postinst: Use "type" instead of "which". Split |
60 |
}
|
61 |
||
765
by Teddy Hogeborn
Install client Diffie-Hellman parameters into initramfs. |
62 |
create_dh_params(){
|
766
by Teddy Hogeborn
Rename the "client-dhparams.pem" file to simply "dhparams.pem". |
63 |
if [ -r /etc/keys/mandos/dhparams.pem ]; then |
765
by Teddy Hogeborn
Install client Diffie-Hellman parameters into initramfs. |
64 |
return 0 |
65 |
fi |
|
66 |
# Create a Diffe-Hellman parameters file |
|
67 |
DHFILE="`mktemp -t mandos-client-dh-parameters.XXXXXXXXXX.pem`" |
|
68 |
# First try certtool from GnuTLS |
|
69 |
if ! certtool --generate-dh-params --sec-param high \ |
|
70 |
--outfile "$DHFILE"; then |
|
71 |
# Otherwise try OpenSSL |
|
72 |
if ! openssl genpkey -genparam -algorithm DH -out "$DHFILE" \ |
|
73 |
-pkeyopt dh_paramgen_prime_len:3072; then |
|
74 |
# None of the commands succeded; give up |
|
75 |
rm -- "$DHFILE" |
|
76 |
return 1 |
|
77 |
fi |
|
78 |
fi |
|
79 |
sed --in-place --expression='0,/^-----BEGIN DH PARAMETERS-----$/d' \ |
|
80 |
"$DHFILE" |
|
81 |
sed --in-place --expression='1i-----BEGIN DH PARAMETERS-----' \ |
|
82 |
"$DHFILE" |
|
766
by Teddy Hogeborn
Rename the "client-dhparams.pem" file to simply "dhparams.pem". |
83 |
cp --archive "$DHFILE" /etc/keys/mandos/dhparams.pem |
765
by Teddy Hogeborn
Install client Diffie-Hellman parameters into initramfs. |
84 |
rm -- "$DHFILE" |
85 |
}
|
|
86 |
||
185
by Teddy Hogeborn
* .bzr-builddeb/default.conf: New. |
87 |
case "$1" in |
88 |
configure) |
|
237.2.21
by Teddy Hogeborn
* debian/mandos-client.postinst: Secure permissions of old |
89 |
add_mandos_user "$@" |
90 |
create_key "$@" |
|
765
by Teddy Hogeborn
Install client Diffie-Hellman parameters into initramfs. |
91 |
create_dh_params "$@" || : |
237.2.21
by Teddy Hogeborn
* debian/mandos-client.postinst: Secure permissions of old |
92 |
update_initramfs "$@" |
185
by Teddy Hogeborn
* .bzr-builddeb/default.conf: New. |
93 |
;; |
94 |
abort-upgrade|abort-deconfigure|abort-remove) |
|
95 |
;; |
|
96 |
||
97 |
*) |
|
275
by Teddy Hogeborn
* debian/mandos-client.postinst: Converted to Bourne shell. Also |
98 |
echo "$0 called with unknown argument '$1'" 1>&2 |
185
by Teddy Hogeborn
* .bzr-builddeb/default.conf: New. |
99 |
exit 1 |
100 |
;; |
|
101 |
esac
|
|
102 |
||
103 |
#DEBHELPER#
|
|
104 |
||
105 |
exit 0 |