/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: 2008-08-12 19:22:34 UTC
  • Revision ID: teddy@fukt.bsnet.se-20080812192234-8bm17713ltih9ud1
* initramfs-tools-hook: New.
* initramfs-tools-hook-conf: New.

Show diffs side-by-side

added added

removed removed

Lines of Context:
61
61
from dbus.mainloop.glib import DBusGMainLoop
62
62
import ctypes
63
63
 
 
64
version = "1.0"
64
65
 
65
66
logger = logging.Logger('mandos')
66
67
syslogger = logging.handlers.SysLogHandler\
67
 
            (facility = logging.handlers.SysLogHandler.LOG_DAEMON)
 
68
            (facility = logging.handlers.SysLogHandler.LOG_DAEMON,
 
69
             address = "/dev/log")
68
70
syslogger.setFormatter(logging.Formatter\
69
 
                        ('%(levelname)s: %(message)s'))
 
71
                        ('Mandos: %(levelname)s: %(message)s'))
70
72
logger.addHandler(syslogger)
71
 
del syslogger
72
73
 
 
74
console = logging.StreamHandler()
 
75
console.setFormatter(logging.Formatter('%(name)s: %(levelname)s:'
 
76
                                       ' %(message)s'))
 
77
logger.addHandler(console)
73
78
 
74
79
class AvahiError(Exception):
75
80
    def __init__(self, value):
102
107
    """
103
108
    def __init__(self, interface = avahi.IF_UNSPEC, name = None,
104
109
                 type = None, port = None, TXT = None, domain = "",
105
 
                 host = "", max_renames = 12):
 
110
                 host = "", max_renames = 32768):
106
111
        self.interface = interface
107
112
        self.name = name
108
113
        self.type = type
122
127
            raise AvahiServiceError("Too many renames")
123
128
        name = server.GetAlternativeServiceName(name)
124
129
        logger.error(u"Changing name to %r ...", name)
 
130
        syslogger.setFormatter(logging.Formatter\
 
131
                               ('Mandos (%s): %%(levelname)s:'
 
132
                               ' %%(message)s' % name))
125
133
        self.remove()
126
134
        self.add()
127
135
        self.rename_count += 1
650
658
    global main_loop_started
651
659
    main_loop_started = False
652
660
    
653
 
    parser = OptionParser()
 
661
    parser = OptionParser(version = "%%prog %s" % version)
654
662
    parser.add_option("-i", "--interface", type="string",
655
663
                      metavar="IF", help="Bind to interface IF")
656
664
    parser.add_option("-a", "--address", type="string",
709
717
    del options
710
718
    # Now we have our good server settings in "server_settings"
711
719
    
 
720
    debug = server_settings["debug"]
 
721
    
 
722
    if not debug:
 
723
        syslogger.setLevel(logging.WARNING)
 
724
        console.setLevel(logging.WARNING)
 
725
    
 
726
    if server_settings["servicename"] != "Mandos":
 
727
        syslogger.setFormatter(logging.Formatter\
 
728
                               ('Mandos (%s): %%(levelname)s:'
 
729
                                ' %%(message)s'
 
730
                                % server_settings["servicename"]))
 
731
    
712
732
    # Parse config file with clients
713
733
    client_defaults = { "timeout": "1h",
714
734
                        "interval": "5m",
736
756
            avahi.DBUS_INTERFACE_SERVER )
737
757
    # End of Avahi example code
738
758
    
739
 
    debug = server_settings["debug"]
740
 
    
741
 
    if debug:
742
 
        console = logging.StreamHandler()
743
 
        # console.setLevel(logging.DEBUG)
744
 
        console.setFormatter(logging.Formatter\
745
 
                             ('%(levelname)s: %(message)s'))
746
 
        logger.addHandler(console)
747
 
        del console
748
 
    
749
759
    clients = Set()
750
760
    def remove_from_clients(client):
751
761
        clients.remove(client)
763
773
        sys.exit(1)
764
774
    
765
775
    if not debug:
 
776
        logger.removeHandler(console)
766
777
        daemon()
767
778
    
768
779
    pidfilename = "/var/run/mandos/mandos.pid"