/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

  • Committer: Teddy Hogeborn
  • Date: 2009-04-16 22:26:57 UTC
  • Revision ID: teddy@fukt.bsnet.se-20090416222657-dqa98ddwlq4pcjbj
Code cleanup.

* mandos (ForkingMixInWithPipe.handle_ipc): Take "self" argument.
  (IPv6_TCPServer): Split off attributes "enabled", "clients",
                   "use_dbus", "gnutls_priority", and methods
                   "server_activate", "enable", and "handle" into
                   separate class "MandosServer".
  (MandosServer): New.
  (main): Use MandosServer instead of IPv6_TCPServer.

Show diffs side-by-side

added added

removed removed

Lines of Context:
910
910
        gobject.io_add_watch(self.pipe[0],
911
911
                             gobject.IO_IN | gobject.IO_HUP,
912
912
                             self.handle_ipc)
913
 
    def handle_ipc(source, condition):
 
913
    def handle_ipc(self, source, condition):
914
914
        """Dummy function; override as necessary"""
915
915
        os.close(source)
916
916
        return False
930
930
        use_dbus:       Boolean; to emit D-Bus signals or not
931
931
    """
932
932
    def __init__(self, server_address, RequestHandlerClass,
933
 
                 interface=None, use_ipv6=True, clients=None,
934
 
                 gnutls_priority=None, use_dbus=True):
935
 
        self.enabled = False
 
933
                 interface=None, use_ipv6=True):
936
934
        self.interface = interface
937
935
        if use_ipv6:
938
936
            self.address_family = socket.AF_INET6
939
 
        self.clients = clients
940
 
        self.use_dbus = use_dbus
941
 
        self.gnutls_priority = gnutls_priority
942
937
        socketserver.TCPServer.__init__(self, server_address,
943
938
                                        RequestHandlerClass)
944
939
    def server_bind(self):
986
981
#                                            if_nametoindex
987
982
#                                            (self.interface))
988
983
            return socketserver.TCPServer.server_bind(self)
 
984
 
 
985
 
 
986
class MandosServer(IPv6_TCPServer):
 
987
    """Mandos server.
 
988
    
 
989
    Attributes:
 
990
        clients:        set of Client objects
 
991
        gnutls_priority GnuTLS priority string
 
992
        use_dbus:       Boolean; to emit D-Bus signals or not
 
993
    """
 
994
    def __init__(self, server_address, RequestHandlerClass,
 
995
                 interface=None, use_ipv6=True, clients=None,
 
996
                 gnutls_priority=None, use_dbus=True):
 
997
        self.enabled = False
 
998
        self.clients = clients
 
999
        self.use_dbus = use_dbus
 
1000
        self.gnutls_priority = gnutls_priority
 
1001
        IPv6_TCPServer.__init__(self, server_address,
 
1002
                                RequestHandlerClass,
 
1003
                                interface = interface,
 
1004
                                use_ipv6 = use_ipv6)
989
1005
    def server_activate(self):
990
1006
        if self.enabled:
991
1007
            return socketserver.TCPServer.server_activate(self)
1261
1277
    mandos_dbus_service = None
1262
1278
    
1263
1279
    clients = set()
1264
 
    tcp_server = IPv6_TCPServer((server_settings[u"address"],
1265
 
                                 server_settings[u"port"]),
1266
 
                                ClientHandler,
1267
 
                                interface=
1268
 
                                server_settings[u"interface"],
1269
 
                                use_ipv6=use_ipv6,
1270
 
                                clients=clients,
1271
 
                                gnutls_priority=
1272
 
                                server_settings[u"priority"],
1273
 
                                use_dbus=use_dbus)
 
1280
    tcp_server = MandosServer((server_settings[u"address"],
 
1281
                               server_settings[u"port"]),
 
1282
                              ClientHandler,
 
1283
                              interface=server_settings[u"interface"],
 
1284
                              use_ipv6=use_ipv6,
 
1285
                              clients=clients,
 
1286
                              gnutls_priority=
 
1287
                              server_settings[u"priority"],
 
1288
                              use_dbus=use_dbus)
1274
1289
    pidfilename = u"/var/run/mandos.pid"
1275
1290
    try:
1276
1291
        pidfile = open(pidfilename, u"w")