Hello community,

here is the log from the commit of package chrony for openSUSE:Factory checked 
in at 2018-08-07 10:50:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/chrony (Old)
 and      /work/SRC/openSUSE:Factory/.chrony.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "chrony"

Tue Aug  7 10:50:06 2018 rev:14 rq:627295 version:3.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/chrony/chrony.changes    2018-04-20 
17:23:52.186723723 +0200
+++ /work/SRC/openSUSE:Factory/.chrony.new/chrony.changes       2018-08-07 
10:50:10.608592995 +0200
@@ -1,0 +2,39 @@
+Fri Aug  3 07:56:06 UTC 2018 - [email protected]
+
+- Update clknetsim to revision 42b693b
+  * Drop not needed chrony-fix-open.patch
+- Build tests with optflags as well
+- Do not run tests on i586
+- Enable signd
+
+-------------------------------------------------------------------
+Thu Aug  2 07:52:58 UTC 2018 - [email protected]
+
+- Mention all sources as such in spec file
+- Fix formatting of changelog
+- Drop reference to change is not present
+
+-------------------------------------------------------------------
+Wed Aug  1 16:36:17 UTC 2018 - [email protected]
+
+- Update to version 3.3
+  * Enhancements:
+    + Add burst option to server/pool directive
+    + Add stratum and tai options to refclock directive
+    + Add support for Nettle crypto library
+    + Add workaround for missing kernel receive timestamps on Linux
+    + Wait for late hardware transmit timestamps
+    + Improve source selection with unreachable sources
+    + Improve protection against replay attacks on symmetric mode
+    + Allow PHC refclock to use socket in /var/run/chrony
+    + Add shutdown command to stop chronyd
+    + Simplify format of response to manual list command
+    + Improve handling of unknown responses in chronyc
+  * Bug fixes:
+    + Respond to NTPv1 client requests with zero mode
+    + Fix -x option to not require CAP_SYS_TIME under non-root user
+    + Fix acquisitionport directive to work with privilege separation
+    + Fix handling of socket errors on Linux to avoid high CPU usage
+    + Fix chronyc to not get stuck in infinite loop after clock step
+
+-------------------------------------------------------------------

Old:
----
  chrony-3.2.tar.gz
  chrony-fix-open.patch
  clknetsim-71dbbc5.tar.gz

New:
----
  chrony-3.3.tar.gz
  chrony-3.3.tar.gz.sig
  chrony.keyring
  clknetsim-42b693b.tar.gz

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

Other differences:
------------------
++++++ chrony.spec ++++++
--- /var/tmp/diff_new_pack.1SfhXL/_old  2018-08-07 10:50:11.868595250 +0200
+++ /var/tmp/diff_new_pack.1SfhXL/_new  2018-08-07 10:50:11.880595271 +0200
@@ -17,24 +17,26 @@
 
 
 %define vendorzone opensuse.
-%global clknetsim_ver 71dbbc5
+%global clknetsim_ver 42b693b
 #Compat macro for new _fillupdir macro introduced in Nov 2017
 %if ! %{defined _fillupdir}
   %define _fillupdir %{_localstatedir}/adm/fillup-templates
 %endif
 Name:           chrony
-Version:        3.2
+Version:        3.3
 Release:        0
 Summary:        System Clock Synchronization Client and Server
 License:        GPL-2.0-only
 Group:          Productivity/Networking/Other
-Url:            http://chrony.tuxfamily.org/
-Source:         http://download.tuxfamily.org/chrony/chrony-%{version}.tar.gz
+URL:            https://chrony.tuxfamily.org/
+Source:         https://download.tuxfamily.org/chrony/chrony-%{version}.tar.gz
 Source2:        chrony.sysconfig
 Source3:        chrony.dhclient
 Source4:        chrony.helper
 Source5:        [email protected]
 Source6:        [email protected]
+Source7:        
https://download.tuxfamily.org/chrony/chrony-3.3-tar-gz-asc.txt#/chrony-%{version}.tar.gz.sig
+Source8:        chrony.keyring
 # Simulator for test suite
 Source10:       
https://github.com/mlichvar/clknetsim/archive/%{clknetsim_ver}/clknetsim-%{clknetsim_ver}.tar.gz
 # PATCH-MISSING-TAG -- See 
http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
@@ -42,7 +44,6 @@
 # Add NTP servers from DHCP when starting service
 Patch1:         chrony-service-helper.patch
 Patch2:         chrony-logrotate.patch
-Patch5:         chrony-fix-open.patch
 BuildRequires:  NetworkManager-devel
 BuildRequires:  bison
 BuildRequires:  gcc-c++
