Opened 13 years ago

Closed 12 years ago

Last modified 10 years ago

#3188 closed defect (fixed)

Internal neon fails to build in Subversion

Reported by: ken@… Owned by: blfs-book@…
Priority: normal Milestone:
Component: BOOK Version: SVN
Severity: normal Keywords:
Cc:

Description (last modified by Randy McMurchy)

See the comments about the build problem with internal neon.

Change History (7)

comment:1 by Randy McMurchy, 13 years ago

Owner: changed from blfs-book@… to Randy McMurchy
Status: newassigned

comment:2 by Randy McMurchy, 13 years ago

Milestone: future6.7

Updated milestone to 6.7

comment:3 by thomas, 13 years ago

Thats interesting that 1.6.13 seems to build. I tried 1.6.15 and needed to apply a little patch

diff -Naur subversion-1.6.15.orig/neon/macros/neon.m4 subversion-1.6.15/neon/macros/neon.m4
--- subversion-1.6.15.orig/neon/macros/neon.m4  2010-11-23 15:33:09.000000000 +0100
+++ subversion-1.6.15/neon/macros/neon.m4       2010-11-28 20:21:16.000000000 +0100
@@ -908,7 +908,7 @@
    if test "$ne_cv_lib_ssl097" = "yes"; then
       AC_MSG_NOTICE([OpenSSL >= 0.9.7; EGD support not needed in neon])
       NE_ENABLE_SUPPORT(SSL, [SSL support enabled, using OpenSSL (0.9.7 or later)])
-      NE_CHECK_FUNCS(CRYPTO_set_idptr_callback)
+      NE_CHECK_FUNCS(CRYPTO_set_idptr_callback SSL_SESSION_cmp)
    else
       # Fail if OpenSSL is older than 0.9.6
       NE_CHECK_OPENSSLVER(ne_cv_lib_ssl096, 0.9.6, 0x00906000L)
diff -Naur subversion-1.6.15.orig/neon/src/ne_openssl.c subversion-1.6.15/neon/src/ne_openssl.c
--- subversion-1.6.15.orig/neon/src/ne_openssl.c        2010-11-23 15:33:09.000000000 +0100
+++ subversion-1.6.15/neon/src/ne_openssl.c     2010-11-28 20:24:27.000000000 +0100
@@ -36,6 +36,7 @@
 #include <openssl/pkcs12.h>
 #include <openssl/x509v3.h>
 #include <openssl/rand.h>
+#include <openssl/opensslv.h>
 
 #ifdef NE_HAVE_TS_SSL
 #include <stdlib.h> /* for abort() */
@@ -604,6 +605,19 @@
     ne_free(ctx);
 }
 
+#if !defined(HAVE_SSL_SESSION_CMP) && !defined(SSL_SESSION_cmp) \
+    && defined(OPENSSL_VERSION_NUMBER) \
+    && OPENSSL_VERSION_NUMBER > 0x10000000L
+/* OpenSSL 1.0 removed SSL_SESSION_cmp for no apparent reason - hoping
+ * it is reasonable to assume that comparing the session IDs is
+ * sufficient. */
+static int SSL_SESSION_cmp(SSL_SESSION *a, SSL_SESSION *b)
+{
+    return a->session_id_length == b->session_id_length
+        && memcmp(a->session_id, b->session_id, a->session_id_length) == 0;
+}
+#endif
+
 /* For internal use only. */
 int ne__negotiate_ssl(ne_session *sess)
 {

to get it compiled against openssl (1.0.0b).

comment:4 by Randy McMurchy, 13 years ago

Summary: subversion-1.6.13Subversion-1.6.15

Version increment to 1.6.15

I didn't see it because I build neon separate. At least that is my guess.

comment:5 by Randy McMurchy, 13 years ago

Description: modified (diff)
Owner: changed from Randy McMurchy to blfs-book@…
Status: assignednew
Summary: Subversion-1.6.15Internal neon fails to build in Subversion
Type: taskdefect

Updated BLFS to 1.6.15

Renaming the ticket and leaving it open until the NEON problem is corrected.

comment:6 by Armin K, 12 years ago

Resolution: fixed
Status: newclosed

subversion-1.7.3 lists external neon (which is now in the book) as required. Marking as fixed.

comment:7 by bdubbs@…, 10 years ago

Milestone: 6.7

Milestone 6.7 deleted

Note: See TracTickets for help on using tickets.