From owner-freebsd-ports-bugs@FreeBSD.ORG Wed Jul 23 08:52:17 2003 Return-Path: Delivered-To: freebsd-ports-bugs@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B083937B404 for ; Wed, 23 Jul 2003 08:52:17 -0700 (PDT) Received: from hysteria.spc.org (hysteria.spc.org [195.206.69.234]) by mx1.FreeBSD.org (Postfix) with SMTP id C032943FAF for ; Wed, 23 Jul 2003 08:52:15 -0700 (PDT) (envelope-from bms@hysteria.spc.org) Received: (qmail 20307 invoked by uid 5013); 23 Jul 2003 15:49:57 -0000 Date: Wed, 23 Jul 2003 16:49:57 +0100 From: Bruce M Simpson To: FreeBSD-gnats-submit@FreeBSD.org, freebsd-ports-bugs@FreeBSD.org Message-ID: <20030723154957.GN16503@spc.org> References: <20030723153359.61ABC711@saboteur.dek.spc.org> <200307231540.h6NFeDKb025413@freefall.freebsd.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="R+My9LyyhiUvIEro" Content-Disposition: inline In-Reply-To: <200307231540.h6NFeDKb025413@freefall.freebsd.org> User-Agent: Mutt/1.4.1i Organization: SPC Subject: Re: ports/54783: [PATCH] ftp/proftpd: fix for mysql41, MODULES_OVERRIDE X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Jul 2003 15:52:18 -0000 --R+My9LyyhiUvIEro Content-Type: text/plain; charset=us-ascii Content-Disposition: inline That patch was incomplete; my apologies. Here is the correct patch. BMS --R+My9LyyhiUvIEro Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="proftpd.patch" 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 + #include + #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); + } --R+My9LyyhiUvIEro--