aboutsummaryrefslogtreecommitdiffstats
path: root/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/runner/inetdconf.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/runner/inetdconf.py')
-rwxr-xr-xlib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/runner/inetdconf.py194
1 files changed, 0 insertions, 194 deletions
diff --git a/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/runner/inetdconf.py b/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/runner/inetdconf.py
deleted file mode 100755
index f06a2ab6..00000000
--- a/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/runner/inetdconf.py
+++ /dev/null
@@ -1,194 +0,0 @@
-# Copyright (c) Twisted Matrix Laboratories.
-# See LICENSE for details.
-
-#
-"""
-Parser for inetd.conf files
-
-Maintainer: Andrew Bennetts
-
-Future Plans: xinetd configuration file support?
-"""
-
-# Various exceptions
-class InvalidConfError(Exception):
- """Invalid configuration file"""
-
-
-class InvalidInetdConfError(InvalidConfError):
- """Invalid inetd.conf file"""
-
-
-class InvalidServicesConfError(InvalidConfError):
- """Invalid services file"""
-
-
-class InvalidRPCServicesConfError(InvalidConfError):
- """Invalid rpc services file"""
-
-
-class UnknownService(Exception):
- """Unknown service name"""
-
-
-class SimpleConfFile:
- """Simple configuration file parser superclass.
-
- Filters out comments and empty lines (which includes lines that only
- contain comments).
-
- To use this class, override parseLine or parseFields.
- """
-
- commentChar = '#'
- defaultFilename = None
-
- def parseFile(self, file=None):
- """Parse a configuration file
-
- If file is None and self.defaultFilename is set, it will open
- defaultFilename and use it.
- """
- if file is None and self.defaultFilename:
- file = open(self.defaultFilename,'r')
-
- for line in file.readlines():
- # Strip out comments
- comment = line.find(self.commentChar)
- if comment != -1:
- line = line[:comment]
-
- # Strip whitespace
- line = line.strip()
-
- # Skip empty lines (and lines which only contain comments)
- if not line:
- continue
-
- self.parseLine(line)
-
- def parseLine(self, line):
- """Override this.
-
- By default, this will split the line on whitespace and call
- self.parseFields (catching any errors).
- """
- try:
- self.parseFields(*line.split())
- except ValueError:
- raise InvalidInetdConfError, 'Invalid line: ' + repr(line)
-
- def parseFields(self, *fields):
- """Override this."""
-
-
-class InetdService:
- """A simple description of an inetd service."""
- name = None
- port = None
- socketType = None
- protocol = None
- wait = None
- user = None
- group = None
- program = None
- programArgs = None
-
- def __init__(self, name, port, socketType, protocol, wait, user, group,
- program, programArgs):
- self.name = name
- self.port = port
- self.socketType = socketType
- self.protocol = protocol
- self.wait = wait
- self.user = user
- self.group = group
- self.program = program
- self.programArgs = programArgs
-
-
-class InetdConf(SimpleConfFile):
- """Configuration parser for a traditional UNIX inetd(8)"""
-
- defaultFilename = '/etc/inetd.conf'
-
- def __init__(self, knownServices=None):
- self.services = []
-
- if knownServices is None:
- knownServices = ServicesConf()
- knownServices.parseFile()
- self.knownServices = knownServices
-
- def parseFields(self, serviceName, socketType, protocol, wait, user,
- program, *programArgs):
- """Parse an inetd.conf file.
-
- Implemented from the description in the Debian inetd.conf man page.
- """
- # Extract user (and optional group)
- user, group = (user.split('.') + [None])[:2]
-
- # Find the port for a service
- port = self.knownServices.services.get((serviceName, protocol), None)
- if not port and not protocol.startswith('rpc/'):
- # FIXME: Should this be discarded/ignored, rather than throwing
- # an exception?
- try:
- port = int(serviceName)
- serviceName = 'unknown'
- except:
- raise UnknownService, "Unknown service: %s (%s)" \
- % (serviceName, protocol)
-
- self.services.append(InetdService(serviceName, port, socketType,
- protocol, wait, user, group, program,
- programArgs))
-
-
-class ServicesConf(SimpleConfFile):
- """/etc/services parser
-
- @ivar services: dict mapping service names to (port, protocol) tuples.
- """
-
- defaultFilename = '/etc/services'
-
- def __init__(self):
- self.services = {}
-
- def parseFields(self, name, portAndProtocol, *aliases):
- try:
- port, protocol = portAndProtocol.split('/')
- port = long(port)
- except:
- raise InvalidServicesConfError, 'Invalid port/protocol:' + \
- repr(portAndProtocol)
-
- self.services[(name, protocol)] = port
- for alias in aliases:
- self.services[(alias, protocol)] = port
-
-
-class RPCServicesConf(SimpleConfFile):
- """/etc/rpc parser
-
- @ivar self.services: dict mapping rpc service names to rpc ports.
- """
-
- defaultFilename = '/etc/rpc'
-
- def __init__(self):
- self.services = {}
-
- def parseFields(self, name, port, *aliases):
- try:
- port = long(port)
- except:
- raise InvalidRPCServicesConfError, 'Invalid port:' + repr(port)
-
- self.services[name] = port
- for alias in aliases:
- self.services[alias] = port
-
-