/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 debian/mandos-client.postinst

  • Committer: Teddy Hogeborn
  • Date: 2008-08-29 05:53:59 UTC
  • Revision ID: teddy@fukt.bsnet.se-20080829055359-wkdasnyxtylmnxus
* mandos.xml (EXAMPLE): Replaced all occurences of command name with
                        "&COMMANDNAME;".

* plugins.d/password-prompt.c (main): Improved some documentation
                                      strings.  Do perror() of
                                      tcgetattr() fails.  Add debug
                                      output if interrupted by signal.
                                      Loop over write() instead of
                                      using fwrite() when outputting
                                      password.  Add debug output if
                                      getline() returns 0, unless it
                                      was caused by a signal.  Add
                                      exit status code to debug
                                      output.

* plugins.d/password-prompt.xml: Changed all single quotes to double
                                 quotes for consistency.  Removed
                                 <?xml-stylesheet>.
  (ENTITY TIMESTAMP): New.  Automatically updated by Emacs time-stamp
                      by using Emacs local variables.
  (/refentry/refentryinfo/title): Changed to "Mandos Manual".
  (/refentry/refentryinfo/productname): Changed to "Mandos".
  (/refentry/refentryinfo/date): New; set to "&TIMESTAMP;".
  (/refentry/refentryinfo/copyright): Split copyright holders.
  (/refentry/refnamediv/refpurpose): Improved wording.
  (SYNOPSIS): Fix to use correct markup.  Add short options.
  (DESCRIPTION, OPTIONS): Improved wording.
  (OPTIONS): Improved wording.  Use more correct markup.  Document
             short options.
  (EXIT STATUS): Add text.
  (ENVIRONMENT): Document use of "cryptsource" and "crypttarget".
  (FILES): REMOVED.
  (BUGS): Add text.
  (EXAMPLE): Added some examples.
  (SECURITY): Added text.
  (SEE ALSO): Remove reference to mandos(8).  Add reference to
              crypttab(5).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/bin/sh -e
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
 
 
18
 
# Update the initial RAM file system image
19
 
update_initramfs()
20
 
{
21
 
    if [ -x /usr/sbin/update-initramfs ]; then
22
 
        update-initramfs -u -k all
23
 
    fi
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.
28
 
        find /boot -maxdepth 1 -type f -name "initrd.img-*.bak" \
29
 
            -print0 | xargs --null --no-run-if-empty chmod o-r
30
 
    fi
31
 
}
32
 
 
33
 
# Add user and group
34
 
add_mandos_user(){
35
 
    # Rename old "mandos" user and group
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
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
50
 
    fi
51
 
}
52
 
 
53
 
# Create client key pair
54
 
create_key(){
55
 
    if [ -r /etc/keys/mandos/pubkey.txt \
56
 
        -a -r /etc/keys/mandos/seckey.txt ]; then
57
 
        return 0
58
 
    fi
59
 
    if [ -x /usr/sbin/mandos-keygen ]; then
60
 
        mandos-keygen
61
 
    fi
62
 
}
63
 
 
64
 
case "$1" in
65
 
    configure)
66
 
        add_mandos_user "$@"
67
 
        create_key "$@"
68
 
        update_initramfs "$@"
69
 
        ;;
70
 
    abort-upgrade|abort-deconfigure|abort-remove)
71
 
        ;;
72
 
 
73
 
    *)
74
 
        echo "$0 called with unknown argument '$1'" 1>&2
75
 
        exit 1
76
 
        ;;
77
 
esac
78
 
 
79
 
#DEBHELPER#
80
 
 
81
 
exit 0