## START: Set by rpmautospec ## (rpmautospec version 0.3.0) %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 7; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec # Generated by go2rpm 1.5.0 %bcond_without check # https://github.com/jedisct1/dnscrypt-proxy %global goipath github.com/jedisct1/dnscrypt-proxy Version: 2.1.1 %global tag 2.1.1 %gometa %global common_description %{expand: A flexible DNS proxy, with support for modern encrypted DNS protocols such as DNSCrypt v2 and DNS-over-HTTP/2. Features: - DNS traffic encryption and authentication. Supports DNS-over-HTTPS (DoH) and DNSCrypt. - DNSSEC compatible - DNS query monitoring, with separate log files for regular and suspicious queries - Pattern-based local blocking of DNS names and IP addresses - Time-based filtering, with a flexible weekly schedule - Transparent redirection of specific domains to specific resolvers - DNS caching, to reduce latency and improve privacy - Local IPv6 blocking to reduce latency on IPv4-only networks - Load balancing: pick a set of resolvers, dnscrypt-proxy will automatically measure and keep track of their speed, and balance the traffic across the fastest available ones. - Cloaking: like a HOSTS file on steroids, that can return preconfigured addresses for specific names, or resolve and return the IP address of other names. This can be used for local development as well as to enforce safe search results on Google, Yahoo and Bing. - Automatic background updates of resolvers lists - Can force outgoing connections to use TCP; useful with tunnels such as Tor.} Name: dnscrypt-proxy Release: %autorelease Summary: Flexible DNS proxy, with support for encrypted DNS protocols License: ISC URL: %{gourl} Source0: %{gosource} # Largely inspired by Arch packaging # https://git.archlinux.org/svntogit/community.git/tree/trunk/configuration.diff?h=packages/dnscrypt-proxy Patch0: dnscrypt-proxy-2.1.1-custom_config.patch BuildRequires: golang(github.com/BurntSushi/toml) BuildRequires: golang(github.com/coreos/go-systemd/activation) BuildRequires: golang(github.com/coreos/go-systemd/daemon) BuildRequires: golang(github.com/dchest/safefile) BuildRequires: golang(github.com/hashicorp/go-immutable-radix) BuildRequires: golang(github.com/hashicorp/golang-lru) BuildRequires: golang(github.com/jedisct1/dlog) BuildRequires: golang(github.com/jedisct1/go-clocksmith) BuildRequires: golang(github.com/jedisct1/go-dnsstamps) BuildRequires: golang(github.com/jedisct1/go-hpke-compact) BuildRequires: golang(github.com/jedisct1/go-minisign) BuildRequires: golang(github.com/jedisct1/xsecretbox) BuildRequires: golang(github.com/k-sone/critbitgo) BuildRequires: golang(github.com/kardianos/service) BuildRequires: golang(github.com/miekg/dns) BuildRequires: golang(github.com/VividCortex/ewma) BuildRequires: golang(golang.org/x/crypto/curve25519) BuildRequires: golang(golang.org/x/crypto/ed25519) BuildRequires: golang(golang.org/x/crypto/nacl/box) BuildRequires: golang(golang.org/x/crypto/nacl/secretbox) BuildRequires: golang(golang.org/x/net/http2) BuildRequires: golang(golang.org/x/net/proxy) BuildRequires: golang(golang.org/x/sys/unix) BuildRequires: golang(gopkg.in/natefinch/lumberjack.v2) %description %{common_description} %prep %goprep %patch0 -p1 %build for cmd in dnscrypt-proxy; do %gobuild -o %{gobuilddir}/bin/$(basename $cmd) %{goipath}/$cmd done %install install -m 0755 -vd %{buildroot}%{_bindir} install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/ install -Dpm 0644 dnscrypt-proxy/example-dnscrypt-proxy.toml %{buildroot}%{_sysconfdir}/%{name}/dnscrypt-proxy.toml install -Dpm 0644 dnscrypt-proxy/example-allowed-ips.txt %{buildroot}%{_sysconfdir}/%{name}/allowed-ips.txt install -Dpm 0644 dnscrypt-proxy/example-allowed-names.txt %{buildroot}%{_sysconfdir}/%{name}/allowed-names.txt install -Dpm 0644 dnscrypt-proxy/example-blocked-ips.txt %{buildroot}%{_sysconfdir}/%{name}/blocked-ips.txt install -Dpm 0644 dnscrypt-proxy/example-blocked-names.txt %{buildroot}%{_sysconfdir}/%{name}/blocked-names.txt install -Dpm 0644 dnscrypt-proxy/example-captive-portals.txt %{buildroot}%{_sysconfdir}/%{name}/captive-portals.txt install -Dpm 0644 dnscrypt-proxy/example-cloaking-rules.txt %{buildroot}%{_sysconfdir}/%{name}/cloaking-rules.txt install -Dpm 0644 dnscrypt-proxy/example-forwarding-rules.txt %{buildroot}%{_sysconfdir}/%{name}/forwarding-rules.txt %post if [ "$1" -le "1" ] ; then # First install dnscrypt-proxy -service install --config %{_sysconfdir}/dnscrypt-proxy/dnscrypt-proxy.toml fi if [ "$1" -ge "2" ] ; then # Remove in F36 rm -rf %{_unitdir}/dnscrypt-proxy.service %{_unitdir}/dnscrypt-proxy.socket fi %preun if [ "$1" -lt "1" ] ; then # Final removal dnscrypt-proxy -service uninstall fi %postun if [ "$1" -ge "1" ] ; then # Upgrade dnscrypt-proxy -service install --config %{_sysconfdir}/dnscrypt-proxy/dnscrypt-proxy.toml fi %files %license LICENSE %doc README.md ChangeLog %doc utils/generate-domains-blocklist/ %{_bindir}/%{name} %dir %{_sysconfdir}/%{name}/ %config(noreplace) %{_sysconfdir}/%{name}/%{name}.toml %config(noreplace) %{_sysconfdir}/%{name}/*.txt %ghost %config(noreplace) %{_sysconfdir}/%{name}/blacklist.txt %ghost %config(noreplace) %{_sysconfdir}/%{name}/whitelist.txt %ghost %{_sysconfdir}/systemd/system/dnscrypt-proxy.service %changelog * Thu Jan 19 2023 Fedora Release Engineering 2.1.1-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Thu Jul 21 2022 Fedora Release Engineering 2.1.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Tue Jul 19 2022 Maxwell G 2.1.1-5 - Rebuild for CVE-2022-{1705,32148,30631,30633,28131,30635,30632,30630,1962} in golang * Sat Jun 18 2022 Robert-André Mauchin 2.1.1-4 - Rebuilt for CVE-2022-1996, CVE-2022-24675, CVE-2022-28327, CVE-2022-27191, CVE-2022-29526, CVE-2022-30629 * Fri Jun 17 2022 Robert-André Mauchin 2.1.1-3 - Rebuilt for CVE-2022-1996, CVE-2022-24675, CVE-2022-28327, CVE-2022-27191, CVE-2022-29526, CVE-2022-30629 * Thu Jan 20 2022 Fedora Release Engineering 2.1.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Sat Oct 23 2021 Robert-André Mauchin 2.1.1-1 - Update to 2.1.1 Close: rhbz#1969330 * Wed Jul 21 2021 Fedora Release Engineering - 2.0.45-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Tue Mar 30 18:29:49 CEST 2021 Robert-André Mauchin - 2.0.45-1 - Since version 2.0.45, some of the configuration files have been renamed. Please merge your config to /etc/dnscrypt-proxy/dnscrypt-proxy.toml.rpmnew then replace dnscrypt-proxy.toml with that file. Read /usr/share/doc/dnscrypt-proxy/ChangeLog to know more about this change. - generate-domains-blocklist is now provided in /usr/share/doc/dnscrypt-proxy/ - Fix: rhbz#1943749 - Update to 2.0.45 - Close: rhbz#1912171 * Tue Jan 26 2021 Fedora Release Engineering - 2.0.44-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Mon Dec 28 10:46:59 CET 2020 Robert-André Mauchin - 2.0.44-8 - Reorder scriptlets * Mon Dec 28 09:59:16 CET 2020 Robert-André Mauchin - 2.0.44-7 - Install service with link toward correct config file * Mon Dec 28 09:41:32 CET 2020 Robert-André Mauchin - 2.0.44-6 - Force removal of previous service file * Wed Dec 16 11:26:23 CET 2020 Robert-André Mauchin - 2.0.44-5 - Fallback to recommended installation * Mon Dec 14 07:03:11 CET 2020 Robert-André Mauchin - 2.0.44-4 - Keep config(noreplace) for %{_unitdir}/%{name}.socket * Mon Dec 14 06:32:24 CET 2020 Robert-André Mauchin - 2.0.44-3 - Use an override to specify sockets * Mon Jul 27 2020 Fedora Release Engineering - 2.0.44-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Wed Jun 17 21:32:58 CEST 2020 Robert-André Mauchin - 2.0.44-1 - Release 2.0.44 (#1796742) * Tue Jan 28 2020 Fedora Release Engineering - 2.0.36-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Sat Dec 28 21:04:56 CET 2019 Robert-André Mauchin - 2.0.36-2 - Mark socket file as config (#1786867) * Sun Dec 22 23:03:34 CET 2019 Robert-André Mauchin - 2.0.36-1 - Release 2.0.36 (#1784844) * Tue Dec 03 23:16:24 CET 2019 Robert-André Mauchin - 2.0.35-1 - Release 2.0.35 (#1782348) * Tue Dec 03 23:16:24 CET 2019 Robert-André Mauchin - 2.0.34-1 - Release 2.0.34 (#1778003) * Wed Nov 20 19:59:18 CET 2019 Robert-André Mauchin - 2.0.33-1 - Release 2.0.33 * Sun Oct 13 23:39:06 CEST 2019 Robert-André Mauchin - 2.0.28-1 - Release 2.0.28 * Thu Sep 12 15:41:34 CEST 2019 Robert-André Mauchin - 2.0.27-2 - Fix custom config patch * Thu Sep 12 00:14:59 CEST 2019 Robert-André Mauchin - 2.0.27-1 - Release 2.0.27 (#1716575) * Wed Jul 24 2019 Fedora Release Engineering - 2.0.23-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Mon Apr 29 00:37:56 CET 2019 Robert-André Mauchin - 2.0.23-1 - Release 2.0.23 * Mon Apr 01 16:13:44 CET 2019 Robert-André Mauchin - 2.0.22-1 - Release 2.0.22 * Thu Mar 14 2019 Robert-André Mauchin - 2.0.20-1 - Release 2.0.20 * Wed Feb 20 2019 Robert-André Mauchin - 2.0.19-3 - Add a policy for SELinux /var/cache creation - Removed ProtectHome from the SystemD service to use with GNU Stow * Thu Jan 31 2019 Fedora Release Engineering - 2.0.19-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Thu Nov 22 2018 Robert-André Mauchin - 2.0.19-1 - Release 2.0.19 * Thu Nov 15 2018 Robert-André Mauchin - 2.0.18-1 - Release 2.0.18 * Wed Oct 03 2018 Robert-André Mauchin - 2.0.17-1 - Update to 2.0.17 * Mon Aug 13 2018 Robert-André Mauchin - 2.0.16-2 - Add a policy for SELinux DynamicUser failures * Tue Jul 17 2018 Robert-André Mauchin - 2.0.16-1 - Update to 2.0.16 * Thu Jul 12 2018 Fedora Release Engineering - 1.9.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Wed Feb 07 2018 Fedora Release Engineering - 1.9.0-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Mon Oct 02 2017 Remi Collet - 1.9.0-5 - rebuild for libsodium * Wed Aug 02 2017 Fedora Release Engineering - 1.9.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Wed Jul 26 2017 Fedora Release Engineering - 1.9.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Fri Feb 10 2017 Fedora Release Engineering - 1.9.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Sun Jan 01 2017 Nikos Roussos 1.9.0-1 - Update to 1.9.0 * Tue Jul 05 2016 Nikos Roussos 1.6.1-4 - Add systemd support * Mon Jun 06 2016 Nikos Roussos 1.6.1-3 - Fix license * Mon Jun 06 2016 Nikos Roussos 1.6.1-2 - Add hardened flag - Fix obsolete m4 macro * Fri Apr 22 2016 Nikos Roussos 1.6.1-1 - Update to 1.6.1 * Sat Oct 24 2015 Nikos Roussos 1.6.0-1 - Initial package