aboutsummaryrefslogtreecommitdiff
path: root/ftp/vsftpd
diff options
context:
space:
mode:
authorDirk Meyer <dinoex@FreeBSD.org>2006-03-18 14:52:33 +0000
committerDirk Meyer <dinoex@FreeBSD.org>2006-03-18 14:52:33 +0000
commit5e6bb83e2de71be846f4326634a020778195fdb4 (patch)
tree49fc469f8292f84d23a2f26df0333c435c7d0992 /ftp/vsftpd
parentbd2f6c37bf8b8fa0918ee378f53493ac963605d4 (diff)
downloadports-5e6bb83e2de71be846f4326634a020778195fdb4.tar.gz
ports-5e6bb83e2de71be846f4326634a020778195fdb4.zip
- Fix PAM problem
PR: 92579 Submitted by: Joe Doupnik
Notes
Notes: svn path=/head/; revision=157554
Diffstat (limited to 'ftp/vsftpd')
-rw-r--r--ftp/vsftpd/Makefile1
-rw-r--r--ftp/vsftpd/files/patch-sysdeputil.c63
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)
+ {