diff -r 58360ee9c913 -r 42a8c8d745e6 proftpd/proftpd.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/proftpd/proftpd.patch Tue Apr 21 11:54:34 2009 +0200 @@ -0,0 +1,117 @@ +Index: mod_otp/mod_otp.c +--- mod_otp/mod_otp.c.orig 2006-12-06 17:13:06 +0100 ++++ mod_otp/mod_otp.c 2009-01-27 08:33:56 +0100 +@@ -79,7 +79,7 @@ + CHECK_CONF(cmd, CONF_ROOT|CONF_VIRTUAL|CONF_GLOBAL); + + bool = get_boolean(cmd, 1); +- if ((bool == -1) ++ if (bool == -1) + CONF_ERROR(cmd, "expecting Boolean parameter"); + + c = add_config_param(cmd->argv[0], 1, NULL); +@@ -128,7 +128,7 @@ + ": error generating challenge for user '%s': %s", cmd->argv[1], str); + + } else +- pr_add_response_dup(R_DUP, "Challenge: [ %s ]", challenge); ++ pr_response_add(R_DUP, "Challenge: [ %s ]", challenge); + + return DECLINED(cmd); + } +Index: mod_sql_odbc/mod_sql_odbc.c +--- mod_sql_odbc/mod_sql_odbc.c.orig 2007-04-17 17:05:18 +0200 ++++ mod_sql_odbc/mod_sql_odbc.c 2009-01-27 19:16:56 +0100 +@@ -890,8 +890,8 @@ + + /* Set up our timer, if necessary. */ + if (entry->ttl > 0) { +- entry->timer = add_timer(entry->ttl, -1, &sql_odbc_module, +- sqlodbc_timer_cb); ++ entry->timer = pr_timer_add(entry->ttl, -1, &sql_odbc_module, ++ sqlodbc_timer_cb, "mod_sql_odbc TTL"); + + sql_log(DEBUG_INFO, "'%s' connection: %d second timer started", + entry->name, entry->ttl); +Index: mod_sql_sqlite/mod_sql_sqlite.c +--- mod_sql_sqlite/mod_sql_sqlite.c.orig 2007-05-21 17:37:11 +0200 ++++ mod_sql_sqlite/mod_sql_sqlite.c 2009-01-27 19:15:57 +0100 +@@ -236,8 +236,8 @@ + + /* Set up our timer, if necessary. */ + if (entry->ttl > 0) { +- entry->timer = add_timer(entry->ttl, -1, &sql_sqlite_module, +- sql_sqlite_timer_cb); ++ entry->timer = pr_timer_add(entry->ttl, -1, &sql_sqlite_module, ++ sql_sqlite_timer_cb, "mod_sql_sqlite TTL"); + + sql_log(DEBUG_INFO, "'%s' connection: %d second timer started", + entry->name, entry->ttl); +Index: mod_time/mod_time.c +--- mod_time/mod_time.c.orig 2004-05-12 20:57:06 +0200 ++++ mod_time/mod_time.c 2009-01-27 08:33:56 +0100 +@@ -146,7 +146,7 @@ + /* If we don't have a password file, we create an empty array and punt. + */ + if (!pw) { +- if (!name || !(pw = (struct passwd *) auth_getpwnam(p, name))) { ++ if (!name || !(pw = (struct passwd *) pr_auth_getpwnam(p, name))) { + *gids = make_array(p, 2, sizeof(gid_t)); + *groups = make_array(p, 2, sizeof(char *)); + return; +@@ -172,7 +172,7 @@ + /* Now populate the names of the groups. + */ + for (i = 0; i < total; i++) { +- if ((gr = (struct group *) auth_getgrgid(p, ((gid_t *) xgids->elts)[i]))) ++ if ((gr = (struct group *) pr_auth_getgrgid(p, ((gid_t *) xgids->elts)[i]))) + *((char **) push_array(xgroups)) = pstrdup(p, gr->gr_name); + } + +@@ -188,7 +188,7 @@ + /* Nothing there...punt. + */ + if (!pw) { +- if (!name || !(pw = (struct passwd *) auth_getpwnam(p, name))) { ++ if (!name || !(pw = (struct passwd *) pr_auth_getpwnam(p, name))) { + *gids = xgids; + *groups = xgroups; + return; +@@ -197,16 +197,16 @@ + + /* Populate the first group name. + */ +- if ((gr = auth_getgrgid(p, pw->pw_gid)) != NULL) ++ if ((gr = pr_auth_getgrgid(p, pw->pw_gid)) != NULL) + *((char **) push_array(xgroups)) = pstrdup(p, gr->gr_name); + +- auth_setgrent(p); ++ pr_auth_setgrent(p); + + /* This is where things get slow, expensive, and ugly. + * Loop through everything, checking to make sure we haven't already added + * it. This is why we have getgroups() and company. + */ +- while ((gr = auth_getgrent(p)) != NULL && gr->gr_mem) ++ while ((gr = pr_auth_getgrent(p)) != NULL && gr->gr_mem) + for (gr_mem = gr->gr_mem; *gr_mem; gr_mem++) { + if (strcmp(*gr_mem, pw->pw_name) == 0) { + *((int *) push_array(xgids)) = (int) gr->gr_gid; +@@ -634,7 +634,7 @@ + if (!session.user) { + /* Populate the pw struct, check for a NULL return value. */ + +- if ((pw = auth_getpwnam(cmd->tmp_pool, user)) == NULL) ++ if ((pw = pr_auth_getpwnam(cmd->tmp_pool, user)) == NULL) + return NULL; + + time_user = pstrdup(session.pool, pw->pw_name); +@@ -1603,7 +1603,7 @@ + "%R", (session.c && session.c->remote_name ? session.c->remote_name : "(unknown)"), + "%L", main_server->ServerFQDN, + "%U", user, +- "%u", session.ident_user, ++ "%u", session.user, + "%M", mesg_max, + "%N", mesg_cur, + "%E", main_server->ServerAdmin,