Show the checksum kind in the fwupdmgr output

This commit is contained in:
Richard Hughes 2016-03-18 11:16:01 +00:00
parent af2f3f9288
commit b8f6b737e6

View File

@ -683,6 +683,7 @@ fu_util_download_file (FuUtilPrivate *priv,
const gchar *uri, const gchar *uri,
const gchar *fn, const gchar *fn,
const gchar *checksum_expected, const gchar *checksum_expected,
GChecksumType checksum_type,
GError **error) GError **error)
{ {
guint status_code; guint status_code;
@ -722,7 +723,7 @@ fu_util_download_file (FuUtilPrivate *priv,
/* verify checksum */ /* verify checksum */
if (checksum_expected != NULL) { if (checksum_expected != NULL) {
checksum_actual = g_compute_checksum_for_data (G_CHECKSUM_SHA1, checksum_actual = g_compute_checksum_for_data (checksum_type,
(guchar *) msg->response_body->data, (guchar *) msg->response_body->data,
msg->response_body->length); msg->response_body->length);
if (g_strcmp0 (checksum_expected, checksum_actual) != 0) { if (g_strcmp0 (checksum_expected, checksum_actual) != 0) {
@ -777,11 +778,11 @@ fu_util_download_metadata (FuUtilPrivate *priv, GError **error)
return FALSE; return FALSE;
sig_uri = g_strdup_printf ("%s.asc", data_uri); sig_uri = g_strdup_printf ("%s.asc", data_uri);
sig_fn = g_strdup_printf ("%s.asc", data_fn); sig_fn = g_strdup_printf ("%s.asc", data_fn);
if (!fu_util_download_file (priv, sig_uri, sig_fn, NULL, error)) if (!fu_util_download_file (priv, sig_uri, sig_fn, NULL, 0, error))
return FALSE; return FALSE;
/* download the payload */ /* download the payload */
if (!fu_util_download_file (priv, data_uri, data_fn, NULL, error)) if (!fu_util_download_file (priv, data_uri, data_fn, NULL, 0, error))
return FALSE; return FALSE;
/* send all this to fwupd */ /* send all this to fwupd */
@ -931,6 +932,23 @@ fu_util_print_data (const gchar *title, const gchar *msg)
} }
} }
/**
* _g_checksum_type_to_string:
**/
static const gchar *
_g_checksum_type_to_string (GChecksumType checksum_type)
{
if (checksum_type == G_CHECKSUM_MD5)
return "md5";
if (checksum_type == G_CHECKSUM_SHA1)
return "sha1";
if (checksum_type == G_CHECKSUM_SHA256)
return "sha256";
if (checksum_type == G_CHECKSUM_SHA512)
return "sha512";
return NULL;
}
/** /**
* fu_util_get_updates: * fu_util_get_updates:
**/ **/
@ -939,6 +957,7 @@ fu_util_get_updates (FuUtilPrivate *priv, gchar **values, GError **error)
{ {
FwupdResult *res; FwupdResult *res;
GPtrArray *results = NULL; GPtrArray *results = NULL;
GChecksumType checksum_type;
const gchar *tmp; const gchar *tmp;
guint i; guint i;
@ -962,9 +981,16 @@ fu_util_get_updates (FuUtilPrivate *priv, gchar **values, GError **error)
/* TRANSLATORS: section header for firmware version */ /* TRANSLATORS: section header for firmware version */
fu_util_print_data (_("Version"), fwupd_result_get_update_version (res)); fu_util_print_data (_("Version"), fwupd_result_get_update_version (res));
/* TRANSLATORS: section header for firmware SHA1 */ /* TRANSLATORS: section header for firmware checksum */
fu_util_print_data (_("Checksum"), fwupd_result_get_update_checksum (res)); fu_util_print_data (_("Checksum"), fwupd_result_get_update_checksum (res));
/* TRANSLATORS: section header for firmware checksum type */
if (fwupd_result_get_update_checksum (res) != NULL) {
checksum_type = fwupd_result_get_update_checksum_kind (res);
tmp = _g_checksum_type_to_string (checksum_type);
fu_util_print_data (_("Checksum Type"), tmp);
}
/* TRANSLATORS: section header for firmware remote http:// */ /* TRANSLATORS: section header for firmware remote http:// */
fu_util_print_data (_("Location"), fwupd_result_get_update_uri (res)); fu_util_print_data (_("Location"), fwupd_result_get_update_uri (res));
@ -1000,6 +1026,7 @@ fu_util_update (FuUtilPrivate *priv, gchar **values, GError **error)
if (results == NULL) if (results == NULL)
return FALSE; return FALSE;
for (i = 0; i < results->len; i++) { for (i = 0; i < results->len; i++) {
GChecksumType checksum_type;
const gchar *checksum; const gchar *checksum;
const gchar *uri; const gchar *uri;
g_autofree gchar *basename = NULL; g_autofree gchar *basename = NULL;
@ -1019,7 +1046,8 @@ fu_util_update (FuUtilPrivate *priv, gchar **values, GError **error)
fwupd_result_get_device_name (res)); fwupd_result_get_device_name (res));
basename = g_path_get_basename (uri); basename = g_path_get_basename (uri);
fn = g_build_filename (g_get_tmp_dir (), basename, NULL); fn = g_build_filename (g_get_tmp_dir (), basename, NULL);
if (!fu_util_download_file (priv, uri, fn, checksum, error)) checksum_type = fwupd_result_get_update_checksum_kind (res);
if (!fu_util_download_file (priv, uri, fn, checksum, checksum_type, error))
return FALSE; return FALSE;
g_print ("Updating %s on %s...\n", g_print ("Updating %s on %s...\n",
fwupd_result_get_update_version (res), fwupd_result_get_update_version (res),