mirror of
https://git.proxmox.com/git/fwupd
synced 2025-08-05 10:27:11 +00:00
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:
parent
ba73c76d69
commit
b86ef97b36
@ -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
|
||||
|
@ -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)
|
||||
|
@ -21,6 +21,8 @@
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include <libsoup/soup.h>
|
||||
|
||||
#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);
|
||||
}
|
||||
|
@ -22,8 +22,6 @@
|
||||
#ifndef __FWUPD_REMOTE_H
|
||||
#define __FWUPD_REMOTE_H
|
||||
|
||||
#include <libsoup/soup.h>
|
||||
|
||||
#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
|
||||
|
||||
|
@ -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',
|
||||
|
@ -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))
|
||||
|
Loading…
Reference in New Issue
Block a user