Hello community,

here is the log from the commit of package chrony for openSUSE:Factory checked 
in at 2019-03-13 09:06:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/chrony (Old)
 and      /work/SRC/openSUSE:Factory/.chrony.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "chrony"

Wed Mar 13 09:06:56 2019 rev:18 rq:682198 version:3.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/chrony/chrony.changes    2018-12-27 
00:25:48.403838980 +0100
+++ /work/SRC/openSUSE:Factory/.chrony.new.28833/chrony.changes 2019-03-13 
09:06:57.503437964 +0100
@@ -1,0 +2,5 @@
+Wed Mar  6 13:40:04 UTC 2019 - Martin Pluskal <mplus...@suse.com>
+
+- Update testsuite to version 58c5e8b
+
+-------------------------------------------------------------------

Old:
----
  clknetsim-8b48422.tar.gz

New:
----
  clknetsim-58c5e8b.tar.gz

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

Other differences:
------------------
++++++ chrony.spec ++++++
--- /var/tmp/diff_new_pack.bdzwsC/_old  2019-03-13 09:06:58.167437897 +0100
+++ /var/tmp/diff_new_pack.bdzwsC/_new  2019-03-13 09:06:58.167437897 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package chrony
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 %define vendorzone opensuse.
-%global clknetsim_ver 8b48422
+%global clknetsim_ver 58c5e8b
 #Compat macro for new _fillupdir macro introduced in Nov 2017
 %if ! %{defined _fillupdir}
   %define _fillupdir %{_localstatedir}/adm/fillup-templates



++++++ clknetsim-8b48422.tar.gz -> clknetsim-58c5e8b.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/clknetsim-8b484227848a0b9a71caecbf3e19166f1ee9b0a6/client.c 
new/clknetsim-58c5e8bd6d041ff30e9c7dbe45162a73e99f3d24/client.c
--- old/clknetsim-8b484227848a0b9a71caecbf3e19166f1ee9b0a6/client.c     
2018-09-26 17:01:57.000000000 +0200
+++ new/clknetsim-58c5e8bd6d041ff30e9c7dbe45162a73e99f3d24/client.c     
2019-01-28 10:35:17.000000000 +0100
@@ -1550,7 +1550,7 @@
        } else
                make_request(REQ_RECV, NULL, 0, &rep, sizeof (rep));
 
