aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>2020-01-23 18:02:53 +0100
committerDenis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>2020-01-30 03:49:50 +0100
commitaa834b3c317b5938264d48a2ee2f24ea5278cf0d (patch)
tree178d30b531efec319e5ff35ccafb5800915839a1
parentac9895e996e563cff42bb18e717cc44677f39066 (diff)
downloadhardware_replicant_libsamsung-ipc-aa834b3c317b5938264d48a2ee2f24ea5278cf0d.tar.gz
hardware_replicant_libsamsung-ipc-aa834b3c317b5938264d48a2ee2f24ea5278cf0d.tar.bz2
hardware_replicant_libsamsung-ipc-aa834b3c317b5938264d48a2ee2f24ea5278cf0d.zip
ipc_nv_data_md5_calculate: print errors when ipc_client is defined.
Without that, there are no ways to know the cause of failures with ipc_nv_data_md5_calculate. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
-rw-r--r--include/rfs.h5
-rw-r--r--samsung-ipc/rfs.c25
-rw-r--r--tools/nv_data-md5.c3
3 files changed, 20 insertions, 13 deletions
diff --git a/include/rfs.h b/include/rfs.h
index 7950f16..a374ce0 100644
--- a/include/rfs.h
+++ b/include/rfs.h
@@ -67,8 +67,9 @@ struct ipc_rfs_nv_write_item_response_data {
* Helpers
*/
-char *ipc_nv_data_md5_calculate(const char *path, const char *secret,
- size_t size, size_t chunk_size);
+char *ipc_nv_data_md5_calculate(struct ipc_client *client, const char *path,
+ const char *secret, size_t size,
+ size_t chunk_size);
int ipc_nv_data_path_check(struct ipc_client *client);
int ipc_nv_data_md5_path_check(struct ipc_client *client);
int ipc_nv_data_backup_path_check(struct ipc_client *client);
diff --git a/samsung-ipc/rfs.c b/samsung-ipc/rfs.c
index 86205ba..91ff2c0 100644
--- a/samsung-ipc/rfs.c
+++ b/samsung-ipc/rfs.c
@@ -32,20 +32,25 @@
#include <ipc.h>
-char *ipc_nv_data_md5_calculate(const char *path, const char *secret,
- size_t size, size_t chunk_size)
+char *ipc_nv_data_md5_calculate(struct ipc_client *client,
+ const char *path, const char *secret,
+ size_t size, size_t chunk_size)
{
void *data = NULL;
char *md5_string = NULL;
unsigned char md5_hash[MD5_DIGEST_LENGTH] = { 0 };
MD5_CTX ctx;
- if (secret == NULL)
- return NULL;
+ if (secret == NULL) {
+ ipc_client_log(client, "%s: Failed: secret is NULL", __FUNCTION__);
+ return NULL;
+ }
data = file_data_read(path, size, chunk_size, 0);
- if (data == NULL)
- return NULL;
+ if (data == NULL) {
+ ipc_client_log(client, "%s failed: data is NULL", __FUNCTION__);
+ return NULL;
+ }
MD5_Init(&ctx);
MD5_Update(&ctx, data, size);
@@ -213,7 +218,7 @@ int ipc_nv_data_check(struct ipc_client *client)
goto error;
}
- md5_string = ipc_nv_data_md5_calculate(path, secret, size, chunk_size);
+ md5_string = ipc_nv_data_md5_calculate(client, path, secret, size, chunk_size);
if (md5_string == NULL) {
ipc_client_log(client, "Calculating nv_data md5 failed");
goto error;
@@ -292,7 +297,7 @@ int ipc_nv_data_backup_check(struct ipc_client *client)
goto error;
}
- backup_md5_string = ipc_nv_data_md5_calculate(backup_path, secret, size, chunk_size);
+ backup_md5_string = ipc_nv_data_md5_calculate(client, backup_path, secret, size, chunk_size);
if (backup_md5_string == NULL) {
ipc_client_log(client, "Calculating nv_data backup md5 failed");
goto error;
@@ -372,7 +377,7 @@ int ipc_nv_data_backup(struct ipc_client *client)
goto error;
}
- md5_string = ipc_nv_data_md5_calculate(path, secret, size, chunk_size);
+ md5_string = ipc_nv_data_md5_calculate(client, path, secret, size, chunk_size);
if (md5_string == NULL) {
ipc_client_log(client, "Calculating nv_data md5 failed");
goto error;
@@ -622,7 +627,7 @@ int ipc_nv_data_write(struct ipc_client *client, const void *data, size_t size,
if (size == 0)
goto error;
- md5_string = ipc_nv_data_md5_calculate(path, secret, size, chunk_size);
+ md5_string = ipc_nv_data_md5_calculate(client, path, secret, size, chunk_size);
if (md5_string == NULL) {
ipc_client_log(client, "Calculating nv_data md5 failed");
goto error;
diff --git a/tools/nv_data-md5.c b/tools/nv_data-md5.c
index 78901ef..d998296 100644
--- a/tools/nv_data-md5.c
+++ b/tools/nv_data-md5.c
@@ -43,7 +43,8 @@ int main(int argc, char *argv[])
path = argv[1];
- md5_string = ipc_nv_data_md5_calculate(path, secret, size, chunk_size);
+ md5_string = ipc_nv_data_md5_calculate(NULL, path, secret, size,
+ chunk_size);
if (md5_string == NULL) {
fprintf(stderr, "Calculating nv_data backup md5 failed\n");
return 1;