/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 server.py

  • Committer: Teddy Hogeborn
  • Date: 2008-08-04 23:38:26 UTC
  • mfrom: (24.1.20 mandos)
  • Revision ID: teddy@fukt.bsnet.se-20080804233826-idy7v8x36llseue0
* network-protocol.txt: New.

* server.py (daemon): Do the double fork thing.

Show diffs side-by-side

added added

removed removed

Lines of Context:
528
528
                in6addr_any = "::"
529
529
                self.server_address = (in6addr_any,
530
530
                                       self.server_address[1])
531
 
            elif not self.server_address[1]:
 
531
            elif self.server_address[1] is None:
532
532
                self.server_address = (self.server_address[0],
533
533
                                       0)
534
 
#                 if self.settings["interface"]:
535
 
#                     self.server_address = (self.server_address[0],
536
 
#                                            0, # port
537
 
#                                            0, # flowinfo
538
 
#                                            if_nametoindex
539
 
#                                            (self.settings
540
 
#                                             ["interface"]))
541
534
            return super(type(self), self).server_bind()
542
535
 
543
536
 
623
616
    return if_nametoindex(interface)
624
617
 
625
618
 
626
 
def daemon(nochdir = False, noclose = False):
 
619
def daemon(nochdir, noclose):
627
620
    """See daemon(3).  Standard BSD Unix function.
628
621
    This should really exist as os.daemon, but it doesn't (yet)."""
629
622
    if os.fork():
659
652
                      help="Port number to receive requests on")
660
653
    parser.add_option("--check", action="store_true", default=False,
661
654
                      help="Run self-test")
662
 
    parser.add_option("--debug", action="store_true",
 
655
    parser.add_option("--debug", action="store_true", default=False,
663
656
                      help="Debug mode; run in foreground and log to"
664
657
                      " terminal")
665
658
    parser.add_option("--priority", type="string", help="GnuTLS"
690
683
    # Parse config file for server-global settings
691
684
    server_config = ConfigParser.SafeConfigParser(server_defaults)
692
685
    del server_defaults
693
 
    server_config.read(os.path.join(options.configdir, "mandos.conf"))
 
686
    server_config.read(os.path.join(options.configdir, "server.conf"))
694
687
    server_section = "server"
695
688
    # Convert the SafeConfigParser object to a dict
696
689
    server_settings = dict(server_config.items(server_section))
760
753
                       for section in client_config.sections()))
761
754
    
762
755
    if not debug:
763
 
        daemon()
 
756
        daemon(False, False)
764
757
    
765
758
    def cleanup():
766
759
        "Cleanup function; run on exit"