Index: contrib/Makefile.in
--- contrib/Makefile.in.orig	2011-03-16 22:22:48.000000000 +0100
+++ contrib/Makefile.in	2011-07-31 18:18:14.000000000 +0200
@@ -18,6 +18,6 @@
 	cd ../ && ./config.status
 
 install-utils:
-	$(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 ftpasswd $(DESTDIR)$(bindir)/ftpasswd
-	$(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 ftpmail $(DESTDIR)$(bindir)/ftpmail
-	$(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 ftpquota $(DESTDIR)$(bindir)/ftpquota
+	$(INSTALL) -m 0755 ftpasswd $(DESTDIR)$(bindir)/ftpasswd
+	$(INSTALL) -m 0755 ftpmail $(DESTDIR)$(bindir)/ftpmail
+	$(INSTALL) -m 0755 ftpquota $(DESTDIR)$(bindir)/ftpquota
Index: mod_otp/mod_otp.c
--- mod_otp/mod_otp.c.orig	2006-12-06 17:13:06.000000000 +0100
+++ mod_otp/mod_otp.c	2011-07-31 18:09:02.000000000 +0200
@@ -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.000000000 +0200
+++ mod_sql_odbc/mod_sql_odbc.c	2011-07-31 18:09:02.000000000 +0200
@@ -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.000000000 +0200
+++ mod_sql_sqlite/mod_sql_sqlite.c	2011-07-31 18:09:02.000000000 +0200
@@ -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.000000000 +0200
+++ mod_time/mod_time.c	2011-07-31 18:09:02.000000000 +0200
@@ -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;
@@ -362,7 +362,7 @@
       /* find the matching NamedTime
        */
       if ((named_time = get_named_time((time_map->namev)[i])) == NULL) {
-        log_debug(DEBUG0, MOD_TIME_VERSION
+        pr_log_debug(DEBUG0, MOD_TIME_VERSION
           ": error: no matching NamedTime found for '%s'",
           (time_map->namev)[i]);
         continue;
@@ -374,7 +374,7 @@
       if (is_allowed_time(named_time)) {
         /* Success!  Return NULL, and allow the requested action to occur
          */
-        log_debug(DEBUG3, MOD_TIME_VERSION
+        pr_log_debug(DEBUG3, MOD_TIME_VERSION
           ": command '%s' allowed by NamedTime '%s'", cmd->argv[0],
           (time_map->namev)[i]);
         return NULL;
@@ -385,7 +385,7 @@
          * command.  It doesn't -- yet -- because there may be other
          * NamedTimes in the list that do allow the command.
          */
-        log_debug(DEBUG3, MOD_TIME_VERSION
+        pr_log_debug(DEBUG3, MOD_TIME_VERSION
           ": command '%s' denied by NamedTime '%s'", cmd->argv[0],
           (time_map->namev)[i]);
       }
@@ -415,7 +415,7 @@
         return after_hours_mesg;
 
       } else {
-        log_debug(DEBUG2, MOD_TIME_VERSION
+        pr_log_debug(DEBUG2, MOD_TIME_VERSION
           ": error finding DisplayAfterHours '%s': %s",
           after_hours_mesg, strerror(errno));
         return "";
@@ -566,7 +566,7 @@
        * is the case, default to using localtime(), and report the
        * problem.
        */
-      log_pri(LOG_INFO, "gmtime() returned NULL -- using localtime()");
+      pr_log_pri(LOG_INFO, "gmtime() returned NULL -- using localtime()");
       timep = localtime(&system_time);
     }
 
@@ -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,
@@ -1929,12 +1929,12 @@
    * the command pass now.
    */
   if ((deny_mesg_file = get_deny_mesg(cmd)) == NULL) {
-    log_debug(DEBUG3, MOD_TIME_VERSION ": %s allowed by configuration",
+    pr_log_debug(DEBUG3, MOD_TIME_VERSION ": %s allowed by configuration",
       cmd->argv[0]);
     return DECLINED(cmd);
   }
 
-  log_debug(DEBUG3, MOD_TIME_VERSION ": %s denied by configuration",
+  pr_log_debug(DEBUG3, MOD_TIME_VERSION ": %s denied by configuration",
     cmd->argv[0]);
 
   /* Check for an empty deny_mesg_file string, signalling no message.
@@ -1961,7 +1961,7 @@
    */
 
   if (strlen(deny_mesg_file) > 0) {
-    log_debug(DEBUG4, MOD_TIME_VERSION ": displaying '%s'", deny_mesg_file);
+    pr_log_debug(DEBUG4, MOD_TIME_VERSION ": displaying '%s'", deny_mesg_file);
 
     if (strcmp(cmd->argv[0], C_PASV) == 0 ||
         strcmp(cmd->argv[0], C_PORT) == 0)
@@ -1982,11 +1982,11 @@
     if ((denymesg = (char *) get_param_ptr((session.anon_config ?
         session.anon_config->subset : cmd->server->conf),
         "AccessDenyMsg", FALSE)) != NULL) {
-      log_debug(DEBUG5, MOD_TIME_VERSION ": displaying AccessDenyMsg");
+      pr_log_debug(DEBUG5, MOD_TIME_VERSION ": displaying AccessDenyMsg");
       denymesg = sreplace(cmd->tmp_pool, denymesg, "%u", user, NULL);
 
     } else {
-      log_debug(DEBUG5, MOD_TIME_VERSION ": displaying default message");
+      pr_log_debug(DEBUG5, MOD_TIME_VERSION ": displaying default message");
       denymesg = pstrcat(cmd->tmp_pool, cmd->argv[0],
         " not allowed at this time.", NULL);
     }
@@ -2025,11 +2025,11 @@
    * If none are found, let the command pass now.
    */
   if ((deny_mesg_file = get_deny_mesg(cmd)) == NULL) {
-    log_debug(DEBUG5, MOD_TIME_VERSION ": login allowed by configuration");
+    pr_log_debug(DEBUG5, MOD_TIME_VERSION ": login allowed by configuration");
     return DECLINED(cmd);
   }
 
-  log_debug(DEBUG3, MOD_TIME_VERSION ": login denied by configuration");
+  pr_log_debug(DEBUG3, MOD_TIME_VERSION ": login denied by configuration");
 
   /* Check for an empty deny_mesg_file string, signalling no message.
    * Deny connection with a 421 error.
