Package: proftpd-mysql
Version: 1.2.10-9
Severity: important
Tags: patch
According to the mod_sql docs, the SQLLog directive will accept a
pseudo-command called "EXIT" which allows mod_sql to log the end of a
session even if the client does not issue a "QUIT" command.
In my analysis of the code, it does not appear that the above-detailed
functionality can work, due to the fact that a core.exit event is
generated before run_exit_handlers() is called by finish_terminate() in
main.c. In other words, the mod_sql_mysql module's core.exit handler is
called before the mod_sql exit handler gets a crack at the database
connection, and the result is a segfault.
Simply calling run_exit_handlers() before pr_event_generate() fixed the
problem for us, and doesn't seem to have caused any problems. I don't
claim to have any deep understanding of the ramifications of this
change, though.
Patch:
--- ../../upstream/tarballs/proftpd-1.2.10/src/main.c 2004-08-07
18:22:42.000000000 -0400
+++ src/main.c 2005-02-07 13:45:54.000000000 -0500
@@ -348,14 +348,14 @@
errno != EINVAL)
pr_log_debug(DEBUG1, "error deleting scoreboard entry: %s",
strerror(errno));
}
/* Run all the exit handlers */
- pr_event_generate("core.exit", NULL);
run_exit_handlers();
+ pr_event_generate("core.exit", NULL);
/* If session.user is set, we have a valid login */
if (session.user) {
#if (defined(BSD) && (BSD >= 199103))
snprintf(sbuf, sizeof(sbuf), "ftp%ld",(long)getpid());
#else
-- System Information:
Debian Release: 3.1
APT prefers testing
APT policy: (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.4.27-1-686-smp
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Versions of packages proftpd-mysql depends on:
ii adduser 3.59 Add and remove users and groups
ii debconf 1.4.30.11 Debian configuration management sy
ii libc6 2.3.2.ds1-20 GNU C Library: Shared libraries an
ii libcap1 1:1.10-14 support for getting/setting POSIX.
ii libmysqlclient10 3.23.56-2 LGPL-licensed client library for M
ii libpam0g 0.76-22 Pluggable Authentication Modules l
ii libssl0.9.7 0.9.7e-2 SSL shared libraries
ii libwrap0 7.6.dbs-6 Wietse Venema's TCP wrappers libra
ii netbase 4.19 Basic TCP/IP networking system
ii proftpd-common 1.2.10-9 Versatile, virtual-hosting FTP dae
ii ucf 1.13 Update Configuration File: preserv
ii zlib1g 1:1.2.2-3 compression library - runtime
-- debconf information:
shared/proftpd/warning:
* shared/proftpd/inetd_or_standalone: standalone
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]