Name: dnsmasq Version: 2.82 Release: 5 Summary: Dnsmasq provides network infrastructure for small networks License: GPLv2 or GPLv3 URL: http://www.thekelleys.org.uk/dnsmasq/ Source0: http://www.thekelleys.org.uk/dnsmasq/%{name}-%{version}.tar.xz Source1: dnsmasq.service Source2: dnsmasq-systemd-sysusers.conf Patch1: dnsmasq-2.77-underflow.patch Patch2: dnsmasq-2.78-fips.patch Patch3: bugfix-allow-binding-mac-with-ipv6.patch Patch4: bugfix-deal-with-CONFRIM-when-binding-mac-with-ipv6.patch Patch5: backport-CVE-2020-25681_CVE-2020-25682_CVE-2020-25683_CVE-2020-25687.patch Patch6: backport-CVE-2020-25684.patch Patch7: backport-CVE-2020-25685_1.patch Patch8: backport-CVE-2020-25685_2.patch Patch9: backport-CVE-2020-25686_1.patch Patch10: backport-CVE-2020-25686_2.patch Patch11: backport-fix-regression-in-s_config_in_context-method.patch Patch12: backport-Add-missing-check-for-NULL-return-from-allocate_rfd.patch Patch13: backport-Fix-DNS-reply-when-asking-for-DNSSEC-and-a-validated.patch BuildRequires: dbus-devel pkgconfig libidn2-devel nettle-devel systemd Requires: nettle >= 3.4 Provides: dnsmasq-utils Obsoletes: dnsmasq-utils %{?systemd_requires} %description Dnsmasq provides network infrastructure for small networks: DNS, DHCP, router advertisement and network boot. It is designed to be lightweight and have a small footprint, suitable for resource constrained routers and firewalls. It has also been widely used for tethering on smartphones and portable hotspots, and to support virtual networking in virtualisation frameworks. %package help Summary: Help documents for dnsmasq %description help Help package contains some readme, man and other related files for dnsmasq. %prep %autosetup -n %{name}-%{version} -p1 for file in dnsmasq.conf.example man/dnsmasq.8 man/es/dnsmasq.8 src/config.h; do sed -i 's|/var/lib/misc/dnsmasq.leases|/var/lib/dnsmasq/dnsmasq.leases|g' "$file" done sed -i 's|#user=|user=dnsmasq|;s|#group=|group=dnsmasq|;s|%%%%PREFIX%%%%|%{_prefix}|' dnsmasq.conf.example sed -i 's|#define CHGRP "dip"|#define CHGRP "dnsmasq"|' src/config.h sed -i 's|#define CHUSER "nobody"|#define CHUSER "dnsmasq"|' src/config.h sed -i 's|^COPTS[[:space:]]*=|\0 -DHAVE_DBUS -DHAVE_LIBIDN2 -DHAVE_DNSSEC|' Makefile cat << EOF >> dnsmasq.conf.example conf-dir=/etc/dnsmasq.d,.rpmnew,.rpmsave,.rpmorig EOF %build %make_build CFLAGS="$RPM_OPT_FLAGS" LDFLAGS="$RPM_LD_FLAGS" %make_build -C contrib/lease-tools CFLAGS="$RPM_OPT_FLAGS" LDFLAGS="$RPM_LD_FLAGS" %install install -d $RPM_BUILD_ROOT{%{_sbindir},%{_mandir}/man8,%{_var}/lib/dnsmasq} install -d $RPM_BUILD_ROOT{%{_sysconfdir}/dnsmasq.d,%{_sysconfdir}/dbus-1/system.d} install src/dnsmasq $RPM_BUILD_ROOT%{_sbindir}/dnsmasq install -m644 man/dnsmasq.8 $RPM_BUILD_ROOT%{_mandir}/man8/ install dnsmasq.conf.example $RPM_BUILD_ROOT%{_sysconfdir}/dnsmasq.conf install dbus/dnsmasq.conf $RPM_BUILD_ROOT%{_sysconfdir}/dbus-1/system.d/ install -D trust-anchors.conf $RPM_BUILD_ROOT%{_datadir}/%{name}/trust-anchors.conf install -d $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1,%{_unitdir}} install -m755 contrib/lease-tools/{dhcp_release,dhcp_release6,dhcp_lease_time} $RPM_BUILD_ROOT%{_bindir}/ install -m644 contrib/lease-tools/{dhcp_release.1,dhcp_release6.1,dhcp_lease_time.1} $RPM_BUILD_ROOT%{_mandir}/man1/ install -m644 %{SOURCE1} $RPM_BUILD_ROOT%{_unitdir} install -Dpm644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysusersdir}/dnsmasq.conf %pre %sysusers_create_package %{name} %{SOURCE2} %post %systemd_post dnsmasq.service %preun %systemd_preun dnsmasq.service %postun %systemd_postun_with_restart dnsmasq.service %files %doc dbus/DBus-interface %license COPYING COPYING-v3 %defattr(0644,root,dnsmasq,0755) %config(noreplace) %{_sysconfdir}/dnsmasq.conf %dir %{_sysconfdir}/dnsmasq.d %dir %{_sharedstatedir}/dnsmasq %defattr(-,root,root,-) %{_bindir}/dhcp_* %{_sbindir}/dnsmasq %{_unitdir}/dnsmasq.service %{_sysusersdir}/dnsmasq.conf %{_datadir}/%{name}/trust-anchors.conf %dir %{_datadir}/dnsmasq %config(noreplace) %{_sysconfdir}/dbus-1/system.d/dnsmasq.conf %exclude %{_initrddir} %files help %doc CHANGELOG FAQ doc.html setup.html %{_mandir}/man1/dhcp_* %{_mandir}/man8/dnsmasq* %changelog * Thu Feb 25 2021 zengwefeng - 2.82-5 - Type:bugfix - Id:NA - SUG:NA - DESC:Add missing check for NULL return from allocate_rfd Fix DNS reply when asking for DNSSEC * Thu Jan 21 2021 zhujh - 2.82-4 - Type:bugfix - Id:NA - SUG:NA - DESC:Fix regression in s_config_in_context() method * Wed Jan 20 2021 liulong - 2.82-3 - Type:CVE - Id:NA - SUG:NA - DESC:fix CVE-2020-25681 CVE-2020-25682 CVE-2020-25683 CVE-2020-25684 CVE-2020-25685 CVE-2020-25686 CVE-2020-25687 * Tue Sep 1 2020 zhouyihang - 2.82-2 - Type:bugfix - Id:NA - SUG:NA - DESC:fix install and uninstall scripts failure * Tue Jul 28 2020 xiaoweiwei - 2.82-1 - Type:upgrade - Id:NA - SUG:NA - DESC:upgrade to 2.82 * Sat Dec 21 2019 openEuler Buildteam - 2.79-11 - Type:bugfix - Id:NA - SUG:NA - DESC:Fix memory leak in helper.c; Allow binding mac with ipv6; Deal with CONFRIM when binding mac with ipv6 * Mon Nov 4 2019 openEuler Buildteam - 2.79-10 - Type:bugfix - Id:NA - SUG:NA - DESC:modify the changelog * Tue Oct 29 2019 openEuler Buildteam - 2.79-9 - Type:bugfix - Id:NA - SUG:NA - DESC:add conf files for sysusers_create * Fri Sep 20 2019 yanzhihua - 2.79-8 - Package init.