/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 mandos-monitor

  • 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:
23
23
#
24
24
# Contact the authors at <mandos@recompile.se>.
25
25
#
26
 
 
27
26
from __future__ import (division, absolute_import, print_function,
28
27
                        unicode_literals)
 
28
 
29
29
try:
30
30
    from future_builtins import *
31
31
except ImportError:
32
32
    pass
33
33
 
34
34
import sys
 
35
import logging
35
36
import os
36
37
import warnings
37
38
import datetime
38
39
import locale
39
 
import logging
40
40
 
41
41
import urwid.curses_display
42
42
import urwid
49
49
if sys.version_info.major == 2:
50
50
    __metaclass__ = type
51
51
    str = unicode
 
52
    input = raw_input
 
53
 
 
54
# Show warnings by default
 
55
if not sys.warnoptions:
 
56
    warnings.simplefilter("default")
52
57
 
53
58
log = logging.getLogger(os.path.basename(sys.argv[0]))
54
59
logging.basicConfig(level="NOTSET", # Show all messages
64
69
domain = "se.recompile"
65
70
server_interface = domain + ".Mandos"
66
71
client_interface = domain + ".Mandos.Client"
67
 
version = "1.8.9"
 
72
version = "1.8.17"
68
73
 
69
74
try:
70
75
    dbus.OBJECT_MANAGER_IFACE