Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 15 Jan 2007 22:40:14 -0900
From:      "Beech Rintoul" <beech@alaskaparadise.com>
To:        "FreeBSD gnats submit" <FreeBSD-gnats-submit@FreeBSD.org>
Cc:        beech@alaskaparadise.com
Subject:   ports/107974: [Maintainer Update] ftp/proftpd - Update to 1.3.1rc2
Message-ID:  <1168933214.68180@stargate.alaskaparadise.com>
Resent-Message-ID: <200701160750.l0G7oMMt042966@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         107974
>Category:       ports
>Synopsis:       [Maintainer Update] ftp/proftpd - Update to 1.3.1rc2
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jan 16 07:50:22 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Beech Rintoul
>Release:        FreeBSD 7.0-CURRENT i386
>Organization:
Alaska Paradise  
>Environment:


System: FreeBSD 7.0-CURRENT #99: Sun Jan 14 03:29:08 AKST 2007
    root@stargate.alaskaparadise.com:/usr/obj/usr/src/sys/STARGATE



>Description:


Update to 1.3.1rc2
Remove Patches:
	patch-contrib-mod_sql.c
	patch-getopt.c
	patch-utf.8.c
New Patches:
	patch-include-pidfile.h
	patch-configure
	patch-configure.in


>How-To-Repeat:





>Fix:


diff -ruN --exclude=CVS /usr/ports/ftp/proftpd.orig/Makefile /usr/ports/ftp/proftpd/Makefile
--- /usr/ports/ftp/proftpd.orig/Makefile	Sun Jan  7 08:37:15 2007
+++ /usr/ports/ftp/proftpd/Makefile	Fri Jan 12 11:04:18 2007
@@ -6,8 +6,8 @@
 #
 
 PORTNAME=	proftpd
-DISTVERSION=	1.3.1rc1
-PORTREVISION=	3
+DISTVERSION=	1.3.1rc2
+PORTREVISION=	
 CATEGORIES=	ftp
 MASTER_SITES=	ftp://ftp.proftpd.org/distrib/source/ \
 		ftp://ftp.fastorama.com/mirrors/ftp.proftpd.org/distrib/source/ \
