Exemple #1
0
def apply(request):
    # do generate
    configfile = open(settings.AFS_CONFIG, "r")
    options = yaml.load(configfile)
    configfile.close()

    network = {}

    for host in Host.objects.filter(enabled=True):
        network[str(host.entry)] = {"ip": host.ip, "mac": str(host.mac), "host": str(host.host), "radius": host.wifi}

    output = open(options["network"], "w")
    yaml.dump(network, output, default_flow_style=False)
    output.close()

    args = Object(object)
    args.config = settings.AFS_CONFIG
    args.noreload = False
    parse = parse_config(args)
    config = Config(parse["options"], parse["network"], parse["doreload"])
    try:
        config.validate()
        generate(config)
        messages.success(request, "Success")
    except Error as e:
        messages.error(request, e.msg)

    return redirect("/admin/network/host/")
Exemple #2
0
def apply(request):
	#do generate
	configfile = open(settings.AFS_CONFIG, 'r')
	options = yaml.load(configfile)
	configfile.close()
	
	network = {}
		
	for host in Host.objects.filter(enabled=True):
		network[str(host.entry)] = { 'ip': host.ip, 'mac': str(host.mac), 'host': str(host.host), 'radius': host.wifi }
		
	output = open(options['network'],'w')
	yaml.dump(network, output, default_flow_style=False)
	output.close()

	args = Object(object)
	args.config = settings.AFS_CONFIG
	args.noreload = False
	parse = parse_config(args)
	config = Config(parse['options'], parse['network'], parse['doreload'])
	try:
		config.validate()
		generate(config)
		messages.success(request, "Success")
	except Error as e:
		messages.error(request, e.msg)
	
	
	return redirect("/admin/network/host/")
Exemple #3
0
def main():
	
	parser = argparse.ArgumentParser(description='Automated Firewall System')
	parser.add_argument('command', choices=[ 'generate', 'check' ], help='what operation to perform (choices: %(choices)s)', metavar="command")
	parser.add_argument('-c', '--config', default='/etc/afs/config.yml', help='use alternate config file (default: %(default)s)')
	parser.add_argument('-n', '--noreload', action="store_const", const=True, help="don't reload services")
	parser.add_argument('-v', '--verbose', action="store_const", const=True, help="verbose mode")
	
	args = parser.parse_args()
	
	try:
		if args.verbose == True:
			print "Parsing configuration"
		parse = parse_config(args)
	except Error as e:
		sys.exit(e.msg)
	config = Config(parse['options'], parse['network'], parse['doreload'])
	try:
		if args.verbose == True:
			print "Validating configuration"
		config.validate()
	except Error as e:
		sys.exit(e.msg)
	
	if args.command == 'check':
		print "Syntax OK"
		sys.exit(0)

	if args.command == 'generate':
		try:
			if args.verbose == True:
				print "Starint config generation"
			generate(config, args.verbose)
			if args.verbose == True:
				print "Configuration has been generated"
		except Error as e:
			sys.exit(e.msg)