-       if (rep.len == 0) {
+       if (rep.len == 0 && rep.from == -1) {
                errno = EWOULDBLOCK;
                return -1;
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/clknetsim-8b484227848a0b9a71caecbf3e19166f1ee9b0a6/client_fuzz.c 
new/clknetsim-58c5e8bd6d041ff30e9c7dbe45162a73e99f3d24/client_fuzz.c
--- old/clknetsim-8b484227848a0b9a71caecbf3e19166f1ee9b0a6/client_fuzz.c        
2018-09-26 17:01:57.000000000 +0200
+++ new/clknetsim-58c5e8bd6d041ff30e9c7dbe45162a73e99f3d24/client_fuzz.c        
2019-01-28 10:35:17.000000000 +0100
@@ -29,8 +29,14 @@
        FUZZ_MODE_NONE = 4,
 };
 
+#define FUZZ_FLAG_TIMEOUT 1024
+
+#define MAX_FUZZ_PORTS 16
+
 static int fuzz_mode;
-static int fuzz_port;
+static int fuzz_ports[MAX_FUZZ_PORTS];
+static int fuzz_port_index, fuzz_ports_n;
+static int fuzz_timeout;
 static double fuzz_start;
 
 static int fuzz_init(void) {
@@ -42,6 +48,11 @@
 
        fuzz_mode = atoi(env);
 
+       if (fuzz_mode & FUZZ_FLAG_TIMEOUT) {
+               fuzz_timeout = 1;
+               fuzz_mode &= ~FUZZ_FLAG_TIMEOUT;
+       }
+
        if (fuzz_mode == FUZZ_MODE_DISABLED)
                return 0;
 
@@ -51,12 +62,21 @@
        }
 
        env = getenv("CLKNETSIM_FUZZ_PORT");
-       if (!env) {
-               fprintf(stderr, "clknetsim: CLKNETSIM_FUZZ_PORT variable not 
set.\n");
-               exit(1);
+
+       for (fuzz_ports_n = 0; env && fuzz_ports_n < MAX_FUZZ_PORTS; 
fuzz_ports_n++) {
+               fuzz_ports[fuzz_ports_n] = atoi(env);
+               if (!fuzz_ports[fuzz_ports_n])
+                       break;
+               env = strchr(env, ',');
+               if (env)
+                       env++;
        }
 
-       fuzz_port = atoi(env);
+       if (!fuzz_ports_n) {
+               fprintf(stderr, "clknetsim: CLKNETSIM_FUZZ_PORT variable not 
set or invalid.\n");
+               exit(1);
+       }
+       fuzz_port_index = 0;
 
        env = getenv("CLKNETSIM_FUZZ_START");
        fuzz_start = env ? atof(env) : 0.1;
@@ -64,7 +84,24 @@
        return 1;
 }
 
-static int fuzz_read_packet(char *data, int maxlen) {
+static int fuzz_is_fuzz_port(int port) {
+       int i;
+
+       for (i = 0; i < fuzz_ports_n; i++)
+               if (fuzz_ports[i] == port)
+                       return 1;
+       return 0;
+}
+
+static int fuzz_get_fuzz_port(void) {
+       return fuzz_ports[fuzz_port_index];
+}
+
+static void fuzz_switch_fuzz_port(void) {
+       fuzz_port_index = (fuzz_port_index + 1) % fuzz_ports_n;
+}
+
+static int fuzz_read_packet(char *data, int maxlen, int *rlen) {
        int len;
        uint16_t slen;
 
@@ -78,7 +115,9 @@
                len = maxlen;
        }
 
-       return fread(data, 1, len, stdin);
+       *rlen = fread(data, 1, len, stdin);
+
+       return !len || rlen;
 }
 
 static void fuzz_write_packet(const char *data, int len) {
@@ -98,6 +137,7 @@
        static int sent = 0;
        static int dst_port = 0;
        static int packet_len = 0;
+       static int valid_packet = 0;
        static char packet[MAX_PACKET_SIZE];
 
        if (reply)
@@ -115,11 +155,15 @@
                                return;
                        }
 
-                       if (!packet_len && (!received || fuzz_mode != 
FUZZ_MODE_ONESHOT))
-                               packet_len = fuzz_read_packet(packet, sizeof 
(packet));
+                       if (!valid_packet && (!received || fuzz_mode != 
FUZZ_MODE_ONESHOT))
+                               valid_packet = fuzz_read_packet(packet, sizeof 
(packet), &packet_len);
 
-                       if (!packet_len) {
+                       if (!valid_packet) {
                                reply->select.ret = REPLY_SELECT_TERMINATE;
+                       } else if (!packet_len && fuzz_timeout) {
+                               network_time += request->select.timeout;
+                               reply->select.ret = REPLY_SELECT_TIMEOUT;
+                               valid_packet = 0;
                        } else {
                                if (fuzz_mode == FUZZ_MODE_REPLY) {
                                        if (sent > received) {
@@ -144,35 +188,37 @@
                        }
 
                        reply->select.subnet = 0;
-                       reply->select.dst_port = dst_port ? dst_port : 
fuzz_port;
+                       reply->select.dst_port = dst_port ? dst_port : 
fuzz_get_fuzz_port();
                        reply->select.time.real_time = network_time;
                        reply->select.time.monotonic_time = network_time;
                        reply->select.time.network_time = network_time;
                        break;
                case REQ_SEND:
-                       if (request->send.to != 1)
+                       if (request->send.to != 1 && request->send.to != -1)
                                break;
 
                        if (fuzz_mode == FUZZ_MODE_REPLY) {
-                               if (request->send.dst_port != fuzz_port)
+                               if (!fuzz_is_fuzz_port(request->send.dst_port))
                                        break;
                                dst_port = request->send.src_port;
-                       } else if (request->send.src_port != fuzz_port)
+                       } else if (!fuzz_is_fuzz_port(request->send.src_port))
                                break;
 
                        fuzz_write_packet(request->send.data, 
request->send.len);
                        sent++;
                        break;
                case REQ_RECV:
-                       network_time += 1e-1;
+                       network_time += 1e-5;
                        reply->recv.subnet = 0;
-                       reply->recv.from = 1;
-                       reply->recv.src_port = fuzz_port;
-                       reply->recv.dst_port = dst_port ? dst_port : fuzz_port;
+                       reply->recv.from = valid_packet ? 1 : -1;
+                       reply->recv.src_port = fuzz_get_fuzz_port();
+                       reply->recv.dst_port = dst_port ? dst_port : 
fuzz_get_fuzz_port();
                        memcpy(reply->recv.data, packet, packet_len);
                        reply->recv.len = packet_len;
                        received++;
+                       valid_packet = 0;
                        packet_len = 0;
+                       fuzz_switch_fuzz_port();
                        break;
                case REQ_SETTIME:
                        network_time = request->settime.time;


Reply via email to