/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-29 05:53:59 UTC
  • Revision ID: teddy@fukt.bsnet.se-20080829055359-wkdasnyxtylmnxus
* mandos.xml (EXAMPLE): Replaced all occurences of command name with
                        "&COMMANDNAME;".

* plugins.d/password-prompt.c (main): Improved some documentation
                                      strings.  Do perror() of
                                      tcgetattr() fails.  Add debug
                                      output if interrupted by signal.
                                      Loop over write() instead of
                                      using fwrite() when outputting
                                      password.  Add debug output if
                                      getline() returns 0, unless it
                                      was caused by a signal.  Add
                                      exit status code to debug
                                      output.

* plugins.d/password-prompt.xml: Changed all single quotes to double
                                 quotes for consistency.  Removed
                                 <?xml-stylesheet>.
  (ENTITY TIMESTAMP): New.  Automatically updated by Emacs time-stamp
                      by using Emacs local variables.
  (/refentry/refentryinfo/title): Changed to "Mandos Manual".
  (/refentry/refentryinfo/productname): Changed to "Mandos".
  (/refentry/refentryinfo/date): New; set to "&TIMESTAMP;".
  (/refentry/refentryinfo/copyright): Split copyright holders.
  (/refentry/refnamediv/refpurpose): Improved wording.
  (SYNOPSIS): Fix to use correct markup.  Add short options.
  (DESCRIPTION, OPTIONS): Improved wording.
  (OPTIONS): Improved wording.  Use more correct markup.  Document
             short options.
  (EXIT STATUS): Add text.
  (ENVIRONMENT): Document use of "cryptsource" and "crypttarget".
  (FILES): REMOVED.
  (BUGS): Add text.
  (EXAMPLE): Added some examples.
  (SECURITY): Added text.
  (SEE ALSO): Remove reference to mandos(8).  Add reference to
              crypttab(5).

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
#     GNU General Public License for more details.
25
25
26
26
# You should have received a copy of the GNU General Public License
27
 
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
27
# along with this program.  If not, see
 
28
# <http://www.gnu.org/licenses/>.
28
29
29
30
# Contact the authors at <mandos@fukt.bsnet.se>.
30
31
123
124
    def rename(self):
124
125
        """Derived from the Avahi example code"""
125
126
        if self.rename_count >= self.max_renames:
126
 
            logger.critical(u"No suitable service name found after %i"
127
 
                            u" retries, exiting.", rename_count)
 
127
            logger.critical(u"No suitable Zeroconf service name found"
 
128
                            u" after %i retries, exiting.",
 
129
                            rename_count)
128
130
            raise AvahiServiceError("Too many renames")
129
131
        self.name = server.GetAlternativeServiceName(self.name)
130
 
        logger.info(u"Changing name to %r ...", str(self.name))
 
132
        logger.info(u"Changing Zeroconf service name to %r ...",
 
133
                    str(self.name))
131
134
        syslogger.setFormatter(logging.Formatter\
132
135
                               ('Mandos (%s): %%(levelname)s:'
133
136
                               ' %%(message)s' % self.name))
148
151
                     avahi.DBUS_INTERFACE_ENTRY_GROUP)
149
152
            group.connect_to_signal('StateChanged',
150
153
                                    entry_group_state_changed)
151
 
        logger.debug(u"Adding service '%s' of type '%s' ...",
 
154
        logger.debug(u"Adding Zeroconf service '%s' of type '%s' ...",
152
155
                     service.name, service.type)
153
156
        group.AddService(
154
157
                self.interface,         # interface
413
416
    # Verify the self signature in the key
414
417
    crtverify = ctypes.c_uint();
415
418
    gnutls.library.functions.gnutls_openpgp_crt_verify_self\
416
 
        (crt, ctypes.c_uint(0), ctypes.byref(crtverify))
 
419
        (crt, 0, ctypes.byref(crtverify))
417
420
    if crtverify.value != 0:
418
421
        gnutls.library.functions.gnutls_openpgp_crt_deinit(crt)
419
422
        raise gnutls.errors.CertificateSecurityError("Verify failed")
603
606
def server_state_changed(state):
604
607
    """Derived from the Avahi example code"""
605
608
    if state == avahi.SERVER_COLLISION:
606
 
        logger.error(u"Server name collision")
 
609
        logger.error(u"Zeroconf server name collision")
607
610
        service.remove()
608
611
    elif state == avahi.SERVER_RUNNING:
609
612
        service.add()
611
614
 
612
615
def entry_group_state_changed(state, error):
613
616
    """Derived from the Avahi example code"""
614
 
    logger.debug(u"state change: %i", state)
 
617
    logger.debug(u"Avahi state change: %i", state)
615
618
    
616
619
    if state == avahi.ENTRY_GROUP_ESTABLISHED:
617
 
        logger.debug(u"Service established.")
 
620
        logger.debug(u"Zeroconf service established.")
618
621
    elif state == avahi.ENTRY_GROUP_COLLISION:
619
 
        logger.warning(u"Service name collision.")
 
622
        logger.warning(u"Zeroconf service name collision.")
620
623
        service.rename()
621
624
    elif state == avahi.ENTRY_GROUP_FAILURE:
622
 
        logger.critical(u"Error in group state changed %s",
 
625
        logger.critical(u"Avahi: Error in group state changed %s",
623
626
                        unicode(error))
624
627
        raise AvahiGroupError("State changed: %s", str(error))
625
628
 
759
762
    service = AvahiService(name = server_settings["servicename"],
760
763
                           type = "_mandos._tcp", );
761
764
    if server_settings["interface"]:
762
 
        service.interface = if_nametoindex(server_settings["interface"])
 
765
        service.interface = if_nametoindex\
 
766
                            (server_settings["interface"])
763
767
    
764
768
    global main_loop
765
769
    global bus
768
772
    DBusGMainLoop(set_as_default=True )
769
773
    main_loop = gobject.MainLoop()
770
774
    bus = dbus.SystemBus()
771
 
    server = dbus.Interface(
772
 
            bus.get_object( avahi.DBUS_NAME, avahi.DBUS_PATH_SERVER ),
773
 
            avahi.DBUS_INTERFACE_SERVER )
 
775
    server = dbus.Interface(bus.get_object(avahi.DBUS_NAME,
 
776
                                           avahi.DBUS_PATH_SERVER),
 
777
                            avahi.DBUS_INTERFACE_SERVER)
774
778
    # End of Avahi example code
775
779
    
776
780
    clients = Set()