Pure-FTPD 1.0.37 to 1.0.38 update error.

Daznis

New member
Joined
May 26, 2015
Messages
1
I'm trying to update Pure-FTPD to 1.0.38 using custom build v2. The server is running CloudLinux Server release 5.11 and DirectAdmin 1.48.0.
The actual error in question is:
gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/local/include -D_FORTIFY_SOURCE=2 -DTLS_CERTIFICATE_FILE='"/etc/pure-ftpd.pem"' -DCONFDIR=\"/etc\" -DSTATEDIR=\"/var\" -g -O2 -fPIC -fPIE -fwrapv -fno-strict-aliasing -fstack-protector-all -Winit-self -Wwrite-strings -Wdiv-by-zero -MT fakesnprintf.o -MD -MP -MF .deps/fakesnprintf.Tpo -c -o fakesnprintf.o fakesnprintf.c
tls.c: In function 'tls_init_ecdh_curve':
tls.c:56: error: 'EC_KEY' undeclared (first use in this function)
tls.c:56: error: (Each undeclared identifier is reported only once
tls.c:56: error: for each function it appears in.)
tls.c:56: error: 'curve' undeclared (first use in this function)
make[2]: *** [libpureftpd_a-tls.o] Error 1
make[2]: *** Waiting for unfinished jobs....
mv -f .deps/libpureftpd_a-utils.Tpo .deps/libpureftpd_a-utils.Po
mv -f .deps/fakesnprintf.Tpo .deps/fakesnprintf.Po
mv -f .deps/libpureftpd_a-ftpd.Tpo .deps/libpureftpd_a-ftpd.Po
make[2]: Leaving directory `/usr/local/directadmin/custombuild/pure-ftpd-1.0.38/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/directadmin/custombuild/pure-ftpd-1.0.38'
make: *** [all] Error 2
 
Hello,

Issue confirmed. We'll have to investigate options for CentOS 5, possibly patching pure-ftpd, or forcing an older version.
I don't believe CentOS 5 supports the needed TLS bits that the pure-ftpd update is designed for.

For now, stick with 1.0.37.
http://help.directadmin.com/item.php?id=275

If you have CustomBuild 2.0, use this:
http://help.directadmin.com/item.php?id=565&in1=pureftpd&in2=1.0.37&in3=

I'll update this thread with whatever we figure out.

John

Edit: I've temporarily downgraded the versions.txt on files1 back to 1.0.37 until we sort out the compile issue.
 
Patch added to files1.
If you're using a different mirror, it may take up to 24 hours to sync.

The patch is basically to add an extra ifndef check to ensure all the bits are available for the given compile.
Code:
--- src/tls.c.orig      2015-05-27 00:16:48.000000000 -0600+++ src/tls.c   2015-05-27 00:23:53.000000000 -0600
@@ -48,7 +48,7 @@


 static int tls_init_ecdh_curve(void)
 {
-# ifndef SSL_OP_SINGLE_ECDH_USE
+# if !defined(SSL_OP_SINGLE_ECDH_USE) || !defined(EC_KEY)
     errno = ENOTSUP;
     return -1;
 # else
I'm assuming pure-ftpd devs may make another release with something similar.

John
 
Back
Top