diff options
Diffstat (limited to 'net-ftp/proftpd/files/proftpd-1.3.1_rc2-bug178866.patch')
-rw-r--r-- | net-ftp/proftpd/files/proftpd-1.3.1_rc2-bug178866.patch | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/net-ftp/proftpd/files/proftpd-1.3.1_rc2-bug178866.patch b/net-ftp/proftpd/files/proftpd-1.3.1_rc2-bug178866.patch new file mode 100644 index 000000000000..206ffb0d6384 --- /dev/null +++ b/net-ftp/proftpd/files/proftpd-1.3.1_rc2-bug178866.patch @@ -0,0 +1,68 @@ +--- src/auth.c 2007/04/17 21:33:40 1.48 ++++ src/auth.c 2007/05/21 15:19:41 1.49 +@@ -442,6 +442,32 @@ + + cmd = make_cmd(p, 2, name, pw); + ++ /* First, check for the mod_auth_pam.c module. ++ * ++ * PAM is a bit of hack in this Auth API, because PAM only provides ++ * yes/no checks, and is not a source of user information. ++ */ ++ m = pr_module_get("mod_auth_pam.c"); ++ if (m) { ++ pr_trace_msg(trace_channel, 4, ++ "using module 'mod_auth_pam.c' to authenticate user '%s'", name); ++ ++ mr = dispatch_auth(cmd, "auth", &m); ++ ++ if (MODRET_ISHANDLED(mr)) { ++ res = MODRET_HASDATA(mr) ? PR_AUTH_RFC2228_OK : PR_AUTH_OK; ++ ++ if (cmd->tmp_pool) { ++ destroy_pool(cmd->tmp_pool); ++ cmd->tmp_pool = NULL; ++ } ++ ++ return res; ++ } ++ ++ m = NULL; ++ } ++ + if (auth_tab) { + + /* Fetch the specific module to be used for authenticating this user. */ +@@ -479,6 +505,32 @@ + + cmd = make_cmd(p, 3, cpw, name, pw); + ++ /* First, check for the mod_auth_pam.c module. ++ * ++ * PAM is a bit of hack in this Auth API, because PAM only provides ++ * yes/no checks, and is not a source of user information. ++ */ ++ m = pr_module_get("mod_auth_pam.c"); ++ if (m) { ++ pr_trace_msg(trace_channel, 4, ++ "using module 'mod_auth_pam.c' to authenticate user '%s'", name); ++ ++ mr = dispatch_auth(cmd, "auth", &m); ++ ++ if (MODRET_ISHANDLED(mr)) { ++ res = MODRET_HASDATA(mr) ? PR_AUTH_RFC2228_OK : PR_AUTH_OK; ++ ++ if (cmd->tmp_pool) { ++ destroy_pool(cmd->tmp_pool); ++ cmd->tmp_pool = NULL; ++ } ++ ++ return res; ++ } ++ ++ m = NULL; ++ } ++ + if (auth_tab) { + + /* Fetch the specific module to be used for authenticating this user. */ |