freeradius-server-devel-3.0.21-150200.3.12.1 >  A cp9| 'u~Yt(G3]g#Wq) 0 `me`- @>4x٥vN ?aF,ױ3 cɵjqh8*-P 0TLa ;MvWdJPSJ(?,pdFGcfLLba7<7E+֖Q9'=a*X.&+E1?I!kIkDyC- M'dfB&AP+ߘ2/>Z!ylb7c7c65cf135500685bc4fe10880786c6a62a05112a178621d519e5a6651c1aead00a5283332b2ead772777fb61353ea71ab175e|cp9|So_Jܯ밾(0-ShxY2K J^9J#zԍbKw&'NK{ 6^Ufj[M$8Ⓡ#U>0\/WDdU7t9@gVoB&&{M>k6))m?ъWؒQ6`ssj3Ok+%l ń*0TBIi֫*m:Fa`IH ߠt,I|ZVſЕظp!mlp>p;?d! / Lx| 6<DG`G G |G G _G GG'GG((8(9l(: U(F G GH<GIXGXY\G]G^bcedeflu Gv(zRdhnCfreeradius-server-devel3.0.21150200.3.12.1FreeRADIUS Development FilesFreeRADIUS header files for development.c$s390zp36BSUSE Linux Enterprise 15SUSE LLC GPL-2.0-only AND LGPL-2.1-onlyhttps://www.suse.com/Development/Libraries/C and C++http://www.freeradius.org/linuxs390x2R8?| 2i r +wt W&~ |TK0LW0GUN0x.S!OTTqwY b/ A큤ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceaf076cfd7bc6a732f318c12f477c9fe28a59c8ac58302e216eecd1afa22b139eb52282d1e3c837a7fef662b08846c9f7ea9607e377d621857d0077a99f362ed61f82a2397a91786f76e78815dec88f1161a43c99f2a5cc31a80b7a9e81127f9a970cc6ea0cf6c90358da867431a47765f1d2545c9c5c511fc319af787ec7f4fdc8f8333cbc4b156128456bae9344bf659a6c6e94befcfd2c824c24c6f607e4fddabf631e1ae081f6b24cb0fbee02bf169281697b25870eaeb3984117fc424ab600f82be3dbe330700cfde195134d8d23f48785d5703ca23f081afa361c63f0712b6bbb0f3baf16f71cd778a5517456ee4d840ab5944f40a6034a219bdef5e1b81c376dd22d10a5436f4d1fee9224987c53a3a17ec95485f579ee71d6da3483a0d8f97f8a8aed80bcf6740a353da070fdcd6443aefa6b9acce6b1b8a16b7875207e77afbe9cfbf9c37c24f1172248b3934f41ff8a60980a15a6605f4f4d82efb27f3e7c083b482c439626625213b9ffabcce8ef2b59e9290714e03f3cb22ad29d417a50e8935fff24ec71b214b8e9d89724cd9603f960613cb888bccc31c5ac12e74144a69a7aa49e882a0210fdf1cbf7bf56c28b2a59c4d6b35424a482d249d8cdb30ffd08e303718365155c8810b0441f0ef5f8e924f172a5b57a05d5a6c994a2bc551a7bf24e232db932ee56cc35df0befa44558cbc445d776c9527ef43bab15c6cdfc288ab370e09735c486fe7dfe1c89ce818482cdab6fe846ca8a604d8db66f171706710862edb5a2e4d6ea2a79edd7769b60138981b5e30b383e44276390a77423fe29ce757d681a1e2599ea0ca122b69ded2805c3a3e2a298390d41dddaabb24cb0260f45a111c8a0cbcd516cea9cd9ae9e44f9efb1963650ad611a1b585119f6f56d2b796e07e99e24ce0d8af1c6562fa287c34c4a95a53c2acf2abc88c3b2f3ad981149d87bdc06185bf4ee4472ee494639d0ddf81e8ffa3b8b495d673c67438f01bb3bccb7c415cfe324a4e0c748954b2a7c966ffa6fb12723482ea7f056fe01f62089a5cd2ab3891ab9fad7a623ef8c9a47eaa52cdb1225354fee15db0ed2313fe362119cbd20488d8acdf96be0e8c44e3f2197d943bb7097365e593d8da5ec5c7ee47feaff4056ed4378f76299c48c62af60e6421c3bcee4eebe311144adbe8ea4635b99c494d2616887a889a0ab195f8895d1e495b8ac2f30100c829db2ea58658a6b2ceba589e0724c51ec7e3b57b3cc6a36243fc148971781cd1a1bce26e83937bf77f50c9deefad8a54cbad4cf27cb98de497a1d8664f8d118d970a2dddb31680d1f1c5a4c9338784b823ee937a19451a865843b100da02f2076742a64e485c2773b39df5b45a1dd22345208373c742c5f65b156b287136fca79c207e9f32854847645af8a0aa1ec900a81ddd6392cfbe6edc200df33bc42a300c0655969af4a864e2fb610b4f50ea3ed82b247ccbed7c8827e4e5c594c7cd0b192268e3ddc3d0cb51ec5202ed37ceb24fc880bbc8898d0a69f038c7d06ef553edf45a95b24c389b60c9fce513708ad586d6a50928b4a88a8458be003ff9fefd564ae740259fe477ce001217c0c3c8e4d00089a695e6a0e3d132b0d3c48dd7e2f11c60fea633083be7243fbf925be2e42be0c6685187858c6cdaca3ca61bf553edf45a95b24c389b60c9fce513708ad586d6a50928b4a88a8458be003ff9eff0c06a562d0eb49528849a2dd7e747b78975492e60bd368822fbd5e59a83c73625a02462bd14adb38066495f2ed9599c705f94042126563f94016e8bdee3bf495546c15af8d85997968d9100ba9b82563b60a167ddfff99f32bc032f785d52c191e8d5e478efad503f360d91239b1bf79ab9e643e33ad32d071e86445e0a6cf1e13050768377f0de0aa1081631769cae767bcb309adf2e5beb5da834bff46ef553edf45a95b24c389b60c9fce513708ad586d6a50928b4a88a8458be003ff9452545863795b33646c1fa1608791e6a47caa8fbd604ebfae4ff1c1415795cfd363612c0ef13e44644dededfd16bb6eab15c800312fa46e93a4112cb285ed0437523051863a55a8fb034b8427ec649ed213bd49ce13e2a0545d549b634fa593eed6a795544e91629ab206b5f6835b669bc2bbd035941b21c69b8785df7a8ff327c6455fe53b4c2662864a6cf36e8961057ffee949015b18722aba07a99eebb8a519b664c6df430254c02e4323a07fb70b285b2a11582f621e3d89b1546197815fa806fdf5c3ac0373f4858943b223445975594d6a37e65c8215c6646e13580bbf277cbd30085289c4b8f2022533ab879afd459fc21427f08907acdf14c185d5c4c7e68dda54d809f32a60c0c18a1c9feb157019efce849f4d94e81cff9926c0e58da6c5e3701fa0e4b5cab71f7745c7ac142543a21e5c00f630a2dee09449d7c4ebf731318939f15117e9ff283e392ab7c543007efe78ec55bdac9d41d1c014509a2dff108da9728e7f0b58a14366028a75200f0c866807094ac6acd38d77054f9e97b3c46c775b8753d79dc8c597134efdb81275af27fd2e3ebeef265cd5a9309184f1b8635c841ec09fae090bdbfbf65ffb26d85fe4239ff7e90927cbdaf638f784c4d7444c98de9e4abe06a36fa063e5c425d8aa863c4005adb9ea6350fb557e112925307cdf22251c366f4ed6224961246b1ea4ecb7a8b3009055a405637f6062ee7e517763f46b535664a65da7d886e6edb4158e92169f7ea730cc373e56ea066400c53b6204ae309868fcf8e2f7309fab29f844a9475e4b6dfa0b8f8f252410c4c0a205325e5cc84838287eaf7abacc3ca3ef404b856e285c5a48cced79b51d0d2b5e5aa72f84b46ae24510131399cc8edbe213f2c497bcbb41084ca65f80e1a933f465ffccb638df5b234eca3a1fb3d3a389cf1b5f33565b070e542ce6fd2636896639cba23e521f9b5beb23c7ced4955f09037b2adf212bf2799cdc70a9193c36520dd65a0e8cf28a8870adf8ff6f0c6a6ce62c952ad3559d3980280113ef0de636436d82169f671f04490409b677f55a61960e695f9b6f12dd915401964fafffe5789f4c5be1126146052f1a76c230619a1915892ce9105ba3b746b45be4f4531bf6e25985a62c26705b02c4bbb60bdb11a9f92f25f5906d5d6cedcrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootfreeradius-server-3.0.21-150200.3.12.1.src.rpmfreeradius-server-develfreeradius-server-devel(s390-64)    freeradius-server-libsrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.213.0.4-14.6.0-14.0-15.2-14.14.1ct`@_@_FN^y@^p^h^@\\v{\u*@[<[2*ZZWQYY@YlY, @XO@X@X*Xh@X.@W@WiV@V.Vf@UĝU@U@UU8U7@TZ@TTT~@T|X@adam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.dejcnengel@gmail.commichael@stroeder.comadam.majer@suse.demichael@stroeder.comadam.majer@suse.demichael@stroeder.commichael@stroeder.commichael@stroeder.comadam.majer@suse.devarkoly@suse.commichael@stroeder.comadam.majer@suse.demichael@stroeder.comkukuk@suse.deadam.majer@suse.dejengelh@inai.deadam.majer@suse.demichael@stroeder.comadam.majer@suse.demichael@stroeder.comjkeil@suse.demichael@stroeder.comjkeil@suse.dejkeil@suse.dejkeil@suse.demichael@stroeder.comvcizek@suse.commichael@stroeder.comtchvatal@suse.comvcizek@suse.comdimstar@opensuse.orgvcizek@suse.commeissner@suse.com- CVE-2022-41859.patch: fixes information leakage in EAP-PWD (bsc#1206204, CVE-2022-41859) - CVE-2022-41860.patch: fixes crash on unknown option in EAP-SIM (bsc#1206205, CVE-2022-41860) - CVE-2022-41861.patch: fixes crash on invalid abinary data (bsc#1206206, CVE-2022-41861)- logfile_secrets.patch: do not log passwords in logfiles (bsc#1184016)- freeradius-server-radiusd-logrotate.patch: move logrotate options into specific parts for each log as "global" options will persist past and clobber global options in the main logrotate config (bsc#1180525)- freeradius-server-radiusd-logrotate.patch: fix permissions in logrotate global section (bsc#1170505, bsc#1174905)- update to 3.0.21 (jsc#SLE-11896) Feature Improvements * New stored procedure for allocating IPs with PostgreSQL Rates of 1500 IPs per second are now possible See raddb/mods-config/sql/ippool/postgresql/procedure.sql * Add SQL IP pool support for Microsoft SQL Server See raddb/mods-config/sql/ippool/mssql/ * Added RCNTEC dictionary. Closes #3168. * Added Pica8 dictionary. Closes #3179. * Add TLS-Client-Cert-Valid-Since attribute holding not Before date Patch from Boris Lytochkin. Fixes #3157. * Generate attributes containing unknown OIDs See raddb/sites-available/tls * Update the WiMAX dictionary. * Added ability to rlm_python(Python2) show a stacktrace from errors. #2979. * Add WiFi Alliance Policy OIDs. See raddb/certs/xpextensions * radmin now shows coa stats, too. * Sample schema extensions for summarizing data in SQL See mods-config/sql/main/*/process-radacct.sql * Update dictionary.aerohive, dictionary.fortinet, dictionary.arista and dictionary.erx. * Added VAS Experts dictionary. * Many updates to RPM and jenkins builds from Matthew Newton. * Added %C (time now in seconds) and %c (microsecond component of now) back-ported from the "master" branch. * Add reload capability to systemd unit file in Debian and RedHat. * Increase timestamp precision in postauth to maximum supported by each database and simplify (and make more consistent between drivers) the timestamps in SQL queries by using expansions. * Option to set dictionary path in raduat script. Bug Fixes * Various fixes found by PVS-Studio. * Set permissions of certificates in bootstrap shell script Fixes #3132. * Increase the 'nasportid' SQL field for 'varchar(32)'. #3141. * Skip processing proxy reply if there are no home servers available. * Update SQLite IPPool queries. Fixes #3177 * rlm_sql_unixodbc fixes. Fixes #2822. * Fixes when building with LibreSSL. * Fix the rlm_python3 build. Note that this module is experimental. #3183. * The rlm_python should append the 'python_path' paths in 'sys.path'. It fixes the expected behavior to use the existing Python modules Fixes #3180. * Fix rlm_python to print the script errors properly. * Bound total query time for PostgreSQL. Fixes #3253. * Many fixes to Oracle sqlippool. It now does 500 IPs per second without any tuning. Fixes #3270. * Reference sqlippool by it's correct name. Fixes #3272. * Revert 3.0.20 patch which caused crashes on duplicate clients. * Update WiMAX-MSK attribute. Fixes #3280. * Fix crash when trying to access non-existant regex capture group. * Use timestamps (request or server) rather than SQL NOW() in accounting queries so that these are stable when replayed from a file buffer. - freeradius-python3_patches.patch: upstreamed- update to 3.0.20 (bsc#1146848) Feature Improvements * Added Force10 dictionary. * Update dictionary.hp with new attributes. #2690. * Update dictionary.aruba with new attributes. #2696. * Fix side-channel leak in EAP-PWD (bsc#1144524, CVE-2019-13456) * Relax OpenSSL version checks, now that their API is both public, and stable. * Note that tls_min_version/tls_max_version also support "1.3" Since there is no standard yet for EAP with TLS 1.3, it will not work. * Added tripplite dictionary from #2760. * Switch to the async interface for rlm_sql_postgresql so that we can enforce query_timeout. * Added new LDAP option 'allow_dangling_group_ref'. * Updated documentation and functionality for EAP session caching See "cache" section of mods-available/eap. * Tighten systemd unit file security. Fixes #2637. * Disable TLS 1.0 and TLS 1.1 support in the default configuration We STRONGLY recommend doing this for all installations. * Add expansions for *outgoing* Radsec connections "%{proxy_listen:TLS-...}" for TLS-Client-Cert-* and TLS-Cert-* attributes. Fixes #2839. * Add %{listen:tls} which returns "yes" or "no" for TLS or non-TLS connections. * Update dictionary.lancom with new attributes. #2847. * Added rlm_sql_mongo. See raddb/mods-available/sql. Note that this module is experimental. * Added more documentation in sites-available/robust-proxy-accounting. * sqlippool now re-allocates unexpired leases, to prevent IP pool exhaustion when clients perform multiple reauthentication attempts * Add support to radmin keep the history in ~/.radmin_history. * Add support for ENV and LD_PRELOAD in radiusd.conf. See the new ENV sub-section of radiusd.conf. * Update dictionary.aptilo. #3002. * Update dictionary.airespace. #3039. * Add sites-available/coa-relay, which makes CoA easier #3045. * Add example stored procedure for IP Pools in MySQL See mods-config/sql/ippool/mysql/procedure.sql * Update dictionary.dhcp dictionary with the recent hardware types. * Add experimental rlm_python3. This should largely work the same as rlm_python, which was Python2 only. * Add Dockerfiles for Debian10 and CentOS8. * Add RPM spec file compatibility for RHEL/CentOS 8. * Notes on certificate constraints. See raddb/certs/server.cnf. * Add NAIRealm example to raddb/certs/server.cnf, for RFC 7585. Bug Fixes * Allow listen.ipaddr to reference an IPv6-only host. Fixes #2627 * ERX-Acct-Request-Reason is "integer". Closes #2635. * Fix a slow memory leak in the file management code. * Try to fix file permissions if they get modified while the server is running * Fix slow memory leak with clients. * Fix request and connection timeouts in rlm_rest. * Fix systemd issues. * Fixes from clang analyzer. * Fix missing include for the dictionaries: alcatel.esam, altiga,alvarion.wimax.v2_2,aptis,asn, audiocodes,avaya,bristol, columbia_university,freedhcp,garderos, infoblox,motorola.illegal, starent.vsa1, telkom, wimax.wichorus. * Fix internal sanity check when running with "-Xx". * Allow "inner-tunnel" virtual servers to work better with "accept" and "reject" policies. * Fix dictionary.huawei data types for Huawei-DNS-Server-IPv6-address and Huawei-Framed-IPv6-Address. * Framed-Interface-ID in postgresql/queries.conf is string, not inet Fixes #2817. * Fix rlm_cache to complain on unknown attributes in the "update" section of its configuration. * Add configure checks for -latomic. This helps on armel, mips and mipsel. Fixes #2828. * Add support to Oracle 19 and 18. Via #2857. * Add support for decoding tags in rlm_rest. Fixes #2848. * Use correct passwords when updating CRLs in raddb/certs/. * Properly separate "originate-coa" packets when accounting packets are read from the detail file reader. * Use the correct virtual server for pre/post-proxy. * radsqlrelay fixes backported from "master" branch * Fix DoS issues due to multithreaded BN_CTX access (bsc#1166847, CVE-2019-17185) - disable python2 for SLE15 and Factory - freeradius-server-enable-python3.patch: enable Python3 module - freeradius-python3_patches.patch: backport python3 fixes from upstream - freeradius-server-opensslversion.patch: updated- Enable memcached driver on SLE15- Add missing BuildRequire on samba-core-devel required for windbind support in rlm_mschap.- update to 3.0.19 (jira#SLE-5890) Feature improvements * Update dictionary.cisco * Update sqlippool to allow for stored procedures with PostgreSQL. This increases performance substantially. Patch from Nathan Ward. Fixes #2540. * Re-added "show client config" command to radmin. * Cleaned up mods-available/sql example so that it is easier to understand. * Added pfSense dictionary. Closes #2581 * Update dictionary.h3c Closes #2592 * Update elasticsearch/logstash config for v6.7.0. * EAP-PWD security fixes from Mathy Vanhoef. See http://freeradius.org/security/ (CVE-2019-11234, CVE-2019-11235, bsc#1132549, bsc#1132664) Bug fixes * Update dynamic_client module and server core so that the functionality works. This has been broken since at least v2. * Fix crash in sqlippool due to escaping changes. Patch from Nathan Ward. Fixes #2532, #2533. * Fix systemd notify, watchdog and unit files. Fixes #2541, #2499. * Fix erroneous length check in EAP-FAST. * Update documentation to remove old "ignore_null" configuration. Fixes #2578. * Fix default POD port. Should be 3799. Fixes #2591 * Correctly encode vendor-specific "encrypted" attributes. Fixes #2600- reformat changelog mostly by wrapping lines - add missing bug numbers for security fixes- update to 3.0.18 * cleanup_delay can now be 30 seconds. This helps with proxies that have packet loss. * Do-Not-Respond policies can now be set in the "post-auth" section. * Encode / Decode ADSL Forum DHCP options. * Fix module ordering issues. e.g. when "sqlippool" needs "sql". See the "instantiate" section of radiusd.conf. * Add Big Switch dictionary. Fixes #2252. * Add sql_session_start policy (raddb/policy.d/accounting) This minimizes race conditions when using Simultaneous-Use (#2257). * For rlm_perl, all variables are now tainted by default. See raddb/mods-available/perl, and the "perl_flags" configuration item. This change should only affect people who are using variables in insecure ways. * Allow "sqlcounter" module to be listed in "post-auth". * Add support for IPv6 attributes in SQL. Fixes #2280 * The server is better at handling fail-over for outbound RadSec and TCP connections. Fixes #2284. * The server is now more aggressive about retrying failed outbound RadSec and TCP connections. Fixes #2284. * Add TLS-Session-Version and TLS-Session-Cipher-Suite to the "session_state" list. * Add expansion for Radsec connections. "%{listen:TLS-...}" for TLS-Client-Cert-* and TLS-Cert-* attributes. * Add notes on running "ldapsearch" using the parameters from the LDAP module. * "ipaddr" attributes can now be cast to "integer" type attributes in an "update" section. * Move main thread queue to using atomic queues. This should help with contention in high load scenarios. * Add "recv_buff" setting to listeners. For more details, see sites-available/default. * The sqlippool module can now use attributes other than "Pool-Name" to assign IP pools. The "Pool-Name" attribute is still the default. * The "unpack" expansion can now unpack substrings. See mods-available/unpack for documentation and examples. * The preprocess module now does "ciscvo_vsa_hack" for Eltex-AVPair Fixes #2301. Vendors SHOULD NOT USE THAT KIND OF ATTRIBUTE. * Allow for -LDAP-UserDN. See mods-available/ldap for more information. * Add sanitizing of control list for moonshot. Fixes #2318. * Update rlm_sql_mysql to be compatible with MySQL 8 Fixes https://bugs.launchpad.net/bugs/1795310. * Allow logging of only Access-Accept or Access-Reject messages See radiusd.conf, "auth_accept" and "auth_reject". * Removed Connect-Rate comparison. It was unused and broken. * Add dictionary.infinera. * Use OpenSSL HMAC functions instead of local ones. * Some SQL modules can now use "auto_escape" to escape unsafe strings See mods-config/sql/main/mysql/queries.conf. * Add wispr2date conversion in mods-available/date. * Implement dictionary-based handling in rlm_python. Fixes #2334 See mods-available/python for details. * Add support for SKIP LOCKED in sqlippool. This can improve performance by an order of magnitude or more. See raddb/mods-config/sql/ippool/*/queries.conf Fixes #2383 * Allow PSK and certificates at the same time Except for TLS 1.3 which does not support that. * Update docker scripts. Fixes #2306 Patch from Matthew Newton. * Add crypt xlat. * MySQL connections can now skip verifying the server certificate. Fixes #2481. See mods-available/sql. * Add better mechanism to detect MariaDB (Old MySQL). * Add RFC 7532 "bang path" support for realms Fixes #2492. * Update dictionary.ukerna documentation. Fixes #2493. * Add support for systemd service and watchdogs Fixes #2499. * Check for openss/rand.h, and allow building without OpenSSL engine. Patch from Eneas U de Queiroz Fixes #2517. * The default PosgtreSQL queries now use "ON CONFLICT" to better deal with issues. This requires PostgreSQL 9.5 or later. Please use a recent version of PostgreSQL, or edit the default queries to remove "ON CONFLICT". BUG FIXES * The session-state list is no longer cleaned in the inner-tunnel. This lets the outer Access-Reject section access session-state. * Fix typo in lock initialization for TLS sockets Found by Sergio NNX. * Add check for crash when home server down Fixes #2233. * Add username key for postauth table. * Better libpcap checks, when the header files or libraries are missing. Fixes #2245. * Allow building with old versions of OpenSSL Fixes #2247. * Allow non-FreeRADIUS State attributes to be used with the "session-state" list. i.e. State length != 16. * Be more aggressive about cleaning up zombie children when running in debug mode. * Use LTDL_DEEPBIND, which fixes issues with Oracle libraries exporting LDAP API functions. * unlock files when asked to unlock them. * return error instead of asserting in map code. * Don't write 0 bytes to SSL. Fixes #2270. * Remove "expiry_time IS NULL" from allocate_update query. Fixes #2262. * Various dictionary cleanups and consistency checks Fixes #2281. * rlm_python has stronger thread locking to prevent reported issues. Performance may be affected. * Don't allow Message-Authenticator to overflow past the end of a large packet. * Fix crash in sqlippool when SQL server goes away Fixes #2300. * Typos in man pages. Patch from Nikolai Kondrashov Fixes #2303. * Fix crash with CoA packets/ Fixes #2304. * Fix crash in rlm_exec with CoA. Fixes #2328. * Print errors while parsing the log config, and don't quit when deprecated log settings are found. * Fix DHCP encoder xlat so that it can be used with a list of attributes. It previously only encoded the first member of the list, and now encodes all members. * The "expr" module now skips more whitespace. * Remove internal FreeRADIUS-Response-Delay attributes from attr_filter Access-Reject. * Don't send junk to redis when maximum args reached. * Small updates to IPv6 for accounting schema Fixes #2364. * Fix OpenDirectory integration in rlm_mschap. * Fix slow memory leak with dynamic clients. * Don't artificially truncate debug output for long strings. * Fix memory leak in EAP-PWD. * Fix crash in "hints" file with Fall-Through = yes. * Fix crash / timer issues with many CoA packets. * Fix attr_filter so that it does not treat vendor attributes of number 26 as Vendor-Specific. * Fix reconnect correctly in rlm_sql_mysql. * Fix rlm_cache to properly use Cache-TTL < 0 Fixes #2485. * Fix rare occurance of bad xlat expansion. * Check for rare race condition when a proxy reply arrives too late.- install license as %license instead of documentation- also fix ownership of /var/log/radius in systemd unit- update to 3.0.17 Feature Improvements * Add CURLOPT_CAINFO. Patch from Nicolas C #2167. * "stats home server" now supports "src IPADDR", to specify home server also by source IP. Fixes #2169. * Add Dockerfiles for a selection of common systems. * Increase number of permitted file descriptors, for systems with many home servers. * Add TLS-Client-Cert-X509v3-Extended-Key-Usage-OIDs Patch from Isaac Boukris. Fixes #2205. * Update main READMEs. Patches from Matthew Newton. * Added dictionary.mimosa. Bug Fixes * Don't call post-proxy twice when proxying to a virtual server. Matthew Newton, #2161. * Use "raw" string value for shared secrets and dynamic clients It now parses strings with backslashes and "special characters" correctly. Fixes #2168. * Fix RuntimeDirectory for RedHat, from Alan Buxey. * Relax checks in 'if' parser from Isaac Bourkis. * Minor cleanups for %{debug_attr:&request} from Isaac Boukris. * Be more aggressive about cleaning up cached certificate attributes, due to deficiencies in OpenSSL. Reported by Nicolas Reich. * Be more accepting when parsing IPv6 addresses. Bug noted by Klara Mall. * Fix double free in rlm_sql. Fixes #2180. * rlm_detail now writes empty Access-Accept packets. * rlm_python can now create tagged attributes. * Don't crash on duplicate realm + authhost / accthost * Allow partial certificate chain to trusted CA. Fixes #2162. * Treat SSL_read() returning zero as error. Fixes #2164. * detail writer now checks if the file was renamed or deleted. * Add User-Name to Access-Accept if EAP-Message exists, not Stripped-User-Name. * RedHat Systemd updates. Fixes #2184. * Use correct API for State variable in rlm_securid. * Remove broken radclient option "-i". * Fix "users" file (and hints, etc). So that it does not get confused about entry ordering with multiple $INCLUDEs. * Fix rlm_sql to expand the un-escaped string, not the raw string. * Link default and inner-tunnel only if they exist. Fixes #2206. * Don't use both IP_PKTINFO and IP_SENDSRCADDR. * Always install signal handler for SIGINT (needed by Docker). * Fix intermediate CA flow for OCSP. Fixes #2160 Intermediate certs which are not self-signed will now be checked. * sqlippool now returns "fail" if it fails IP allocation. * Fix rlm_yubikey to look for correct attribute in replay attack check.- update to 3.0.16 Feature improvements * rlm_python now supports multiple lists. From #2031. * Add trust router re-keying. From #2007. * Add support for Samba / AD LDAP schema. See doc/schemas/ldap/samba/README.txt and doc/schemas/ldap/samba/ * Add "tls_min_version" and "tls_max_version" to EAP module for Debian OpenSSL issues. * Better documentation for client certificates in PEAP and TTLS: it usually doesn't work. Fixes #2068. * Distinguish login failure from AD unavailable. Fixes #2069. * Update RH spec files. Fixes #2070. * Run Post-Proxy-Type if all home servers are dead. Fixes #2072. * Print offending IP addresses when EAP sessions come from two upstream home servers, and rate-limit the messages. * Minor packaging updates. * Better documentation for rlm_rest. * EAP-FAST now has it's own "cipher_list", so that it is easier to configure. * EAP-FAST now forcibly disables TLS1.2, until such time as we implement the new keying mechanism from TLS1.2. * Add documentation for allow_expired_crl. * Update Debian logrotation. #2093 and #2101. * DHCP relay can now drop responses. #2095. * rlm_sqlippool can now assign Delegated-IPv6-Prefix. It also now can assign any IPv4 or IPv6 address. Based on patches from maximumG. #2094. See raddb/mods-available/sqlippool for changes. * radeapclient can now use EAP-SIM-Ki to dynamically create the necessary triplets. * Explain why many LDAP connections are closed. Fixes #1969. * Debian build / package issues fixed by Matthew Newton. * dictionary.patton updates from Brice Schaffner. Fixes #2137. * Added scripts to build "inner-server.pem", and updated mods-config/inner-eap and certs/README to match. * Added provisions for using an external CA. See raddb/certs/ * Include dhcpclient binary in freeradius-dhcp debian packge. Bug fixes * Bind the lifetime of program name and python path to the module FR-AD-002 (redone) * Pass correct statement length into sqlite3_prepare[_v2] FR-AD-003 (redone) * Allow 100-Continue responses with additional headers in rlm_rest. * fix corner case where detail files were not being locked correctly. * Fix (SQL-Group == "%{...}") checks, and same for LDAP-Group. Fixes #1947 * Clean up exfile code. Which should help to avoid issues with reading / writing 100's of detail files. * Fix build for winbind. Patch from Alex Clouter. * Fix checkrad for Mikrotik. Patch from Muchael Ducharme. * Fix home server stats lookup. Patch from Phil Mayers. * Add libjson-c3 as an optional dependency. * Require LTB OpenLDAP on CentOS / Redhat, to avoid linking against NSS, which breaks the server. Fixes #2040. * rlm_python fixes. Fixes #2041 * Typos in "man" pages. Fixes #2045 * Expand "next" in %{%{...}:-%{...}}. Fixes #2048 * Don't add TLS attributes twice. Fixes #2050. * Fix memory allocation in rlm_rest. Fixes #2051. * Update trustrouter for new API. Fixes #2059. * Fix SQLite issues on FreeBSD. Fixes #2060 * Don't do debug logging of bad passwords. Fixes #2064. (bsc#1099802) * More graceful handling of "die" in rlm_perl. Fixes #2073. * Fix occasional crash when using cisco_accounting_username_bug = yes * EAP-FAST fixes from Isaac Boukris. [#2078], #2076, and #2082, #2126. * DHCP fixes, relay, #2092, add run-time check, #2028 * Decode multiple RADIUS packets at a time in highly loaded RadSec connections. Patch from Jan Tomasek. #2106. * TunnelPassword is not "single value" in LDAP schema. Fixes #2061. * sql log now opens the expanded filename, not the input one. This was a regression introduced in 3.0.15. * Remove unnecessary UNIQUE constrain in Oracle schemas. * Fix SSL thread and locking issues when modules also use SSL. Fixes #2125 and #2129. * Re-add dhcpclient "raw packet" changes. Patches from Nicolas Chaigne and Matthew Newton. Fixes #2155.- Fix permissions of radiusd.service (bnc#1053654)- bsc#1055679 - freeradius-server does not provide winbind/AD auth Added libwbclient-devel as buildrequires- update to 3.0.15 with security fixes for issues found via fuzzing by Guido Vranken (bsc#1049086) https://freeradius.org/security/fuzzer-2017.html * CVE-2017-10978: FR-GV-201 (v2,v3) Read / write overflow in make_secret() * CVE-2017-10983: FR-GV-206 (v2,v3) DHCP - Read overflow when decoding option 63 * CVE-2017-10984: FR-GV-301 (v3) Write overflow in data2vp_wimax() * CVE-2017-10985: FR-GV-302 (v3) Infinite loop and memory exhaustion with 'concat' attributes * CVE-2017-10986: FR-GV-303 (v3) DHCP - Infinite read in dhcp_attr2vp() * CVE-2017-10987: FR-GV-304 (v3) DHCP - Buffer over-read in fr_dhcp_decode_suboptions() * CVE-2017-10988: FR-GV-305 (v3) Decode 'signed' attributes correctly * FR-AD-002 (v3) String lifetime issues in rlm_python * FR-AD-003 (v3) Incorrect statement length passed into sqlite3_prepare- update to 3.0.14 (still FATE#322416) Feature improvements * Enforce TLS client certificate expiration on session resumption, and Session-Timeout. See CVE-2017-9148 (bnc#1041445) * Updated dictionary.cisco.vpn3000, dictionary.patton * Added dictionary.dellemc * Lowered the log output for failed PEAP sessions. * ALlow utc in rlm_date. * The internal OpenSSL session cache has been disabled. Please see mods-available/eap * Update detail reader documentation. * Make outgoing RadSec connections non-blocking. * Add SQL backing to Moonshot-*-TargetedId generation. Bug Fixes * radtest uses Cleartext-Password for EAP, not User-Password. * Update documentation for mods-enabled/ linking. * Enhanced checks for moonshot salt. * Allow session resumption for RadSec connections. * Update "huntgroups" file to note that port ranges are not supported * Fix OpenSSL permissions issues on default key files. * Certificates are not required when PSK is used. * Allow SubjectAltName as first extension in cert. * Fixed talloc issue with TLS session resumption. * "&Attr-26 := 0x01" now produces useful error messages. * Handle connection error in rlm_ldap_cacheable_groupobj. * Fix endian issues in DHCP. * Multiple minor fixes for Coverity complaints. * Handle unexpected regex. * Fix minor issues in dictionaries. * Fix typos and grammar. Patches from Alan Buxey. * Fix erroneous VP creation in rlm_preproces. * Fix MIB. Patch from Jeff Gehlbach. * Trust router updates from Alejandro Perez. * Allow build with LibreSSL. * Use correct packet for channel bindings. * Many fixes found by PVS-Studio. Thanks to PVS-Studio for giving us a test license. Please see the git commit history for more info. * Fix incorrect length check in EAP-PWD. This may be exploitable. * Stop rotating session database files (radutmp, radwtmp) since these are not logfiles. - freeradius-server-radiusd-logrotate.patch: updated- removed obsolete freeradius-server-fix-cert-bootstrap.patch because recent /etc/raddb/certs/bootstrap simply works - update to 3.0.13 (still FATE#322416) Feature improvements * Add dictionary.rfc7930. Note that we do not implement the RFC. * Added 'cipher_server_preference' to mods-available/eap Patch from #1797. * OpenSSL 1.1.0 compatibility fixes. * rlm_perl: radiusd::xlat to evaluate xlat string within perl script * Allow authentication retry in winbind. Patch from Herwin Weststrate. See raddb/mods-available/mschap. * Added "recv-coa" method to rlm_rest. It behaves the same as "authorize". * Document Trust Router tr_port option. Patch from Stefan Paetow. * Update elasticsearch/logstash examples so that they work with elastic stack v5. Patch from Matthew Newton. * Print information about packets, replies, and contents in the detail file reader. * Update abfab-tr policy. Pull request #1893 from Stefan Paetow. * Reject packets which contain User-Password and EAP-Message. * Add example for filtering Access-Challenge. See sites-enabled/default. * Pull symlink fixes from v4.0.x. Fixes #1859. * Add systemd reload. Not everything is reloaded, but some is. Fixes #1662. * Better documentation for listen "ipaddr". Fixes #1921 * Add dictionary.cnergee, updated dictionary.nomadix. * radclient no longer needs -x to print statistics with -s. Bug fixes * Minor typos. Fixes #1763 * Fix typo in RPM build. Closes #1767. * rlm_mschap check for password expiry only if password was correct. Fixes #1762. * Update debian build. * update rlm_counter "man" page. Fixes #1775. * Remove erroneous assert. Fixes #1778. * fix mschap password change test. Fixes #1792. * Cleanup config file on data remove. Fixes #1795. * passwd module returns "notfound" if not found. * Check for old OpenSSL, and don't build rlm_eap_fast if it necessary. Fixes #1803 * Cleanup memory better after ldap version query. Patch from Aleksey Katargin. * Rename lt_* functions to avoid linker issues with libtool. Fixes #1277 * Many miscellaneous fixes and typos. * Allow long strings in %{%{foo} bar:-%{baz} blah". Fixes #1866 * Fix filtering operators, along with more documentation and more tests for them. * Fix OpenSSL fixes. Fixes #1876. * Finish SQL select queries even when SELECT returns no rows. Fixes #1879. * Set Module-Failure-Message for more EAP errors. * Correct typo in dictionary.rfc5580. Fixes #1882 * Remove obselete systemd syslog.target. * Client-Port-Balance load-balancing now uses client port. * Radrelay examples fixed from Alex Clouter. * Update systemd target. Pull request #1896. * Trim starting whitespace in xlat strings. * Get MySQL result lengths using normal API. * suid down after fchown(). Fixes #1914. * Fix cases of comparing pointer to NUL character. Fixes #1915. * OpenSSL v1.1 fixes. Pull request #1921. * Better Handle v4/v6 host names. Pull request #1919. * Remove "Auth-Type = System" from docs and examples. * Don't crash on malformed %{home_server}. Fixes #1922 * fix erroneous use of talloc destructor in rlm_eap * Issue trigger modules.sql.fail. Fixes #1923 * Document python_path gotcha's. Fixes #1845 * dlopen() the specific version of Python. Fixes #1592- Don't require insserv if we use systemd - Remove require for unused fillup- Merge changes from SLE to openSUSE (FATE#322416): * freeradius-server-radclient-init-error-buffer.patch - make sure we initialize error buffer. bsc#911886: radclient error free() invalid pointer * freeradius-server-opensslversion.patch: remove OpenSSL version check and assume we know what we are doing. (bnc#1013311) * merge .changes file, mostly. - do not attempt to detect "vulnerable" OpenSSL versions. SUSE security fixes do not necessarily bump version numbers as does upstream OpenSSL (bnc#1021375) - do not generate certificates in %post. End-user needs to do this manually. - keep FreeTDS disabled on SLE12 - we never shipped it enabled - require OpenSSL 1.0+ - use pkgconfig(systemd) instead of plain systemd as BuildRequires - don't list manual pages as %doc- Remove --with-pic which is for static libs only. - Use SUSE RPM group names. Trim filler words from description. - Do not hide errors from groupadd/useradd.- Add upstream keyring - 2 new modules: rlm_sql_freetds and rlm_eap_fast- update to 3.0.12 - still fate#320481 The focus of this release is stability. * Feature improvements + Add support for =~ and !~ in update sections. See "man unlang" + Add dictionary.checkpoint. + Simultaneous-Use prints out more information. + Print WARNING in debug mode when packets may be truncated. + Added expansions %{home_server:state} and %{home_server_pool:state}, which show the state of the server / pool. + Mark rlm_sql_freetds as stable. + Make rlm_perl less fragile. Patch from Herwin Weststrate. + Allow extended attributes to have "encrypt=2" + Update dictionary.aruba. + Add support for EAP-FAST. This is an isolated feature which does not affect anything else. + Update OpenSSL vulnerability list. Use a version of OpenSSL released after September 20, 2016. + EAP certificate verification is now done when "verify" is enabled and "ocsp" is disabled. + New dhcpclient and rlm_rad_counter man pages. + Minor abfab and moonshot additions. + Pass CFLAGS through from environment in RPM builds. Allows more custom builds. + Build with Heimdal in addtion to libkrb5. * Bug Fixes + Use correct typedef for older versions of sqlite. + Update mssql schema to add priority + don't complain on /dev/urandom in ldap + fix == operator in update sections + Don't create DHCP strings with many trailing zeros. + Allow MS-CHAP change passwords instead of complaining on large buffer. + Allow assignment or equality operator on SQL. + Update aclocal tests for FreeBSD 10. + Remove occasional hang in rlm_linelog. + Copy VSAs to inner tunnel for TTLS and PEAP. Fixes #1544 + A few minor bugfixes caught in v3.1.x cleanup, and back-ported to v3.0.x. + do_not_respond again works in post-proxy + Allow realm "~^.*$" {} and User-Name with no realm. + Fix leak when creating unknown attributes + Fix Debian / logrotate. + Make OpenSSL error functions thread-safe. + Fix crash with rlm_sql and updating SQL-User-Name. + Debian build updates. + Allow regular expression comparisons in radclient. + Fix memory leak on unknown attributes in detail file reader. + Update example paths in "man" pages when installing them + Build fixes for rlm_mschap. Fixes #1489. + BSD build fixes. Patch from issue #1583. + Be more careful about /lib/ when building. Fixes #1585. + Correct ifdef placement error. Fixes #1572. + Allow for more files in internal "exfile" API So it will be possible to open more than 64 "detail" files at the same time. + Remove support for statically built EAP modules. Fixes #1591. + Many fixes to rlm_python from Guillaume Pannatier. + Use correct week adjustment in SQLcounter. Fixes #1608 + Minor fixes to allow compilation without DHCP, VMPS, or TCP. + Fix checks for module / config file change on HUP. + Compile regex comparisons when sent via "debug condition". + Update filenames in documentation and examples. + Don't crash if SQL connection becomes unavailable. + Disallow originate_coa when proxy_requests = no. + Free rad_perlconf_hv in correct perl context. + Multiple fixes for Debian builds. #1510, among others. + Set OpenSSL FIPS compatibility flag when necessary. + Pulled fixes for the build system over from other branches. + Fix OCSP for RADIUS over TLS. + Fix skip_if_ocsp_ok behavior. + Better fixes for systems without closefrom() but which have /proc. + Minor build fixes back-ported from v4.0.x. + build --whout-ascend-binary. Fixes #1761. + Be more aggressive about not opening new connections in debug mode after CTRL-C. Address #1604.- use %{with} macro for conditional inclusions instead of hardcoding version numbers - improved package descriptions - fixed builds on SLE12 and SLE11SP4- removed installation of experimental module rlm_sqlhpwippool.so - update to 3.0.11 (fate#320481, bsc#961479, CVE-2015-8763, bsc#935573, CVE-2015-4680) * Changes of version 3.0.11 + Feature improvements - "unlang" comparisons of IP addresses to IP prefixes are now detected, and types automatically cast. - Allow shorthand form of ipv4prefix values e.g. 127/8. - Add "auto_chain" to raddb/mods-available/eap, tls subsection. This allows the disabling of OpenSSL auto-chaining of certificates. Which might be wrong. - Added printing of coa and disconnect stats (radmin). - radclient defaults to expecting Access-Accept responses to Status-Server. - Updated dictionary.lancom, dictionary.starent. - Portability fixes for Solaris. - More errors from ntlm_auth gets passed to MS-CHAP. - Update abfab-tr-idp virtual server. - Added "filter_password" in policy.d/filter. This removes embedded zero bytes in User-Password, for compatibility with broken clients. - The server now issues a WARNING message if duplicate configuration items are found. - TLS can skip the "verify" section if OCSP returns OK. See raddb/mods-available/eap, "skip_if_ocsp_ok". - Set TLS-OCSP-Cert-Valid = yes / no / skipped, which is the result from the OCSP check. - Interoperate with AD and "LmCompatibiltyLevel = 5", by always setting WBC_MSV1_0_ALLOW_MSVCHAPV2 for native winbind in rlm_mschap. - TTLS and PEAP now require "virtual_server" to be a real server. - Print WARNING when TTLS or PEAP identities are spoofed or not properly anonymized. See RFC 7542 for requirements. - Various rlm_python fixes from Herwin Weststrate. - Allow setting Response-Packet-Type in "Post-Proxy-Type Fail", which is useful when the home server does not respond. - elasticsearch updates from Matthew Newton + Bug Fixes - Fix issue where field nas_type would not be accessible via the %{client:} xlat, for clients loaded from SQL. - Fix compatiblity issues with OpenSSL 1.0.2. Ignore calls to msg_callback with 'pseudo' content types. - Data type "ipv4prefix" is parsed correctly. - Use correct talloc context in rlm_exec. Fixes #1338. - Complain in unlang if "else" is used with no previous "if" or "elsif". - Send accounting status packets to the accounting port. Fixes #1364. - Print out CFLAGS when doing "radiusd -Xxv" - Fixed bug with coa/acct stats value #1339. Based on patch from Jorge Pereira. - Fixes for LEAP proxying. Don't use LEAP! - Fix issue with "directory already exists" seen when doing "make install". - Fixed bug with radmin related to the option "stats detail " - Complain if the detail file reader does not have permission to read the "detail.work" file. Fixes #1398 - Fixed SoH. Attributes were not being copied to the virtual server. - Used a wrong list to global statistics in "stats". - Create EAP-PWD identity correctly. Prevents segfaults. - Dynamically validate authentication types for PEAP and EAP-MSCHAPv2. - Fix includes in installed headers. - OpenSSL 1.0.1f and 1.0.1g do NOT calculate TLS 1.2 keys correctly. See raddb/mods-available/eap, "disable_tlsv1_2" - Allow password change to work for MS-CHAP. This requires 'r=0', because password changes are not retries. - Fix home server fail-over for home servers using TCP and/or RadSec. - Special characters in expanded regexes are now escaped e.g. User-Name containing '.', and comparing /%{User-Name}/, the '.' will now be escaped. See src/tests/keywords/regex-escape. - Use correct authentication vector when sending Access-Reject replies for RadSec. - Set FreeRADIUS-Proxied-To in TTLS again. You should use the "inner-tunnel" virtual server, instead of relying on this attribute. - Fix debugging constants in rlm_perl. Patch from Herwin Weststrate. - Add samba-dev / samba4-dev to debian builds so that rlm_mschap can automatically use the new winbind API. - Automatically skip zero-length attributes when sending packets, instead of erroring out.- fix bsc#951404 * Rebuild of freeradius-server package fails * fix source url - ftp://ftp.freeradius.org/pub/freeradius/ + ftp://ftp.freeradius.org/pub/freeradius/old/- update to 3.0.10 * Changes of version 3.0.10 + Feature improvements - Do more optimization of unlang policies. This makes run-time a bit faster. - Re-name most of the functions in src/lib. Third-party module authors will have to do the same. - More documentation on contributing and how to write modules. - Update radiusd.service for systemd. - Open IPv6 proxy socket if the server is listening on IPV6 auth / acct / coa packets. - Create debian packages for DHCP. Fixes #1125. - Add more tests for "update" section parsing. - Update "man" pages. - Update attributes for Alcatel 7750 - Add dictionary for Boingo Wi-Fi - Add support for DHCP lease queries. See raddb/sites-available/dhcp - On HUP, check all modules for config files which have changed. And only re-load those modules. - Allow FreeRADIUS-Response-Delay(-USec) to be set for RADIUS packets. Patch from Herwin Weststrate. - Documentation fixes from Alan Buxey and Matthew Newton. - Update "logrotate" script. - Added more RFCs to doc/rfc for new standards implemented by FreeRADIUS. - Don't crash when doing "radmin -e "help hup". Patch from Matthew Newton. - The dictionary parser now does more sanity checks, which prevents run-time problems with invalid attributes. - Update debian packages. Patches from Christopher Hoskin. - Many other debian packaging fixes from Matthew Netwon and Herwin Weststrate. - Add "session-state" to Perl. Patch from Herwin Weststrate. + Bug Fixes - Fix rlm_files so that there are no collisions when loading 10's of 1000's of users. - Fix radclient to use our internal v4/v6 parsing functions. v6 addresses with ports now work correctly. - Fix sending/receiving packet messages to wrap v6 addresses in square brackets '[]'. - Check for sasl/sasl.h when building rlm_ldap, and disable SASL functionality if unavailable. - Fix issue which caused a non \0 terminated buffer to be assigned to attributes if the value being assigned contained an invalid escape sequence. - Fix deadlock when reconnecting connections in the connection pool. - Fix potential overrun in functions that used fr_utf8_char with a non nul terminated buffer. - Fix decoding issue for Tunnel-Password type attributes which were very long. Found by Denis Andzakovic. - Fix radclient issue with TCP sockets on FreeBSD. - The server now creates ${run_dir} and ${logdir} directories in daemon mode, when running as "root". - Handle tags when using maps. Fixes #1191. - Fix crash when CoA packets time out. - Fix parse error in rediswho - Fix regex support in SQL radcheck the "users" file and radsniff. - Register listen xlat earlier, so that it's available when the virtual servers are being parsed. - Parse Ascend-Data-Filter when given as "0x..." - Print Ascend-Data-Filter correctly. Add test cases for both. - Allow old-style clients again. They will be disallowed for 3.1.0 and following. - Complain instead of crash when "else" and "elsif" are in the wrong place. - Clean up memory more aggressively. This lowers the maximum memory used, most typically for TLS based EAP methods. - Prevent the server from unlinking the control socket of an already running instance. - Fallback to using the configured OCSP URL if one exists, and no URL is provided in the certificate. - Return CoA-NAK if proxying CoA fails. Based on patch from Jorge Pereira. - Lower peak memory usage by decreasing size of internal memory pools. - The control socket is now left in place if a second copy of the server is accidentally started. - Allow virtual attributes in "switch", "case", etc. Fixes [#1240] and #1265. - Many spell check / typo fixes in comments and example configuration files. - Better handle multiple DHCP listeners. - Don't print secrets for old-style realms. Fixes #1267. - Don't fall through in empty "case" statements. Fixes #1274. - Update EAP-TTLS so that MPPE keys are correctly calculated with TLSv1.2. - Always delete MS-MPPE-* from the TTLS inner tunnel. This allows TTLS / EAP-MSCHAPv2 to work. Fixes #1206. - Fix off by one error that caused some MSCHAP-Error messages to be sent without the password change version (V=3) and the textual message component (M=). - Always include C= V= and M= in MSCHAPv2 errors. RFC 2759 does not say that any of these fields are optional, and not including V= caused errors with wpa_supplicant. - Do not include M= in MSCHAPv1 errors. It's not supported.- Fix boo#912714: freeradius can't use ntlm_auth * Create winbind group * Add radiusd to winbind group- Remove gpg signature file * The gpg signature checking is broken and doesn't work- Fix bsc#935573: Insufficent CRL application for intermediate certificates * CVE-2015-4680 * freeradius-server-CVE-2015-4680.patch based on https://github.com/FreeRADIUS/freeradius-server/commit/a03814af310bb3bee74ea012546d99c48b0ea5c3- update to 3.0.9 * Changes of version 3.0.9 + Feature improvements - Make "pool" configurations more consistent, and update documentation for them. - Move connection pool logic to "most recently started", instead of MRU. This should help with pool stability. - More VSAs for 3GPP2 - Added examples of multi-value attributes to rlm_perl. - LDAP-Group and SQL-Group attributes are now dynamically allocated. - Only the "sql" module registers SQL-Group. Other instances register "instance-name-SQL-Group", similarly to "ldap". - Unknown attributes are now complained about more often when used in unlang statements. e.g. if (Foo-Bar == 3) used to be a string to string comparison. It is now a parse error. - Rename RLM_COMPONENT_* to MOD_* in the code. This makes many things easier. - Move to C99 initializers for modules. - Load modules in raddb/mods-enabled. This allows attributes like "LDAP-Group" to be used in the "files" module, without explicit ordering or listing in "instantiate". - Added 'bootstrap' section to modules. Third-party modules will need to be updated. - When adding clients from a DB, add them to a virtual server if that virtual server has a "listen" section. Otherwise, add the clients to the global list. - When reading dynamic clients from a file, don't expire them if the underlying file is unchanged. - Allow the server to originate CoA requests from the post-auth stage. - The server creates ${run_dir} and ${logdir} in daemon mode, if they do not already exist. - Add dictionary for Wi-Fi Alliance Hotspot 2.0. The server now supports all mandatory and optional attributes for this specification. - HUP now re-loads the configuration only if the files have changed. If all files are unchanged, HUP re-opens the log file, and does nothing else. - Much better debug messages for EAP-TLS, including which attributes are cached, and when they are retrieved. - Increase default max_requests to 16384. Memory is cheap now. - Added "stats memory" commands to radmin. Debug build only. - Aptilo controller dictionary updates. - SQL modules now use Acct-Unique-Session-Id everywhere. - The redis modules are now stable. - The LDAP module now supports SASL "interactive bind" method. This allows Kerberos based administrator and user binds. - DHCP code is now in libfreeradius-dhcp. - More DHCP encoding / decoding unit tests. - rlm_replicate can now be listed in the "accounting" section. - Better sqlite debugging output. - Remove "required" option from many sql_ippool directives. - Set default CA "basic constraints" to "critical". Fixes #1073 - Updates to help / man pages from Jorge Pereira. - Added more tests. + Bug Fixes - Be more careful about unused config item warnings when using -Xx. - Move more defines to be auto-generated. - Allow virtual servers in proxy fallback. - Allow %{module:} to work. - Don't crash in RadSec. Closes #980. - Return better errors when a unix group / user is not found. - Re-enable detail module "locking" parameter. - Don't crash when logging replies from Status-Server packets. - The couchbase module now uses "update" instead of "map", for consistent with the rest of the server. See raddb/mods-available/couchbase - Don't require NT-Password for MS-CHAP password changes. - Be a bit more careful about decrypting MS-CHAP-MPPE-Key attributes. Closes #1013. There is no perfect fix, tho. - Fix security issues with EAP-PWD. See http://freeradius.org/security.html#eap-pwd-2015 - Fix dynamic clients read from SQL in non-debug mode - MS-CHAP now allows retries (i.e. password change) when passwords are expired. - Allow "user=radiusd" when the server is already user "radiusd" - suid up/down works on non-Linux systems. This means that the control socket should have the correct ownership. - Fix issue which caused the server to sometimes have problems when a home server was marked zombie. - Fix format.pl because Perl is now more picky. - Fix proxy to Packet-Dst-IP-Address, so that it uses the correct destination port. - Fix corner case with cursor functions and removal. - OpenDirectory fixes and documentation. - Fix leaks in rlm_redis. - RFC 6929 "evs" attributes are now encoded / decoded properly. - Fix talloc pool leaks when receiving malformed or retransmitted Accounting/CoA requests. - Printed attributes again use double quotes instead of single quotes. - Set X509_V_FLAG_CRL_CHECK_ALL, and add "check_all_crl" to eap.conf. Fixes oCert CVE-2015-4680. - rlm_expr now errors out correctly on malformed attribute references instead of triggering an assert. - Make "break" work in "foreach" loops - Allow dynamic expansions to work again in the "hints" file. - Correct minor typos in comments and examples from Alan Buxy. - Re-urlencode the path portion of ldapi:// urls before passing it to ldap_initialise. - freeradius-server-rlm_sql_unixodbc-configure.patch removes hard-coded directory in configure script of rlm_sql_unixodbc - install new module rlm_sqlhpwippool.so- minor adjustments/cleanup of spec and changes- update to 3.0.8 * Changes of version 3.0.8 + Feature improvements - Allow syslog_severity to be set in rlm_linelog. - Allow defaults to be set for bulk clients in LDAP and couchbase. - Updates to dhcpclient. Patches from Nicolas C. - rlm_mschap now supports direct connections to winbind, which is faster than ntlm_auth. See raddb/mods-available/mschap. Patch from Matthew Newton. - Recommend /dev/urandom for TLS randomness, instead of ${certdir}/random - Allow TLSv1 to be disabled via "disable_tlsv1" in tls{}. - Allow Expanded EAP types where vendor is 0 (IETF) and type is normal EAP type. Supplicants sending Expanded EAP types like this are broken. - Add support for server side sort controls when searching for user objects in rlm_ldap. + Bug Fixes - Don't complain about "authorize" in "server {}" blocks, but only if there's no "server" block. - Fix cosmetic issue where debug from the first packet read by a detail reader thread would be emited during config parsing. - Fix ASSERT on truncated detail packets. - Don't use main server log functions from within panic_action, as in the case of syslog this would cause deadlocks if the fault was triggered from within a malloc. - Fix issue in "switch" when "correct_escapes = false". Fixes #911. - Fix sqlcounter configuration to use "%%b" instead of "%b", otherwise the new syntax validation will fail. - Allow forward references in configuration items. Modules aren't always loaded in a sane order. - Fix more escaping issues. Closes #912. - Decode MAC addresses correctly for VMPS. - Fix memory leak with TLS connections. - Fix state machine threading issues for conflicting packets. - Fix copy_request_to_tunnel issues for tagged attributes. - Allow "ok" to over-ride "updated" inside of Auth-Type sections. - Update state machine so that post-proxy is run though child threads for performance, instead of blocking the main thread. - Allow "netmask" to work again in client definitions. - Relax restrictions on SQL group queries. - track outgoing proxy sockets and clean them up more aggressively. - track proxy statistics, including CoA and Disconnect. - If radmin has a connection failure when running a command, it re-connects and runs the command again. - mark home servers "unknown" less aggressively. - Fix potential SEGV in PostgreSQL driver on error. - Fix issue where fields like nas_type would not be accessible via the %{client:} xlat, for dynamic clients. - Set default busy_timeout (of 200ms) in the sqlite driver, so writes don't cause selects to fail in multithreaded mode. This is user configurable, and may be increased if required. - Convert Password-With-Header attributes to binary (from hex or base64), in the authorize method of rlm_pap. - Fix invalid assert in state.c, that could cause abort in post-auth. - Fix double free when -m flag is used, and connection pools are referenced by multiple modules. - RADIUS over TLS accounting uses the same port as authentication. - Regularized return codes from radmin commands. - Fix RHEL spec file so it works correctly for Centos7 which uses systemd, and didn't like the SystemV init script. - radwho and radlast now have a -D option to load dictionaries - DHCP packets are no longer checked for duplicates. - Don't crash in sql module group comparisons in corner case. - Calculate MPPE keys correctly when using TLS 1.2. - Fix load-balance sections. Closes #945 - TLS certificates are available again in the post-auth section. They are not available for session resumption. - radclient encodes CHAP-Password properly when using -c Closes #955. - Fix issue in rlm_cache_memcached driver that caused variable length values to be truncated. - Fix track functionality in detail reader, so it no longer fails with a "Failed marking detail request as done: Bad file descriptor" error. - Actually add the peer identity (as User-Name) to the inner tunnel in EAP-PWD requests, so it's available for lookups. - Fixes to PostgreSQL queries. Patches from Santiago Gimeno. - new set of consolidated patch files: deleted: * freeradius-server-2.1.1-logrotate_su.patch * freeradius-server-2.1.6-rcradiusd.patch * freeradius-server-initscript-pidfile.patch * freeradius-server-radius-reload-logrotate.patch * freeradius-server-var_run.patch added: * freeradius-server-radiusd-logrotate.patch * freeradius-server-rcradiusd.patch * freeradius-server-tmpfiles.patch- Do not disable as-needed build - Remove the with_sysconfig switch and just stick with versions- update to 3.0.6 - fixes a segmentation fault in PEAP module (bnc#912588) Feature improvements: * radmin / raddebug conditional errors are printed to the output, instead of being discarded. * raddebug will exit if condition set with -c was invalid. * radmin auto-reconnects if the connection to the server has gone away. * rlm_cache now has submodule support. See raddb/mods-available/cache * New memcached driver for rlm_cache. See raddb/mods-available/cache * Add support for &Attribute-Name[*] in conditions. See "man unlang" for details. * Add &Attribute-Name[n] which gets the last instance of an attribute e.g. Module-Failure-Message[n]. * Allow for redundant string expansions. See the "instantiate" section of radiusd.conf. * When checking IP addresses in conditions, make the right side be parsed as an IP prefix. * Support JIT compilation of compiled regular expressions when built with libpcre. * Support named capture groups with "%{regex:}" when built with libpcre. * Increase regular expression capture groups from 8 to 32. * Emit error markers for badly formed regular expressions. * Allow 'm' flag to enable multiline mode in regular expressions. * Support limited implicit attribute conversion in update sections. * Support casting between IPv6 and IPv4 where the IPv6 address has the v4/v6 mapping prefix (::ffff:).- Drop .keyring and .sig file: freeradius-server still uses MD5 signatures, which are no longer validated/accepted by GPG 2.1.- update to 3.0.5 Some of the new features: * Allow LDAP to specify arbitrary attributes for dynamic clients. * Allow one level of backslashes (finally). See radiusd.conf, "correct_escapes" setting. * When supported by OpenSSL, allow TLS 1.1 and TLS 1.2 in EAP methods. * Allow multiple new connections to be spawned simultaneously in the connection pool, to cope with spikes in traffic. * Use kqueue on systems which support it. This allows for better scaling when using many sockets. * Home server "response_window" can now take fractions of a second. See proxy.conf. * radmin now supports "show module status", as thee counterpart to "set module status" * "ipaddr" will now use v6 if no v4 address is present. You should use "ipv4addr" or "ipv6addr" to force v4/v6 addresses. * "client" sections will allow "ipaddr = 192.192.0/24". The old "netmask" is still accepted, but the new format is preferred. * Allow custom HTTP headers to be set for rlm_rest requests using control:REST-HTTP-Header (attributes consumed after use). * Extend format of %{rest:} expansion to allow HTTP method and POST data to be specified and urlquoting. * Add support for aliases in rlm_ldap. * Add support for connection pool sharing to all modules that use the connection pool (pool = ). * "tls" sections now have a "psk_query" configuration item, for dynamic queries to discover a key from a PSK identity. * Preliminary support for EAP channel bindings. * Foundational work for dynamic home servers. They do not yet work, but this is now only a matter of updating the "realm" module in a future release. * Support &attr[*] syntax to copy all instances of an attribute when used with the += operator in an update section. May be qualified with a tag. * The logintime and expiration modules can now be listed in the post-auth section. This makes some configurations simpler. * rlm_sqlippool is now IPV6 capable. Set "ipv6 = yes" to get Framed-IPv6-Prefix returned. The SQL queries have NOT been updated. Please submit patches. and numerous; bugfixes - remove gpg-offline - create /run/radiusd after install - drop freeradius-server-opensslversion.patch (upstream)- freeradius-server-opensslversion.patch: do not check the minor version of openssl, minor versions are supposed to be compatible. bnc#906682s390zp36 1670847524  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG3.0.21-150200.3.12.13.0.21-150200.3.12.1freeradiusattributes.hautoconf.hbase64.hbuild.hconf.hconffile.hdetail.hevent.hfeatures.hfreeradius.hhash.hheap.hlibradius.hmap.hmd4.hmd5.hmissing.hmodcall.hmodules.hpacket.hrad_assert.hradius.hradiusd.hradpaths.hradutmp.hrealms.hregex.hrfc2865.hrfc2866.hrfc2867.hrfc2868.hrfc2869.hrfc3162.hrfc3576.hrfc3580.hrfc4072.hrfc4372.hrfc4603.hrfc4675.hrfc4679.hrfc4818.hrfc4849.hrfc5090.hrfc5176.hrfc5447.hrfc5580.hrfc5607.hrfc5904.hrfc6519.hrfc6572.hrfc6677.hrfc6911.hrfc6929.hrfc6930.hrfc7055.hrfc7155.hrfc7268.hrfc7499.hrfc7930.hrfc8045.hrfc8559.hsha1.hstats.hsysutmp.htcp.hthreads.htls.htoken.hudpfromto.hvqp.h/usr/include//usr/include/freeradius/-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.suse.de/SUSE:Maintenance:27107/SUSE_SLE-15-SP2_Update/ea436a6cecae00bf250af9f8b03f03e5-freeradius-server.SUSE_SLE-15-SP2_Updatecpioxz5s390x-suse-linuxdirectoryASCII textC source, ASCII textɋoip*;qutf-8151f40ef6212b39bf5bed694988881baf955e290d97729855d9de8e9399eb9f0?P7zXZ !t/lo] crt:bLL qEnra3P-jEyJDEHit"|DyHQi)ыŚ+Vo/TЫ-H i9 P@Q7l3ic:Ű=Û6НTc)R"cCIW73hևJ{^"_iYG̷zcK\UιJ5kT3P^[ ɤ{h :t^7#/<Kn1W sjV\mWdD8q ƙtNe'd.v8›~%zzԐK\_3'L 񲢧!Gڛ{C#`tںOǟ'fYE v0+lh`c;EIBEȞU?R$djOwU7%~WԨ76}U 5uYoAX*؏Y%iN,$*4+/\<ù70T=`<)((^ H02\P~9{TF}Iʹ$DБlqQ?°a@/ȰwP"L5JF5j˂+CJl.f~ï@5@pB++JʌL?[D\m h$ɭ{#.s*m oXhd܍h(Z(.B+() iwE] C)y=#@;!=@r?FhĺlbilB2N-$L> ݅b|iMkC >?v ۛxF `Q#/`#?tMK%`,tKR/نrmԌi W2^{Cd.ǎb1r,LTq(olBHcD̵n*MJ t\gI>%9p}INwf;cpYGt4u(5LFv$?sA.M+ۜ?OUؽGd]OA>R0_)B6 #mׇStnsGp@0>f{8G^LA%Dޓ$TrT:ra-qe#y[a l'P,Zڈ(( Y\rvz J"bjJ.s ue7E"){bAxJuh %,^a_{MXA(Ljŀ9F,KZ sjI:6~SK;pQL)$Rg'rٔt0H`;ǁ3wz!˙Ybuolc&3ϓ@̞GG^nßR#%/2 咏Ęzs*FxTr%eJ6Lz}Ë׉psZk׏d s}|0Hd+|BD!b`cmtחԱ _8 7!h{QWO\Յe|?q!4Wk}U.uYct{9b}@`4iBW>nHDujE(em]<uDQ6P VYK=U& 5o@$ISJq mYc͆mg[va59@v) S +MKp0`E2ȀbDep<Gj ѼؓwKUz)cX᧷FNۻ\3`'4p*0N;J~[ ,[z2l%ZQb io_ +n|Y@G:dm !t?:Yʯ9/Ԩ$llL.%U͈Ξ&/{64, 荠C)iQz41xl?kwhPvuovǾ9Im \=H2*Eb]:DmH躩m=`D$7ҞfXCPG.PMrsdL't]'5z6`4`ϝhu 1Ŏ-VI!$hG2BdWۧY\ x 6(Zue\?(qZzSEv;J~٧c&y ;xSs]";D?zǁԛD9 +S;b4t–3H o70B3D3]N&9L9m . IߓbjR8 h +b,6̴$<,Ya1:*,(\ yvwۿAGw#/Dp_8rwN|4?A j 3,듕"`GJL+p \73@a|R$̻_4PoSNC5[)k\>*e~@*/GO퀖y7?!qƟa+z*O9.a },Bʇ(r  <&nQ>Ue4~e\3_\ےU-8Yi5> U_[<0|r~5i genM>&{3ے!6/7]wA,fާɍ%eWsO,fk* cxsjbO ;zqTo#&Ahj/ලFf|NH> %ߧ2nR pNGWBw\ZFZAnΟvi0Wʸb OIj|; ģJU}M6hMYxBэ0NK1 q:3&VžրKHbӡeaJ.QBY*m[_ɧdm+wA6c9GFry@6?WGF9!kpopن%#?~L/NߒiPOSM5!vn^"fsW<_-q scߞ IoTIcOL~0._K@N+ܐ@2PJ8C?dq&ǖ "cv;^ v{{ET5'A*xϯcr@ZI") ք:Ċ}[ho~b)ƟWG/jMVPw}%* 1ša| RNg59(4_`PG0L.Md ٗ ?rj[F|'y1z" ѕ A„]X ??Mk3JN>*O\:\?'jNӽD0bOL$`N eRZ>S~ܖ'e`0cN|>8wzI.K:x/`t\K$#eB9\l8iZ,O0W;l3G 7S5(Z{5 {Bݲf6"CHr5`ېCl:!h|m fA2cwo,`}zo1=|HUa rFr44ٽ1@MOx_{A$yВi4ݑqka^ ׎3A΅&&I7+q_uGVOƓ[+2_{uO+gi<2K>Zx!t/8sOmkƈ/A<4C)F7^73Sw &KPWL<ݩsmRo'WgAhDc{syϗN>ojID=g5B&wzA#DaTI V-IQt~QVKBmH3.TCN٪RZGW\ īirhn^4] e\ U5HS9ʿ7洒, ЬR7?$k>dH>)%܁-CJ87Ww4fL4/ɪJƿԜIppe+Fk/F?|TuJrD|+ZqGn0>'>0 ;1YKQ^xeD@m }z9KҪ7:|EҘp]W@v" zѿp@u!]3NV?Sg*g 3v]F"{T0pwݭ۾e%Nç R[0Sg(c"~t% >c!mJ _|[ ajSϷܤZ4=#>t MæM$7Q0Q_ (OQhF̎^*@2Y;1ˍ].5 ",Ȳ]"S:;#-\ir4Y#`k<]w8|K2\K+6*/=pWA80bsGA&PǨ>4D:)gA/5\d&`!(11^}p5ph,@sO0BQl*lc2XOtԢ#Kbp{P.AIϺ% Urx^xrpg)K1$}8J$b4d^+$v-|͸%]N41UI;:1LNz|OY~O}0#^d!mq(Qe yؼ5H^,):sjQ81g9C$*4۬`J8ǒ`":+!&hF *7! kfw(*rń4vX>_{+/ r<Åb eSk01 `w^bxXw\9ZI-:b^[Y;wX?Ohát^kWeMwp EAíLMї+/*(.J/Z1 7t5 /j}>W I:D8[o85/1hM'55X@Vk^6TSYî{C]~_u(=*XO֪ "w\X6˗AaX!_sHo\u6gj p t{"KXt:HH-ciO.^c_eo.9EWk H8F]XDm:n7 Մ2 7>vow$nNێ`-B^a/ 9%X5ټ/>vVUlPKo2ua%v`#9gYXBz0е2tB](z$yD,GSmthꖷ*lZ 55\!k'ת-C rGmI+gR%V 1O VySEZ={Q [l4 )Cw:YCZ׭* ־g Sj=?DnF%WNOC#L>9 wy" (Q 86JTIp( 8NDJVˌઊD 5tرXbaXb$F:ߪ`3StsڏW(᭵(ȝ=wGqYs_Zy+dHc`"DA{k9u7RHk]YHՁl&Ǔ>gKD`ͭ͞P݊-c[U%}SyR C 4M y~  40?d?˦H[C/πH5}h^av wFW_#sAr 36G[ȸ144'=;&g\ ?VZUxf;_ ml2qhbFi^vveY\T}.ԋ(I xK"[ϲ򲮥4 5WŒqV0!#Ny(DtSY0}_2 nM ]`^ qeIXq!pV*0tyd X;o3JQUR9y6D;SΊK_"6$:2@ K$֏tYFjtog$_iP̳~F^N\*D 1"߷H@{s"W`6cM u " ݘ,?V/sc5$cB;T!(%` :׽X5]%Bˁ8"!SN:^Z (r= eQ PXo1ō~xs\f$=U/`>#L?J0FəVf߽b!*!?{lHY.flh)GOd$$8858ѐ:ŻYPTYoqoӓx<1]U {heEl3~,-@I);d)4I,&43PV$X=?6CNs>/N 8B<.xU|Yұag V"8ڮt"5}jG?ptA[2X@<"䗔ڢ<<ڿi:\  ;OD }*!w?3ZA{^,UMtpVD$'awn%ܚLiʅ;}u"iU|,V-X烸 *w.+زy?Hn ];w+&':5O/ \n{їskXl28Չiƣ H-#MQ+@mQ\M&餒8  Jxa}e#uPIPSB#f*E"xckg~VĉxhF3z} ͢Dտ+y)J1'˚j##q_+COa %Cz}bu{Э?A}+tw3?-@f7Ҧ{D JRw$S*JN6ЬZzvQ( P\Ί!ca 3rbsdLO}$t[xhibp7#k_әd@ZGd-VBOdzemɡڝ@ P=bQ~ٳnCO,o K [ AުN aG ^N/pP+:}Tr9{z وIrGa4L(β<֤ jomPFtP'쿛Y:_Ъ^Ngav;V{F ]4{gA&H.3'VńZ[pk} .ibMcx>]yW~[:0-Q>eWP=Y=| 5ܥ92,M)Į3VSAi3iRTeɀyySŅaRG3cxL}R`:ʮ8ƟW:sU޾_zkrc~ gGD ;沬7 Fhu1r#2 ۔ڂbx6Jx)v waKUkǢu>E-zGћ$\O^j/Lȋ,ہ?%, mP|*d(ˎ0+K1CyH+EAVl218%tsk"ӀO4}_`}qhMA2ԏfWl;^_z>nR$Z1jX$wTQc]F. ˻$w3V5z;G ho[ i:頍9*KI i9So{L(R%=|hF, ,uDM["Lq6:MrG`a}ӌ{KlC!~ &MLv6^_PoT "$]]*Z ah siVZڒ)TIyYcɵCN?W^mEeI'םɜfEYBU}L֫}JzV w5y-(gnnh?p̽ORh@?6Ba>GQaJj1,pa݉4?z.S! ]E(Rbݦ ưЄj;nWA5墼ZSX,fמ(QmYO/,龝Yȓ\0o~xvD1*Fe@ѯyԋǿ(]0IqOhŏ~p<݉^CG$TzNk)wݯR-l@u;˫*9e 9U[` ٢ W-SgϿoTRbi"9K;C=AIr˒,@>$M V߄or΂GZ6|mґS}%ύlU ׄdM]ކX!4B|YU3h7|g~O(HR4|N9BF  Wny){/?. ig4lIn&f^k6Y ~0Kj[ֵ'rQGTCܚ&>6\PEFk+RF/Nb*HܥE`[SHbT?Ֆ"!f=륕BB_} ?eck궏a%73Eƥ́kV_/.'| 3GB h?-2_K0+h<1ݘh^*v :;)stLxZkiLNZ0,I]jf(>+H!#bcoJ IFWYվfF׳Fz n(붍$7Wcrdg^$8c6oV@0%\O !zf^`f8Aq+*D0H a-`yW%Y2yԘ$f_0{/)NbCy((΄xȑ_QU4 q_L*K`2 kPki]_= yjl{;'2(jy)ѐ=-$Tw 3Fٹt*MD+b49KҾ}4POPQXYL(\+<XB=ZoLg[k~7> ʵ0*P¢t${Q|Ye-9(׺I&57KQ|(*j nm/s$ז\@dkJf~Ƕ oɏ|j)bO  ю9BiP$r6d i 5`1q]|a3>d;ḃAա`\\׵ħ$hJꠎ:>UW>R&ܥ _kemta<[ڒ﷎4E1/Zg=*=$F\кt {r.G0}e^Ց~𲂻UQw=ICd_ , +/c{҅DG?z({l'1r ɏ}ɚZظ2ƞڅyPyIvŬrٸ||^n=Tp2j-W˂ 'O[ TЬo&42P:f3&[HYBmm#"l|%<qߴd U82&Hץ)"*m*= $ݎL>nk^A'/0uud&__*Q̟6 d^}OV@ŴR@a8n+Gώ;|v #QVO0=jJ v<ܟX|(Bc~%A?!h@'cH/J-J͈񋂥Ýt+` <:+[1s:f dRdtP7&({]bًG9:g~).Q8q~L2OVuڊ/ޝRL`h?@Pz&&Tccpaww&fT>3m1vQ;5$zVE?8PmJf /~jmd3#SYJY+`5j3ECƣnϤ}1*j_H<^.E>{'#Y8 M̹9eijeE HL`g9w'[_ébVp~Zat|AY<؆VYD&L0C lFVHk,czlrieFn ~; I5]+='cVQ5UW`;ְZ?Յ$vS]Gi5IJLPJh*a]!HapF*3G 碟OR< yDXxm3;l/Q?k609($ qQV e+kCY[:pԘ iuf;a΢>MZr+'N Kd>b *Z7_gmxANo6{xi&U:81=q׵?ᤛ pbW,c)2򙸬 UEzx{ #r'+ǁ"* רЗ{a >xZX.߯/\o,&u\D;BCdF8"; :9jU@c]_M71.2 ۳7mMiLKģ௻!#_/"RD8%#u,AXUgDkҌQ5Jf8`o FaA:Ѡ5'C$en>+CIhWXp: DŽ{7y-'h#1U9:D|ڸ^Z| zdjgjoҡEWL߼=*[kk|< v)Qv@-8UhU9)fWc9Bv.\r4[eu߶[6pZc-ihOK+azKA2gVԭEXSx׳ 5LX>mj;'Bv0:zܝVDU[Ľ&Ed" dlXb֭Wo˛jEN[ٙ7)]z_Fse24P# wS%|xgRJXt݆6@ W(]@?3W'f20g/3L>AOց (7QzpR&[`2qmئ]7E%y˜4Ls7!=C!MdDܶfanUp1)B[ ٪]m%Ll>աxPuf}aqvbiV+,5a36;g&͙F{71oSF}_ՀnIM=,;k"+zwKpL^Nn%Clfʾ RdEt¬gL! ;K(UӟݭV{ytp][ @4/ Aa*2/~-[WSbHjrSj;]bu^䚵J˫-X 3Ku-.~Ԏ Me HRTWq긿to_(ԮKRڗRW? _9i0޾"fִE%H!!.+Ӫ?1*1oN0OCWn7on;/.7/؜NNct`47UIj% r7ZιJgBJZz&[gm%(b`wt˃[Cc>Sh3cż:Tk$Wƀ_q nmȄOº2wb9Z8PWdqWds/%܁L78},~wQLE]RB+2 nH]W2Xsտ6oXoEV;  =nѴbNž K6z_+#{3t vӲ kd at^;:]AiSȢ]?yMU d2[sXϛwXI .Zo>j0}﷛i"2maKOP{f_VK_Jm1F؎qթ}M"^Z-:-ЍY5U/2=%-JWA Ћ2h 50Я,,ɪ.O=+x]>S@rj0!c rFIJs =7!kݥށʫuO Mw 2د> ҋށt%J&0͋#|SC+ˠE7xKA 䤋=q%~ks![?Z >0/Gn<ԌPKW˜PݥgV}qu;.X&wRcvYKJ iRC10s^j= mav~d )Lhr722˽ #*5l||PiqqtXœa\U]f9p:TepR~ -~gi0 eOŵg ?b& Q\9_lX' 7,5^p);Dڜl"=[Ԉ4? O09Ad@hh7FԞ_/T2#qب"'6v)f*.'9[(΂0a8“Љ2X_]W"|ieY ߮ܙ\[%y|YaIw13QYcޝ3>E'\gtFq7 r=uq4U*4D(Iо5#qm AzZW#fUv>4BrWֵ';|@KS}Gr(nc? m*Pe䡁&}r _*jveߙ]n o]|U G|4žƍ[@n+:&i#Lbl!yM׳fA(`mfiIQ=6GnEk`ǾJoeCc:N@ckPwQ?IIA𼳨Sa:zD זplLx4s66zLM;7:usķĆn} SZNʕ+?D} aڄle$g%Sd /5z0P҂9 Lvi|!q;L IqjxV20v[==!~?u2:_xv{Z Ȫ1[O_Q C ݐl )O?v` 5UPy!csE91^\ؼP.m mrUCXljkF92fLA΅mݠD>ҥ46F-/|q&^'I}?kgD4ȩHYDs3T^2VSԨ`P<D=-x`eq47c{|P%+ ){ xN*a Bdz.3%B@wA{՟[>R,5t DŀG>Q>XwCNڌlZ/]zYBUøпS@@KkH_g垴I#SY/q_&+wm%zHp>p7].? ȹ]hTa`31QP`HU47N+:cՙswgdBC1+pR,~5N:TliϑYwm+jBOMr/ H){ 5zޖk}VeE$o/"suiqI[ܪ(xR1$~KЖgH@gJYF'+hۚbS-Z-/x>sz(eS~cH;q@ae9/i4k=#~!- -t+YV{2\RSRIYu5v s d3hnT zҼ|1$#=9T{& Iθ 5+o8A7ႿυdSVDsI3Zl/Հl :1w x+윔D@s 8SJ>,^fҊxkՠ sIq1&B?qf3AW!Rj^[٪9<˭-~&856fJ7i~T PZ^k&_OTX -jpne;v k^=Fz棈ziH02;9W.d^S "ڵɯy{b-u!̦>&.=i rY=qJ[YA (Z%PZ(ߘ?,qU Ko)xW̤G;jH[*לo.< \7I:8F\ˋlBg ~PfņfCJ>Is6`T0;֬b@h`^j9_kvcA>oW/JVhBuF&ص׼YKc@mЇsc:L9\$kYtNoՇE0S;5$n#i(@`\"v/G@DzטU$B .~-7p4*p64ֲT{۰'q1.$dQH{/"u;[p[Eh: 잧wӾ1;"D<.$)**]iݞ,'N=_7\#nd ~x_1ŤE@u\ ~'\Nk`ҽ gI1l*WkyB/тg NĈ\uX{+KoN7 _lQ;`¨-uwv>IM2acn^cWXΣvʢD;9(sU+ZXN*K]fㄫbXo`j#"W1pF^ݑ iLe4b`EvsNІ68Z%;u=`(٠v1XۯMA jFㄵr̄nIY,"5cuPG{꽐nRjX钝JXb ufцu)F>C0b$|S. HZfKະaL_knRW@._Rպ:"6ֈk FO;RBzV]S|.v2($?ãLv48'/eX4uǃԸM-¥EK^{UeL͵Yo]&-@^dP$@;OMx<Z[\u49i6cՙozCb$[~DW$um#4Ǭ8eulp0}-Dz+HOq$ߣ2x>{b].mcsҸUZ8'Nd 쿢/RxK.SIC%aש tH2KZpQv`[ LA8ny ~r"eoxcx={lUo uqz4U }vd&@mKR]oM9J:d/!}nEDLo6Ϣb{TRK|Z1wv>&ٶ= Khri?@-C ~I*y P*)D߶6{8ZҮ" 8cEp\0j]#Dxa'gBHXo4m?Kk)ႆl: 5` =VYYKx—:?~x_#{x7O+~e%.7`X?ȷꟶdC@X##gݜ,Mj?f,Nr}(Q[b(wxs."Dr+R)OdsRAN:J ('<]%04#amÇRsYe?.Ã971! ]gYI1et}0IaC0ezI c;=!IS0usH'DTǧ@GVFRMȡ<Fis*gJ~+665uHW7g )fMöYB X1JePIRtkIral)5Dz(~\{x&b݇=LxF 7/o$1ݪITAXinWPyy- ޛKXxG/,dE(ypE{{uUMY:ƫD(~oû*f v =9cF{@[u1mSlUL7w2n@})ù>)$E-s1q]7/ v6\8^Kws$zXr# &tfa;()U#Cp1 AdeT8-mAJX2t+F7u.4 ŔA=6{Ewɑ1QG_d"F!_5fɣوftpʎ=7[]xS,SB'ߢ(DO]?mj"~黝xq +;307^cI[u[WˏMGSlK4E@>.n0n;zغfx/8wgv!-+9R8<BNl)20}pbe6._bG#?cJ`:sʘ/a'd{d,T@e]z-#~2Z,U NQ(-P[H ;`p9`>6F"u֥jӓ/SL ڰLm1/ߟJf0UVuX :^(y]|-6ʍ)=Q@ÌRB=e@Ư`M,`[Y1Fh|\ 6Vg4~a10LiW!mϻՁm0N ^+eoJ UCq%!`lzp>Hď@tO̕9yөM||D=G B)]? Hv4(rrC4I@,VmMSrSY)uf*0 ;eXz/ Lg (=L4CmMZ%R{u,me;D^ʇY+F"-5mr]@r؅. Þ2hǞ08Z[ۋLOx EqnF~ɲqOepdz,2l^kmb{TԬFA "c)̷Rh3ӛ Z!:m4Ag.!L[xhqԦHhr}jD3,2y4Zq%G},ўR.*0{gtwܔYOaRg%Ɇ)Z@a(XIm8cx_Rls9 \I%~sn5mUEصalD% 7v/} ςn/+דyź*Nٛ EOw &^MI\)c<9(u3 rBϷp6Hq/0woÄ8>xn5S`p*%QfawCK}}7Ɩ6DSj]?MP"ق_gTZbi?J9z);*F\f#T+"^lqX d{a9 u[2"b}V:ޮazG'2+xo8lр틄{ȡwIO"*[Rk$;H)ۗ-M)YْDf41!ެVMS5 rDވ"+=/3kiӳhYؓ,PbX򗻄V$c o6U#rz*& -1HJ.OF%6HzR@ s3/uh8D^UR0NX;vץX"JyaL7&g27"|B De*Ơeu@zҡo[#> 3UXX>n%v6Ȟ$nG="ZΈ&ʓnОl +$6#:F@BO68 5y7ySXwF@0װ%2+Ğ}-e2#ɢYTf&Z1M`R7a|렌Vid#L9!nHUAkwJ%3{ew$g;RդEZ*JZfL=ī5uM]HM5jDcPܪ} RMMcJ_"3M" W OĹ_ 2:+mg(n"MzWOXXIri&uTqC#rj;{,۹tbs`_]tTi./XM{ެ٥-dKL^=hS'({.K+m9C%7ނj?2HV^AqRǛn[Jռ>ˡv#'ɜכO}␻Δ4~&UiFi>n; FV4b% 66+@EW[@8o51oϮͤKfV9BHK/h 7``wƓ8l h%=qYG1.J&ipQ"v {0R^9VR BHi~3PAtMphIe{pEl`(trVd$9`^v~I S|-dp@ۛjO rJpm;4J(^^lfJ}}fhI-WRAй:git9L̲\^Fk`.4xΦ R֧os3Fhڢy򸗓/~v?R.ۆ`ҝ8 ~`ѽpUr9&^ v2"ue7 8^܀c$Nl"?kG !J`~grbܱ BX]q,pkh~5𴇽X?Kb_qʙ ElCݓlRX"Ej#XA0[ P sNaO@FfQ]j93|K-Zuc8 %A6ib!%I0 C( ߬U(4|?.LŽN&Pr#UoJA[E;꟧ET/QʋR亚FlfnS f?<3[x*quݬp@b%e<DS=aEQK0](gt 3%U#i~,X2l-ŵu =|YcqY\wzQ "3BjQe!xئi]v fd?2Ek 2zS֯@(&p`7i 1bl<9㮩ie`/K+l36؁Jf0R%knH>F$Ʀؙ Xo3(x,W16|JX^U9:*}ݰTh[Ĝq~¼O"LMQ`ʃjf!'*k4姬HSW,q^3V~!cy/\n~.~'t< j1~. a˵F|&Hs6-n SF}6nUOWuS5Bib!̻FT^ɟ=B@;B S)l2Lkcc6Y2YRE@Q:Z[]grft>!"Pzshe=^[%^XqVauES'gm%i(mN էm[P\B-[rH{W -@- |c^ލa˃v URmyI0Cj0#Җmn3N)RYG"RlZ)pJr* \HLrx3NY<;2 9VN$:F5X^Ctx&t,}ƽ)hp˛~}?F~٣#@k x1l \&drsF4u,Jٴcƾs5Lf=Ƕvb>mfZ]E TG|8sJn?!K"Iҍ7sW] 5WTXU/Z'Qܯ<Ƅcn$"zф ,_3htPL-{a 8~=Dp\2LfRˁ3kbKbe&J_NG$;~&?r:E+w~;:ř ɦ2~9 Mڝ~݈.S=cȹDǝyEyn.=3l3 K fG]Zz26n/kAg u698oFLE8H(l&ἧxj6Y *uy+.77)U!xhu(i*f|nKo!Da//Faݠ0R4B3&w<(Ow HAKRv[8s)@o[L`Ic1QMh7TCMJd D0,a xqZA9Yb5p!J,nOɂk{>K'Qʼn)k76XK %rH 8Bj4>i=":.q43qZO5`sB;$[{&}AI3-RGT9S3_Z_-3{=t0Z#>_PpJeҀdTFs%aqXGF-C7@w'|Z aHyG2's[ډ# 8ͣygM6:m9$B[sLP;nl<-I6DŽeܙjHY12!:n{Bu%bnoi/`H ]3xࢯpbsf$ONĻM̴rn}}v+ԳS̈́ځ0bjm'RX,fwFezxc&5i娑#&-`ƕ8? 9n%ɵ>Ao@6eOm~t&u I*|w'{hy.@{L⑧@r*ӞYm`r~X6FtOOSnձU 5$qRKe{9vƥ*qX"#U D#Y/td)^3NesjV ΠP +&غjԂmώ;B]~مQz@º=fZԀ!dUlH ,m+ceɁGonT7\.ڟȍ*@ 6Yc:!5B-8\X'}سܔ۱.LW^({y*eg1W  YIC4a_1@M)`2Z{/X)H[jXZ#qFvf#uDCХSG8Nvm75-#x(匲/_KCek2>'FRW6.z3k?īomGm:rRX<vB F!\|0k'Hf&=d@=` yM(=>60'q^'hj7v. M) jO{2TG;? źA)t(po}J*[fcAwn ׺4&zp?dW9s/m;?N^0el#Gqغd=#OdͰLNXhw~h81Pk^"Zc8"p IyI4EY`$ FYOMM.mlm9"xZw7Kř:z4ԎfW>YSrV ʋFdՁd*ոl_<(`4.Pr ,WK"x=*4.^:w1x<\ÈD?oyo*?6b(uJ= Ԋ"!% B0RPE/cWb(;.bӧ);Ҽw 0+/ hDGhXFOnع5^~F(20;W[[R5"5aΊrzX KlgF7dZ-W@O(Qp"[eX><׼ëĂ_+˗6!dTQW$鲼s0 '6|.{ cƮ]l6BD<8P|$wa) (=l!Zj# Me5.ÿ &/^ ykH\ nDz؅T%bw :KϮ(|1͏g+o]2Ɣ}ݗn3$'>, l- L5Ұ%'Ci66r:݊$Q` 3 q#u!$>5X8<2H,K@* \Zzl,m"(/rx{nhEȁ,krZE/v{,6{yq+s@yuJk$")ګc)Z[щx *":[u }y(#ex$`]DG-Hj sfxVwSfY$2pE{QS~m ףy:DGėZ$t#}A2KT )`aviܕiC/|dܴ <(a(i{x_뇑EN?z BJ\X!:c.6v<,|Sٌ}m~PОkfTgrk@ƚE(mryM#i&L*9sY'@N\2GiYjn*"k?we / 4bI\r)J_ 0- z?I#HY \06B4l+Ca=Hw,L>ܫ$BT/P٨V;K] p^vW ѠI3[5@gl"d(tkey!19[#fR10A/ᗶּUTgZ FyrP;C.1\"&C0**p |k-YiJB Wk$HëI2lwqJ_u_AJCEBOe6~k>~bR0rX3eҞ2Ԅ{iq0<&iiRz_/@͟'kQDl#=Eq&N[˿ބ^X8@P$|Ox$k m{V4NT3rbl%hx25|{2ȼ8d,:_Hϐ5N*di2*_/;ɭϷdo/NIyZLOΗKi{3n -Jw% 1? S9Ab|%3;p򽣑 jEY xzoC2 ˸miryGI }[~ָ#ޗ|ie͏]3ZSV9_ &՚^Z ُhKe`jSI^3Ҵ#*>Pxw? H H}ңr u-<XY]z<I;FޅU]C_ RLe٦C>\HCdu5u]E7&AY$e4߾XE~Lq7,<ݡ eϒq&ò`S=Ah1o4k}tߜyFTɅ ]"޵%7/zz`ha4R-@UB />8Ah#/f5,obvUp@D߄*G8lQ\$@|//a} Q=3LNY=1D (J{·ĹI:AKػ{ejϟ4Yo)e*'p"o.ݙ˿U5|@& -N^K\bR:Ïjb4+tKR+`J\|1<((#^zGić1A||N)*nx/Xuэtf 3Y014NrL*e)bU+/`α-ϕ0[_Z",1ߊ%TM ekqh`IS9%y2ΣI5?%K c5`^tCt6 Y\gwC<<|5l<<ĵKsbݖ44֐2TT_ N!A>J{f ҕXաXZg`IJp!<_ۚO3WI\5 g.-e.\Z?<$V^Q$gn6lR<UC\Oh=pzB1;5Į29#|yWVMF9 e 0Hg]XG|5A-gQhV.8TGऽqWo-n !@] š84yЇ[ #t:P?H-ˆňOـ'(&Xjfy7)8ʤd"`^: %Ya-vTH- B풢FG3 a ٯ /pB =o&ݼUe0T`flߺ>FF_%++GT6u=Y۩{oZ݇zz[aJpWۀ0.8y NQMY7gGG/aڟqY0e*6-/r@uH-.h_TІCAL̫|(zDXt f4r)0v)PāEQp 8lCn<['Pg#P #Og(0;F`锯HIO#_沼X+s +L&F5gSp4p$bNz 1C`KT$O7#E#QJ=xKCPhw΢g*ڀn)H~]R oʞjf|f9›%yUkgr%OaOD yxnST\U"ю!/A1me뙨  b2eEal=GdIo*1ڞLT.Cqɳ%uc}}լF9Q#||g3% :24~Z 1v%XКJ-$EC5P 9*A8·Qjڢw2N/iu3vm rΜCv![Zx/.v'i*YJ}˧/@XG2eJXXm36{\d 1d~Wu~L 0+lEPפf?c8'pQ <1G<#WWl?ij"E%&tNQJAHYW)?GpK9HrT{$="MɝɻM'}Q$ yrZ ` 0Kf6Qׇ|8%E]9شgvHF5oHVSNj~_F;UkapչMaéi?v X3$re0 {I%3$[| >~Ҝj^cO~ ]nwS# њ02*,-4N \?b/8U۰l!$rDrf{/ߪKzC0{[BO6ق"vV=|>&`wKE|(0WC#:xlܐūVačH5a8~ j׬ 4,AYp6:(_&M?ɣP? zH/.K#֟qe6ŝ^qP0kuUt\9t2F$$UBs}5+ Iw-vvaF~2BgN6::ɪ1 }RnՠpS؛c$ $K6:OrxVSO؊ftsxp?ȗ^[YT% loq0\B0$a@g&׀azת1KBSp&6gK#Oq2\9N]65Pф鄪u@?g[O%ue'aLօ 7z3o&ul6Udvi $н9.ek+$}ͣTϦfXCo dᾕb΢2Sʞ_RlhLvO჎ʲ>(Gy1QSA;:>7٬Ohi[QF%LSBhC/cpu TYaht/N%mt۶cJKxFH2He $6b~kHsDyٌ 2Xt=/&kd1͘NMPʾJ@bJ$xR) g 6)־ѝX& KϋG%r{g|&2%R"$d-ap[ wQ߆mztɞ#^>Mza-W1c`q` ^ 0ҼmtɧN᷆9Vs{*x89 53Kz-Ym+! :)ZRQG+MȹqHMgN4*$Y8/m1{waRWQ0x=Ul&+Kq}zOz-5!r\r.af: $>12)o խUa.o#$H$BU/qxTpgMƏ+zK5mxC<9  d #(zʕe^A+ILBc~]J +; D[(-rg|g!*ck dLu>)Uܣ]dn;]T4FY78zM ]g3]50ˡ|CfjYѤ딽^K+QkD .t<b c?N̔(@f2Ds&@ʶޭE(R`lT8s+t\q G4$$E*:0U Q!Qcuc6 6YRxtLjB.HdW)d [XtEv@)Y+[t7ÖЮNt*jt (R} !y"lQlilLL3+Wq#%^>od1'<F>o==hh8|ٸUFf/T?&Rmh(h{-9`-PH~`jaꍮ^K#1_m]KNjwl\s}35T Iu2qңtG(ʜ@'GMFS![j1cLdMQEO|*k@=PÄÙeP%6@n7`nZ&F½ V0*-l-x|S+>Z-":Sːm(}VQ ПTI3V II*dUrwC|ⵊ&H!kFeO';>|FFW5X ^4`z^ڛ64 !Fe; &?Rg j~+]٦N;.ݨVc};h%-e5=B(*tsLyg5|Cn¯}qP;e{pEM4׍f"I3Uم_xí 8M #BQ@^`ANR)I#2Uu$"ʾGrb254氿WG)RA6՟.57Kl ucTnhgV5`Va"ƽ[T v -n}(qHmjw̉TJ:e[uM*-f ׀D2g)me:'!95C)ܡsvc>PW]TsB됁* G4NANX| $EpW@d`5'ћޫeRsp)8܏ S%-%lg= =U63j`c{t@v~e[S)hh*pg bv D^vRFořHV'c>@%eh8 WiS_%A7=/禟ګEW\eAA(H|t61Y)Ys#Xh#x'6ᅙ?jv9B 5SI8mP?nԠ$/&uy3wZF\IQ ;ifʢ`lnULQvO)L `p G Fg0gf"]ь@ ݆lIš}#n`']Y{4&Gf@!ϯ~cHgŖGPbgw2qoI:nGr&:?$4HD $ʫn[{wsgO{.-1U9y?J Z䞑w ·i P-y7a+TIux=1 5PA XFDfJ^;-B{PYّu-gP{ zng+C0& 1`,zϵ [Hf,iFS !q~2$烁YՍd^DF;ew;KK|XwV{21|h!Sy(Z3A] !@Ohʗ58XpC(P|7F5U3E1xgz;A jtʇ-o+*AzzGfE)bBQjNET)d &- gţy 6)íQj" eoLvP9RrK fn nwT& o$cEH+luT@Y'鯾?15:Ѥ.96TRU#5m@'4a }H=:6DMx4,Vy?%9rc ҳiAVHkͥ 74u;ֳ19ZYDqqb{8tىU} 4>NS: NxːzDWXbj(Z{u܌GYӳd/ۑ%# !R}vQQe_n8;Y&AVS^?4޺%[ R$Q$DDSFV|1 %(oco!+6G6vB Ԭ`Ҵ-+V[PAK%>4z@yIUP[ Tx+2Bq^&R[z/t7[$-0|0Z3D 898`uQΞΤ3P1ll|7HTX]!6m!Iz2< o}A)sxFuZb@4J!.늷I-{dB`\fEa" N'cHSw!DqhBv̏f7WFO }s+{ڕRWp x!/o)55Z=rM~=R6oR[3t隍}@|ߐ 25~zӣ/AG@EJ(BA$~Pƌ/WRi϶G埿*}m7!72>#bq#Z?415R; dMrg"u{kxi~6ո@M!DJf]Gh1p!Zڹ)7+qT13.wڹvS6i4E5h*JKfnֿh5;Re6jyŻaEQV&/7Ogt[)1W,F΄EUXܴt O4\xn1@]T]d8` Ǚ|y+6B<%\h:g+U '7BmLgaY@w5JB#q `w" *?IqO4亩A~w:Iv-2Ll͐= z*pƣ ~ Չ͜Q;-nkc9ֱEtDNhNi^:Gp{՝dx;f'D"]S%]]^; Qر |k ,BPX Y#ӏ(aMVĝ;UQQ_p f~HN<Ӆ!>ͽ Vʚ=Xei*Եk-O\h]&4۴螄xx^g9((K簶͡pY.ch LtֶBVE(kJ 1Rt{#&}*V]xZd?4,w3|S` Ʌ ls*6tW~j.^GG\*Jⱁ1U MǼi'6a9b-<[)S >~ۖ7J^g/FV>>PQ 7=T_LZ14ړ|Љ$!G3XX0_̤{GˤF %5:~k9 @i6ɷҕ%)'>4tMAJuA, ׫5L @[2a. @z@׹6a,PA2c%y :{]ny0N +M~U-㜶fЊد-_zy;Z1C8KxyA2 Ϫe>>@x`!rIEV_k#T)C(k;4FZ+N*| s_3~-J`FþWk\*0bTL)N:CQi4sd͇g0.srNz>Fo\XY T9OU m8SEKc6.?NU 6EQI![ ऍ5R( ~SO^Zf5Ճc'b3dtu9#X DF$A9@LqU0ZDxo |czH Tx@7| Hir/>_#.K1҂L&/Ϊ5#Oqu.@ b`ne5x7![w4Ppl}oYt槐N/:Jr._T%]SVm8 jp0g3(g!XN5 cY=LbSvUugtP A<1GǿL.Q|7~2g r:͈ڸ 4$Y|hJUk'OQX®]m^H-ǹfQ߅_I0%6.S=VƠhTB ۴}ѫ l4EϺx u9"VߦE_X=xGI$p~33K%?as(̾"D@eBS GU!%_vaJM.!JȶJlnv/7YsWP _GWy>37 !LsJA 'l~vi"baP bHw7Ǣx/i: 4]vrhͶ5'8T8O2s@g}CtrۆZ/QaoLW$vĜB*&VWܐ;cf"v̦Np4Dž_6B<Esq(Z"YH&,m4P#2qf3Q''*2!](^{(@9{~葼 E-$xR7,!qhimmgO'*b_cbu_^'`U,f'Zw)AKډ_0uQN W5d"JL :Xz] 9D!p?C3a몪h1Ϝ)A ZIBCICڊj[|^+L70d\Y8!) c1aL><*5tF!33ɽ‚hYAo17Y.4XVw">vS|O &>toc}"3:Hn!ބ_uni'SO|ft9Cn@zYce&Wu[k0}RT H_V0y Clm " } R8Eݱl8d\T>8ˆd3̓`%7a{csKh4tA l &>"*#βCSu PJ tGi P`۴Apc>bRΟ e9<9gK?,5f1>-G.]N0 pXtYƿ XAH|c@TOC^>l"!rrt8T8vbw-uũUmL)+$a}ZQ׊^ۂ E~x(%"x` v p +l\OYP~7nLѶgwQY )pcWo/##59JofgdK- p2$#ti1b0@bTNxP/ zThk+/2Xd%2FL HB99*j`@aՄp"Jt(ƈQ_h_dQ#i=,S ]#גmLluw4D@9)0ucpPJP.i ؤ_S1(b:6`]o,1 F=Pd՚鴙 ̒}Nǹ3iie͝)շS ۶}SIZ2_TjbP@J*{hX@iZ& h>`x%=TQIg>M }"/T ݟ FGZw mm|Ys#5zspiŤ|55/Z?*>'@%YrXai/ARK`x;5%|oP&h~zCtR1yT?#I2Ɣq4B"_#5xXXx* aONWIXIn:{=vStrL>3H w"Wȯ[`3/3Z{/Jo?ݦ, slW@J}(;>uӏk̐ܘoe9u)-D')umC:DLv-{xL1rͫuQ\ip'ޭ?[g8BY7Mc6gu3_Cƛ AVk ѶqbnPB|x|c0LF*`5˾I Ȕy:RW &\N!Juƛ#XJ dKof2fAC#jk:§z/W,"OWh(^[o]U1_F ѝ~7~)\("=)emQAkuFzTl.099Ӿ'WےG>A6 3ERs>a0{öO|ZUyAxy|y/)9;ABs6tl.@3o}V#c_wpkp})غ>X2wqoqO?.6Iۏ}6<-o(O ݧt%Oƫ q