summaryrefslogtreecommitdiffstats
path: root/meta-networking/recipes-daemons
diff options
context:
space:
mode:
authorArmin Kuster <akuster808@gmail.com>2014-12-25 21:44:35 -0800
committerJoe MacDonald <joe_macdonald@mentor.com>2014-12-29 14:51:53 -0500
commitf2833950bede6982a3cd761b92083d7be9ab33bf (patch)
treeb7ebb96a0888b081ea35a788dcea481bd4f79fcc /meta-networking/recipes-daemons
parentfb6b87bf67a2dbe6b50143eb8429c736f61fea2e (diff)
downloadmeta-openembedded-f2833950bede6982a3cd761b92083d7be9ab33bf.tar.gz
proftpd: update to 1.3.5
dropped proftpd-sftp.patch as it is included in update. combined make.patch, move-pidfile-to-var-run.patch, move-runfile-to-var-run.patch into build_fixup Added several packagesconfig options (too much eggnog) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
Diffstat (limited to 'meta-networking/recipes-daemons')
-rw-r--r--meta-networking/recipes-daemons/proftpd/files/build_fixup.patch112
-rw-r--r--meta-networking/recipes-daemons/proftpd/files/make.patch66
-rw-r--r--meta-networking/recipes-daemons/proftpd/files/move-pidfile-to-var-run.patch39
-rw-r--r--meta-networking/recipes-daemons/proftpd/files/move-runfile-to-var-run.patch39
-rw-r--r--meta-networking/recipes-daemons/proftpd/files/proftpd-sftp.patch142
-rw-r--r--meta-networking/recipes-daemons/proftpd/proftpd_1.3.5.bb (renamed from meta-networking/recipes-daemons/proftpd/proftpd_1.3.4b.bb)59
6 files changed, 156 insertions, 301 deletions
diff --git a/meta-networking/recipes-daemons/proftpd/files/build_fixup.patch b/meta-networking/recipes-daemons/proftpd/files/build_fixup.patch
new file mode 100644
index 000000000..19617a6bb
--- /dev/null
+++ b/meta-networking/recipes-daemons/proftpd/files/build_fixup.patch
@@ -0,0 +1,112 @@
1Upstream-Status: Inappropriate [configuration]
2
3combined the following patches into one:
4make, move-pidfile-to-var-run, move-runfile-to-var-run
5
6move pidfile to /var/run
7redefine PR_RUN_DIR as ${localstatedir}/run
8
9Signed-off-By: Armin Kuster <akuster808@gmail.com>
10
11
12Index: proftpd-1.3.5/Make.rules.in
13===================================================================
14--- proftpd-1.3.5.orig/Make.rules.in
15+++ proftpd-1.3.5/Make.rules.in
16@@ -29,9 +29,9 @@ INSTALL=@INSTALL@
17 INSTALL_STRIP=@INSTALL_STRIP@
18 INSTALL_USER=@install_user@
19 INSTALL_GROUP=@install_group@
20-INSTALL_BIN=$(INSTALL) $(INSTALL_STRIP) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755
21-INSTALL_SBIN=$(INSTALL) $(INSTALL_STRIP) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755
22-INSTALL_MAN=$(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0644
23+INSTALL_BIN=$(INSTALL) -m 0755
24+INSTALL_SBIN=$(INSTALL) -m 0755
25+INSTALL_MAN=$(INSTALL) -m 0644
26
27 RM=rm -f
28 SHELL=@CONFIG_SHELL@
29Index: proftpd-1.3.5/Makefile.in
30===================================================================
31--- proftpd-1.3.5.orig/Makefile.in
32+++ proftpd-1.3.5/Makefile.in
33@@ -105,7 +105,6 @@ check: proftpd$(EXEEXT)
34 $(DESTDIR)$(localedir) $(DESTDIR)$(includedir) $(DESTDIR)$(includedir)/proftpd $(DESTDIR)$(libdir) $(DESTDIR)$(pkgconfigdir) $(DESTDIR)$(libdir)/proftpd $(DESTDIR)$(libexecdir) $(DESTDIR)$(localstatedir) $(DESTDIR)$(sysconfdir) $(DESTDIR)$(bindir) $(DESTDIR)$(sbindir) $(DESTDIR)$(mandir) $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man8:
35 @if [ ! -d $@ ]; then \
36 mkdir -p $@; \
37- chown $(INSTALL_USER):$(INSTALL_GROUP) $@; \
38 chmod 0755 $@; \
39 fi
40
41@@ -115,7 +114,6 @@ install-proftpd: proftpd $(DESTDIR)$(inc
42 rm -f $(DESTDIR)$(sbindir)/in.proftpd ; \
43 fi
44 ln -s proftpd $(DESTDIR)$(sbindir)/in.proftpd
45- -chown -h $(INSTALL_USER):$(INSTALL_GROUP) $(DESTDIR)$(sbindir)/in.proftpd
46
47 install-libs: $(DESTDIR)$(libdir)/proftpd
48 cd lib/ && $(MAKE) install
49@@ -152,11 +150,11 @@ install-utils: $(DESTDIR)$(sbindir) $(DE
50 $(INSTALL_SBIN) ftpshut $(DESTDIR)$(sbindir)/ftpshut
51 $(INSTALL_BIN) ftptop $(DESTDIR)$(bindir)/ftptop
52 $(INSTALL_BIN) ftpwho $(DESTDIR)$(bindir)/ftpwho
53- $(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 src/prxs $(DESTDIR)$(bindir)/prxs
54+ $(INSTALL) -m 0755 src/prxs $(DESTDIR)$(bindir)/prxs
55
56 install-conf: $(DESTDIR)$(sysconfdir)
57 if [ ! -f $(DESTDIR)$(sysconfdir)/proftpd.conf ] ; then \
58- $(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0644 \
59+ $(INSTALL) -m 0644 \
60 $(top_srcdir)/sample-configurations/basic.conf \
61 $(DESTDIR)$(sysconfdir)/proftpd.conf ; \
62 fi
63Index: proftpd-1.3.5/configure
64===================================================================
65--- proftpd-1.3.5.orig/configure
66+++ proftpd-1.3.5/configure
67@@ -38255,7 +38255,7 @@ _ACEOF
68
69
70 cat >>confdefs.h <<_ACEOF
71-#define PR_RUN_DIR "`eval echo "${localstatedir}"`"
72+#define PR_RUN_DIR "`eval echo "${localstatedir}"/run/`"
73 _ACEOF
74
75 cat >>confdefs.h <<_ACEOF
76@@ -38263,7 +38263,7 @@ cat >>confdefs.h <<_ACEOF
77 _ACEOF
78
79 cat >>confdefs.h <<_ACEOF
80-#define PR_PID_FILE_PATH "`eval echo "${localstatedir}/proftpd.pid"`"
81+#define PR_PID_FILE_PATH "`eval echo "${localstatedir}/run/proftpd.pid"`"
82 _ACEOF
83
84
85Index: proftpd-1.3.5/configure.in
86===================================================================
87--- proftpd-1.3.5.orig/configure.in
88+++ proftpd-1.3.5/configure.in
89@@ -2971,8 +2971,8 @@ locale_dir="`eval echo ${locale_dir}`"
90 AC_DEFINE_UNQUOTED(PR_LOCALE_DIR, "`eval echo "${locale_dir}"`")
91
92 AC_DEFINE_UNQUOTED(PR_RUN_DIR, "`eval echo "${localstatedir}"`")
93-AC_DEFINE_UNQUOTED(PR_CONFIG_FILE_PATH, "`eval echo "${sysconfdir}/proftpd.conf"`")
94-AC_DEFINE_UNQUOTED(PR_PID_FILE_PATH, "`eval echo "${localstatedir}/proftpd.pid"`")
95+AC_DEFINE_UNQUOTED(PR_CONFIG_FILE_PATH, "`eval echo "${sysconfdir}/run/proftpd.conf"`")
96+AC_DEFINE_UNQUOTED(PR_PID_FILE_PATH, "`eval echo "${localstatedir}/run/proftpd.pid"`")
97
98 prefix="$pr_saved_prefix"
99 exec_prefix="$pr_saved_exec_prefix"
100Index: proftpd-1.3.5/lib/libcap/Makefile
101===================================================================
102--- proftpd-1.3.5.orig/lib/libcap/Makefile
103+++ proftpd-1.3.5/lib/libcap/Makefile
104@@ -26,7 +26,7 @@ OBJS=$(addsuffix .o, $(FILES))
105 all: $(LIBNAME)
106
107 _makenames: _makenames.c cap_names.sed
108- $(CC) $(CFLAGS) $(LDFLAGS) $< -o $@
109+ $(BUILD_CC) $(CFLAGS) $(LDFLAGS) $< -o $@
110
111 cap_names.h: _makenames
112 ./_makenames > cap_names.h
diff --git a/meta-networking/recipes-daemons/proftpd/files/make.patch b/meta-networking/recipes-daemons/proftpd/files/make.patch
deleted file mode 100644
index c5ff0136d..000000000
--- a/meta-networking/recipes-daemons/proftpd/files/make.patch
+++ /dev/null
@@ -1,66 +0,0 @@
1Upstream-Status: Inappropriate [configuration]
2
3Index: proftpd-1.3.2/Makefile.in
4===================================================================
5--- proftpd-1.3.2.orig/Makefile.in
6+++ proftpd-1.3.2/Makefile.in
7@@ -76,7 +76,6 @@ check: proftpd$(EXEEXT)
8 $(DESTDIR)$(localedir) $(DESTDIR)$(includedir) $(DESTDIR)$(includedir)/proftpd $(DESTDIR)$(libdir) $(DESTDIR)$(pkgconfigdir) $(DESTDIR)$(libdir)/proftpd $(DESTDIR)$(libexecdir) $(DESTDIR)$(localstatedir) $(DESTDIR)$(sysconfdir) $(DESTDIR)$(rundir) $(DESTDIR)$(bindir) $(DESTDIR)$(sbindir) $(DESTDIR)$(mandir) $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man8:
9 @if [ ! -d $@ ]; then \
10 mkdir -p $@; \
11- chown $(INSTALL_USER):$(INSTALL_GROUP) $@; \
12 chmod 0755 $@; \
13 fi
14
15@@ -86,7 +85,6 @@ install-proftpd: proftpd $(DESTDIR)$(inc
16 rm -f $(DESTDIR)$(sbindir)/in.proftpd ; \
17 fi
18 ln -s proftpd $(DESTDIR)$(sbindir)/in.proftpd
19- -chown -h $(INSTALL_USER):$(INSTALL_GROUP) $(DESTDIR)$(sbindir)/in.proftpd
20
21 install-libs: $(DESTDIR)$(libdir)/proftpd
22 cd lib/ && $(MAKE) install
23@@ -121,11 +119,11 @@ install-utils: $(DESTDIR)$(sbindir) $(DE
24 $(INSTALL_SBIN) ftpshut $(DESTDIR)$(sbindir)/ftpshut
25 $(INSTALL_BIN) ftptop $(DESTDIR)$(bindir)/ftptop
26 $(INSTALL_BIN) ftpwho $(DESTDIR)$(bindir)/ftpwho
27- $(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 src/prxs $(DESTDIR)$(bindir)/prxs
28+ $(INSTALL) -m 0755 src/prxs $(DESTDIR)$(bindir)/prxs
29
30 install-conf: $(DESTDIR)$(sysconfdir)
31 if [ ! -f $(DESTDIR)$(sysconfdir)/proftpd.conf ] ; then \
32- $(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0644 \
33+ $(INSTALL) -m 0644 \
34 $(top_srcdir)/sample-configurations/basic.conf \
35 $(DESTDIR)$(sysconfdir)/proftpd.conf ; \
36 fi
37Index: proftpd-1.3.2/Make.rules.in
38===================================================================
39--- proftpd-1.3.2.orig/Make.rules.in
40+++ proftpd-1.3.2/Make.rules.in
41@@ -29,9 +29,9 @@ UTILS_LIBS=@UTILS_LIBS@ @LIBS@
42 INSTALL=@INSTALL@
43 INSTALL_USER=@install_user@
44 INSTALL_GROUP=@install_group@
45-INSTALL_BIN=$(INSTALL) @INSTALL_STRIP@ -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755
46-INSTALL_SBIN=$(INSTALL) @INSTALL_STRIP@ -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755
47-INSTALL_MAN=$(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0644
48+INSTALL_BIN=$(INSTALL) -m 0755
49+INSTALL_SBIN=$(INSTALL) -m 0755
50+INSTALL_MAN=$(INSTALL) -m 0644
51
52 RM=rm -f
53 SHELL=/bin/sh
54Index: proftpd-1.3.2/lib/libcap/Makefile
55===================================================================
56--- proftpd-1.3.2.orig/lib/libcap/Makefile
57+++ proftpd-1.3.2/lib/libcap/Makefile
58@@ -26,7 +26,7 @@ OBJS=$(addsuffix .o, $(FILES))
59 all: $(LIBNAME)
60
61 _makenames: _makenames.c cap_names.sed
62- $(CC) $(CFLAGS) $(LDFLAGS) $< -o $@
63+ $(BUILD_CC) $(CFLAGS) $(LDFLAGS) $< -o $@
64
65 cap_names.h: _makenames
66 ./_makenames > cap_names.h
diff --git a/meta-networking/recipes-daemons/proftpd/files/move-pidfile-to-var-run.patch b/meta-networking/recipes-daemons/proftpd/files/move-pidfile-to-var-run.patch
deleted file mode 100644
index 953bbddef..000000000
--- a/meta-networking/recipes-daemons/proftpd/files/move-pidfile-to-var-run.patch
+++ /dev/null
@@ -1,39 +0,0 @@
1move pidfile to /var/run
2
3Upstream-Status: Inappropriate [configuration]
4
5Signed-off-by: Roy Li <rongqing.li@windriver.com>
6---
7 configure | 2 +-
8 configure.in | 2 +-
9 2 files changed, 2 insertions(+), 2 deletions(-)
10
11diff --git a/configure b/configure
12index e6268f5..ebed38e 100755
13--- a/configure
14+++ b/configure
15@@ -33587,7 +33587,7 @@ cat >>confdefs.h <<_ACEOF
16 _ACEOF
17
18 cat >>confdefs.h <<_ACEOF
19-#define PR_PID_FILE_PATH "`eval echo "${localstatedir}/proftpd.pid"`"
20+#define PR_PID_FILE_PATH "`eval echo "${localstatedir}/run/proftpd.pid"`"
21 _ACEOF
22
23
24diff --git a/configure.in b/configure.in
25index df9186a..e2ae868 100644
26--- a/configure.in
27+++ b/configure.in
28@@ -2790,7 +2790,7 @@ AC_DEFINE_UNQUOTED(PR_LOCALE_DIR, "`eval echo "${locale_dir}"`")
29
30 AC_DEFINE_UNQUOTED(PR_RUN_DIR, "`eval echo "${localstatedir}"`")
31 AC_DEFINE_UNQUOTED(PR_CONFIG_FILE_PATH, "`eval echo "${sysconfdir}/proftpd.conf"`")
32-AC_DEFINE_UNQUOTED(PR_PID_FILE_PATH, "`eval echo "${localstatedir}/proftpd.pid"`")
33+AC_DEFINE_UNQUOTED(PR_PID_FILE_PATH, "`eval echo "${localstatedir}/run/proftpd.pid"`")
34
35 prefix="$pr_saved_prefix"
36 exec_prefix="$pr_saved_exec_prefix"
37--
381.7.10.4
39
diff --git a/meta-networking/recipes-daemons/proftpd/files/move-runfile-to-var-run.patch b/meta-networking/recipes-daemons/proftpd/files/move-runfile-to-var-run.patch
deleted file mode 100644
index 1561ed80e..000000000
--- a/meta-networking/recipes-daemons/proftpd/files/move-runfile-to-var-run.patch
+++ /dev/null
@@ -1,39 +0,0 @@
1redefine PR_RUN_DIR as ${localstatedir}/run
2
3Upstream-Status: Inappropriate [configuration]
4
5Signed-off-by: Roy Li <rongqing.li@windriver.com>
6---
7 configure | 2 +-
8 configure.in | 2 +-
9 2 files changed, 2 insertions(+), 2 deletions(-)
10
11diff --git a/configure b/configure
12index ebed38e..445d5bc 100755
13--- a/configure
14+++ b/configure
15@@ -33579,7 +33579,7 @@ _ACEOF
16
17
18 cat >>confdefs.h <<_ACEOF
19-#define PR_RUN_DIR "`eval echo "${localstatedir}"`"
20+#define PR_RUN_DIR "`eval echo "${localstatedir}"/run/`"
21 _ACEOF
22
23 cat >>confdefs.h <<_ACEOF
24diff --git a/configure.in b/configure.in
25index c17929c..df9186a 100644
26--- a/configure.in
27+++ b/configure.in
28@@ -2788,7 +2788,7 @@ locale_dir="`eval echo ${localedir}`"
29 locale_dir="`eval echo ${locale_dir}`"
30 AC_DEFINE_UNQUOTED(PR_LOCALE_DIR, "`eval echo "${locale_dir}"`")
31
32-AC_DEFINE_UNQUOTED(PR_RUN_DIR, "`eval echo "${localstatedir}"`")
33+AC_DEFINE_UNQUOTED(PR_RUN_DIR, "`eval echo "${localstatedir}/run"`")
34 AC_DEFINE_UNQUOTED(PR_CONFIG_FILE_PATH, "`eval echo "${sysconfdir}/proftpd.conf"`")
35 AC_DEFINE_UNQUOTED(PR_PID_FILE_PATH, "`eval echo "${localstatedir}/run/proftpd.pid"`")
36
37--
381.7.10.4
39
diff --git a/meta-networking/recipes-daemons/proftpd/files/proftpd-sftp.patch b/meta-networking/recipes-daemons/proftpd/files/proftpd-sftp.patch
deleted file mode 100644
index 8c71263b0..000000000
--- a/meta-networking/recipes-daemons/proftpd/files/proftpd-sftp.patch
+++ /dev/null
@@ -1,142 +0,0 @@
1proftpd/mod_sftp: fix too much memory allocation bug of mod_sftp
2
3This patch fixes the too much memory allocation bug of the mod_sftp by
4ensuring both that a) the received response count matches the number of
5challenges sent, and b) that the received response count is not too high
6(as an additional sanity check); the upper bound is still set to 500.
7
8The patch is picked from: http://bugs.proftpd.org/show_bug.cgi?id=3973
9
10Upstream-Status: Backport CVE-2013-4359
11
12diff --git a/contrib/mod_sftp/kbdint.c b/contrib/mod_sftp/kbdint.c
13index 0271fb2..de651fa 100644
14--- a/contrib/mod_sftp/kbdint.c
15+++ b/contrib/mod_sftp/kbdint.c
16@@ -1,6 +1,6 @@
17 /*
18 * ProFTPD - mod_sftp keyboard-interactive driver mgmt
19- * Copyright (c) 2008-2009 TJ Saunders
20+ * Copyright (c) 2008-2013 TJ Saunders
21 *
22 * This program is free software; you can redistribute it and/or modify
23 * it under the terms of the GNU General Public License as published by
24@@ -31,6 +31,8 @@
25 #include "utf8.h"
26 #include "kbdint.h"
27
28+#define SFTP_KBDINT_MAX_RESPONSES 500
29+
30 struct kbdint_driver {
31 struct kbdint_driver *next, *prev;
32
33@@ -252,8 +254,8 @@ int sftp_kbdint_send_challenge(const char *user, const char *instruction,
34 return res;
35 }
36
37-int sftp_kbdint_recv_response(pool *p, unsigned int *count,
38- const char ***responses) {
39+int sftp_kbdint_recv_response(pool *p, unsigned int expected_count,
40+ unsigned int *rcvd_count, const char ***responses) {
41 register unsigned int i;
42 char *buf;
43 cmd_rec *cmd;
44@@ -264,7 +266,7 @@ int sftp_kbdint_recv_response(pool *p, unsigned int *count,
45 int res;
46
47 if (p == NULL ||
48- count == NULL ||
49+ rcvd_count == NULL ||
50 responses == NULL) {
51 errno = EINVAL;
52 return -1;
53@@ -299,6 +301,29 @@ int sftp_kbdint_recv_response(pool *p, unsigned int *count,
54
55 resp_count = sftp_msg_read_int(pkt->pool, &buf, &buflen);
56
57+ /* Ensure that the number of responses sent by the client is the same
58+ * as the number of challenges sent, lest a malicious client attempt to
59+ * trick us into allocating too much memory (Bug#3973).
60+ */
61+ if (resp_count != expected_count) {
62+ (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
63+ "sent %lu %s, but received %lu %s", (unsigned long) expected_count,
64+ expected_count != 1 ? "challenges" : "challenge",
65+ (unsigned long) resp_count, resp_count != 1 ? "responses" : "response");
66+ destroy_pool(pkt->pool);
67+ errno = EPERM;
68+ return -1;
69+ }
70+
71+ if (resp_count > SFTP_KBDINT_MAX_RESPONSES) {
72+ (void) pr_log_writefile(sftp_logfd, MOD_SFTP_VERSION,
73+ "received too many responses (%lu > max %lu), rejecting",
74+ (unsigned long) resp_count, (unsigned long) SFTP_KBDINT_MAX_RESPONSES);
75+ destroy_pool(pkt->pool);
76+ errno = EPERM;
77+ return -1;
78+ }
79+
80 list = make_array(p, resp_count, sizeof(char *));
81 for (i = 0; i < resp_count; i++) {
82 char *resp;
83@@ -307,7 +332,7 @@ int sftp_kbdint_recv_response(pool *p, unsigned int *count,
84 *((char **) push_array(list)) = pstrdup(p, sftp_utf8_decode_str(p, resp));
85 }
86
87- *count = (unsigned int) resp_count;
88+ *rcvd_count = (unsigned int) resp_count;
89 *responses = ((const char **) list->elts);
90 return 0;
91 }
92diff --git a/contrib/mod_sftp/mod_sftp.h.in b/contrib/mod_sftp/mod_sftp.h.in
93index 3e91390..c547be0 100644
94--- a/contrib/mod_sftp/mod_sftp.h.in
95+++ b/contrib/mod_sftp/mod_sftp.h.in
96@@ -1,6 +1,6 @@
97 /*
98 * ProFTPD - mod_sftp
99- * Copyright (c) 2008-2011 TJ Saunders
100+ * Copyright (c) 2008-2013 TJ Saunders
101 *
102 * This program is free software; you can redistribute it and/or modify
103 * it under the terms of the GNU General Public License as published by
104@@ -174,7 +174,8 @@ int sftp_kbdint_register_driver(const char *name, sftp_kbdint_driver_t *driver);
105 int sftp_kbdint_unregister_driver(const char *name);
106 int sftp_kbdint_send_challenge(const char *, const char *, unsigned int,
107 sftp_kbdint_challenge_t *);
108-int sftp_kbdint_recv_response(pool *, unsigned int *, const char ***);
109+int sftp_kbdint_recv_response(pool *, unsigned int, unsigned int *,
110+ const char ***);
111
112 /* API for modules that which to register keystores, for the
113 * SFTPAuthorizedHostKeys and SFTPAuthorizedUserKeys directives.
114diff --git a/contrib/mod_sftp_pam.c b/contrib/mod_sftp_pam.c
115index 6c32df0..81aa113 100644
116--- a/contrib/mod_sftp_pam.c
117+++ b/contrib/mod_sftp_pam.c
118@@ -179,22 +179,13 @@ static int sftppam_converse(int nmsgs, PR_PAM_CONST struct pam_message **msgs,
119 return PAM_CONV_ERR;
120 }
121
122- if (sftp_kbdint_recv_response(sftppam_driver.driver_pool, &recvd_count,
123- &recvd_responses) < 0) {
124+ if (sftp_kbdint_recv_response(sftppam_driver.driver_pool, list->nelts,
125+ &recvd_count, &recvd_responses) < 0) {
126 pr_trace_msg(trace_channel, 3,
127 "error receiving keyboard-interactive responses: %s", strerror(errno));
128 return PAM_CONV_ERR;
129 }
130
131- /* Make sure that the count of responses matches the challenge count. */
132- if (recvd_count != list->nelts) {
133- (void) pr_log_writefile(sftp_logfd, MOD_SFTP_PAM_VERSION,
134- "sent %d %s, but received %u %s", nmsgs,
135- list->nelts != 1 ? "challenges" : "challenge", recvd_count,
136- recvd_count != 1 ? "responses" : "response");
137- return PAM_CONV_ERR;
138- }
139-
140 res = calloc(nmsgs, sizeof(struct pam_response));
141 if (res == NULL) {
142 pr_log_pri(PR_LOG_CRIT, "Out of memory!");
diff --git a/meta-networking/recipes-daemons/proftpd/proftpd_1.3.4b.bb b/meta-networking/recipes-daemons/proftpd/proftpd_1.3.5.bb
index a5e766af5..cba39e8e2 100644
--- a/meta-networking/recipes-daemons/proftpd/proftpd_1.3.4b.bb
+++ b/meta-networking/recipes-daemons/proftpd/proftpd_1.3.5.bb
@@ -4,31 +4,60 @@ HOMEPAGE = "http://www.proftpd.org"
4LICENSE = "GPLv2+" 4LICENSE = "GPLv2+"
5LIC_FILES_CHKSUM = "file://COPYING;md5=fb0d1484d11915fa88a6a7702f1dc184" 5LIC_FILES_CHKSUM = "file://COPYING;md5=fb0d1484d11915fa88a6a7702f1dc184"
6 6
7PR = "r4"
8
9SRC_URI = "ftp://ftp.proftpd.org/distrib/source/${BPN}-${PV}.tar.gz \ 7SRC_URI = "ftp://ftp.proftpd.org/distrib/source/${BPN}-${PV}.tar.gz \
10 file://make.patch \
11 file://basic.conf.patch \ 8 file://basic.conf.patch \
12 file://contrib.patch \
13 file://proftpd-basic.init \ 9 file://proftpd-basic.init \
14 file://default \ 10 file://default \
15 file://move-pidfile-to-var-run.patch \
16 file://close-RequireValidShell-check.patch \ 11 file://close-RequireValidShell-check.patch \
17 file://move-runfile-to-var-run.patch \ 12 file://contrib.patch \
18 file://proftpd-sftp.patch \ 13 file://build_fixup.patch \
19" 14 "
20 15
21SRC_URI[md5sum] = "0871e0b93c9c3c88ca950b6d9a04aed2" 16SRC_URI[md5sum] = "aff1bff40e675244d72c4667f203e5bb"
22SRC_URI[sha256sum] = "9f659585cea90fc6af34a0ffae4a90e4ed37abe92dbd9b6c311f95a436c961cb" 17SRC_URI[sha256sum] = "c10316fb003bd25eccbc08c77dd9057e053693e6527ffa2ea2cc4e08ccb87715"
23 18
24inherit autotools-brokensep useradd update-rc.d 19inherit autotools-brokensep useradd update-rc.d
25 20
26PACKAGECONFIG ??= "" 21PACKAGECONFIG ??= "sia shadow"
27PACKAGECONFIG[curses] = "--enable-curses --enable-ncurses,--disable-curses --disable-ncurses,ncurses" 22PACKAGECONFIG += " ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
23PACKAGECONFIG += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
24
25PACKAGECONFIG[curses] = "--enable-curses --enable-ncurses, --disable-curses --disable-ncurses, ncurses"
26PACKAGECONFIG[openssl] = "--enable-openssl, --disable-openssl, openssl, openssl"
27PACKAGECONFIG[pam] = "--enable-auth-pam, --disable-auth-pam, libpam, libpam"
28PACKAGECONFIG[ipv6] = "--enable-ipv6, --disable-ipv6"
29PACKAGECONFIG[shadow] = "--enable-shadow, --disable-shadow"
30PACKAGECONFIG[pcre] = "--enable-pcre, --disable-pcre, libpcre "
31
32# enable POSIX.1e capabilities
33PACKAGECONFIG[cap] = "--enable-cap, --disable-cap, libcap, libcap"
34
35#enable support for POSIX ACLs
36PACKAGECONFIG[acl] = "--enable-facl, --disable-facl"
37
38#enable proftpd controls via ftpdct
39PACKAGECONFIG[ctrls] = "--enable-ctrls, --disable-crtls"
40
41#prevent proftpd from using its bundled getopt implementation.
42PACKAGECONFIG[getopt] = "--with-getopt, --without-getopt"
43
44#do not strip debugging symbols from installed code
45PACKAGECONFIG[strip] = "--enable-strip, --disable-strip"
46
47#enable SIA authentication support (Tru64)
48PACKAGECONFIG[sia] = "--enable-sia, --disable-sia"
49PACKAGECONFIG[sendfile] = "-enable-sendfile, --disable-sendfile"
50
51#enable Native Language Support (NLS)
52PACKAGECONFIG[nls] = "--enable-nls, --disable-nls"
53
54#add mod_dso to core modules
55PACKAGECONFIG[dso] = "--enable-dso, --disable-dso"
56PACKAGECONFIG[largefile] = "--enable-largefile, --disable-largefile"
57
58#omit mod_auth_file from core modules
59PACKAGECONFIG[auth] = "--enable-auth-file, --disable-auth-file"
28 60
29EXTRA_OECONF = "--disable-cap \
30 --disable-auth-pam \
31"
32 61
33# proftpd uses libltdl which currently makes configuring using 62# proftpd uses libltdl which currently makes configuring using
34# autotools.bbclass a pain... 63# autotools.bbclass a pain...