From 0646cda632aa1c3197d1909c4df42c0695e2ca210faf25f14fd6ee7b7810e3bd Mon Sep 17 00:00:00 2001 From: Christian Wittmer Date: Thu, 29 Dec 2022 23:47:37 +0000 Subject: [PATCH] Accepting request 1045495 from home:polslinux:branches:network - Update to 3.10.0: * Added support for domaindiscount24.com * Added support for njal.la * Added support for Cloudflare API tokens * Added support for OVH DynHost. * Added support for ClouDNS. * Added support for dinahosting. * Added support for Gandi LiveDNS. * The freedns protocol (for https://freedns.afraid.org) now supports IPv6 addresses. * New ssl_ca_dir and ssl_ca_file options to specify the location of CA certificates. * New built-in IP discovery service shorthands: + googledomains from https://domains.google + he from https://he.net ip+4only.me, ip6only.me from http://whatismyv6.com + ipify-ipv4 and ipify-ipv6 from https://www.ipify.org + myonlineportal from https://myonlineportal.net + noip-ipv4 and noip-ipv6 from https://www.noip.com + nsupdate.info-ipv4 and nsupdate.info-ipv6 from + https://www.nsupdate.info + zoneedit from https://www.zoneedit.com * Added option -curl to access network with system Curl command instead of the Perl built-in IO::Socket classes. * Added option -{no}web-ssl-validate and -{no}fw-ssl-validateto provide option to disable SSL certificate validation. Note that these only apply for network access when obtaining an IP address with use=web or use=fw (any firewall). Network access to Dynamic DNS servers to set or retrieve IP address will always require certificate validation. * The fw-banlocal option is deprecated and no longer does anything. OBS-URL: https://build.opensuse.org/request/show/1045495 OBS-URL: https://build.opensuse.org/package/show/network/ddclient?expand=0&rev=64 --- ddclient-3.10.0.tar.gz | 3 + ddclient-3.9.1.tar.gz | 3 - ddclient-config.patch | 63 +++++-------------- ddclient-delay-main-process-for-systemd.patch | 22 +++---- ddclient.changes | 44 +++++++++++++ ddclient.spec | 37 +++++++---- disable-ip-test.patch | 10 +++ fix-configure_ac.patch | 9 +++ 8 files changed, 118 insertions(+), 73 deletions(-) create mode 100644 ddclient-3.10.0.tar.gz delete mode 100644 ddclient-3.9.1.tar.gz create mode 100644 disable-ip-test.patch create mode 100644 fix-configure_ac.patch diff --git a/ddclient-3.10.0.tar.gz b/ddclient-3.10.0.tar.gz new file mode 100644 index 0000000..b5254f4 --- /dev/null +++ b/ddclient-3.10.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34b6d9a946290af0927e27460a965ad018a7c525625063b0f380cbddffc01c1b +size 275494 diff --git a/ddclient-3.9.1.tar.gz b/ddclient-3.9.1.tar.gz deleted file mode 100644 index 3e94180..0000000 --- a/ddclient-3.9.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e4969e15cc491fc52bdcd649d4c2b0e4b1bf0c9f9dba23471c634871acc52470 -size 63469 diff --git a/ddclient-config.patch b/ddclient-config.patch index 609b127..8d27bae 100644 --- a/ddclient-config.patch +++ b/ddclient-config.patch @@ -1,35 +1,21 @@ -Index: sample-etc_ddclient.conf -=================================================================== ---- sample-etc_ddclient.conf.orig -+++ sample-etc_ddclient.conf -@@ -16,12 +16,16 @@ - ## are mentioned here. - ## +--- ddclient-3.10.0/ddclient.conf.in.bak 2022-12-27 12:41:54.160794070 +0100 ++++ ddclient-3.10.0/ddclient.conf.in 2022-12-27 12:43:39.501317859 +0100 +@@ -18,10 +18,10 @@ ###################################################################### -+# daemon: consider to use /etc/sysconfig/ddclient instead of modifying here -+# daemon=300 # check every 300 seconds -+# -+###################################################################### syslog=yes # log update msgs to syslog -mail=root # mail all msgs to root +#mail=root # mail all msgs to root - mail-failure=root # mail failed update msgs to root --pid=/var/run/ddclient.pid # record PID in file. + mail-failure=root # mail failed update msgs to root +-pid=@runstatedir@/ddclient.pid # record PID in file. -ssl=yes # use ssl-support. Works with +pid=/run/ddclient/ddclient.pid # record PID in file. +ssl=no # use ssl-support. Works with - # ssl-library - # postscript=script # run script after updating. The - # new IP is added as argument. -@@ -54,10 +58,18 @@ ssl=yes # use ssl-support. Works wi - ## get banned from their service. - #use=web, web=checkip.dyndns.org/, web-skip='IP Address' # found after IP Address + # ssl-library + # postscript=script # run script after updating. The + # new IP is added as argument. +@@ -56,6 +56,9 @@ # -+###################################################################### -+# you do not need to define use= if you are using DSL (ppp0) -+# rc.ddclient is using "use=if, if=ppp0" as default -+# #use=ip, ip=127.0.0.1 # via static IP's #use=if, if=eth0 # via interfaces +#use=if, if=ippp0 # when using ISDN @@ -37,37 +23,22 @@ Index: sample-etc_ddclient.conf +#use=if, if=tun0 # when using tunnel device #use=web # via web # -+###################################################################### #protocol=dyndns2 # default protocol - #proxy=fasthttp.sympatico.ca:80 # default proxy - #server=members.dyndns.org # default server -@@ -70,6 +82,16 @@ ssl=yes # use ssl-support. Works wi +@@ -69,6 +72,17 @@ + #backupmx=yes|no # host is primary MX? #wildcard=yes|no # add wildcard CNAME? - ## +## selfhost dynamic addresses +## http://cms.selfhost.de/cgi-bin/selfhost?p=faq&show=113 +## -+# server=carol.selfhost.de, \ -+# protocol=dyndns2, \ -+# login=your-selfhost-login, \ -+# password=your-selfhost-password \ ++# server=carol.selfhost.de, \ ++# protocol=dyndns2, \ ++# login=your-selfhost-login, \ ++# password=your-selfhost-password \ +# your.selfhost.bz + +## ++ + ## ## dyndns.org dynamic addresses ## - ## (supports variables: wildcard,mx,backupmx) -Index: ddclient -=================================================================== ---- ddclient.orig -+++ ddclient -@@ -33,7 +33,7 @@ my $program = $programd; - $program =~ s/d$//; - my $now = time; - my $hostname = hostname(); --my $etc = ($program =~ /test/i) ? './' : '/etc/ddclient/'; -+my $etc = ($program =~ /test/i) ? './' : '/etc/'; - my $cachedir = ($program =~ /test/i) ? './' : '/var/cache/ddclient/'; - my $savedir = ($program =~ /test/i) ? 'URL/' : '/tmp/'; - my $msgs = ''; diff --git a/ddclient-delay-main-process-for-systemd.patch b/ddclient-delay-main-process-for-systemd.patch index e6d3b66..6b174af 100644 --- a/ddclient-delay-main-process-for-systemd.patch +++ b/ddclient-delay-main-process-for-systemd.patch @@ -1,12 +1,10 @@ -Index: ddclient -=================================================================== ---- ddclient.orig -+++ ddclient -@@ -847,6 +847,7 @@ if (opt('foreground') || opt('force')) { - print STDERR "${program}: can not fork ($!)\n"; - exit -1; - } elsif ($pid) { -+ sleep(1); - exit 0; - } - $SIG{'CHLD'} = 'DEFAULT'; +--- ddclient-3.10.0/ddclient.in.bak 2022-12-27 12:47:57.318599529 +0100 ++++ ddclient-3.10.0/ddclient.in 2022-12-27 12:48:06.902647037 +0100 +@@ -1051,6 +1051,7 @@ + print STDERR "${program}: can not fork ($!)\n"; + exit -1; + } elsif ($pid) { ++ sleep(1); + exit 0; + } + $SIG{'CHLD'} = 'DEFAULT'; diff --git a/ddclient.changes b/ddclient.changes index bcac165..f6c0603 100644 --- a/ddclient.changes +++ b/ddclient.changes @@ -1,3 +1,47 @@ +------------------------------------------------------------------- +Tue Dec 27 12:40:48 UTC 2022 - Paolo Stivanin + +- Update to 3.10.0: + * Added support for domaindiscount24.com + * Added support for njal.la + * Added support for Cloudflare API tokens + * Added support for OVH DynHost. + * Added support for ClouDNS. + * Added support for dinahosting. + * Added support for Gandi LiveDNS. + * The freedns protocol (for https://freedns.afraid.org) now supports IPv6 + addresses. + * New ssl_ca_dir and ssl_ca_file options to specify the location of CA + certificates. + * New built-in IP discovery service shorthands: + + googledomains from https://domains.google + + he from https://he.net + ip+4only.me, ip6only.me from http://whatismyv6.com + + ipify-ipv4 and ipify-ipv6 from https://www.ipify.org + + myonlineportal from https://myonlineportal.net + + noip-ipv4 and noip-ipv6 from https://www.noip.com + + nsupdate.info-ipv4 and nsupdate.info-ipv6 from + + https://www.nsupdate.info + + zoneedit from https://www.zoneedit.com + * Added option -curl to access network with system Curl command instead + of the Perl built-in IO::Socket classes. + * Added option -{no}web-ssl-validate and -{no}fw-ssl-validateto provide + option to disable SSL certificate validation. Note that these only apply for + network access when obtaining an IP address with use=web or use=fw + (any firewall). Network access to Dynamic DNS servers to set or retrieve + IP address will always require certificate validation. + * The fw-banlocal option is deprecated and no longer does anything. + * The if-skip option is deprecated and no longer does anything. + * The default server for the dslreports1 protocol changed from + members.dyndns.org to www.dslreports.com. + * Removed support for defunct dnsspark service + * Removed support for defunct dtdns service + * Removed support for defunct Hammernode service +- Add fix-configure_ac.patch +- Add disable-ip-test.patch +- Rebase ddclient-config.patch +- Rebase ddclient-delay-main-process-for-systemd.patch + ------------------------------------------------------------------- Tue Jul 12 16:08:36 UTC 2022 - chris@computersalat.de diff --git a/ddclient.spec b/ddclient.spec index befbcdf..1478b2c 100644 --- a/ddclient.spec +++ b/ddclient.spec @@ -1,7 +1,7 @@ # # spec file for package ddclient # -# Copyright (c) 2022 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,12 +12,12 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: ddclient -Version: 3.9.1 +Version: 3.10.0 Release: 0 Summary: A Perl Client to Update Dynamic DNS Entries License: GPL-2.0-or-later @@ -29,8 +29,17 @@ Source2: %{name}.sysconfig Source3: %{name}-tmpfiles.conf Patch0: %{name}-config.patch Patch1: %{name}-delay-main-process-for-systemd.patch -Requires: perl >= 5.004 -Requires: perl-Data-Validate-IP +Patch2: fix-configure_ac.patch +Patch3: disable-ip-test.patch +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: make +BuildRequires: perl(HTTP::Daemon) +BuildRequires: perl(HTTP::Message::PSGI) +BuildRequires: perl(IO::Socket::SSL) +BuildRequires: perl(Test::MockModule) +BuildRequires: perl(Test::Warnings) +Requires: perl >= 5.10.1 Requires(pre): %fillup_prereq Requires(pre): shadow Recommends: perl-IO-Socket-SSL @@ -50,21 +59,22 @@ DNS services. Comes with sample scripts for use with DHCP, PPP, and cron. %prep -%setup -q -%patch0 -%patch1 +%autosetup -p1 rm -f sample-etc_ddclient.conf.orig chmod a-x sample-* mkdir examples mv sample-* examples %build -: +./autogen +%configure +make %install -#%%make_install -install -D -m 755 %{name} %{buildroot}%{_sbindir}/%{name} -install -D -m 600 examples/sample-etc_ddclient.conf %{buildroot}%{_sysconfdir}/%{name}.conf +%make_install +find examples -name *exe -delete +mkdir -p %{buildroot}%{_sbindir}/ +mv %{buildroot}%{_bindir}/%{name} %{buildroot}%{_sbindir}/%{name} sed -i -e "s,%{_localstatedir}/run/,/run/%{name}/," %{buildroot}%{_sysconfdir}/%{name}.conf install -D -m 644 %{SOURCE1} %{buildroot}/%{_unitdir}/%{name}.service install -D -m 644 %{SOURCE3} %{buildroot}%{_tmpfilesdir}/%{name}.conf @@ -74,6 +84,9 @@ install -m 644 %{SOURCE2} %{buildroot}%{_fillupdir}/sysconfig.%{name} install -d -m 755 %{buildroot}%{_localstatedir}/cache/%{name} install -d -m 755 %{buildroot}/run/%{name} +%check +make VERBOSE=1 check + %pre getent group %{name} >/dev/null || %{_sbindir}/groupadd -r %{name} getent passwd %{name} >/dev/null || \ diff --git a/disable-ip-test.patch b/disable-ip-test.patch new file mode 100644 index 0000000..62a472b --- /dev/null +++ b/disable-ip-test.patch @@ -0,0 +1,10 @@ +--- ddclient-3.10.0/Makefile.am.bak 2022-12-27 13:47:28.996235989 +0100 ++++ ddclient-3.10.0/Makefile.am 2022-12-27 13:47:34.848264936 +0100 +@@ -69,7 +69,6 @@ + -I'$(abs_top_srcdir)'/t/lib \ + -MDevel::Autoflush + handwritten_tests = \ +- t/get_ip_from_if.pl \ + t/geturl_ssl.pl \ + t/is-and-extract-ipv4.pl \ + t/is-and-extract-ipv6.pl \ diff --git a/fix-configure_ac.patch b/fix-configure_ac.patch new file mode 100644 index 0000000..7acf359 --- /dev/null +++ b/fix-configure_ac.patch @@ -0,0 +1,9 @@ +--- ddclient-3.10.0/configure.ac.bak 2022-12-27 13:40:09.982064952 +0100 ++++ ddclient-3.10.0/configure.ac 2022-12-27 13:39:58.258006975 +0100 +@@ -1,5 +1,5 @@ + AC_PREREQ([2.63]) +-AC_INIT([ddclient], [3.10.0_2]) ++AC_INIT([ddclient], [3.10.0]) + AC_CONFIG_SRCDIR([ddclient.in]) + AC_CONFIG_AUX_DIR([build-aux]) + AC_CONFIG_MACRO_DIR([m4])