@@ -93,7 +94,6 @@
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
-%patch5 -p1
 
 # If this is an openSUSE build, use our vendor zone
 # (2.*pool.ntp.org names include IPv6 addresses). If not
@@ -109,7 +109,7 @@
 cat << EOF >> chrony.conf
 
 # Also include any directives found in configuration files in /etc/chrony.d
-include /etc/chrony.d/*.conf
+include %{_sysconfdir}/chrony.d/*.conf
 EOF
 
 touch -r examples/chrony.conf.example2 chrony.conf
@@ -130,7 +130,8 @@
   %endif
   --with-user=chrony                        \
   --with-hwclockfile=%{_sysconfdir}/adjtime \
-  --with-sendmail=%{_sbindir}/sendmail
+  --with-sendmail=%{_sbindir}/sendmail      \
+  --enable-ntp-signd
 make %{?_smp_mflags} all docs
 
 %install
@@ -159,9 +160,9 @@
 ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rcchronyd
 ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rcchrony-wait
 
-install -d %{buildroot}%{_prefix}/lib/systemd/ntp-units.d
+install -d %{buildroot}%{_libexecdir}/systemd/ntp-units.d
 echo 'chronyd.service' > \
-        %{buildroot}%{_prefix}/lib/systemd/ntp-units.d/50-chronyd.list
+        %{buildroot}%{_libexecdir}/systemd/ntp-units.d/50-chronyd.list
 
 install -Dpm 0644 %{SOURCE2} \
   %{buildroot}%{_fillupdir}/sysconfig.chrony
@@ -171,11 +172,14 @@
 install -d %{buildroot}%{_localstatedir}/log/chrony
 touch %{buildroot}%{_localstatedir}/lib/chrony/{drift,rtc}
 
+%ifnarch %ix86
 %check
 # Set random seed to get deterministic results
 export CLKNETSIM_RANDOM_SEED=24501
+export CFLAGS="%{optflags}"
 make %{?_smp_mflags} -C test/simulation/clknetsim
 make %{?_smp_mflags} check
+%endif
 
 %pre
 getent group %{name} >/dev/null || groupadd -r %{name}
@@ -207,10 +211,10 @@
 %{_bindir}/chronyc
 %{_sbindir}/chronyd
 %{_datadir}/chrony-helper
-%{_mandir}/man1/chronyc.1%{ext_man}
-%{_mandir}/man5/chrony.conf.5%{ext_man}
-%{_mandir}/man8/chronyd.8%{ext_man}
-%{_prefix}/lib/systemd/ntp-units.d/*.list
+%{_mandir}/man1/chronyc.1%{?ext_man}
+%{_mandir}/man5/chrony.conf.5%{?ext_man}
+%{_mandir}/man8/chronyd.8%{?ext_man}
+%{_libexecdir}/systemd/ntp-units.d/*.list
 %{_unitdir}/chrony*.service
 %{_unitdir}/chrony*.timer
 %{_sbindir}/rcchrony*

++++++ chrony-3.2.tar.gz -> chrony-3.3.tar.gz ++++++
++++ 4035 lines of diff (skipped)

++++++ clknetsim-71dbbc5.tar.gz -> clknetsim-42b693b.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/clknetsim-71dbbc509eee05cb29e33468be93d5ba52b79429/README 
new/clknetsim-42b693b1a4d0126a10faf9ef564a41f55a138f29/README
--- old/clknetsim-71dbbc509eee05cb29e33468be93d5ba52b79429/README       
2017-07-25 09:46:32.000000000 +0200
+++ new/clknetsim-42b693b1a4d0126a10faf9ef564a41f55a138f29/README       
2018-06-18 13:04:13.000000000 +0200
@@ -21,7 +21,7 @@
 - chronyd and chronyc from chrony (http://chrony.tuxfamily.org/)
 - ntpd, ntpdate, sntp and ntpq from ntp (http://www.ntp.org/)
 - ntpd from busybox (http://www.busybox.net/)
-- ptp4l, phc2sys and pmc from linuxptp (http://linuxptp.sourceforge.net/)
+- ptp4l, phc2sys, pmc and nsm from linuxptp (http://linuxptp.sourceforge.net/)
 
 Limitations:
 - only Linux is supported
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/clknetsim-71dbbc509eee05cb29e33468be93d5ba52b79429/client.c 
new/clknetsim-42b693b1a4d0126a10faf9ef564a41f55a138f29/client.c
--- old/clknetsim-71dbbc509eee05cb29e33468be93d5ba52b79429/client.c     
2017-07-25 09:46:32.000000000 +0200
+++ new/clknetsim-42b693b1a4d0126a10faf9ef564a41f55a138f29/client.c     
2018-06-18 13:04:13.000000000 +0200
@@ -111,6 +111,14 @@
        IFACE_ETH0,
 };
 
+struct ts_message {
+       char data[MAX_PACKET_SIZE];
+       unsigned int len;
+       unsigned int subnet;
+       unsigned int to;
+       unsigned int port;
+};
+
 struct socket {
        int used;
        int type;
@@ -121,20 +129,12 @@
        int broadcast;
        int pkt_info;
        int time_stamping;
+       struct ts_message last_ts_msg;
 };
 
 static struct socket sockets[MAX_SOCKETS];
 static int subnets;
 
-struct ts_msg {
-       char data[MAX_PACKET_SIZE];
-       int len;
-       int subnet;
-       int to;
-       int port;
-       int sockfd;
-} last_ts_msg;
-
 static double real_time = 0.0;
 static double monotonic_time = 0.0;
 static double network_time = 0.0;
@@ -724,7 +724,8 @@
        if (exceptfds) {
                /* chronyd waiting for TX timestamp from the error queue */
                for (i = 0; i < nfds; i++) {
-                       if (!FD_ISSET(i, exceptfds) || i != last_ts_msg.sockfd)
+                       if (!FD_ISSET(i, exceptfds) || get_socket_from_fd(i) < 
0 ||
+                                       
!sockets[get_socket_from_fd(i)].last_ts_msg.len)
                                continue;
                        if (readfds)
                                FD_ZERO(readfds);
@@ -942,7 +943,12 @@
        tv.tv_usec = req->tv_nsec / 1000 + 1;
 
        r = select(0, NULL, NULL, NULL, &tv);
-       assert(r == 0);
+       assert(r <= 0);
+
+       if (r < 0) {
+               assert(!rem);
+               return r;
+       }
 
        if (rem)
                rem->tv_sec = rem->tv_nsec = 0;
@@ -1261,7 +1267,7 @@
                                SOF_TIMESTAMPING_RAW_HARDWARE |
                                SOF_TIMESTAMPING_TX_HARDWARE | 
SOF_TIMESTAMPING_RX_HARDWARE;
                        info->tx_types = HWTSTAMP_TX_ON;
-                       info->rx_filters = HWTSTAMP_FILTER_NONE | 
HWTSTAMP_FILTER_ALL;
+                       info->rx_filters = 1 << HWTSTAMP_FILTER_NONE | 1 << 
HWTSTAMP_FILTER_ALL;
                } else
                        ret = -1, errno = EINVAL;
 #endif
