Example #1
0
    def __init__(self, *args):
        Privilege.init()
        PyExt.init()
        StdChal.init()
        IOLoop.configure(EvIOLoop)

        Server.init_socket_server()

        super().__init__(*args)
Example #2
0
    def __init__(self, *args):
        Privilege.init()
        PyExt.init()
        StdChal.init()
        IOLoop.configure(EvIOLoop)

        Server.init_socket_server()

        super().__init__(*args)
Example #3
0
def main():
    '''Main function.'''

    Privilege.init()
    PyExt.init()
    StdChal.init()
    IOLoop.configure(EvIOLoop)

    init_websocket_server()

    IOLoop.instance().start()
Example #4
0
def main():
    '''Main function.'''

    Privilege.init()
    PyExt.init()
    StdChal.init()
    IOLoop.configure(EvIOLoop)

    init_socket_server()

    IOLoop.instance().start()
Example #5
0
def main():
    '''Main function.'''

    Privilege.init()
    PyExt.init()
    StdChal.init()
    IOLoop.configure(EvIOLoop)

    app = Application([
        (r'/judge', JudgeHandler),
    ])
    app.listen(2501)

    IOLoop.instance().start()
Example #6
0
def main():
    '''Main function.'''

    Privilege.init()
    PyExt.init()
    StdChal.init()
    IOLoop.configure(EvIOLoop)

    app = Application([
        (r'/judge', JudgeHandler),
    ])
    app.listen(2501)

    IOLoop.instance().start()
Example #7
0
def password(param):
    """Demande le mot de passe du compte mis dans le fichier conf.ini
et élève les privilèges de l'application avec ce compte
L'option uac sert à passer le contrôle uac

Usage:
  password help
  password [uac]

"""
    doc = password.__doc__
    arg = docopt2.docopt(doc, argv=param, help=False)
    if arg['help']:
        print(doc)
        return
    if not var_global.domaine or var_global.domaine['login'] is None:
        print("Aucun domaine et login dans le fichier conf.ini")
        var_global.domaine['name'] = input('domaine: ')
        var_global.domaine['name'] = var_global.domaine['name'] or None
        var_global.domaine['login'] = input('login: '******'login'] = var_global.domaine['login'] or None
        if var_global.domaine['login'] is None:
            return
    user_pass = getpass.getpass('mot de passe pour le compte %s: ' % var_global.domaine['login'])
    uac = arg['uac']

    # on sauvegarde le path pour le restaurer en cas d'echec de get privilege
    # get privilege modifie le path pour éviter des erreurs si on lance l'exe 
    # d'un UNC path
    path = os.getcwd()
    try:
        Privilege.get_privilege(var_global.domaine['login'],
                                user_pass, var_global.domaine['name'], uac)
        raise SystemExit(0)
    except OSError as o:
        str_resultat = Fore.LIGHTRED_EX\
            + "Erreur lors de l'élevation de privilège: "\
            + var_global.fix_str(o.strerror) + Fore.RESET
        print(str_resultat.encode("cp850", "replace").decode("cp850", "replace"))
        # on restaure le path pour que l'autocompletion soit cale sur le repertoire courant
        # et pour pouvoir lire le fichier alias.ini lors de l'initialisation
        os.chdir(path)
        os.system("pause")
    return
Example #8
0
    def __init__(self, *args):
        Privilege.init()
        PyExt.init()
        StdChal.init()

        super().__init__(*args)
Example #9
0
    def __init__(self, *args):
        Privilege.init()
        PyExt.init()
        StdChal.init()

        super().__init__(*args)
Example #10
0
def main():
    sys.excepthook = erreur_final
    try:
        if not os.path.isdir('mac'):
            os.mkdir('mac')
    except:
        print(Fore.LIGHTRED_EX + "[!] Erreur lors de la création du répertoire mac" + Fore.RESET)
        os.system("pause")

    print(Fore.LIGHTGREEN_EX + '[+] Lecture de conf.ini' + Fore.RESET)
    ini_groupes, dom = lire_fichier_ini('conf.ini')
    # on initialise la variable domaine qui contient le login administrateur
    # du domaine
    var_global.domaine.update(dom)

    # Si le login du fichier config est différent que celui avec lequel
    # on est connecté, on lance la procédure délévation de privilège
    if var_global.domaine['login'] is not None and getpass.getuser() != var_global.domaine['login']:
        commandes.password([])

    # Si une demande de bypasser l'uac est demandé, on lance la procédure
    if sys.argv[1:] and sys.argv[1] == "pass_uac":
        Privilege.pass_uac()
        raise SystemExit(0)

    #logger_info.info('Création des alias')
    print(Fore.LIGHTGREEN_EX + '[+] Création des alias' + Fore.RESET)
    alias_cmd = var_global.lire_alias_ini()

    print(Fore.LIGHTGREEN_EX + '[+] Initialisation des salles :' + Fore.RESET)
    init_groupes(ini_groupes)

    AutoComplete.init_auto_complete()

    

    # efface l'écran
    print('\x1b[2J', end='')

    commandes.select(['*'])
    print('-' * (os.get_terminal_size().columns - 1))
    print(Fore.LIGHTGREEN_EX + "Taper help ou la touche 'enter' pour obtenir de l'aide" + Fore.RESET)
    print('-' * (os.get_terminal_size().columns - 1))

    while True:
        param = input('>>>')
        param = _protect_quotes(param)
        param = param.strip()
        param = param.split(' ')
        param = _remove_protect_char(param)
        cmd = param[0]
        if cmd in alias_cmd:
            # permet de créer des alias avec un parametre
            str_replace =""
            if param[1:]:
                str_replace = " ".join(param[1:])
            param = _protect_quotes(alias_cmd[cmd].replace("$$",str_replace))
            param = param.strip()
            param = param.split(' ')
            param = _remove_protect_char(param)
            cmd = param[0]
        param.remove(cmd)
        cmd = cmd.lower()
        cmd_funct = getattr(commandes, cmd, commandes.help)
        try:
            # on efface la dernière erreur avant de lancer
            # la prochaine commande
            if cmd != 'errors':
                for m in var_global.groupe_selected_machines:
                    m.message_erreur = ''

            cmd_funct(param)

            # nettoie une partie de ceux qui a été laissé par les threads
            # de la dernière commande
            # contrôle l'augmentation de la mémoire pour le multithread
            gc.collect()
            # print('com-ref: ', pythoncom._GetInterfaceCount())
            print('-' * (os.get_terminal_size().columns - 1))
        except Warning:
            cmd_funct(['help'])
            gc.collect()
            # print(pythoncom._GetInterfaceCount())
            print('-' * (os.get_terminal_size().columns - 1))