Exemple #1
0
def _background(meta, oauth, dialog, builder, lets_connect):
    try:
        cert, key = create_keypair(oauth, meta.api_base_uri)
        meta.cert = cert
        meta.key = key
        meta.config = get_profile_config(oauth, meta.api_base_uri,
                                         meta.profile_id)
        ovpn_text = format_like_ovpn(meta.config, meta.cert, meta.key)
        config_dict = parse_ovpn(ovpn_text)
        if meta.two_factor:
            GLib.idle_add(lambda: two_auth_step(builder,
                                                oauth,
                                                meta,
                                                config_dict=config_dict,
                                                lets_connect=lets_connect))
        else:
            GLib.idle_add(lambda: finalizing_step(meta=meta,
                                                  builder=builder,
                                                  config_dict=config_dict,
                                                  lets_connect=lets_connect))
        GLib.idle_add(lambda: dialog.hide())

    except Exception as e:
        error = e
        GLib.idle_add(lambda: error_helper(
            dialog, "can't finalize configuration", "{}: {}".format(
                type(error).__name__, str(error))))
        GLib.idle_add(lambda: dialog.hide())
        raise
def _background(meta, oauth, dialog, builder):
    try:
        cert, key = create_keypair(oauth, meta.api_base_uri)
        meta.cert = cert
        meta.key = key
        meta.config = get_profile_config(oauth, meta.api_base_uri,
                                         meta.profile_id)
    except Exception as e:
        GLib.idle_add(
            lambda: error_helper(dialog, "can't finalize configuration",
                                 "{}: {}".format(type(e).__name__, str(e))))
        GLib.idle_add(lambda: dialog.hide())
        raise
    else:
        try:
            uuid = store_provider(meta)
            monitor_vpn(
                uuid=uuid,
                callback=lambda *args, **kwargs: vpn_change(builder=builder))
            GLib.idle_add(
                lambda: notify("eduVPN provider added", "added provider '{}'".
                               format(meta.display_name)))
        except Exception as e:
            GLib.idle_add(
                lambda: error_helper(dialog, "can't store configuration",
                                     "{} {}".format(type(e).__name__, str(e))))
            GLib.idle_add(lambda: dialog.hide())
            raise
        else:
            GLib.idle_add(lambda: dialog.hide())
            GLib.idle_add(lambda: update_providers(builder))
def _fetch_updated_config(oauth, meta, builder, info):
    config = get_profile_config(oauth, meta.api_base_uri, meta.profile_id)
    meta.config = config
    config_dict = parse_ovpn(meta.config)
    update_config_provider(meta, config_dict)

    _2fa_check(meta, builder, oauth, config_dict, info)
def activate_connection(meta, builder):
    """do the actual connecting action"""
    logger.info("Connecting to {}".format(meta.display_name))
    notify("eduVPN connecting...", "Connecting to '{}'".format(meta.display_name))
    try:
        if not meta.token:
            logger.error("metadata for {} doesn't contain oauth2 token".format(meta.uuid))
        else:
            oauth = oauth_from_token(meta=meta)
            config = get_profile_config(oauth, meta.api_base_uri, meta.profile_id)
            meta.config = config
            update_config_provider(meta)

            if datetime.now() > datetime.fromtimestamp(meta.token['expires_at']):
                logger.info("key pair is expired")
                cert, key = create_keypair(oauth, meta.api_base_uri)
                update_keys_provider(meta.uuid, cert, key)

        connect_provider(meta.uuid)

    except Exception as e:
        switch = builder.get_object('connect-switch')
        GLib.idle_add(switch.set_active, False)
        window = builder.get_object('eduvpn-window')
        error_helper(window, "can't enable connection", "{}: {}".format(type(e).__name__, str(e)))
        raise
def _fetch_updated_config(oauth, meta, builder, info, lets_connect):
    # type: (str, Metadata, Gtk.builder, dict, bool) -> None
    config = get_profile_config(oauth, meta.api_base_uri, meta.profile_id)
    meta.config = config
    config_dict = parse_ovpn(meta.config)
    update_config_provider(meta, config_dict)

    _2fa_check(meta, builder, oauth, config_dict, info, lets_connect)
def _fetch_updated_config(oauth, meta, builder, info):
    # type : (oauth, Metadata, verifier, Gtk.Builder ) -> None
    config = get_profile_config(oauth, meta.api_base_uri, meta.profile_id)
    meta.config = config
    config_dict = parse_ovpn(meta.config)
    update_config_provider(meta, config_dict)

    _2fa_check(meta, builder, oauth, config_dict, info)
Exemple #7
0
 def test_get_profile_config(self):
     get_profile_config(oauth=self.oauth,
                        api_base_uri='test',
                        profile_id='test')