Blame SOURCES/0003-pkcstok_migrate-Fix-public-token-object-conversion-o.patch

1bd38d
From c090136338b585370df6a8e29518f9e55d388fe5 Mon Sep 17 00:00:00 2001
1bd38d
From: Ingo Franzki <ifranzki@linux.ibm.com>
1bd38d
Date: Mon, 6 Jul 2020 13:16:34 +0200
1bd38d
Subject: [PATCH 3/5] pkcstok_migrate: Fix public token object conversion on
1bd38d
 little endian platforms
1bd38d
1bd38d
The new format stores numeric fields in the object header in big endian, while
1bd38d
the old format uses the platform endianness. So convert the fields to big endian
1bd38d
during conversion.
1bd38d
1bd38d
Signed-off-by: Ingo Franzki <ifranzki@linux.ibm.com>
1bd38d
---
1bd38d
 usr/sbin/pkcstok_migrate/pkcstok_migrate.c | 4 ++--
1bd38d
 1 file changed, 2 insertions(+), 2 deletions(-)
1bd38d
1bd38d
diff --git a/usr/sbin/pkcstok_migrate/pkcstok_migrate.c b/usr/sbin/pkcstok_migrate/pkcstok_migrate.c
1bd38d
index 0148102c..136c010c 100644
1bd38d
--- a/usr/sbin/pkcstok_migrate/pkcstok_migrate.c
1bd38d
+++ b/usr/sbin/pkcstok_migrate/pkcstok_migrate.c
1bd38d
@@ -103,9 +103,9 @@ static CK_RV make_OBJECT_PUB_312(char **obj_new, unsigned int *obj_new_len,
1bd38d
 
1bd38d
     /* Setup object */
1bd38d
     memset(&header, 0, sizeof(header));
1bd38d
-    header.tokversion = 0x0003000C;
1bd38d
+    header.tokversion = htobe32(0x0003000C);
1bd38d
     header.private_flag = 0x00;
1bd38d
-    header.object_len = clear_len;
1bd38d
+    header.object_len = htobe32(clear_len);
1bd38d
     memcpy(object, &header, sizeof(header));
1bd38d
     memcpy(object + sizeof(header), clear, clear_len);
1bd38d
 
1bd38d
-- 
1bd38d
2.16.2.windows.1
1bd38d