On 06.01.2012 22:16, NormW wrote:
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.orig 2011-12-02 23:41:00.000000000 +1100
+++ ecdsatest.c 2012-01-06 07:36:55.093750000 +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.

Same here:

ecdsatest.c: In function 'test_builtin':
ecdsatest.c:435:3: warning: passing argument 2 of 'd2i_ECDSA_SIG' from incompatible pointer type [enabled by default] ../include/openssl/ecdsa.h:109:12: note: expected 'const unsigned char **' but argument is of type 'unsigned char **'


plus in addition:

sparcv9cap.c: In function 'OPENSSL_cpuid_setup':
sparcv9cap.c:172:8: warning: unused variable 'sig' [-Wunused-variable]

(it seems the line could be dropped)

/usr/ccs/bin/as: "sha512-sparcv9.s", line 676: warning: v8+ ABI violation: illegal use of %i or %l register as rs1 in "brnz,a" instruction

x509_vfy.c: In function 'X509_verify_cert':
x509_vfy.c:156:13: warning: variable 'xn' set but not used [-Wunused-but-set-variable]

s_socket.c: In function 'init_client':
s_socket.c:263:4: warning: 'ip[3]' may be used uninitialized in this function [-Wuninitialized]
s_socket.c:239:16: note: 'ip[3]' was declared here
s_socket.c:262:4: warning: 'ip[2]' may be used uninitialized in this function [-Wuninitialized]
s_socket.c:239:16: note: 'ip[2]' was declared here
s_socket.c:261:4: warning: 'ip[1]' may be used uninitialized in this function [-Wuninitialized]
s_socket.c:239:16: note: 'ip[1]' was declared here
s_socket.c:260:4: warning: 'ip[0]' may be used uninitialized in this function [-Wuninitialized]
s_socket.c:239:16: note: 'ip[0]' was declared here

apps.c: In function 'set_ext_copy':
apps.c:1306:2: warning: implicit declaration of function 'strcasecmp' [-Wimplicit-function-declaration]

The file defined "_POSIX_C_SOURCE 2", which results in strcasecmp no longer being defined. Adding "-D__EXTENSIONS__" activates all compatible extensions (on Solaris) and resolves this, if "_POSIX_C_SOURCE 2" is not defined. The Configure entry for Solaris debug already contains -D__EXTENSIONS__. One might only set "_POSIX_C_SOURCE 2" for the platform that needs it. In apps.c it says:

/* On VMS, you need to define this to get
   the declaration of fileno().  The value
   2 is to make sure no function defined
   in POSIX-2 is left undefined. */

but then sets it unconditionally for all platforms.

Those are for 1.0.0f, at least some of this also applies to 1.0.1.

Regards,

Rainer
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to