crypto\ecdsa\ecdsatest.c needs a cast?

2012-01-06 Thread NormW

Hi,
Building 0.9.8s and 1.0.0f (for NetWare) my (picky?) compiler reported:


mwccnlm -o tmp_nw_libc\ecdsatest.o -Ioutinc_nw_libc -Itmp_nw_libc -nostdinc -ir 
crypto -ir engi
crypto\ecdsa\ecdsatest.c:435: illegal implicit conversion from 'unsigned char 
**' to
crypto\ecdsa\ecdsatest.c:435: 'const unsigned char **'


The following patch fixes the problem:


--- ecdsatest.c.orig2011-12-02 23:41:00.0 +1100
+++ ecdsatest.c 2012-01-06 07:36:55.09375 +1100
@@ -432,7 +432,7 @@
 * garble the ASN1 structure, we read the raw signature and
 * modify a byte in one of the bignums directly. */
sig_ptr = signature;
-   if ((ecdsa_sig = d2i_ECDSA_SIG(NULL, &sig_ptr, sig_len)) == 
NULL)
+   if ((ecdsa_sig = d2i_ECDSA_SIG(NULL, (const unsigned char 
**)&sig_ptr, sig_len)) == NULL)
{
BIO_printf(out, " failed\n");
goto builtin_err;


Otherwise both build without issue.

HTH,
Norm
__
OpenSSL Project http://www.openssl.org
Development Mailing List   openssl-dev@openssl.org
Automated List Manager   majord...@openssl.org


Re: [openssl.org #2674] AutoReply: [PATCH] Fix compilation on GNU/Hurd and GNU/kFreeBSD

2012-01-06 Thread Ludovic Courtès via RT
The initial patch missed the .so.$(SHLIB_MAJOR).$(SHLIB_MINOR) bit (the
same as found on GNU/Linux and other GNU variants), which led the
lib{ssl,crypto}.so symlinks to be installed /without/ the corresponding
.so.X.Y files.

Here is the fixed patch.

Thanks,
Ludo’.


--- openssl-1.0.0e/Configure	2012-01-06 00:39:49.0 +0100
+++ openssl-1.0.0e/Configure	2012-01-06 00:39:51.0 +0100
@@ -563,7 +563,7 @@ my %table=(
 "newsos4-gcc","gcc:-O -DB_ENDIAN::(unknown):NEWS4:-lmld -liberty:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR",
 
 # GNU Hurd
-"hurd-x86",  "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -march=i486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC",
+"hurd-x86",  "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -march=i486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 
 # OS/2 EMX
 "OS2-EMX", "gcc",

--- openssl-1.0.0e/crypto/dso/dso_dlfcn.c	2012-01-06 00:05:47.0 +0100
+++ openssl-1.0.0e/crypto/dso/dso_dlfcn.c	2012-01-06 00:21:05.0 +0100
@@ -60,7 +60,7 @@
that handle _GNU_SOURCE and other similar macros.  Defining it later
is simply too late, because those headers are protected from re-
inclusion.  */
-#ifdef __linux
+#if defined __linux || defined __GNU__ || defined __GLIBC__
 # ifndef _GNU_SOURCE
 #  define _GNU_SOURCE	/* make sure dladdr is declared */
 # endif


[openssl.org #2674] [PATCH] Fix compilation on GNU/Hurd and GNU/kFreeBSD

2012-01-06 Thread Ludovic Courtès via RT
Hi,

The attached patch against OpenSSL 1.0.0e fixes compilation on GNU/Hurd
and presumably on GNU/kFreeBSD (I only tested the former.)

Thanks,
Ludo’.


--- openssl-1.0.0e/Configure	2012-01-06 00:39:49.0 +0100
+++ openssl-1.0.0e/Configure	2012-01-06 00:39:51.0 +0100
@@ -563,7 +563,7 @@ my %table=(
 "newsos4-gcc","gcc:-O -DB_ENDIAN::(unknown):NEWS4:-lmld -liberty:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR",
 
 # GNU Hurd
-"hurd-x86",  "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -march=i486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC",
+"hurd-x86",  "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -march=i486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so",
 
 # OS/2 EMX
 "OS2-EMX", "gcc",

--- openssl-1.0.0e/crypto/dso/dso_dlfcn.c	2012-01-06 00:05:47.0 +0100
+++ openssl-1.0.0e/crypto/dso/dso_dlfcn.c	2012-01-06 00:21:05.0 +0100
@@ -60,7 +60,7 @@
that handle _GNU_SOURCE and other similar macros.  Defining it later
is simply too late, because those headers are protected from re-
inclusion.  */
-#ifdef __linux
+#if defined __linux || defined __GNU__ || defined __GLIBC__
 # ifndef _GNU_SOURCE
 #  define _GNU_SOURCE	/* make sure dladdr is declared */
 # endif