@@ -1272,6 +1278,19 @@
                /* maximum frequency in 32-bit timex.freq */
                caps->max_adj = 32767999;
 #endif
+#ifdef PTP_SYS_OFFSET_PRECISE
+       } else if (request == PTP_SYS_OFFSET_PRECISE && fd == REFCLK_FD) {
+               struct ptp_sys_offset_precise *sys_off = va_arg(ap, struct 
ptp_sys_offset_precise *);
+               struct timespec ts;
+
+               clock_gettime(REFCLK_ID, &ts);
+               sys_off->device.sec = ts.tv_sec;
+               sys_off->device.nsec = ts.tv_nsec;
+
+               clock_gettime(CLOCK_REALTIME, &ts);
+               sys_off->sys_realtime.sec = ts.tv_sec;
+               sys_off->sys_realtime.nsec = ts.tv_nsec;
+#endif
 #ifdef SIOCSHWTSTAMP
        } else if (request == SIOCSHWTSTAMP && s >= 0) {
 #endif
@@ -1378,15 +1397,14 @@
        make_request(REQ_SEND, &req, offsetof(struct Request_send, data) + 
req.len, NULL, 0);
 
        if (sockets[s].time_stamping & (SOF_TIMESTAMPING_TX_SOFTWARE | 
SOF_TIMESTAMPING_TX_HARDWARE)) {
-               assert(req.len <= sizeof (last_ts_msg.data));
-               memcpy(last_ts_msg.data, req.data, req.len);
-               last_ts_msg.len = req.len;
-               last_ts_msg.subnet = req.subnet;
-               last_ts_msg.to = req.to;
-               last_ts_msg.port = req.dst_port;
-               last_ts_msg.sockfd = sockfd;
-       } else {
-               last_ts_msg.sockfd = -1;
+               struct ts_message *last_ts_msg = &sockets[s].last_ts_msg;
+
+               assert(req.len <= sizeof (last_ts_msg->data));
+               memcpy(last_ts_msg->data, req.data, req.len);
+               last_ts_msg->len = req.len;
+               last_ts_msg->subnet = req.subnet;
+               last_ts_msg->to = req.to;
+               last_ts_msg->port = req.dst_port;
        }
 
        return req.len;
@@ -1467,18 +1485,20 @@
 
        if (sockets[s].time_stamping & (SOF_TIMESTAMPING_TX_SOFTWARE | 
SOF_TIMESTAMPING_TX_HARDWARE) &&
            flags & MSG_ERRQUEUE) {
+               struct ts_message *last_ts_msg;
                uint32_t addr;
                uint16_t port;
 
                /* last message looped back to the error queue */
 
-               assert(sockfd == last_ts_msg.sockfd);
-               last_ts_msg.sockfd = -1;
+               last_ts_msg = &sockets[s].last_ts_msg;
+               assert(last_ts_msg->len);
+
                msg->msg_flags = MSG_ERRQUEUE;
 
-               rep.subnet = last_ts_msg.subnet;
-               rep.from = last_ts_msg.to;
-               rep.src_port = last_ts_msg.port;
+               rep.subnet = last_ts_msg->subnet;
+               rep.from = last_ts_msg->to;
+               rep.src_port = last_ts_msg->port;
                rep.dst_port = sockets[s].port;
 
                addr = htonl(NODE_ADDR(rep.subnet, rep.from));
@@ -1492,10 +1512,12 @@
                memcpy(rep.data + 30, &addr, sizeof (addr));
                memcpy(rep.data + 36, &port, sizeof (port));
 
-               assert(last_ts_msg.len + 42 <= sizeof (rep.data));
-               memcpy(rep.data + 42, last_ts_msg.data, last_ts_msg.len);
+               assert(last_ts_msg->len + 42 <= sizeof (rep.data));
+               memcpy(rep.data + 42, last_ts_msg->data, last_ts_msg->len);
+
+               rep.len = 42 + last_ts_msg->len;
 
-               rep.len = 42 + last_ts_msg.len;
+               last_ts_msg->len = 0;
        } else
                make_request(REQ_RECV, NULL, 0, &rep, sizeof (rep));
 
@@ -1539,6 +1561,7 @@
                memset(&ipi, 0, sizeof (ipi));
                ipi.ipi_spec_dst.s_addr = htonl(NODE_ADDR(rep.subnet, node));
                ipi.ipi_addr.s_addr = ipi.ipi_spec_dst.s_addr;
+               ipi.ipi_ifindex = rep.subnet + 1;
 
                memcpy(CMSG_DATA(cmsg), &ipi, sizeof (ipi));
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/clknetsim-71dbbc509eee05cb29e33468be93d5ba52b79429/clknetsim.bash 
new/clknetsim-42b693b1a4d0126a10faf9ef564a41f55a138f29/clknetsim.bash
--- old/clknetsim-71dbbc509eee05cb29e33468be93d5ba52b79429/clknetsim.bash       
2017-07-25 09:46:32.000000000 +0200
+++ new/clknetsim-42b693b1a4d0126a10faf9ef564a41f55a138f29/clknetsim.bash       
2018-06-18 13:04:13.000000000 +0200
@@ -83,6 +83,10 @@
        phc2sys)
            args=(-s /dev/ptp0 -O 0 $opts $config)
            ;;
