mirror of
https://git.proxmox.com/git/fwupd
synced 2025-08-09 05:37:44 +00:00
trivial: Clarify the FwupdRelease::checksum is for the container
In one place we were accidentally setting the contents checksum, because the LVFS was setting the artifact type of 'binary' for metainfo export -- which was never going to match on the LVFS.
This commit is contained in:
parent
19491c02b7
commit
62a62f8f0f
@ -429,7 +429,7 @@ fwupd_release_has_category(FwupdRelease *self, const gchar *category)
|
|||||||
* fwupd_release_get_checksums:
|
* fwupd_release_get_checksums:
|
||||||
* @self: a #FwupdRelease
|
* @self: a #FwupdRelease
|
||||||
*
|
*
|
||||||
* Gets the release checksums.
|
* Gets the release container checksums.
|
||||||
*
|
*
|
||||||
* Returns: (element-type utf8) (transfer none): the checksums, which may be empty
|
* Returns: (element-type utf8) (transfer none): the checksums, which may be empty
|
||||||
*
|
*
|
||||||
@ -446,7 +446,7 @@ fwupd_release_get_checksums(FwupdRelease *self)
|
|||||||
/**
|
/**
|
||||||
* fwupd_release_add_checksum:
|
* fwupd_release_add_checksum:
|
||||||
* @self: a #FwupdRelease
|
* @self: a #FwupdRelease
|
||||||
* @checksum: (not nullable): the update checksum
|
* @checksum: (not nullable): the update container checksum
|
||||||
*
|
*
|
||||||
* Sets the update checksum.
|
* Sets the update checksum.
|
||||||
*
|
*
|
||||||
@ -471,7 +471,7 @@ fwupd_release_add_checksum(FwupdRelease *self, const gchar *checksum)
|
|||||||
* @self: a #FwupdRelease
|
* @self: a #FwupdRelease
|
||||||
* @checksum: (not nullable): the update checksum
|
* @checksum: (not nullable): the update checksum
|
||||||
*
|
*
|
||||||
* Finds out if the release has the update checksum.
|
* Finds out if the release has the update container checksum.
|
||||||
*
|
*
|
||||||
* Returns: %TRUE if the release matches
|
* Returns: %TRUE if the release matches
|
||||||
*
|
*
|
||||||
|
@ -257,6 +257,12 @@ fu_release_load_artifact(FuRelease *self, XbNode *artifact, GError **error)
|
|||||||
|
|
||||||
/* filename */
|
/* filename */
|
||||||
filename = xb_node_query_text(artifact, "filename", NULL);
|
filename = xb_node_query_text(artifact, "filename", NULL);
|
||||||
|
if (!g_str_has_suffix(filename, ".cab")) {
|
||||||
|
/* some firmware archives was signed with <artifact type="binary"> where the
|
||||||
|
* checksums were the *content* checksums, not the *container* checksum */
|
||||||
|
g_debug("ignoring non-binary artifact entry: %s", filename);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
if (filename != NULL)
|
if (filename != NULL)
|
||||||
fwupd_release_set_filename(FWUPD_RELEASE(self), filename);
|
fwupd_release_set_filename(FWUPD_RELEASE(self), filename);
|
||||||
|
|
||||||
@ -742,7 +748,7 @@ fu_release_load(FuRelease *self,
|
|||||||
fwupd_release_add_flag(FWUPD_RELEASE(self), FWUPD_RELEASE_FLAG_IS_COMMUNITY);
|
fwupd_release_add_flag(FWUPD_RELEASE(self), FWUPD_RELEASE_FLAG_IS_COMMUNITY);
|
||||||
|
|
||||||
/* this is the more modern way to do this */
|
/* this is the more modern way to do this */
|
||||||
artifact = xb_node_query_first(rel, "artifacts/artifact", NULL);
|
artifact = xb_node_query_first(rel, "artifacts/artifact[@type='binary']", NULL);
|
||||||
if (artifact != NULL) {
|
if (artifact != NULL) {
|
||||||
if (!fu_release_load_artifact(self, artifact, error))
|
if (!fu_release_load_artifact(self, artifact, error))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
Loading…
Reference in New Issue
Block a user