/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-19 13:25:14 UTC
  • Revision ID: teddy@fukt.bsnet.se-20080819132514-wawrvgmfjovg9poj
* Makefile (DOCBOOKTOMAN): Added "--xinclude".

* mandos-options.xml: New file; moved mandos(8) option descriptions
                      here.

* mandos.conf.xml: Add XInclude namespace.
  (OPTIONS): New separate section with options from old "DESCRIPTION"
             section.  Changed all options to include a synopsis and
             include its paragraph from "mandos-options.xml".
  (FILES): Moved to before "EXAMPLES".
  (BUGS): New section.
  (EXAMPLES): Renamed to "EXAMPLE", as per man-pages(7).  Unindented
              example text.

* mandos.xml: Removed OVERVIEW entity.  Add XInclude namespace.
  (OPTIONS): Moved all descriptive paragraphs to "mandos-options.xml"
             and just <xi:include/> them from here.
  (OVERVIEW): Changed to do <xi:include/>.

* overview.xml: Added DOCTYPE; reportedly needed for XInclude to work.

Show diffs side-by-side

added added

removed removed

Lines of Context:
71
71
                        ('Mandos: %(levelname)s: %(message)s'))
72
72
logger.addHandler(syslogger)
73
73
 
 
74
console = logging.StreamHandler()
 
75
console.setFormatter(logging.Formatter('%(name)s: %(levelname)s:'
 
76
                                       ' %(message)s'))
 
77
logger.addHandler(console)
74
78
 
75
79
class AvahiError(Exception):
76
80
    def __init__(self, value):
115
119
        self.domain = domain
116
120
        self.host = host
117
121
        self.rename_count = 0
 
122
        self.max_renames = max_renames
118
123
    def rename(self):
119
124
        """Derived from the Avahi example code"""
120
125
        if self.rename_count >= self.max_renames:
121
126
            logger.critical(u"No suitable service name found after %i"
122
127
                            u" retries, exiting.", rename_count)
123
128
            raise AvahiServiceError("Too many renames")
124
 
        name = server.GetAlternativeServiceName(name)
125
 
        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))
126
131
        syslogger.setFormatter(logging.Formatter\
127
132
                               ('Mandos (%s): %%(levelname)s:'
128
 
                               ' %%(message)s' % name))
 
133
                               ' %%(message)s' % self.name))
129
134
        self.remove()
130
135
        self.add()
131
136
        self.rename_count += 1
654
659
    global main_loop_started
655
660
    main_loop_started = False
656
661
    
657
 
    parser = OptionParser(version = "Mandos server %s" % version)
 
662
    parser = OptionParser(version = "%%prog %s" % version)
658
663
    parser.add_option("-i", "--interface", type="string",
659
664
                      metavar="IF", help="Bind to interface IF")
660
665
    parser.add_option("-a", "--address", type="string",
695
700
    server_config = ConfigParser.SafeConfigParser(server_defaults)
696
701
    del server_defaults
697
702
    server_config.read(os.path.join(options.configdir, "mandos.conf"))
698
 
    server_section = "server"
699
703
    # Convert the SafeConfigParser object to a dict
700
 
    server_settings = dict(server_config.items(server_section))
 
704
    server_settings = server_config.defaults()
701
705
    # Use getboolean on the boolean config option
702
706
    server_settings["debug"] = server_config.getboolean\
703
 
                               (server_section, "debug")
 
707
                               ("DEFAULT", "debug")
704
708
    del server_config
705
709
    
706
710
    # Override the settings from the config file with command line
717
721
    
718
722
    if not debug:
719
723
        syslogger.setLevel(logging.WARNING)
 
724
        console.setLevel(logging.WARNING)
720
725
    
721
726
    if server_settings["servicename"] != "Mandos":
722
727
        syslogger.setFormatter(logging.Formatter\
751
756
            avahi.DBUS_INTERFACE_SERVER )
752
757
    # End of Avahi example code
753
758
    
754
 
    if debug:
755
 
        console = logging.StreamHandler()
756
 
        # console.setLevel(logging.DEBUG)
757
 
        console.setFormatter(logging.Formatter\
758
 
                             ('%(levelname)s: %(message)s'))
759
 
        logger.addHandler(console)
760
 
        del console
761
 
    
762
759
    clients = Set()
763
760
    def remove_from_clients(client):
764
761
        clients.remove(client)
776
773
        sys.exit(1)
777
774
    
778
775
    if not debug:
 
776
        logger.removeHandler(console)
779
777
        daemon()
780
778
    
781
779
    pidfilename = "/var/run/mandos/mandos.pid"