From b86ef97b3645cd19a1978401b0363f9e5c1a8474 Mon Sep 17 00:00:00 2001 From: Richard Hughes Date: Fri, 15 Sep 2017 14:42:35 +0100 Subject: [PATCH] trivial: Remove fwupd_remote_build_uri() This also removes the long-deprecated fwupd_remote_get_uri() and fwupd_remote_get_uri_asc() --- libfwupd/README.md | 3 + libfwupd/fwupd-deprecated.h | 7 -- libfwupd/fwupd-remote.c | 185 +++++++++++++----------------------- libfwupd/fwupd-remote.h | 5 - libfwupd/meson.build | 2 +- src/fu-util.c | 8 +- 6 files changed, 73 insertions(+), 137 deletions(-) diff --git a/libfwupd/README.md b/libfwupd/README.md index 61e445a50..85a4f57c0 100644 --- a/libfwupd/README.md +++ b/libfwupd/README.md @@ -18,3 +18,6 @@ Migration from Version 0.9.x * Rename fwupd_client_get_devices_simple -> fwupd_client_get_devices * Rename fwupd_client_get_details_local -> fwupd_client_get_details * Rename fwupd_client_update_metadata_with_id -> fwupd_client_update_metadata + * Rename fwupd_remote_get_uri -> fwupd_remote_get_metadata_uri + * Rename fwupd_remote_get_uri_asc -> fwupd_remote_get_metadata_uri_sig + * Rename fwupd_remote_build_uri -> fwupd_remote_build_firmware_uri diff --git a/libfwupd/fwupd-deprecated.h b/libfwupd/fwupd-deprecated.h index bf919fc12..2b71a4da1 100644 --- a/libfwupd/fwupd-deprecated.h +++ b/libfwupd/fwupd-deprecated.h @@ -23,13 +23,6 @@ #define __FWUPD_DEPRECATED_H #include "fwupd-client.h" -#include "fwupd-remote.h" - -SoupURI *fwupd_remote_get_uri (FwupdRemote *self) -G_DEPRECATED_FOR(fwupd_remote_get_metadata_uri); -SoupURI *fwupd_remote_get_uri_asc (FwupdRemote *self) -G_DEPRECATED_FOR(fwupd_remote_get_metadata_uri_sig); - /* matches */ G_DEPRECATED_FOR(fwupd_device_add_guid) diff --git a/libfwupd/fwupd-remote.c b/libfwupd/fwupd-remote.c index 925e0119d..79600f51a 100644 --- a/libfwupd/fwupd-remote.c +++ b/libfwupd/fwupd-remote.c @@ -21,6 +21,8 @@ #include "config.h" +#include + #include "fwupd-deprecated.h" #include "fwupd-error.h" #include "fwupd-remote-private.h" @@ -45,8 +47,6 @@ struct _FwupdRemote gchar *filename_cache_sig; gchar *filename_source; gboolean enabled; - SoupURI *uri; - SoupURI *uri_asc; gint priority; guint64 mtime; gchar **order_after; @@ -68,10 +68,6 @@ fwupd_remote_set_username (FwupdRemote *self, const gchar *username) if (username != NULL && username[0] == '\0') username = NULL; self->username = g_strdup (username); - if (self->uri != NULL) - soup_uri_set_user (self->uri, username); - if (self->uri_asc != NULL) - soup_uri_set_user (self->uri_asc, username); } static void @@ -87,10 +83,6 @@ fwupd_remote_set_password (FwupdRemote *self, const gchar *password) if (password != NULL && password[0] == '\0') password = NULL; self->password = g_strdup (password); - if (self->uri != NULL) - soup_uri_set_password (self->uri, password); - if (self->uri_asc != NULL) - soup_uri_set_password (self->uri_asc, password); } static void @@ -131,6 +123,57 @@ fwupd_remote_get_suffix_for_keyring_kind (FwupdKeyringKind keyring_kind) return NULL; } +static SoupURI * +fwupd_remote_build_uri (FwupdRemote *self, const gchar *url, GError **error) +{ + SoupURI *uri; + + g_return_val_if_fail (FWUPD_IS_REMOTE (self), NULL); + g_return_val_if_fail (url != NULL, NULL); + g_return_val_if_fail (error == NULL || *error == NULL, NULL); + + /* create URI, substituting if required */ + if (self->firmware_base_uri != NULL) { + g_autoptr(SoupURI) uri_tmp = NULL; + g_autofree gchar *basename = NULL; + g_autofree gchar *url2 = NULL; + uri_tmp = soup_uri_new (url); + if (uri_tmp == NULL) { + g_set_error (error, + FWUPD_ERROR, + FWUPD_ERROR_INVALID_FILE, + "Failed to parse URI '%s'", url); + return NULL; + } + basename = g_path_get_basename (soup_uri_get_path (uri_tmp)); + url2 = g_build_filename (self->firmware_base_uri, basename, NULL); + uri = soup_uri_new (url2); + if (uri == NULL) { + g_set_error (error, + FWUPD_ERROR, + FWUPD_ERROR_INVALID_FILE, + "Failed to parse URI '%s'", url2); + return NULL; + } + } else { + uri = soup_uri_new (url); + if (uri == NULL) { + g_set_error (error, + FWUPD_ERROR, + FWUPD_ERROR_INVALID_FILE, + "Failed to parse URI '%s'", url); + return NULL; + } + } + + /* set the username and password */ + if (self->username != NULL) + soup_uri_set_user (uri, self->username); + if (self->password != NULL) + soup_uri_set_password (uri, self->password); + return uri; +} + /* note, this has to be set before username and password */ static void fwupd_remote_set_metadata_uri (FwupdRemote *self, const gchar *metadata_uri) @@ -138,25 +181,27 @@ fwupd_remote_set_metadata_uri (FwupdRemote *self, const gchar *metadata_uri) const gchar *suffix; g_autofree gchar *basename = NULL; g_autofree gchar *basename_asc = NULL; + g_autoptr(SoupURI) uri = NULL; + g_autoptr(SoupURI) uri_asc = NULL; + + /* build the URI */ + uri = soup_uri_new (metadata_uri); + if (uri == NULL) + return; /* save this so we can export the object as a GVariant */ self->metadata_uri = g_strdup (metadata_uri); - /* build the URI */ - self->uri = soup_uri_new (metadata_uri); - if (self->uri == NULL) - return; - /* generate some plausible local filenames */ - basename = g_path_get_basename (soup_uri_get_path (self->uri)); + basename = g_path_get_basename (soup_uri_get_path (uri)); self->filename = g_strdup_printf ("%s-%s", self->id, basename); /* generate the signature URI too */ suffix = fwupd_remote_get_suffix_for_keyring_kind (self->keyring_kind); if (suffix != NULL) { self->metadata_uri_sig = g_strconcat (metadata_uri, suffix, NULL); - self->uri_asc = fwupd_remote_build_uri (self, self->metadata_uri_sig, NULL); - basename_asc = g_path_get_basename (soup_uri_get_path (self->uri_asc)); + uri_asc = fwupd_remote_build_uri (self, self->metadata_uri_sig, NULL); + basename_asc = g_path_get_basename (soup_uri_get_path (uri_asc)); self->filename_asc = g_strdup_printf ("%s-%s", self->id, basename_asc); } } @@ -318,7 +363,7 @@ fwupd_remote_load_from_filename (FwupdRemote *self, fwupd_remote_set_metadata_uri (self, metadata_uri); /* check the URI was valid */ - if (self->uri == NULL) { + if (self->metadata_uri == NULL) { g_set_error (error, FWUPD_ERROR, FWUPD_ERROR_INVALID_FILE, @@ -626,70 +671,6 @@ fwupd_remote_get_title (FwupdRemote *self) return self->title; } -/** - * fwupd_remote_build_uri: - * @self: A #FwupdRemote - * @url: the URL to use - * @error: the #GError, or %NULL - * - * Builds a URI for the URL using the username and password set for the remote, - * including any basename URI substitution. - * - * Returns: (transfer full): a #SoupURI, or %NULL for error - * - * Since: 0.9.3 - **/ -SoupURI * -fwupd_remote_build_uri (FwupdRemote *self, const gchar *url, GError **error) -{ - SoupURI *uri; - - g_return_val_if_fail (FWUPD_IS_REMOTE (self), NULL); - g_return_val_if_fail (url != NULL, NULL); - g_return_val_if_fail (error == NULL || *error == NULL, NULL); - - /* create URI, substituting if required */ - if (self->firmware_base_uri != NULL) { - g_autoptr(SoupURI) uri_tmp = NULL; - g_autofree gchar *basename = NULL; - g_autofree gchar *url2 = NULL; - uri_tmp = soup_uri_new (url); - if (uri_tmp == NULL) { - g_set_error (error, - FWUPD_ERROR, - FWUPD_ERROR_INVALID_FILE, - "Failed to parse URI '%s'", url); - return NULL; - } - basename = g_path_get_basename (soup_uri_get_path (uri_tmp)); - url2 = g_build_filename (self->firmware_base_uri, basename, NULL); - uri = soup_uri_new (url2); - if (uri == NULL) { - g_set_error (error, - FWUPD_ERROR, - FWUPD_ERROR_INVALID_FILE, - "Failed to parse URI '%s'", url2); - return NULL; - } - } else { - uri = soup_uri_new (url); - if (uri == NULL) { - g_set_error (error, - FWUPD_ERROR, - FWUPD_ERROR_INVALID_FILE, - "Failed to parse URI '%s'", url); - return NULL; - } - } - - /* set the username and password from the metadata URI */ - if (self->uri != NULL) { - soup_uri_set_user (uri, soup_uri_get_user (self->uri)); - soup_uri_set_password (uri, soup_uri_get_password (self->uri)); - } - return uri; -} - /** * fwupd_remote_build_firmware_uri: * @self: A #FwupdRemote @@ -712,40 +693,6 @@ fwupd_remote_build_firmware_uri (FwupdRemote *self, const gchar *url, GError **e return soup_uri_to_string (uri, FALSE); } -/** - * fwupd_remote_get_uri: - * @self: A #FwupdRemote - * - * Gets the URI for the remote metadata. - * - * Returns: (transfer none): a #SoupURI, or %NULL for invalid. - * - * Since: 0.9.3 - **/ -SoupURI * -fwupd_remote_get_uri (FwupdRemote *self) -{ - g_return_val_if_fail (FWUPD_IS_REMOTE (self), NULL); - return self->uri; -} - -/** - * fwupd_remote_get_uri_asc: - * @self: A #FwupdRemote - * - * Gets the URI for the remote signature. - * - * Returns: (transfer none): a #SoupURI, or %NULL for invalid. - * - * Since: 0.9.3 - **/ -SoupURI * -fwupd_remote_get_uri_asc (FwupdRemote *self) -{ - g_return_val_if_fail (FWUPD_IS_REMOTE (self), NULL); - return self->uri_asc; -} - /** * fwupd_remote_get_metadata_uri: * @self: A #FwupdRemote @@ -1055,10 +1002,6 @@ fwupd_remote_finalize (GObject *obj) g_free (self->filename_source); g_strfreev (self->order_after); g_strfreev (self->order_before); - if (self->uri != NULL) - soup_uri_free (self->uri); - if (self->uri_asc != NULL) - soup_uri_free (self->uri_asc); G_OBJECT_CLASS (fwupd_remote_parent_class)->finalize (obj); } diff --git a/libfwupd/fwupd-remote.h b/libfwupd/fwupd-remote.h index ad032b23e..cc68de66e 100644 --- a/libfwupd/fwupd-remote.h +++ b/libfwupd/fwupd-remote.h @@ -22,8 +22,6 @@ #ifndef __FWUPD_REMOTE_H #define __FWUPD_REMOTE_H -#include - #include "fwupd-enums.h" G_BEGIN_DECLS @@ -63,9 +61,6 @@ FwupdKeyringKind fwupd_remote_get_keyring_kind (FwupdRemote *self); gchar *fwupd_remote_build_firmware_uri (FwupdRemote *self, const gchar *url, GError **error); -SoupURI *fwupd_remote_build_uri (FwupdRemote *self, - const gchar *url, - GError **error); G_END_DECLS diff --git a/libfwupd/meson.build b/libfwupd/meson.build index 7f805969b..7a86b6cb2 100644 --- a/libfwupd/meson.build +++ b/libfwupd/meson.build @@ -61,7 +61,7 @@ fwupd = shared_library( pkgg = import('pkgconfig') pkgg.generate( libraries : fwupd, - requires : [ 'gio-2.0', 'libsoup-2.4' ], + requires : [ 'gio-2.0' ], subdirs : 'fwupd-1', version : meson.project_version(), name : 'fwupd', diff --git a/src/fu-util.c b/src/fu-util.c index 7ce9a3173..16c6cff6b 100644 --- a/src/fu-util.c +++ b/src/fu-util.c @@ -1339,6 +1339,7 @@ fu_util_update_device_with_release (FuUtilPrivate *priv, const gchar *uri_tmp; g_autofree gchar *basename = NULL; g_autofree gchar *fn = NULL; + g_autofree gchar *uri_str = NULL; g_autoptr(SoupURI) uri = NULL; /* work out what remote-specific URI fields this should use */ @@ -1365,11 +1366,11 @@ fu_util_update_device_with_release (FuUtilPrivate *priv, fn, priv->flags, NULL, error); } - uri = fwupd_remote_build_uri (remote, uri_tmp, error); - if (uri == NULL) + uri_str = fwupd_remote_build_firmware_uri (remote, uri_tmp, error); + if (uri_str == NULL) return FALSE; } else { - uri = soup_uri_new (uri_tmp); + uri_str = g_strdup (uri_tmp); } /* download file */ @@ -1381,6 +1382,7 @@ fu_util_update_device_with_release (FuUtilPrivate *priv, if (!fu_common_mkdir_parent (fn, error)) return FALSE; checksums = fwupd_release_get_checksums (rel); + uri = soup_uri_new (uri_tmp); if (!fu_util_download_file (priv, uri, fn, fwupd_checksum_get_best (checksums), error))