diff options
Diffstat (limited to 'debian/patches/63_inetd_ipv6_sockaddrlen.patch')
-rw-r--r-- | debian/patches/63_inetd_ipv6_sockaddrlen.patch | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/debian/patches/63_inetd_ipv6_sockaddrlen.patch b/debian/patches/63_inetd_ipv6_sockaddrlen.patch deleted file mode 100644 index 5dff7fb..0000000 --- a/debian/patches/63_inetd_ipv6_sockaddrlen.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 71a5c6478ea29872b95db9c3c8d1595b0920ff27 Mon Sep 17 00:00:00 2001 -From: Mats Erik Andersson <gnu@gisladisker.se> -Date: Sun, 31 Oct 2010 04:29:21 +0100 -Subject: [PATCH 2/2] src/inetd.c: Use exact length of address structure. - -Bind socket using knowledge of exact sockaddr length. - -* src/inetd.c: New element `se_addrlen' in `struct servtab'. -(expand_enter): Record in SE_ADDRLEN the actual length of each -established control address. -(setup): Use the exact address length in call to bind(3). ---- - src/inetd.c | 5 ++++- - 2 files changed, 13 insertions(+), 1 deletions(-) - -diff --git a/src/inetd.c b/src/inetd.c -index 272e874..2a30acf 100644 ---- a/src/inetd.c -+++ b/src/inetd.c -@@ -254,6 +254,7 @@ struct servtab - sa_family_t se_family; /* address family of the socket */ - char se_v4mapped; /* 1 = accept v4mapped connection, 0 = don't */ - struct sockaddr_storage se_ctrladdr; /* bound address */ -+ socklen_t se_addrlen; /* exact address length in use */ - unsigned se_refcnt; - int se_count; /* number started since se_time */ - struct timeval se_time; /* start of se_count */ -@@ -585,7 +586,7 @@ setup (struct servtab *sep) - syslog (LOG_ERR, "setsockopt (SO_REUSEADDR): %m"); - - err = bind (sep->se_fd, (struct sockaddr *) &sep->se_ctrladdr, -- sizeof (sep->se_ctrladdr)); -+ sep->se_addrlen); - if (err < 0) - { - /* If we can't bind with AF_INET6 try again with AF_INET. */ -@@ -800,7 +801,9 @@ expand_enter (struct servtab *sep) - - for (rp = result; rp != NULL; rp = rp->ai_next) - { -+ memset (&sep->se_ctrladdr, 0, sizeof (sep->se_ctrladdr)); - memcpy (&sep->se_ctrladdr, rp->ai_addr, rp->ai_addrlen); -+ sep->se_addrlen = rp->ai_addrlen; - cp = enter (sep); - servent_setup (cp); - } --- -1.7.1 - |