From a5cc7a695c12abbf41fef098a3962ceb21aabd23 Mon Sep 17 00:00:00 2001 From: shirely16 <1360148247@qq.com> Date: Tue, 30 Jun 2020 15:39:44 +0800 Subject: [PATCH] delete patch,include src --- ...-sctp_status-fix-hostname-resolution.patch | 117 ------------------ lksctp-tools.spec | 2 - 2 files changed, 119 deletions(-) delete mode 100644 lksctp-tools-1.0.17-sctp_status-fix-hostname-resolution.patch diff --git a/lksctp-tools-1.0.17-sctp_status-fix-hostname-resolution.patch b/lksctp-tools-1.0.17-sctp_status-fix-hostname-resolution.patch deleted file mode 100644 index acdcac7..0000000 --- a/lksctp-tools-1.0.17-sctp_status-fix-hostname-resolution.patch +++ /dev/null @@ -1,117 +0,0 @@ -From 18272a1f3cf8c3fe287c1bf8a007d0ef4de4cf2f Mon Sep 17 00:00:00 2001 -Message-Id: <18272a1f3cf8c3fe287c1bf8a007d0ef4de4cf2f.1467043686.git.marcelo.leitner@gmail.com> -From: Marcelo Ricardo Leitner -Date: Thu, 23 Jun 2016 18:27:26 -0300 -Subject: [PATCH] sctp_status: fix hostname resolution - -getaddrinfo already returns the IP address in binary format for the -given hostname/IP address, so there is no need to use inet_pton() -afterwards. - -Such usage, actually, was causing localhost6 to be evaluated as ::. - -Also, fix a leak on getaddrinfo results. - -Signed-off-by: Marcelo R. Leitner -Signed-off-by: Marcelo Ricardo Leitner ---- - src/apps/sctp_status.c | 38 +++++++++++++++++++++++--------------- - 1 file changed, 23 insertions(+), 15 deletions(-) - -diff --git a/src/apps/sctp_status.c b/src/apps/sctp_status.c -index 5bb48efc18074cb706112b10aa0d4a098954c3cd..46e9ca2af08ade626517a2d52bf0289d6be362e6 100644 ---- a/src/apps/sctp_status.c -+++ b/src/apps/sctp_status.c -@@ -280,11 +280,12 @@ int main(int argc, char *argv[]) { - case AF_INET: - t_addr = (struct sockaddr_in *)&s_rem; - -- t_addr->sin_family = AF_INET; -+ memcpy(t_addr, res->ai_addr, -+ res->ai_addrlen); -+ t_addr->sin_family = res->ai_family; - t_addr->sin_port = htons(remote_port); -- inet_pton(AF_INET, remote_host, &t_addr->sin_addr); - -- r_len = sizeof (struct sockaddr_in); -+ r_len = res->ai_addrlen; - #ifdef __FreeBSD__ - t_addr->sin_len = r_len; - #endif -@@ -292,13 +293,14 @@ int main(int argc, char *argv[]) { - case AF_INET6: - t_addr6 = (struct sockaddr_in6 *)&s_rem; - -+ memcpy(t_addr6, res->ai_addr, -+ res->ai_addrlen); -+ t_addr6->sin6_family = res->ai_family; -+ t_addr6->sin6_port = htons(remote_port); - if (interface) - t_addr6->sin6_scope_id = if_nametoindex(interface); -- t_addr6->sin6_family = AF_INET6; -- t_addr6->sin6_port = htons(remote_port); -- inet_pton(AF_INET6, remote_host, &t_addr6->sin6_addr); - -- r_len = sizeof (struct sockaddr_in6); -+ r_len = res->ai_addrlen; - - #ifdef __FreeBSD__ - t_addr6->sin6_len = r_len; -@@ -311,6 +313,8 @@ int main(int argc, char *argv[]) { - - DEBUG_PRINT(DEBUG_MAX, "remote:addr=%s, port=%s, family=%d\n", - host_s, serv_s, res->ai_family); -+ -+ freeaddrinfo(res); - } - - if (local_host != NULL) { -@@ -342,11 +346,13 @@ int main(int argc, char *argv[]) { - switch (res->ai_family) { - case AF_INET: - t_addr = (struct sockaddr_in *)&s_loc; -- t_addr->sin_family = AF_INET; -+ -+ memcpy(t_addr, res->ai_addr, -+ res->ai_addrlen); -+ t_addr->sin_family = res->ai_family; - t_addr->sin_port = htons(local_port); -- inet_pton(AF_INET, local_host, &t_addr->sin_addr); - -- l_len = sizeof (struct sockaddr_in); -+ l_len = res->ai_addrlen; - #ifdef __FreeBSD__ - t_addr->sin_len = l_len; - #endif -@@ -354,14 +360,14 @@ int main(int argc, char *argv[]) { - case AF_INET6: - t_addr6 = (struct sockaddr_in6 *)&s_loc; - -+ memcpy(t_addr6, res->ai_addr, -+ res->ai_addrlen); -+ t_addr6->sin6_family = res->ai_family; -+ t_addr6->sin6_port = htons(local_port); - if (interface) - t_addr6->sin6_scope_id = if_nametoindex(interface); -- t_addr6->sin6_family = AF_INET6; -- t_addr6->sin6_port = htons(local_port); - -- inet_pton(AF_INET6, local_host, &t_addr6->sin6_addr); -- -- l_len = sizeof (struct sockaddr_in6); -+ l_len = res->ai_addrlen; - - #ifdef __FreeBSD__ - t_addr6->sin6_len = l_len; -@@ -377,6 +383,8 @@ int main(int argc, char *argv[]) { - - DEBUG_PRINT(DEBUG_MAX, "local:addr=%s, port=%s, family=%d\n", - host_s, serv_s, res->ai_family); -+ -+ freeaddrinfo(res); - } - - /* Let the testing begin. */ --- -2.5.5 - diff --git a/lksctp-tools.spec b/lksctp-tools.spec index 7b53a97..12a957f 100644 --- a/lksctp-tools.spec +++ b/lksctp-tools.spec @@ -8,7 +8,6 @@ Group: System Environment/Libraries URL: http://lksctp.sourceforge.net Source0: http://downloads.sourceforge.net/lksctp/%{name}-%{version}.tar.gz Patch0: lksctp-tools-1.0.16-libdir.patch -Patch1: lksctp-tools-1.0.17-sctp_status-fix-hostname-resolution.patch BuildRequires: libtool, automake, autoconf %description @@ -44,7 +43,6 @@ Drafts). %prep %setup -q %patch0 -p1 -%patch1 -p1 %build [ ! -x ./configure ] && sh bootstrap