Exemplo n.º 1
0
def main():
    #init irc bot
    global bot
    bot = 0

    #init Thread Pool
    TP = ThreadPoolExecutor(max_workers=64)

    #init GUI
    clear = lambda: os.system('cls')
    clear()
    root = Tk()
    root.title("GUI")
    root.geometry(config.GUI_SIZE)
    root.configure(bg=config.GUI_BG)
    atexit.register(StopBot)

    for i, m in enumerate(config.MODES):
        if i != config.DEMOI:
            m.createGui(root).grid(row=m.grid[0],
                                   column=m.grid[1],
                                   padx=m.pad[0],
                                   pady=m.pad[1])

    if config.ENABLE_DEMO:
        config.DEMO = demo.Demo(config.MODES[config.DEMOI], config.VOTESIZE,
                                TP, config.IRC_CHANNEL, config.IRC_CON,
                                config.COMMANDS)
        config.DEMO.createGui(root).grid(row=config.VOTEGUI[0][0],
                                         column=config.VOTEGUI[0][1],
                                         padx=config.VOTEGUI[1][0],
                                         pady=config.VOTEGUI[1][1])
        TP.submit(config.DEMO.count)

    config.LB_CHAT.createGui(root).grid(row=config.LB_CHAT.grid[0],
                                        column=config.LB_CHAT.grid[1],
                                        padx=config.LB_CHAT.pad[0],
                                        pady=config.LB_CHAT.pad[1])
    config.LB_CMDS.createGui(root).grid(row=config.LB_CMDS.grid[0],
                                        column=config.LB_CMDS.grid[1],
                                        padx=config.LB_CMDS.pad[0],
                                        pady=config.LB_CMDS.pad[1])
    # if having issues debugging
    # make bot main thread for error messages
    # StartBot()
    TP.submit(StartBot)
    root.mainloop()
Exemplo n.º 2
0
def render_filters(source_file, definitions_obj, shade_check, exp_info):
    count = 0
    [(eacl, aacl, bacl, jcl, acl, asa, xacl, ipt, ips, pf, spd, spk, srx, dem)
     ] = [(False, False, False, False, False, False, False, False, False,
           False, False, False, False, False)]

    pol = policy.ParsePolicy(open(source_file).read(),
                             definitions_obj,
                             shade_check=shade_check)

    for header in pol.headers:
        if 'arista' in header.platforms:
            eacl = copy.deepcopy(pol)
        if 'aruba' in header.platforms:
            aacl = copy.deepcopy(pol)
        if 'brocade' in header.platforms:
            bacl = copy.deepcopy(pol)
        if 'juniper' in header.platforms:
            jcl = copy.deepcopy(pol)
        if 'cisco' in header.platforms:
            acl = copy.deepcopy(pol)
        if 'ciscoasa' in header.platforms:
            asa = copy.deepcopy(pol)
        if 'ciscoxr' in header.platforms:
            xacl = copy.deepcopy(pol)
        if 'iptables' in header.platforms:
            ipt = copy.deepcopy(pol)
        if 'ipset' in header.platforms:
            ips = copy.deepcopy(pol)
        if 'packetfilter' in header.platforms:
            pf = copy.deepcopy(pol)
        if 'speedway' in header.platforms:
            spd = copy.deepcopy(pol)
        # SRX needs to be un-optimized for correct building of the address book
        # entries.
        if 'srx' in header.platforms:
            unoptimized_pol = policy.ParsePolicy(open(source_file).read(),
                                                 definitions_obj,
                                                 optimize=False)
            srx = copy.deepcopy(unoptimized_pol)
        if 'demo' in header.platforms:
            dem = copy.deepcopy(pol)
    if eacl:
        fw = arista.Arista(eacl, exp_info)
        do_output_filter(str(fw), filter_name(source_file, fw._SUFFIX))
        count += 1
    if aacl:
        fw = aruba.Aruba(aacl, exp_info)
        do_output_filter(str(fw), filter_name(source_file, fw._SUFFIX))
        count += 1
    if bacl:
        fw = brocade.Brocade(bacl, exp_info)
        do_output_filter(str(fw), filter_name(source_file, fw._SUFFIX))
        count += 1
    if jcl:
        fw = juniper.Juniper(jcl, exp_info)
        do_output_filter(str(fw), filter_name(source_file, fw._SUFFIX))
        count += 1
    if acl:
        fw = cisco.Cisco(acl, exp_info)
        do_output_filter(str(fw), filter_name(source_file, fw._SUFFIX))
        count += 1
    if asa:
        fw = ciscoasa.CiscoASA(asa, exp_info)
        do_output_filter(str(fw), filter_name(source_file, fw._SUFFIX))
        count += 1
    if xacl:
        fw = ciscoxr.CiscoXR(xacl, exp_info)
        do_output_filter(str(fw), filter_name(source_file, fw._SUFFIX))
        count += 1
    if ipt:
        fw = iptables.Iptables(ipt, exp_info)
        do_output_filter(str(fw), filter_name(source_file, fw._SUFFIX))
        count += 1
    if ips:
        fw = ipset.Ipset(ips, exp_info)
        do_output_filter(str(fw), filter_name(source_file, fw._SUFFIX))
        count += 1
    if pf:
        fw = packetfilter.PacketFilter(pf, exp_info)
        do_output_filter(str(fw), filter_name(source_file, fw._SUFFIX))
        count += 1
    if spd:
        fw = speedway.Speedway(spd, exp_info)
        do_output_filter(str(fw), filter_name(source_file, fw._SUFFIX))
        count += 1
    if srx:
        fw = junipersrx.JuniperSRX(srx, exp_info)
        do_output_filter(str(fw), filter_name(source_file, fw._SUFFIX))
        count += 1
    if dem:
        fw = demo.Demo(dem, exp_info)
        do_output_filter(str(fw), filter_name(source_file, fw._SUFFIX))
        count += 1

    return count
