trivial: Remove fwupd_remote_build_uri()

This also removes the long-deprecated fwupd_remote_get_uri() and fwupd_remote_get_uri_asc()
This commit is contained in:
Richard Hughes 2017-09-15 14:42:35 +01:00
parent ba73c76d69
commit b86ef97b36
6 changed files with 73 additions and 137 deletions

View File

@ -18,3 +18,6 @@ Migration from Version 0.9.x
* Rename fwupd_client_get_devices_simple -> fwupd_client_get_devices * Rename fwupd_client_get_devices_simple -> fwupd_client_get_devices
* Rename fwupd_client_get_details_local -> fwupd_client_get_details * Rename fwupd_client_get_details_local -> fwupd_client_get_details
* Rename fwupd_client_update_metadata_with_id -> fwupd_client_update_metadata * 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

View File

@ -23,13 +23,6 @@
#define __FWUPD_DEPRECATED_H #define __FWUPD_DEPRECATED_H
#include "fwupd-client.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 */ /* matches */
G_DEPRECATED_FOR(fwupd_device_add_guid) G_DEPRECATED_FOR(fwupd_device_add_guid)

View File

@ -21,6 +21,8 @@
#include "config.h" #include "config.h"
#include <libsoup/soup.h>
#include "fwupd-deprecated.h" #include "fwupd-deprecated.h"
#include "fwupd-error.h" #include "fwupd-error.h"
#include "fwupd-remote-private.h" #include "fwupd-remote-private.h"
@ -45,8 +47,6 @@ struct _FwupdRemote
gchar *filename_cache_sig; gchar *filename_cache_sig;
gchar *filename_source; gchar *filename_source;
gboolean enabled; gboolean enabled;
SoupURI *uri;
SoupURI *uri_asc;
gint priority; gint priority;
guint64 mtime; guint64 mtime;
gchar **order_after; gchar **order_after;
@ -68,10 +68,6 @@ fwupd_remote_set_username (FwupdRemote *self, const gchar *username)
if (username != NULL && username[0] == '\0') if (username != NULL && username[0] == '\0')
username = NULL; username = NULL;
self->username = g_strdup (username); 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 static void
@ -87,10 +83,6 @@ fwupd_remote_set_password (FwupdRemote *self, const gchar *password)
if (password != NULL && password[0] == '\0') if (password != NULL && password[0] == '\0')
password = NULL; password = NULL;
self->password = g_strdup (password); 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 static void
@ -131,6 +123,57 @@ fwupd_remote_get_suffix_for_keyring_kind (FwupdKeyringKind keyring_kind)
return NULL; 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 */ /* note, this has to be set before username and password */
static void static void
fwupd_remote_set_metadata_uri (FwupdRemote *self, const gchar *metadata_uri) 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; const gchar *suffix;
g_autofree gchar *basename = NULL; g_autofree gchar *basename = NULL;
g_autofree gchar *basename_asc = 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 */ /* save this so we can export the object as a GVariant */
self->metadata_uri = g_strdup (metadata_uri); 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 */ /* 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); self->filename = g_strdup_printf ("%s-%s", self->id, basename);
/* generate the signature URI too */ /* generate the signature URI too */
suffix = fwupd_remote_get_suffix_for_keyring_kind (self->keyring_kind); suffix = fwupd_remote_get_suffix_for_keyring_kind (self->keyring_kind);
if (suffix != NULL) { if (suffix != NULL) {
self->metadata_uri_sig = g_strconcat (metadata_uri, 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); 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)); basename_asc = g_path_get_basename (soup_uri_get_path (uri_asc));
self->filename_asc = g_strdup_printf ("%s-%s", self->id, basename_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); fwupd_remote_set_metadata_uri (self, metadata_uri);
/* check the URI was valid */ /* check the URI was valid */
if (self->uri == NULL) { if (self->metadata_uri == NULL) {
g_set_error (error, g_set_error (error,
FWUPD_ERROR, FWUPD_ERROR,
FWUPD_ERROR_INVALID_FILE, FWUPD_ERROR_INVALID_FILE,
@ -626,70 +671,6 @@ fwupd_remote_get_title (FwupdRemote *self)
return self->title; 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: * fwupd_remote_build_firmware_uri:
* @self: A #FwupdRemote * @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); 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: * fwupd_remote_get_metadata_uri:
* @self: A #FwupdRemote * @self: A #FwupdRemote
@ -1055,10 +1002,6 @@ fwupd_remote_finalize (GObject *obj)
g_free (self->filename_source); g_free (self->filename_source);
g_strfreev (self->order_after); g_strfreev (self->order_after);
g_strfreev (self->order_before); 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); G_OBJECT_CLASS (fwupd_remote_parent_class)->finalize (obj);
} }

View File

@ -22,8 +22,6 @@
#ifndef __FWUPD_REMOTE_H #ifndef __FWUPD_REMOTE_H
#define __FWUPD_REMOTE_H #define __FWUPD_REMOTE_H
#include <libsoup/soup.h>
#include "fwupd-enums.h" #include "fwupd-enums.h"
G_BEGIN_DECLS G_BEGIN_DECLS
@ -63,9 +61,6 @@ FwupdKeyringKind fwupd_remote_get_keyring_kind (FwupdRemote *self);
gchar *fwupd_remote_build_firmware_uri (FwupdRemote *self, gchar *fwupd_remote_build_firmware_uri (FwupdRemote *self,
const gchar *url, const gchar *url,
GError **error); GError **error);
SoupURI *fwupd_remote_build_uri (FwupdRemote *self,
const gchar *url,
GError **error);
G_END_DECLS G_END_DECLS

View File

@ -61,7 +61,7 @@ fwupd = shared_library(
pkgg = import('pkgconfig') pkgg = import('pkgconfig')
pkgg.generate( pkgg.generate(
libraries : fwupd, libraries : fwupd,
requires : [ 'gio-2.0', 'libsoup-2.4' ], requires : [ 'gio-2.0' ],
subdirs : 'fwupd-1', subdirs : 'fwupd-1',
version : meson.project_version(), version : meson.project_version(),
name : 'fwupd', name : 'fwupd',

View File

@ -1339,6 +1339,7 @@ fu_util_update_device_with_release (FuUtilPrivate *priv,
const gchar *uri_tmp; const gchar *uri_tmp;
g_autofree gchar *basename = NULL; g_autofree gchar *basename = NULL;
g_autofree gchar *fn = NULL; g_autofree gchar *fn = NULL;
g_autofree gchar *uri_str = NULL;
g_autoptr(SoupURI) uri = NULL; g_autoptr(SoupURI) uri = NULL;
/* work out what remote-specific URI fields this should use */ /* 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); fn, priv->flags, NULL, error);
} }
uri = fwupd_remote_build_uri (remote, uri_tmp, error); uri_str = fwupd_remote_build_firmware_uri (remote, uri_tmp, error);
if (uri == NULL) if (uri_str == NULL)
return FALSE; return FALSE;
} else { } else {
uri = soup_uri_new (uri_tmp); uri_str = g_strdup (uri_tmp);
} }
/* download file */ /* download file */
@ -1381,6 +1382,7 @@ fu_util_update_device_with_release (FuUtilPrivate *priv,
if (!fu_common_mkdir_parent (fn, error)) if (!fu_common_mkdir_parent (fn, error))
return FALSE; return FALSE;
checksums = fwupd_release_get_checksums (rel); checksums = fwupd_release_get_checksums (rel);
uri = soup_uri_new (uri_tmp);
if (!fu_util_download_file (priv, uri, fn, if (!fu_util_download_file (priv, uri, fn,
fwupd_checksum_get_best (checksums), fwupd_checksum_get_best (checksums),
error)) error))