def __init__(self): main_config_file = process.config_file(RadiusConfig.config_file) if main_config_file is None: raise RuntimeError("Cannot find the radius configuration file: `%s'" % RadiusConfig.config_file) try: config = dict(line.rstrip("\n").split(None, 1) for line in open(main_config_file) if len(line.split(None, 1)) == 2 and not line.startswith("#")) secrets = dict(line.rstrip("\n").split(None, 1) for line in open(config["servers"]) if len(line.split(None, 1)) == 2 and not line.startswith("#")) server = config["acctserver"] try: server, acctport = server.split(":") acctport = int(acctport) except ValueError: acctport = 1813 secret = secrets[server] dicts = [RadiusDictionaryFile(config["dictionary"])] if RadiusConfig.additional_dictionary: additional_dictionary = process.config_file(RadiusConfig.additional_dictionary) if additional_dictionary: dicts.append(RadiusDictionaryFile(additional_dictionary)) else: log.warn("Could not load additional RADIUS dictionary file: `%s'" % RadiusConfig.additional_dictionary) raddict = pyrad.dictionary.Dictionary(*dicts) timeout = int(config["radius_timeout"]) retries = int(config["radius_retries"]) except Exception: log.fatal("cannot read the RADIUS configuration file") raise pyrad.client.Client.__init__(self, server, 1812, acctport, secret, raddict) self.timeout = timeout self.retries = retries if "bindaddr" in config and config["bindaddr"] != "*": self.bind((config["bindaddr"], 0)) EventQueue.__init__(self, self.do_accounting)
def __init__(self): main_config_file = process.configuration.file(RadiusConfig.config_file) if main_config_file is None: raise RuntimeError( 'Cannot find the radius configuration file: %r' % RadiusConfig.config_file) try: config = dict( line.rstrip('\n').split(None, 1) for line in open(main_config_file) if len(line.split(None, 1)) == 2 and not line.startswith('#')) secrets = dict( line.rstrip('\n').split(None, 1) for line in open(config['servers']) if len(line.split(None, 1)) == 2 and not line.startswith('#')) server = config['acctserver'] try: server, acctport = server.split(':') acctport = int(acctport) except ValueError: log.info( 'Could not load additional RADIUS dictionary file: %r' % RadiusConfig.additional_dictionary) acctport = 1813 log.info('Using RADIUS server at %s:%d' % (server, acctport)) secret = secrets[server] log.info("Using RADIUS dictionary file %s" % config['dictionary']) dicts = [RadiusDictionaryFile(config['dictionary'])] if RadiusConfig.additional_dictionary: additional_dictionary = process.configuration.file( RadiusConfig.additional_dictionary) if additional_dictionary: log.info("Using additional RADIUS dictionary file %s" % RadiusConfig.additional_dictionary) dicts.append(RadiusDictionaryFile(additional_dictionary)) else: log.warning( 'Could not load additional RADIUS dictionary file: %r' % RadiusConfig.additional_dictionary) raddict = pyrad.dictionary.Dictionary(*dicts) timeout = int(config['radius_timeout']) retries = int(config['radius_retries']) except Exception: log.critical('cannot read the RADIUS configuration file %s' % RadiusConfig.config_file) raise pyrad.client.Client.__init__(self, server, 1812, acctport, 3799, secret, raddict) self.timeout = timeout self.retries = retries if 'bindaddr' in config and config['bindaddr'] != '*': self.bind((config['bindaddr'], 0)) EventQueue.__init__(self, self.do_accounting)
def __init__(self): main_config_file = process.config_file(RadiusConfig.config_file) if main_config_file is None: raise RuntimeError( "Cannot find the radius configuration file: `%s'" % RadiusConfig.config_file) try: config = dict( line.rstrip("\n").split(None, 1) for line in open(main_config_file) if len(line.split(None, 1)) == 2 and not line.startswith("#")) secrets = dict( line.rstrip("\n").split(None, 1) for line in open(config["servers"]) if len(line.split(None, 1)) == 2 and not line.startswith("#")) server = config["acctserver"] try: server, acctport = server.split(":") acctport = int(acctport) except ValueError: acctport = 1813 secret = secrets[server] dicts = [RadiusDictionaryFile(config["dictionary"])] if RadiusConfig.additional_dictionary: additional_dictionary = process.config_file( RadiusConfig.additional_dictionary) if additional_dictionary: dicts.append(RadiusDictionaryFile(additional_dictionary)) else: log.warn( "Could not load additional RADIUS dictionary file: `%s'" % RadiusConfig.additional_dictionary) raddict = pyrad.dictionary.Dictionary(*dicts) timeout = int(config["radius_timeout"]) retries = int(config["radius_retries"]) except Exception: log.fatal("cannot read the RADIUS configuration file") raise pyrad.client.Client.__init__(self, server, 1812, acctport, secret, raddict) self.timeout = timeout self.retries = retries if "bindaddr" in config and config["bindaddr"] != "*": self.bind((config["bindaddr"], 0)) EventQueue.__init__(self, self.do_accounting)
def __init__(self): EventQueue.__init__(self, self.do_accounting)