I sent these reports to [EMAIL PROTECTED] a couple of hours ago, but they don't
seem to have arrived either on the tracker or as postings on openssl-dev, so
I'm forwarding them here (please see attached).

The size_t problem with md5.h also applies to ripemd.h and sha.h

Fixing these *almost* makes ruby's openssl extension compile. There's one
instance where ruby touches the X509_STORE_CTX.flags member directly:

    if(NIL_P(time)) {
        GetX509StCtx(self, store);
        store->flags &= ~X509_V_FLAG_USE_CHECK_TIME; 
    }

which compiles if you change it to

    if(NIL_P(time)) {
        GetX509StCtx(self, store);
        store->param->flags &= ~X509_V_FLAG_USE_CHECK_TIME; 
    }

I'm not sure if there's any alternative (supported API) here; there's
X509_STORE_CTX_set_flags but I don't see a corresponding _clear_flags

Regards,

Brian.
--- Begin Message ---
openssl-0.9.8 breaks the current (2.8.22) release of mod_ssl

This is due to an incompatible API change: PEM_F_DEF_CALLBACK was renamed to
PEM_F_PEM_DEF_CALLBACK

I think this should have been mentioned in the announcement, or at least in
the CHANGES file or at http://www.openssl.org/news/changelog.html

--- End Message ---
--- Begin Message ---
openssl-0.9.8/include/openssl/md5.h changed some definitions of 'unsigned
long' to 'size_t', but forgot to #include <sys/types.h>

This breaks compilation of ruby-1.8.2's openssl module (and probably other
things).

I don't know if this is an intentional API change - i.e. all users are now
required to #include <sys/types.h> before #include <openssl/md5.h> - or an
oversight. If the former, it should have been mentioned in the announcement
or the CHANGES file.

[The rest of openssl seems inconsistent in this regard. For example, both
bio.h and buffer.h both use size_t, but only buffer.h includes sys/types.h]

--- End Message ---
diff --exclude *~ -uNr openssl-0.9.8.orig/crypto/md5/md5.h 
openssl-0.9.8/crypto/md5/md5.h
--- openssl-0.9.8.orig/crypto/md5/md5.h Sun Jul 25 21:09:56 2004
+++ openssl-0.9.8/crypto/md5/md5.h      Wed Jul  6 10:01:42 2005
@@ -61,6 +61,10 @@
 
 #include <openssl/e_os2.h>
 
+#if !defined(NO_SYS_TYPES_H)
+#include <sys/types.h>
+#endif
+
 #ifdef  __cplusplus
 extern "C" {
 #endif
diff --exclude *~ -uNr openssl-0.9.8.orig/crypto/ripemd/ripemd.h 
openssl-0.9.8/crypto/ripemd/ripemd.h
--- openssl-0.9.8.orig/crypto/ripemd/ripemd.h   Sun Jul 25 20:10:43 2004
+++ openssl-0.9.8/crypto/ripemd/ripemd.h        Wed Jul  6 11:14:06 2005
@@ -61,6 +61,10 @@
 
 #include <openssl/e_os2.h>
 
+#if !defined(NO_SYS_TYPES_H)
+#include <sys/types.h>
+#endif
+
 #ifdef  __cplusplus
 extern "C" {
 #endif
diff --exclude *~ -uNr openssl-0.9.8.orig/crypto/sha/sha.h 
openssl-0.9.8/crypto/sha/sha.h
--- openssl-0.9.8.orig/crypto/sha/sha.h Tue May 24 04:39:10 2005
+++ openssl-0.9.8/crypto/sha/sha.h      Wed Jul  6 11:14:20 2005
@@ -61,6 +61,10 @@
 
 #include <openssl/e_os2.h>
 
+#if !defined(NO_SYS_TYPES_H)
+#include <sys/types.h>
+#endif
+
 #ifdef  __cplusplus
 extern "C" {
 #endif

Reply via email to