/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-18 05:57:11 UTC
  • Revision ID: teddy@fukt.bsnet.se-20080818055711-2rpzat3hkbq3us62
No code or documentation changes.

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\
70
71
                        ('Mandos: %(levelname)s: %(message)s'))
71
72
logger.addHandler(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):
114
119
        self.domain = domain
115
120
        self.host = host
116
121
        self.rename_count = 0
 
122
        self.max_renames = max_renames
117
123
    def rename(self):
118
124
        """Derived from the Avahi example code"""
119
125
        if self.rename_count >= self.max_renames:
120
126
            logger.critical(u"No suitable service name found after %i"
121
127
                            u" retries, exiting.", rename_count)
122
128
            raise AvahiServiceError("Too many renames")
123
 
        name = server.GetAlternativeServiceName(name)
124
 
        logger.error(u"Changing name to %r ...", name)
 
129
        self.name = server.GetAlternativeServiceName(self.name)
 
130
        logger.info(u"Changing name to %r ...", str(self.name))
125
131
        syslogger.setFormatter(logging.Formatter\
126
132
                               ('Mandos (%s): %%(levelname)s:'
127
 
                               ' %%(message)s' % name))
 
133
                               ' %%(message)s' % self.name))
128
134
        self.remove()
129
135
        self.add()
130
136
        self.rename_count += 1
653
659
    global main_loop_started
654
660
    main_loop_started = False
655
661
    
656
 
    parser = OptionParser()
 
662
    parser = OptionParser(version = "%%prog %s" % version)
657
663
    parser.add_option("-i", "--interface", type="string",
658
664
                      metavar="IF", help="Bind to interface IF")
659
665
    parser.add_option("-a", "--address", type="string",
716
722
    
717
723
    if not debug:
718
724
        syslogger.setLevel(logging.WARNING)
 
725
        console.setLevel(logging.WARNING)
719
726
    
720
727
    if server_settings["servicename"] != "Mandos":
721
728
        syslogger.setFormatter(logging.Formatter\
750
757
            avahi.DBUS_INTERFACE_SERVER )
751
758
    # End of Avahi example code
752
759
    
753
 
    if debug:
754
 
        console = logging.StreamHandler()
755
 
        # console.setLevel(logging.DEBUG)
756
 
        console.setFormatter(logging.Formatter\
757
 
                             ('%(levelname)s: %(message)s'))
758
 
        logger.addHandler(console)
759
 
        del console
760
 
    
761
760
    clients = Set()
762
761
    def remove_from_clients(client):
763
762
        clients.remove(client)
775
774
        sys.exit(1)
776
775
    
777
776
    if not debug:
 
777
        logger.removeHandler(console)
778
778
        daemon()
779
779
    
780
780
    pidfilename = "/var/run/mandos/mandos.pid"