+       nsm)
+           args=($opts)
+           while read line; do args+=("$line"); done <<< "$config"
+           ;;
        *)
            echo "unknown client $client"
            exit 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/clknetsim-71dbbc509eee05cb29e33468be93d5ba52b79429/examples/nsm.test 
new/clknetsim-42b693b1a4d0126a10faf9ef564a41f55a138f29/examples/nsm.test
--- old/clknetsim-71dbbc509eee05cb29e33468be93d5ba52b79429/examples/nsm.test    
1970-01-01 01:00:00.000000000 +0100
+++ new/clknetsim-42b693b1a4d0126a10faf9ef564a41f55a138f29/examples/nsm.test    
2018-06-18 13:04:13.000000000 +0200
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+CLKNETSIM_PATH=..
+. ../clknetsim.bash
+
+generate_config4 "1 3" "1 2 3" 0.01 "(sum (* 1e-9 (normal)))" "(* 1e-8 
(exponential))"
+
+echo 'node3_start = 50' >> tmp/conf
+
+start_client 1 ptp4l "hybrid_e2e 1
+net_sync_monitor 1" "" "-i eth0"
+start_client 2 ptp4l "hybrid_e2e 1
+net_sync_monitor 1" "" "-i eth0"
+start_client 3 nsm "NSM 192.168.123.1
+NSM 192.168.123.2" "" "-i eth0"
+
+start_server 3 -l 110
+
+cat tmp/log.3


Reply via email to