From b77f7c93835436971c66cf840ee4e81afef725bf Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Mon, 4 Nov 2019 15:46:16 +0100 Subject: [PATCH] authenticator: Pass remote name to RequestRefTokens This makes it very easy to reuse a single authenticator for several remotes. This is useful for the a default authenticator implementation that we can ship with flatpak and use for e.g. flathub. --- common/flatpak-auth-private.h | 1 + common/flatpak-auth.c | 3 ++- common/flatpak-transaction.c | 2 +- data/org.freedesktop.Flatpak.xml | 1 + tests/test-authenticator.c | 1 + 5 files changed, 6 insertions(+), 2 deletions(-) diff --git a/common/flatpak-auth-private.h b/common/flatpak-auth-private.h index 42d96ca2..c92494e7 100644 --- a/common/flatpak-auth-private.h +++ b/common/flatpak-auth-private.h @@ -51,6 +51,7 @@ FlatpakAuthenticatorRequest *flatpak_auth_create_request (FlatpakAuth GError **error); gboolean flatpak_auth_request_ref_tokens (FlatpakAuthenticator *authenticator, FlatpakAuthenticatorRequest *request, + const char *remote, const char **refs, GCancellable *cancellable, GError **error); diff --git a/common/flatpak-auth.c b/common/flatpak-auth.c index 1ec6432a..ca892e4d 100644 --- a/common/flatpak-auth.c +++ b/common/flatpak-auth.c @@ -129,6 +129,7 @@ flatpak_auth_create_request (FlatpakAuthenticator *authenticator, gboolean flatpak_auth_request_ref_tokens (FlatpakAuthenticator *authenticator, FlatpakAuthenticatorRequest *request, + const char *remote, const char **refs, GCancellable *cancellable, GError **error) @@ -141,7 +142,7 @@ flatpak_auth_request_ref_tokens (FlatpakAuthenticator *authenticator, options = g_object_get_data (G_OBJECT (authenticator), "authenticator-options"); - if (!flatpak_authenticator_call_request_ref_tokens_sync (authenticator, token, options, refs, + if (!flatpak_authenticator_call_request_ref_tokens_sync (authenticator, token, options, remote, refs, &handle, cancellable, error)) return FALSE; diff --git a/common/flatpak-transaction.c b/common/flatpak-transaction.c index 1091129e..abf1178b 100644 --- a/common/flatpak-transaction.c +++ b/common/flatpak-transaction.c @@ -2810,7 +2810,7 @@ request_tokens_for_remote (FlatpakTransaction *self, priv->active_webflow = &data; data.request = request; - if (!flatpak_auth_request_ref_tokens (authenticator, request, (const char **)refs->pdata, cancellable, error)) + if (!flatpak_auth_request_ref_tokens (authenticator, request, remote, (const char **)refs->pdata, cancellable, error)) return FALSE; while (!data.done) diff --git a/data/org.freedesktop.Flatpak.xml b/data/org.freedesktop.Flatpak.xml index 6da137ca..50769257 100644 --- a/data/org.freedesktop.Flatpak.xml +++ b/data/org.freedesktop.Flatpak.xml @@ -175,6 +175,7 @@ + diff --git a/tests/test-authenticator.c b/tests/test-authenticator.c index 72a9dd25..ed0e1ef6 100644 --- a/tests/test-authenticator.c +++ b/tests/test-authenticator.c @@ -172,6 +172,7 @@ handle_request_ref_tokens (FlatpakAuthenticator *authenticator, GDBusMethodInvocation *invocation, const gchar *arg_handle_token, GVariant *arg_authenticator_option, + const gchar *arg_remote, const gchar *const *arg_refs) { g_autoptr(GError) error = NULL;