From: TJ S. <cas...@us...> - 2011-10-06 15:27:10
|
Update of /cvsroot/proftp/proftpd In directory vz-cvs-3.sog:/tmp/cvs-serv11894 Modified Files: NEWS configure.in config.h.in Log Message: Bug#3669 - mod_sql_mysql.so: undefined symbol: make_scrambled_password with MySQL 5.5 on Fedora. Index: NEWS =================================================================== RCS file: /cvsroot/proftp/proftpd/NEWS,v retrieving revision 1.1360 retrieving revision 1.1361 diff -u -d -r1.1360 -r1.1361 --- NEWS 6 Oct 2011 00:59:50 -0000 1.1360 +++ NEWS 6 Oct 2011 15:27:07 -0000 1.1361 @@ -12,6 +12,8 @@ CVS -------------------------------- - Bug 3702 - ProFTPD with mod_sql_mysql dies of "Alarm clock" on FreeBSD. +- Bug 3669 - mod_sql_mysql.so: undefined symbol: make_scrambled_password with + MySQL 5.5 on Fedora. 1.3.4rc3 - Released 26-Sep-2011 -------------------------------- Index: config.h.in =================================================================== RCS file: /cvsroot/proftp/proftpd/config.h.in,v retrieving revision 1.146 retrieving revision 1.147 diff -u -d -r1.146 -r1.147 --- config.h.in 15 Mar 2011 05:27:45 -0000 1.146 +++ config.h.in 6 Oct 2011 15:27:07 -0000 1.147 @@ -384,6 +384,9 @@ /* Define if you have the munlockall function. */ #undef HAVE_MUNLOCKALL +/* Define if you have the MySQL make_scrambled_password_323 function. */ +#undef HAVE_MYSQL_MAKE_SCRAMBLED_PASSWORD_323 + /* Define if you have the nl_langinfo function. */ #undef HAVE_NL_LANGINFO Index: configure.in =================================================================== RCS file: /cvsroot/proftp/proftpd/configure.in,v retrieving revision 1.357 retrieving revision 1.358 diff -u -d -r1.357 -r1.358 --- configure.in 6 Oct 2011 00:59:50 -0000 1.357 +++ configure.in 6 Oct 2011 15:27:07 -0000 1.358 @@ -2179,7 +2179,9 @@ my_shared_modules=`echo "$ac_shared_modules" | sed -e 's/\.la//g'`; all_modules="$my_core_modules $my_static_modules $my_shared_modules"; +pr_use_mysql="no" pr_use_openssl="no" +pr_use_postgres="no" AC_MSG_CHECKING([for duplicate module build requests]) for i in $all_modules; do @@ -2211,6 +2213,8 @@ dnl Use database-specific config scripts, if we can. Note that dnl these will cause problems for cross-compiles! if test x"$i" = x"mod_sql_mysql"; then + pr_use_mysql="yes" + if test x"$my_config" != xno; then if `$my_config --version 2>/dev/null 1>&2`; then # mysql_config --include gives path WITH -I prefix @@ -2241,6 +2245,8 @@ fi elif test x"$i" = x"mod_sql_postgres"; then + pr_use_postgres="yes" + if test x"$pg_config" != xno; then if `$pg_config 2>/dev/null 1>&2`; then # pg_config --includedir gives path, no -I prefix @@ -2260,6 +2266,52 @@ done AC_MSG_RESULT([no]) +if test x"$pr_use_mysql" = xyes; then + # Check for other MySQL-specific functionality here + saved_ldflags="$LDFLAGS" + saved_libs="$LIBS" + saved_cppflags="$CPPFLAGS" + + AC_MSG_CHECKING([for MySQL's make_scrambled_password_323]) + + # fiddle with CPPFLAGS, LDFLAGS + CPPFLAGS="$CPPFLAGS $ac_build_addl_includes" + LDFLAGS="$LDFLAGS -lm -lmysqlclient -lz" + + dnl Splice out -lsupp, since that library hasn't been built yet + LIBS=`echo "$LIBS" | sed -e 's/-lsupp//g'`; + LIBS="$LIBS $ac_build_addl_libdirs" + + AC_TRY_LINK( + [ + #ifdef HAVE_STDLIB_H + # include <stdlib.h> + #endif + #ifdef HAVE_SYS_TYPES_H + # include <sys/types.h> + #endif + #include <mysql.h> + ], + [ + char input[32]; + char *output = NULL; + (void) make_scrambled_password_323(input, output); + ], + [ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_MYSQL_MAKE_SCRAMBLED_PASSWORD_323, 1, [Define if you have MySQL's make_scrambled_password_323]) + ], + [ + AC_MSG_RESULT(no) + ] + ) + + # restore CPPFLAGS, LDFLAGS + CPPFLAGS="$saved_cppflags" + LDFLAGS="$saved_ldflags" + LIBS="$saved_libs" +fi + if test x"$pr_use_openssl" = xyes; then AC_DEFINE(PR_USE_OPENSSL, 1, [Define if using OpenSSL support.]) ac_build_addl_libs="$ac_build_addl_libs -lssl -lcrypto" |