Exemplo n.º 3
0
def render_filters(source_file, definitions_obj, shade_check, exp_info):
    count = 0
    [(jcl, acl, asa, ipt, pf, spd, spk, srx, dem)
     ] = [(False, False, False, False, False, False, False, False, False)]

    pol = policy.ParsePolicy(open(source_file).read(),
                             definitions_obj,
                             shade_check=shade_check)
    for header in pol.headers:
        if 'juniper' in header.platforms:
            jcl = copy.deepcopy(pol)
        if 'cisco' in header.platforms:
            acl = copy.deepcopy(pol)
        if 'ciscoasa' in header.platforms:
            asa = copy.deepcopy(pol)
        if 'iptables' in header.platforms:
            ipt = copy.deepcopy(pol)
        if 'packetfilter' in header.platforms:
            pf = copy.deepcopy(pol)
        if 'speedway' in header.platforms:
            spd = copy.deepcopy(pol)
        if 'silverpeak' in header.platforms:
            spk = copy.deepcopy(pol)
        # SRX needs to be un-optimized for correct building of the address book
        # entries.
        if 'srx' in header.platforms:
            unoptimized_pol = policy.ParsePolicy(open(source_file).read(),
                                                 definitions_obj,
                                                 optimize=False)
            srx = copy.deepcopy(unoptimized_pol)
        if 'demo' in header.platforms:
            dem = copy.deepcopy(pol)

    mar = margrave.Margrave(copy.deepcopy(pol), exp_info, source_file)
    do_output_filter(str(mar), filter_name(source_file, mar._SUFFIX))
    do_output_filter(mar.vocabStr(), filter_name(source_file, '.v'))

    if jcl:
        fw = juniper.Juniper(jcl, exp_info)
        do_output_filter(str(fw), filter_name(source_file, fw._SUFFIX))
        count += 1
    if acl:
        fw = cisco.Cisco(acl, exp_info)
        do_output_filter(str(fw), filter_name(source_file, fw._SUFFIX))
        count += 1
    if asa:
        fw = ciscoasa.CiscoASA(asa, exp_info)
        do_output_filter(str(fw), filter_name(source_file, fw._SUFFIX))
        count += 1
    if ipt:
        fw = iptables.Iptables(ipt, exp_info)
        do_output_filter(str(fw), filter_name(source_file, fw._SUFFIX))
        count += 1
    if pf:
        fw = packetfilter.PacketFilter(pf, exp_info)
        do_output_filter(str(fw), filter_name(source_file, fw._SUFFIX))
        count += 1
    if spd:
        fw = speedway.Speedway(spd, exp_info)
        do_output_filter(str(fw), filter_name(source_file, fw._SUFFIX))
        count += 1
    if srx:
        fw = junipersrx.JuniperSRX(srx, exp_info)
        do_output_filter(str(fw), filter_name(source_file, fw._SUFFIX))
        count += 1
    if dem:
        fw = demo.Demo(dem, exp_info)
        do_output_filter(str(fw), filter_name(source_file, fw._SUFFIX))
        count += 1
    if spk:
        spk_obj = silverpeak.Silverpeak(spk, exp_info, '')
        do_output_filter(spk_obj.GenerateACLString(),
                         filter_name(source_file, spk_obj._SUFFIX))
        do_output_filter(spk_obj.GenerateConfString(),
                         filter_name(source_file, spk_obj._CONF_SUFFIX))
        count += 1

    return count