Hello community,

here is the log from the commit of package iperf for openSUSE:Factory checked 
in at 2015-04-07 09:29:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/iperf (Old)
 and      /work/SRC/openSUSE:Factory/.iperf.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "iperf"

Changes:
--------
--- /work/SRC/openSUSE:Factory/iperf/iperf.changes      2015-01-10 
23:05:15.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.iperf.new/iperf.changes 2015-04-07 
09:29:47.000000000 +0200
@@ -1,0 +2,8 @@
+Sun Apr  5 21:17:52 UTC 2015 - [email protected]
+
+- iperf 3.0.11
+  * This maintenance release adds a -1 flag to make the iperf3 
+    execute a single test and exit, needed for an upcoming bwctl 
+    release. A few other bugs are also fixed.
+
+-------------------------------------------------------------------
@@ -7 +14,0 @@
-

Old:
----
  iperf-3.0.10.tar.gz

New:
----
  iperf-3.0.11.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ iperf.spec ++++++
--- /var/tmp/diff_new_pack.fNcFew/_old  2015-04-07 09:29:48.000000000 +0200
+++ /var/tmp/diff_new_pack.fNcFew/_new  2015-04-07 09:29:48.000000000 +0200
@@ -18,14 +18,14 @@
 
 %define soname  0
 Name:           iperf
-Version:        3.0.10
+Version:        3.0.11
 Release:        0
 Summary:        A tool to measure network performance
 License:        BSD-3-Clause
 Group:          Productivity/Networking/Diagnostic
 Url:            http://software.es.net/iperf/
 Source:         http://downloads.es.net/pub/iperf/%{name}-%{version}.tar.gz
-# PATCH-FIX-OPENSUSE -- Disable profiling if %optflags includes 
-fomit-frame-pointer, as option -pg conflicts with it
+# PATCH-FIX-OPENSUSE -- Disable profiling if %%optflags includes 
-fomit-frame-pointer, as option -pg conflicts with it
 Patch1:         iperf-3.0.5_disable-profiling.patch
 %if %{?sles_version} && %{?sles_version} <= 11
 BuildRequires:  libuuid-devel

++++++ iperf-3.0.10.tar.gz -> iperf-3.0.11.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iperf-3.0.10/README.md new/iperf-3.0.11/README.md
--- old/iperf-3.0.10/README.md  2014-12-16 20:39:58.000000000 +0100
+++ new/iperf-3.0.11/README.md  2015-01-09 18:44:11.000000000 +0100
@@ -159,7 +159,7 @@
 Copyright
 ---------
 
-iperf, Copyright (c) 2014, The Regents of the University of
+iperf, Copyright (c) 2014-2015, The Regents of the University of
 California, through Lawrence Berkeley National Laboratory (subject
 to receipt of any required approvals from the U.S. Dept. of
 Energy).  All rights reserved.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iperf-3.0.10/RELEASE_NOTES 
