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

Reply via email to