diff -ruN --exclude=CVS /usr/ports/ftp/proftpd.orig/distinfo /usr/ports/ftp/proftpd/distinfo
--- /usr/ports/ftp/proftpd.orig/distinfo	Thu Dec 21 13:13:40 2006
+++ /usr/ports/ftp/proftpd/distinfo	Fri Jan 12 15:34:06 2007
@@ -1,3 +1,3 @@
-MD5 (proftpd-1.3.1rc1.tar.bz2) = 08f4d526b46c84f10e9634d2d913052c
-SHA256 (proftpd-1.3.1rc1.tar.bz2) = 32cf852535c2ec55c5833c2766cbd0c6aba950ab2967565606e1df334736a766
-SIZE (proftpd-1.3.1rc1.tar.bz2) = 1484138
+MD5 (proftpd-1.3.1rc2.tar.bz2) = b117abb8fa7df8bc6d5e2ee85d97b4e0
+SHA256 (proftpd-1.3.1rc2.tar.bz2) = 7494ea061ef28efc7afa63ffe0a80d598a55909d06dede9254e955c67e6440da
+SIZE (proftpd-1.3.1rc2.tar.bz2) = 1516464
diff -ruN --exclude=CVS /usr/ports/ftp/proftpd.orig/files/patch-configure /usr/ports/ftp/proftpd/files/patch-configure
--- /usr/ports/ftp/proftpd.orig/files/patch-configure	Wed Dec 31 14:00:00 1969
+++ /usr/ports/ftp/proftpd/files/patch-configure	Mon Jan 15 22:08:39 2007
@@ -0,0 +1,273 @@
+--- configure.orig	Tue Jan  9 19:55:21 2007
++++ configure	Mon Jan 15 22:06:53 2007
+@@ -19246,8 +19246,7 @@
+ 
+     if test "$withval" != "no" ; then
+ 
+-
+-for ac_func in getopt getopt_long
++for ac_func in getopt
+ do
+ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ echo "$as_me:$LINENO: checking for $ac_func" >&5
+@@ -19495,6 +19494,108 @@
+ done
+ 
+ 
++for ac_func in getopt_long
++do
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++echo "$as_me:$LINENO: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
++if eval "test \"\${$as_ac_var+set}\" = set"; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
++   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
++#define $ac_func innocuous_$ac_func
++
++/* System header to define __stub macros and hopefully few prototypes,
++    which can conflict with char $ac_func (); below.
++    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++    <limits.h> exists even on freestanding compilers.  */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef $ac_func
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++{
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char $ac_func ();
++/* The GNU C library defines this for functions which it implements
++    to always fail with ENOSYS.  Some functions are actually named
++    something starting with __ and the normal name is an alias.  */
++#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
++choke me
++#else
++char (*f) () = $ac_func;
++#endif
++#ifdef __cplusplus
++}
++#endif
++
++int
++main ()
++{
++return f != $ac_func;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  eval "$as_ac_var=yes"
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++eval "$as_ac_var=no"
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++  cat >>confdefs.h <<_ACEOF
++#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++done
++
++
+ cat >>confdefs.h <<\_ACEOF
+ #define PR_USE_SYSTEM_GETOPT 1
+ _ACEOF
+@@ -19510,8 +19611,7 @@
+ else
+ 
+ 
+-
+-for ac_func in getopt getopt_long
++for ac_func in getopt
+ do
+ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ echo "$as_me:$LINENO: checking for $ac_func" >&5
+@@ -19759,6 +19859,108 @@
+ done
+ 
+ 
++for ac_func in getopt_long
++do
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++echo "$as_me:$LINENO: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
++if eval "test \"\${$as_ac_var+set}\" = set"; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
++   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
++#define $ac_func innocuous_$ac_func
++
++/* System header to define __stub macros and hopefully few prototypes,
++    which can conflict with char $ac_func (); below.
++    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++    <limits.h> exists even on freestanding compilers.  */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef $ac_func
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++{
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char $ac_func ();
++/* The GNU C library defines this for functions which it implements
++    to always fail with ENOSYS.  Some functions are actually named
++    something starting with __ and the normal name is an alias.  */
++#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
++choke me
++#else
++char (*f) () = $ac_func;
++#endif
++#ifdef __cplusplus
++}
++#endif
++
++int
++main ()
++{
++return f != $ac_func;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  eval "$as_ac_var=yes"
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++eval "$as_ac_var=no"
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++  cat >>confdefs.h <<_ACEOF
++#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++done
++
++
+ cat >>confdefs.h <<\_ACEOF
+ #define PR_USE_SYSTEM_GETOPT 1
+ _ACEOF
+@@ -34961,11 +35163,6 @@
+ #define PR_USE_SENDFILE 1
+ _ACEOF
+ 
+-  else
+-    cat >>confdefs.h <<\_ACEOF
+-#define PR_USE_SENDFILE 0
+-_ACEOF
+-
+   fi
+ 
+   case "$pr_cv_func_sendfile" in
+@@ -36560,20 +36757,6 @@
+       fi
+ 
+       inclib=`cat $srcdir/contrib/$moduledir/$srcinc | grep "\\\$Libraries:" | sed -e 's/^.*\$Libraries: \(.*\)\\$/\1/'`
+-    else
+-      incarch=
+-      inclib=
+-    fi
+-
+-    srcinc_in="$srcinc.in"
+-    if test -f $srcdir/contrib/$moduledir/$srcinc_in ; then
+-      if test -z $srcarch -a -z $incarch ; then
+-        incarch=`cat $srcdir/contrib/$moduledir/$srcinc_in | grep "\\\$Archive:" | sed -e 's/^.*\$Archive: \(.*\)\\$/\1/'`
+-      else
+-        incarch=
+-      fi
+-
+-      inclib=`cat $srcdir/contrib/$moduledir/$srcinc_in | grep "\\\$Libraries:" | sed -e 's/^.*\$Libraries: \(.*\)\\$/\1/'`
+     else
+       incarch=
+       inclib=
diff -ruN --exclude=CVS /usr/ports/ftp/proftpd.orig/files/patch-configure.in /usr/ports/ftp/proftpd/files/patch-configure.in
--- /usr/ports/ftp/proftpd.orig/files/patch-configure.in	Wed Dec 31 14:00:00 1969
+++ /usr/ports/ftp/proftpd/files/patch-configure.in	Mon Jan 15 22:07:58 2007
@@ -0,0 +1,54 @@
+--- configure.in.orig	Tue Jan  9 18:45:08 2007
++++ configure.in	Mon Jan 15 22:07:06 2007
+@@ -163,8 +163,9 @@
+   ],
+   [
+     if test "$withval" != "no" ; then
+-      AC_CHECK_FUNCS(getopt getopt_long,
++      AC_CHECK_FUNCS(getopt,
+         [AC_CHECK_HEADERS(getopt.h)
++         AC_CHECK_FUNCS(getopt_long)
+          AC_DEFINE(PR_USE_SYSTEM_GETOPT, 1,
+            [Define if using system getopt support])],
+         [LIB_OBJS="$LIB_OBJS getopt.o getopt1.o"]
+@@ -172,8 +173,9 @@
+     fi
+   ],
+   [
+-    AC_CHECK_FUNCS(getopt getopt_long,
++    AC_CHECK_FUNCS(getopt,
+       [AC_CHECK_HEADERS(getopt.h)
++       AC_CHECK_FUNCS(getopt_long)
+        AC_DEFINE(PR_USE_SYSTEM_GETOPT, 1,
+          [Define if using system getopt support])],
+       [LIB_OBJS="$LIB_OBJS getopt.o getopt1.o"]
+@@ -1486,8 +1488,6 @@
+   if test "$pr_cv_func_sendfile" != "none"; then
+     AC_DEFINE(HAVE_SENDFILE)
+     AC_DEFINE(PR_USE_SENDFILE, 1)
+-  else
+-    AC_DEFINE(PR_USE_SENDFILE, 0)
+   fi
+ 
+   case "$pr_cv_func_sendfile" in
+@@ -1815,20 +1815,6 @@
+     else
+       incarch= 
+       inclib= 
+-    fi
+-
+-    srcinc_in="$srcinc.in"
+-    if test -f $srcdir/contrib/$moduledir/$srcinc_in ; then
+-      if test -z $srcarch -a -z $incarch ; then
+-        incarch=`cat $srcdir/contrib/$moduledir/$srcinc_in | grep "\\\$Archive:" | sed -e 's/^.*\$Archive: \(.*\)\\$/\1/'`
+-      else
+-        incarch=
+-      fi
+-
+-      inclib=`cat $srcdir/contrib/$moduledir/$srcinc_in | grep "\\\$Libraries:" | sed -e 's/^.*\$Libraries: \(.*\)\\$/\1/'`
+-    else
+-      incarch=
+-      inclib=
+     fi
+ 
+     dnl If the module will be providing an archive (.a file), then remove it
diff -ruN --exclude=CVS /usr/ports/ftp/proftpd.orig/files/patch-contrib-mod_sql.c /usr/ports/ftp/proftpd/files/patch-contrib-mod_sql.c
--- /usr/ports/ftp/proftpd.orig/files/patch-contrib-mod_sql.c	Thu Jan  4 16:38:34 2007
+++ /usr/ports/ftp/proftpd/files/patch-contrib-mod_sql.c	Wed Dec 31 14:00:00 1969
@@ -1,268 +0,0 @@
---- contrib/mod_sql.c.orig	Mon Dec 11 13:40:18 2006
-+++ contrib/mod_sql.c	Thu Jan  4 14:31:13 2007
-@@ -23,7 +23,7 @@
-  * the resulting executable, without including the source code for OpenSSL in
-  * the source distribution.
-  *
-- * $Id: mod_sql.c,v 1.117 2006/12/11 22:40:18 castaglia Exp $
-+ * $Id: mod_sql.c,v 1.121 2007/01/03 18:24:35 castaglia Exp $
-  */
- 
- #include "conf.h"
-@@ -104,8 +104,11 @@
- 
- module sql_module;
- 
--static char *_sql_where(cmd_rec *, int, ...);
- #define SQL_MAX_STMT_LEN	4096
-+
-+static char *sql_prepare_where(int, cmd_rec *, int, ...);
-+#define SQL_PREPARE_WHERE_FL_NO_TAGS	0x00001
-+
- static char *resolve_long_tag(cmd_rec *, char *);
- static int resolve_numeric_tag(cmd_rec *, char *);
- static char *resolve_short_tag(cmd_rec *, char);
-@@ -752,10 +755,10 @@
-   return mr ? (char *) mr->data : NULL;
- }
- 
--static char *_sql_where(cmd_rec *cmd, int cnt, ...) {
-+static char *sql_prepare_where(int flags, cmd_rec *cmd, int cnt, ...) {
-   int i, flag;
-   int curr_avail;
--  char *buf = "", *res, *tchar, *curr, *tmp;
-+  char *buf = "", *res, *tchar;
-   va_list dummy;
- 
-   res = pcalloc(cmd->tmp_pool, SQL_MAX_STMT_LEN);
-@@ -774,31 +777,53 @@
-   }
-   va_end(dummy);
- 
--  /* Process variables in WHERE clauses, except any "%{num}" references. */
--  curr = res;
--  curr_avail = SQL_MAX_STMT_LEN;
--  for (tmp = buf; *tmp; ) {
--    char *str;
--    modret_t *mr;
-+  if (!(flags & SQL_PREPARE_WHERE_FL_NO_TAGS)) {
-+    char *curr, *tmp;
- 
--    if (*tmp == '%') {
--      char *tag = NULL;
-+    /* Process variables in WHERE clauses, except any "%{num}" references. */
-+    curr = res;
-+    curr_avail = SQL_MAX_STMT_LEN;
-+
-+    for (tmp = buf; *tmp; ) {
-+      char *str;
-+      modret_t *mr;
- 
--      if (*(++tmp) == '{') {
--        char *query;
-+      if (*tmp == '%') {
-+        char *tag = NULL;
- 
--        if (*tmp != '\0')
--          query = ++tmp;
-+        if (*(++tmp) == '{') {
-+          char *query;
- 
--        while (*tmp && *tmp != '}')
--          tmp++;
-+          if (*tmp != '\0')
-+            query = ++tmp;
-+
-+          while (*tmp && *tmp != '}')
-+            tmp++;
-+
-+          tag = pstrndup(cmd->tmp_pool, query, (tmp - query));
-+          if (tag) {
-+            str = resolve_long_tag(cmd, tag);
-+            if (!str)
-+              str = pstrdup(cmd->tmp_pool, "");
-+
-+            mr = _sql_dispatch(_sql_make_cmd(cmd->tmp_pool, 2, "default",
-+              str), "sql_escapestring");
-+            if (check_response(mr) < 0)
-+              return NULL;
- 
--        tag = pstrndup(cmd->tmp_pool, query, (tmp - query));
--        if (tag) {
--          str = resolve_long_tag(cmd, tag);
--          if (!str)
--            str = pstrdup(cmd->tmp_pool, "");
-+            sstrcat(curr, mr->data, curr_avail);
-+            curr += strlen(mr->data);
-+            curr_avail -= strlen(mr->data);
-+
-+            if (*tmp != '\0')
-+              tmp++;
-+
-+          } else {
-+            return NULL;
-+          }
- 
-+        } else {
-+          str = resolve_short_tag(cmd, *tmp);
-           mr = _sql_dispatch(_sql_make_cmd(cmd->tmp_pool, 2, "default",
-             str), "sql_escapestring");
-           if (check_response(mr) < 0)
-@@ -810,32 +835,18 @@
- 
-           if (*tmp != '\0')
-             tmp++;
--
--        } else {
--          return NULL;
-         }
- 
-       } else {
--        str = resolve_short_tag(cmd, *tmp);
--        mr = _sql_dispatch(_sql_make_cmd(cmd->tmp_pool, 2, "default",
--          str), "sql_escapestring");
--        if (check_response(mr) < 0)
--          return NULL;
--
--        sstrcat(curr, mr->data, curr_avail);
--        curr += strlen(mr->data);
--        curr_avail -= strlen(mr->data);
--
--        if (*tmp != '\0')
--          tmp++;
-+        *curr++ = *tmp++;
-+        curr_avail--;
-       }
--
--    } else {
--      *curr++ = *tmp++;
--      curr_avail--;
-     }
-+    *curr++ = '\0';
-+
-+  } else {
-+    res = buf;
-   }
--  *curr++ = '\0';
- 
-   return res;
- }
-@@ -1212,7 +1223,7 @@
-   }
- 
-   if (!cmap.usercustom) { 
--    where = _sql_where(cmd, 2, usrwhere, cmap.userwhere);
-+    where = sql_prepare_where(0, cmd, 2, usrwhere, cmap.userwhere, NULL);
- 
-     mr = _sql_dispatch(_sql_make_cmd(cmd->tmp_pool, 5, "default",
-       cmap.usrtable, cmap.usrfields, where, "1"), "sql_select");
-@@ -1438,7 +1449,7 @@
-       return NULL;
-     }
- 
--    where = _sql_where(cmd, 2, grpwhere, cmap.groupwhere);
-+    where = sql_prepare_where(0, cmd, 2, grpwhere, cmap.groupwhere, NULL);
- 
-     mr = _sql_dispatch(_sql_make_cmd(cmd->tmp_pool, 5, "default",
-       cmap.grptable, cmap.grpfield, where, "1"), "sql_select");
-@@ -1456,7 +1467,7 @@
- 
-   grpwhere = pstrcat(cmd->tmp_pool, cmap.grpfield, " = '", groupname, "'",
-     NULL);
--  where = _sql_where(cmd, 2, grpwhere, cmap.groupwhere);
-+  where = sql_prepare_where(0, cmd, 2, grpwhere, cmap.groupwhere, NULL);
-   
-   mr = _sql_dispatch(_sql_make_cmd(cmd->tmp_pool, 4, "default",
-     cmap.grptable, cmap.grpfields, where), "sql_select");
-@@ -1530,7 +1541,7 @@
- 
-   usrwhere = pstrcat(cmd->tmp_pool, cmap.usrfield, " = '", _sql_realuser(cmd),
-     "'", NULL);
--  where = _sql_where(cmd, 2, usrwhere, cmap.userwhere);
-+  where = sql_prepare_where(0, cmd, 2, usrwhere, cmap.userwhere, NULL);
- 
-   mr = _sql_dispatch(_sql_make_cmd(cmd->tmp_pool, 4, "default", cmap.usrtable,
-     query, where), "sql_update");
-@@ -1606,7 +1617,8 @@
-       cmap.grpmembersfield, " = '", username, "'", NULL);
-   }
- 
--  where = _sql_where(cmd, 2, grpwhere, cmap.groupwhere);
-+  where = sql_prepare_where(SQL_PREPARE_WHERE_FL_NO_TAGS, cmd, 2, grpwhere,
-+    sql_prepare_where(0, cmd, 1, cmap.groupwhere, NULL), NULL);
-   
-   mr = _sql_dispatch(_sql_make_cmd(cmd->tmp_pool, 4, "default",
-     cmap.grptable, cmap.grpfields, where), "sql_select");
-@@ -1746,7 +1758,7 @@
- static char *resolve_short_tag(cmd_rec *cmd, char tag) {
-   char arg[256] = {'\0'}, *argp;
- 
--  switch(tag) {
-+  switch (tag) {
-   case 'A': {
-       char *pass;
- 
-@@ -2915,7 +2927,7 @@
-   /* single select or not? */
-   if (SQL_FASTUSERS) {
-     /* retrieve our list of passwds */
--    where = _sql_where(cmd, 1, cmap.userwhere);
-+    where = sql_prepare_where(0, cmd, 1, cmap.userwhere, NULL);
- 
-     mr = _sql_dispatch(_sql_make_cmd(cmd->tmp_pool, 4, "default",
-       cmap.usrtable, cmap.usrfields, where), "sql_select");
-@@ -2978,7 +2990,7 @@
-     } 
-   } else {
-     /* retrieve our list of passwds */
--    where = _sql_where(cmd, 1, cmap.userwhere);
-+    where = sql_prepare_where(0, cmd, 1, cmap.userwhere, NULL);
-     
-     mr = _sql_dispatch(_sql_make_cmd(cmd->tmp_pool, 4, "default",
-       cmap.usrtable, cmap.usrfield, where), "sql_select");
-@@ -3086,7 +3098,7 @@
- 
-   if (SQL_FASTGROUPS) {
-     /* retrieve our list of groups */
--    where = _sql_where(cmd, 1, cmap.groupwhere);
-+    where = sql_prepare_where(0, cmd, 1, cmap.groupwhere, NULL);
-     
-     mr = _sql_dispatch(_sql_make_cmd(cmd->tmp_pool, 6, "default",
-       cmap.grptable, cmap.grpfields, where, NULL), "sql_select");
-@@ -3119,9 +3131,15 @@
-     }
- 
-   } else {
--    /* retrieve our list of groups */
--    where = _sql_where(cmd, 1, cmap.groupwhere);
--    
-+    /* Retrieve our list of groups. */
-+    if (cmap.groupwhere &&
-+        strlen(cmap.groupwhere) > 0) {
-+      where = sql_prepare_where(0, cmd, 1, cmap.groupwhere, NULL);
-+
-+    } else {
-+      where = NULL;
-+    }
-+ 
-     mr = _sql_dispatch(_sql_make_cmd(cmd->tmp_pool, 6, "default",
-       cmap.grptable, cmap.grpfield, where, NULL, "DISTINCT"), "sql_select");
-     if (check_response(mr) < 0)
-@@ -3593,7 +3611,7 @@
- 
-   usrwhere = pstrcat(cmd->tmp_pool, cmap.usrfield, " = '", _sql_realuser(cmd),
-     "'", NULL);
--  where = _sql_where(cmd, 2, usrwhere, cmap.userwhere);
-+  where = sql_prepare_where(0, cmd, 2, usrwhere, cmap.userwhere, NULL);
-   
-   query = pstrcat(cmd->tmp_pool, cmap.sql_fstor, ", ",
- 		  cmap.sql_fretr, ", ", cmap.sql_bstor, ", ",
-@@ -3627,7 +3645,7 @@
- 
-   usrwhere = pstrcat(cmd->tmp_pool, cmap.usrfield, " = '", _sql_realuser(cmd),
-     "'", NULL);
--  where = _sql_where(cmd, 2, usrwhere, cmap.userwhere);
-+  where = sql_prepare_where(0, cmd, 2, usrwhere, cmap.userwhere, NULL);
-   
-   query = pstrcat(cmd->tmp_pool, cmap.sql_frate, ", ",
- 		  cmap.sql_fcred, ", ", cmap.sql_brate, ", ",
diff -ruN --exclude=CVS /usr/ports/ftp/proftpd.orig/files/patch-getopt.c /usr/ports/ftp/proftpd/files/patch-getopt.c
--- /usr/ports/ftp/proftpd.orig/files/patch-getopt.c	Sat Dec 30 13:45:40 2006
+++ /usr/ports/ftp/proftpd/files/patch-getopt.c	Wed Dec 31 14:00:00 1969
@@ -1,20 +0,0 @@
---- lib/getopt.c.orig	Thu Feb 28 10:30:01 2002
-+++ lib/getopt.c	Tue Dec 26 13:39:53 2006
-@@ -76,7 +76,7 @@
- # endif
- #endif
- 
--#ifndef _
-+#if defined(PR_USE_NLS) && !defined(_)
- /* This is for other GNU distributions with internationalized messages.
-    When compiling libc, the _ macro is predefined.  */
- # ifdef HAVE_LIBINTL_H
-@@ -85,6 +85,8 @@
- # else
- #  define _(msgid)	(msgid)
- # endif
-+#else
-+# define _(msgid)	(msgid)
- #endif
- 
- /* This version of `getopt' appears to the caller like standard Unix `getopt'
diff -ruN --exclude=CVS /usr/ports/ftp/proftpd.orig/files/patch-include-pidfile.h /usr/ports/ftp/proftpd/files/patch-include-pidfile.h
--- /usr/ports/ftp/proftpd.orig/files/patch-include-pidfile.h	Wed Dec 31 14:00:00 1969
+++ /usr/ports/ftp/proftpd/files/patch-include-pidfile.h	Fri Jan 12 21:47:52 2007
@@ -0,0 +1,71 @@
+diff -u -r1.1 pidfile.h
+--- include/pidfile.h	11 Jan 2007 21:36:06 -0000	1.1
++++ include/pidfile.h	13 Jan 2007 04:13:10 -0000
+@@ -30,7 +30,7 @@
+ #define PR_PIDFILE_H
+ 
+ /* For internal use only. */
+-int pidfile_remove(void);
+-void pidfile_write(void);
++int pr_pidfile_remove(void);
++void pr_pidfile_write(void);
+ 
+ #endif /* PR_PIDFILE_H */
+Index: src/main.c
+===================================================================
+RCS file: /cvsroot/proftp/proftpd/src/main.c,v
+retrieving revision 1.298
+diff -u -r1.298 main.c
+--- src/main.c	11 Jan 2007 21:36:06 -0000	1.298
++++ src/main.c	13 Jan 2007 04:13:10 -0000
+@@ -261,7 +261,7 @@
+     PRIVS_ROOT
+     pr_delete_scoreboard();
+     if (!nodaemon)
+-      pidfile_remove();
++      pr_pidfile_remove();
+     PRIVS_RELINQUISH
+   }
+ 
+@@ -1760,7 +1760,7 @@
+     /* Do not need the pidfile any longer. */
+     if (is_standalone &&
+         !nodaemon)
+-      pidfile_remove();
++      pr_pidfile_remove();
+ 
+     /* Run any exit handlers registered in the master process here, so that
+      * they may have the benefit of root privs.  More than likely these
+@@ -2261,7 +2261,7 @@
+   pr_log_pri(PR_LOG_NOTICE, "ProFTPD %s (built %s) standalone mode STARTUP",
+     PROFTPD_VERSION_TEXT " " PR_STATUS, BUILD_STAMP);
+ 
+-  pidfile_write();
++  pr_pidfile_write();
+   daemon_loop();
+ }
+ 
+Index: src/pidfile.c
+===================================================================
+RCS file: /cvsroot/proftp/proftpd/src/pidfile.c,v
+retrieving revision 1.2
+diff -u -r1.2 pidfile.c
+--- src/pidfile.c	12 Jan 2007 05:40:37 -0000	1.2
++++ src/pidfile.c	13 Jan 2007 04:13:10 -0000
+@@ -32,7 +32,7 @@
+ 
+ static const char *pidfile_path = PR_PID_FILE_PATH;
+ 
+-void pidfile_write(void) {
++void pr_pidfile_write(void) {
+   FILE *fh = NULL;
+ 
+   pidfile_path = get_param_ptr(main_server->conf, "PidFile", FALSE);
+@@ -56,6 +56,6 @@
+   }
+ }
+ 
+-int pidfile_remove(void) {
++int pr_pidfile_remove(void) {
+   return unlink(pidfile_path);
+ }
diff -ruN --exclude=CVS /usr/ports/ftp/proftpd.orig/files/patch-utf8.c /usr/ports/ftp/proftpd/files/patch-utf8.c
--- /usr/ports/ftp/proftpd.orig/files/patch-utf8.c	Thu Dec 21 13:13:40 2006
+++ /usr/ports/ftp/proftpd/files/patch-utf8.c	Wed Dec 31 14:00:00 1969
@@ -1,110 +0,0 @@
---- src/utf8.c.orig	Wed Jun 14 15:33:19 2006
-+++ src/utf8.c	Wed Dec 13 08:40:35 2006
-@@ -23,7 +23,7 @@
-  */
- 
- /* UTF8 encoding/decoding
-- * $Id: utf8.c,v 1.3 2006/06/14 23:33:19 castaglia Exp $
-+ * $Id: utf8.c,v 1.4 2006/12/13 17:40:35 castaglia Exp $
-  */
- 
- #include "conf.h"
-@@ -38,12 +38,13 @@
- # include <langinfo.h>
- #endif
- 
-+#ifdef HAVE_ICONV_H
- static iconv_t decode_conv = (iconv_t) -1;
- static iconv_t encode_conv = (iconv_t) -1;
- 
- static int utf8_convert(iconv_t conv, char *inbuf, size_t *inbuflen,
-     char *outbuf, size_t *outbuflen) {
--#ifdef HAVE_ICONV
-+# ifdef HAVE_ICONV
-   char *start = inbuf;
- 
-   while (inbuflen > 0) {
-@@ -61,14 +62,14 @@
-     break;
-   }
-   return 0;
--#else
-+# else
-   errno = ENOSYS;
-   return -1;
--#endif /* HAVE_ICONV */
-+# endif /* HAVE_ICONV */
- }
- 
- int utf8_free(void) {
--#ifdef HAVE_ICONV
-+# ifdef HAVE_ICONV
-   int res;
- 
-   /* Close the iconv handles. */
-@@ -81,10 +82,10 @@
-     return -1;
- 
-   return 0;
--#else
-+# else
-   errno = ENOSYS;
-   return -1;
--#endif
-+# endif
- }
- 
- int utf8_init(void) {
-@@ -111,7 +112,7 @@
-     "conversion");
- #endif /* HAVE_NL_LANGINFO */
- 
--#ifdef HAVE_ICONV
-+# ifdef HAVE_ICONV
-   /* Get the iconv handles. */
-   encode_conv = iconv_open(local_charset, "UTF-8");
-   if (encode_conv == (iconv_t) -1)
-@@ -122,13 +123,15 @@
-     return -1;
- 
-   return 0;
--#else
-+# else
-   errno = ENOSYS;
-   return -1;
--#endif /* HAVE_ICONV */
-+# endif /* HAVE_ICONV */
- }
-+#endif /* !HAVE_ICONV_H */
- 
- char *pr_utf8_decode(pool *p, const char *in, size_t inlen, size_t *outlen) {
-+#ifdef HAVE_ICONV_H
-   size_t inbuflen, outbuflen;
-   char *inbuf, outbuf[PR_TUNABLE_PATH_MAX*2], *res = NULL;
- 
-@@ -156,9 +159,14 @@
-   memcpy(res, outbuf, *outlen);
- 
-   return res;
-+#else
-+  pr_trace_msg("utf8", 1, "missing iconv support, no UTF8 decoding possible");
-+  return pstrdup(p, in);
-+#endif /* !HAVE_ICONV_H */
- }
- 
- char *pr_utf8_encode(pool *p, const char *in, size_t inlen, size_t *outlen) {
-+#ifdef HAVE_ICONV_H
-   size_t inbuflen, outbuflen;
-   char *inbuf, outbuf[PR_TUNABLE_PATH_MAX*2], *res;
- 
-@@ -186,6 +194,10 @@
-   memcpy(res, outbuf, *outlen);
- 
-   return res;
-+#else
-+  pr_trace_msg("utf8", 1, "missing iconv support, no UTF8 encoding possible");
-+  return pstrdup(p, in);
-+#endif /* !HAVE_ICONV_H */
- }
- 
- #endif /* PR_USE_NLS */
diff -ruN --exclude=CVS /usr/ports/ftp/proftpd.orig/pkg-plist /usr/ports/ftp/proftpd/pkg-plist
--- /usr/ports/ftp/proftpd.orig/pkg-plist	Sun Jan  7 08:37:15 2007
+++ /usr/ports/ftp/proftpd/pkg-plist	Mon Jan 15 22:19:35 2007
@@ -15,6 +15,7 @@
 include/proftpd/default_paths.h
 include/proftpd/dirtree.h
 include/proftpd/display.h
+include/proftpd/env.h
 include/proftpd/event.h
 include/proftpd/feat.h
 include/proftpd/fsio.h
@@ -35,9 +36,11 @@
 include/proftpd/netio.h
 include/proftpd/options.h
 include/proftpd/parser.h
+include/proftpd/pidfile.h
 include/proftpd/pool.h
 include/proftpd/pr-syslog.h
 include/proftpd/privs.h
+include/proftpd/proctitle.h
 include/proftpd/proftpd.h
 include/proftpd/regexp.h
 include/proftpd/response.h



>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1168933214.68180>