new/iperf-3.0.11/RELEASE_NOTES
--- old/iperf-3.0.10/RELEASE_NOTES      2014-12-16 20:39:58.000000000 +0100
+++ new/iperf-3.0.11/RELEASE_NOTES      2015-01-09 18:44:11.000000000 +0100
@@ -1,3 +1,16 @@
+== iperf 3.0.11 2015-01-09 ==
+
+* User-visible changes
+
+  * Added -1 / --one-off flag, which causes the iperf3 server to
+    process one client connection and then exit.  Intended primarily
+    for bwctl integration (issue #230).
+
+  * Added various minor bug fixes (issues #231, #232, #233).
+
+  * Added 30-second timeout for UDP tests if unable to establish UDP
+    connectivity between sender and receiver (issue #222).
+
 == iperf 3.0.10 2014-12-16 ==
 
 * User-visible changes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iperf-3.0.10/configure new/iperf-3.0.11/configure
--- old/iperf-3.0.10/configure  2014-12-16 20:39:58.000000000 +0100
+++ new/iperf-3.0.11/configure  2015-01-09 18:44:11.000000000 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for iperf 3.0.10.
+# Generated by GNU Autoconf 2.69 for iperf 3.0.11.
 #
 # Report bugs to <https://github.com/esnet/iperf>.
 #
@@ -590,8 +590,8 @@
 # Identity of this package.
 PACKAGE_NAME='iperf'
 PACKAGE_TARNAME='iperf'
-PACKAGE_VERSION='3.0.10'
-PACKAGE_STRING='iperf 3.0.10'
+PACKAGE_VERSION='3.0.11'
+PACKAGE_STRING='iperf 3.0.11'
 PACKAGE_BUGREPORT='https://github.com/esnet/iperf'
 PACKAGE_URL='http://software.es.net/iperf/'
 
@@ -1316,7 +1316,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures iperf 3.0.10 to adapt to many kinds of systems.
+\`configure' configures iperf 3.0.11 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1386,7 +1386,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of iperf 3.0.10:";;
+     short | recursive ) echo "Configuration of iperf 3.0.11:";;
    esac
   cat <<\_ACEOF
 
@@ -1498,7 +1498,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-iperf configure 3.0.10
+iperf configure 3.0.11
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1776,7 +1776,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by iperf $as_me 3.0.10, which was
+It was created by iperf $as_me 3.0.11, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2645,7 +2645,7 @@
 
 # Define the identity of the package.
  PACKAGE='iperf'
- VERSION='3.0.10'
+ VERSION='3.0.11'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -12779,7 +12779,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by iperf $as_me 3.0.10, which was
+This file was extended by iperf $as_me 3.0.11, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -12846,7 +12846,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-iperf config.status 3.0.10
+iperf config.status 3.0.11
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iperf-3.0.10/configure.ac 
new/iperf-3.0.11/configure.ac
--- old/iperf-3.0.10/configure.ac       2014-12-16 20:39:58.000000000 +0100
+++ new/iperf-3.0.11/configure.ac       2015-01-09 18:44:11.000000000 +0100
@@ -1,4 +1,4 @@
-# iperf, Copyright (c) 2014, The Regents of the University of
+# iperf, Copyright (c) 2014, 2015, The Regents of the University of
 # California, through Lawrence Berkeley National Laboratory (subject
 # to receipt of any required approvals from the U.S. Dept. of
 # Energy).  All rights reserved.
@@ -24,7 +24,7 @@
 # file for complete information.
 
 # Initialize the autoconf system for the specified tool, version and mailing 
list
-AC_INIT(iperf, 3.0.10, https://github.com/esnet/iperf, iperf, 
http://software.es.net/iperf/)
+AC_INIT(iperf, 3.0.11, https://github.com/esnet/iperf, iperf, 
http://software.es.net/iperf/)
 
 # Specify where the auxiliary files created by configure should go. The config
 # directory is picked so that they don't clutter up more useful directories.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iperf-3.0.10/src/iperf.h new/iperf-3.0.11/src/iperf.h
--- old/iperf-3.0.10/src/iperf.h        2014-12-16 20:39:58.000000000 +0100
+++ new/iperf-3.0.11/src/iperf.h        2015-01-09 18:44:11.000000000 +0100
@@ -192,6 +192,7 @@
 
     /* boolean variables for Options */
     int       daemon;                           /* -D option */
+    int       one_off;                          /* -1 option */
     int       no_delay;                         /* -N option */
     int       reverse;                          /* -R option */
     int              verbose;                          /* -V option - verbose 
mode */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iperf-3.0.10/src/iperf3.1 
new/iperf-3.0.11/src/iperf3.1
--- old/iperf-3.0.10/src/iperf3.1       2014-12-16 20:39:58.000000000 +0100
+++ new/iperf-3.0.11/src/iperf3.1       2015-01-09 18:44:11.000000000 +0100
@@ -1,4 +1,4 @@
-.TH IPERF 1 "June 2014" ESnet "User Manuals"
+.TH IPERF 1 "January 2015" ESnet "User Manuals"
 .SH NAME
 iperf3 \- perform network throughput tests
 .SH SYNOPSIS
@@ -64,6 +64,9 @@
 .TP
 .BR -D ", " --daemon " "
 run the server in background as a daemon
+.TP
+.BR -1 ", " --one-off
+handle one client connection, then exit.
 
 .SH "CLIENT SPECIFIC OPTIONS"
 .TP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iperf-3.0.10/src/iperf_api.c 
new/iperf-3.0.11/src/iperf_api.c
--- old/iperf-3.0.10/src/iperf_api.c    2014-12-16 20:39:58.000000000 +0100
+++ new/iperf-3.0.11/src/iperf_api.c    2015-01-09 18:44:11.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * iperf, Copyright (c) 2014, The Regents of the University of
+ * iperf, Copyright (c) 2014, 2015, The Regents of the University of
  * California, through Lawrence Berkeley National Laboratory (subject
  * to receipt of any required approvals from the U.S. Dept. of
  * Energy).  All rights reserved.
@@ -228,6 +228,12 @@
     return ipt->bind_address;
 }
 
+int
+iperf_get_test_one_off(struct iperf_test *ipt)
+{
+    return ipt->one_off;
+}
+
 /************** Setter routines for some fields inside iperf_test 
*************/
 
 void
@@ -360,7 +366,7 @@
 void
 iperf_set_test_zerocopy(struct iperf_test *ipt, int zerocopy)
 {
-    ipt->zerocopy = zerocopy;
+    ipt->zerocopy = (zerocopy && has_sendfile());
 }
 
 void
@@ -381,6 +387,12 @@
     ipt->bind_address = strdup(bind_address);
 }
 
+void
+iperf_set_test_one_off(struct iperf_test *ipt, int one_off)
+{
+    ipt->one_off = one_off;
+}
+
 /********************** Get/set test protocol structure 
***********************/
 
 struct protocol *
@@ -550,6 +562,7 @@
         {"format", required_argument, NULL, 'f'},
         {"interval", required_argument, NULL, 'i'},
         {"daemon", no_argument, NULL, 'D'},
+        {"one-off", no_argument, NULL, '1'},
         {"verbose", no_argument, NULL, 'V'},
         {"json", no_argument, NULL, 'J'},
         {"version", no_argument, NULL, 'v'},
@@ -592,7 +605,7 @@
 
     blksize = 0;
     server_flag = client_flag = rate_flag = duration_flag = 0;
-    while ((flag = getopt_long(argc, argv, 
"p:f:i:DVJvsc:ub:t:n:k:l:P:Rw:B:M:N46S:L:ZO:F:A:T:C:dh", longopts, NULL)) != 
-1) {
+    while ((flag = getopt_long(argc, argv, 
"p:f:i:D1VJvsc:ub:t:n:k:l:P:Rw:B:M:N46S:L:ZO:F:A:T:C:dh", longopts, NULL)) != 
-1) {
         switch (flag) {
             case 'p':
                 test->server_port = atoi(optarg);
@@ -613,6 +626,10 @@
                test->daemon = 1;
                server_flag = 1;
                break;
+            case '1':
+               test->one_off = 1;
+               server_flag = 1;
+               break;
             case 'V':
                 test->verbose = 1;
                 break;
@@ -892,7 +909,7 @@
 int
 iperf_send(struct iperf_test *test, fd_set *write_setP)
 {
-    register int multisend, r;
+    register int multisend, r, streams_active;
     register struct iperf_stream *sp;
     struct timeval now;
 
@@ -907,6 +924,7 @@
     for (; multisend > 0; --multisend) {
        if (test->settings->rate != 0 && test->settings->burst == 0)
            gettimeofday(&now, NULL);
+       streams_active = 0;
        SLIST_FOREACH(sp, &test->streams, streams) {
            if (sp->green_light &&
                (write_setP == NULL || FD_ISSET(sp->socket, write_setP))) {
@@ -916,6 +934,7 @@
                    i_errno = IESTREAMWRITE;
                    return r;
                }
+               streams_active = 1;
                test->bytes_sent += r;
                ++test->blocks_sent;
                if (test->settings->rate != 0 && test->settings->burst == 0)
@@ -926,6 +945,8 @@
                    break;
            }
        }
+       if (!streams_active)
+           break;
     }
     if (test->settings->burst != 0) {
        gettimeofday(&now, NULL);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iperf-3.0.10/src/iperf_api.h 
new/iperf-3.0.11/src/iperf_api.h
--- old/iperf-3.0.10/src/iperf_api.h    2014-12-16 20:39:58.000000000 +0100
+++ new/iperf-3.0.11/src/iperf_api.h    2015-01-09 18:44:11.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * iperf, Copyright (c) 2014, The Regents of the University of
+ * iperf, Copyright (c) 2014, 2015, The Regents of the University of
  * California, through Lawrence Berkeley National Laboratory (subject
  * to receipt of any required approvals from the U.S. Dept. of
  * Energy).  All rights reserved.
@@ -86,6 +86,7 @@
 int    iperf_get_test_zerocopy( struct iperf_test* ipt );
 int    iperf_get_test_get_server_output( struct iperf_test* ipt );
 char*  iperf_get_test_bind_address ( struct iperf_test* ipt );
+int    iperf_get_test_one_off( struct iperf_test* ipt );
 
 /* Setter routines for some fields inside iperf_test. */
 void   iperf_set_verbose( struct iperf_test* ipt, int verbose );
@@ -109,6 +110,7 @@
 void   iperf_set_test_zerocopy( struct iperf_test* ipt, int zerocopy );
 void   iperf_set_test_get_server_output( struct iperf_test* ipt, int 
get_server_output );
 void   iperf_set_test_bind_address( struct iperf_test* ipt, char *bind_address 
);
+void   iperf_set_test_one_off( struct iperf_test* ipt, int one_off );
 
 /**
  * exchange_parameters - handles the param_Exchange part for client
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iperf-3.0.10/src/iperf_locale.c 
new/iperf-3.0.11/src/iperf_locale.c
--- old/iperf-3.0.10/src/iperf_locale.c 2014-12-16 20:39:58.000000000 +0100
+++ new/iperf-3.0.11/src/iperf_locale.c 2015-01-09 18:44:11.000000000 +0100
@@ -1,5 +1,5 @@
 /*--------------------------------------------------------------- 
- * iperf, Copyright (c) 2014, The Regents of the University of
+ * iperf, Copyright (c) 2014, 2015, The Regents of the University of
  * California, through Lawrence Berkeley National Laboratory (subject
  * to receipt of any required approvals from the U.S. Dept. of
  * Energy).  All rights reserved.
@@ -111,6 +111,7 @@
                            "Server specific:\n"
                            "  -s, --server              run in server mode\n"
                            "  -D, --daemon              run the server as a 
daemon\n"
+                           "  -1, --one-off             handle one client 
connection then exit\n"
                            "Client specific:\n"
                            "  -c, --client    <host>    run in client mode, 
connecting to <host>\n"
                            "  -u, --udp                 use UDP rather than 
TCP\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iperf-3.0.10/src/iperf_udp.c 
new/iperf-3.0.11/src/iperf_udp.c
--- old/iperf-3.0.10/src/iperf_udp.c    2014-12-16 20:39:58.000000000 +0100
+++ new/iperf-3.0.11/src/iperf_udp.c    2015-01-09 18:44:11.000000000 +0100
@@ -260,6 +260,9 @@
 iperf_udp_connect(struct iperf_test *test)
 {
     int s, buf, sz;
+#ifdef SO_RCVTIMEO
+    struct timeval tv;
+#endif
 
     /* Create and bind our local socket. */
     if ((s = netdial(test->settings->domain, Pudp, test->bind_address, 
test->server_hostname, test->server_port)) < 0) {
@@ -283,6 +286,13 @@
         }
     }
 
+#ifdef SO_RCVTIMEO
+    /* 30 sec timeout for a case when there is a network problem. */
+    tv.tv_sec = 30;
+    tv.tv_usec = 0;
+    setsockopt(s, SOL_SOCKET, SO_RCVTIMEO, (struct timeval *)&tv, 
sizeof(struct timeval));
+#endif
+
     /*
      * Write a datagram to the UDP stream to let the server know we're here.
      * The server learns our address by obtaining its peer's address.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iperf-3.0.10/src/main.c new/iperf-3.0.11/src/main.c
--- old/iperf-3.0.10/src/main.c 2014-12-16 20:39:58.000000000 +0100
+++ new/iperf-3.0.11/src/main.c 2015-01-09 18:44:11.000000000 +0100
@@ -139,6 +139,8 @@
                 } else
                    consecutive_errors = 0;
                 iperf_reset_test(test);
+                if (iperf_get_test_one_off(test))
+                    break;
             }
             break;
         case 'c':
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/iperf-3.0.10/src/net.c new/iperf-3.0.11/src/net.c
--- old/iperf-3.0.10/src/net.c  2014-12-16 20:39:58.000000000 +0100
+++ new/iperf-3.0.11/src/net.c  2015-01-09 18:44:11.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * iperf, Copyright (c) 2014, The Regents of the University of
+ * iperf, Copyright (c) 2014, 2015, The Regents of the University of
  * California, through Lawrence Berkeley National Laboratory (subject
  * to receipt of any required approvals from the U.S. Dept. of
  * Energy).  All rights reserved.
@@ -298,28 +298,26 @@
        offset = count - nleft;
 #ifdef linux
        r = sendfile(tofd, fromfd, &offset, nleft);
-#else
-#ifdef __FreeBSD__
+       if (r > 0)
+           nleft -= r;
+#elif defined(__FreeBSD__)
        r = sendfile(fromfd, tofd, offset, nleft, NULL, &sent, 0);
-       if (r == 0)
-           r = sent;
-#else
-#if defined(__APPLE__) && defined(__MACH__) && defined(MAC_OS_X_VERSION_10_6)  
/* OS X */
+       nleft -= sent;
+#elif defined(__APPLE__) && defined(__MACH__) && 
defined(MAC_OS_X_VERSION_10_6)        /* OS X */
        sent = nleft;
        r = sendfile(fromfd, tofd, offset, &sent, NULL, 0);
-       if (r == 0)
-           r = sent;
+       nleft -= sent;
 #else
        /* Shouldn't happen. */
        r = -1;
        errno = ENOSYS;
 #endif
-#endif
-#endif
        if (r < 0) {
            switch (errno) {
                case EINTR:
                case EAGAIN:
+               if (count == nleft)
+                   return NET_SOFTERROR;
                return count - nleft;
 
                case ENOBUFS:
@@ -329,9 +327,11 @@
                default:
                return NET_HARDERROR;
            }
-       } else if (r == 0)
+       }
+#ifdef linux
+       else if (r == 0)
            return NET_SOFTERROR;
-       nleft -= r;
+#endif
     }
     return count;
 }


Reply via email to