diff options
author | dinoex <dinoex@FreeBSD.org> | 2006-03-18 22:52:33 +0800 |
---|---|---|
committer | dinoex <dinoex@FreeBSD.org> | 2006-03-18 22:52:33 +0800 |
commit | 1a5070df53808ed622530e9570fc12251335e5be (patch) | |
tree | c58e8ffcf9fc755059eb62962f723c6ed5b078c7 /ftp/vsftpd | |
parent | b18de16da21dbd9f02ed7df323ad4f51f34a425a (diff) | |
download | freebsd-ports-gnome-1a5070df53808ed622530e9570fc12251335e5be.tar.gz freebsd-ports-gnome-1a5070df53808ed622530e9570fc12251335e5be.tar.zst freebsd-ports-gnome-1a5070df53808ed622530e9570fc12251335e5be.zip |
- Fix PAM problem
PR: 92579
Submitted by: Joe Doupnik
Diffstat (limited to 'ftp/vsftpd')
-rw-r--r-- | ftp/vsftpd/Makefile | 1 | ||||
-rw-r--r-- | ftp/vsftpd/files/patch-sysdeputil.c | 63 |
2 files changed, 64 insertions, 0 deletions
diff --git a/ftp/vsftpd/Makefile b/ftp/vsftpd/Makefile index 10d03c4eccfe..29b522913982 100644 --- a/ftp/vsftpd/Makefile +++ b/ftp/vsftpd/Makefile @@ -7,6 +7,7 @@ PORTNAME= vsftpd PORTVERSION= 2.0.4 +PORTREVISION= 1 CATEGORIES= ftp ipv6 MASTER_SITES= ftp://vsftpd.beasts.org/users/cevans/ PKGNAMESUFFIX?= ${SSL_SUFFIX}${PKGNAMESUFFIX2} diff --git a/ftp/vsftpd/files/patch-sysdeputil.c b/ftp/vsftpd/files/patch-sysdeputil.c new file mode 100644 index 000000000000..14fd4107e6d4 --- /dev/null +++ b/ftp/vsftpd/files/patch-sysdeputil.c @@ -0,0 +1,63 @@ +--- sysdeputil.c.orig Mon May 23 16:34:23 2005 ++++ sysdeputil.c Mon Jan 30 20:17:40 2006 +@@ -6,6 +6,10 @@ + * + * Highly system dependent utilities - e.g. authentication, capabilities. + */ ++/* Modifications by Joe R. Doupnik, jrd@cc.usu.edu, marked as JRD, for ++PAM support on recent FreeBSD systems. Does wtmp entries for last_log. ++Most recently tested on FBSD v6.0 ++*/ + + #include "sysdeputil.h" + #include "str.h" +@@ -34,6 +38,9 @@ + /* For FreeBSD */ + #include <sys/param.h> + #include <sys/uio.h> ++#include <stdio.h> /* JRD */ ++#include <syslog.h> /* JRD */ ++#include <utmp.h> /* JRD */ + + /* Configuration.. here are the possibilities */ + #undef VSF_SYSDEP_HAVE_CAPABILITIES +@@ -302,15 +309,21 @@ + s_pamh = 0; + return 0; + } +-#ifdef PAM_RHOST +- retval = pam_set_item(s_pamh, PAM_RHOST, str_getbuf(p_remote_host)); ++ ++/*was JRD #ifdef PAM_RHOST */ ++ { ++ char buf[UT_HOSTSIZE]; /* restrict to normal system buf size */ ++ snprintf(buf, sizeof(buf), "%s", str_getbuf(p_remote_host)); ++ retval = pam_set_item(s_pamh, PAM_RHOST, buf); ++ } ++/*was JRD retval = pam_set_item(s_pamh, PAM_RHOST, str_getbuf(p_remote_host)); */ + if (retval != PAM_SUCCESS) + { + (void) pam_end(s_pamh, 0); + s_pamh = 0; + return 0; + } +-#endif ++/*was JRD #endif */ + retval = pam_authenticate(s_pamh, 0); + if (retval != PAM_SUCCESS) + { +@@ -341,6 +354,14 @@ + } + /* Must do this BEFORE opening a session for pam_limits to count us */ + vsf_insert_uwtmp(p_user_str, p_remote_host); ++/* JRD Tell PAM our "PAM_TTY" */ ++ { ++ char ttyline[UT_LINESIZE]; ++ (void)snprintf(ttyline, sizeof(ttyline), "ftp%d", getpid()); ++ pam_set_item(s_pamh, PAM_TTY, ttyline); ++ } ++/* JRD end */ ++ + retval = pam_open_session(s_pamh, 0); + if (retval != PAM_SUCCESS) + { |