dnsmasq-2.78-lp151.5.6.1<>,4X`ح/=„^lsW*!k[DK0[Iwe,L(a(y-$vp q3YLjooIX Rlh n )!~nVtʽiQu=ʉFv _-:S\(e'V4vLʧLΌAه EfP0 q.]z 䑟Iblc̿Noˡ]`Q<4>FH?8d   X\`lp   @`` ` @` ` +` ,H`-`/`11`3,3`36(68797`:9==mJ>mR?mZ@mbFmjGm`Ho`Ip`XpYq\q<`]r`^wj,b}c~Zd~e~f~l~u`vw`x `yz4Cdnsmasq2.78lp151.5.6.1Lightweight, Easy-to-Configure DNS Forwarder and DHCP ServerDnsmasq is a lightweight, easy-to-configure DNS forwarder and DHCP server. It is designed to provide DNS and, optionally, DHCP, to a small network. It can serve the names of local machines that are not in the global DNS. The DHCP server integrates with the DNS server and allows machines with DHCP-allocated addresses to appear in DNS with names configured either in each host or in a central configuration file. Dnsmasq supports static and dynamic DHCP leases and BOOTP for network booting of diskless machines.`حcloud1255openSUSE Leap 15.1openSUSEGPL-2.0-only OR GPL-3.0-onlyhttp://bugs.opensuse.orgProductivity/Networking/DNS/Servershttp://www.thekelleys.org.uk/dnsmasq/linuxx86_64if ! /usr/bin/getent group tftp >/dev/null; then /usr/sbin/groupadd -r tftp 2>/dev/null || : fi if ! /usr/bin/getent passwd tftp >/dev/null; then /usr/sbin/useradd -c "TFTP account" -d /srv/tftpboot -G tftp -g tftp \ -r -s /bin/false tftp 2>/dev/null || : fi if ! /usr/bin/getent passwd dnsmasq >/dev/null; then /usr/sbin/useradd -r -d /var/lib/empty -s /bin/false -c "dnsmasq" -g nogroup -G tftp dnsmasq || : fi if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$FIRST_ARG" -eq 1 ]; then # disable migration if initial install under systemd for service in dnsmasq.service ; do sysv_service="${service%.*}" touch "/var/lib/systemd/migrated/$sysv_service" || : done else for service in dnsmasq.service ; do sysv_service=${service%.*} if [ ! -e /usr/lib/systemd/system/$service ] && [ ! -e /etc/init.d/$sysv_service ]; then mkdir -p /run/systemd/rpm/needs-preset touch /run/systemd/rpm/needs-preset/$service fi if [ ! -e /var/lib/systemd/migrated/$sysv_service ]; then /usr/sbin/systemd-sysv-convert --save $sysv_service || : fi done fi fi if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -eq 1 ]; then /usr/bin/systemctl preset dnsmasq.service || : else for service in dnsmasq.service ; do if [ -e /run/systemd/rpm/needs-preset/$service ]; then /usr/bin/systemctl preset $service || : rm -f /run/systemd/rpm/needs-preset/$service fi sysv_service=${service%.*} if [ ! -e /var/lib/systemd/migrated/$sysv_service ]; then /usr/sbin/systemd-sysv-convert --apply $sysv_service || : touch /var/lib/systemd/migrated/$sysv_service || : fi done fi fi # reload dbus after install or upgrade to apply new policies if [ -z "${TRANSACTIONAL_UPDATE}" -a -x /usr/bin/systemctl ]; then /usr/bin/systemctl reload dbus.service 2>/dev/null || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --no-reload disable dnsmasq.service || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_STOP_ON_REMOVAL" && . /etc/sysconfig/services test "$DISABLE_STOP_ON_REMOVAL" = yes -o \ "$DISABLE_STOP_ON_REMOVAL" = 1 && exit 0 /usr/bin/systemctl stop dnsmasq.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in dnsmasq.service ; do sysv_service="${service%.*}" rm -f "/var/lib/systemd/migrated/$sysv_service" || : done fi if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -ge 1 ]; then # Package upgrade, not uninstall if [ -x /usr/bin/systemctl ]; then ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_RESTART_ON_UPDATE" && . /etc/sysconfig/services test "$DISABLE_RESTART_ON_UPDATE" = yes -o \ "$DISABLE_RESTART_ON_UPDATE" = 1 && exit 0 /usr/bin/systemctl try-restart dnsmasq.service ) || : fi fi # reload dbus after uninstall, our policies are gone again if [ ${FIRST_ARG:-$1} -eq 0 -a -z "${TRANSACTIONAL_UPDATE}" \ -a -x /usr/bin/systemctl ]; then /usr/bin/systemctl reload dbus.service 2>/dev/null || : fihSEf`Vks <-fEwlAlS& W3Xd Z=l ?^ P# hS'.FWKÕd921"3aA큤A큤A큤A큤AA큤A큤A큤A큤A큤큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤`ت`ت`ت`ت`ت`ت`ت`ت`ت`ت`ج`ج`جY;Y;`ثY;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;`ثY;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;`ؠY;`ؠY;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;Y;`ؠY;Y;`جY;Y;`ت`ت`ت`ت`ت`ت`ت`ت`ت`ت`ت`ت`ت65b25dc51ba9fd414201ed8146f1d23af6c20c3feff364638f136759648d8a42105896829d4142c8ace7681ccbe50cf83dfd9e1faa846aaaf257ad2c68a668c2751da48d283e73933d22c49422e488f701e0e51d8b73ad212fd060456d06867d7eb505f2605a3d121c0995399adf3f25c9f079c00335f5dda1afb9ed8e648a385a7ade166721fa1ba81bfabeea76ca9cd740887090a5b9553129e80e10675b0356f0859b9c71415928ccd9a15080b2a210148184188e618d3804bc5ab2e1ac181cc30f21b121e920ac4ec5c30619135aa8b771a3f91a38c71d596e81d35fc0b79257c404311a2a02a05e3cb86831748038d8220115912aa5557e4370d8e02691a446d790e44f2d5280767758a948674be531400db87643b2bbc0351ee70d33a280791de58818788dbb3e54557b85aa0f71f5d8b7d30486d5efb7279007dfb6ebca5b78c85afaf92bf423f74562311e87f3affc52fa07c42a593659d51db7b4c72c174d8ec4f11d8b168e308715b63e2f066fb8f3fa90f3a6c48bdcf285ae1a0c66d732a843e2ae4c8acb678d1fd3715362484eff6ab23877df608ac933bc9164e30dc229f359483f95f6af0a2d886a8f9870585380f7de906f462e1b46a76cf4a021a74cd3ba67985484c2e23381226820266ed6cc46ef657fc8a12f8333f4e02777e4eeb3440bd834286c258bba713905fcaf3eaf38f86a646be53f6f62e1df525ba862047b58c71c645ad3b9af10e54dbdbc2f75292c4dc08470b219a0a6b72f7c3bfb9c73d182acd7d8751c9c3fc1926db100f22dae0d0f71c98de090c78fed0ec432aeda33fbbab97b82b9d4eae3a1ded3710243beab2f344c6ca588949ba7fd5d2bd7858a440ca1a10e85c87c4af8d11aa02717ad4c823f17689112fc131e61ba13d73df9acbed61bf16c2590a39f2c8a681afc569851916f80df6c100497db11f354b4bd156d178f055e0e25e2cfcdd6ee95f1dd3bb10ff184f3ca90c8b4a2fdfc7a6dd0e11e02a5d4e45e36440250cdb1f77e3b592b470ad563d68e3d679707b0e10b867bb7bd7e5a4fe4f002ff9fcdf5c2354ccaeb8bc59a8e5d29c5c938e734286f2e0796c7eb67a135be6a5fede02fe749daaaebe3510d2b023f4e502edd5eb324bcf19307b19f3d50fec7a44c54d54f4032c3b052a3d4b05da802656b204b48f0bd8c5df471d37cc08246023dcf813c189b17482a66b0df0b25350c69e1d76b9cf57e2eef7397553da670a7981c10be01f34bfdeb54d7f61a1df7d7efb86bad399099dc7147a892bd47ba45c42bdf5d14a89665953b491126ba3bcd404f467ac923c398e89e29467519b740cff6bb1a842d56dd4a37bb4fc8384a8cbe71bf06395ac6bc6ff529e7238f89b08735eee3ff53b20552b23bfe8ac42dd20a519185c0ec606eac4e66e34020fd3703c8d4947cc73dfd13d473666f8f5c9fafe6be51614edf260539c9b47a46d955fc82d375eb30501eb17818a6ca5b21d0804b9a07ce1d0e0fbd58a736285a18713985817e2b408cb60e7f29ce0a115eb87ab8e96d6cf6d77d4181dddb7393ccf44c96d9967e10fb884b4a05affafd9f976004f8bd958fb65708f05dacfc4703972bf875b21bf9d0beefca382e274acd6a28853b7e40fb0f71d741aaf87d0da18e688efd697c39eb884efb0807ff9ee1fc47e062f1077e108f1dc4eddf91d04a7db2ad23d07929e2c91e28e4997104dc4cf493104bdef53e05c105465f3314384deda5c8553c81088b789b350ac6f1fdcd70cba62b3c56389dd4ad81b40ebca8a122bc020ac7bf4f724b7f494c6c896f9c98d4e1c4a33ec2d1325d57c47390cb46fd763aa1b30dd1c6b6ef813563cca1a1034e815282aa6265b2c9dc17d6b0df97874518db2515c073d16d845d13bcda98d196f00d6cacee33e78a2a8c56b2420902cf70c11bf3aeac54645c6bf093d85ad89524beeee4222c838354a43a29e747584b885a9f6288ee44747f80929c982e9fb863e933f682362933749abe46b6074226252dd68d09b3e86c26b1a77c0396fec5f060083f61900237d77f10604ea4d8e60ecff1bf4fae01f2d63d4a9865e94577c0c54e164dcb9324bfa2e6520a01b05f77899ac66105614b1582ff2445b8cb5eb2d16434e6c77fc760e98a8aaa3cc0df6695b91036505fe506b9b4f1891b01914b6ba8dc2696c1e6f75893d3337893124a44e2525018b4bfde9d858e11fed9db4f97eeb636244a5e1b5e93bd7423155ca3877211e916447a09843afccbd14385130a6d3e4101b049bf4f623c53e4a1ac9bfcc0471fe11d3f4047832473233e94f4b65ca2fcf075faa62447fadb508e26a52f1ef000dcd4fe8a0f8a7ff965b25dc51ba9fd414201ed8146f1d23af6c20c3feff364638f136759648d8a42105896829d4142c8ace7681ccbe50cf83dfd9e1faa846aaaf257ad2c68a668c28a3f150473468ca14dbfaecda4bd71d2cf69ca2e4e0c230f20812121fc7793ace6b975abd418fc7a5313dbf29c3c4606f78e8290571396a8d1804c6665c43d2bdcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b90376865b5a0d6fc2aa2ee117162e4a59caa8b5e5c410578436dae53ec5f7e99b98a343bbd212067bf566dbb40c92b17b806633378190a2bd81bb3ba48f2babf30d42c6e8cb473670be1934a8c1397c0ab969f122687f1088190082564eab9605b6aa02ec034215e97603e92ae49b57f63dd9f39366cdb158756285bf240921fd603535acf37dbafe69d448d9266bba74b01828ac1d7842ebc1d6e58c5646ae66d9a3684c6a4940e3219c505ad29794b849b3084d000c59561838985119edbefd2ed3f6f152542daa61a63dde7936c5e97b12ee9c19b6c2d9e8dc3d680debe96421737b4678b9bb5fc16375144107dd1ed5009652b28879aee7ed329279cd9bc26228cce53b2af67c53fee5b8615c94a1eadc63c88b2347d209ef2ed9490cc0d1abfcf0386da0f115a8afe29b3476ddd523143da8c17040922253b1472f91dd9a58f9d931427bc280f2051b257c4a92b3b450b27d7062900762921443a7e17f9b422b67d35cc54ff3316ff4475b43caf18100339545edeb18a570b2b197f1ce18d1abaab1a948fa972e42d149a0fcd094a631ccbce712924775204898dfb0e7b32bservicerootrootrootrootrootrootrootroottftprootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroottftprootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootdnsmasq-2.78-lp151.5.6.1.src.rpmconfig(dnsmasq)dns_daemondnsmasqdnsmasq(x86-64)   @@@@@@@@@@@@@@@@@@@    /bin/mkdir/bin/sh/bin/sh/bin/sh/bin/sh/usr/sbin/useraddconfig(dnsmasq)group(nogroup)libc.so.6()(64bit)libc.so.6(GLIBC_2.11)(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.9)(64bit)libdbus-1.so.3()(64bit)libdbus-1.so.3(LIBDBUS_1_3)(64bit)libgmp.so.10()(64bit)libhogweed.so.4()(64bit)libhogweed.so.4(HOGWEED_4)(64bit)libidn.so.11()(64bit)libidn.so.11(LIBIDN_1.0)(64bit)liblua5.3.so.5()(64bit)libnetfilter_conntrack.so.3()(64bit)libnettle.so.6()(64bit)libnettle.so.6(NETTLE_6)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)2.78-lp151.5.6.13.0.4-14.6.0-14.0-15.2-14.14.1`2@_ܙ]@[@[[LZ%8Z!D@Y*@Y@YXlWWbV@U@UUa@U4@T@TB@T@TT_W@Reinhard Max Reinhard Max Reinhard Max cgoll@suse.comdmueller@suse.comkukuk@suse.deidonmez@suse.comcbosdonnat@suse.commax@suse.comtchvatal@suse.comdmueller@suse.commartin.wilck@suse.commax@suse.commax@suse.commpluskal@suse.comstefan.bruens@rwth-aachen.destefan.bruens@rwth-aachen.decrrodriguez@opensuse.orgabergmann@suse.comjslaby@suse.comdimstar@opensuse.orgnemysis@gmx.chnemysis@gmx.chseife+obs@b1-systems.com- bsc#1177077: Fixed DNSpooq vulnerabilities (dnsmasq-dnspooq.patch) - CVE-2020-25684, CVE-2020-25685, CVE-2020-25686: Fixed multiple Cache Poisoning attacks. - CVE-2020-25681, CVE-2020-25682, CVE-2020-25683, CVE-2020-25687: Fixed multiple potential Heap-based overflows when DNSSEC is enabled.- Retry query to other servers on receipt of SERVFAIL rcode (bsc#1176076, dnsmasq-servfail.patch)- bsc#1154849, CVE-2019-14834, dnsmasq-CVE-2019-14834.patch: memory leak in the create_helper() function in /src/helper.c - bsc#1156543: include linux/sockios.h to get SIOCGSTAMP (dnsmasq-siocgstamp.patch). - bsc#1138743: remove cache size limit (dnsmasq-cache-size.patch). - bsc#1152539: include config files from /etc/dnsmasq.d/*.conf . - bsc#1076958, CVE-2017-15107, dnsmasq-CVE-2017-15107.patch: A vulnerability in DNSSEC implementation of Dnsmasq was found. Processing of wildcard synthesized NSEC records may result in improper validation for non-existance in some implementations of DNSSEC. While synthesis of NSEC records is allowed by RFC4592, the synthesized owner names should not be used in the NSEC processing. - Package contrib/lease-tools/dhcp_release6.- enabled lua scripting interface (FATE#327143).- add missing prereq on the group to be created (bsc#1106446)- Don't require systemd explicit, fix spec file to handle both cases correct. In containers we don't have systemd. - Adjust pre/post install for transactional updates. - Use %license instead of %doc [bsc#1082318]- Update keyring- Get rid of python dependency due to examples. (fate#323526)- Security update to version 2.78: * bsc#1060354, CVE-2017-14491: 2 byte heap based overflow. * bsc#1060355, CVE-2017-14492: heap based overflow. * bsc#1060360, CVE-2017-14493: stack based overflow. * bsc#1060361, CVE-2017-14494: DHCP - info leak. * bsc#1060362, CVE-2017-14495: DNS - OOM DoS. * bsc#1060364, CVE-2017-14496: DNS - DoS Integer underflow. * Fix DHCP relaying, broken in 2.76 and 2.77. * For other changes, see http://www.thekelleys.org.uk/dnsmasq/CHANGELOG - Obsoleted patches: * Fix-crash-introduced-in-2675f2061525bc954be14988d643.patch * Handle-binding-upstream-servers-to-an-interface.patch- Fix /srv/tftpboot permissions wrt bsc#940608- reload system dbus to pick up policy change on install (bsc#1054429)- Handle binding upstream servers to an interface if interface is destroyed and recreated (boo#1018160) Added two patches from upstream: * added Handle-binding-upstream-servers-to-an-interface.patch * added Fix-crash-introduced-in-2675f2061525bc954be14988d643.patch- Update to 2.76: * Include 0.0.0.0/8 in DNS rebind checks. * Enhance --add-subnet to allow arbitrary subnet addresses. * Respect the --no-resolv flag in inotify code. Fixes bug which caused dnsmasq to fail to start if a resolv-file was a dangling symbolic link, even of --no-resolv set. * Fix crash when an A or AAAA record is defined locally, in a hosts file, and an upstream server sends a reply that the same name is empty (CVE-2015-8899, bsc#983273). * Fix failure to correctly calculate cache-size when reading a hosts-file fails. * Fix wrong answer to simple name query when --domain-needed set, but no upstream servers configured. * Return REFUSED when running out of forwarding table slots, not SERVFAIL. * Add --max-port configuration. * Add --script-arp and two new functions for the dhcp-script. * Extend --add-mac to allow a new encoding of the MAC address as base64, by configurting --add-mac=base64 * Add --add-cpe-id option. * Don't crash with divide-by-zero if an IPv6 dhcp-range is declared as a whole /64. (ie xx::0 to xx::ffff:ffff:ffff:ffff) * Add support for a TTL parameter in --host-record and --cname. * Add --dhcp-ttl option. * Add --tftp-mtu option. * Check return-code of inet_pton() when parsing dhcp-option. * Fix wrong value for EDNS UDP packet size when using - -servers-file to define upstream DNS servers. * Add dhcp_release6 to contrib/lease-tools.- dnsmasq-groups.patch: Initialize the supplementary groups of the dnsmasq user (bsc#859298).- Add gpg signature- spec file cleanup, get rid of redifinition warnings- Update to 2.75, announce message: Fix reversion on 2.74 which caused 100% CPU use when a dhcp-script is configured. Thanks to Adrian Davey for reporting the bug and testing the fix. - Update to 2.74, announce message: Fix reversion in 2.73 where --conf-file would attempt to read the default file, rather than no file. Fix inotify code to handle dangling symlinks better and not SEGV in some circumstances. DNSSEC fix. In the case of a signed CNAME generated by a wildcard which pointed to an unsigned domain, the wrong status would be logged, and some necessary checks omitted. - Update to 2.73, announce message: Fix crash at startup when an empty suffix is supplied to - -conf-dir, also trivial memory leak. Thanks to Tomas Hozza for spotting this. Remove floor of 4096 on advertised EDNS0 packet size when DNSSEC in use, the original rationale for this has long gone. Thanks to Anders Kaseorg for spotting this. Use inotify for checking on updates to /etc/resolv.conf and friends under Linux. This fixes race conditions when the files are updated rapidly and saves CPU by noy polling. To build a binary that runs on old Linux kernels without inotify, use make COPTS=-DNO_INOTIFY Fix breakage of --domain=,,local - only reverse queries were intercepted. THis appears to have been broken since 2.69. Thanks to Josh Stone for finding the bug. Eliminate IPv6 privacy addresses and deprecated addresses from the answers given by --interface-name. Note that reverse queries (ie looking for names, given addresses) are not affected. Thanks to Michael Gorbach for the suggestion. Fix crash in DNSSEC code with long RRs. Thanks to Marco Davids for the bug report. Add --ignore-address option. Ignore replies to A-record queries which include the specified address. No error is generated, dnsmasq simply continues to listen for another reply. This is useful to defeat blocking strategies which rely on quickly supplying a forged answer to a DNS request for certain domains, before the correct answer can arrive. Thanks to Glen Huang for the patch. Revisit the part of DNSSEC validation which determines if an unsigned answer is legit, or is in some part of the DNS tree which should be signed. Dnsmasq now works from the DNS root downward looking for the limit of signed delegations, rather than working bottom up. This is both more correct, and less likely to trip over broken nameservers in the unsigned parts of the DNS tree which don't respond well to DNSSEC queries. Add --log-queries=extra option, which makes logs easier to search automatically. Add --min-cache-ttl option. I've resisted this for a long time, on the grounds that disbelieving TTLs is never a good idea, but I've been persuaded that there are sometimes reasons to do it. (Step forward, GFW). To avoid misuse, there's a hard limit on the TTL floor of one hour. Thansk to RinSatsuki for the patch. Cope with multiple interfaces with the same link-local address. (IPv6 addresses are scoped, so this is allowed.) Thanks to Cory Benfield for help with this. Add --dhcp-hostsdir. This allows addition of new host configurations to a running dnsmasq instance much more cheaply than having dnsmasq re-read all its existing configuration each time. Don't reply to DHCPv6 SOLICIT messages if we're not configured to do stateful DHCPv6. Thanks to Win King Wan for the patch. Fix broken DNSSEC validation of ECDSA signatures. Add --dnssec-timestamp option, which provides an automatic way to detect when the system time becomes valid after boot on systems without an RTC, whilst allowing DNS queries before the clock is valid so that NTP can run. Thanks to Kevin Darbyshire-Bryant for developing this idea. Add --tftp-no-fail option. Thanks to Stefan Tomanek for the patch. Fix crash caused by looking up servers.bind, CHAOS text record, when more than about five --servers= lines are in the dnsmasq config. This causes memory corruption which causes a crash later. Thanks to Matt Coddington for sterling work chasing this down. Fix crash on receipt of certain malformed DNS requests. Thanks to Nick Sampanis for spotting the problem. Note that this is could allow the dnsmasq process's memory to be read by an attacker under certain circumstances, so it has a CVE, CVE-2015-3294 Fix crash in authoritative DNS code, if a .arpa zone is declared as authoritative, and then a PTR query which is not to be treated as authoritative arrived. Normally, directly declaring .arpa zone as authoritative is not done, so this crash wouldn't be seen. Instead the relevant .arpa zone should be specified as a subnet in the auth-zone declaration. Thanks to Johnny S. Lee for the bugreport and initial patch. Fix authoritative DNS code to correctly reply to NS and SOA queries for .arpa zones for which we are declared authoritative by means of a subnet in auth-zone. Previously we provided correct answers to PTR queries in such zones (including NS and SOA) but not direct NS and SOA queries. Thanks to Johnny S. Lee for pointing out the problem. Fix logging of DHCPREPLY which should be suppressed by quiet-dhcp6. Thanks to J. Pablo Abonia for spotting the problem. Try and handle net connections with broken fragmentation that lose large UDP packets. If a server times out, reduce the maximum UDP packet size field in the EDNS0 header to 1280 bytes. If it then answers, make that change permanent. Check IPv4-mapped IPv6 addresses when --stop-rebind is active. Thanks to Jordan Milne for spotting this. Allow DHCPv4 options T1 and T2 to be set using --dhcp-option. Thanks to Kevin Benton for patches and work on this. Fix code for DHCPCONFIRM DHCPv6 messages to confirm addresses in the correct subnet, even of not in dynamic address allocation range. Thanks to Steve Hirsch for spotting the problem. Add AddDhcpLease and DeleteDhcpLease DBus methods. Thanks to Nicolas Cavallari for the patch. Allow configuration of router advertisements without the "on-link" bit set. Thanks to Neil Jerram for the patch. Extend --bridge-interface to DHCPv6 and router advertisements. Thanks to Neil Jerram for the patch.- dnsmasq.service: Order Before=nss-lookup.target and Wants=nss-lookup.target as this service may provide name resolution even for the localhost.- Move trust-anchors.conf into /etc/dnsmasq.d to be AppArmor conform. (bnc#908137)- The change from Wed Dec 24 messed group w/ user IDs. Switch them back and be more careful w/ what is changed.- Fix symlink of rcFOO to /usr/sbin/service, resolving a dangling symlink lint warning (and remove the same from rpmlintrc).- Remove from spec group_and_isc.patch, forgotten in previous commit- Update to 2.72, announce message: Add ra-advrouter mode, for RFC-3775 mobile IPv6 support. Add support for "ipsets" in *BSD, using pf. Thanks to Sven Falempim for the patch. Fix race condition which could lock up dnsmasq when an interface goes down and up rapidly. Thanks to Conrad Kostecki for helping to chase this down. Add DBus methods SetFilterWin2KOption and SetBogusPrivOption Thanks to the Smoothwall project for the patch. Fix failure to build against Nettle-3.0. Thanks to Steven Barth for spotting this and finding the fix. When assigning existing DHCP leases to intefaces by comparing networks, handle the case that two or more interfaces have the same network part, but different prefix lengths (favour the longer prefix length.) Thanks to Lung-Pin Chang for the patch. Add a mode which detects and removes DNS forwarding loops, ie a query sent to an upstream server returns as a new query to dnsmasq, and would therefore be forwarded again, resulting in a query which loops many times before being dropped. Upstream servers which loop back are disabled and this event is logged. Thanks to Smoothwall for their sponsorship of this feature. Extend --conf-dir to allow filtering of files. So - -conf-dir=/etc/dnsmasq.d,\*.conf will load all the files in /etc/dnsmasq.d which end in .conf Fix bug when resulted in NXDOMAIN answers instead of NODATA in some circumstances. Fix bug which caused dnsmasq to become unresponsive if it failed to send packets due to a network interface disappearing. Thanks to Niels Peen for spotting this. Fix problem with --local-service option on big-endian platforms Thanks to Richard Genoud for the patch. - Add dnsmasq-rpmlintrc, for false positive scripts and symlink - Add BuildRequires for dos2unix - Use sed instead of simple patch group_and_isc.patch- fix logging, PrivateDevices=yes kills it (bnc#902511, bnc#904537)/bin/sh/bin/sh/bin/sh/bin/shcloud125 1611061421  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`deesfifriditnbplptroesfr2.78-lp151.5.6.12.78-lp151.5.6.12.78-lp151.5.6.1                 !"#$%&'()*+dnsmasq.confdnsmasq.confdnsmasq.dtrust-anchors.confslp.reg.ddnsmasq.regdnsmasq-dhcpdnsmasq-dnstftpbootdnsmasq.servicednsmasqrcdnsmasqdnsmasqCHANGELOGFAQcontribCPE-WANREADMEconntrackREADMEdbus-testdbus-test.pydns-locREADMEdnsmasq2-loc-rfc1876.patchdnslistdhcp.cssdnslist.pldnslist.tt2dynamic-dnsmasqdynamic-dnsmasq.pllease-accessREADMElease.access.patchlease-toolsMakefiledhcp_lease_time.1dhcp_lease_time.cdhcp_release.1dhcp_release.cdhcp_release6.1dhcp_release6.cmactablemacscriptopenvpnREADMEdhclient-enter-hooksdnsmasq.patchport-forwarddnsmasq-portforwardportforwardreverse-dnsREADMEreverse_replace.shstatic-arpstatic-arpsystemdREADMEdbus_activationdnsmasq.servicetry-all-nsREADMEREADME-2.47README-2.78dnsmasq-2.35-try-all-ns.patchdnsmasq-2.47_no_nxdomain_until_end.patchdnsmasq-2.68-try-all-nsdnsmasq-2.78xx-try-all-ns.patchwebminREADMEdnsmasq.wbmwrtREADMElease_update.shdbusDBus-interfacednsmasq.confdnsmasq.conf.exampledoc.htmlsetup.htmldnsmasqCOPYINGCOPYING-v3dnsmasq.modnsmasq.modnsmasq.modnsmasq.modnsmasq.modnsmasq.modnsmasq.modnsmasq.modnsmasq.modnsmasq.modnsmasq.8.gzdnsmasq.8.gzdnsmasq.8.gz/etc/dbus-1/system.d//etc//etc/dnsmasq.d//etc/slp.reg.d//etc/sysconfig/SuSEfirewall2.d/services//srv//usr/lib/systemd/system//usr/sbin//usr/share/doc/packages//usr/share/doc/packages/dnsmasq//usr/share/doc/packages/dnsmasq/contrib//usr/share/doc/packages/dnsmasq/contrib/CPE-WAN//usr/share/doc/packages/dnsmasq/contrib/conntrack//usr/share/doc/packages/dnsmasq/contrib/dbus-test//usr/share/doc/packages/dnsmasq/contrib/dns-loc//usr/share/doc/packages/dnsmasq/contrib/dnslist//usr/share/doc/packages/dnsmasq/contrib/dynamic-dnsmasq//usr/share/doc/packages/dnsmasq/contrib/lease-access//usr/share/doc/packages/dnsmasq/contrib/lease-tools//usr/share/doc/packages/dnsmasq/contrib/mactable//usr/share/doc/packages/dnsmasq/contrib/openvpn//usr/share/doc/packages/dnsmasq/contrib/port-forward//usr/share/doc/packages/dnsmasq/contrib/reverse-dns//usr/share/doc/packages/dnsmasq/contrib/static-arp//usr/share/doc/packages/dnsmasq/contrib/systemd//usr/share/doc/packages/dnsmasq/contrib/try-all-ns//usr/share/doc/packages/dnsmasq/contrib/webmin//usr/share/doc/packages/dnsmasq/contrib/wrt//usr/share/doc/packages/dnsmasq/dbus//usr/share/licenses//usr/share/licenses/dnsmasq//usr/share/locale/de/LC_MESSAGES//usr/share/locale/es/LC_MESSAGES//usr/share/locale/fi/LC_MESSAGES//usr/share/locale/fr/LC_MESSAGES//usr/share/locale/id/LC_MESSAGES//usr/share/locale/it/LC_MESSAGES//usr/share/locale/nb/LC_MESSAGES//usr/share/locale/pl/LC_MESSAGES//usr/share/locale/pt_BR/LC_MESSAGES//usr/share/locale/ro/LC_MESSAGES//usr/share/man/es/man8//usr/share/man/fr/man8//usr/share/man/man8/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Maintenance:15574/openSUSE_Leap_15.1_Update/cec53c85961b4600e49ef0a0837d2a94-dnsmasq.openSUSE_Leap_15.1_Updatedrpmxz5x86_64-suse-linux      exported SGML document, ASCII textASCII textdirectoryELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=49241fcc485492724d0bd63e5f8c3843e9828f37, for GNU/Linux 3.2.0, strippedUTF-8 Unicode textPython script, ASCII text executableunified diff output, ASCII textPerl script text executableHTML document, ASCII textmakefile script, ASCII texttroff or preprocessor input, ASCII textC source, ASCII textBourne-Again shell script, ASCII text executableASCII text, with CRLF line terminatorsa /bin/ash script, ASCII text executablePOSIX shell script, ASCII text executablePOSIX tar archive (GNU)HTML document, UTF-8 Unicode texttroff or preprocessor input, ISO-8859 text, with very long lines (gzip compressed data, max compression, from Unix)troff or preprocessor input, UTF-8 Unicode text (gzip compressed data, max compression, from Unix)troff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)RRRRR RRR R R R RRRRRRRR3cN]Z1|utf-897e8b99833b7db640a55c2891668d0377c19895d3f37abab5465596d35190833?7zXZ !t/lG]"k%fӿ8`Qgr2ƅfGD x6 )'p`)οѻ ɏwoh73bP0 #7:)`2Iރ]."`T4$bNWFFQM-oח>{0pYo~GW,YSB&"euPSG0X.e;38NIljV>AE`/^a?}ou`ʋ/G8]2=YQE-j~솤h4m|ɧ"F-0` IOef cMּ!X0K`u3 @&)WS4h㿔5CPt|: {!Y!^a^\(eIK0Z\,1QV:X+<|V˚5m#ԉG; hxbۅdNL"r8bZrrI CJ(™@WMq\-+VYK Ybo#K[)wU$}Vہc E/˪_&JXc0qxH)yII+efNv5`iH7%ՖdyK)H'D!fC͸햭uFk2(i.]u OlA-r5DNse-.a4zB7L|JlL]Nk1ˁ`6-T(U8ʌ)1F)YB K;lZ!GuAf|j?eSJPCb~{5J.V)^|ޏO zY`QugyjIWoKKI@~Yz`iӚ ~.7 I6dWkŖ=w $A*Hx<7`Ù>YF'ũw3+Ջ/|SpsͿ}n=Z'0Ӑ3ۊv0)N曅,ZJbXlm%R!Rs4LvŹS$4}hܼ}E%=#ګO 4Q`3WY&abjrޯBV/jyy ]`nתv4b> ME?) 豰]^W49hd#Y)nՌ5ܕތ#(?"卼Oۿ;h0t5bdFozu"6,C5W!砸AXZI\j*56Ooc̋TMɥ] e76;^\>7/ՏG1@Oa?.r\;l3$*n\t/ (K%s̓Ps[Nhe@ԀL9C=gZ|B6&c<+_>l_JQ}2ᏃԿy$q`XϜ^76$HeV^ZIbqP;qd4$filL=BXa!%>| Dū}}GONDDV8LU Y]=!UL9JMPSՋ>rUo]%vCxio|qҜGO!&ȥxBj"pɕ5\⌆<Ń ZٷC橘Dha[/-O⊡Jt,oǨB 0ta٥ϔ`5nᅉ +-^$vN#Dl:P"#YZv7S="z% ts'~5D0 0>y=s2n7k2Kmx;F |B@Z["qs\tUJZ 9-X{>9 0B< ʳOg/=`   Yx7"|nT2T-E }DR91ÛH"8a$] ErIKMߝ1Nx{L״"}q"i5$C~qzj8t& 2=˲Rxn$: 0vTT4޶SS5s+O+*#܁W1qyI\ՆC6yH9-Է⣄^~񞍥 0bDUdnQNuuQ6jedtB˜bAiV(WvⱧ6`goH}d6x++υK7&~XZfkgu8Kv hf$<5F]NDcJnGl ^PЕ;Ur#wqX'@: HxnԠ}.NʙlۺĂ񁊩f>:i@;*DNlwPKE-O6;֔"Mv&B6'O+7uWCX+Q*q7m5BIٮ͈ߪ96422!$"rg0k-h_ {Z75 τ Ӆ`f{۰HSJ ш@zZ$XOT\d;"LD3;[ 5?4!rm W%Rrȗp{@*Y8ҬdBZ"-ݗs%35Mʃ(R'_-n2`$Ǧ<OV!a}IzhC;u`V̛2―VT *]L;L|$ztRsG*`l=K 0ugPRZ^5)r縸g+Uܛ2g)ӝqT)h/~džThvH#뙫`M8?#C0Λp0|+ֻk J@So3-A3dmԘep*Yn}zʼnmB&V]q9|;P4 onBXזշc8cTBYycع.l IZl= >X=D$\)-oLr"g,7 }hE}^a(4<ƽ0&7P!QoEҿI . Y@S DOžrڱ"ۚr`4IA ^=3{~rtq`"h m׽FfxYk)VI![ZD/c*J D7paЈT,U#@#1+a% ߺ^3G4/!W z{]Ařr0>TD)wP-9J̯ TC2yOZZ^T99M+Ugɂ%M͢\d_u|mZz>Kl[ewO5Y#N>td10tH>2A_!l4>CRu `]|\i*Mqn8;^ {[߄H@mLmeJKBHu">S75LĀnap<5O|j əU (jN0!Vg)<IչDL&$IV)zA0}=v1q.(KLUz\ک. r*ZS1:|zc׬uq`O"kA\Ԯl#ɾqU$ >ʟdekP{3ك iʨLO鈻WZw2ڴo0'lJf h7$^빗?棆b12c,AG26ɿkwlF`|F&/m։ IdY4:QvW)euo0J4Y:q{npǁj~hW/})ԹI%n1[z,N Heq I`Vu-uPe9@>Xhj S!K] P*e49IWDJxz-h~/ );7`j&nz:x. DzR -|'Vs(`W ^no#wKnhhXHn7:5 JlmZ:(8]Wł+3 +>S^#fSBQb5՗yQ#YVBUF2A'mq_P4'\4@Nzj_ٚF)(ډLI7g7N`{SO5BY2u[:۔=d E[Vt6?vlDc| S3I B-X6QUfBX>W :nN1Đ{3D&U[g$&q: ik>[.hLW^iե{aEq>&v lIe GE1Y\"i`\$MYn*׏ bc28Oh%V8GyՁfH匸[:4ŀ1["dH-W-pWBmɃNuJ]$;h6 '8LC LN[рNQr8}ϰ$,7Ǩaۚ.#՘1_ﻗW@ ǂ@1D/8y qqsi0ڢߘ֖V}9^?اam4^x Pn$؜8L;CE.|PmBn@W{`AtH$z+ bVnsw@f4{>cY,?%! /Xܰjd-I =iG/t~;Kf~\~B6cRK@Yϓd{@)<)M؈ہ@ >\T2mOrȫ F0mP!o ǖ+aϰQpzc@{Flt:4~$'4]BJ## &/%H[$M kecfs5Xg_i8F$Ni.45I@R0g4{Q\lŧ sޘLw3۾D G&^_ S*wu*! 0x,w (S{wDlX6v@(L898[ 0iHxbPΝ.tq9P;DzHb9,q]djNKKIc(r` OÅ Wx˘RB*.Gn n+ZHV4 cw!RJnqB.(e #!٣x&ej}g ő'I,~}CUv]b]XqȚ!1=ۄJ;* `#*;԰. 8A[An.?`ʼ?5{x7GZKܝVb6qP_#74-A`;$ʌL%Iө1A4p\[Mne$[J\+`DUBs㋹hv8FQ$yI/-{Up&s'纹?@!G"Hpw9[^IUi7pC FR\~9dw:P9řŞ<ଜ+dPFkY' ?; lI&pxđL&^RȮCA^f\Y̷Zj:o\.%\){᜼;_+z2ag?:/#.p@6BeonR֊ح`A|$_)]Uȣ=~ZǾ?E4wqilJ(r'K"nsB]3 KFENX/ͦm++vX@3kŌ)[f?3CbK2|-]6LH8 tG;ź2} 0s ),GE`%ch(jH/)r1m|+<];jI'oyz uԤUiP$ ԫ$ctS/&QˈC1iFT;Xig6$P0lHx7:aWN: :tL]Ŋ\ g8{[z_ݬ1v:hvNڑX(ɬ~@U.I'`\Xw\E XōʭYa7ѧ(dR!Eg+Ӓ]g,ɟs!ܬ(&S*HbԙS˦׵A{9`гo(9| 5l&ly離uڲT#1vGUqw0yUgh)|F Qrџ !->UskI]r4]Ba>nnwgVh eb5"cOLmF/vCp]2@SyRZZ>L1pvAE-{ǓdM㱕/g 턧H&*3_ˇű^WFsyElO)ei=-G*K iz{r쎰J=/C-!otɛ|<BݩjHʲ{C ׺^}+4̈'C/>S ~w?ڈpͫ2R[GC.u_e~O|+gsV=c ݁(ljFjqN)GPL_"S0$/} yfkm>vZNo$5חthlvx HlBRt`,S-m?;#O滪rDĮ6Jٙ[a]yoSxƋwɡ=D\=U +VU؟y4#yV5Q@T4wf<;xs N hvQ:kc}nX̎_U@B3nťŃvm -t#' dU@Aԁzk?yBg׵n .Ty@ddj76QAL-e. (;iloDpspbqQiHlLb#q#9+ M">QzY&4e#|fmXop~5DD^mԓtGmEX=y\-2+7 d|5u5wW NE L;5rL9B`>@_N h[ *Ev[09Yz2'Ls'] [Ljh~z-1M+3$ ̶컻Ǐf0rtiS7PQj)H)g)Ch &N{]}!!$]ۇ?X%Ww%ӇT):%*5G=@A{{Sȓv;Px[p#ےMa֮PSVM鯩Junρ8(+>6 ¨˺DnE/rqOO^5! 1W`M0Pc$Y}R AݚJf7$\(B/Aؑ!@ao=j$TTȀ d71- U& jܐ_,~W#'kh-rOֿg??[j <@T8& ?| ' GM:c?"Y׊Τ錢`_=Ro?hmRqnVEa*%HRP;ο; hb:`z +D屮ʋud%ghn7-j 3%>%=u+"Ce8B8B%Y<K݆:vL3R\-7wh(CeoPea͵$iMtekA0hBJFԡ=]{A%>n UxA eLϬo%*$IGRG J#9^ &2ꩀU>#4R3e@ZUQQ[BX(dȔq+Oھ38՛E0JR:ZL;u[H!c20?S~yǀK_ cU}EVjE)92TÜ#as BbF I͞% ՒG7O,\[D7"U0t42ޞ&x^ zLWp3=F>wOyҪx>CZX |h3E Ԓ#@'AjъukKܵ8F ;1ryP+R98K!i_n "DQ!+OV .å4ͣ6V7t%qbEj^ S ;}^K6НtbuʠS9Z*WWڙ8R0va)(fl@)fZIoPAh|F{#73mjΏ&#e6Z!nTvgdV A]D&:*zS_ #'-T_SDε$|&xd|8bX9$y(Tl1z4*D:PLId}U>>($Nj5|{]Γ/LcR c:[l(C={7/߃e:X4z&dCsO{p&;N +QmXoa0cMMN&Vv'L 0+K1jR} m@e]>fS#+ /\yE.󠤈xj+5?};搫2=茳߸sFu FjfE 32Qd{aGh<4d4/]z9 g;x/W6rwBDQq2C5#ZCdo9wIdA\ !-u0j}\8~h с>.SO_1ԥobh]lckl7u$0TCdȲhTqqIx;QӮ\q a) Fw+3dܟE;`3okb)gq-8{-<-xuq#ǶGr VjG Muir)kƵ/܂~p.ۆTX]Aȥ_ߕDl]nD꾧:) vӻ)XO' ex[rҺ xS€xohos O}(v+V!{Y9 iouD@&-.{Ezn+/''ap|4nȯq$ZYoXc=rzo<>bbiOs/-!P{7%zV#|fn& =q#>ަ׃-Hi ![LSЯ [sogah񍹐Xq=)cZ8UtUAI,΃kЦ6|PUB],O"𖃮_ Ą&Mh'T9Ft`: 0:9ކH,si:]e/ "\a!08Z ,|vN ⇓!lh=w/ ݺ^w/KguP1k1PH"FӉ3<"P8CWe6M[ ГqT&uGO졲Ɏ?>#@bq3+ Wy@"I-}~5V'@ &'Ϋ 6g hT Ǵ•,g ˩5v?0|owz+}.<33zDC# {!>(t^&" bHޙ/Iɽssmz;mnH=yMa\|ÇB,vc gw8pèű٤hE>ZcyEv\XGAszPD휨-~L/^fnOs)/9""@;9"ԱYgRBp)^X_:G*Ĉlp?1™#K~P3 bLD\W @Qd!5Rճ.Ȩ\ Rp,09$Џa1}kK(?bv:Gi6haʚ xtuSf-F WcQKY$*RjL. $eݠ6/G*:=LH̹}NT7BkS뫀mx`_=LcIĩG2Işc2 -A au]B-(B hvVe'{x$rx$%u3)B}GXzq9ϤժuԢt5w0ב&W¼t~ꛟ1@ [ aݰR`kRvr8Ki`q9/G(9 AU2Ɲh|2i!߼o2R4i]"$&9mGEF?AGv/bW5(^oQKϬ| .TSTldu4XfRahVI)'dޕ^mfr}Xlt3c-'=}{i+ҵ"u\0K,v(}=Qh4%PWkQ,7lAi_tS*|Ģe`!p9`(Ɩ3OpgIxE|vN/ \ݏsRa @O%e(j2m}$!1b~e1!%ApI3uw&Mħ2 "=?eҼVڥ A=6Woz-nS!&n9K=TI/e6c &6o_.a2i߰B@ 0_r[_3jtTy*.O+{kSZ_)-{"#6~OgĵdIo'5/G3ݝY2sz~6zo|(\9ΩS3{dc3Rxq!: D_r'P?~x>3! y.bdnRL*̨ZAg_ 5j ŠOd#pRRR\[E$Zo{_-\2p3A `!B#(܊+G8MAB3nrϸ= 1oH1W~lѩ,B y[,+aM y{%͂&љvtD,<z0ғl&0Bck.;/6KUg| H?MeJ)HDV,6&F19krvb]۵I]VLMNŎ4';ʝ}.`R;rH;I"L PJBiX4}ZW=Vw%JMl(E=- +0#v1-b3MPSLkf„tk[BSVZh.+!MÝX=zB<2엡!*oI4-/ a`1"V?ٙlT j28AoE@heNKYBD8O!/xo/^VI1we|~h6:Ck@|( %aj=clz'AkJ+3`syQSa{1GdC,i!-ZPB))OC"g wDpDO%B\/Wъ.+&-nx1P,}6BX'-u.˰oPI :!nn.h90K$eztɡsOrtz!==/#[5*RpL+s53@8f_R[\:NNMK2ȂW]>JSx:Y|>yO|7Wpu3i <"{(dHfi4IUb\ qnX(x^%F[zҢ7KU^ &jt~z/Z}({x֧<B$sH3o$H q`&_H1L1z h&b|[ɥ˟<.tq78/ULH5(`3򈐶'ns\͙]Jjg!'? zF-ץwQ t-Ґwk RAk2-(3$a(eH}| LA~@Z&՜I3;b' %eh#VdkߓBQa8:NW"M3,3:{fnE7 `(#r {6nyxVyu_WHM]I99,!'^pgy/czqw鞽@_/!6Э_]IEl^YU*p1w]?X6EcnYQ6QExߗnz#QvQ$Xl;FnŁV-"c]O)w^ƪkU/He:"Mm>Hl4eVZKxŵh( 4"v~Ybqd˨w¤k'j{49F9?DP:mͦryKnI1F  ^࿳ql-f~. Lc@/ -7#,ǭ34ݒ sF4kS_yUi/IksJk$RIڗuʢk4>- b`CYb!4T-=E$C+%";b(-*SDi3i< =cu3HvvY.GruBVBƤ/(=,bw8؛qJM/0U Z宊(M16'o(Xm?Z7n-JhS1Qٝ@e>!/l7x:u^sQ̞11yM苈RlA'1ꉏEXfQŏqp>I-qkb~'-h=8[pERe6㈡u|3|[aWn4`AY 0l|<@fF baVn?!| @akWme>;qGߏC\T˜EЂ٪8M[!!y]RV4oM`"qX>$'lzw%1|o,1E9.Έ$se `>Z =gߟA7ZlؑFm%/R%w~ݗ15;!f3+_w6?ZĬ~<6M:߲Z'\@-CM邤yt2l\+i,řp߯PC̣Cɢ$z{{4ʋb `g"R Pnȃ<ϒ6AHA'5Sž뚷"*?@x"| v%y _Nll`D>З-! ),WOBh%D5m絾4S7N)Q*H&TUO$E7v^(L>#[/귋#`^ܞtyʦ1@vtA5;3e AEw MNCI]×G6ݠ!%VeVE7CT I٪e.nY5s\16d|7))'grW6 ָR``2/%C&jPwV:*-a8l^AU)#rQ֥T(jKr{#jIp䚘~̭!9"{.]afъf t}(;'mp5+$/ SOS&A8#8w1XuU@@+`c`o=F2Cah کڬ7`&| V yQK v<2XuyEA::HM <)QL.h9nm"ȖU<,7K.4R> ]CK4 iGC6{bd<7T?W{LCA[\:z׊-h<~Q|2_yJns6[A5{t F8p5 6ܲ(•ί2bܐ" @AW:p)  bE݋VeZ"['B:u6|0g .ƲODNzzĤqTs(;. %nFNLWF۲×4#Ѭz9ͭjsgs0v %|:[oW2 UXRi?25oE KCg'16)/=dK1a}o7 ƞ7>ܦ\3 ePV%̠Pu*M}UBZg_Vޫ{1)8TУHZpZVOhC՝Bާv<h^Ddi:Dʼnq75ӕduIq_#bSٛ@65Si+8zmqL#EnJVkDT7 bk"$EjB?;]?9@Q Q5K tzlz#,nk{/]IxW]4$2 NU{E1sQJdߒCߡ8{n4qJg'&w )f#jc.46JxOFVF!~pDp2af2tqQyhh>~`Ѱ@}cbEmlW]w7$?0 ŎF7o&fB$y ᘋC336m'i-XK U}C^@",p% /?w5u?tUV!^P/ɞhF+b0ΎL3QM) ohO H*fK *W(cBI*~>5lUH܇ mР:'N;x(c3  t.jGc4sI b]:jܰF%K<:#r*~4s,BZјIOESnD%[Mq\Y*1W?ur3􄸫:8>dn'zָ݊W`%gP#BҾH¾4~++5/K79Xs*HYQ/g\xw*=0( puFkI$jr[k@\0 e/ovj@bkz/h|Y0m'w74x {7L: y;2V%",Pb f\or8`k"p& hːH0ƚ0Hz/ШʦB5N1n;fN*lZ#[11ղk,?}%?[lV+'f ]y洇P|·\4&ҹzZ$əC1H*~CY=!܂F{WqrW',yrZ|au>҅$!"S RL8"Z_=p8pu$ /?u>l~+^~1jEP74WtwF7Zg-St@bgbiiPDg@c^v)/OR]+-sn^M'vnt_rŀa$>8wH2dHl7Ie5 '+ R_^3k(_fPMbEc Ƣ2!gqԞ_ !a\]M?0YEC2f8{DZoe\[1UY^قހ>rP&?/:: i! 2Mwm1N%[$ 8pIpYX#EǯQ!sУa%rw(+0]t&Lj;LVcy^F< ȡ!o%vSoPX\nMe^L.,K O1ocYm,waq6I^~Pup$]=&+]V/>jh*U=(&򪔰2/æ\(c Ljl2.8iО{E )_иS u_z%M+q#ȉx ,_f^ DPOzy6; HY,7\']qVAܴ_5y h/*Y&cK f7pcLuٖЊ"\ Z.*"~Ugk00<n׸Ww{`R0tȫRJe<6 ~:ld"UwĤ/$YO,pt, eZ(-`.{8"9PԷ<NhnB1N}iH[Kk~Ǣp{l-{hezp uc3TM婙Y*n02ו(IɌ2g$e%tM#3 } bk*FL[x\!`m@*Cy-+9Q $|CBEL *Ta~Gcũ)1>ҁjG,OR@ix?1vYzޚ }Aqog=P,ShuD-֡{*q խ^ wK7';FΝNKiP~bIWطU0EC{"3#C# #amCq"ֱe:0A cZ6XJP[ĪF) 'VWVP畭 &]/I\v[5qϻ.`zd8Z9g^| uyжuKOe>qG IVYkJW+mXwϴGBF 1CGGrhe6Ww@qJ.~Q EL?>"vjXIȪ֪z!&gT:KZ9oT<@\/11}ƫcSEJзjbk_|:>P&; IЙ+8/@y됚oϿ}ukox~sRD' F@] 얌خ v5+&.o`zԃ^-q%2 od_xvbk>JsnrI~'*}GPYq(OR{FN,U("mq.,_tکvAw>1}G;7x  *8۸HP|“.A ,1h zXpArRC=μ/M73t|:)6ԠYCE׫ ,/ptaQE]oGJ4QvP9tJ8 !d#ydGh@׻^;P%ʓUN\vVQ^$PVLZ>kV"ŌN_k&x wS\tB N K|dD *EάZaB9s0ƗѼkSw:sXY`<9VnrU2 s_$R&N@%[hT&F407_k`ڃ.RdFy6,")xd1j$ Gza[Ao^ ꐻr~;qmvħE (x;q!] Ests+r" "ս :"k,j⫚cPc W M\AMa.7*N{yλȤOA )ylL|꩑}w_Wף"v<4o,+ȧV-7Y'8:Rz@~I# .q" Ʌ>yn2S/O$᣹R XLDQ|? SUs^ &w,ʰF)iĴW?/KB[e{g%['@m["䓽^_:lDѫʬԹ]ٓb방1 y 8XP 6k-I2g3@8><9㼘HMD$lNV;瑅r(%xEQ mX+4/3N.m! N`N??MdR#,%}-u;;DMZ$lRsip:3fVUM#[f\a }PFaz3ߋޕWCHZb Wɬ=߀Z\*CW-/=$;i%H>?ݟS̽,BMnԨa;X^(f|⳼0I\屍+&Q;9!L`eN-1K >a#4pF$H|wc.>`UIg\wm=2ؐia0馃BNWX~,' CɊ 2?sգ0Z͠L3Cs<ڲ3rҿm.yc8mvr2-A%H@}o/|ldϹ-l x\yW$X+R( ;7:1pi5[LEDzfKCozgm۩.9SîT% ㏚b+ݘ"_Plp~SpW ı]: J '[W<5d:rFPS s.>yXNZ\aNXuJqn 3/ Qu~$s^:H'bj hkEgviOe! {4+V)ܾ5j洮AԺF9θQl +bROІ4GOZ7ܞZ廦16NK&}.lyЍѶ!-.(ΏV*,f4\-?fW-ΡIzSy5}_3ZcطMKs. C)mt0HO̮VشA_EgGm%@Kǃ!E$Z[3[74x.zqս>f9BSTy)'}5(zXF٫kEF1 H%$2LQ-څ~~ln?,Hà IKľB'ؽ( k&~8U* ocMA{+%% +cơPWT{,xUXz@~e 3_$>6:)#u %CbpKwR1b㧩 zu?<-:hbJlI11tw-D MSd OW4uhP[da2 K D #!Ap]h9.ۍ#`M ^>aA0|xĔE +}40%_M sg?h7qt"VݝB[?RSBvZ-[4P4B>QLf sgX|TЯgYd]AUuYo*7D|6JCU%%(5/VP;]2 mqoِ/.e 22BVUGt) ԉAl" &;  pLR-#&DaZ;GٯƤ/ƎFŬc;ҭrN!\U16NФ]3R{|N8B`YϼEi [>o4B BCY3tEFǟf_$MqD 4D?I~E[V4xj k\beY0Pjz`χ?- z;1`;"U,t~<;2hPd: kIR!-\YQ2Ml8,:GK|53a1Ȱv]>h {:= Vu!H|\0VʚT>ipN?Q9۫(K`pWU%7a~3\F$N쒩ѧE(/#'u yI!Օut#y H,` B͝r̎.|v7&4j܊S '\ E4 hsXJLh͹Ucoz JT*gNG]"v)NVDkJLK;D@],8zhJZeL#i 6 -V6\_Z-dgZ1Vt-̿r]AkO[zn2GWπ83β<(f#ܱaB7(AOOg]md$?ZA\h*z3v˟v~_]>t TCH4پ_e;O٤j#EʆsF$4B) yt..x B~Mmo`1"!V$Xλ B`( c~$y ]80S^iʠǹYK>.]gƭLK1gܮҀɀ =5=ǫF3 3q}:T=hohOwP_U]bjJZ(vⶖa;&VnMʽ1'u) _z,vxnr_"Zl1 㚈?zt \o|IM BlՒ׊{"[]UƗwM 10Al:_J :{dJ58Q@cQPur&D/'Fx )Ę"L-6o\jhC0jGs_ dR}(,&sh[4@pDs&eVyaWp0$8wR5*ҙ}r.ǙAOz7w娕?Ұ0~fe 9!e 由mQl=rl}"S<68v#. ŮWd>-1\ EÔ]fD;VFtt_aإ\qdgHsٲ6JΨ ԓ1f835Q`MxR}ۏԩ['RsK`_0|}khb@Nȷ3U #: :L ϳ[Sc z$L,q+^A6<I2{Rx4»| 7i}t5[N8_Ai[)>V} 12SRq iJ0EE` !gvdyۜPFimMwC֏(+"{ U$"|r;p ͠49eRRT^KI};q4&B![؄܆!f:-ڳ~)0'U:`} TNx̙zĠX&5s*H>cnG'Er 4skr&)hf/RꛔߝQF,P؅i sL C1(R x <,J䰰TpɆŊvG)[w̶4$mȌumɉe$!Z_ᇕUOtӗ:g>;@+YiIhJ0Li+8逆>IƎc7)o߻8QA=ۧK鸽|dE&INe ^;L)ĸR >#ѮJZ/J;]<cʼ ɥnhdY{zݤЖ=*{y.۬&Z.q!>p)VCPHS?٭]ج'=w=ȶoSL}i/ZDɗU~'+ۋjԸ{8 UaT.P/QhRw/nUE2`w@' ZMePZ>qB#|')j= 'tܘ" N)d } d(Tv 8188j+{8Wi_1^sk@0Up D+")-)*]׷'KBx|T~jN% u]/ .\FR 5ģ䤆P]eeJ͝Z,לH}P:H&>kN͘Ni6mē@vTç{ ćIu]L "AJݟ],U6GʲW Zf.* 2eORIڨ)*P^հ|lXytgӦm`jE6:޺Q 6$y(7-A=)K(ܫR_-Z+V#<#u HTP{0. ;Qr R3cǺT ~;Z[O@l /Wm1cYLgr.zϹ+`(^3P!9W[]VE(h1Qzѓ_Db~Z4 \רMJd67 GZL,_F^ =]cSt DA-c<ҕuB:ngrVN{JR]yGC£{ei!Z;/$9);gN( +~#{nZw꼦N#hG Ji۰1JJp{yyLJhX0Yi#`Ÿ .n)b=u,cl3g!տmX%.򛫞5ǣ!8BBQvB}3ve̍rE7B6Ϝb'j ]GZ Bbvs_Lb`R-}BYN}0|o.&hjҀ1{z4yZؼܺaYz96kOG!/g>,C]%39e ?;꨼YSb1b pn'țQYq2 H|"%7R $TS;C1cc|?%\&C# sks-01n 4 @U {CCslyKWϼ'˝DWp?\^x1^v,bп:S)B:FC_*ᄊKv9h5\SL~qWUcјq?#8|e;- ʻ;cF>'PIzl'imWIdX%91G!37ՙEjp$ڄ'J$Xh;e)?ZJKߊc~8*اx}SBmsQATWoYh!e/l)~CwH|q_os41P]txt?^6vxra72$pZx%617:UsYWNڮ^ılo2۸x:O,U,SAZlUQ i'O=9_KDv;k`*3Yz g@VA\M$)Uq4MS^Ä(Ԫ:'x&cKEӹ]Z&zě$4PϿj`R[BV8<S ?EYnA<`nKw6T9x߼Z[Ph[ȫ'lS]%x$L9IL2 cێzB]LK^y^-X` wVTL8s U 3lj,v#k@ha42McR)r{2x#[bE3QzԼi`{eb?QB B]yUYSazD+ lVs/R:vB߱0-d5M7;aQSf޳~_ _n0%ÔT>n yކ{xA%k ۞Aj<[akBpoa/4j`֜mw6 7*fIC{r(놚T,͘!_;I"(0F>_9SE9{$h(фknc8)'90]BPI@ AM[)ɣ*Od*C K|8I8_'AG•֐q2/ïa\TQ Z$ iXJ,jڛ^\cmH~Y3B"@9?ԓӫ 4h&bE=g mw /MrB~}YY߾(bc+5#nFmmuGɿS|ƫ["7%̄ ֵW c"s|M"8ފ# "z~͢/kqUn/.mUKHHڇ${L?Bn$\Pxt|*jmoH' K_Ag C^eTWTXGb mZIyg= 1!I欬~}Xܡ]"LF'&}A$Z=±GĒ0bQIJ؇%*TTNT#2f.Z5¥/1VXe$^ y:YΤ$na5ԇn.3%lMbݿ^1M¹sOnو|WJT;Q`66&7, εEoH b휮U Iǩoo (&, Y_C^캼ć-"|L^{ҟKwJ?aJmBۛok58\"+SH سF0xd'/^8׮K Î&7?=ك?,oJ55!Eض/:+-6>w l@S[[gu$r O"(2}9DŽ?QQN{P' eC1[wvxcb *<KZdqz_*p5zӃVXev}2v7Ci.8]%EּzM"bXoĎ-QZRdB dmHK}?J6U%rIY2;5$o>*d#*y㣿vxљ4FԺCbce !䏉ԾzmjyOtP1Ic֟ΦylL5LřzrL _(dBr)n\Ȋ̬WsNi1'L'?9rҟ+ 1(w¥vja[ȹkЀ_ R&`Ͷ{pQOo$䌻VKhlQ:O"{21LNcubCU2K?W5u`a5se s3^S>q-Y\GoitAjiDd8[y4&\{M̵GuED=25t8{Zn VMW^*Y{ae2-1)WgL>ԥ)$+/A' )ϭ*K1Ăd3S_n4x8#}}9ˣx/t1N+'/䱎)s0 *JvǕ8.uJf2VV|^tMY Qo,iJB@qu7$4vX^2}gKVX&?N2,|/eH͚bFmF/luh)|aLeKx Jm:xە|'bmЇFƁiAEGO.=·*1t F#?$,_wMAz!H8Pt ^08(=7F0{g_ɉu3ׇ<(o/q̙B%8F<!Dx+5ܜUD2?moR?ZUS@qCXі~#p?m6:]BwH\A (SX">{ϚwL$}h_#XWHA 6^%ae'(x![D$A1".tׯj;zOcr>Ua|*J^dhѿ:1O: -cbx5gy_!dq"u)@&6(5i442\!Jβ?8 ͌6׍zn rC6cfK!Au΢do&SZnIZ9Ibf"C;%M!ZB5dv1E60-5^yő=?fwl!a`fT[:n7бP+wē짚]us7TY̬*bF킈wUW˓Fz'8 <hr"9'" % K;QƷ-ukUkWQ/vzy83ŋlz^!XQTJ`Ad-`}Qho\15e#Q'FTdXT~Ցi%io B Cl^-hN0eSu,e$M (1\Ω:Fi;dhJ >1$[3A5ǧZ=_qٙsq &T}RB'GE<FJy$bF'ih60z`pԃ}x(o'9 A OijO0Q WZyMi`\n Z2v}#pQ}V/\܀:Mi[0dOmR=E]OcN##UC/&-K7fp?v@%:Bnk-j}ѵ0M}SW5~G)P&53RIh a]Fg5 2$Um}d>u *?@I0{"5h -@|@d-*#1{KcbF߬HQ6Zd j+8|"7 `=ec5Q'bϕ:wfw@,jJ_Ed*׉e+!igD /.r|T 6d*=Lb2L:\EhKkqo'Y4_\] ymKDqvkA_3:` _jl)X n.||:JÓ5^jsTC!^߅AD\~}5Rץnf6%V_ s{V\X =4Ο_u,ƒo\jJ灨GU5mmqZmב(^ÊhCS5EqV[$V.)CwBu*\d4vn em{ 0 嬭U--!j)l ga1R|ϛ d9 |qjE*XKP֥2 Gݽq2@)XmŎkv pݲT;$;*&F-]Nةrg*hdC$@>=^*ݬ*ddYc2 ETH/raWv; 2iw&6YNX=j簯K\Y>o~-D\np[qS O) |NîmVԒη6,RJJϐ Xƾyn[̰w1dK~!!e=i HD֪eB)jbT^c` ~wL*~'C^I:sSsƆ<噠R*ϪрܤfM03 [e5v<ȀtmF-A!XeW`R5\Zhͯ[@ ¸e|9p랝1\Э %oq~ayck(mIĹֺtB! nLuجa<%fwD2fX Tb2K .!ߣ||5<t}N!hhbr à"at{I!zwsP6=YÔcpKx:;ͩd AK#AQL+Yv ]t,YâZ*&⵫ETKIQA.+\In=MsfK9¾1qi?Ǟys84 QNϟ] (WϜsH:;@1Fq 0i-[Vs"Wavp@j?MwլW)n,AiqC"yDQ)|;({)eXX]kCъ F&DYue ؟u?) #OIBv}jk6/a@i#}y (\#,T,M-gz"tKg)#hցq-( hT_Y>}Ӂe-.ϲa="0o t5"m,'k|iu.j"4e _O빂' AiSbxf$[WP U_䲡J1AAno̯o/Q HGK5}+?3GB tWSFI&U7:GeN𬳧d-X:A56;~ݐ(z]N+A=`ؗD4C:7Ңl6&V,BnC6@:<.)+Ee]rr^k7ctXCOavySN(+W ^kOSw5yose&\y"h0k5+' VY:q6UyDk/FЃ!@<Ӝ)׫FDr SHȆ`iƇ~zSQUp^#t;_@ٲD$9%y&OZp"bw 9q;gӵ1:(|K=A0LI75,}^Lტ挺O@jˣby xaiIrMm6/ e{[9#E!=`sH (xOQo "`03ZIfȎp:RmIˏɽ  dNYtRz-=ZRf_h@1+9{ xU20by><H3sl&KUCd1C9pR+Yđ5OS_slpeL L)9!rx-ںz0nXePs2` &mͼ5^la wUPKwV+I Va h.fi\l/ԧC5B}|arhb#p:. ]p]}K*G013y26vu0A2{䯫 iT!n=mRЋ{.]md +Lo1=`GW).'.YR=2)oə_ Z0A) cWvۈ-q 5#o@_j rd;\?w&u6EJ"D7N!^yє7Za.Ht 2j@c~R&