/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 init.d-mandos

  • Committer: Teddy Hogeborn
  • Date: 2024-11-17 16:53:00 UTC
  • Revision ID: teddy@recompile.se-20241117165300-02hxm96s8cj9528e
mandos: Avoid closing configured server network socket

If we are passed a pre-created created network socket as a file
descriptor, we must avoid later closing it (when stdin, stdout and
stderr are dup2()ed over with /dev/null) by making sure that the
network file descriptor is not 0, 1, or 2, by creating a new file
descriptor if necessary.

However, when we create a new file descriptor we must check that the
new file descriptor is not 0, 1, or 2 either, and try again until we
get a suitable file descriptor.

Show diffs side-by-side

added added

removed removed

Lines of Context:
11
11
 
12
12
# Author: Teddy Hogeborn <teddy@recompile.se>
13
13
# Author: Björn Påhlsson <belorn@recompile.se>
14
 
#
15
 
# Please remove the "Author" lines above and replace them
16
 
# with your own name if you copy and modify this script.
17
14
 
18
15
# Do NOT "set -e"
19
16
 
77
74
        #   1 if daemon was already stopped
78
75
        #   2 if daemon could not be stopped
79
76
        #   other if a failure occurred
80
 
        start-stop-daemon --stop --quiet --pidfile $PIDFILE --name $NAME
81
 
        mandos-ctl >/dev/null 2>&1
82
 
        start-stop-daemon --stop --quiet --retry=30/KILL/5 --pidfile $PIDFILE --name $NAME
 
77
        start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
83
78
        RETVAL="$?"
84
79
        [ "$RETVAL" = 2 ] && return 2
85
80
        # Wait for children to finish too if this is a daemon that forks