/mandos/trunk

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/trunk
505.1.13 by Teddy Hogeborn
Miscellaneous fixes prompted by lintian:
1
#!/bin/sh
187.1.1 by Teddy Hogeborn
* debian/mandos.postinst: New. Create mandos user and group.
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
967 by Teddy Hogeborn
Show debconf note about new TLS key IDs
18
. /usr/share/debconf/confmodule
19
505.1.13 by Teddy Hogeborn
Miscellaneous fixes prompted by lintian:
20
set -e
21
187.1.1 by Teddy Hogeborn
* debian/mandos.postinst: New. Create mandos user and group.
22
case "$1" in
23
    configure)
238 by Teddy Hogeborn
First version of a somewhat complete D-Bus server interface. Also
24
	# Rename old "mandos" user and group
347 by Teddy Hogeborn
* debian/mandos.postinst (configure): Don't look for user and group
25
	if dpkg --compare-versions "$2" lt "1.0.3-1"; then
26
	    case "`getent passwd mandos`" in
27
		*:Mandos\ password\ system,,,:/nonexistent:/bin/false)
28
		    usermod --login _mandos mandos
29
		    groupmod --new-name _mandos mandos
30
		    ;;
31
	    esac
32
	fi
238 by Teddy Hogeborn
First version of a somewhat complete D-Bus server interface. Also
33
	# Create new user and group
34
	if ! getent passwd _mandos >/dev/null; then
35
	    adduser --system --force-badname --quiet \
36
		--home /nonexistent --no-create-home --group \
37
		--disabled-password --gecos "Mandos password system" \
38
		_mandos
825 by Teddy Hogeborn
Server bug fix: Include CAP_SETGID so it does not run as root
39
	elif dpkg --compare-versions "$2" eq 1.7.4-1 \
40
		|| dpkg --compare-versions "$2" eq "1.7.4-1~bpo8+1"
41
	then
42
	    start=no
43
	    if ! [ -f /var/lib/mandos/clients.pickle ]; then
44
		invoke-rc.d mandos stop
45
		start=yes
46
	    fi
47
	    chown _mandos:_mandos /var/lib/mandos/clients.pickle \
48
		  2>/dev/null || :
49
	    if [ "$start" = yes ]; then
50
		invoke-rc.d mandos start
51
	    fi
187.1.1 by Teddy Hogeborn
* debian/mandos.postinst: New. Create mandos user and group.
52
	fi
837 by Teddy Hogeborn
Server: Make persistent state directory mode u=rwx,go=
53
	if ! dpkg-statoverride --list "/var/lib/mandos" >/dev/null \
54
	     2>&1; then
55
	    chown _mandos:_mandos /var/lib/mandos
56
	    chmod u=rwx,go= /var/lib/mandos
57
	fi
967 by Teddy Hogeborn
Show debconf note about new TLS key IDs
58
971 by Teddy Hogeborn
Bug fix: Only create TLS key with certtool, and read correct key file
59
	if dpkg --compare-versions "$2" eq "1.8.0-1" \
60
		|| dpkg --compare-versions "$2" eq "1.8.0-1~bpo9+1"; then
61
	    if grep --quiet --regexp='^[[:space:]]*key_id[[:space:]]*=[[:space:]]*[Ee]3[Bb]0[Cc]44298[Ff][Cc]1[Cc]149[Aa][Ff][Bb][Ff]4[Cc]8996[Ff][Bb]92427[Aa][Ee]41[Ee]4649[Bb]934[Cc][Aa]495991[Bb]7852[Bb]855[[:space:]]*$' /etc/mandos/clients.conf; then
62
		sed --in-place \
63
		    --expression='/^[[:space:]]*key_id[[:space:]]*=[[:space:]]*[Ee]3[Bb]0[Cc]44298[Ff][Cc]1[Cc]149[Aa][Ff][Bb][Ff]4[Cc]8996[Ff][Bb]92427[Aa][Ee]41[Ee]4649[Bb]934[Cc][Aa]495991[Bb]7852[Bb]855[[:space:]]*$/d' \
64
		    /etc/mandos/clients.conf
65
		invoke-rc.d mandos restart
66
		db_version 2.0
67
		db_fset mandos/removed_bad_key_ids seen false
68
		db_reset mandos/removed_bad_key_ids
69
		db_input critical mandos/removed_bad_key_ids || true
70
		db_go
71
		db_stop
72
	    fi
73
	fi
74
967 by Teddy Hogeborn
Show debconf note about new TLS key IDs
75
	gnutls_version=$(dpkg-query --showformat='${Version}' \
76
				    --show libgnutls30 \
77
				    2>/dev/null || :)
78
	if [ -n "$gnutls_version" ] \
79
	       && dpkg --compare-versions $gnutls_version ge 3.6.6; then
80
	    db_version 2.0
81
	    db_input critical mandos/key_id || true
82
	    db_go
83
	    db_stop
84
	fi
187.1.1 by Teddy Hogeborn
* debian/mandos.postinst: New. Create mandos user and group.
85
	;;
518.2.2 by Teddy Hogeborn
Directory with persistent state can now be changed with the "statedir"
86
    
187.1.1 by Teddy Hogeborn
* debian/mandos.postinst: New. Create mandos user and group.
87
    abort-upgrade|abort-deconfigure|abort-remove)
88
	;;
518.2.2 by Teddy Hogeborn
Directory with persistent state can now be changed with the "statedir"
89
    
187.1.1 by Teddy Hogeborn
* debian/mandos.postinst: New. Create mandos user and group.
90
    *)
275 by Teddy Hogeborn
* debian/mandos-client.postinst: Converted to Bourne shell. Also
91
	echo "$0 called with unknown argument '$1'" 1>&2
187.1.1 by Teddy Hogeborn
* debian/mandos.postinst: New. Create mandos user and group.
92
	exit 1
93
	;;
94
esac
95
650 by Teddy Hogeborn
Fix Debian package bug with avahi-daemon 0.6.31-2 or older.
96
# Avahi version 0.6.31-2 and older provides "avahi" (instead of
97
# "avahi-daemon") in its /etc/init.d script header.  To make
98
# insserv(8) happy, we edit our /etc/init.d script header to contain
99
# the correct string before the code added by dh_installinit calls
690 by Teddy Hogeborn
Fix typo in code comment.
100
# update.rc-d, which calls insserv.
650 by Teddy Hogeborn
Fix Debian package bug with avahi-daemon 0.6.31-2 or older.
101
avahi_version="`dpkg-query --showformat='${Version}' --show avahi-daemon`"
102
if dpkg --compare-versions "$avahi_version" le 0.6.31-2; then
103
    sed --in-place --expression='/^### BEGIN INIT INFO$/,/^### END INIT INFO$/s/^\(# Required-\(Stop\|Start\):.*avahi\)-daemon\>/\1/g' /etc/init.d/mandos
104
fi
105
187.1.1 by Teddy Hogeborn
* debian/mandos.postinst: New. Create mandos user and group.
106
#DEBHELPER#
107
108
exit 0