dnsmasq-2.78-lp151.5.6.1<>,Cd`ؤ/=„^wO 1C F;С /@Ro 03~wNH{H)S6"@LPB2+ E_S/ 7M t\Dk(.-&ğ O%Qɖ3ᜩ7Ct Q:#3E[&q" ߸r;{Gl%O8C]1#ϼp;t;xwFŭn 4XзIhI30H9jӺYTwkBՏ 젺>F?d   X\`hl  <`` |` <` ` +` ,D`-`/`11`3(3\!3!6G!(68696:8=l>l?l@lFmGm`Hn`Ip`XpYp\p`]rT`^w,b}Ic~d~e~f~l~u~`v4w4`x`y4zCdnsmasq2.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.`ؤbuild82openSUSE Leap 15.1openSUSEGPL-2.0-only OR GPL-3.0-onlyhttp://bugs.opensuse.orgProductivity/Networking/DNS/Servershttp://www.thekelleys.org.uk/dnsmasq/linuxi586if ! /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`sVks <-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;`آ`آ`آ`آ`آ`آ`آ`آ`آ`آ`آ`آ`آ65b25dc51ba9fd414201ed8146f1d23af6c20c3feff364638f136759648d8a42105896829d4142c8ace7681ccbe50cf83dfd9e1faa846aaaf257ad2c68a668c2751da48d283e73933d22c49422e488f701e0e51d8b73ad212fd060456d06867d7eb505f2605a3d121c0995399adf3f25c9f079c00335f5dda1afb9ed8e648a385a7ade166721fa1ba81bfabeea76ca9cd740887090a5b9553129e80e10675b0356f0859b9c71415928ccd9a15080b2a210148184188e618d3804bc5ab2e1ac181cc30f21b121e920ac4ec5c30619135aa8b771a3f91a38c71d596e81d35fc0b712f8a974ab194afd78416f319d5bf541b8239515fcb58ea951ed9c5b46ac3e04a446d790e44f2d5280767758a948674be531400db87643b2bbc0351ee70d33a280791de58818788dbb3e54557b85aa0f71f5d8b7d30486d5efb7279007dfb6ebca5b78c85afaf92bf423f74562311e87f3affc52fa07c42a593659d51db7b4c72c174d8ec4f11d8b168e308715b63e2f066fb8f3fa90f3a6c48bdcf285ae1a0c66d732a843e2ae4c8acb678d1fd3715362484eff6ab23877df608ac933bc9164e30dc229f359483f95f6af0a2d886a8f9870585380f7de906f462e1b46a76cf4a021a74cd3ba67985484c2e23381226820266ed6cc46ef657fc8a12f8333f4e02777e4eeb3440bd834286c258bba713905fcaf3eaf38f86a646be53f6f62e1df525ba862047b58c71c645ad3b9af10e54dbdbc2f75292c4dc08470b219a0a6b72f7c3bfb9c73d182acd7d8751c9c3fc1926db100f22dae0d0f71c98de090c78fed0ec432aeda33fbbab97b82b9d4eae3a1ded3710243beab2f344c6ca588949ba7fd5d2bd7858a440ca1a10e85c87c4af8d11aa02717ad4c823f17689112fc131e61ba13d73df9acbed61bf16c2590a39f2c8a681afc569851916f80df6c100497db11f354b4bd156d178f055e0e25e2cfcdd6ee95f1dd3bb10ff184f3ca90c8b4a2fdfc7a6dd0e11e02a5d4e45e36440250cdb1f77e3b592b470ad563d68e3d679707b0e10b867bb7bd7e5a4fe4f002ff9fcdf5c2354ccaeb8bc59a8e5d29c5c938e734286f2e0796c7eb67a135be6a5fede02fe749daaaebe3510d2b023f4e502edd5eb324bcf19307b19f3d50fec7a44c54d54f4032c3b052a3d4b05da802656b204b48f0bd8c5df471d37cc08246023dcf813c189b17482a66b0df0b25350c69e1d76b9cf57e2eef7397553da670a7981c10be01f34bfdeb54d7f61a1df7d7efb86bad399099dc7147a892bd47ba45c42bdf5d14a89665953b491126ba3bcd404f467ac923c398e89e29467519b740cff6bb1a842d56dd4a37bb4fc8384a8cbe71bf06395ac6bc6ff529e7238f89b08735eee3ff53b20552b23bfe8ac42dd20a519185c0ec606eac4e66e34020fd3703c8d4947cc73dfd13d473666f8f5c9fafe6be51614edf260539c9b47a46d955fc82d375eb30501eb17818a6ca5b21d0804b9a07ce1d0e0fbd58a736285a18713985817e2b408cb60e7f29ce0a115eb87ab8e96d6cf6d77d4181dddb7393ccf44c96d9967e10fb884b4a05affafd9f976004f8bd958fb65708f05dacfc4703972bf875b21bf9d0beefca382e274acd6a28853b7e40fb0f71d741aaf87d0da18e688efd697c39eb884efb0807ff9ee1fc47e062f1077e108f1dc4eddf91d04a7db2ad23d07929e2c91e28e4997104dc4cf493104bdef53e05c105465f3314384deda5c8553c81088b789b350ac6f1fdcd70cba62b3c56389dd4ad81b40ebca8a122bc020ac7bf4f724b7f494c6c896f9c98d4e1c4a33ec2d1325d57c47390cb46fd763aa1b30dd1c6b6ef813563cca1a1034e815282aa6265b2c9dc17d6b0df97874518db2515c073d16d845d13bcda98d196f00d6cacee33e78a2a8c56b2420902cf70c11bf3aeac54645c6bf093d85ad89524beeee4222c838354a43a29e747584b885a9f6288ee44747f80929c982e9fb863e933f682362933749abe46b6074226252dd68d09b3e86c26b1a77c0396fec5f060083f61900237d77f10604ea4d8e60ecff1bf4fae01f2d63d4a9865e94577c0c54e164dcb9324bfa2e6520a01b05f77899ac66105614b1582ff2445b8cb5eb2d16434e6c77fc760e98a8aaa3cc0df6695b91036505fe506b9b4f1891b01914b6ba8dc2696c1e6f75893d3337893124a44e2525018b4bfde9d858e11fed9db4f97eeb636244a5e1b5e93bd7423155ca3877211e916447a09843afccbd14385130a6d3e4101b049bf4f623c53e4a1ac9bfcc0471fe11d3f4047832473233e94f4b65ca2fcf075faa62447fadb508e26a52f1ef000dcd4fe8a0f8a7ff965b25dc51ba9fd414201ed8146f1d23af6c20c3feff364638f136759648d8a42105896829d4142c8ace7681ccbe50cf83dfd9e1faa846aaaf257ad2c68a668c28a3f150473468ca14dbfaecda4bd71d2cf69ca2e4e0c230f20812121fc7793ace6b975abd418fc7a5313dbf29c3c4606f78e8290571396a8d1804c6665c43d2bdcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b90376865b5a0d6fc2aa2ee117162e4a59caa8b5e5c410578436dae53ec5f7e99b98a343bbd212067bf566dbb40c92b17b806633378190a2bd81bb3ba48f2babf30d42c6e8cb473670be1934a8c1397c0ab969f122687f1088190082564eab9605b6aa02ec034215e97603e92ae49b57f63dd9f39366cdb158756285bf240921fd603535acf37dbafe69d448d9266bba74b01828ac1d7842ebc1d6e58c5646ae66d9a3684c6a4940e3219c505ad29794b849b3084d000c59561838985119edbefd2ed3f6f152542daa61a63dde7936c5e97b12ee9c19b6c2d9e8dc3d680debe96421737b4678b9bb5fc16375144107dd1ed5009652b28879aee7ed329279cd9bc26228cce53b2af67c53fee5b8615c94a1eadc63c88b2347d209ef2ed9490cc0d1abfcf0386da0f115a8afe29b3476ddd523143da8c17040922253b1472f91dd9a58f9d931427bc280f2051b257c4a92b3b450b27d7062900762921443a7e17f9b422b67d35cc54ff3316ff4475b43caf18100339545edeb18a570b2b197f1ce18d1abaab1a948fa972e42d149a0fcd094a631ccbce712924775204898dfb0e7b32bservicerootrootrootrootrootrootrootroottftprootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroottftprootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootdnsmasq-2.78-lp151.5.6.1.src.rpmconfig(dnsmasq)dns_daemondnsmasqdnsmasq(x86-32)   @@@@@@@@@@@@@@@@@@@@@    /bin/mkdir/bin/sh/bin/sh/bin/sh/bin/sh/usr/sbin/useraddconfig(dnsmasq)group(nogroup)libc.so.6libc.so.6(GLIBC_2.0)libc.so.6(GLIBC_2.1)libc.so.6(GLIBC_2.1.3)libc.so.6(GLIBC_2.11)libc.so.6(GLIBC_2.2)libc.so.6(GLIBC_2.3)libc.so.6(GLIBC_2.3.4)libc.so.6(GLIBC_2.4)libc.so.6(GLIBC_2.9)libdbus-1.so.3libdbus-1.so.3(LIBDBUS_1_3)libgmp.so.10libhogweed.so.4libhogweed.so.4(HOGWEED_4)libidn.so.11libidn.so.11(LIBIDN_1.0)liblua5.3.so.5libnetfilter_conntrack.so.3libnettle.so.6libnettle.so.6(NETTLE_6)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/shbuild82 1611061412  !"#$%&'()*+,-./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/-fomit-frame-pointer -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_Updatedrpmxz5i586-suse-linux      exported SGML document, ASCII textASCII textdirectoryELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, BuildID[sha1]=c32a07c31edad6644563d4a7e4236758525e56e7, 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 RRRR RR R R RRRRRRRRjqeGUutf-894e00149395adbef3c4162923995318972057e878e85e57e3e7a60bfc996c07d?7zXZ !t/,ƶ]"k%fӿ8`Qgr2Ɩ(ČΛnvA576 ^dg+Ҁaq}툞h[mUܒn6jgh6Wz%JӞJ/[ـd*[tFfm $qK*E2rPU>0gjVeq=goC1UiA(& LWlK :8n0+n =?7)._Pe eE`א'(<nиW^SpjPю=v[eV&4YL񎅒8-Q'Y{PUYORp-O"I8su*sޣn{${( Ǣ\h:2װcH1JdJ!t¢ WJ7Z!B.6ئhnt%UmuwtnLeYFWUh(}{18o{XBk`!-G pJ&YH7jur;23st)`\_*(wàsJb00GLm`%'oy+R8U|;e]M)Pu}_6AzI.:㔾bWNC*>Yx28Sh&j-_ ju )lV삱[Ügzp>=ٚJPǏmV[pH2-1ˆvQ=.nRx\qwY  ȝGs[zGO,B^$:+'c$> l{H ><tLxCxtcǵqZ{f#U&cr Ĝ{hUpW74&Y'wGJCa=k# UM:pR8n.1L屮Q?DTgloeۀvmAm 1+hDl_<}"H_cC%o"fEY~ueIYjpI\$  rMUMMaG.ANL:`7r4Ҿb' m9)"BED h #h9(diąhe[hS+b'n&H@e2hM11%!*\22~tQv"|4Cdżosuiyc"Cs95? !(xd:MVPH0ޘ<*~0&.#!k[J,7.l.]oοz#{NQ {vĀ"b$? +NP bvϖm _SA/XU6FI~u.&ӈK@%*Vq|Ѹ~}ޖXΈ*7%<9G=3KJ D[Sv2Z{3Ĉ{r7SFOI%q+@Gu5+e5`z"*ƪ̚j]r0O39I@L^@vrh&24'Ln7m.r)jt32G;+c|rb=.x81P h&d1.PZBgNR.[oQ~/|Є&tZ>̬S.2IP'~2`0h 5( 89}W4>dZ¿v!]7!cIg\3 UF߯^ S Te 3,W>9 -)Z/.aub:֡l}_ # }ڕ)@LhdN-E-e|&g)hirwDk~&wUIi_*vrߒ[ydof`(qA$ L@,l瓦ڵ| >yg:=i38x蝥Qmt=OoZҘ(4? HeHPbY :512S(ge(|*} 0;fБ$,_ v syo&-Sv|Qa#I  ]IN@Tұ{( |$2@|GTVixs=[@0T6ķnrfu}G!pݮoȠ~3 q>8<70N~lZp(Z#\_b> {'CvML!=S$7zy؄I@i|@,p[ëؼ*s2f )ZC[^`L֜ٓsm Aπ1>Ľ<Ō{N#&dO ˌUHAvڋj'Z4zS! 7!__i+|w˱:l^, F qs5k{8dG1Iw'$H27 a07A&t/jm`8Gdy\8PLbƮ.ke8L!lXq- @-v&W5:fC=1/7}kղoLj nG؁Tܿ$UӌR?fYK=L:QY?F ߳Jb16绘FQxv%fz+(CS/J({K~Cf| r$s7v1JhvFECpDռў{nҦ+A?B%CCQbd[e ی)q.`q#M~4ihVT6pײCL&830&YS+TRKG& *@bD9bzO,T7v{hjm}`IoO I݈};ԥytnt#0?3 Rwj9S%b_;ĥz +s /ǫ&u62+փUxAbFc ~i6NTqĞ_ެhW.n9Q6LHh4beaBf_> @{`N 0=#R$t 6F?Y?N8<߾]hmKajS_Fmnz-^MS0tK$2B+yYG2*iH_?@>H(sRl /QȉLN‚n|Ҷ:Fjds0f` b gs*kߣI?iFY1Bj`NdTY`*o0uصVDrvܦ4Ο#ĩH\*~;KlF{eBx^t؎#AéqwPFd_gF[ilǀhcя#'QS?'ߵ3(.\z娄}#JT)%Fa/2P9w\HGNOoJe<9U  jH9xa޷E6 \[WBZe w)1 |)3D nX~!*Ǟ@Z$:&k+K( *1%Ea.}jXwc2P <֜y߈ CLO'gZ7h[5:}eӽz$9?W+?h@n sD) N[.1FV4[`Za\tys#$07Pv lKGv](t9r*wa->Z<:Z8&cJ' OWP&=quOQ:DuCPWm 1HJ:R{Pه5\e8![:Ί-v.G3V*'Ze](.@_z`fqkt,,r`i8E]|y3`\{#ƙ@"=&SAׅGlaw&²#3I&P-Sd0ײkk3_>:'k{95xP {03E F.ؑGsptl7{{W'Qieh FP3j `%ŏ@i- _˃UՄU&^f"WXE փe-oɈMߩO'ĄwOcut Q0G4HpĮo}$ɘ3_s2RH];L(Rs;0ЄY3/d;S&ݬ1/HSpf{[c@K6Ɠي܏ 5\j:xC|bnKd=1aGm\< aK<s_U._]W )P$5kF)Q=R1%=u[ո{ _Rg{D:O,7HNV`E3]s `FAE!<6NpSӯ=\_RA{ˀ.Wwf$ޘ]9?t33n .i՗Q-"3[ {{C###$&'7u#ON⶧ ͜-h&ÒV>WHԛgqlq-Agg*w)g# kߋ!fL1eFe5%n b6c^T=-jZ8d.S\Z~O[ z l%y4(x/=TPIa)ReR7iSE8Kzt@$ËdZ;gv-S뺱h8 Y_WDC\baR;Lw7U\ n:TҗaЄ ڛޡ|!p2CwyEu+邨 h'?ة|T:xG!TG"6CqB)&y MD_`9 ԻA2rj<&s~=8F"{=3 a);C5') 'YwebW*F[LSRntLqG=8b@ 0Ti+> !p d"N4Yfq?$bRoU<ȳ}3XzyM ɓ6vn/TФ?]d TbLE+da ~7qxTR Uz/Fc5/%JgQ9+ܮ8\/VH{ƜzTd[E|{~Aۂ HS+fsGyGdHe5XQqS 2="W<:E`PL1NMB46c/Lv7(E5'h՞n42%kM\ʺE,]_2[#!hc~` ņe=u^n"g[bNY~>2jt<ܣ~A;u2l o>.{be3.jI '|d,*rkap&ם6=:2)Swu}s_.>nC?w>K$"d)T~ 'zOQ|Alf8 蜗נ8^fA-um!{Yױ59|k6R2yԊ X9D}f_+.x0)NT Ҏc-FsKfKĜzs'33W]k}bohbբxQ,8 _7rpx ՟%,,Q$a Agsªdu+@Ј-p!Yg \ozВja7i^G9p&97ZZ ,1mut5caݽ 6;Wl@#^ڕltG~fL fҲ @U Nb`-՚[VLzbLΒH6@秄*I9W3qտ H^J D1+Z)M{`Q Ǟ9Dqv"56nhp?\ L$Ί>25BB8m3oU5DŽC4WZSlVS q* |^$8+,i#)%@⋟ @L F< ҥcvw&e&|v朕b? {SJaAͺJ#h E Q(jc2ciPhR}.тZd*yLj8V[ 휾XNDu22uNz7Cp,$ⷣ<?\+j>*%}w'2~ۻ%q'(?bLh}U%UUO5m?yH!n0|)b1J~0~}w&+ mR,֝t$[j6!GJ1 OEc%6bsՖ%d۶e>tHڪfC߈PdSH& IfY,4xVf ˼<=pH˿P!p>Bȃ]Wp%mi6d$y5'XW,_sS;'H }%?n233܀*(F|\'0>n^ 6HO-«zSD!NP`QYpT9~`\b tᵨ&L_/f]ҦF;8;# Ry. Ūͽ. wybV/v'6/ ] @?oX k0)v1E=5zhz318x!x 0:a=piOFDU0 JTh?22Z4TrR "k7Q*.gdBF;Q/f grxeU%]g `4|( & +دq̌ NKЛqIOad1sxsZjlDŽt㷶z(QU]b)R0!A㖫_nC 3j,"z9ԯ ᎌ?_ >tc;r Dٶ:,gyJx7M7Re:=W+\J.Ru [E״)K"!?46kǓ>l-P~4F L/jX1g {QP ?W` ,J7|2&̨^k!Ƨ1U/=*CQ%q@i}G&qWaziXMX7{WٸĴW?:WG 9h--`MP$Fqb$  #7Y eK^(ۜuusC_¿8V]2ξb+ysXoӞ Q"AT ǟ!<ж% =Ki8i  # Ρ53c) {*(btj;.|2Qa *iCQBCU޹cLw.7: i*5O6Ft,8QMu#Co nqΕ? IVoYb'+@t `&5<32S>lb;,v)u25 }Q8QFԨbtleY.TБd5'A8Ã|]}/6ENh:uvǛsVݖ^\4Ϭ'U,0+ᅭS0iNU]o1]@CGvT;EwG%Bg^Ąƫ82=FfrCh;?UL.F|'t]B~.Ѽ mD gfʧRDA Hw!c!֢pfnI4*L,xky[+- b5tbU*%8}z9[1\iYG).TzQӗ` OWqdP9]кۧ'~cߔ:Tb%LrU#wBuQ+9:QM|ӸPcWJ:vP@doނ' =I0P`U"_I2 Ƀ p.v+X%82@Jo[y3јj" 6""NxH-:_ْKR_svd蒩/EOD*@{{!m; Ǚ-ybUfK2x`8' 2MH¼X=P_ΪcG֖.}Ɏ~tLՅ>eJP-dT@ @$N9::i&ss.`c㕄|kf"k 2C@ os 7B֥+p!gf!<4G fo%8,^ÛcNXFXBt5f9V0{5H/.\EX>) @&^oFZ?~VE!Mn 4# bHJg=1dn FFcdFC(&6"<"oP]N,Fϗ/􍈾cJ\yj=WѭKXRW h)p!ǂ0'crvfCq&v9 D1 ~M*r 4#+tjvZw=C CZۀ+X-%A,As2"6D~UԋHk$43/9@`нf9$Y M>s ySt0@ Z|>]Za|wftE) ` CXZت>h%J#w&Mo%hRnkGKG,D1>=F+&b`l- 26F_8q $7 +KLmEi~ 9n۩J9$!)I,&:l P}uk(^?oёȆBI$U>=ӲFх~8 88]LV8PvΌu'IL>1{xY2G V6o\惤ma [Va;9قtdIE"eSֈyE k -MXzpmeg#w8*sՎYٺ 7y. ܸEs+^!ZMP3AjJac[=6%hU#ƌWcQHm.u (1Iw iC㝎Yn[OTw\&%u[\K `XW[Tb>GD}cV0FjL4\NKAw&Dwd)W]FzRPyNϭG mԠ=\Y#|-jWL)nn; sTiQjNl&䒿9W1rGkLuO<(Pb Z3*O7sD 4*պtrH^!( ;6Kl DN+ۆ[ :0g7{ `mRh\fK\i*jtgn9DYİ(oPKr(X*wlL_ة8U&5KpgD:4ziR'5Yh/eX< R$ MDړV`Iɴ,֞_z1 q7?Db.ܷPQd}ƺяqael 3:婯V92G(_rx?Yf"et++@2ƒ'$ȷ8-Gigʬ̩HlNk t9q14{rJJ>K}ܢFIbD쌪AE(N_Ϋf8E֪k@'&p v .R*17cy"Py(b*| H*\{%] f"Lme@cM6FrqIIE `̕\GM9M!6! XgR>*c$J>ѹ#,f0Y4 hp;d_anT[V6a/9%oqH.RUoRܖ y![k_,y\،a*x '񤛃`Aos/ROR JmZ8.[3ycv(AӪŜbIϏXyO<{2 jaZݖ%k9Lrt~!aZ 6te3lcƻM%ӏ}:2%]Ў(miO<#KC4a Vt.Z$ b/1eڒWqPkש>.FWݮ v)a Wvp)M]-H^.bG*ӑ2{KFR9ڪ׉g\o6a4-wK"3.7L%,=͝WA9[ӈNq89FciC'66;Ʈ"pV8"fa%09N`߃pZ!aF 2Px=׎R⺅c!͇ڡQm-|EXBdkP~4{FGE,JDF?V;%mAw2ɀOɩo_S@/G#ǧ:1r׉ʻa* D(L gIUSX0 ?C2f;VO-5V3@hgiwT,-4&1wǃeiLJ;SuA`@DŒ?\֝'C \ʯď| Y3:Bx-ZIVv۱C*[m)ū_n ^tAD7>.GXv WZQd7WEY .#^Ah.D< c3_1j~SAhD xZ#yT??ȅty3eތtR)x W\}}娭Q:#g$s'$84Ư& uy @g[ۤ$'2CKKwغ<ں| .AU_ Iv9 t&H~7u(_-FTCHC -q&.1{\zgx"WUv8rU^|Qvl;-RefDR#kIv0!8BID6!@\iF[Q'Ή= i~nB5^,;MZč"}4/Z*=r>vZbyy? &OOJ :Q!"8K^X{R!j/Iy9P w8?Ypw{AGv0Ԫ4bv}0 ڟ*.@ǝqȨe鿿9 iY\1ub=P/*wW/'i3 u0;t;eym|L[HxxPk޻[%gD tB. i7kq# EŐE0ߔ hsvϥ4N돧jng:i^`p&~ĭ+:3lMg~Y;3)ˠC~g..J +Em& )f WWn`ִ$d\ɓ3e7_,?Kp׽XUMtbk/}v6%-74z gև@A /xdթ_(ƦwĖpgs?*33l/POZ݂}B (rQ*|t&#9g:F_uZT\Gs\D(蝯]\Mlau~ R{O(b\mv:B+ǪCAj`uKцmCmy*(BjХc Get^BkmtJ!]l|IHSVő2g6qd.xGo`ImQy(-^!Ƒ\92<N,kwAaYndj_^D؁S#)(-M|2p`:|L#hp+ABA[ށ~q Wo;˳sN=\8eEHsoM[?`C}3m_<`L4"˕|L2q|\)եH.I,cpZ|<ͽJTx)}0&֨+BJ ƙr IgwS^(D:85|pIc'I\BG0~Ǔ<ږ<[VHg!,Fy\ P!'jFǾb 녿kc&~W_/jD,z٧zFCG݊WUI;WF g #&d)r eLZAe8?OԌ^;dx)$ttcW7.URm D} z@;M}*[> ^|͈X4UXH+DuϩttuϢz:pX_KsS~}? 3W9\^*Ɲ* n,M}Ћ7aL_nr@&mehe ؼ;8V|!G&q^+GIyNCa=8Xg~XN`oD>mڰ]or Kz^H:p!_R8j3XU&$μbo`lqB!V-$ Vd|2D9W㘆h 8mUE^ޣQO4ȲlSx4*ݧkf ~4~XS\ü )jY?'s6]iiS֕}0֌+?jNf\>Kc{sRq*H[.zvTWEԕ/,lf@}[ MsF.P5|#uDU4KU#NqC|B DQ|*4^MZ"{rLv^XD>a4 Jt;L ڒGx{lzAP {5oxЄ,\ Th G KQ؇%"&LysNV{ibV eOi@LJP~~T7plEVBL©a"mEIČWByhbE *&1vuqY]2d g>'& SI̝S4,V#=V+шb~/ΝxWCelX rH])XADqւ*f;T(:Wo[@XRHWoؖ22bx)v0\KWrgauL$2өFe5և*^dA.攺^QnCj30MڧĉZTGF%V9 dp惉=-QgfxGu/<lI!eФ Q]&,CJ6g?s-⠪f}Y.GOr3#ՍQ7̀K7W9UN#VK9lw7`ԉ];ܼE7SԤLBNg"} R$`b^8:cxQ6AST#!ar^VUWJ,yE+{ZtG9A]Qu2u/k^PCDvcEaXo陫ˬBTr,!޼ր8Vf': eL,v 9' 0QNrp"Nôၾc {4NйW7d~IL^PXօ`Hdr (B% )~^:uwz7JE´S9n>~~0v!Bޟt-*} Ai@":Z5"=\&Lj@>nإ&2i*0 P uY߻I",๗!tCZf]ꑻc[YFzB6w 3~N>]9PѤsr-̟a"/B +eg3xxTp*ؙy0fVLcEKd)zuҴ0 ";?X/v 1M$i@K]W&#Cwq :m.<17g(bwF(3s|i܃*%qwƾ Da]v-%Dr vhZ4sAŞ̢1$d{1/mA0Gqp3ˊe8~H^&,Tm˦!9EtZ=a3o{4I >P ]xL}D{ ږ0UYlx#uRִhv(1"˰őy>W>pEeX]Ai?J |?C&.  nE4'azĊ>VZD۩p!#"2ܻ\UlrKƃ4.Mn#oxۤS]H?>0gQ*uwvpK9zdn(5ʷ#ʌ&CmΗ5ߠi *rғ{H.Y`@7MG_o>$.K:ӎ:]mzӓ $q : u2;C~Go1A')!2zA0 x";雝VZȦ>> :^:H=eɀƒ,^u (NQ)-=0*۱ G6;`=JUHoW-#J]۳81"1mZΰS1 g/ް@\\]%zcb>Jy<#LXYQΩ_MV?|xYF6+f.u!Trx@;dH5}qjzOWƕhM)3=Zׅ}&,(l *KT X꧁ B}~MZw8c256~2"GQ eP1ⱦlc k ϙFprqAow!MS"燸5 aԐ >y;]dN0aUx\*g.\ -Z_U{ce{uj=n75G.b+d37؁iedHtG)A 'ԣ)-dg'tí|FXiUGۍdknn]j m4z ޽aJe(nR**s[j ݂sw|'drQE}EdLxYO&'> o`\kYۯgXwO=J>M A{z"dxX+cdN:j]Y2Jb`j1}1ko mI>T`2I* ;>\jm11>WҒ *Li#Z ,%(10}Zo F'K V nEwԩ}([fцuf3eBs^%G>gyQo,rP5w@<&կj[ENȊi\]u^E)O&x\,+di۠(GՔ *kêu| {%VJܑővy~U#aG eu*2\СZA~ie/pgDV\oF)7:?<#Zs[#y;s =0"Cнo% 3,RJ ڥ@ق4-սeSwA%B3Ty@\9Y5:bDv`dy1is,=:v:o,uԅ$SQ TH0^ z9Jm~H'~) ck`YH9v;țiض^Hg`~+H-pJlZY'/]Ԧ{mUWx\u +oIߧbx YzQTZ0 ^Cq IG6jْW熹8+FUMTHJ^բn :}+C #sX%aH˵Gǁ>&ho<\_$e{i[gZ{FӃljPBUg6e/``^A~V`LapΐEy~_;UzVj!pb87q0=;Mjb7wJ2˟n\Eig^T#A_'=Y*Klr/'c`pAQȱO\aHH%DLPحפ|79 UȑAk->}:2=;iqMm > qS"~VZ9d?B b۠-AҊ UMUAbZ!a.E%E1%z*3z7^ G QN>Sod/q (]-] `7 ͡A"DTҾ0б g l,/h`}Ӊ=HT]w)x,@]]?{vB i-p1V'k;#lNLYdӦm38Vw"(4Auk@4w5P,H#g  Dܐ#~DIt .'fsS%Ȋw/;֪֧۷YᏔ Op47O^U*XsLURzdK(;h2`d l$P0UU^9M#^tz9_.FUQAauQh +EB"{Yqќ$ςVKDXi JwJBRyKCe k+[疃?0)_kG$Ttž%>JKZ=GBR V/]s}lO+/Plm~OoW|O{Ԥ3%e~Ҩ>H"Rdy=q΃2=m:ѻ_ σv rCCc [r3!*eyV (U.af' ?-Ќ7`k?׸:^<7gt1[!UExcX&$0C+npɩMw1 1R:qSK}GgPJ(0ݏEko/|ECՑ9ld::3=dN̄=z9`;c7VѲ-m)^,$/.:橾9_ ;R ν q!DN/Փ)%M[<ƥ>Ikzw4LCIM)bASuڎERuVDpUwHo'S3u܉#)H@{-`Ӣ٫pxB1ƻ"Jlع?_%2ID,ʎA{LCԙRD_ }Z-:@Tz`KPZn.g@k[Sm&ҍyrd+pTlmi6m%fCi1؝mO\рw*n =ctO7A4]7ZZUQ1Έ%\3wb{OrՀ*$wSnˣ=')#4j_aTTEE*U!%sH C1Fetm-hXfɏ9ψ:0E@iI^:d,7 |j+6frZ+=J$\2'1x FzdA͔# p$Nz+E#2Ug ݺueL6<)fe`\ U"~.O)JreQ>%[_kUjyk[n#4 y8{GhIr8zqgTB.a5$;nyZ\q$uB_aRTRsuZ-ޞ9с҃ ܡvǦu:Az rTl\q>ւo<}^ uRzKV#6EUEQ؟~s3(7X[\q Ӯc5i4cqlP>Zuڵs0șI3z`9q# 9[+t2L)VQ)~jn4N)9zw cd(+g||/^¼GY6fA%vKR/F`M]qM-N"0F9-Ժy CV ^k_/C=E9 5KD߿j̰ӣ!:`M8QAp쭇"_/4{ʝ0[5sBr < չB5hU:H6_jy[u RRQl[=9 FCavIh%V/)8gBS~%!cgC0xM}ljB%!-e *۸yїײ#0W>?kzKÈy39Iiո9gWTϛ~`!2M5G]^3 x4~H&psMa?qPH(Qr;UuHyr$,{O' %6y{H6a<>d,9McBn=K}Ap (?r#J&?͝ WJEi}8߲sW.9/d$A IK uIf@3wɌF`/sZL[h%5<@p ̻zזJO[ 6Z&z獊pXP?*miꍁmL5 >ɣ-sPi|vOG[$G-%>]:i]zbYH)6mhjKm~|:- *뱱,'KRg ~ |V1QUCǏV;fr&gNY0M9*l;~w1S&W]74б=БGh in`He P{|Z4/#׉xw%OV{22|_9xq ʾnuu@_J[vvьzeI? W1z $[`!jڴg?jL`οӋY#g hNXLkf5nz=)jmLģ|+Oj,ϩ2CVCVj~HnqW|5'5īh+l RepBaAΘ26V5AR2ǮTtVGQrlɧٛ*ya4W˪#/llG '\hZVV6Gr00*ڐ "㤗c*I[SA9avtPۛa{Rfgydb>)s(h7;^O>&HFɀ8#( Ug3a/k{Wʢ Â{e$uqalIo`mN)S֟qa3azBEBwA@c`.MV~3~SԲ{6@O8(Ծzl(aX}TA\K%Ä.FY6\#<%0 oB˜\:50Yz<$2Vx2R)1p#pw;&!,St,0 9[- ҇ECȝI-g1[X`ܗJbP k2-:.76K*u8E Hq\`jIDMv܀SL~{TZxb)k L:[,-+u &q"Dibͥ)U0n݉h49^{lwpRZ'Ǒw4-t!u`"j.( {Kc95,?" MW ˱_SJnT3IO&76^)Z?,4ۻ0Qm#*=mhnJ|AV |O!=ψnȈL['v5H0]zndW!l &:=eEBls΄WyekU+c\Rm/4}Eqmwt g5u/wb#)"S WD =FZRx850<'O^>zmaK%ўW#9,SXoFZ1Qe3žP6HT~ƙ~Ib}BʻgT`]Au5.h5I BDdJ*Wl?*X!+ +q٦| od'?^*.@ YQ"dŋ oV٬/k }*c}.!6܅^b&}ϗ`#8;=J͡H#u<һ03ϓm9~3_/ ]#2壶){nɻwAyi,ipx]Tŝ~:+j9ɶٺ̘7mB .~n]Y5).mk=ocܓN0'Ľ9/I5pX9,t _V.åtGY5}μt3İvE*QwLc]wlB`o @Y]VʾQ\9LGJR$ }Qy/I?3U qjL@4>|gr=kUNHjPT^}HC#M}!epW_);x-CbuUa`:oQ$ yWH& 㓞35+Ӱ0RaoIQH,;IN3Xy:Bd3f W8ajB}X6'8h<;ZԝzۥPKֱ{4 b_HN+Af!Z+bA:\[ 1fU_?2v)+]y`@ ^߭$fRN"U:}B+"/Jp^9k}l^f.VA/?pN|w"&]Xm'Ҿ/m1 ;OG/nYh^ $sc6|<맴]kx>Qw+r@v5\ ?iY?P"Ԁ f Cܯ(Ro7-w>%j,jLC:r=L88q!"\;),㦩4ؑ|[J^[W_;8t4Z}{B,0 V툼B݆X(#,EB&Ne D׺Cn fc~NĒ"OT1)He*ȁK1?5U"E_DƨPt}=דܭ[,'1 ? Hk\Э!.=ё:UUWRL;4 ߏJ=i >t3J^阈Wa9suN%5̒''$5o'(^*׺z ֏5g"7 {V=z;N@)ႅ n] bH!Kp9HԽL)z׍T4IF@:]4;t"!y 9{3U8áwՃ{DkS);7cXX^xcj(_;n; 6oHih~Py@·]v1>g.􃱘-ʒ(xݠI}WKkp}Zz*2Ow3!!Ibb"Tޱrʲ )d~d˅o?(JMG/l zWX~t `˸\| ~:imJ'V\gasj1_mk3b ?a(߼T1҆L POpw:5Β b _81 }b)`YKYbVg c"nwj>2% Tx3w1!ktLGA H;g(D܄=:H{p6,c4$nLRIH!=C\k4d.fG7/ܥ(YNhmxFg32^a(4=z@wJy;1IփV8s1BpX5 QYkp3SRߘE l ka\ JGYq<Jo%X߉mK>O,.MꅛlGP~5gB gg  V}t0FTO~ǖ^j̦ "N~{[0;ikK,?7^!76)cC.%0J;*t5l[ԑȭ d{Fԣr* , =-½%Cp&grԌ9CaY'Lc3< 'ןz?$u7эm|5Xe@(ET0Tk|C):z}H1/đCjq~ɰ2j AUmD)S]l&"DzG|ULm?Ϲ JKoU7xp3,kU(3v3t 74 fj<rnZ5&G$'Մ\xYj2"Ee)eVp{[Þ"eXTǑKg%1ç_o-fXGh 1 yvthvHR}'bb9O08]"ȿJV6wC!;Eq0-+ep֟2mΎzZBd4YRsCCgk'墁N yz&u?w(ʰ>^~]L_,j2K[vu8s/ Aڳ֣KGV 3%?qT6 K%yFx6~n"c53ϻ[u@,˪~(,,˟l ,)<) pNAd(T~1f==-lj\ЁjuTc6B~ `O?/޶'&SZZ(|v:~7C@tw<Φvi1 ] 0lwEKQ:*iRXW˥YZƒ%Yw<7!~}څʽv~*\a2{a OjYb$᭭Iu/`NZVs$b6 J\\͖ߧo{z p)6S!&^+Y S}r`o0˰(Y5bVϤj̚ad8nDP1kZW)/Dw(aKC$P$;%sz `$c=!0 "sCXP}uK2T>PV^zy'njMd /ϮJ=r~2hI 0ΞĝVjNtCaZ!̓lM;AjvIcU-U o-Gg^rbH|NٱLp>0 tU$1cfFAq6^Kw0&Q^cR)|~-gMϛ~xMDyXt"i: u`dt}gq\=6*ic[ `㛉*;GWJx d/Lc7~`%b`˪3Mˬke˽@! n9Jh\+#(+wT{[RJ]#vo! XagI!VZ&8Xcv 'k,i!`ѕPs9>dC%-cyʥʽ_X2Øz\-N ϷŞ,91ppE ,_r=+ASgzJfq"pgTyt=kw=irK[f]BX s@o325I'+~m-]ÍOr0ˣL΃Z[9铘_Lf)vzDrHkwqv9[Ovnf=!,KQ,c!XG5rf:U~y[RnY}#)@xT؃<+u@ 3fگ`/[W-s?eՓ w;jO4ͪG"_؞yjNaXXXv09N% mb|@p &y-{^9d8 FbOܐ8B2qBp1sUA;sC>04̀EAo @u^؁9$T?\r˙] P/]Ja$W}ʑHe-\cFP~,P@,|%AA/p$Evy<2k%عp](7LU2d&Uk3aH4ߥc>'z䠏q@PuSkmZL,qi8ϿaRA¼N0j&k:{DKàqYjW޲Dg$Up$pehF$t~{IܓӼ]74 Di5'۷d 2#Ϡ8l~=:һ[ aS )dkBv@)H,q}7d7tfͮ}`o͐Q`f SQRAc@I,Ia&Ie E˗R|fáxi[=1 9##r2UFa!9$=I _pN9 3fC 7|G?P>h8tky*~[z^K%2dl3y!5,7rj@k˲NIPN4 BI$geO:QdNUjc;Èzssh8TjUF52oDOhfzGHm_!/=xUMUV7ۂ8]cr˧i,s (WU\<^oߤȺΆaHm+7;rŊKZ]^.T>nD} @.,9 [%]J~0+UF탾#zR!J GڶD N]<}u ᅳHߔj[6t7r4m;@(ͩLy} !d=Dÿetˈ[aXK}jڬ@>PiN-,Iy~/\)z9z1)5Xyų+T>w9Ҁ!IxS1YU2ӶE,@D<e"IJH-xRIcD `&qwlRe@}R"JTiސtߍM$R`32(K9<=8 Ȗly) -`eAR**ybCe$wn4gVoGe0_?Ѐ,.bqM⡳L?-NK-HSndʄ\DXX18)S|&G?RyO2>ٴ #(ϟ! Cz!:,UKX6AEhbjuxd~\}x7sqSuas}\AntHHadlbًog/2'+fP:1L>[-VU*WY* ʞ*KH(:b|Mr̖n~ͬ}%V1[{oȔz+@x"A](Ӈj,9r fbV18hbmUsٗ՚l3'L~ `QuUuMMHKQ[s)A:~Gʬ$5`Voϴ^F2/}0$.ѡ7A2@w5Bz2> 17%q|Hb]m['k섂Ӄ dv.k\xSx!R,`}۾=+X:_稚(9Fj:3_:SVFpVs)2%HK՜'\㱮:=o7cMH oIӺSn #Z35'pQ]rL}:g%E,>3#!MKn*?+.2MRs׶-NzޢKۯ"p8 nQRdȬ^J2k|gCk'l/qlȵWɜynh1R6w(Td[;botX7u@zպ.S'\OgqClJ uC Oy5z˔3DN4CJ#?5TԯAD!3t}@.7-RDBXJEv9nc0g\2f\8۞ک~5cdKj'}9A6ukix`Ki6Ŷs(+8؂G3稣Pl*Քgo"(FU~3.a+밁XݎIB2P(a:7E#<O]1!\ 5>AP{|E-U` zc= 9dW'4X$?ׅVqowО{E7ϺR?uƅ[TuAY@A}i]_H!#aE]'\BīV76yC<ǯ^8ZA3l{^s6i$J5X䅒؇Y14|.п Tp2{gJ| {7AG(4!'n%M`DW 'l$LT ZJvI)dO&(1i1XܣTkqxTL<{.91ش^D{X0PII7$I ㊲5`j9&\Om&GMnxk .cw],bvuū~x/i1D 'U*|VK֨/ez??$NLהg`qyT@?*1t zLÿ೒0,M&;m%@\4بj)n Ap: Hf xlt `W0fNw7 8mls}nG/T8о='8I8m(X BN}Wf-5w{\IS@Hj b>R)f,@MځaDl!i$h3]d8G$7y 2 MQ.|54T]ֶ qOB;'1!H_+5W$k*1@:RaJ*Wz'e"^DŽ1O.! JE `p5gv;L))b*+1hs|WPDLn2~b8DgC:?oBΘi,}E&ȐGs0EFXl]1J%q&ǥld xN `oB Kh")-k.9_=Ib΂ D}+>x)aD `W.= `L'*6@&KÓWNw*dފm^ۢq[p]Z FwJS- p 5L|w!_0U{bSRIn"j3! --^,6/tqrtِ fk >SpŮ|r@<>mtV{gx}9,$sx% ]V0qhC2U)~]dKƔo`>7I+8ItDOV:s?c- y>3͒8IuNy/yE)h0i9=̌9Iy?1G.=U>FSh2${HRMXEoO:͕kH mcտ"g8N7߅pDs&:J߲u;_!.`x3̲9dH'nj9J??D anBPyWjwÉ f KX4 )QS yv`U!ݐ;B3b*1^;`.uF_}p.;B?rHK}he<|Ӈ Z5+Z̔]}ftg=z@rp }h䎬)e:.{4N5F3V? 1)9|^z rFkӎrzp\eO{^bϳ3oka!t4"p4J}LS=֎I)0m #=[ॷvIWWYfۙ){iwvQ:VP;O%퀚Acm϶2KFX[W6CӘEg[Ql1OZs>/!2q?Y6g6lo_v1m7&TХD|ۖ@8 ^¥0jj]f{cp|>Kôh Gy$i]Lnvq ~XxOq !׍7qdֱiGӲ]?ZYhmfm{ #V;!3&?8 "CK- N+(a򓯏qO̱dG!] 9}jǢӌ5F,=` B [|8@wc-9.Q{>L|Cu\SBF[EkedzqC[^d/F3pb .yljHtH($3g3A~*~6/t 1OXv\lթ);l ΅\thۙwkz֍SRq)\*Icٯ39#KMO4UNYL#q` Mͭ b6V2>@Km큏1zQI8dX28d+/2bo\6eUbg+NxeKUݳQt'i: gşN7]2s+{ Ѵ0#+ZOJqol5Zo+h_cﳶoW{s~-:cH e)umBգ+%L-Vv1wQH sn2ed IBMZ7rƙ+-}E v6-nA-  ҫWHIŚEue)r7SFx]ClqG;_< Nc֪[]6iSvLH"Ew !VJYB/$J>*+P@OU!J55%EXmfh44!EpSaqG5y@l\ He,8BѐK,aiYئ8Gs[;בggrPQ謰5!6ܸqAH}ڡ֡1/ߨ$,ܒ U<9 XnKw06AEd2_TY0}m4_UV4̄HJgB:A3dJa,qբ^R(g8{ ,! WkjcR*ʅ^ Rixg٫=71 ׆(Y(4=4X&`\&T&>/XZ:38lH0OINP+ e 42-fNhPqK?1ɯp^E8̈́ǍA-`wAϊFVS%{\,ZSyA~f@b!N!TP5k^iBECs=!Hm\,+"dA 巋jZM\RLlo!$k$*k>Ce @QeGۄ N*pf񧸌xA+Ax#q>!;7[q8:rѤjqe (1a`՞++LmYp秝0䯛){nCj*Qg'Iv(ʔJ>*bd@&+^ɂK5pg{(I@ӓfv+=.zъF޷@+hLNL/U߯t.rI8!鎗`UIo0)iIyrs([iQzK&H P}<Ӓ`\&[2lOI:YUM `~/Nt#cOiҿ~AO1)B/\KuG! ѶRF]5Xb)> awGJQri+v+# _*'|>,Wa[V9(K"8x܅&ˆ?bSGN3,@-AÂN`pjDxcķr.AZ󘚃T*".P9(QzנtN'1iVC[Iadp)[L7c,bx(97zBeK^1!W)t;F( c9IYy{,;}56xf\aA 4j {`2 uwbz y3'j ˼ݦ q ( ̇LNzSKNZH)=zmo!19 \'~3$19"_2B9Up7}8]94x@TlkՍMڎaCn:\t1nN4[px!Pho#;\s!LW,֏Mr2%z{ʎlq–?1^!OS!V5rw˗9N 'qR}OA#n(b<|Cp><= |;M YW=T a=Z''bB Ъj)-p)ڰZ|NZ7`p89M} 8}S^qXu~ AS/ 01'IW*|F1L Xn|:KDMuptx Z䣮fI9;Aedj1"Ϣ%:&!}G$?Ƴ: ȑ]0=kv=9VQXrȷ4 JP? 5Qp-jǺ,-JV(lXWJ2-( ڋL/2~n> WN;;˷ű B t%gV.LZýaq' yyΞWj*)qoL)?jcR9\ˣpzeB>md|f5}H"G G|Q |x$ 'Jnrn\.PBF߈6܇gӀP@}rfOGoאgI 9%CAp qTRRxƿ%+ r(!>]uA0Ђn-&L'=H%P}–E@oT,9 Ԕ(>E~ӥ%Xʉ(Z>jz-OWڒ'ąg` !t5op0o CEF|U `[)th:G}2ZocR;&9y߿0*?`Eatƙ)'J!Em7'n,W$AQޚJԏ9뫄~cՊkK|֛(Z*L6+d ƍk2|]ֻKH}@#>(f9,;C^qcfAs$׾M1DоA< RvٵQ7B;@7s:ғjJ(b `;n-Cʭ2}/.`RMA4M(A f*/8 bq*[-f% GtbgrHHzJWHv]bj4oOi_uj=,[:"$*MpA咉vws^B,xrm@\^C5;z[HPYq*}MW@q^TtuTLQ~PC`o~ܻ֎jA Q=G tj~` i> VhTqKm R}i뜺.s? #b98 M`56Bq[2s2o,Z\5ĄR9 lஞR_+pmbA2YlaE "X 7%0K Rw,][]}>)rʖ?XZ.˒@hNcfp^G[7 q]GU@Ax '\fDkhU@GYmGY=~4Vo CkHvkH>mM CEW(Ln-wե%SF9x*131jܯ(RM8z4jwJ܀xusD7GaG]v؟ o;Vd=kqGۄLpnr?\fENqcԴ/S#q~^{`1v@)'WPf1$W7QDqgG"]vu:UC7DUQj!Pԕ5a6ˁh5C]N, O"\D^ PsNzxX$Ģ _9r zx <d|9>D wcVQˢMbrqM),n'C?w6xq6 ˟) L ޾i>D PzLd;8ZAc-v}}U<-`VUl