knot-resolver-devel-5.5.0-1.el8 > 6 6_6 3!y덏%!E/֡b3Y !E/֡W]hArW`-vQPheטw贮p=NN5ЬR#01 6L_hFv`K$^&{_g!8'x7[)b6/68;< &A 8O6RNKzjE^9@G5_S ^~!'&Hlc.ZaU?Q8h#+U>b(x 97D!Y _xܨJb{ԍ 8%4h:Tfƒ:^%%4{/|},y G\ %P|}eWp*%Xi^m"}~n$qݠ"#I99|nDEɉx |7O8A󠟰!ҊI1g#q%t1& o9zTN.#qaeֿ$qYZaY :\ eVVA-jmR"c2-$`*񃋓_T+@!BgGob=Da{yv4";'婨Gg,xbskp;MaCq{z"wSDS>wAdĬ8" $ ye 釱`e5@KYEJPX( AX8!Xl#1Q*Xr(>p=?d " H ",        T     `  ( 8C9C:CG0HI X@YL\l]^b=defltu(vwxdy 5;|Cknot-resolver-devel5.5.01.el8Development headers for Knot ResolverThe package contains development headers for Knot Resolver.b3Mbuildhw-x86-03.iad2.fedoraproject.org`Fedora ProjectFedora ProjectGPL-3.0-or-laterFedora ProjectUnspecifiedhttps://www.knot-resolver.cz/linuxx86_64x  @Y>+R)~ z C 4="r"`UrOM- 8A큤b3Mb0lb0lb0lb0lb0lb0lb0lb0lb0lb0lb0lb0lb0lb0lb0lb0lb0lb0lb0lb0lb0lb0lb0lb0lb0lb0lb0lb3Mb3M1b80b56d34b01db7a3524cc5fc0c64b394e608d81df058a4746f9862e1162fc44f8c385c369c3d2cdd8ed0699babd25ea66421afeb5a9f5e31fbbae0322ba02c6a2f9a025337c1e5569db19bcd83dab887279989d7e3f8439d420aa5d20439ddeae44563507120c372ede0ed4e8e717fdf9aa3327795df16da08cd6ef841794bf5d43f224665bdd9cb25d026486abe150853e13365a599c6817b8d8f0cba977bd898f637ccbe98e71fe02a9a9ba4bb32608a20565d791651c6c7f89d66a9de4fd3eef2dbce12de0fd38ba5650b777627aaa38e8359b91663567fdd58af70fde82197600daea263bc8a6999a9fba1fd1de3d23f21a5144c63a33fbc220c7d628632488b59c80731a997725c1ea2f9ceee4d773aa1b6d2d9f2d464aef4a66fadbbd93b361beb8b3de1a40f3a41a7a01669dd5f1f7afe6d24967b9c898e516957fbe818ef68dff867d734a9bc2af3c194de2b203e6af1712204644c61881bb9d142b5614f6cb17e92baa2b1a6bf04bed8de8157c1b9aaec13bf61e4270f5e5c2425619f79d428fb0590ccb25874de3fedc7af17ab2df86a5dde1d002e4fec644e21d81529690b5734222d4ab69545ac13f16dd0c165fa78650fd0132503527e84a643352a85cd0eb5cdd185313d299480e26b95ac6da2dc583948e9504aa3c3192a1ea3ea9d1551bee5757c26761ea32f790655cdece4c4cf6b10c47f26f73bdde609b98b57b077e579463c6fb4ffc6c506ecd2126344d3aebb534ce38c606d442c04915fb9ed16fbbe5082d80cba28bb5278e043dccb16fff73efad797db9a42369da033a09f209598da648da909c76d25f414ae4c5e54a5db2bd11e2eeeaf80a90e55d237d403868ac3e04e22d6c1e600ccef47788ed5ab44d715d712319907b13db1a68da6e920a7abe7dd1065b467d10a31e026627a8900a09923ce22e573a7a760a5a6f07a0cd75bdef612bab35418d7a7c0f16cc6cbce5893f8b201ee0f61c0ed60b7d35ac800e15a9282d2eea7c79fcafa12f9d0863297bc33ce63cb8aebe52099ba2d54e4d38756add7cebfa0c9a8f67b34d5a6d2e969f15bd001e993f3cb8cacbfc7a8cd0b3d3e8c4c3034b23ddb828ea52972ee470f29ecdfd0843c393a23b0ee5ae2c5d2c955983c6206b4c864c453a4548e9128d218deb4fbacf0e8b8d7b04ff65ee773f6cf0d8e584599247102bfbb7a2f544fda38447831cab1e06026473e3b1773d0c154eed85e834f8234dcb28fce89fdb55ee88e98b8dc3e4clibkres.so.9rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootknot-resolver-5.5.0-1.el8.src.rpmknot-resolver-develknot-resolver-devel(x86-64)pkgconfig(libkres)@@@@ @ @@ @@    /usr/bin/pkg-configknot-resolver(x86-64)libkres.so.9()(64bit)pkgconfig(gnutls)pkgconfig(libdnssec)pkgconfig(libknot)pkgconfig(libsystemd)pkgconfig(libuv)pkgconfig(lmdb)pkgconfig(luajit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)5.5.0-1.el83.0.23.0.21.73.0.4-14.6.0-14.0-15.2-14.14.3b0aՈ@acamaa6aGa@`+`e`<@_ܙ_@_m_l@_k8_Wr@_ @^z^@^l@^^:@^1s^.]]ʞ](]@]]2@]9]%@\t@\T4\73\[<@[z@[b@[H@[;e@ZZZZZz@Zg#ZOhZNYm@Yx@YdYdX-XCXX@X6@X6@X@X0>W#W@W@WM|W+5WV@Jakub Ružička - 5.5.0-1Jakub Ružička - 5.4.4-1Jakub Ružička - 5.4.3-1Jakub Ružička - 5.4.2-1Jakub Ružička - 5.4.1-2Jakub Ružička - 5.4.1-1Jakub Ružička - 5.4.0-1Jakub Ružička - 5.3.2-1Jakub Ružička - 5.3.1-1Jakub Ružička - 5.3.0-1Jakub Ružička - 5.2.1-1Jakub Ružička 5.2.0-1Jakub Ružička 5.1.3-4Jakub Ružička 5.1.3-3Jakub Ružička 5.1.3-2Jakub Ružička 5.1.3-1Fedora Release Engineering - 5.1.2-2Tomas Krizek - 5.1.2-1Tomas Krizek - 5.1.1-1Tomas Krizek - 5.1.0-1Tomas Krizek - 5.0.1-2Tomas Krizek - 5.0.1-1Fedora Release Engineering - 5.0.0-2Tomas Krizek - 5.0.0-1Tomas Krizek - 4.3.0-1Tomas Krizek - 4.2.2-2Tomas Krizek - 4.2.2-1Tomas Krizek - 4.2.1-1Tomas Krizek - 4.2.0-1Fedora Release Engineering - 4.1.0-2Tomas Krizek - 4.1.0-1Tomas Krizek - 4.0.0.-1Fedora Release Engineering - 3.2.1-2Tomas Krizek - 3.2.1-1Tomas Krizek - 3.2.0-1Tomas Krizek - 3.1.0-1Tomas Krizek - 3.0.0-1Tomas Krizek - 2.4.1-1Fedora Release Engineering - 2.4.0-2Tomas Krizek - 2.4.0-1Tomas Krizek - 2.3.0-1Tomas Krizek - 2.2.0-1Tomas Krizek - 2.1.1-1Tomas Krizek - 2.1.0-1Fedora Release Engineering - 1.5.3-1.1Tomas Krizek - 1.5.3-1Tomas Krizek - 1.5.0-2Petr Špaček - 1.5.0-1Petr Spacek - 1.3.2-1Fedora Release Engineering - 1.3.1-1.1Petr Spacek - 1.3.1-2Petr Spacek - 1.3.1-1Petr Spacek - 1.2.5-1Petr Spacek - 1.2.4-1Petr Spacek - 1.2.3-1Fedora Release Engineering - 1.2.0-2.1Petr Spacek - 1.2.0-2Petr Spacek - 1.2.0Petr Spacek - 1.2.0-rc1Peter Robinson 1.1.1-3Igor Gnatenko - 1.1.1-2Jan Vcelak - 1.1.1-1Jan Vcelak - 1.1.0-1Jan Vcelak - 1.0.0-1Jan Vcelak - 1.0.0-0.3.4f463d7Jan Vcelak - 1.0.0-0.2.79a8440Jan Vcelak - 1.0.0-0.1.beta3- update to upstream version 5.5.0 - update upstream signing keys- update to upstream version 5.4.4- update to upstream version 5.4.3- update to upstream version 5.4.2- rebuild for Knot DNS 3.1- update to upstream version 5.4.1- update to upstream version 5.4.0- update to upstream version 5.3.2- update to upstream version 5.3.1- update to upstream version 5.3.0 - add dnstap module subpackage - required Knot DNS >= 2.9- update to upstream version 5.2.1- update to upstream version 5.2.0 - sync packaging from upstream- rebuild for new bodhi update- rebuild for Knot DNS 3.0.0- rebuild for Knot DNS 3.0.0- update to upstream version 5.1.3- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild- update to upstream version 5.1.2- update to upstream version 5.1.1 (fixes CVE-2020-12667)- update to upstream version 5.1.0 - make spec compatible with EPEL 8 (rhbz#1783252) - support documentation build with Sphinx v3.0.0+ (rhbz#1823534)- add patch to fix strict aliasing (!971) until next release- update to upstream version 5.0.1 - ensure kres-cache-gc.service is restarted on upgrade- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild- update to new upstream version 5.0.0 - removed systemd socket files (no longer supported) - add upgrade scriptlets for 5.x - remove lua-sec, lua-socket, lua-filesystem dependencies - create tmpfiles dirs with macro- update to new upstream version 4.3.0 - make config directory read-only for knot-resolver, relocate root.keys to /var/lib - http module now depends on the exact same binary version of knot-resolver- rebuild for libknot10 (Knot DNS 2.9.1)- update to new upstream version 4.2.2- update to new upstream version 4.2.1- update to new upstream version 4.2.0 - added lua-psl dependency for policy.slice() functionality- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild- update to new upstream version 4.1.0 - add kres-cache-gc.service- rebase to new upstream release 4.0.0 - bump Knot DNS libraries to 2.8 (ABI compat) - use new upstream build system - meson - add knot-resolver-module-http package along with new lua dependecies- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_RebuildKnot Resolver 3.2.1 (2019-01-10) ================================ Bugfixes -------- - trust_anchors: respect validity time range during TA bootstrap (!748) - fix TLS rehandshake handling (!739) - make TLS_FORWARD compatible with GnuTLS 3.3 (!741) - special thanks to Grigorii Demidov for his long-term work on Knot Resolver! Improvements ------------ - improve handling of timeouted outgoing TCP connections (!734) - trust_anchors: check syntax of public keys in DNSKEY RRs (!748) - validator: clarify message about bogus non-authoritative data (!735) - dnssec validation failures contain more verbose reasoning (!735) - new function trust_anchors.summary() describes state of DNSSEC TAs (!737), and logs new state of trust anchors after start up and automatic changes - trust anchors: refuse revoked DNSKEY even if specified explicitly, and downgrade missing the SEP bit to a warningKnot Resolver 3.2.0 (2018-12-17) ================================ New features ------------ - module edns_keepalive to implement server side of RFC 7828 (#408) - module nsid to implement server side of RFC 5001 (#289) - module bogus_log provides .frequent() table (!629, credit Ulrich Wisser) - module stats collects flags from answer messages (!629, credit Ulrich Wisser) - module view supports multiple rules with identical address/TSIG specification and keeps trying rules until a "non-chain" action is executed (!678) - module experimental_dot_auth implements an DNS-over-TLS to auth protocol (!711, credit Manu Bretelle) - net.bpf bindings allow advanced users to use eBPF socket filters Bugfixes -------- - http module: only run prometheus in parent process if using --forks=N, as the submodule collects metrics from all sub-processes as well. - TLS fixes for corner cases (!700, !714, !716, !721, !728) - fix build with -DNOVERBOSELOG (#424) - policy.{FORWARD,TLS_FORWARD,STUB}: respect net.ipv{4,6} setting (!710) - avoid SERVFAILs due to certain kind of NS dependency cycles, again (#374) this time seen as 'circular dependency' in verbose logs - policy and view modules do not overwrite result finished requests (!678) Improvements ------------ - Dockerfile: rework, basing on Debian instead of Alpine - policy.{FORWARD,TLS_FORWARD,STUB}: give advantage to IPv6 when choosing whom to ask, just as for iteration - use pseudo-randomness from gnutls instead of internal ISAAC (#233) - tune the way we deal with non-responsive servers (!716, !723) - documentation clarifies interaction between policy and view modules (!678, !730) Module API changes ------------------ - new layer is added: answer_finalize - kr_request keeps ::qsource.packet beyond the begin layer - kr_request::qsource.tcp renamed to ::qsource.flags.tcp - kr_request::has_tls renamed to ::qsource.flags.tls - kr_zonecut_add(), kr_zonecut_del() and kr_nsrep_sort() changed parameters slightlyKnot Resolver 3.1.0 (2018-11-02) ================================ Incompatible changes -------------------- - hints.use_nodata(true) by default; that's what most users want - libknot >= 2.7.2 is required Improvements ------------ - cache: handle out-of-space SIGBUS slightly better (#197) - daemon: improve TCP timeout handling (!686) Bugfixes -------- - cache.clear('name'): fix some edge cases in API (#401) - fix error handling from TLS writes (!669) - avoid SERVFAILs due to certain kind of NS dependency cycles (#374)Knot Resolver 3.0.0 (2018-08-20) ================================ Incompatible changes -------------------- - cache: fail lua operations if cache isn't open yet (!639) By default cache is opened *after* reading the configuration, and older versions were silently ignoring cache operations. Valid configuration must open cache using `cache.open()` or `cache.size =` before executing cache operations like `cache.clear()`. - libknot >= 2.7.1 is required, which brings also larger API changes - in case you wrote custom Lua modules, please consult https://knot-resolver.readthedocs.io/en/latest/lib.html#incompatible-changes-since-3-0-0 - in case you wrote custom C modules, please see compile against Knot DNS 2.7 and adjust your module according to messages from C compiler - DNS cookie module (RFC 7873) is not available in this release, it will be later reworked to reflect development in IEFT dnsop working group - version module was permanently removed because it was not really used by users; if you want to receive notifications abou new releases please subscribe to https://lists.nic.cz/cgi-bin/mailman/listinfo/knot-resolver-announce Bugfixes -------- - fix multi-process race condition in trust anchor maintenance (!643) - ta_sentinel: also consider static trust anchors not managed via RFC 5011 Improvements ------------ - reorder_RR() implementation is brought back - bring in performace improvements provided by libknot 2.7 - cache.clear() has a new, more powerful API - cache documentation was improved - old name "Knot DNS Resolver" is replaced by unambiguous "Knot Resolver" to prevent confusion with "Knot DNS" authoritative serverKnot Resolver 2.4.1 (2018-08-02) ================================ Security -------- - fix CVE-2018-10920: Improper input validation bug in DNS resolver component (security!7, security!9) Bugfixes -------- - cache: fix TTL overflow in packet due to min_ttl (#388, security!8) - TLS session resumption: avoid bad scheduling of rotation (#385) - HTTP module: fix a regression in 2.4.0 which broke custom certs (!632) - cache: NSEC3 negative cache even without NS record (#384) This fixes lower hit rate in NSEC3 zones (since 2.4.0). - minor TCP and TLS fixes (!623, !624, !626)- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_RebuildKnot Resolver 2.4.0 (2018-07-03) ================================ Incompatible changes -------------------- - minimal libknot version is now 2.6.7 to pull in latest fixes (#366) Security -------- - fix a rare case of zones incorrectly dowgraded to insecure status (!576) New features ------------ - TLS session resumption (RFC 5077), both server and client (!585, #105) (disabled when compiling with gnutls < 3.5) - TLS_FORWARD policy uses system CA certificate store by default (!568) - aggressive caching for NSEC3 zones (!600) - optional protection from DNS Rebinding attack (module rebinding, !608) - module bogus_log to log DNSSEC bogus queries without verbose logging (!613) Bugfixes -------- - prefill: fix ability to read certificate bundle (!578) - avoid turning off qname minimization in some cases, e.g. co.uk. (#339) - fix validation of explicit wildcard queries (#274) - dns64 module: more properties from the RFC implemented (incl. bug #375) Improvements ------------ - systemd: multiple enabled kresd instances can now be started using kresd.target - ta_sentinel: switch to version 14 of the RFC draft (!596) - support for glibc systems with a non-Linux kernel (!588) - support per-request variables for Lua modules (!533) - support custom HTTP endpoints for Lua modules (!527)Knot Resolver 2.3.0 (2018-04-23) ================================ Security -------- - fix CVE-2018-1110: denial of service triggered by malformed DNS messages (!550, !558, security!2, security!4) - increase resilience against slow lorris attack (security!5) Bugfixes -------- - validation: fix SERVFAIL in case of CNAME to NXDOMAIN in a single zone (!538) - validation: fix SERVFAIL for DS . query (!544) - lib/resolve: don't send unecessary queries to parent zone (!513) - iterate: fix validation for zones where parent and child share NS (!543) - TLS: improve error handling and documentation (!536, !555, !559) Improvements ------------ - prefill: new module to periodically import root zone into cache (replacement for RFC 7706, !511) - network_listen_fd: always create end point for supervisor supplied file descriptor - use CPPFLAGS build environment variable if set (!547)Knot Resolver 2.2.0 (2018-03-28) ================================ New features ------------ - cache server unavailability to prevent flooding unreachable servers (Please note that caching algorithm needs further optimization and will change in further versions but we need to gather operational experience first.) Bugfixes -------- - don't magically -D_FORTIFY_SOURCE=2 in some cases - allow large responses for outbound over TCP - fix crash with RR sets with over 255 recordsKnot Resolver 2.1.1 (2018-02-23) ================================ Bugfixes -------- - when iterating, avoid unnecessary queries for NS in insecure parent. This problem worsened in 2.0.0. (#246) - prevent UDP packet leaks when using TLS forwarding - fix the hints module also on some other systems, e.g. Gentoo.- New upstream release 2.1.0 Knot Resolver 2.1.0 (2018-02-16) ================================ Incompatible changes -------------------- - stats: remove tracking of expiring records (predict uses another way) - systemd: more chages in default unit files (TODO) - ta_sentinel: implement protocol draft-ietf-dnsop-kskroll-sentinel-01 (our draft-ietf-dnsop-kskroll-sentinel-00 implementation had inverted logic) - libknot: require version 2.6.4 or newer to get bugfixes for DNS-over-TLS Bugfixes -------- - detect_time_jump module: don't clear cache on suspend-resume (#284) - stats module: fix stats.list() returning nothing, regressed in 2.0.0 - policy.TLS_FORWARD: refusal when configuring with multiple IPs (#306) - cache: fix broken refresh of insecure records that were about to expire - fix the hints module on some systems, e.g. Fedora (came back on 2.0.0) - build with older gnutls (conditionally disable features) - fix the predict module to work with insecure records & cleanup code Knot Resolver 2.0.0 (2018-01-31) ================================ Incompatible changes -------------------- - systemd: change unit files to allow running multiple instances, deployments with single instance now must use `kresd@1.service` instead of `kresd.service`; see kresd.systemd(8) for details - systemd: the directory for cache is now /var/cache/knot-resolver - unify default directory and user to `knot-resolver` - directory with trust anchor file specified by -k option must be writeable - policy module is now loaded by default to enforce RFC 6761; see documentation for policy.PASS if you use locally-served DNS zones - drop support for alternative cache backends memcached, redis, and for Lua bindings for some specific cache operations - REORDER_RR option is not implemented (temporarily) New features ------------ - aggressive caching of validated records (RFC 8198) for NSEC zones; thanks to ICANN for sponsoring this work. - forwarding over TLS, authenticated by SPKI pin or certificate. policy.TLS_FORWARD pipelines queries out-of-order over shared TLS connection Beware: Some resolvers do not support out-of-order query processing. TLS forwarding to such resolvers will lead to slower resolution or failures. - trust anchors: you may specify a read-only file via -K or --keyfile-ro - trust anchors: at build-time you may set KEYFILE_DEFAULT (read-only) - ta_sentinel module implements draft ietf-dnsop-kskroll-sentinel-00, enabled by default - serve_stale module is prototype, subject to change - extended API for Lua modules Bugfixes -------- - fix build on osx - regressed in 1.5.3 (different linker option name)- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild- New upstream release 1.5.3 Knot Resolver 1.5.3 (2018-01-23) ================================ Bugfixes -------- - fix the hints module on some systems, e.g. Fedora. Symptom: `undefined symbol: engine_hint_root_file` Knot Resolver 1.5.2 (2018-01-22) ================================ Security -------- - fix CVE-2018-1000002: insufficient DNSSEC validation, allowing attackers to deny existence of some data by forging packets. Some combinations pointed out in RFC 6840 sections 4.1 and 4.3 were not taken into account. Bugfixes -------- - memcached: fix fallout from module rename in 1.5.1 Knot Resolver 1.5.1 (2017-12-12) ================================ Incompatible changes -------------------- - script supervisor.py was removed, please migrate to a real process manager - module ketcd was renamed to etcd for consistency - module kmemcached was renamed to memcached for consistency Bugfixes -------- - fix SIGPIPE crashes (#271) - tests: work around out-of-space for platforms with larger memory pages - lua: fix mistakes in bindings affecting 1.4.0 and 1.5.0 (and 1.99.1-alpha), potentially causing problems in dns64 and workarounds modules - predict module: various fixes (!399) Improvements ------------ - add priming module to implement RFC 8109, enabled by default (#220) - add modules helping with system time problems, enabled by default; for details see documentation of detect_time_skew and detect_time_jump- add doc package - configure tarball signature verification - add root.hints file - use upstream systemd unit files, paths and user name - migrate configuration to /etc/knot-resolver - use user knot-resolver - store cache in /var/cache/knot-resolver - use systemd alias knot-resolver -> kresd- New upstream release 1.5.0 Knot Resolver 1.5.0 (2017-11-02) ================================ Bugfixes -------- - fix loading modules on Darwin Improvements ------------ - new module ta_signal_query supporting Signaling Trust Anchor Knowledge using Keytag Query (RFC 8145 section 5); it is enabled by default - attempt validation for more records but require it for fewer of them (e.g. avoids SERVFAIL when server adds extra records but omits RRSIGs) Knot Resolver 1.4.0 (2017-09-22) ================================ Incompatible changes -------------------- - lua: query flag-sets are no longer represented as plain integers. kres.query.* no longer works, and kr_query_t lost trivial methods 'hasflag' and 'resolved'. You can instead write code like qry.flags.NO_0X20 = true. Bugfixes -------- - fix exiting one of multiple forks (#150) - cache: change the way of using LMDB transactions. That in particular fixes some cases of using too much space with multiple kresd forks (#240). Improvements ------------ - policy.suffix: update the aho-corasick code (#200) - root hints are now loaded from a zonefile; exposed as hints.root_file(). You can override the path by defining ROOTHINTS during compilation. - policy.FORWARD: work around resolvers adding unsigned NS records (#248) - reduce unneeded records previously put into authority in wildcarded answers Knot Resolver 1.3.3 (2017-08-09) ================================ Security -------- - Fix a critical DNSSEC flaw. Signatures might be accepted as valid even if the signed data was not in bailiwick of the DNSKEY used to sign it, assuming the trust chain to that DNSKEY was valid. Bugfixes -------- - iterate: skip RRSIGs with bad label count instead of immediate SERVFAIL - utils: fix possible incorrect seeding of the random generator - modules/http: fix compatibility with the Prometheus text format Improvements ------------ - policy: implement remaining special-use domain names from RFC6761 (#205), and make these rules apply only if no other non-chain rule appliesNew upstream release: Knot Resolver 1.3.2 (2017-07-28) ================================ Security -------- - fix possible opportunities to use insecure data from cache as keys for validation Bugfixes -------- - daemon: check existence of config file even if rundir isn't specified - policy.FORWARD and STUB: use RTT tracking to choose servers (#125, #208) - dns64: fix CNAME problems (#203) It still won't work with policy.STUB. - hints: better interpretation of hosts-like files (#204) also, error out if a bad entry is encountered in the file - dnssec: handle unknown DNSKEY/DS algorithms (#210) - predict: fix the module, broken since 1.2.0 (#154) Improvements ------------ - embedded LMDB fallback: update 0.9.18 -> 0.9.21- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild- build experimental command line interface "kresc"New upstream release: Knot Resolver 1.3.1 (2017-06-23) ================================ Bugfixes -------- - modules/http: fix finding the static files (bug from 1.3.0) - policy.FORWARD: fix some cases of CNAMEs obstructing search for zone cuts Knot Resolver 1.3.0 (2017-06-13) ================================ Security -------- - Refactor handling of AD flag and security status of resource records. In some cases it was possible for secure domains to get cached as insecure, even for a TLD, leading to disabled validation. It also fixes answering with non-authoritative data about nameservers. Improvements ------------ - major feature: support for forwarding with validation (#112). The old policy.FORWARD action now does that; the previous non-validating mode is still avaliable as policy.STUB except that also uses caching (#122). - command line: specify ports via @ but still support # for compatibility - policy: recognize 100.64.0.0/10 as local addresses - layer/iterate: *do* retry repeatedly if REFUSED, as we can't yet easily retry with other NSs while avoiding retrying with those who REFUSED - modules: allow changing the directory where modules are found, and do not search the default library path anymore. Bugfixes -------- - validate: fix insufficient caching for some cases (relatively rare) - avoid putting "duplicate" record-sets into the answer (#198) Knot Resolver 1.2.6 (2017-04-24) ================================ Security -------- - dnssec: don't set AD flag for NODATA answers if wildcard non-existence is not guaranteed due to opt-out in NSEC3 Improvements ------------ - layer/iterate: don't retry repeatedly if REFUSED Bugfixes -------- - lib/nsrep: revert some changes to NS reputation tracking that caused severe problems to some users of 1.2.5 (#178 and #179) - dnssec: fix verification of wildcarded non-singleton RRsets - dnssec: allow wildcards located directly under the root - layer/rrcache: avoid putting answer records into queries in some cases- new upstream relase + security: layer/validate: clear AD if closest encloser proof has opt-outed NSEC3 (#169) + security: layer/validate: check if NSEC3 records in wildcard expansion proof has an opt-out + security: dnssec/nsec: missed wildcard no-data answers validation has been implemented + fix: trust anchors: Improve trust anchors storage format (#167) + fix: trust anchors: support non-root TAs, one domain per file + fix: policy.DENY: set AA flag and clear AD flag + fix: lib/resolve: avoid unnecessary DS queries + fix: lib/nsrep: don't treat servers with NOIP4 + NOIP6 flags as timeouted + fix: layer/iterate: During packet classification (answer vs. referral) don't analyze AUTHORITY section in authoritative answer if ANSWER section contains records that have been requested + enhancement: modules/dnstap: a DNSTAP support module (Contributed by Vicky Shrestha) + enhancement: modules/workarounds: a module adding workarounds for known DNS protocol violators + enhancement: layer/iterate: fix logging of glue addresses + enhancement: kr_bitcmp: allow bits=0 and consequently 0.0.0.0/0 matches in view and renumber modules. + enhancement: modules/padding: Improve default padding of responses (Contributed by Daniel Kahn Gillmor) + enhancement: New kresc client utility (experimental; don't rely on the API yet)- new upstream release + security: Knot Resolver 1.2.0 and higher could return AD flag for insecure answer if the daemon received answer with invalid RRSIG several times in a row. + fix: layer/iterate: some improvements in cname chain unrolling + fix: layer/validate: fix duplicate records in AUTHORITY section in case + fix: of WC expansion proof + fix: lua: do *not* truncate cache size to unsigned + fix: forwarding mode: correctly forward +cd flag + fix: fix a potential memory leak + fix: don't treat answers that contain DS non-existance proof as insecure + fix: don't store NSEC3 and their signatures in the cache + fix: layer/iterate: when processing delegations, check if qname is at or below new authority + enhancement: modules/policy: allow QTRACE policy to be chained with other policies + enhancement: hints.add_hosts(path): a new property + enhancement: module: document the API and simplify the code + enhancement: policy.MIRROR: support IPv6 link-local addresses + enhancement: policy.FORWARD: support IPv6 link-local addresses + enhancement: add net.outgoing_{v4,v6} to allow specifying address to use for connections- new upstream release + security: a cached negative answer from a CD query would be reused to construct response for non-CD queries, resulting in Insecure status instead of Bogus. + fix: lua: make the map command check its arguments + fix: -k argument processing to avoid out-of-bounds memory accesses + fix: lib/resolve: fix zonecut fetching for explicit DS queries + fix: hints: more NULL checks + fix: TA bootstrapping for multiple TAs in the IANA XML file + fix: Disable storing GLUE records into the cache even in the + fix: (non-default) QUERY_PERMISSIVE mode + fix: iterate: skip answer RRs that don't match the query + fix: layer/iterate: some additional processing for referrals + fix: lib/resolve: zonecut fetching error was fixed- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild- rebuild against knot-2.4.0- new upstream release: + fix: reworked DNSSEC Validation, that fixes several know problems with less standard DNS configurations + fix: the resolver was setting AD flag when running in a forwarding mode + fix: correctly return RCODE=NOTIMPL on meta-queries and non IN class queries + fix: crash in hints module when hints file was empty + fix: non-lowercase hints + features: optional EDNS(0) Padding support for DNS over TLS + features: support for debugging DNSSEC with CD bit + features: DNS over TLS is now able to create ephemeral certs on the runtime (Thanks Daniel Kahn Gilmore for contributing to DNS over TLS implementation in Knot Resolver.) + features: configurable minimum and maximum TTL (default 6 days) + features: configurable pseudo-random reordering of RR sets + features: new module 'version' that can call home and report new versions and security vulnerabilities to the log file- Update to latest upstream version - Fix packaging bug: depend on proper Lua library versions - Allow automatic trust anchor management to work- Add ExclusiveArch for architectures with LuaJIT- Rebuild for LuaJIT 2.1.0- new upstream release: + fix name server fallback in case some of the servers are unreachable- new upstream release: + RFC7873 DNS Cookies + RFC7858 DNS over TLS + Metrics exported in Prometheus + DNS firewall module + Explicit CNAME target fetching in strict mode + Query minimisation improvements + Improved integration with systemd- final release- update to latest git version - re-enable unit-test- update to latest git version - fix package review issues- initial package 5.5.0-1.el85.5.0-1.el85.5.0libkresapi.harray.hcdb_api.hcdb_lmdb.hdefines.hdnssec.himpl.hiterate.hlayer.hlog.hlru.hmap.hmodule.hnsec.hnsec3.hpack.hqueue.hresolve.hrplan.hselection.hselection_forward.hselection_iter.hsignature.hta.htrie.hutils.hzonecut.hlibkres.solibkres.pc/usr/include//usr/include/libkres//usr/lib64//usr/lib64/pkgconfig/-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protectioncpioxz2x86_64-redhat-linux-gnudirectoryC source, ASCII textC source, UTF-8 Unicode textpkgconfig file RPRRRRRRR Rhttps://bugz.fedoraproject.org/knot-resolverutf-8a4d8e162bd2a11651bb93f43f46dccf7377722038ba97a93047afabaa17c0c73?07zXZ !#,r'}] b2u jӫ`(y-5,w$΅}h_;ʹf&ӔC$Qk??< ۍw {7g-hM%X6ƗᇮpG^NRoJ^w3zt[V Q$M|^RI{Gzy+sYK`T ;n?1f t%ӮIyy>o&'2NN)VoD g@,+"$A.T~kO6"_SJ{*eOv75OyP7+2kDj!#;1쿙Q~@6'gB=z?;aINz?Wd,͈6AԇMLCNDeVWHw,P(ח_OqvʴSd,$K0*[+{k,F4jMIg݆[jx4"gڮ)}/'n_N&^)>F9OyoH3;1ոF⊩}|=^4ju3ԚE-iBvtZԲ֣k:5|1;}95NڭKg}`]S%X8ӕ=Ws~".G_ZՇ6PMcSI$cZ+iAc/9%Z w۪\7(ΧAŭR):άJa#yM ;f%? ғeꍋQ~>\뎰;}4O^1pSqajLnhdG֊Nznz>=\qB!>(IĨ/ΚGG{J@- )eES֔AdLyvhCdt!_(Dzd>'yƇ¶{lWrƁ!׸t )T.pDE[,0]pί _[Ҫ@VK!.4 nfGj" Ew6Z2fxۑfgl }`LDɗn_6K]2 &cJuQ/- f0<@Z1+pqͅg\7 jZ<_~ˊi%:,? ySѵM87T@x=@eppt)uШzn\_7wST9Jp$nˏ8OBBE: ,{IsCQ6}[S\@> =d:RStriԈ:-Y▲ T.3mGTyy BO'r1`>PJ~-tgh >R2 -dEEmGGL(P|3ish4U5W$e8UhiqrW@JvA1W8H$TPNH聮袜Qc_\#k8⟰#egc~4NPSzOlg D:!Z2,?Ql?$YΙ?19IZ=?ahfzSCǶgO(J3 D\]eO.'B[A^ҞY~-f*C=2\-:< ,@@FE\ y{0YPW0˔7?='mrQfSu826{m`ߦ-z.iڷl' O\q T:4킃QdTXFE&NqY#L;yl3Z%Y_gtB ]jrmFR=R[/>.pЂrCpt9{-%wE'F B쫢{ ]*pb`(+]A`A]y9P{k''Jt1zfZx0'rkUar0x_[ Bؽ.f751ı*BYORo'6$'P0:zn* Z2Lv=%O]i:]v*:;q}A+o |Und;C7][*Ԟf "qe5Aѐhn򲆮-/c86bv" ίhǚGA WL\vV Bk B %EO56mFO'Xr>UUT8q,S| !!=9qІ0!<Xܨ )f %]YMF!q(n-?.LLn h2| $k:+uBG#~F<(ֹunhU0P#My2!"3Sص+f,=mkgX7Ho zbrGMȮ_Jb*MhHvyaE,L+ϿneO$S]Jg#wpٷ^a0/$$jҖ&jRlJ |dv2=:ƙ+i5ds~Nz(}'V8g$)9A$: 1:OX]e@t&JѴT:~o, admâ2T},y"9d˜/R9c%4Ρ*s0=l|F^V90칗 zf=ɦ O-!6j"=[P!'r~Z)x_uC"TJrw|^nA"a$'*0 YO2E'Sh"Os^cUb!Innԩ9\pDGM*J *pL9Rh=^LѻNN$NJJ[eܖT%iwvS Zu#!<7 . W5{ (G+?tpF j0*D)P9E9~o#SUF&"ik.N}6(׹ a n7kFVsirI:,Z8 4̛XgZ{}m$='w_ɮ8%awR"8fTZ<h[Gyssbz҄Ra0*p4f-(;/cUN8~o*6g8#Е:> K+(j+*:q)3:KߠȢѣ;{!Fi+4RLP') b,6DYC6 W2H,Yc+<+3Jf{ERm֊FߡvKnQ/"ߨϢ nѪWC8f~qjܝ54\/#UG_Ǽ.T}G]ȳ3 /gH#9k#/ajخp4 _,#f&rߞ+2]A49VtkkҁݴK4Nj\\Vbws?zbo4}CwK'yr)!|Wjqȼթ t}RCEr B|p6XQ2$ $ˮt\R#NkQdE 9"Qsec.M[@~k8W +?YVUjxrv\qH{@qCE$&^C{RMJURpcZM\mY3<`w1)ʁʊCd}3QBeY[\ ϴc(M5~=x*@2)V9rpu&,d=?kٓ6^m޸ Ӛ@;kDK wbh>'\VȌH;?G0ಿtTF+2N&^W"؆c7cd+^=ԝ"yr"1%18pd =qa qWR$Z^W|c3'63-4&#>pY*J^TV K˒MK;wTA;G/־_A=%P7ۯP>z8D5: tm Rp9T 5 {3p8˜Ajr(fgE:22J?q6x-Weٗ* Oj eU+<,v Su?2W zX AbƑ·.];D~_j#S]9}ɱկ|5'%fVe_|TC"VL[7kG -m.ݜK&(ֽҗ(pQrVTT]PXZcm ݅4NUn0f? V;<54pv utd_ H>43o!dݳ QŒ؆1]&"Y:M:p)yoVq́[1AcmWzzgq:K_К={x6F8PuMѪ\Lu2YXH8]zN݀{t(>_ХoFwmMph"}P ]8,MdjeDF!aAWﴧ*wl%:VIހȔb*h%s ӕIӝ54{&.x[֢̘R \ݴ|fW8 ߳SEMPh7w$/ ,ٻyQlN}u>f?v*;==wyI0l߂Xelyh,IMya&ڬEX_wH5wEn#Z֍@ĽIvCP^i(fqȣ'-)?c_`N +m @oj4^ DaQ}++w(ؙuONNhNJcG~eXoUCiP %-~ b}WOb b_z{`USA,)ًxP wvڌ=o9h eEA*eJD/KpSsW..jA<=J{^ukERd1W}7xhu"OI4q 6fw=t:6X7?E>7gb=ӧJAʯ}NFv 7̗odO#k^GE_!&M[!;@J{L;rA#v m :ӨX3 87BA PTu} 4̉켲8,y$˶ (>p};vWfFw(-SA.n.j:gGɯr..-!O{ O[?/';CnލۂeX}ebV|3,96SOZhng?2dWNsـI{{$m \_f1sQepf8PMLK{1E݁ (ߏ[=)$![ĿEN cs@r5[U2 K=h0Jw:8)~$*bܺRg3]NQi760C#$BID_SC_\+IT<(~dhVG,OL's{'z Ef5RmZ߆ƾQ">憂 Y|A`aͶwP­ͅxhS {:Bs@C>xyP |,K~u;J9b}Ζލ;(_Ky#^;ya$62@w g3iklHF{_e LgD{ GK[T"092kԠ7_,C|Է2 \ Ys@ŠZ㉚k}w1c?>?-ufRmG04Y\щhXkXl`CJ~}ᜐ ^ֱ\aZw<9 %["{&Mu28Ma'y%[_^~랉:Rb!3]$m>{7ʡ% Ivr"ؕ: dDzo [͐1E[E7|>(G0^ RoNQrfS3dCֺšz!Nݿ˖4?u&}"#|_p.mW;b[_zh/IRR IŸNE/O"TWv^@So+|'Y5_/IRDM 0P֧<]u# aJU+q'Y!z"vP8/U }/=\19ǺfVժ6&7QdiRa$A"ۘ@XzTMUS4wTNR(fF} >?_ܟMe 7$A4,W(OUWk?궤w85'5iaTݵN;Ts:ùD\'V{2qWyM{Xn2iZ&» ٜ}OV9r8OcKոV;ڀ3U8lBRHI)D/ez۰S0J[Q3ն YZ@%@jVr>4?dbARP&e|bwt[]\ikEj&$3k.)^^c-ْ 7Sv\ %l-z?z4 ?oh{D 2R>rjH>2.QC^hّݢQ pc [D<7{9:$,t[iCq 9_/;Q@* RsDÍ(S_id32=Hλ{L4nR(S}>"wTurdIq6]Yv '[ .-}LsJ^˼dY}=f'nHΐfWPL@*kCk&nZʉ*Jv.Qi^\I Z;Ԅz͋9ڢk%Kl?P ;:zCoj0 {j$gW)*RR@e݌=GxgsjX_F?ԘTU&ݥ˴^ @O/#[:6 ,xĦGH+Fh]e/O̔N=ma P(䷟j v2"a4B $^?7v"cHT7%1F8SVP>}?n|z ;+$L%_gN˯vPZꎋQ BR2.͈ "ݖfb"F>_* +L8:L)u(w[S>a2TwH{G7^W@HW6l .H{nNKRG&FV hg `->׼lRc 3%Gra.\=qٶ[`P8kަ\zWatÓMaVl;`Xo5 L gC2'JEEsA8E:)f+Dm~r 'nωmK:m,U[9M:,dDOT//X\&O>jBA54#!&a<߉28p NZ~Q S;U%uVۙÐ>y 7Jln}?̪C8em2X7IvZD&nUI""0q̑MCuu7R,X k׫u {o($8zzQVnX{0)8Eh<,sa:)dEvz0G{C67%Rdhe/ڈE,u?Ɠg'[2Xut #3<#@%}g,ײa핖)kJD)V׶BI|zj毸?cjW79#LمP:U۞)XsZ$KBa/ G.nEOEB`֚oI!"pWk/CC@}z>f;Co* lTQ}ХԡQ$ױ<k( S#kZv9CwN>%Jwhr?$ylCf/L^CVL=c,*P;K:b0Jyk3Nx4 chy;]Ku,1Z]9|.-7.hzO\ Fɼ+Ԍ?d䤜ͬ4h5QpzOEp?!O QzYleȜ<¶ﰨ̬-/۩$~LԆ~0@2.GN_9fng96{^)GMb9>EQJL"t)b(ϖfT}aw3N+\N3Lp[*3Sʒ7ڵ;4m\԰/c[e'E=0SZH,{;פW< ECW ^Akdڸ=QY1 J^GY#v^$4U!^b35Og\[RT8rA]rI*{e@M BVԹ N`Z_}?fe4;g+RG??]lՅ=SqOZk̡05Y Bp($)̴* h$Xy4NFw*$&݆ 81TFf. vt./a|k0R-\y"՘C DյAQ.OG/lzZ7~yjH%q.fW6$+ـeBB$}z˗8 {bVG&p0qTǨ2݅}ӕ"KA>ƪl{Twrw@'؃yKA$Pab:^_Xr/W,|#!xumjp3k0 N`^1_-Ω(?uu(!ޥx#D64ƺx繎P(HF-̄v4c6% ":ss x59s,/iѯmJ`8tfiϸ $^rJcL¡inA Șؖin?gz,.Ŋgf,NG7 Q.sH1B`E*kqCPT-PL-!z5xR6W!g$ҾZx%!AIEC/AynG^L7cy5yÔB$챒k$ʒLLpf 3D+]ζ* V#'m|= [mX5%pCsl81򭔴x:Rwc'CaB-T8݁ޱ4P,y&Z!1[? c燧HЭvOKGCe+f& #{' f=x?"p:0'ir(װkZPX+k@)>9c$$ ПݻP!Pz>1DIΌ8iVJ}[<8`BwCW:ڭ\7)SR33z+p"AmZ؄_Azݾ, gOv!¼ v؜#RGyXEr(y pd>`Pky#9~@fcM(H3-:&u oqBT8'OY?v*j +xaaÊw_ EI,Px+kڴI#.R d~oANa ,M"[lT <FgLY= 'TXքi̼h+D0,568EtX^BTҺNŽf:$lD˒m 1zř?Ѳѥ}8뜴IR\OkZ,J( jX qB5؜ktz!hƕ_bKd'`_ϱ0"g"-ڪ(mTkBek:)Ijy!h.[CU!FTe3*-ڀ?а0E:q㗡oBN!YԼ7 /Ul87;ܤU{+I3~QU2O'vE=YWMdB( 5 ["+kJ贍7i$!zst = (dbb}5x8]`ŷ̋=jE\d GPZJ׉ d;6S5\YuƶpF5߮o{ 9/߂YP'2 ) j&lx޼]'"?JD}L̆lH @Y{M:q*&xՕEl/e*1e)]gXN1j%f@~C1(lh'eX;L0ѭsrFA;|B+X CSĿRӼze Fh2fZ=+PeӷT㬹7c'[Uh{VjQtD'0ur^;\MH`nz`o>>ϯE (@TL1B;s;$:]&#nO6ڍtuB#(rڪ\GBa?bPNxQ-cҊr̿wfHCc3=rp$&Y{8 {~+.CJ CRlNۺ,b}X֋,z,MG(A%U3 Ҵa{C}ejCFʞYͤф5K!ܾu4.Q[S'|x.1$)kg"2l\!4/&7v[wDx@b -{|6SlH@S <҂=edA* ?XiBuede0l2-%ViGƘye51Ll L,AmԞ>o$xx/ͶS[o+dܩLNANߒ]2 tT<.ȅ3F9 *ylDR -<({ rnLC= 8W;tǁTJ)*6?3Xq6e*\>&-2f A~VkF@cU<7ѝa\[۾k`&n+1PDN]=pW{Il,tJ&Gl^芈B4I<$S=9Ց?=tG?N80 t9Ȕ6jaf1hꍙM1&g5LWilZ=yE;FR=3_ -QA)؉}# \fAX!?/ܭ!삯pe2rF< w[IrV7iNshc4yC(SK#E`i 5} qZOIt%=x0Ғ랄ޚS0p{ ѷ)!n(g= +.≮]$v1q; ڗ>̚ FGUDIsX#Դd5'I:#&%L.οҴ&]})Φ ` f&+|{t:,)R1->ʕpu20aB'װ``]M?.j2k%f8ǭYOain}~ M\iBX~װ|ΓϾGԕv/W~4S=pۀR hc'Ϡ ˮD^'ޒER soKp)|-hR]zT'>z]aT+;/l,Q/mzxƆ'f$+'Q jpe"&}aOj6 !?!4fdÅF1&/n؞REއ"LXcjG@]Y,eĕz~?9O to 0/|e o:ZaiI9'`ZsEK8U7+U禞xy-<9:H^kcԧ>K,STwJF0δNP9n-yEJp"?&)ї?9#WDl!eH1jHAY@/{ۣ@Fta #)X=k6#'(~3;/3S21Mx{n;7`i' \{ GinsgƊ Craiv+/|GP@~%Kw*QM̖z}ȟ/$lbGHmTM^M&{Պu&r7x%o6DIFS.'Nc3@Yx V63$G+h{gJnͧX{5 0Z$T:Ek#6qju&*Rnsp0XR5K& ZDd3Acx=^IBz..A<<$ll3A7-E,#;7bLkNSJn0sDQz'4);:5Ǣ0sIJ438YR #h[F;a6i6tZ3!KlyŻzKcHG^_yqD'ܠ3$'~k]SM?>ԆHtNxtߍ@2PHf9QN2( jخsKTd iק3tZU)J9^BODa@!{[RR\UDgB`ڕop j4W?_#lCLY$|ApBt48D$)ǂb;UCeg|ɢDǏpsGH{=/R\zqV}Ԟ 5bf~t gSRoఐD3:.t/<뙜v6h ̱ &P5Y`-kq=Oe)+:K)|V+U?M>1x# Lg\q_5+T MFv+BfM.Y{xfaR>%b+I 8|3#ʜ{!D0W1Qfڧ;7fyeVge$_W& Rѓ*]6UJ=]y)pδg\2¶\ ֮?[w6QZu=Ѱ%u`:2b `܄$C fRh}ŦZ dBL̼V);BN FvY!CyfRG% [`) ;*WׂrU&PBAE|pWhmuQqc#isÊ1zYTl$YgVɑCJqe2gINBϣl$!ZՂbY@=[\q1ZIW)uB=vv̒~=*ї:r#QDqחҎk=_;xfݖa8\zSB|Ơ c'V gUK P;j|asل11w|S<5ǒFW9Gs_ d'vzض=KՍ5٫gw繼fULLzƂ6qu{?Kwa@m c {tq[-F#ZZ!KR؊2+)1XW|[ťx6 Qa֎SZ@]GA6f!y?*L6Ek"sl`V̙ Ea.? ЈfKh QэVZ?H$KξLظ_qhv Ca\.Gfē"ۭ8eִ6ut{-)yj6(C;3wyҝZ6gpjDQ ץfKDLܵ gZDTHYGuvJ[N&Y2sMm6A'uQG5W7aL<JuR7rV_FhOߣXhy&sh)qSèK\FM2u3]r= X zTzz6 px9*5<,0WJoPJ~P1} ~*}|;ƦJP4gфFTwW)h8YjNR%$95RuTưr@0=%>o/GJ b-9"-D*uJ7( oϣrMu#e DGC'Id(nc&O7B*?WcnK ǁH _V2 f=Y68$DlkG`l:)]R>_A{ 5FH(MnHdGFж/-|? J46G#2#_E8řToa0|¼Zۇ~զJ֧p_:c%=&Ե-Bz5jhPDQST"O? DbG.TJQdptlx\wi3\욀3(RaE(`EtuBO(M~1(@iU ,t%'[pVU#i]ltUh#{O xTS^5xcx=0Hr!]:b.Tfs >RCX5ӹvzQ1(KCC+Ur`,u7m 2~38Vߜ"1h^X~zrjl):x u=4X̸iC&B֒j`19GשR}HO߾FSv|3V򂒪n!P+#Y̊njJLcqgO& ֘ "r2 멲>kB!ta-i S(xJvB020ˁ +R̚\-tȞUF?N}thajB> K :MAv{ax\X R@vTz?1pc  k"0(JnG6zjry_bJh^-Lt+cr7sWڣii)9UE?#zro}Z@r:A`~^ LyhÏ\pJD&XXwvS G&GޗnL`ށK\j^w`R\ KAn@Ȑ.ExL%ۖE(6РO'Y eK%] %3Z::OjR]\hs?w2H1f٭82dئUnU=Eu{É %}Aj{zh.o4&:'uhs=z+qIHiʷ/](OW5o6!C= Z}`yTA-hY!):Ev&eu4Ƌttm6rG)AywrWVư¤ E枅/f8: iLr|E1toi!'g[^5}[ܸPR5)Y 7W x>%(i[Tq 'XlY>aϏADpxw-I\ߎn Äw4S!JZTU%+}vuc ?$#W_I'#K h)D3f(߰J4`jg}"S󽭻FB$ȁ02| YZs0[g_`MԈ *6‰.j ͽj:*/.ʟ4Arcɗ ̬@=Y8{,]C-G〒^pYzQۘS""~ؒE*R_!ʡ51\ӉBl*?s2C#MʬZ):D~>r|?a EQ$ؔ%aqb.P @ŢALeZ%AUMPh~Ԕ;+uNHܤ𛸴,[+H؈'nR"!>NMҵPlByTcIem/XNd G>mo_Ok!Qr Pjyz{Smjl}?T.) bL+Ch~}d˯4d#? )avS O ֘E`;8>O㤧lr8Mr) l:>'ȄT*[G09^bNZ3H$n෇\-.] {e1?9UbFYWn : /C*7Z#ӧ -u=ӑRF]NϩPnWe$+MN6Ê&^u|.j`s;&OmQB#E{Ku#Rv@*>wݭ@x!r/o (:|"z$`f%926("Jk! znqq]lKD= M0}f=(]B7,`h`9aL_ᰙ\u 2wwfbq:񝴂3fbn=;^bR.l T":↩wҩT>;>"$uB?vkWv @NNoxwX m-LX0ߎpEc-BQm@&5hf/ Ⳳ$_>o:\EBv*9Vl8Q҂㯬Z}> LvOz!NjFF];պ7`T)v8ș2ݾJ;U,HYj\JVAus'.Fg.>,&:.Y~](JZM:S܇Pw7mBMXBEmZv\e)||Z@ȷ6.il#Κ]jtbK`QAU߸Ny*MU-[q3ae!ڙY%K}DhAUw[jl_hDТ4)H11<<'ҕ5fRD7%e`tN8.f% j+LK6lo_A$Yuż臨my1k/ؓI>Q⓱`5#MAhsBۣ$w.+42)z9d? Wj[zp4$h_6(EJO[q}g! }΍jf..\ޥ- =sl qzʪjn̠tX4AY˝K`N FoHrὑud}ٸ y̗>RpsBqa=h+&/ L'إL11l<y ulMH{S+Ļs0IuMԻ1A؁|D= @>|7LE1aX+V/HMdH&<;S˦,t?;^3FyɴnbPۯp,:Aru+O/(ߌ6*EY$іNE 4qxլUYNM[?z&NKt2Gf1T~h.H ߽kdtRM~DώSVfc, ]'LXBB}a]Ȁks&rܮ^؄@ekW)/KlSժ顏rMG,ե_g"Q筇Qܲ#QExZj<%^ep9J%Z -lΏh .e!jCQFm3=y.kWEJ$cO`g7EW .ifK*s ^)iWWECt(Moj{W1 ,b$g6X2A^kpUEWb#,9&co1FLX  3 /~՟c,\qeNT1d0\զHݶ,oBcLddէ rW˿]XԤ\ rg]I(Dc&Ì,W 5i'|0@8WF'Zz&-C>#!?&'UI$3_D"&wNRCX[@nQ<{\2$3쏩c0 'B;mp>*Ť[abR LJn̄UK& ,eN1ejlI+n::y!HO S8.lyInTdvGvS+qϓD D@m6X$E-pXX.yN]PɱP-|ڎ0N&OIz~h8zǁU H,ۘρJ RPJbYUob^"eg<.*kb%jaIлC6O#V80|S`nJmkMOž^{zPNj8x7A:YUͯ4*mÐ{T5Sd?XޕW^U+!M5aFK HJfsӎ_L)#T_Aj4EtĞg11EI`-(n٨ 5p~,8phls}bVPbVi[XRԒ٦2LQPأ8{wk*9C;*YS[X jlvokDM3jw4_8_*[Mٻ\i,9FD%yLW% U&y*c\#J z&k)ubbWzgJ>{~ Uy"J3 SYK-!cN%Ayri1?I9̋6N ~]'0cQk'ΥMX|< P"m8o-DtUcV%/Wً#hK?3nt.K&Ԇ_q FbAcFtёȒj`S{n|^c/Jds=TBB^$m8k DͧLQy$zPyIZ.~t.RĄ€O~ĝ)b֣޿VL4\a{fRY`R^MZ)RAQS@F ^}2^}X/dm}k*1]*<`2 *i4ZrP&I+;2JWP3v̦)Ys[oagE^NhCٶOqmtnycNz2Q"=psI<3M jSLڂK5*1A{COpuO<hٛ\۽yj#?%&bsޡʷZ{+ zY-MD;JO^EFڙ'+Q`s@P &GAnq,;b7udVV {K /C;S4"ic X0A&6aoҴ<)$jK~#÷n>5O:aYzm~H74Xѡ6(ơT=|BYS}G!u'Λ,^p"|BzIC4ГadYn0=aKy[d0 |H{ VF}[Eo@G,#kv'8w(&|,Ӧ]O77~ӹ`yGrX9}LϘMk0 4(TJ"{U)R71 . Kx#5M x0?ՌL4OIm]lRM2^Yٯr?9)Q5@GpQ?lKqh層BA-x}M"m GȆ'em W7{J<{;$J_쐗4[eJEvGxn s rl*G/NJ [2?a9sI΅iWr-S Z h;ܤ:ou$t % HDzz?/ 1&'h~YC09e`ݘͅ+靀KHpw"h5{v}H7c^dIWjwC?%<6ݟXG)t8) )* MMDPj2 K[ +1E3]iչ[]rr+ 26Mz%LjU ˧VUMJ.rEn5O'^<n݈' fn^i\INqooSp@OM=5\@mG4Ѡ:љPr ?W5\>]mUiSR L(H6j 2 y,俥RA* ژqV S Y_(؟--?B9|+# p̣gxX2?*PK?Ԅ^"q1 d3nRɩF-Av^HzѨ.tN&ÉKƁ%,D7D3fwq~AKjEM )bd)JGA9)}6щJ *blLߋrcʯٷ0/#q]()kޯΒP#[BC=ufYR@ƒH |4 wnaKrdx8 ŃOؠ2G3.n[nw*-'16;hP)΃KۦZISҚ< h]ӥ3fcM^vkj8 BxuuƙĽX e{U:|Z8Y.uiFr;,QUDrY[kQu7#AQ<,OzAG(UUFrh<8*% 6i}wCQ`œiLWA;/'8UmO0^&+͛#?+m`s~EW mz2u(~wh!xxϫm0 wɃ_\JCW7;gFE`Xw+jV ۱i카a92>/4V׋mMO.+VCێ(% j}afs[&!"%fYB6r e/8\lh 2tdӎyb3yaw#۳fmT1,55 dqJtށa.YkyNtzl8IE"W:.?cLnsQWV,5yUun채5FX(zlNc9.?#na}Qri,;kKN@f:,G/mM2Ye({ )Mj;M`-RU%13.m/?L"P\d'P*VLlJB:LQsNNT5YIj&9ҰvƐ$wf|=ZAđYIn 'Y+u% '7nD PkMDxOR X"Yh pXP&%.Η @)yMm1!,/Ibv"d$4 Q<1zS^1k+^LE"pRGI2o^seX?ɒ 885@G%uEwiNwdeKf-_=l+ 4`]n^% 3~)Bg;M5s tcMb2h A"~@eAqc_FBD \GY0)@Ü Xiت _fRZ&Xsh7/GmNv+I-Q8K6"hJƓWjЃF Kef7ˆfF frO㇍#)\X+.:0o'|S ?p:0a֦.XMS˯OI4\9{ mE6VaAs_?6`% vu|U=~&[᳞&Pѱ`/ ,nˇlb!Uk(& g|(ۡAT{aa`acdO'aIX $j2CǏ}'0>ʁU8*RXVO;fVW9; xuGA(Wvc3eu#IBR{OK{ayå Ϥ&FX Wvo۟[{b6[1]¡ 7 !R餕Av;70M`HS[S G&yMrڭ3 ag-YY)KJӝCMv̩Cpxîu]W5Bַ bd{g{eR)EfՄ-ʀ`'J7M!`9pUuݧvˈ ?uyZw ͐snit+C)lU =GWJM`+Y54$'MpA\HqLRԐATcu[=+Ytu!FqZDI,i:>& zN +#nJxX#3BZ S?:ۺB "@pv+h,ɷ(Ƒb@}N{ȆWQ_SQjs״˕]^Įi N %jם ġt2D&^EpR+G IӠf~l,BUiDۄBĖG"^5^vF'MvC= ;BvXO65J4,ܔ)Լ@Ǫ&5M#_I{nMk!!$;im N?2ʂ wV &]ϔ?1 dpep˵VAΓmc}Pp[3 m8:nZ3i#3>FdF# LQ%0ݺpyy{shRŕX,=#& ߸|.&G%+qЛmI&9xvE|vL-8@]b(Z t Xe1toe:ձA(M>4d0\E*ET.7qdדs vUij9vD{~h˻(dyVÞ,ca%@Pqj ҷxcb7R9Ƕ X~L !Jމ \=op0A- W!PL'_e[b,R# R*:d5*YZ !n͎!l24YݟJՌ: cN3970GjRߦhr&LTϽB!O+Dh&ܧJuwN5VJM >m%>5{+Q+xjLpLq pye\nRH>NrzFPf+xo^3Oϧ!`I~ o䡀\zVk"}\-V PvhC]5h{ɓcٵ%D*scr% f0M/xzpc'%<RɹO (r$w$)~,[-qŊ[nISD{xqX򞐄Ƅ00ѦzU;$貪@#T 7` McRTHnb+aTƉFݻW" ݀glPu|&6ԕ0> h녨&կXj Xf.9sm:amJG0 %tV8Dōm39bcQH\ȟ;Cw WyЀvT%W1whhՒ4_$oZ-xCp>I \nn]cJɄδ5ڦsM>o*H Zllق$c;̓D٪ `B+uݟ9S-zLΑB?0eߗd1*L;nTestۛhMV2Mݗ$[ O윈Ȇ&ϵH?Gw |60j2R*;-۪VJ{oxvW _ dhʉ>W'`ֈ j0&sq,i*|E홡)b\ǴV=fΧi e fQX5GKŤ.mvtKvU!Rӯ B+pmzOobGrĵR~fg2?K#!slV oE=-,\Ieׅ^6$bkskU?)^;Yھ]L~鰜u =C݆f͊e `ra5_Eo) Bl6 n ݽEC 9I-.itؿJToɆRٳCZ 5?# #!xL- RԾ[t/OPOQΦL:EVXeV#[G.nMAb?W e;uq1Y@YOm(Ln߶)A"ΉoW3< BA`Գ6~]\D= '5=rȊ/|$X4| GnƉa`6h&j~K1“آ [OI-Zp;leYf c d JDZ|_]NY>ɫ=2爃%j+~O ``]nS^^eNV=jhMLAK^yN>%@%v-N0Ѻix a1} AD᫟̹LR] #J~6S Hs}.X)]υCsH$k;ÿAϓb|XVr AN qn{>F0rrV( mD\@SZ- C6"MGyKyƥ\ c|] @jBq|g:'SdW€+#{R4}`p4pjw!ZZ~i{ZPlâ;Y4IWK`308|dX)EC(o46ސ BaF) =SGK1 OKk0` Qgp<D"ș1df Kg]% e ljYb>tA%Dz8ޞq HAiuO|y%OGdhD+ojZӘ]v< Dl0Od'U{n0і9pImA68שLV%;[HB[b5[3 )\Bl=yQf[cdDVk *fSC(.fCƢgz޵$ C%*}0 vW,Y|Q-H!J?H|:i 4>9xKM{a)n¿/w ɣ<3f&ta##fq3|A<7o$ej A1sٟ J2H^ѺʥZoh#};$ILkדocWY4U=Fз0>S٪X?>2(V7d+;:%pQ(I-v,ѻO6]6Tn` {ݡ S[x[8(f%R PwWHěUMhnN^TM\Dk7K'IRL_'D^(1*-'x&aJ^*O5qQu:KZKB RL# LnaO~m0E^E qU\8nRcZ5+1o~56/ buFNխWRPBZ =%枯ٳ-qS#rw @wWn*ސ(ź;VC@ʷВf 80ÃB˅Tn+d䥰9[г'$7)/Zp4w@k:1~Lh Jm݇ݮ6,J 095@@:V7^|V rOyqvփU=ji+vdCrK#)˽!ܕpy28QG vnAѤRΎUAd2D&{wLsx#7|!o)4$kTu%=M3"4_}[wxo x&7$W:ʅ MOyQߴqh@o$KfhS7 LW!r,ՋFn(iKr'v* 62 _ +A]܍9CjDEecq"/A=Џ~3q\|]u$~Oм کl]ZG/z]p@C;`\ZdzWK,K_}2Vg.;Lr+~yzr'NKHU{U1YҤ2Kp!E (g }/_S(Ŗ9 Ty֢Moi $)^qɻ<`W,f"Y$ y |ޣn:f4ϻQJ[m^4 Le)&@,C )g~rr`P] !@ %HuR*7G,wkNt ;~3]P-ʂ,N>Kc;ޥ Emcl f4@Q1O.tgoEWwm.l q6˙Gd0!Lǵb^OaWZĠG PX^g+pwO!dmm+՞I͛ih*j?AGp~̺wVzHjj\3Yqh7TjMjØ$ YwΚ䦨M< ]/Y0S;m8!{Ma?> ճW;)n "9㼆ȷ:or ~HQ{v%M^Nciv7HE*PX8"67 0K O,dZ05mb|OW\_uY"TxSύGz_WPQE"$LXX!?4rwV1_IXDגh8-UWV~"9v.E~Cn } Ի|67YY88~gXzl.ͯtU\Ah'2P落-u.W?GF#j* 1'v%!L3xE :?lZ>Lf]Yf`/Sx(˓ۭݡ-QgYz\G@OhPl9GO}xY5 7H Pƙ,J- &sAg+)xO2^3agVH"}}ؖ'%trǚ )\}'֞ɆFԶWz,]{ZuB \g/[k("Eہ%=eKFtPP??N6:/+j]5Wv3k\Ξf+^+{Ng彀2rrZi(jp?fJU)rG`,(mͨoJͤ6&}#L⛵5|_0 Kl%'29$Nv3o]v03* ONH70^w>}u.[֣i`f}8+g:,I91UE |/?}<`ӎ3?ᄑlT,pNyW5E@:qoʶ؈[a|52xS]|-fFhU Nݙ@n{?+9L⏄k6,<'(A;-Bz%F̕NpT`<=/!,%r}(qQP p!M\t"'f1aP)QR%P,ܥ`{5=\7qS θHpU:ߛE/>9m:沵,r:!s܎0e&er[2j&&_+5BsP ^TĶ[aϜf%d=8BV5od7f1ǂ8OtjrCAe5 ~bHYyul;wtQvt}dq}N]C(P%gt1 Sn6@,UҧhCTBBw`pNЎ508,GkǽMR1W/趝g-0aۨ>6 c4`|97/4.ayj>*N[ m@Q {x\77 2nz`Xb(4ۊC!W\ } "ޓ B&Ϊ{@f+8"Q٠y)5O#qC :YdWWrڊnoOiR|lN =@O "Z;n̤bP˨.DnS AOk3H8"uSEYPK4LiMY?s]ώ#Dz`/*؛qAo&|`M/|Fu_^9h!''=?<:2;u{uĦSʘϵ4l5ç;cѣғo9g,C/nԓfo߻SӢՉI[H7nGK_Mq_dgbYmK;CrKn?Ϯe> }p Э8wxݚ QB{{l9ds7a3Lt=kr_] ME:hX'Z/&Y` fBHnywp1tZ+n`od@@vNdgBO ~z?4wO AC^9 z~dʚ{m+[kTuZY\cv5 L6W\*CAafH~O$@`E$w!wv];f+CwOJY^_EL$'.TQ}A2-STF =7>~[O2^(1;m])8?pg*(Fi{v@pFç EzՁtB6cmT'ߢ=#濍f/<îʂ ^L!]KO#Nsd 1W?_k?4 ,"Fs/UW"9Moa핷5cA<E;V%wP{ 1K"=6pHQ Cn~nxݖ[ E[k[w" TldJDsŢUk:Oٍ^4dԇ#P|Y (\mPŦ).ye]l]ZR>VH)YM)3Fg-|bc2s`pcue('1i#R"=vAi ZF9ss/Αp!TS-qq> }_R|v@/=6Em+ 1%׭sQ:d!Tɴ͵ZkB;v T")lE `v<tŝI=̖EM7'߉D櫏= tD=,؅Rk.3O[Hh?Gu-ZR@RpߗޯBӥ3аّ׿Tg‹]bl|,:<<ui[\Cd84貚UJzEazߏ`3!.u6)m,.5Q: X+?L9&=A,o2!\6ݹl0u-КGy'KuK99vǿ`Ot;9ËG3-esķY=66߹Cї/tk<|E`vQ*֫faqWí&`E~nhG|t.4rkҺapG\Kn<7v}2>f|4-̣߭\p`2ODz 1vmh#ns^$۲+Aը30E7h&w--ޢyz$vR|G73EX’YvɴlWe iu{QnS ^,<8ɓ:yb7yO M C(<)RnЭw`qTZH=2 0DDEGa)^C[@:|C8a\Nt^x¢>)#gTM4N~#__86F5;:SUX[T.B@s[ŕLchV/M=Rfe~S6Wk֓{vɼ ffhtr <18gGà3w¶P5ž05yء2ՓpMYD{#IJO8NdIlEPC_k 3ʀXes53Ʌ_/=0 z(([T{%+D: M!w݆vSCEVVO%D%:;0,s^ ԋ)| =-p:{N6_W C YZ