Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

compiling new libdns fails



Hi,

with -current source cvs updated ca. Dec 27 10:25 MET "build.sh ...
distribution" fails with:

    compile  libdns/openssl_link.o
cc1: warnings being treated as errors
/u/NetBSD/src/external/bsd/bind/dist/lib/dns/openssl_link.c: In function 
'dst__openssl_init':
/u/NetBSD/src/external/bsd/bind/dist/lib/dns/openssl_link.c:195: warning: 
assignment from incompatible p
ointer type
--- openssl_link.o ---
*** [openssl_link.o] Error code 1
1 error

nbmake: stopped in /u/NetBSD/src/external/bsd/bind/lib/libdns


From src/external/bsd/bind/dist/lib/dns/openssl_link.c:

    192         rm->seed = NULL;
    193         rm->bytes = entropy_get;
    194         rm->cleanup = NULL;
    195         rm->add = entropy_add;
    196         rm->pseudorand = entropy_getpseudo;
    197         rm->status = entropy_status;

entropy_add is defined as static void some lines above:

    101 static void
    102 entropy_add(const void *buf, int num, double entropy) {
    103         /*
    104          * Do nothing.  The only call to this provides no useful data 
anyway.
    105          */
    106         UNUSED(buf);
    107         UNUSED(num);
    108         UNUSED(entropy);
    109 }

This conflicts with the new definition of struct rand_meth_st: 

>-1013: cvs diff -u -r 1.1.1.1 rand.h
Index: rand.h
===================================================================
RCS file: /cvsroot/src/crypto/external/bsd/openssl/dist/crypto/rand/rand.h,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.2
diff -u -r1.1.1.1 -r1.1.1.2
--- rand.h      19 Jul 2009 23:04:38 -0000      1.1.1.1
+++ rand.h      26 Dec 2009 23:33:11 -0000      1.1.1.2
@@ -80,10 +80,10 @@

 struct rand_meth_st
        {
-       void (*seed)(const void *buf, int num);
+       int (*seed)(const void *buf, int num);
        int (*bytes)(unsigned char *buf, int num);
        void (*cleanup)(void);
-       void (*add)(const void *buf, int num, double entropy);
+       int (*add)(const void *buf, int num, double entropy);
        int (*pseudorand)(unsigned char *buf, int num);
        int (*status)(void);
        };


To get "build.sh ... distribution" going again, I changed entropy_add to:

penssl_link.c
Index: openssl_link.c
===================================================================
RCS file: /cvsroot/src/external/bsd/bind/dist/lib/dns/openssl_link.c,v
retrieving revision 1.1.1.2
diff -u -r1.1.1.2 openssl_link.c
--- openssl_link.c      25 Oct 2009 00:02:31 -0000      1.1.1.2
+++ openssl_link.c      27 Dec 2009 11:11:41 -0000
@@ -98,7 +98,7 @@
        return (result == ISC_R_SUCCESS ? num : -1);
 }

-static void
+static int
 entropy_add(const void *buf, int num, double entropy) {
        /*
         * Do nothing.  The only call to this provides no useful data anyway.
@@ -106,6 +106,7 @@
        UNUSED(buf);
        UNUSED(num);
        UNUSED(entropy);
+       return (0);
 }

 static void

Based on the comment in entropy_add, this should be ok, I guess?

Kurt


Home | Main Index | Thread Index | Old Index