ports/54783: [PATCH] ftp/proftpd: fix for mysql41, MODULES_OVERRIDE

Bruce M Simpson bms at spc.org
Wed Jul 23 15:52:18 UTC 2003


That patch was incomplete; my apologies.

Here is the correct patch.

BMS
-------------- next part --------------
diff -uNr proftpd.orig/Makefile proftpd/Makefile
--- proftpd.orig/Makefile	Mon Mar 24 13:33:28 2003
+++ proftpd/Makefile	Wed Jul 23 16:22:53 2003
@@ -39,21 +39,36 @@
 .endif
 
 #allow user to override
-MODULES?=	mod_ratio:mod_readme:mod_wrap
+MODULES_OVERRIDE?=	mod_ratio:mod_readme:mod_wrap
+MODULES=	${MODULES_OVERRIDE}
 
 INCLUDEDIRS=
 LIBDIRS=
 
 .if defined(WITH_LDAP)
-MODULES:=${MODULES}:mod_ldap
+.if ${WITH_LDAP} == 21
+BUILD_DEPENDS+=	${LOCALBASE}/lib/libldap.a:${PORTSDIR}/net/openldap21
+.elif ${WITH_LDAP} == 20
+BUILD_DEPENDS+=	${LOCALBASE}/lib/libldap.a:${PORTSDIR}/net/openldap20
+.else
 BUILD_DEPENDS+=	${LOCALBASE}/lib/libldap.a:${PORTSDIR}/net/openldap12
+.endif
+MODULES:=${MODULES}:mod_ldap
 INCLUDEDIRS:=${INCLUDEDIRS}:${PREFIX}/include
 LIBDIRS:=${LIBDIRS}:${PREFIX}/lib
 .endif
 
 .if defined(WITH_MYSQL)
-MODULES:=${MODULES}:mod_sql:mod_sql_mysql
+.if ${WITH_MYSQL} == 41
+LIB_DEPENDS+=	mysqlclient.14:${PORTSDIR}/databases/mysql41-client
+CFLAGS+=-D__MYSQL_VERSION=4
+.elif ${WITH_MYSQL} == 40
+LIB_DEPENDS+=	mysqlclient.12:${PORTSDIR}/databases/mysql40-client
+CFLAGS+=-D__MYSQL_VERSION=4
+.else
 LIB_DEPENDS+=	mysqlclient.10:${PORTSDIR}/databases/mysql323-client
+.endif
+MODULES:=${MODULES}:mod_sql:mod_sql_mysql
 INCLUDEDIRS:=${INCLUDEDIRS}:${PREFIX}/include
 LIBDIRS:=${LIBDIRS}:${PREFIX}/lib/mysql
 .endif
diff -uNr proftpd.orig/files/patch-contrib::mod_sql_mysql.c proftpd/files/patch-contrib::mod_sql_mysql.c
--- proftpd.orig/files/patch-contrib::mod_sql_mysql.c	Thu Jan  1 01:00:00 1970
+++ proftpd/files/patch-contrib::mod_sql_mysql.c	Wed Jul 23 16:19:32 2003
@@ -0,0 +1,41 @@
+--- contrib/mod_sql_mysql.c.orig	Thu Jan 16 02:04:46 2003
++++ contrib/mod_sql_mysql.c	Wed Jul 23 15:24:29 2003
+@@ -133,6 +133,7 @@
+ 
+ #define _MYSQL_PORT "3306"
+ 
++#include <sys/time.h>
+ #include <mysql/mysql.h>
+ #include "conf.h"
+ #include "../contrib/mod_sql.h"
+@@ -1259,6 +1260,10 @@
+   char *c_clear = NULL;
+   char *c_hash = NULL;
+   int success = 0;
++#if defined(__MYSQL_VERSION) && __MYSQL_VERSION >= 4
++  time_t start_time;
++  struct rand_struct rand_st;
++#endif
+ 
+   sql_log(DEBUG_FUNC, "%s", "entering \tmysql cmd_checkauth");
+ 
+@@ -1286,11 +1291,18 @@
+   c_clear = cmd->argv[1];
+   c_hash = cmd->argv[2];
+ 
++#if defined(__MYSQL_VERSION) && __MYSQL_VERSION >= 4
++  start_time = time((time_t *)0);
++  randominit(&rand_st, (unsigned long) start_time, (unsigned long) start_time/2);
++  make_scrambled_password( scrambled, c_clear, 0, &rand_st );
++#else
+   make_scrambled_password( scrambled, c_clear );
++#endif
+ 
+   success = !strcmp(scrambled, c_hash); 
+ 
+-  sql_log(DEBUG_FUNC, "%s", "exiting \tmysql cmd_checkauth");
++  sql_log(DEBUG_FUNC, "%s", "exiting \tmysql cmd_checkauth (success = %d)",
++	success);
+ 
+   return success ? HANDLED(cmd) : ERROR_INT(cmd, PR_AUTH_BADPWD);
+ }


More information about the freebsd-ports-bugs mailing list