/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 INSTALL

  • Committer: Teddy Hogeborn
  • Date: 2009-10-24 19:17:52 UTC
  • Revision ID: teddy@fukt.bsnet.se-20091024191752-7g6xlf6wpp2pdexb
Convert some programs to use the exit codes from <sysexits.h>.  Change
all programs using the "argp" parsing functions to use them correctly;
checking return value, using argp_error() to report parse errors etc.

* plugin-runner.c: Use <sysexits.h> exit codes.  Always use fallback,
                   even on option errors, except for "--help", etc.
  (getplugin): Make sure "errno" is set correctly on return.
  (main): Declare our own "--help", "--usage", and "--version"
          options which do not cause the fallback to be invoked.
          In all other options, use fallback on any error.
  (parse_opt, parse_opt_config_file): Reset errno at start and return
                                      errno.  No need to check "arg"
                                      for NULL.  New "--help",
                                      "--usage", and "--version"
                                      options.
  (parse_opt): Accept empty string as global option.  Do not print
               errors which will be detected and reported later.  Do
               "argp_error()" on parse error or empty plugin names.
* plugins.d/mandos-client.c: Use <sysexits.h> exit codes.  Do not
                             return successful exit code on "--help",
                             etc. since this would give the wrong
                             message to "plugin-runner".
  (main): Declare our own "--help", "--usage", and "--version"
          options which do not return a successful exit code.
  (parse_opt): Reset errno at start and return errno.  Do
               "argp_error()" on parse errors.  New "--help",
               "--usage", and "--version" options.
* plugins.d/password-prompt.c: Use exit codes from <sysexits.h>.  Do
                               not return successful exit code on
                               "--help", etc. since this would give
                               the wrong message to "plugin-runner".
  (main): Declare our own "--help", "--usage", and "--version" options
          which do not return a successful exit code.  Do
          close(STDOUT_FILENO) after writing to check its return code.
  (parse_opt): Reset errno at start and return errno.

Show diffs side-by-side

added added

removed removed

Lines of Context:
39
39
*** Mandos Server
40
40
    + GnuTLS 2.4          http://www.gnu.org/software/gnutls/
41
41
    + Avahi 0.6.16        http://www.avahi.org/
42
 
    + Python 2.4          http://www.python.org/
 
42
    + Python 2.5          http://www.python.org/
43
43
    + Python-GnuTLS 1.1.5 http://pypi.python.org/pypi/python-gnutls/
44
44
    + dbus-python 0.82.4  http://dbus.freedesktop.org/doc/dbus-python/
45
45
    + python-ctypes 1.0.0 http://pypi.python.org/pypi/ctypes
 
46
    + PyGObject 2.14.2    http://library.gnome.org/devel/pygobject/
46
47
    
47
48
    Strongly recommended:
48
49
    + fping 2.4b2-to-ipv6 http://www.fping.com/
49
50
    
50
51
    Package names:
51
52
    python-gnutls avahi-daemon python python-avahi python-dbus
52
 
    python-ctypes
 
53
    python-ctypes python-gobject
53
54
   
54
55
*** Mandos Client
55
56
    + initramfs-tools 0.85i
97
98
     and append this to the file "/etc/mandos/clients.conf" *on the
98
99
     server computer*.
99
100
  
100
 
  4. On the server computer, start the server by running the command
 
101
  4. Configure the client to use the correct network interface.  The
 
102
     default is "eth0", and if this needs to be adjusted, it will be
 
103
     necessary to edit /etc/mandos/plugin-runner.conf to uncomment and
 
104
     change the line there.  If that file is changed, the initrd.img
 
105
     file must be updated, possibly using the following command:
 
106
     
 
107
        # update-initramfs -k all -u
 
108
  
 
109
  5. On the server computer, start the server by running the command
101
110
     For Debian: su -c 'invoke-rc.d mandos start'
102
111
     For Ubuntu: sudo invoke-rc.d mandos start
103
112
     
 
113
     At this point, it is possible to verify that the correct password
 
114
     will be received by the client by running the command:
 
115
     
 
116
        # /usr/lib/mandos/plugins.d/mandos-client \
 
117
                --pubkey=/etc/keys/mandos/pubkey.txt \
 
118
                --seckey=/etc/keys/mandos/seckey.txt; echo
 
119
     
 
120
     This command should retrieve the password from the server,
 
121
     decrypt it, and output it to standard output.
 
122
     
104
123
     After this, the client computer should be able to reboot without
105
124
     needing a password entered on the console, as long as it does not
106
125
     take more than an hour to reboot.
109
128
  
110
129
  You may want to tighten or loosen the timeouts in the server
111
130
  configuration files; see mandos.conf(5) and mandos-clients.conf(5).
112
 
  Is IPsec is not used, it is suggested that a more cryptographically
 
131
  If IPsec is not used, it is suggested that a more cryptographically
113
132
  secure checker program is used and configured, since without IPsec
114
133
  ping packets can be faked.