Beispiel #1
0
def webapp_login():
    global caller

    # logging in
    if request.method == 'POST':
        host_param = request.form['host']

        try:

            if not Caller.check_up(host_param):
                return render_template("login.html", msg='host is down', host=host_param)

            private_key_df = request.form['private_key']
            private_key_df_derived = Parser.derive(private_key_df)
            public_key_df = gen_public_key(private_key_df_derived)

            caller = Caller(host_param, public_key_df)

            return redirect(url_for('webapp.webapp_main', path='', dirname=''))

        except TypeError as te:
            return render_template("login.html", msg=str(te), host=host_param)

    elif request.method == 'GET':
        if caller is not None:
            if caller.get_session().status_code == 200:
                return redirect(url_for('webapp.webapp_main', path='', dirname=''))

        return render_template("login.html")
Beispiel #2
0
def pm(debug, host):
    """Connect to password manager"""

    logger = Logger(debug)
    logger.debug('debug mode on')

    caller = None
    p_key_derived = None

    try:
        if not Caller.check_up(host):
            logger.error('error creating session: host down')
        else:
            logger.debug('host up')

        key, p_key_derived = Input.get_public_key()

        logger.debug('creating a new session...')
        caller = Caller(host, key)
        logger.info(f'session created')

    except ConnectionError as ce:
        logger.error(f'error creating session: connection error - {str(ce)}')
    except TypeError as te:
        logger.error(f'error creating session: wrong input - {str(te)}')

    if caller is not None:
        InteractiveInput(caller, logger, p_key_derived).cmdloop()