Hello community, here is the log from the commit of package ipvsadm for openSUSE:Factory checked in at 2014-02-15 08:05:16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ipvsadm (Old) and /work/SRC/openSUSE:Factory/.ipvsadm.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ipvsadm" Changes: -------- --- /work/SRC/openSUSE:Factory/ipvsadm/ipvsadm.changes 2013-12-17 10:01:43.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.ipvsadm.new/ipvsadm.changes 2014-02-15 08:05:17.000000000 +0100 @@ -1,0 +2,10 @@ +Thu Feb 13 10:33:04 UTC 2014 - m...@suse.de + +- Fix segfault when running 'ipvsadm -Ln' caused by buffer overrun + in ipvs_dests_parse_cb() function (bnc#775051), by Tim Serong. + [+ ipvsadm-1.26-ipvs_dests_parse_cb-memory-corruption.diff] +- Fix wrong error message when using ipvsadm with option "--ops" + (bnc#847005), by Paul Zirnik. + [+ ipvsadm-1.26-wrong-error-with--ops-option.bnc847005.diff] + +------------------------------------------------------------------- New: ---- ipvsadm-1.26-ipvs_dests_parse_cb-memory-corruption.diff ipvsadm-1.26-wrong-error-with--ops-option.bnc847005.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ipvsadm.spec ++++++ --- /var/tmp/diff_new_pack.pynlmC/_old 2014-02-15 08:05:17.000000000 +0100 +++ /var/tmp/diff_new_pack.pynlmC/_new 2014-02-15 08:05:17.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package ipvsadm # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -15,20 +15,26 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # + Name: ipvsadm -BuildRequires: kernel-source popt-devel +BuildRequires: kernel-source BuildRequires: libnl-1_1-devel +BuildRequires: popt-devel BuildRequires: systemd Summary: A Utility for Administering the Linux Virtual Server -Version: 1.26 -Release: 1 License: GPL-2.0+ -Url: http://www.linuxvirtualserver.org/ Group: Productivity/Networking/System +Version: 1.26 +Release: 0 +Url: http://www.linuxvirtualserver.org/ Source0: http://www.LinuxVirtualServer.org/software/ipvsadm-%{version}.tar.bz2 Source1: ipvsadm.service Patch1: ipvsadm-%{version}.diff Patch2: ipvsadm-%{version}-print_largenum.diff +# PATCH-FIX-SLE ipvs_dests_parse_cb-memory-corruption bnc#775051 +Patch3: ipvsadm-%{version}-ipvs_dests_parse_cb-memory-corruption.diff +# PATCH-FIX-SLE wrong-error-with--ops-option bnc#847005 +Patch4: ipvsadm-%{version}-wrong-error-with--ops-option.bnc847005.diff Provides: %{name}-%{version} Requires: grep Requires(pre): %fillup_prereq @@ -62,6 +68,8 @@ EOFF %patch1 %patch2 +%patch3 +%patch4 %build make POPT_LIB="-lpopt" CFLAGS="%{optflags} -fPIC -DHAVE_POPT -DLIBIPVS_USE_NL" ++++++ ipvsadm-1.26-ipvs_dests_parse_cb-memory-corruption.diff ++++++ Index: libipvs/ip_vs.h =================================================================== --- libipvs/ip_vs.h.orig +++ libipvs/ip_vs.h @@ -413,7 +413,7 @@ enum { __IPVS_CMD_ATTR_MAX, }; -#define IPVS_CMD_ATTR_MAX (__IPVS_SVC_ATTR_MAX - 1) +#define IPVS_CMD_ATTR_MAX (__IPVS_CMD_ATTR_MAX - 1) /* * Attributes used to describe a service Index: libipvs/libipvs.c =================================================================== --- libipvs/libipvs.c.orig +++ libipvs/libipvs.c @@ -726,8 +726,8 @@ ipvs_sort_services(struct ip_vs_get_serv static int ipvs_dests_parse_cb(struct nl_msg *msg, void *arg) { struct nlmsghdr *nlh = nlmsg_hdr(msg); - struct nlattr *attrs[IPVS_DEST_ATTR_MAX + 1]; - struct nlattr *dest_attrs[IPVS_SVC_ATTR_MAX + 1]; + struct nlattr *attrs[IPVS_CMD_ATTR_MAX + 1]; + struct nlattr *dest_attrs[IPVS_DEST_ATTR_MAX + 1]; struct ip_vs_get_dests **dp = (struct ip_vs_get_dests **)arg; struct ip_vs_get_dests *d = (struct ip_vs_get_dests *)*dp; int i = d->num_dests; ++++++ ipvsadm-1.26-wrong-error-with--ops-option.bnc847005.diff ++++++ --- ipvsadm.c 2013-10-21 17:27:39.271243668 +0200 +++ ipvsadm.c 2014-01-22 15:22:44.977501332 +0100 @@ -189,7 +189,6 @@ "connection", "service-address", "scheduler", - "pe", "persistent", "netmask", "real-server", @@ -208,6 +207,7 @@ "syncid", "exact", "ops", + "pe", }; /* @@ -220,21 +220,21 @@ */ static const char commands_v_options[NUMBER_OF_CMD][NUMBER_OF_OPT] = { - /* -n -c svc -s -p -M -r fwd -w -x -y -mc tot dmn -st -rt thr -pc srt sid -ex ops */ -/*ADD*/ {'x', 'x', '+', ' ', ' ', ' ', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', ' '}, -/*EDIT*/ {'x', 'x', '+', ' ', ' ', ' ', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', ' '}, -/*DEL*/ {'x', 'x', '+', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x'}, -/*FLUSH*/ {'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x'}, -/*LIST*/ {' ', '1', '1', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', '1', '1', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'x'}, -/*ADDSRV*/ {'x', 'x', '+', 'x', 'x', 'x', '+', ' ', ' ', ' ', ' ', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x'}, -/*DELSRV*/ {'x', 'x', '+', 'x', 'x', 'x', '+', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x'}, -/*EDITSRV*/ {'x', 'x', '+', 'x', 'x', 'x', '+', ' ', ' ', ' ', ' ', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x'}, -/*TIMEOUT*/ {'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x'}, -/*STARTD*/ {'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', ' ', 'x', 'x', 'x', 'x', 'x', 'x', 'x', ' ', 'x', 'x'}, -/*STOPD*/ {'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', ' ', 'x', 'x'}, -/*RESTORE*/ {'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x'}, -/*SAVE*/ {' ', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x'}, -/*ZERO*/ {'x', 'x', ' ', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x'}, + /* -n -c svc -s -p -M -r fwd -w -x -y -mc tot dmn -st -rt thr -pc srt sid -ex ops pe */ +/*ADD*/ {'x', 'x', '+', ' ', ' ', ' ', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', ' ', ' '}, +/*EDIT*/ {'x', 'x', '+', ' ', ' ', ' ', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', ' ', ' '}, +/*DEL*/ {'x', 'x', '+', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x'}, +/*FLUSH*/ {'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x'}, +/*LIST*/ {' ', '1', '1', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', '1', '1', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'x', 'x'}, +/*ADDSRV*/ {'x', 'x', '+', 'x', 'x', 'x', '+', ' ', ' ', ' ', ' ', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x'}, +/*DELSRV*/ {'x', 'x', '+', 'x', 'x', 'x', '+', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x'}, +/*EDITSRV*/ {'x', 'x', '+', 'x', 'x', 'x', '+', ' ', ' ', ' ', ' ', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x'}, +/*TIMEOUT*/ {'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x'}, +/*STARTD*/ {'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', ' ', 'x', 'x', 'x', 'x', 'x', 'x', 'x', ' ', 'x', 'x', 'x'}, +/*STOPD*/ {'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', ' ', 'x', 'x', 'x'}, +/*RESTORE*/ {'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x'}, +/*SAVE*/ {' ', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x'}, +/*ZERO*/ {'x', 'x', ' ', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x'}, }; /* printing format flags */ --- ipvsadm.c 2014-01-22 15:25:23.409501345 +0100 +++ ipvsadm.c 2014-01-22 15:26:36.685504041 +0100 @@ -1485,9 +1485,9 @@ } } if (se->pe_name[0]) - printf(" pe %s", se->pe_name); + printf(" --pe %s", se->pe_name); if (se->flags & IP_VS_SVC_F_ONEPACKET) - printf(" ops"); + printf(" -o"); } else if (format & FMT_STATS) { printf("%-33s", svc_name); print_largenum(se->stats.conns, format); @@ -1517,9 +1517,9 @@ printf(" mask %i", se->netmask); if (se->pe_name[0]) printf(" pe %s", se->pe_name); - if (se->flags & IP_VS_SVC_F_ONEPACKET) - printf(" ops"); } + if (se->flags & IP_VS_SVC_F_ONEPACKET) + printf(" ops"); } printf("\n"); -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org