OpenPKG CVS Repository
http://cvs.openpkg.org/
____________________________________________________________________________
Server: cvs.openpkg.org Name: Ralf S. Engelschall
Root: /v/openpkg/cvs Email: [EMAIL PROTECTED]
Module: openpkg-src Date: 19-Jan-2007 12:56:28
Branch: HEAD Handle: 2007011911562700
Modified files:
openpkg-src/proftpd proftpd.conf proftpd.patch proftpd.spec
Log:
add the CommandBufferSize to remove run-time warning and apply a
back-ported patch to fix part of an endless loop in the 'auth'
sub-system (unfortunately this doesn't solve the endless looping in
mod_auth_file as this requires a lot more backporting of fixes as it
is even more broken in 1.3.0a)
Summary:
Revision Changes Path
1.16 +1 -0 openpkg-src/proftpd/proftpd.conf
1.20 +51 -0 openpkg-src/proftpd/proftpd.patch
1.124 +1 -1 openpkg-src/proftpd/proftpd.spec
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: openpkg-src/proftpd/proftpd.conf
============================================================================
$ cvs diff -u -r1.15 -r1.16 proftpd.conf
--- openpkg-src/proftpd/proftpd.conf 23 Mar 2005 15:09:37 -0000 1.15
+++ openpkg-src/proftpd/proftpd.conf 19 Jan 2007 11:56:27 -0000 1.16
@@ -25,6 +25,7 @@
@[EMAIL PROTECTED] off
#PersistentPasswd off
+CommandBufferSize 512
TimeoutLogin 120
TimeoutNoTransfer 600
TimeoutStalled 600
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/proftpd/proftpd.patch
============================================================================
$ cvs diff -u -r1.19 -r1.20 proftpd.patch
--- openpkg-src/proftpd/proftpd.patch 6 Dec 2006 17:51:08 -0000 1.19
+++ openpkg-src/proftpd/proftpd.patch 19 Jan 2007 11:56:27 -0000 1.20
@@ -278,3 +278,54 @@
memcpy(buf, data, datalen);
buf[datalen] = '\0';
+-----------------------------------------------------------------------------
+
+Fix for Endless Loop
+(backported from
http://proftp.cvs.sourceforge.net/proftp/proftpd/src/auth.c?r1=1.46&r2=1.47)
+
+Index: src/auth.c
+--- src/auth.c.orig 2005-06-14 20:11:12 +0200
++++ src/auth.c 2007-01-19 10:38:19 +0100
+@@ -64,28 +64,35 @@
+ }
+
+ static modret_t *dispatch_auth(cmd_rec *cmd, char *match) {
+- authtable *authtab = NULL;
++ authtable *start_tab = NULL, *iter_tab = NULL;
+ modret_t *mr = NULL;
+
+- authtab = pr_stash_get_symbol(PR_SYM_AUTH, match, NULL,
++ start_tab = pr_stash_get_symbol(PR_SYM_AUTH, match, NULL,
+ &cmd->stash_index);
++ iter_tab = start_tab;
+
+- while (authtab) {
++ pr_log_debug(DEBUG6, "dispatching auth request \"%s\": START", match);
++ while (iter_tab) {
+ pr_log_debug(DEBUG6, "dispatching auth request \"%s\" to module mod_%s",
+- match, authtab->m->name);
++ match, iter_tab->m->name);
+
+- mr = call_module(authtab->m, authtab->handler, cmd);
++ mr = call_module(iter_tab->m, iter_tab->handler, cmd);
+
+- if (authtab->auth_flags & PR_AUTH_FL_REQUIRED)
++ if (iter_tab->auth_flags & PR_AUTH_FL_REQUIRED)
+ break;
+
+ if (MODRET_ISHANDLED(mr) ||
+ MODRET_ISERROR(mr))
+ break;
+
+- authtab = pr_stash_get_symbol(PR_SYM_AUTH, match, authtab,
++ iter_tab = pr_stash_get_symbol(PR_SYM_AUTH, match, iter_tab,
+ &cmd->stash_index);
++ if (iter_tab == start_tab) {
++ mr = DECLINED(cmd);
++ break;
++ }
+ }
++ pr_log_debug(DEBUG6, "dispatching auth request \"%s\": END", match);
+
+ return mr;
+ }
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/proftpd/proftpd.spec
============================================================================
$ cvs diff -u -r1.123 -r1.124 proftpd.spec
--- openpkg-src/proftpd/proftpd.spec 9 Jan 2007 07:12:54 -0000 1.123
+++ openpkg-src/proftpd/proftpd.spec 19 Jan 2007 11:56:27 -0000 1.124
@@ -43,7 +43,7 @@
Group: FTP
License: GPL
Version: %{V_proftpd}
-Release: 20070109
+Release: 20070119
# package options
%option with_ifsession no
@@ .
______________________________________________________________________
OpenPKG http://openpkg.org
CVS Repository Commit List [email protected]