> http://build-failures.rhaalovely.net/aarch64/2019-04-12/security/libnipper.log
Same issue with ports-gcc-8 on macppc.
Bad things come in threes, it's yet another roll your own base64
implementation that doesn't build on archs where char is unsigned
by default.
It has been tested successfully on macppc.
Any comment?
Charlène.
Index: Makefile
===================================================================
RCS file: /cvs/ports/security/libnipper/Makefile,v
retrieving revision 1.22
diff -u -p -r1.22 Makefile
--- Makefile 24 Oct 2018 14:28:10 -0000 1.22
+++ Makefile 16 Apr 2019 16:26:42 -0000
@@ -3,7 +3,7 @@
COMMENT = library for nipper
DISTNAME = libnipper-0.12.6
-REVISION = 6
+REVISION = 7
CATEGORIES = security net
SHARED_LIBS = nipper 0.0
Index: patches/patch-device_crypto_crypto-base64_cpp
===================================================================
RCS file:
/cvs/ports/security/libnipper/patches/patch-device_crypto_crypto-base64_cpp,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 patch-device_crypto_crypto-base64_cpp
--- patches/patch-device_crypto_crypto-base64_cpp 20 Sep 2008 20:26:05
-0000 1.1.1.1
+++ patches/patch-device_crypto_crypto-base64_cpp 16 Apr 2019 16:26:42
-0000
@@ -1,8 +1,20 @@
-let it build with base gcc
-
$OpenBSD: patch-device_crypto_crypto-base64_cpp,v 1.1.1.1 2008/09/20 20:26:05
steven Exp $
---- device/crypto/crypto-base64.cpp.orig Sun Sep 7 23:03:17 2008
-+++ device/crypto/crypto-base64.cpp Sun Sep 7 23:03:17 2008
+
+Hunk #1: let it build on archs where char is unsigned by default (ppc, arm)
+Hunk #2: let it build with base gcc
+
+Index: device/crypto/crypto-base64.cpp
+--- device/crypto/crypto-base64.cpp.orig
++++ device/crypto/crypto-base64.cpp
+@@ -36,7 +36,7 @@
+
+ // See RFC3548 for details of Base64 Encode / Decode standards
+
+-static const char base64string[] = {62, -1, -1, -1, 63, 52, 53, 54, 55, 56,
57, 58, 59, 60, 61, -1, -1, -1, 0, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1,
-1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51};
++static const signed char base64string[] = {62, -1, -1, -1, 63, 52, 53, 54,
55, 56, 57, 58, 59, 60, 61, -1, -1, -1, 0, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1,
-1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
42, 43, 44, 45, 46, 47, 48, 49, 50, 51};
+
+
+ // Base64 character check
@@ -110,9 +110,9 @@ const char *Device::base64Decode(const char *encodedSt
offset++;