Your message dated Sun, 18 Oct 2009 10:35:27 +0000
with message-id <[email protected]>
and subject line Bug#544993: fixed in vsftpd 2.2.0-4
has caused the Debian Bug report #544993,
regarding vsftpd: does not accept IPv6 scope identifier in listen_address6
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
544993: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=544993
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: vsftpd
Version: 2.2.0-1
Severity: important
Tags: patch ipv6
When specifying a link-local address, you need a scope identifier (tha name
of the index usually), thus you cannot use the following:
listen_address6=fe80::21f:16ff:fe06:3aab
but you have to use:
listen_address6=fe80::21f:16ff:fe06:3aab%eth0
so that it is clear on which interface this link-local address should be
used.
Unfortunately, vsftpd does not correctly parse the address mentioned above
and thus fails to be useful in link-local-only environments.
The attached patch fixes it.
-- System Information:
Debian Release: squeeze/sid
APT prefers testing
APT policy: (990, 'testing'), (600, 'unstable')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.30.2 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages vsftpd depends on:
ii adduser 3.110 add and remove users and groups
ii debconf [debconf-2.0] 1.5.27 Debian configuration management sy
ii libc6 2.9-23 GNU C Library: Shared libraries
ii libcap2 1:2.16-5 support for getting/setting POSIX.
ii libpam-modules 1.0.1-9 Pluggable Authentication Modules f
ii libpam0g 1.0.1-9 Pluggable Authentication Modules l
ii libssl0.9.8 0.9.8k-3 SSL shared libraries
ii libwrap0 7.6.q-18 Wietse Venema's TCP wrappers libra
ii netbase 4.37 Basic TCP/IP networking system
Versions of packages vsftpd recommends:
ii logrotate 3.7.7-3 Log rotation utility
vsftpd suggests no packages.
-- debconf information:
* vsftpd/username: ftp
* vsftpd/directory: /home/michael/ftp
diff --git a/standalone.c b/standalone.c
index d62cf23..4c3d210 100644
--- a/standalone.c
+++ b/standalone.c
@@ -7,6 +7,8 @@
* Code to listen on the network and launch children servants.
*/
+#include <net/if.h>
+
#include "standalone.h"
#include "parseconf.h"
@@ -111,8 +113,17 @@ vsf_standalone_main(void)
else
{
struct mystr addr_str = INIT_MYSTR;
+ struct mystr scope_id = INIT_MYSTR;
const unsigned char* p_raw_addr;
+ unsigned int if_index = 0;
+
+ /* See if we got a scope id */
str_alloc_text(&addr_str, tunable_listen_address6);
+ str_split_char(&addr_str, &scope_id, '%');
+ if (str_getlen(&scope_id) > 0) {
+ if_index = if_nametoindex(str_getbuf(&scope_id));
+ str_free(&scope_id);
+ }
p_raw_addr = vsf_sysutil_parse_ipv6(&addr_str);
str_free(&addr_str);
if (!p_raw_addr)
@@ -120,6 +131,7 @@ vsf_standalone_main(void)
die2("bad listen_address6: ", tunable_listen_address6);
}
vsf_sysutil_sockaddr_set_ipv6addr(p_sockaddr, p_raw_addr);
+ vsf_sysutil_sockaddr_set_ipv6scope(p_sockaddr, if_index);
}
retval = vsf_sysutil_bind(listen_sock, p_sockaddr);
vsf_sysutil_free(p_sockaddr);
diff --git a/sysutil.c b/sysutil.c
index 1432072..1bb0a72 100644
--- a/sysutil.c
+++ b/sysutil.c
@@ -2039,6 +2039,19 @@ vsf_sysutil_sockaddr_set_ipv6addr(struct vsf_sysutil_sockaddr* p_sockptr,
}
}
+int
+vsf_sysutil_sockaddr_get_ipv6scope(struct vsf_sysutil_sockaddr* p_sockptr)
+{
+ return p_sockptr->u.u_sockaddr_in6.sin6_scope_id;
+}
+
+void
+vsf_sysutil_sockaddr_set_ipv6scope(struct vsf_sysutil_sockaddr* p_sockptr,
+ const int scope_id)
+{
+ p_sockptr->u.u_sockaddr_in6.sin6_scope_id = scope_id;
+}
+
const void*
vsf_sysutil_sockaddr_ipv6_v4(const struct vsf_sysutil_sockaddr* p_addr)
{
diff --git a/sysutil.h b/sysutil.h
index 0a0b46a..c60ff80 100644
--- a/sysutil.h
+++ b/sysutil.h
@@ -228,6 +228,9 @@ void vsf_sysutil_sockaddr_set_ipv4addr(struct vsf_sysutil_sockaddr* p_sockptr,
const unsigned char* p_raw);
void vsf_sysutil_sockaddr_set_ipv6addr(struct vsf_sysutil_sockaddr* p_sockptr,
const unsigned char* p_raw);
+void vsf_sysutil_sockaddr_set_ipv6scope(struct vsf_sysutil_sockaddr* p_sockptr,
+ const int scope_id);
+int vsf_sysutil_sockaddr_get_ipv6scope(struct vsf_sysutil_sockaddr* p_sockptr);
void vsf_sysutil_sockaddr_set_any(struct vsf_sysutil_sockaddr* p_sockaddr);
unsigned short vsf_sysutil_sockaddr_get_port(
const struct vsf_sysutil_sockaddr* p_sockptr);
--- End Message ---
--- Begin Message ---
Source: vsftpd
Source-Version: 2.2.0-4
We believe that the bug you reported is fixed in the latest version of
vsftpd, which is due to be installed in the Debian FTP archive:
vsftpd_2.2.0-4.diff.gz
to pool/main/v/vsftpd/vsftpd_2.2.0-4.diff.gz
vsftpd_2.2.0-4.dsc
to pool/main/v/vsftpd/vsftpd_2.2.0-4.dsc
vsftpd_2.2.0-4_i386.deb
to pool/main/v/vsftpd/vsftpd_2.2.0-4_i386.deb
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Daniel Baumann <[email protected]> (supplier of updated vsftpd package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.8
Date: Sun, 18 Oct 2009 12:13:02 +0200
Source: vsftpd
Binary: vsftpd
Architecture: source i386
Version: 2.2.0-4
Distribution: unstable
Urgency: low
Maintainer: Daniel Baumann <[email protected]>
Changed-By: Daniel Baumann <[email protected]>
Description:
vsftpd - lightweight, efficient FTP server written for security
Closes: 403344 419857 428934 519390 536803 544993
Changes:
vsftpd (2.2.0-4) unstable; urgency=low
.
* Adding patch from Michael Stapelberg <[email protected]> to
accept IPv6 scope identifier in listen_address6 (Closes: #544993).
* Installing upstream example files in examples directory instead of
own directory.
* Adding patch from Jiri Skala <[email protected]> to trim white
spaces from option values (Closes: #419857, #536803).
* Adding patch from Martin Nagy <[email protected]> to fix file listing
issue with wildcards (Closes: #428934).
* Using vsftpd group for server root ownership instead of nogroup
(Closes: #519390).
* Cosmetically improve the init script wrt/ output messages (Closes:
#403344).
Checksums-Sha1:
b0e81f373ef2b7365d8b2428f7f13158f5d8795b 1293 vsftpd_2.2.0-4.dsc
8a373497bc9b8ed20a9a50edcb0b5120c8364391 20969 vsftpd_2.2.0-4.diff.gz
754e965002f8f7646aee2016396606ef4f4fcd76 137308 vsftpd_2.2.0-4_i386.deb
Checksums-Sha256:
1764eb8136cf022993cb1042b0f5a06375ede04fd07abe04b4bec9a8a79a6acd 1293
vsftpd_2.2.0-4.dsc
0fb43463017b4772d8e734b8ed87e077a2248f8acc282c7668e51c8cdf2e597b 20969
vsftpd_2.2.0-4.diff.gz
edffec2388967cb7a72e149abc61af9aed9e14805140f8f30621c227d35d5aac 137308
vsftpd_2.2.0-4_i386.deb
Files:
dd91343e39e1374f00efce719fe93ec1 1293 net extra vsftpd_2.2.0-4.dsc
a5c3ebc503bb4f9b1f7d3b8959c4a836 20969 net extra vsftpd_2.2.0-4.diff.gz
4c7e743b59ea7b8c58be13a311b823df 137308 net extra vsftpd_2.2.0-4_i386.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
iEYEARECAAYFAkra6mAACgkQ+C5cwEsrK55n7wCgrJuJhIL9thopYJKkRH9ARd4Z
4LYAn3iY3KEMSlWwCIwvVZ7r/T6ArdTe
=kd03
-----END PGP SIGNATURE-----
--- End Message ---