/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: 2019-07-30 17:03:57 UTC
  • Revision ID: teddy@recompile.se-20190730170357-jte0piul5mq7j5pr
Server: Reap zombies created by multiprocessing.Process()

When creating checkers as multiprocessing.Process() objects, the
multiprocessing module also creates a parent process (for the
call_pipe() function) to call the actual checker process, but this
parent process is not reaped.  This is not a huge problem, since the
zombie is always reaped automatically the next time the multiprocess
starts a new process, but the zombies can be up to as many as there
have ever been simultaneous checker processes.  To fix this, the
process object must be join():ed when they report completion of the
child checker process.

* mandos (Client): Fix doc string to correctly state that
                   Client.checker is a multiprocess.Process() and not
                   a subprocess.Popen() object.
  (Client.checker_callback): After the returncode of the checker
                             process has been read, wait for the
                             self.checker Process object to finish by
                             calling join() on it.

Reported-by: Peter Palfrader <weasel@debian.org>

Show diffs side-by-side

added added

removed removed

Lines of Context:
39
39
    
40
40
*** Mandos Server
41
41
    + GnuTLS 3.3          https://www.gnutls.org/
42
 
    + Avahi 0.6.16        http://www.avahi.org/
 
42
      (but not 3.6.0 or later, until 3.6.6, which works)
 
43
    + Avahi 0.6.16        https://www.avahi.org/
43
44
    + Python 2.7          https://www.python.org/
44
45
    + dbus-python 0.82.4 https://dbus.freedesktop.org/doc/dbus-python/
45
46
    + PyGObject 3.7.1     https://wiki.gnome.org/Projects/PyGObject
56
57
    fping ssh-client
57
58
    
58
59
*** Mandos Client
59
 
    + GNU C Library 2.16 https://gnu.org/software/libc/
60
 
    + initramfs-tools 0.85i
61
 
                        https://tracker.debian.org/pkg/initramfs-tools
 
60
    + GNU C Library 2.17 https://gnu.org/software/libc/
62
61
    + GnuTLS 3.3        https://www.gnutls.org/
63
 
    + Avahi 0.6.16      http://www.avahi.org/
 
62
      (but not 3.6.0 or later, until 3.6.6 which works)
 
63
    + Avahi 0.6.16      https://www.avahi.org/
64
64
    + GnuPG 1.4.9       https://www.gnupg.org/
65
65
    + GPGME 1.1.6       https://www.gnupg.org/related_software/gpgme/
66
66
    + pkg-config https://www.freedesktop.org/wiki/Software/pkg-config/
 
67
    + libnl-route 3     https://www.infradead.org/~tgr/libnl/
 
68
    + GLib 2.40         http://www.gtk.org/
 
69
    
 
70
    One of:
 
71
    + initramfs-tools 0.85i
 
72
                        https://tracker.debian.org/pkg/initramfs-tools
 
73
    + dracut 044+241
 
74
         http://www.kernel.org/pub/linux/utils/boot/dracut/dracut.html
67
75
    
68
76
    Strongly recommended:
69
77
    + OpenSSH           http://www.openssh.com/
70
78
    
71
79
    Package names:
72
 
    initramfs-tools libgnutls-dev libavahi-core-dev gnupg
73
 
    libgpgme11-dev pkg-config ssh
 
80
    initramfs-tools dracut libgnutls-dev gnutls-bin libavahi-core-dev
 
81
    gnupg libgpgme11-dev pkg-config ssh libnl-route-3-dev
 
82
    libglib2.0-dev
74
83
 
75
84
* Installing the Mandos server
76
85
  
123
132
     
124
133
        # /usr/lib/mandos/plugins.d/mandos-client \
125
134
                --pubkey=/etc/keys/mandos/pubkey.txt \
126
 
                --seckey=/etc/keys/mandos/seckey.txt; echo
 
135
                --seckey=/etc/keys/mandos/seckey.txt \
 
136
                --tls-privkey=/etc/keys/mandos/tls-privkey.pem \
 
137
                --tls-pubkey=/etc/keys/mandos/tls-pubkey.pem; echo
127
138
     
128
139
     This command should retrieve the password from the server,
129
140
     decrypt it, and output it to standard output.