summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2019-12-17 09:46:25 +0100
committerAlexander Larsson <alexander.larsson@gmail.com>2019-12-17 14:59:43 +0100
commit7ecc9fa12c5a9edad45cdbf7c547214bdd509c4f (patch)
tree132a77af897c335143ef9a178bc2370628c3e329
parent4106fc46777cc859cc0d6fbc66883fad22793b16 (diff)
downloadflatpak-7ecc9fa12c5a9edad45cdbf7c547214bdd509c4f.tar.gz
oci-authenticator: Skip interaction of no-interaction is set
-rw-r--r--oci-authenticator/flatpak-oci-authenticator.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/oci-authenticator/flatpak-oci-authenticator.c b/oci-authenticator/flatpak-oci-authenticator.c
index efa88935..ea518a42 100644
--- a/oci-authenticator/flatpak-oci-authenticator.c
+++ b/oci-authenticator/flatpak-oci-authenticator.c
@@ -427,6 +427,7 @@ handle_request_ref_tokens (FlatpakAuthenticator *authenticator,
const char *auth = NULL;
const char *oci_registry_uri = NULL;
gsize n_refs, i;
+ gboolean no_interaction = FALSE;
g_autoptr(FlatpakOciRegistry) registry = NULL;
GVariantBuilder tokens;
GVariantBuilder results;
@@ -443,6 +444,7 @@ handle_request_ref_tokens (FlatpakAuthenticator *authenticator,
"Not a OCI remote");
return TRUE;
}
+ g_variant_lookup (arg_options, "no-interaction", "b", &no_interaction);
request_path = flatpak_auth_create_request_path (g_dbus_method_invocation_get_sender (invocation),
arg_handle_token, NULL);
@@ -478,7 +480,8 @@ handle_request_ref_tokens (FlatpakAuthenticator *authenticator,
}
n_refs = g_variant_n_children (arg_refs);
- if (auth == NULL && n_refs > 0)
+ if (auth == NULL && n_refs > 0 &&
+ !no_interaction)
{
g_autoptr(GVariant) ref_data = g_variant_get_child_value (arg_refs, 0);
g_autofree char *token = NULL;