shorewall-core-5.1.5.2-3.1>t  DH`pY/=„%)r'2rljqB7Svp.pt- M9rI.Ӎi9fk7S8K"&$ =b["\_o\)aw?CC ܙC{ U_cFj09O]uCJZMj0M"zO4D e.w%əjTg껐 ^>HðLm{Q ;jg>dbZݺ5511832463d5d845411543813588d6c1d7539e29v?Y/=„Im[,R*}:AĚNgZ'.{eGE%dF к"ܛt;~Leh}WT]Z} )rCe6 Nx&=?d  :tx  H f   / H8t .(/889h:>FG0HlIXY\]^b,cd\eafflhu|vwxPyzCshorewall-core5.1.5.23.1Core libraries for ShorewallThis package contains the core libraries for Shorewall.Ywbuild36PopenSUSE Leap 42.3openSUSEGPL-2.0http://bugs.opensuse.orgProductivity/Networking/Securityhttp://www.shorewall.net/linuxnoarch*F],3sDuwxAA큤A큤YnYnYwYzaGYYYnYnYnYnYnYnYnYnYnd5c2af6fdf223770114c66188b1bb3bd756652de4c02bf8204157bd86d30a7a2063d83a023c4be98c892ae640d7185beea3b4f8c2b5490f69c73a01b006b714bb879cb525802787c4a38c4e70e9e3899e8f58de310eb876b068f4823da783dd9c93f4222f3bb1494cfe65dfdb8368b6a05b528ee2d218111a840df962f7360f7ebd7a6112c4ec733b0281c960b10cbbd759c2e9e5dfe68150c3e8425f06fa38584590e205b0203cfd264cff459610b0flib.baserootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootshorewall-5.1.5.2-3.1.src.rpmshorewall-core@   /bin/shiptablesperlrpmlib(CompressedFileNames)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsLzma)3.0.4-14.0-14.4.6-1SuSEfirewall24.11.2Y@YYf@YTYJ_YA%@X[XrX,XN@XGVU@UUa@UKSU-@U@U@T@TÉ@TNT@T@TT@Tq@TZ@T @T1TT@T@SSS@S@SS׌SFS˯@SS@SS@Sg@S~@SuS:@S*@S@R3@Ra@RRe@RUE@RM\@R@R@R@QQQQ(@Q]k@Q=@Q@P@PDPP@P @P}@P@PAP@Puc@PqnPnP`K@PDP3x@P"TO@O;O#O:OЗOȮOOE@O@O@O@OfO@Ohq@Oc+@OJODOO@O@NN@N_NvN@N<@NuN@N]NtNs:@NONENA!@N:N98@N%qNM@MMM@MӴMz@MM'M@MM=MzMS@M:M-M!@L@L@LOL@L@Lbruno@ioda-net.cholaf@aepfle.debruno@ioda-net.chalarrosa@suse.combruno@ioda-net.chbruno@ioda-net.chbruno@ioda-net.chbruno@ioda-net.chbruno@ioda-net.chbruno@ioda-net.chbruno@ioda-net.chbruno@ioda-net.chtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgdimstar@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.orgtoganm@opensuse.org- Update to bugfix release 5.1.5.2 + Make build reproducible boo#1047218 + Fix upgrade from 4x version : dropBcast and dropBcasts are now supported boo#1053650 + Perl 5.26 support + Fix for BASIC_FILTERS=Yes and tcfilters + Fix USER/GROUP messages + MAC address in OUTPUT col in accounting file error is raised at compile time + Fix port number 0 or > 65535 perl execption- Update filename in /var/adm/update-messages to match documentation, and build-compare pattern- bugfix release 5.1.4.4 A defect in 5.1.4.3 caused a startup failure when two or more 'fallback' providers were configured. That has been corrected.- Fix a typo in %posttrans that would remove the wrong file and could cause a problem depending on the execution order of the %pretrans and %posttrans scripts for the shorewall and shorewall6 packages.- This stable branch 5.1x will be the new default for Leap 42.3. Remember that each time you have an upgrade with changes in Major or Major,Minor it is mandatory you upgrade your configuration with shorewall(6) update -a /etc/shorewall(6) command. - Packaging : use pretrans and posttrans to inform user about configuration upgrade. - Bugfix release 5.1.4.3. Problem Corrected: When running on prior-generation distributions such as RHEL6, IPv6 multi-ISP configurations failed to start due to an error such as the following: ERROR: Command "ip -6 -6 route replace default scope global table 250 nexthop via ::192.88.99.1 dev tun6to4 weight 1" Failed Such configurations now start successfully.- Bugfix and enhancement release 5.1.4.2 complete changelog is available http://shorewall.net/pub/shorewall/5.1/shorewall-5.1.4/releasenotes.txt - Main changes All IPv6 standard actions have been deleted and their logic has been added to their IPv4 counterparts who can now handle both address families. Previously, ?error and ?require messages as well as verbose ?info and ?warning messages (those that report the file and line numbers) generated from an action file would report the action file name and line number rather than the file and line number where the action was invoked. The file and line number where the action was invoked were listed second. Beginning with this release, the invoking file and line number are listed first and the action file and line number are not reported. This allows for creation of clearer messages. IPv6 UPnP support (including MINIUPNPD) is now available. A PERL_HASH_SEED option has been added to allow the Perl hash seed to be specified. See shorewall.conf(5) and perlsec(1) for details.- Bugfix release 5.1.3.2 Previously, if a Shorewall Variable (e.g., @chain) was the target of a conditional ?RESET directive (one that was enclosed in ?if. ?else...?endif logic), the compiler could incorrectly use an existing chain created from the action rather than creating a new (and different) chain. That has been corrected. Previously, if alternate input format specified a column that had already been specified, the contents of that column were silently overwritten. Now, a warning message is issued stating that the prior value has been replaced by the newer value.- Update to last bugfix version 5.1.3.1 Problems Corrected: There was a typo in the BLACKLIST_DEFAULT settings in the 5.1.3 sample config files, which resulted in a compilation error. That typo has been corrected. There was also a typo in the two-interface IPv4 sample snat file; 192.168.0.0/16 was inadvertently entered as 92.168.0.0/16. That has been corrected. Previously, when processing the policy file, 'all+' was incorrectly treated the same as 'all'. That has been corrected so that 'all+' causes intra-zone traffic to be included in the policy.- Upgrade to last stable 5.1.3 For details see changelog.txt and releasenotes.txt containing all informations for a correct upgrade path. - Packaging Redone patches for var-fillup + shorewall-fillup-install.patch + shorewall-init-fillup-install.patch + shorewall-lite-fillup-install.patch- Upgrade to stable 5.1.1 For details see changelog.txt and releasenotes.txt containing all informations for a correct upgrade path. - Packaging: + use proper %{} syntax + Adjust year copyright + Remove attr on sbindir symlink + Move Samples and Contrib to doc package- Upgrade to last stable of 5.0.x version 5.0.15 For details see changelog.txt and releasenotes.txt containing all informations for a correct upgrade path. - Packaging : + Remove all non suse %if + Cleanup older non supported version + Remove upstream merged patch * 0001-remote_fs.patch * 0001-required-stop-fix.patch + Remove 0001-fillup-install.patch replaced by specific product patch for correct usage of var-fillup + Added patches for var-fillup when not specific %name6 is also supported * shorewall-fillup-install.patch * shorewall-init-fillup-install.patch * shorewall-lite-fillup-install.patch + spec-cleaner minimal- Update to last 4x bugfix version 4.6.13.4 For details see changelog.txt and releasenotes.txt - 4.6.13.4 * This release includes a couple of additional configure/install fixes from Matt Darfeuille. * The DROP command was previously rejected in the mangle file. That has been corrected. - 4.6.13.3 * Previously, Shorewall6 rejected rules in which the SOURCE contained both an interface name and a MAC address (in Shorewall format). That defect has been corrected so that such rules are now accepted. * A number of corrections have been made to the install, uninstall and configure scripts (Matt Darfeuille). * Previously, optional interfaces were not enabled during 'start' and 'restart' unless there was at least one entry in the 'providers' file. This resulted in these interfaces not appearing in the output of 'shorewall[6] status -i'. * The check for use of a circular kernel log buffer (as opposed to a log file) has been improved. * Previously, if a circular log buffer was being used, the output of various commands still displayed '/var/log/messages' as the log file. Now, it is displayed as 'logread'. * When processing the 'dump' command, the CLI now uses 'netstat' to print socket information when the 'ss' utility is not installed. - 4.6.13.2 * Previously, if statistical load balancing was used in the providers file, the default route in the main table was not deleted during firewall start/restart. That route is now correctly deleted. - 4.6.13.1 * Previously, the 'reset' command would fail if chain names were included. Now, the command succeeds, provided that all of the specified chains exist in the filter table. * The TCP meta-connection is now supported by the Tinc macro and tunnel type. Previously, only the UDP data connection was supported.- Update to version 4.6.13 For more details see changelog.txt and realeasenotes.txt * The 'rules' file manpages have been corrected regarding the packets that are processed by rules in the NEW section. * Parsing of IPv6 address ranges has been corrected. Previously, use of ranges resulted in 'Invalid IPv6 Address' errors. * The shorewall6-hosts man page has been corrected to show the proper contents of the HOST(S) column. * Previously, INLINE statements in the mangle file were not recognized if a chain designator (:F, :P, etc.) followingowed INLINE(...). As a consequence, additional matches following a semicolon were interpreted as column/value pairs unless INLINE_MATCHES=Yes, resulting in compilation failure. * Inline matches on IP[6]TABLE rules could be ignored if INLINE_MATCHES=No. They are now recognized. * Specifying an action with a logging level in one of the _DEFAULT options in shorewall[6].conf (e.g., REJECT_DEFAULT=Reject:info) produced a compilation error: ERROR: Invalid value (:info) for first Reject parameter /usr/share/shorewall/action.Rejectect (line 52) That has been corrected. Note, however, that specifying logging with a default action tends to defeat one of the main purposes of default actions which is to suppress logging. * Previously, it was necessary to set TC_EXPERT=Yes to have full access to the user mark in fw marks. That has been corrected so that any place that a mark or mask can be specified, both the TC mark and the User mark are accessible.- Update to version 4.6.11 For more details see changelog.txt and releasenotes.txt * Previously, when the -c option was given to the 'compile' command, the progress message "Compiling..." was issued before it was determined if compilation was necessary. Now, that message is suppressed when re-compilation is not required. * Previously, when the -c option was given to the 'compile' command, the 'postcompile' extension script was executed even when there was no (re-)compilation. Now, the 'postcompile' script is only invoked when a new script is generated. * If CONFDIR was other than /etc, then ordinary users would not receive a clear error message when they attempted to execute one of the commands that change the firewall state. * Previously, IPv4 DHCP client broadcasts were blocked by the 'rpfilter' interface option. That has been corrected. * The 'update' command incorrectly added the INLINE_MATCHES option to shorewall6.conf with a default value of 'Yes'. This caused 'start' to fail with invalid ip6tables rules when the alternate input format using ';' is used. Note: This last issue is not documented in the release notes included with the release.- Update to version 4.6.10.1 For more details see changelog.txt and releasenotes.txt * Indentation is now consistent in lib.core (Tuomo Soini). * The first problem corrected in 4.6.10 below was incomplete. It is now complete (Tuomo Soini). * Similarly, the second fix was also incomplete and is now completed (Tuomo Soini).- Update to version 4.6.9 For more details see changelog.txt and releasenotes.txt * This release contains defect repair from Shorewall 4.6.8.1 and earlier releases. * The means for preventing loading of helper modules has been clarified in the documentation. * The SetEvent and ResetEvent actions previously set/reset the event even if the packet did not match the other specified columns. This has been corrected. * Previously, the 'show capabilities' command was ignoring the HELPERS setting. This resulted in unwanted modules being autoloaded and, when the -f option was given, an incorrect capabilities file was generated. * Previously, when 'wait' was specified for an interface, the generated script erroneously checked for required interfaces on all commands rather than just start, restart and restore.- Update to version 4.6.8.1 For more details see changnlog.txt and releasenotes.txt * Previously, when servicd was installed and there were one or more required interfaces, the firewall would fail to start at boot.This has been corrected by Tuomo Soini. * Some startup logic in lib.cli has been deleted. A bug prevented the code from working as intended, so there is no loss of functionality resulting from deletion of the code.- Update to version 4.6.8 For more details see changelog.txt and releasenotes.txt * This release includes defect repair from Shorewall 4.6.6.2 and earlier releases. * Previously, when the -n option was specified and NetworkManager was installed on the target system, the Shorewall-init installer would still create ${DESTDIR}etc/NetworkManager/dispatcher.d/01-shorewall, regardless of the setting of $CONFDIR. That has been corrected such that the directory ${DESTDIR}${CONFDIR}/NetworkManager/dispatcher.d/01-shorewall is created instead. * Previously, handling of the IPTABLES and IP6TABLES actions in the conntrack file was broken. nfw provided a fix on IRC. * The Shorewall-core and Shorewall6 installers would previously report incorrectly that the product release was not installed. Matt Darfeuille provided fixes.- Update to version 4.6.7 For more details see changelog.txt and releasenotes.txt * This release includes defect repair from Shorewall 4.6.6.2 and earlier releases. * The 'tunnels' file now supports 'tinc' tunnels. * Previously, the SAME action in the mangle file had a fixed timeout of 300 seconds (5 minutes). That action now allows specification of a different timeout. * It is now possible to add or delete addresses from an ipset with entries in the mangle file. The ADD and DEL actions have the same behavior in the mangle file as they do in the rules file. - Added systemd_version macro in anticipation of detecting the correct service file when systemd version is >= 214- Update to version 4.6.6.2 For more details see changelog.txt and releasenotes.txt * The compiler failed to parse the construct +[n] where n is an integer (e.g., +bad[2]). * Orion Paplawski has provided a patch that adds 'ko.xz' to the default MODULE_SUFFIX setting. This change deals with recent Fedora releases where the module names now end with ".ko.xz". In addition to Orion's patch, the sample configurations have been modified to specify MODULE_SUFFIX="ko ko.xz".- Update to version 4.6.6.1 For more details see changelog.txt and releasenotes.txt * Previously the SAVE and RESTORE actions were erroneously disallowed in the INPUT chain within the mangle file. * The manpage descriptions of the mangle SAVE and RESTORE actions incorrectly required a slash (/) prior to the mask value. * Race conditions could previously occur between the 'start' command and the 'enable' and 'disable' commands. * The 'update' command incorrectly added the INLINE_MATCHES option to shorewall.conf with a default value of 'Yes'. This caused 'start' to fail with invalid iptables rules when the alternate input format using ';' is used. * Previously the LOCKFILE setting was not propagated to the generated script. So when the script was run directly, the script unconditionally used ${VARDIR}/lock.- Update to version 4.6.6 For more details see changlelog.txt and releasenotes.txt As there are many new features with this release please consult the mentioned files. * Previously, a line beginning with 'shell' was interpreted as a shell script. Now, the line must begin with 'SHELL' (case-sensitive). Note that ?SHELL and BEGIN SHELL are still case-insensitive.- Update to version 4.6.5.5 For more details see changelog.txt and releasenotes.txt * This release adds Tuomo Soini's fix for Shorewall-init to 4.6.5.5. Previously, the ifupdown scripts were looking in the wrong directory for the firewall script.- Update to version 4.6.5.4 For more details see changelog.txt and releasenotes.txt * The '-c' option of the 'dump' and 'show routing' commands is now documented. * The handling of the 'DIGEST' environmental variable has been corrected in the Shorewall installer. Previously, specifying that option would not correctly update the Chains module which led to a Perl compilation failure. * Handling of ipset names in PORT columns has been corrected. Previously, such usage resulted in an invalid iptables rule being generated.- Update to version 4.6.5.3 For more details see changelog.txt and releasenotes.txt * The Shorewall-init scripts were using the incorrect variable to set the state directory. Correction provided by Roberto Sanchez. * For normal dynamic zones, the 'add' command failed with a diagnostic such as: ERROR: Zone ast, interface net0 does not have a dynamic host list * When a mark range was used in the marks (tcrules) file, a run-time error occurred while attempting to load the generated ruleset.- Do not buildrequire openSUSE-release: it's a daily changing package and causes thus frequent rebuilds for no reason. configure and install both try to guess the target from /etc/os-release. So we simply inject BUILD=suse for the openSUSE case.- Update to version 4.6.5.2 For more details see changelog.txt and releasenotes.txt * LOG_BACKEND=LOG failed at run-time for all but the most recent kernels. - Changes in 4.6.5.1 * The generated script can now detect an gateway address assigned by later versions of that program (Alan Barrett). * In 4.6.5, the bash-based configure script would issue the following diagnostic if SERVICEDIR was not specified in the shorewallrc file: ./configure: line 199: [SERVICEDIR]=: command not found This was compounded by the fact that all of the released shorewallrc files still specified SYSTEMDDIR rather than SERVICEDIR (Evangelos Foutras) * The shorewallrc.archlinux file now reflects a change in SBINDIR that occurred in Arch Linux in mid 2013 (Evangelos Foutras).- Update to versioin 4.6.4.3 For more details see changelog.txt and releasenotes.txt * The fix for LOG_BACKEND in 4.6.4.2 worked on some older distributions but not on newer ones. This release fixes the problem in the remaining cases.- Update to version 4.6.3.4 For more details see changelog.txt and releasenotes.txt * The 'Universal' configurations previously failed to start with the diagnostic ERROR: No network interface available: Firewall state not changed * A defect introduced in 4.6.3 prevented Shorewall-init from starting when required interfaces were present. * Some defect repair from 4.6.2.5 was inadvertently omitted from 4.6.3. In particular, the fix for Shorewall-init on systems running systemd was omitted. Those fixes have now been merged into this release.- Update to version 4.6.3.3 For more details see changelog.txt and releasenotes.txt * Including a PREROUTING SECTION in the accounting file unconditionally resulted in a fatal error: ERROR: The PREROUTING SECTION is not allowed when ACCOUNTING_TABLE=filter * Previously, the compiler could generate many superfluous rules to enforce the 'tcpflags', 'nosmurfs' and 'maclist' interface options.- Update to version 4.6.3.2 For more details see changelog.txt and releasenotes.txt * The shorewall[6]-actions manpages previously contained incorrect examples of the usage of table names with builtin actions. Incorrect: FOOBAR,filter,mangle Correct: FOOBAR builtin,filters,mangle * Previously, if /etc/iproute2/rt_tables was not writeable, then KEEP_RT_TABLES=No behaved like KEEP_RT_TABLES=Yes. Now, a warning message is issued if that file is not writeable and KEEP_RT_TABLES is set to No. WARNING: /etc/iproute2/rt_tables is missing or is not writeable * In earlier 4.6.3 versions, the help text from shorewall-lite and shorewall6-lite included two versions of the 'run' command. run [ ... ] .. run [ ... ] The second one has now been deleted. * New Features: Eric Teeter has contributed a Citrix Goto Meeting macro.- Update to version 4.6.3.1 For more details see changelog.txt and releasenotes.tx * The DNSAmp action released in 4.6.3 matched more packets than it should have. That has now been corrected. * The handling of REJECT in IP[6]TABLES rules has been clarified inthe shorewall-rules(5) and shorewall6-rules(5) manpages. * The following misleading error message has now been corrected: ERROR: The xxx TARGET is now allowed in the filter table The message now reads: ERROR: The xxx TARGET is not allowed in the filter table - Spec fixes * Fixed shorewall-init requires so it needs shoreline-firewall which is an alias for shorewall shorewall6 shorewall-lite and shorewall6-lite packages * shorewall-init package was missing a rc link- Update to version 4.6.2.5 For more details see changelog.txt and releasenotes.txt * Previously, when an interface specified the 'physical=' option and the physical interface name was specified in the INTERFACES column of the providers file, compilation would fail with diagnostics similar to the following: Use of uninitialized value $physicalal in pattern match (m//) at /usr/lib/perl5/vendor_perl/5.18.1/ Shorewall/Providers.pm line 463, <$currentfile> line ERROR:ERROR A provider interface must have at least one associated zone /zoneopt/etc/shorewall/providers (line 2) * Shorewall-init now works correctly on systems with systemd. By Louis Lagendijk. - Remove backported patches * PHYSICALNAME.patch * 0001-Modify-the-preceding-fix-to-work-with-wildcard-inter.patch- Backport 0001-Modify-the-preceding-fix-to-work-with-wildcard-inter.patch as the previous patch broke some configurations- Backported PHYSICALNAME.patch- Update to version 4.6.2.4 For more details see changelog.txt and releasenotes.txt + Previously, inline matches were not allowed in action files, even though the documentation stated that they were allowed.- Update to version 4.6.2.3 For more details see changelog.txt and releasenotes.txt * Previously, the compiler would fail with a Perl diagnostic if: + Optimize Level 8 was enabled. + Perl 5.20 was being used. This is the current Perl version on Arch Linux. The diagnostic was: Can't use string ("nat") as a HASH ref while "strict refs" in use at /usr/share/shorewall/Shorewall/Chains.pm line 3486.- Update to version 4.6.2.2 For more details see changelog.txt and releasenotes.txt * The compiler now correctly detects the IPv6 "Header Match" capability when LOAD_MODULES_ONLY=No. * The compiler now correctly detects the IPv6 "Ipset Match" capability on systems running a 3.14 or later kernel. * The compiler now correctly detects "Arptables JF" capability when LOAD_MODULES_ONLY=No. * The tcfilter manpages previously failed to mention that BASIC_FILTERS=Yes is required to use ipsets in the tcfilters files.- Update to version 4.6.2.1 For more details see changelog.txt and releasenotes.txt * Two issues with tcrules processing have been corrected: + SAVE and RESTORE generated fatal compilation errors. + '|' and '&' were ignored. That issue is also present in the processing of the mangle file * Version 4.6.2 changes + The DSCP match in the mangle and tcrules files didn't work with service class names such as EF, BE, CS1, ... + The SAVE and RESTORE actions were disallowed in the OUTPUT chain in tcrules and mangle; this was a regression from 4.5.21. + Additional ports required by Asus, Supermicro and Dell have beenadded to the IPMI macro (Tuomo Soini). + Some issues regarding install under Cygwin64 have been addressed. - configure.pl did not understand CYGWIN returned from `uname` - Shorewall-core install.sh did not understand CYGWIN returned from `uname`. - The Shorewall and Shorewall6 installers tried to run the command 'mkdir -p //etc/shorewall[6]' which is broken in the current Cygwin64.- Update to version 4.6.1.4 For more details see changelog.txt and releasenotes.txt * The DSCP match in the mangle and tcrles files didn't work with service class names such as EF, BE, CS1, ... (Thibaut Chèze) * The SAVE and RESTORE actions were disallowed in the OUTPUT chain in tcrules and mangle; this was a regression from 4.5.21.- Update to version 4.6.1.3 For more details see changelog.txt and releasenotes.txt * Use of the 'IfEvent' action resulted in a compilation failure: ERROR: -j is only allowed when the ACTION is INLINE with no parameter /usr/share/shorewall/action.IfEvent (line 139) from /etc/shorewall/action.SSHKnock (line 8) from /etc/shorewall/rules (line 31)- Update to version 4.6.1.1 For more details see changelog.txt and releasenotes.txt * An improved error message is generatred when a server address list is specified in the DEST colume of a DNAT or REDIRECT rule. At one time, iptables supported such lists, but now only a single address or an address range is supported. The previous error message was: ERROR: Unkknown Host (192.168.1.4,192.168.1.22) The new error message is: ERROR: An address list (192.168.1.4,192.1688.1.22) is not allowed in the DEST column of a xxx RULE whenere xxx is DNAT or REDIRECT as appropriate. * Two problems have been corrected in the Shorewall-init Debian init script. + A cosmetic problem which releasenotessulted in 'echo_notdone' being displayed on failure rather than 'nott done'. + More seriously, the test for the existance of compiled firewall scripts was incorrect, with the result that the firewallingall scripts were not executed. These defects, introduced in Shorewall 4.5.17, have now been corrected. - Restating that CHECKSUM.patch is removed since braindead factory-auto scripts do not understand previous comment- Update to version 4.6.1 For more details see changelog.txt and releasenotes.txt * The release notes in the packages mention a fix for 'rpfilter'. That defect was actually corrected in 4.5.6.9 with a slightly different description in the release notes. * Tuomo Soini has provided new macros for AMOP, MongoDB, Redis, Sieve and IPMI (RMCP).- Update to version 4.6.0.3 For more details see changelog.txt and releasenotes.txt * 1:1 NAT is now enabled in IPv6. * subtle interaction between NAT and sub-zones is explained in shorewall-nat. * The 'show filters' command now works with Simple TC.- Update to version 4.6.0.2 For more details see changelog.txt and releasenotes.txt * The 'upgrade -A' command now converts the tcrules file to a mangle file. Previously, that didn't happen. * The install components now support RHEL7. * Whitespace issues in the skeleton configuration files have been corrected (Tuomo Soini). * FAQ 2e has been added which describes additional steps required to achieve hairpin NAT on a bridge where the modified packets are to go out the same bridge port as they entered. * shorewall-masq(5) has been corrected to include the word SOURCE on the description of that column. Previously, the description read '(formerly called SUBNET)'. * The output of 'shorewall show filters' once again shows ingress (policing) filters. This works around undocumented changes to the behavior of the 'tc' utility. - removed backported CHECKSUM.patch- Update to version 4.6.0. For more details see changelog.txt and releasenotes.txt. Since this is a major release for those who are migrating from previous version, it is important to read the above mentioned notes. * This release includes all defect repair from releases up through 4.5.21.9. - Backported CHECKSUM.patch- Update to version 4.5.21.9 For more details see changelog.txt and releasenotes.txt * The output of 'shorewall show capabilities' always showed the 'Recent match --reap option' as 'Not Available'. 'shorewall show -fcapabilities' correctly reported the capability. * When a rules file section other than NEW began with a ?COMMENT directive, the comment would erroneously appear in the rule which jumps to the section chain as well as in the rules directly related to the following entries. * Rule comments were omitted from the compiler's 'trace' output in some cases. * When FASTACCEPT=Yes, ESTABLISHED,RELATED accept rules were incorrectly omitted from an interfaces's _in and _fwd chains when 'rpfilter' was specified in the interfaces's entry in /etc/shorewall[6]/interfaces.- Update to version 4.5.21.8 For more details see changelog.txt and releasenotes.txt * If an rtrules entry duplicated a Shorewall-generated route rule but had a lower priority than the generated one has (20000), then a disable/enable sequence on the provider would result in duplicate rules with priority 20000. * When 'shorewall[6] debug [re]start' was run, any error messages generated because of ip[6]tables command errors would not include '-t table'. - Remove 0001-fix-release-version.patch- Update to version 4.5.21.7 For more details see changelog.txt and releasenotes.txt * The help text for the 'dump' command has been updated to include all valid options. * The behavior of ADMINISABSENTMINDED=No is corrected. Previously, 'shorewall stop' would not block existing connections regardless of the setting of this option. Beginning with this release, the behavior of ADMINISABSENTMINDED=No depends on whether the routestopped or the stoppedrules file defines the allow connections while the firewall is stopped. If there are entries in /etc/shorewall[6]/routestopped or if there are no entries in /etc/shorewall[6]/stoppedrules, then the behavior of ADMINISABSENTMINDED=No is as documented (existing connections are blocked unles they are allowed by /etc/shorewall[6]/routestopped). If there are no entries in /etc/shorewall[6]/stoppedrules, then the behavior is as if ADMINISABSENTMINDED=Yes and a warning message is generated. - Add 0001-fix-release-version.patch to correct version info of the releasenotes.txt- Update to version 4.5.21.6 For more details see changelog.txt and releasenotes.txt * When a non-terminating target specified logging, the compiler would erroneously generate a 'goto' (-g) iptables command rather than a 'jump' (-j) command. This caused the wrong set of rules to be traversed, usually the catchall 'REJECT' or 'DROP' rule at theend of the INPUT or FORWARD chain. The compiler now generates a 'jump' rule in these cases. * When an interface containing a period (such as a VLAN interfaceterface) was used in an 'add' or 'delete' command, the wrong ipset name was generated, resulting in failure of the command.- Update to version 4.5.21.5 For more details see changelog.txt and releasenotes.txt * A number of minor updates have been made to the documentation and manpages. * The 'postcompile' extension script is now documented at http://www.shorewall.org/shorewall_extension_scripts.htm * The 'add' command previously failed if 'IPSET=' appeared in the shorewall.conf file. This has been corrected.- Update to version 4.5.21.4 For more details see changelog.txt and releasenotes.txt * The Broadcast actions have been corrected: - --dst-type BROADCAST has been removed from the IPv6 version - A superfluous DROP rule in the IPv4 version has been suppressed. * Previously, if an HFSC class was specified with dmax but not umax, then the firewall would fail to start with the messages: Nov 14 13:42:42 Setting up Traffic Control... HFSC: Illegal "umax" HFSC: Illegal "sc" ERROR: Command "tc class add dev eth1 parent 1:1 classid 1:110 hfsc sc umax b dmax 150ms rate 1575kbit ul rate 3150kbit" Failed That problem has been corrected. * The tcrules file now supports DROP entries to allow early dropping of DOS packets.- Update to version 4.5.21.2 For more details see changelog.txt and releasenotes.txt * Previously, the AutoBL action would fail if the kernel and iptables did not support the Recent Match '--reap' option. A new REAP_OPTION capability has been added to work around this issue. * The Shorewall-core installer no longer reports an error from 'cp' stating that it could not stat the shorewallrc file. * When a non-root user attempts to execute 'version -a', the CLI no longer attempts to get the version of the compiled firewall. Previously, the command issued the following diagnostic when run by non-root: /sbin/shorewall: /var/lib/shorewallhorewall/firewall: Permission denied * Shorewall no longer uses 'fgrep' thus allowing for use on systems without that utility. All uses of 'fgrep' have been replaced by 'grep -F'. * Placing | in the ACTION column of the tcrules file no longer raises a fatal compilation error.- Update to version 4.5.21.1 For more details see changelog.txt and releasenotes.txt * Problems with the Shorewall Init installer (install.sh) were corrected. These problems affected initial Gentoo and Debian installs. * A problem that prevented multiple ICMP/ICMP6 types to be specified in a rule has been corrected. * Previously, an attempt to specify RAS or Q.931 in the HELPER column was rejected with an error. * The 'nohostroute' provider option was not honored in the default table when USE_DEFAULT_RT=Yes.- Update to version 4.5.21 For more details see changelog.txt and releasenotes.txt * ip[6]tables 1.4.20 introduced an incompatible change that causes the program to fail if there is another instance of either iptables or ip6tables already running. This behavior can be avoided if the new -w option is specified. To work around this problem, the compiler now uses the -w option (when available) during capabilities determination so that shorewall and shorewall6 compilations can proceed in parallel. * Previously, the Shorewall-init installer unconditionally installed the sysconfig file even when a different SYSCONFFILE was specified. (Thomas D). * /sbin/shorewall-init now includes the correct SYSCONFDIR name in its error message that reports the absense of ${SYSCONFDIR}/shorewall-init. (Thomas D). * /sbin/shorewall-init and the Shorewall-init SysV init scripts now honor the setting of $OPTIONS. * The -lite installers now look in ${SHAREDIR} for the coreversion file rather than in /usr/share/. * If a Shorewall-lite installation used an /etc/shorewall-lite/vardir file to set a non-standard state directory, the administrative system would send the firewall and firewall.conf files to the wrong directory on the firewall system. * Previously, the compiler verified 'monthdays' specifications in the rules TIME column, but failed to include --monthdays in the generated rule. That omission has been corrected. * The Multicast DNS macros (mDNS and mDNSbi) now allow the entire non-priv port range (1024-65535) for the the dynamic unicast port. Previously, only the Linux 2.6+ dynamic port range (32768-65535) were allowed. - Spec file changes * Add 0001-fillup-install.patch * Remove shorewall-init-4.5.15-install.patch- Update to version 4.5.20 For more details see changelog.txt and releasenotes.txt * A typographical error in the usage text produced by the -h command in the compiled firewall script has been corrected. * The handling of INITSOURCE is now uniform between the standard and the -lite installers. * Previously, when SYSCONFFILE was specified in shorewallrc, the installers would always install default.debian rather than the named file. That has been corrected. - Spec file changes * removed the following pathces: 0001-Os-release.patch 0001-Fix-Exec-directory.patch- Spec file changes * Add 0001-Os-release.patch Fixes bnc#833999 * dropped 0001-Use-etc-os-release-as-of-release-13.1.patch- Spec file changes * Added 0001-Use-etc-os-release-as-of-release-13.1.patch Fixes bnc#833999 for /etc/os-release- Update to version 4.5.19 For more details see changelog.txt and releasenotes.txt * Previously, the '-q' option did not suppress all output from certain commands such as 'check'.- Spec file changes * Added 0001-Fix-Exec-directory.patch which fixes ExecStart ExecStop path of systemd shorewall-init.service (bnc#827524) * removed systemd.patch- Update to version 4.5.18 For more details see changelog.txt and releasenotes.txt * This release includes all defect repair from Shorewall 4.5.17.1. * The following warning message could be emitted inappropriately when running shorewall 4.5.17. The rule(s) generated by this entry are unreachable and have been discarded These warnings, which were disabled in Shorewall 4.5.17.1, are now only emitted where appropriate. The message has also been reworded to: One or more unreachable rules in chain have been discarded The message is issued a maximum of once per Netfilter chain. * A problem that could cause the 'trace' compiler option to produce false error messages or to produce an altered generated firewall script has been corrected. * If the 'Owner Name Match' capability was not available, the following error message would previously appear during compilation: iptables: No chain/target/match by that name. - spec file changes * rebased systemd.patch- Update to version 4.5.17.1 For more details see changelog.txt and releasenotes.txt. * The following warning message may be emitted inappropriately when running shorewall 4.5.17. The message is no longer issued. The rule(s) generated by this entry are unreachable and have been discarded * Rules intended to increment nfacct objects would previously be optimized away when they immediately preceded an unconditional jump to the same target. Such rules are now retained. * A bug in the optimizer in 4.5.17 can cause 'set' and 'geoip' matches to be dropped. That has been corrected. - spec file changes * rebased systemd.patch- Update to version 4.5.15 For more details see changelog.txt and releasenotes.txt * Previously, the Shorewall and Shorewall6 install.sh scripts did two things wrong with respect to the /etc/shorewall[6]/routes file: + The existing file was unconditionally removed. + A skeleton file was not installed when SPARSE was not set in the shorewallrc file. Additionally, the installer would remove /etc/shorewall[6]/tcstart * The Shorewall-init install.sh script previously refused to replace /sbin/ifup-local and /sbin/ifdown-local when those files has been installed by an earlier version of Shorewall-init. * Previously, Shorewall-init's integration with NetworkManager was incomplete on SuSE with the result that NetworkManager interface change events were not processed. That has been corrected. * Beginning with Shorewall 4.5.8, Shorewall6 has interpreted /32 networks as hosts (/128). /32 IPv6 networks are once again handled correctly. * Using names such as such as EF, BE, CS1, ... for DSCP didn't work previously. Thibaut Chèze has provided a fix. * An incorrect range test prevented DSCP classes CS6 and CS7 from being accepted. The test has been corrected and those classes are now allowed. - spec file changes * rebased systemd.patch * added shorewall-init-4.5.15-install.patch and removed shorewall-init-4.5.2-install.patch- Update to version 4.5.14 For more details see changelog.txt and releasenotes.txt * Previously, a list of IPv6 host addresses where each address was enclosed in square brackets generated a fatal compile-time error. Such lists are now handled correctly. * The Shorewall 'load', 'reload' and 'export' commands have now been modified to use a shorewallrc file in a remote system's export directory. If the directory layout of the remote system differs from that of the administrative system, then the remote system's export directory should contains a copy of that system's shorewallrc file. * A syntax error in the Shorewall uninstall.sh file has been eliminated. * The contents of the various configpath files have been corrected. * The Shorewall uninstall.sh script previously failed to remove the macro files from ${SHAREDIR}/shorewall. Those files are now removed. * The 'version -a' command now prints the correct shorewall-core version when it is run from shorewall6, shorewall-lite and shorewall6-lite. * It is now possible to specify a port or port range along with an address variable in the ADDRESSES column of/etc/shorewall/masq. Example: [#]INTERFACE SOURCE ADDRESS PROTO DEST [#] PORT(S) eth0 172.20.4.0/24 ð0:44 tcp 45 Previously, this usage generated a fatal compilation error. * Port numbers and service names may now be specified with the UDPLITE protocol. * The SUBSYSLOCK setting in the default shorewall6.conf file has been changed from /var/lock/subsys/shorewall to /var/lock/subsys/shorewall6. - rebased systemd.patch- Update to version 4.5.13 For more details see changelog.txt and releasenotes.txt * If a chain consisted of a single RETURN rule, optimize level 4 would handle it incorrectly by moving the RETURN rule to the chain(s) that jumped to the single-rule chain. The optimizer now simply eliminates the chain and rule. As part of this change, the optimizer now deletes trailing RETURN rules from chains. * If a default inline action was specified with parameters, the compiler would fail with an internal error. * The compiler was mis-handling simple arithmetic expressions consisting of a single number, evaluating the number as '' rather than as its numberic value. - Rebased systemd.patch- Update to version 4.5.12 For more details see changelog.txt and releasenotes.txt * This release contains the defect repairs from Shorewall 4.5.11.1 and 4.5.11.2. * Two defects associated with 'update -D' have been corrected. + shorewall.conf.bak is no longer deleted. + files that are not changed no longer have their mtime updated. * Inline actions in the RELATED and ESTABLISHED sections now work correctly. * The 'dropInvalid' built-in function now works correctly. * The compiler now generates an error when a protocol list is used in a context where only a single protocol name/number is accepted. * The generated script now correctly deletes Traffic Control configurations when CLEAR_TC=Yes. Previously, the configurations on interfaces with a '@xxxxxx' suffix in their names were not cleared. * Under very rare circumstances, optimize level 4 could leave a rule that jumped to a non-existant chain, causing iptables-restore to fail. * If an error was raised while compiling a default action, a Perl diagnostic could appear and the Shorewall error message would not be printed. * It is once again possible to use DNS names in rules without an interface name.- Added systemd.patch to fix the exec path (bnc# 798525)- Update to 4.5.11.2 For more details see changelog.txt and releasenotes.txt * Corrected fix 2 from 4.5.11.1. * 4.5.11.1 Beginning with Shorewall 4.5.10, if the name of an optional interface contained one or more characters that are not valid in a shell function name, then the generated script would fail with a "syntax error: bad function name" shell diagnostic. That problem has been corrected so that a valid function name is generated. * The kernel modules supplied by xtables-addons are now listed in the modules.xtables files. They were previously omitted.- Update to 4.5.10.1 For more details see changelog.txt and releasenotes.txt * Correct typo in conntrack module- Update to 4.5.10 For more details see changelog.txt and releasenotes.txt * This release includes all defect repair included in 4.5.9.1-4.5.9.3. * Under rare circumstances, optimize level 16 could produce invalid iptables-restore input which would cause start/restart to fail. * Before this release, the 'started' script was run prior to copying the temporary script file (e.g., /var/lib/shorewall/.start) to /var/dir/shorewall/firewall. If the script failed, the copy would not take place even though the firewall had started successfully. The script is now copied before running the 'started' script. If you compare the script generated by this release with one generated by a prior release, We suggest that you ignore whitespace changes (e.g., use the '-w' option in diff); that way, you can see the actual change more clearly. * AUTOCOMMENT=No now works correctly; previously, it behaved the same as AUTOCOMMENT=Yes. * A harmless extraneous comma has been deleted from the rule generated by action.RST.- Update to 4.5.9.2 For more details see changelog.txt and releasenotes.txt * Previously, the rules in the 'routemark' chain did not specify a mask in the MARK target. While a mask isn't strictly necessary in those rules, one has been added to ally fears of those who read the generated ruleset. Note: The 'routemark' chain is used to apply provider marks to packets received from 'track' provider interfaces. It is traversed early in the mangle PREROUTING chain when no other marks have yet been applied to the packet. * If exclusion was used with TPROXY in the tcrules file, an invalid iptables ruleset was generated causing start and restart commands to fail when running iptables-restore. * Previously, if a provider and its interface had the same name, then the 'enable' command would not work on that interface.- Update to 4.5.9.1 For more details see changelog.txt and releasenotes.txt * Previously, using a wildcard interface name in a rule would result in this error: ERROR: Invalid ipset name (ppp+) : ... Such entries are now handled correctly. * The shorewall-masq(5) manpage incorrectly stated that the SOURCE column may use exclusion with an interface name (e.g., eth1:!1.2.3.4). That hasn't been the case for some time. To accomplish the same thing, do this: eth0 1.2.3.4 NONAT eth0 eth1 Note: Using an interface name in the SOURCE column is deprecated. * Previously, if a MARK was specified for a tc class that explicitly specified a class number, the following spurious warning message was issued: WARNING: Class NUMBER ignored -- INTERFACE does not have the 'classify' option That warning message is no longer issued. * With Shorewall 4.5.9, there were issues when the ipset utility was not installed, some of which prevented Shorewall from starting. - Adjust for the usr move * change /sbin/service to /usr/service in requires and setting links- Update to 4.5.9 For more details see changelog.txt and releasenotes.txt * This release contains all defect repair from Shorewall 4.5.8.2. * A typo has been corrected in the shorewallrc.default file. * Beginning with Shorewall 4.5.7.2, Shorewall unconditionally restores the provider mark as the first rule in the mangle table OUTPUT and PREROUTING chains. Previously, the provider mark was restored only if it was non-zero. It has become clear that some users need it one way while others need it the other way. To resolve this issue, a RESTORE_ROUTEMARKS option has been added to shorewall.conf and shorewall6.conf. When this option is set to Yes (the default), the 4.5.7.2 approach is used (always restore the mark, even if it is zero); when it is set to No, the pre-4.5.7.2 behavior is retained (only restore the mark if it is non-zero). * Two error messages produced by the RST action have been corrected. They previously referred to errors in the NotSyn action rather than RST.- Update to 4.5.8.2 For more details see changelog.txt and releasenotes.txt * The 'shorewall show' command previously produced no output. That command now works with ipset versions 4 and later. * The change in 4.5.8.1 that enabled industry-standard IPv4 address representation broke the ability to place IP ranges or IPv6 ipsets in the hosts file. Those abilities have been restored. * The treatment of the SYSTEMD and INITFILE shorewallrc variables has been inconsistent. The -lite installers ignore INITFILE when SYSTEMD is specified, while the other installers do not. Now, the -lite installers install the .service file if SYSTEMD is specified and they install the sysv-init script if INITFILE is specified. That is consistent with the behavior of the other installers.- Update to 4.5.8.1 For more details see changelog.txt and releasenotes.txt * When ipset version 5 or later was installed, the 'shorewall show dynamic ' command produced no outout and the 'add' command failed with this error message: Zone , interface does not have a dynamic host list" * When generating ipset names for dynamic zones, the compiler was dropping dashes ('-') from the interface name and adding a unique suffix. For example the ipset for zone 'foo' and interface 'bar-if' might be 'foo_barif_1'. Dashes are now retained so that the generated set name in this example will be 'foo_bar-if'. This change also allows the 'add' and 'delete' commands to work correctly when the interface name contains one or more dashes. Although dash is documented as being an accepted character in ipset names, names containing a dash would generate an error in some contexts. That has also been corrected. * In most contexts, Shorewall6 has required IPv6 addresses to be enclosed in either angled brackets ( <....> , deprecated) or in square brackets ([....]). This includes network addresses, where both the IPv6 address and the VLSM are required to be within the brackets (e.g., [2001;470:b:787::/64]). This differs from the industry-standard network form in which the IPv6 address is enclosed in square brackets and the VLSM is outside of the brackets (e.g., [2001:470:b:787::]/64). Beginning with this release, the industry-standard representation is also accepted by Shorewall6. Note: Those of you who read the patches will probably have noticed that much of this change was actually in 4.5.8; because the change was commited late in the 4.5.8 release cycle, we chose not to document the change until it had undergone additional testing. - Added 0001-remote_fs.patch for shorewall-init sysv-init scripts rebased patches to -p1 level- Update to 4.5.8 For more details see changelog.txt and releasenotes.txt * This release includes the defect repair from Shorewall 4.5.7.1. * The restriction that TTL and HL rules could only be placed in the FORWARD chain prevented these rules from being used to hide a router from traceroute[6]. It is now allowed to place these rules in the PREROUTING chain by following the specification with ':P' (e.g., 'TTL(+1):P'). * Previously, the macro.SNMP macro opened both UDP ports 161 and 162 from SOURCE to DEST. This is against the usual practice of opening these ports in the opposite direction. Beginning with this release, port 162 is opened in to SOURCE to DEST as before, while port 161 is opened from DEST to SOURCE. * Previously, when compiling for export, both /etc/shorewall/shorewall[6].conf and the shorewall[6].conf in the configuration directory were processed. Now, only the copy in the configuration directory is processed. * The 'iptables_raw' module has been added to the modules.essential file. * Several corrections have been made to the Fedora/Redhat init script for Shorewall-init. * The parameter to the 'try' command is now documented in the shorewall(8) and shorewall6(8) manpages. * Some redundant interface-option rules have been removed in configurations with multiple zones configured on a single interface. * Previously, when compiling for export, the compilation would fail if the setting of SHAREDIR in the firewall's shorewallrc was different from the setting on the admin system. Such compilations now succeed. - For openSUSE 12.3 provide only systemd and drop sysv-init scripts- Since shorewall executables are in /usr/sbin systemd service files now reflect the correct location- Update to 4.5.7.1 For more details see changelog.txt and releasenotes.txt * When using IPSEC in a multi-ISP configuration, it is possible for the kernel to mis-route ESP packets. To date, this problem has only been observed on a system running a 3.5 kernel where traffic is being tunneled through GRE which is in turn being tunneled via IPSEC. This Shorewall release includes a low-cost workaround. * The Netfilter team have announced their intention to remove the NOTRACK target in favor of 'CT --notrack'. Shorewall will now map NOTRACK to 'CT --notrack' if the CT Target is available. * Previously, the current COMMENT was not being cleared after the blrules file was processed, causing that COMMENT to be used on entries in the rules file. That defect has been corrected. - Add a note to the spec for reviewer explaining the configure command usage - Removed following opensuse specific patches as they are merged to upstream now + shorewall-lite-4.5.2-init.patch + shorewall6-4.5.2-init.patch + shorewall6-lite-4.5.2-init.patch + shorewall-init-4.4.21_init_sh.patch - Added 001-required-stop-fix patch for shorewall-lite/init.suse.sh- Update to 4.5.7 For more details see changelog.txt and releasenotes.txt * This release includes the defect repair from Shorewall 4.5.6.2. * The command 'shorewall enable pppX' could fail with the ip diagnostic Error: either "to" is duplicate, or "weight" is a garbage. Shorewall now generates the correct ip command. * Optimize level 4 could previously combine two rules that each specified the 'policy' match, leading to this iptables-restore failure: policy match: multiple elements but no --strict The optimizer now avoids combining such rules. While this is a long-standing defect in the optimizer, it was exposed by changes in Shorewall 4.5.6. * There were several cases where hard-wired directory names appeared in the tarball installers. These have been replaced with the appropriate shorewallrc variables. * A defect in RHEL 6.3 and derivatives causes 'shorewall show capabilities' to leave an empty ipset in the configuration. The same defect can cause the Shorewall compiler to similarly leave an empty ipset behind. This Shorewall release has a workaround for this problem. - Added Bash >= 4 to BuildRequires - Fix builds for Fedora- Update to 4.5.6.2 For more details see changelog.txt and releasenotes.txt * The compiler now generates an error when a SOURCE interface is specified in a rule where the SOURCE zone is the firewall itself. * Previously, entries in /etc/shorewall/notrack that specified a Vserver zone in the SOURCE column were omitted from the generated ruleset. * The set of helpers available in the notrack file and in the HELPER column of the tcrules file was incorrect: - The Amanda helper requires a UDP port -- Shorewall was requiring TCP. - The H323 module supplies two helpers: 'RAW' and 'Q.931'; Shorewall only accepted 'h323'. - The Netbios NS module supplies the 'netbios-ns' helper; Shorewall only accepted 'netbios_ns'. * The conditional directive '?IF 0' generated an error from the compiler. It now causes following lines to be omitted.- Update to 4.5.6 For more details see changelog.txt and releasenotes.txt * This release includes the defect repairs from Shorewall 4.5.5.1 through 4.5.5.4. * Previously, the tcrules file was not processed when TC_ENABLED=No. That meant that to use features like TPROXY, it was necessary to set TC_ENABLED=Yes and create a dummy /etc/shorewall/tcstart file. Now, only MANGLE_ENABLED=Yes is required.- Update to 4.5.5.3 For more details see changelog.txt and releasenotes.txt * When logical interface names were used, an entry in tcrules that included a classid could result in the compiler failing with this Perl diagnostic: Can't use an undefined value as an ARRAY reference at /usr/share/shorewall/Shorewall/Tc.pm line nnn, <$currentfile> line 20.- Update to 4.5.5.1 For more details see changelog.txt and releasenotes.txt * The change in Shorewall 4.5.4 that cleared the 'default' table if there were no 'fallback' providers broke multiple 'fallback' providers that don't supply a weight. The symptoms were that there were host routes to the default gateways in the 'default' routing table but no default routes through those gateways. This has now been corrected and multiple 'fallback' routes are once again supported. * When a logical device name was specified in the REDIRECTED INTERFACES column of /etc/shorewall/tcdevices, that name was used in the generated script rather than the devices's physical name. Unless the two were the same, this caused start/restart failure. Shorewall now uses the physical name.- Update to 4.5.5 For more details see changelog.txt and releasnotes.txt * This release includes all defect repair from Shorewall 4.5.4.1 and 4.5.4.2. * The Shorewall compiler sometimes must defer generating a rule until runtime. This is done by placing shell commands in its internal representation of a chain. These commands are then executed at run time to create the final rule. If all of the following were true, then an incorrect ruleset could be generated: + Optimization level 4 was set. + A chain (chain A) containing shell commands had three or fewer rules and commands. + The last rule in a second chain was a conditional jump to chain A. Under these conditions, the rules and commands in Chain A * The Shorewall-core configure and configure.pl script were treating SYSCONFDIR as a synonym for CONFDIR making it impossible to set SYSCONFDIR.- Update to 4.5.4.2 For more details see changelog.txt and releasenotes.txt * The problems corrected section of the 4.5.4.1 release notes was missing the third problem corrected in the release. It has now been added. * A number of problems in Shorewall-init have been corrected: + If more than one product was listed in the PRODUCTS setting in /etc/default/shorewall-init (/etc/sysconfig/shorewall-init) then the second product would not be started/stopped. + Shorewall-init used 'restart' in response to an optional provider interface coming up. If the interface has been marked unusable (1 in the interface's .status file), then the 'restart' would not enable the interface. + Shorewal-init produced a lot of clutter on the console during boot. You may now specify a LOGFILE in /etc/default/shorewall-init (/etc/sysconfig/shorewall-init) and all output produced by up and down events will be sent to that log. If no log is specified, this output is sent to /dev/null. * The order in which the compiler processes line-continuation (line ending in '\') and conditional-inclusion directives (?IF, ?ELSE, and ?ENDIF) has been reversed. Previously, the compiler built a concatenated line, then checked to see if the line began with ?IF, ?ELSE or ?ENDIF. Now, the compiler checks for ?IF, ?ELSE or ?ENDIF first and prevents those lines from becoming part of the concatenation. * Two issues with the shorecap programs have been corrected: + The Shorewall6-lite version failed to run with the message: /usr/share/shorewall6-lite/lib.cli: No such file or directory + The Shorewall-lite version would not run if SHAREDIR was set to a value other than /usr/share in shorewallrc. * The Shorewall 4.5.2.3 fix for the Shorewall-core installer's handling of --host=linux was not brought forward into 4.5.3. It has been included again in this version. * Single-line embedded PERL and SHELL commands have been re-enabled.- Update to 4.5.4.1 For more details see changelog.txt and releasenotes.txt * Beginning with Shorewall 4.4.22, the 'pptpserver' tunnel type has been configured as a PPTP client running on the firewall rather than as a server on the firewall. It is now correctly configured as a server. * The shorewall-accounting (5) and shorewall6-accounting (5) documentation for the IPSEC column is incorrect. Rather than 'accountin' and 'accountout', the chain names should be 'accipsecin' and 'accipsecout'. * IPSEC accounting did not work if the accounting file was sectioned. Beginning with this release, the IPSEC column can be specified in any section. As always, the IPSEC column contains a comma-separated list of items. In the FORWARD chain, the first (or only) item in the list must be either 'in' or 'out' to indicate whether the rule matches incoming packets that have been decrypted ('in') or outgoing packets that will be encrypted ('out'). There are no restrictions with respect to which chain IPSEC rules can appear in a sectioned file.- Update to 4.5.4 For more details see changelog.txt and releasenotes.txt * When EXPORTMODULES=No in shorewall.conf, the error messages have been eliminated * If the configuration settings in the PACKET MARK LAYOUT section of shorewall.conf (shorewall6.conf) had empty settings, the 'update' command would previously set them to their default settings. It now leaves them empty. * Previously, Shorewall used 'unreachable' routes to null-route the RFC1918 subnets. This approach has two drawbacks: - It can cause problems for IPSEC in that it can cause packets to be rejected rather than encrypted and forwarded. - It can return 'host unreachable' ICMPs to other systems that attempt to route RFC1918 addresses through the firewall. To eliminate these problems, Shorewall now uses 'blackhole' routes. Such routes don't interfere with IPSEC and silently drop packets rather than return an ICMP. * The 'default' routing table is now cleared if there are no 'fallback' providers. * Tproxy implementation has been reworked. For more details please consult the releasenotes.txt and changelog.txt- Update to 4.5.3.1 For more details see changelog.txt and releasenotes.txt * Previously, nested conditionals did not work correctly in all cases. In particular: ?IF $FALSE ?IF $FALSE foo bar ?ENDIF baz bop ?ENDIF In this case, the lines 'baz' and 'bodyp' were incorrectly included when they should have beeen omitted. * The 'balance' routing table is now cleared if there are no 'balance' providers. * Previously, the compiler generated an invalid 'ip add route' command if an IPv6 provider had '-' in the GATEWAY column. * As noted in the Migration Considerations, the generated firewall script maintains the interface .status files used by LSM and SWPING. Up to now, however, the 'disable' command did not update the .status file. That has been corrected. As part of the change, the 'isusable' script is no longer consulted by the'enable' command.- Update to 4.5.3 For more details see changelog.txt and releasenotes.txt * The LOCKFILE setting in shorewall.conf and shorewall6.conf had inadvertently become undocumented. It is now documented again. * In an initial installation of Shorewall, Shorewall6, Shorewall Lite or Shorewall6 Lite was done under Shorewall 4.5.2, then the firewall would not start up at boot even though the installer indicated that it would. That defect has been corrected. * Previously, when per-IP rate limiting was invoked, the compiler would use the deprecated '--ratelimit' option, even if the preferred '--ratelimit-upto' option was available. Now, the compiler uses the preferred option if it is supported by the installed version of iptables. * Prior to this release, using a manual chain in the ACTION column of a macro body generated an error: ERROR: Invalid Action (mychain) in macro, macro.FOO (line ...) This now works correctly and generates a jump to the specified manual chain. * Previously, a line with the single word COMMENT in the tunnels file would generate the following error: ERROR: Zone must be specified Now, such a line correctly resets the current rule comment. * In Shorewall 4.5.2, the MARK column in the tcrules file was renamed to ACTION but only 'mark' was accepted in the alternate specification format. Now both 'mark' and 'action' are accepted. * The alternative method of provider balancing using the statistic match feature of iptables/Netfilter was missing some logic, with the result that it was ineffective. * If a logical interface name was used by itself in the SOURCE column of the rtrules file, the generated routing rule would contain the logical name rather than the physical name.- Update to 4.5.2.4 For more details see changelog.txt and releasenotes.txt * The 'shorewall reset' command now correctly resets the IPv4 packet and byte counters; previously, it was resetting the IPv6 counters. * The Shorewall installer now modifies the Chains.pm file for Digest::SHA depencency when $DESTDIR is set, provided that $BUILD = $HOST. This allows rpm to automatically generate the correct module dependency.- Update to 4.5.2.2 For more details see changelog.txt and releasenotes.txt * If a shorewallrc file is passed to the 4.5.2.1 Shorewall-core install.sh, subsequent compilations fail. The error message indicates that the compiler is looking for lib.core, but the pathname has embedded spaces. * The 4.5.2.1 Shorewall/Shorewall6 installer installs an incorrect file as /etc/shorewall[6]/Makefile.- Update to 4.5.2.1 For more details see changelog.txt and releasenotes.txt * In release 4.5.2, if an INCLUDE directive appeared inside a ?IF ... ?ENDIF sequence, then the following error would be generated after the included file had been read: ERROR: Missing ?ENDIF to match the ?IF at line ... * An error in the shorewallrc.apple file has been corrected. * The shorewallrc.redhat file has been change to conform to Fedora packaging guidelines. * The output of the 'version -a' command reflected incorrect versions when Shorewall-core 4.5.2 was installed. That has been corrected.- Update to 4.5.2 For more details see changelog.txt and releasenotes.txt * The generated firewall script includes code to automatically create ipsets that are referenced but that don't exist. That code was broken in releases 4.4.22 and later. This defect has been corrected. As part of the fix, the generated script will now issue a warning message when it creates an ipset. * The 'mss' option is now supported in the /etc/shorewall[6]/hosts files. See the manpages for details. * It is now possible to conditionally include or omit configuration entries based on the settings of shell variables. See http://www.shorewall.net/configuration_file_basics.htm for details. * The MARK/CLASSIFY column in /etc/shorewall[6]/tcrules has been renamed ACTION to reflect the expanded set of actions that can be specified in the column. * Some users are finding these ipset warnings objectionable: + Warning when a referenced ipset does not exist. + Warning when using [src] in a destination column or [dst] in a source column. These warnings may now be suppressed by setting IPSET_WARNINGS=No in shorewall.conf and/or shorewall6.conf.- Update to 4.5.1.1 For more details see changelog.txt and releasenotes.txt * When checking or compiling for export (-e option), /sbin/shorewall would previously issue a warning message if the SHOREWALL_SHELL specified in the remote firewall's shorewall.conf did not exist. * The changes to TOS handling in 4.5.1 are incompatible with older releases such as RHEL5 and derivatives. That has been corrected. * The rules compiler now verifies that the protocol is TCP, UDP, SCTP or DCCP when checking a port range (low:high or low-high). * Previously, start or restart using the init script would fail with an error message referencing 'SHOREWALL_INIT_SCRIPT'. This defect was not visible to users that set AUTOMAKE=Yes or that run Shorewall-init.- Update to 4.5.1 For more details see changelog.txt and releasenotes.txt * This release includes all defect repair from versions 4.5.0.1-4.5.0.3. * A typo has been corrected in the blrules man pages. * Previously, if the interface appearing in the HOSTS column of /etc/shorewall6/hosts was not defined in /etc/shorewall6/interfaces, then the compiler would terminate with a Perl diagnostic: Can't use an undefined value as a HASH reference at /usr/share/shorewall/Shorewall/Zones.pm line 1817, <$currentfile> line ... * The compiler was previously failing to validate the contents of the LENGTH and TOS columns in /etc/shorewall/tcrules. The contents of those columns are now validated by the compiler and an appropriate error message is issued if validation fails. * The column headings in the tos files are now in the proper order. Previously, the SOURCE PORT and DEST PORT columns were reversed.- Update to 4.5.1-Beta2 For more details see changelog.txt and releasenotes.txt * A typo has been corrected in the blrules man pages. Previously, if the interface appearing in the HOSTS column of /etc/shorewall6/hosts was not defined in /etc/shorewall6/interfaces, then the compiler would terminate with a Perl diagnostic: Can't use an undefined value as a HASH reference at /usr/share/shorewall/Shorewall/Zones.pm line 1817, <$currentfile> line ...- Update to 4.5.1-Beta For more details see changelog.txt and releasenotes.txt * The packing of the Shorewall products has been changed. Beginning with this release, the packages are: + Shorewall Core -- Core libraries installed in /usr/share/shorewall/ + Shorewall -- Requires Shorewall Core. Together with Shorewall Core, provides IPv4 firewalling. + Shorewall6 -- Requires Shorewall. Provides IPv6 firewalling. + Shorewall Lite -- Requires Shorewall Core. As before. + Shorewall6 Lite -- Requires Shorewall Core. As before. + Shorewall Init -- As before- Update to 4.4.27.3 For more details see changelog.txt and releasenotes.txt * Previously, if USE_DEFAULT_RT=Yes and 'loose' was specified on all providers, then no routing rule targeting the main routing table was generated. This has been corrected so that USE_DEFAULT_RT=Yes always results in such a rule at priority 999. * Shorewall 4.4.27 broke Shorewall-init functionality. It is restored in this release.- Update to 4.4.27.2. For more details see changelog.txt and releasenotes.txt * A long-standing problem with Shorewall's 'save' facility has been discovered. The defect can cause rules to be dropped during 'save' so that they are not available to be reapplied during 'restore'. This can occur in 'safe-restart' when the prompt is not acknowledged or when it is acknowledged with 'n'. The problem can occur when: a) There are IPSEC zones or hosts present; and b) GOTO Target support is available in the kernel and iptables. Example of rule that will be dropped: - A eth2_fwd -m policy --dir in --pol ipsec -g AAA_frwd The defective code has been corrected so that rules are no longer dropped.- Update to 4.4.27.1. For more details see changelog.txt and releasenotes.txt * When optimization category 4 is used, unconditional jumps at the end of chains are replaced with the rules in the target chain. This can result in rulesets that are considerably larger than necessary. Beginning with this release, replacement will only occur if: a) The jump is the only reference to the target chain; or b) The target chain contains 3 or less rules. * The feature introduced in 4.4.25 that allowed provider names in the 'enable' and 'disable' commands was only implemented for 'enable'. It is now implemented for 'disable' as well. * When detecting IPv6 global addresses through an interface, Shorewall6-generated scripts were ignoring addresses beginning with '3'. * A typo in /usr/share/shorewall/prog.header caused an 'awk' script to fail when saving a multi-hop default route during 'start'. * The value '0' is once again accepted in the IN_BANDWIDTH columns of tcinterfaces and tcrules, and causes no ingress policing to be configured. * MARK_IN_FORWARD_CHAIN=Yes no longer generates an error when $FW:
is entered in the SOURCE column of the tcrules file. * In most Shorewall 4.4 versions, if an exported params file (EXPORTPARAMS=Yes in shorewall.conf) generates any output to stdout, then the following messages would appear during start/restart: Compiling /etc/shorewall/routestopped... Shorewall configuration compiled to /var/lib/shorewall/.restart printf: 214: Build: expected numeric value printf: 214: ipset: expected numeric value printf: 214: of: expected numeric value Processing /etc/shorewall/params ... Build ipset of blacklisted addresses Usage: /var/lib/shorewall/.restart [ options ] is one of: start stop ... This has now been corrected.- Update to 4.4.26.1 For more details see changelog.txt and releasenotes.txt * The Perl module version numbers have now been updated to reflect changes in 4.4.26. * The 4.4.26 rules compiler does not issue a warning when a capabilities file was generated with Shorewall 4.4.25, even though new capabilities were added in 4.4.26. This has been corrected so that a warning is generated. * When TC_ENABLED=Shared, CLASSIFY rules could not be used in the tcrules file. Thanks to a patch from Chris Boot, this now works as expected. * The quoted part of the progress message 'Provider "..." compiled' was inadvertently omitted by a change in Shorewall 4.4.23. That text has now been restored.- Update to 4.4.26 For more details see changelog.txt and releasenotes.txt * This release includes all corrections included in 4.4.25.1 through .3. * In 4.4.25, ACCEPT behaved in the BLACKLIST section the same way as in the other rules file sections. This could lead to connections being accepted inadvertently. Now, ACCEPT behaves like WHITELIST; that is, it exempts the packet from the remaining rules in the BLACKLIST section. * Previously, Shorewall did not detect the ULOG and NFLOG capabilities. This lead to run-time failures during 'start' and 'restart' as well as confusing error messages during compilation when ULOG or NFLOG was used when the LOG target was not available. ULOG and NFLOG are now detected capabilities so, if you use a capabilities file, you will need to regenerate it in order to use these log levels. * The SAME tcrules target was broken in Shorewall 4.4.22. It now works correctly again. * Previously, 'shorewall6 update' did not update shorewall6.conf. The command now works as expected. * In earlier releases, the compiler was attempting to process the params file before it was aware of the setting of CONFIG_PATH. This could cause the params file to be missed if it was not located in /etc/shorewall[6] or in the directory named in the start (restart,compile,check,...) command. Now, /sbin/shorewall[6] passes $CONFIG_PATH to the compiler (/usr/share/shorewall/compiler.pl) in the new '--config_path' option.- Update to 4.4.25.3 For more details see changelog.txt and releasenotes.txt * Correction of the produced ruleset when wildchars are used in the zone configuration- Update to 4.4.25.2 For more details see changelog.txt and releasenotes.txt * Previously, if all the following were true: - AUTOMAKE=Yes - Current compiled script (/var/lib/shorewall/firewall or /var/lib/shorewall6/firewall) up to date - LEGACY_FASTSTART=No - There was a saved configuration then rather than start the current configuration, 'shorewall start -f' or 'shorewall6 start -f' would incorrectly restore the saved configuration. * The DropSmurfs and TCPFlags actions are now available in Shorewall6. They were previously omitted from the IPv6 actions.std file. * The 'rawpost' table was previously omitted from the output of the 'dump' command. It is now displayed. * Previously, if a configuration contained more than one wildcard interface (physical name ending in '+'), then the generated script might not work properly with Shorewall-init. This defect dates back to the introduction of Shorewall-init.- Update to 4.4.25.1 For more details see changelog.txt and releasenotes.txt * A'refresh' command with no chains or tables specified will now reload chains created by entries in the BLACKLIST section of the rules file. * The rules compiler previously failed to detect the 'Flow Filter' capability. That capability is now correctly detected. * The IN_BANDWIDTH handling changes in 4.4.25 was incompatible with moribund distributions such as RHEL4. Restoring IN_BANDWIDTH functionality on those releases required a new 'Basic Filter' capability.- Update to 4.4.25 For more details see changelog.txt and releasenotes.txt * A defect in the optimizer that allowed incompatible rules to be combined has been corrected. * Routes and rules added as a result of entries in /etc/shorewall6/providers were previously not deleted by 'stop' or 'restart'. Repeated 'restart' commands could therefore lead to an incorrect routing configuration. * Previously, capital letters were disallowed in IPv6 addresses. They are now permitted. * If the COPY column in /etc/shorewall6/providers was non-empty, previously a run-time error could occur when copying a table. The diagnostic produced by ip was: Either "to" is duplicate, or "cache" is garbage * When copying IPv6 routes, the generated script previously attempted to copy 'cache' entries. Those entries are now omitted. * Previously, the use of large provider numbers could cause some Shorewall-generated routing rules to be ineffective. * In some contexts, IPv6 addresses of the form ::i.j.k.l were incorrectly classified as invalid by the configuration compile * New blacklisting facility implemented. For this and other new features please refer to the releasenotes.txt- Update to 4.4.24.1 * When the logical and physical name of an interface were different, including the logical name in the tcdevices file caused the device's classes to be ignored. This defect was introduced in Shorewall 4.4.23. * Remove the ExecReload from all services, since systemd doesn't allow an ExecReload for OneShot services. Also, add a missing After=network.target to shorewall.service. - Fixed Url typo in the spec- Update to 4.4.24. For more details see changelog.txt and releasenotes.txt * This release includes all problem corrections from releases 4.4.23.1-4.4.23.3. * The 'fallback' option without = previously produced invalid 'ip' commands.- reworked systemd related rpm macros for 12.1- Update to 4.4.23.3 * When providers were present that specify neither 'balance' nor 'fallback', then the following message was issued during compilation and 'enable' of the interface would fail. Use of uninitialized value $weight in concatenation (.) or string at /usr/share/shorewall/Shorewall/Providers.pm line 644. * TC_ENABLED=Shared was broken in Shorewall 4.4.23, 4.4.23.1 and 4.4.23.2. It produced a shell script with syntax errors. - Backported patches removed.- Update to 4.4.23.2 For more details see changelog.txt and releasenotes.txt - Support of systemd for openSUSE 12.1 - Backported patches WEIGHT.patch and SHARED.patch fixing a harmless message and traffic shaping issues respectively- Update to 4.4.22.3. Corrections in this release are below. * On older distributions where 'shorewall show capabilities' indicates 'Connection Tracking Match: Not Available', harmless Perl diagnostics like the following could be issued: Use of uninitialized value $list in pattern match (m//) at /usr/share/shorewall/Shorewall/Config.pm line 1273, <$currentfile> line 14. Use of uninitialized value $list in split at /usr/share/shorewall/Shorewall/Config.pm line 1275, <$currentfile> line 14. * On older distributions where 'shorewall show capabilities' indicates 'Mangle FORWARD Chain: Not Available', entries in the ecn file generated the following Perl Diagnostic: Use of uninitialized value in hash element at /usr/share/shorewall/Shorewall/Chains.pm line 1119. * Previously, if a provider interface was derived from an optional wildcard entry in /etc/shorewall/providers, then the interface was never considered to be usable. Example: /etc/shorewall/interfaces: [#]ZONE INTERFACE BROADCAST OPTIONS net ppp+ - optionsl /etc/shorewall/providers:net [#]PROVIDER NUMBER MARK INTERFACE ... ISP1 1 1 ppp0 * When 'shorewall update' or 'shorewall6 update' results in no change to the .conf file, a message is issued, the .bak file is removed and the command terminates without error.- patch the Perl diagnostic with a WARNING message.- Update to 4.4.22.2 * On older distributions where 'shorewall show capabilities' indicates 'Connection Tracking Match: Not Available', Shorewall 4.4.22 and 4.4.22.1 generated invalid iptables-restore input. * Previously, the compiler always placed '#!/bin/sh' on the first line of the generated script. It now uses the setting of SHOREWALL_SHELL on that line rather than '/bin/sh'. Note that SHOREWALL_SHELL defaults to '/bin/sh' so this change only affects those who specify a different shell. - Patched REDIRECT rule- Update to 4.4.22.1 * Previously, if the name of a zone began with 'all', then entries for that zone in /etc/shorewall/rules and /etc/shoreawll6/rules treated the name the same as 'all'. This defect is present in Shorewall 4.4.13 through 4.4.22. * Previously, when LOAD_HELPERS_ONLY=No, harmless iptables-restore warnings as follows could be generated: ... Running /usr/local/sbin/iptables-restore... - -set option deprecated, please use --match-set - -set option deprecated, please use --match-set IPv4 Forwarding Enabled- Update to 4.4.22. For more details see changelog.txt and releasenotes.txt * Under rare conditions, long port lists (>15 ports) could result in the following failure when optimization level 4 was enabled. Use of uninitialized value in numeric gt (>) at /usr/share/shorewall/Shorewall/Chains.pm line 1264. ERROR: Internal error in Shorewall::Chains::decrement_reference_count at /usr/share/shorewall/Shorewall/Chains.pm line 1264 * All corrections included in Shorewall 4.4.21.1. - A bug in recent versions of Shorewall that could result in rules that are wider in scope than intended was fixed by applying a patch by the upstream.- Update to 4.4.21.1 Changes in this release are: * A harmless Perl run-time "uninitialized variable" diagnostic has been eliminated from the compiler. The diagnostic was issued while displaying the capabilities. * As the result of a typo, an orphan filter chain named FORWAR could be created under rare circumstances. This chain was deleted by OPTIMIZE level 4. * The SNAT options --persistent and --randomize now work properly (/etc/shorewall/masq). * The LOGMARK log level was previously generated invalid iptables input making it unusable. That has been corrected. The syntax for LOGMARK is now: LOGMARK() where is a syslog priority (1-7 or debug, info, notice, etc.). Example rule: [#]ACTION SOURCE DEST PROTO DEST [#] PORT(S) LOG:LOGMARK(info) lan dmz udp 1234- Update to 4.4.21 For more details see changelog.txt and releasenotes.txt * The Shorewall and Shorewall6 'load' and 'reload' commands now use the .conf file in the current working directory. * The 'balance' and 'fallback' options in /etc/shorewall/providers have always been mutually exclusive but the compiler previously didn't enforce that restriction. Now it does. * The ipset modules are now automatically loaded by Shorewall6 when LOAD_HELPERS_ONLY=No is specified in shorewall6.conf. Additionally, there is now a /usr/share/shorewall6/modules.ipset file that lists all of the required modules. * TPROXY descriptions have been added to shorewall-tcrules(5) and shorewall6-tcrules(5).- Update to 4.4.20.3. Changes in this release are * Deprecated options have been removed from the .conf files. They remain in the man pages. * A simple configuration like the 'Universal' sample that includes a single wildcard interface ('+' in the INTERFACE column) produces a ruleset that blocks all incoming packets. As part of correcting this defect, which was introduced in 4.4.20.2, one or more superfluous rules (which could never match) have been eliminated from most configurations.- Update to 4.4.20.2 * A defect introduced in 4.4.20 could cause the following failure at start/restart: ERROR: Command "tc qdisc add dev eth0 parent 1:11 handle 1: sfq quantum 12498 limit 127 perturb 10" failed * The 'sfilter' interface option introduced in 4.4.20 was only applied to forwarded traffic. Now it is also applied to traffic addressed to the firewall itself. * Issues with iptables-restore is corrected * IPSEC traffic is now (correctly) excluded from sfilter. * The following incorrect warning message has been eliminated: WARNING: sfilter is ineffective with FASTACCEPT=Yes- Update to 4.4.20.1 * The address of the Free Software Foundation has been corrected in the License files. * The shorewall[6].conf file installed in /usr/share/shorewall[6]/configfiles is no longer modified for use with Shorewall[6]-lite. When creating a new configuration for a remote forewall, two lines need to be modified in the copy CONFIG_PATH=/usr/share/shorewall (or shorewall6) STARTUP_LOG=/var/log/shorewall-lite-init.log (or shorewall6-lite-init.log)- Update to 4.4.20 * Removed backported patches for openSUSE specific locations as they are incorporated in upstream. - Changes in 4.4.20 (for more read changelog.txt and releasenotes.txt) * Support for the AUDIT target has been added. AUDIT is a feature of the 2.6.39 kernel and iptables 1.4.10 that allows security auditing of access decisions.- Update to 4.4.19.4 * Previously, the compiler would allow a degenerate entry (only the BAND specified) in /etc/shorewall/tcpri. Such an entry now raises a compilation error. * Previously, it was possible to specify tcfilters and tcrules that classified traffic with the class-id of a non-leaf HFSC class. Such classes are not capabable of handling packets. Shorewall now generates a compile-time warning in this case and ignores the entry. If a non-leaf class is specified as the default class, then Shorewall now generates a compile-time error since that configuration allows no network traffic to flow. * Traditionally, Shorewall has not checked for the existance of ipsets mentioned in the configuration, potentially resulting in a run-time start/restart failure. Now, the compiler will issue a WARNING if: a) The compiler is being run by root. b) The compilation isn't producing a script to run on a remote system under a -lite product. c) An ipset appearing in the configuration does not exist on the local system. * As previously implemented, the 'refresh' command could fail or could result in a ruleset other than what was intended. If there had been changes in the ruleset since it was originally started/restarted/restored that added or deleted sequenced chains (chains such as ~lognnn and ~exclnnn), the resulting ruleset could jump to the wrong such chains or could fail to 'refresh' successfully. This issue has been corrected as follows. When a 'refresh' is done and individual chains are involved, then each table that contains both sequenced chains and one of the chains being refreshed is refreshed in its entirety. For example, if 'shorwall refresh foo' is issued and the filter table (which is the default) contains any sequenced chains, then the entire table is reloaded. Note that this reload operation is atomic so no packets are passed through an inconsistent configuration. * When 'shorewall6 refresh' was run previously, a harmless 'ip6tables: Chain exists' message was generated. - Reworked backported patches so shorewall still uses openSUSE specific locations - Fix the zone definitions in shorewall6/Samples6/zones examples- Update to 4.4.19.3 * incompatibility with gawk has been corrected * Previously, an entry in the USER/GROUP column in the rules and tcrules files could cause run-time start/restart failures if the rule(s) being added did not have the firewall as the source (rules file) and were not being added to the POSTROUTING chain (:T designator in the tcrules file). This error is now caught by the compiler. * Shorewall now insures that a route to a default gateway exists in the main table before it attempts to add a default route through that gateway in a provider table. This prevents start/restart failures in the rare event that such a route does not exist. * CLASSIFY TC rules can apply to traffic exiting only the interface associated with the class-id specified in the first column. * Fixes start of shorewall6 (bnc#693162)- Update to 4.4.19.2 For more details see changelog.txt and releasenotes.txt * In Shorewall-shell, there was the ability to specify IPSET names in the ORIGINAL DEST column of DNAT and REDIRECT rules. That ability, inadvertently dropped in Shorewall-perl, has been restored * Several problems with complex TC have been corrected: * Double exclusion involving ipset lists was previously not detected, resulting in anomalous behavior.- Update to 4.4.19.1 * Eliminate silly duplicate rule when stopped. * Don't believe that all nexthop routes are default routes. * Restore :- in masq file. * Correct default route safe/restore. - backported paths related patches from git as they are in mainstream now- Shorewall packages have their openSUSE specific locations now * Executable files in /usr/lib/shorewall*. These include; getparams compiler.pl wait4ifup shorecap ifupdown * Perl Modules in /usr/lib/perl5/vendor_perl/PERL_VERSION/Shorewall. - Updated to 4.4.19 (for more info please consult changelog.txt and releasenotes.txt) * Corrected a problem in optimize level 4 that resulted in the following compile-time failure Can't use an undefined value as an ARRAY reference at /usr/share/shorewall/Shorewall/Chains.pm line 862. * If a DNAT or REDIRECT rule applied to a source zone with an interface defined with 'physical=+', then the nat table 'dnat' chain might have been created but not referenced. This prevented the DNAT or REDIRECT rule from working correctly. * Previously, if a variable set in /etc/shorewall/params was given a value containing shell metacharacters, then the compiled script would contain syntax errors. * The pathname of the 'conntrack' binary was erroneously printed in the output of 'shorewall6 show connections'. * Correct a problem whereby incorrect Netfilter rules were generated when a bridge with ports was given a logical name. * If a bridge interface had subordinate ports defined in /etc/shorewall/interface, then an ipsec entry (either ipsec zone or the 'ipsec' option specified) in /etc/shorewall/hosts resulted in the compiler generating an incorrect Netfilter configuration. * A fatal error is now raised if '!0' appears in the PROTO column of files that have that column. This avoids an iptables-restore failure at run time.- Updated to 4.4.18.2 * SAVE_IPSETS=Yes didn't work unless there is a dynamic zone defined. * If a logical name was given to a bridge and the ports on the bridge were defined in /etc/shorewall/interfac, then the compiler could generate matches that used the logical name rather than the physical name.- Updated to 4.4.18.1 * An issue with params processing on RHEL6 has been corrected. The problem manifested as the following type of warning: WARNING: Param line (export OLDPWD) ignored at /usr/share/shorewall/Shorewall/Config.pm line 2993. * The editing of the value of the TC_PRIOMAP option has been tightened. Previously, many invalid settings were allowed, resulting in run-time tc command failures. * The Shorewall Lite and Shorewall6 Lite installers now install the 'helpers' modules file. Previously, this file was not installed with the result that both 'shorewall[6]-lite show capabilities' and 'shorecap' failed. * Previously, if an icmp or icmp6 type which included both a type and a code was used in the tcfilters file, 'start' and 'restart' would fail with a 'tc' error.- Updated to 4.4.18 * for accounting modules xtables-addons must be installed - Changes in 4.4.18 (for more read changelog.txt and releasenotes.txt) * The modules files are now just a driver that INCLUDEs several new files and one old file: * Beginning with Shorewall 4.4.18, the accounting structure can be created with three root chains: - accountin: Rules that are valid in the INPUT chain (may not specify an output interface). - accountout: Rules that are valid in the OUTPUT chain (may not specify an input interface or a MAC address). - accountfwd: Other rules. * Internals Change: The Policy.pm module has been merged into the Rules.pm module.- Updated to 4.4.17 * This release adds support for per-IP accounting using the ACCOUNT target. That target is only available when xtables-addons is installed. - Changes in 4.4.17 (for more read changelog.txt and releasenotes.txt) * Previously, Shorewall did not check the length of the names of accounting chains and manual chains. This could result in errors when loading the resulting ruleset. Now, the compiler issues an error for chain names longer than 29 characters. Additionally, the compiler now ensures that these chain names are composed only of letters, digits, underscores ('_') and dashes ("-"). This eliminates Perl runtime errors or other failures when a chain name is embedded within a regular expression. * Several issues with complex traffic shaping have been resolved: a) Specifying IPv6 network addresses in the SOURCE or DEST columns of /etc/shorewall6/tcfilters now works correctly. Previously, Perl runtime warnings occurred and an invalid tc command was generated. b) Previously, if flow= was specified on a parent class, a perl runtime warning occurred and an invalid tc command was generated. This combination is now flagged as an error at compile time. c) There is now an ipv6 tcfilters skeleton included with Shorewall6. * Several issues with accounting are corrected. a) If an accounting rule of the form: chain1 chain2 was configured and neither chain was referenced again in the configuration, then an internal error was generated when optimize level 4 was selected and OPTIMIZE_ACCOUNTING=Yes. b) If there was only a single accounting rule and that rule specified an interface in the SOURCE or DEST columns, then the generated ruleset would fail to load when OPTIMIZE_ACCOUNTING=Yes. c) If a per-IP accounting table name appeared in more than one rule and the specified network was not the same in all occurrences, then the generated ruleset would fail to load. This is now flagged as an error at compile time. * Two defects in compiler module loading have been corrected: a) Previously, the kernel/net/ipv6/netfilter/ directory was not searched. b) A Perl diagnostic was issued when running on a monolithic kernel when the modutils package was installed. * A line containing only 'INCLUDE' appearing in an extension script now generates a compile-time diagnostic rather than a run-time diagnostic. * Previously, the uninstall.sh scripts used insserv (if installed) on Debian-based systems. These scripts now use the preferred tool (updaterc.d). * Beginning with 4.4.16, compilation would fail if an empty shell variable was referenced in a config file on a system where /bin/sh is the Bourne Again Shell (bash). * In earlier versions. if OPTIMIZE=8 then the ruleset displayed by 'check -r' was the same as when OPTIMIZE=0 (unoptimized). Similarly, if OPTIMIZE=9 then the ruleset displayed was the same as when OPTIMIZE=1. * Startup could previously fail on a system where kernel module autoloading was not available and where TC_ENABLED=Simple was specified in shorewall.conf or shorewall6.conf. * Previously, a 'done.' message could be printed at the end of command processing even when the command had failed. Now, such a message only appears if the command completed successfully.- Updated to 4.4.16.1 * Beginning with 4.4.16, compilation would fail if an empty shell variable was referenced in a config file on a system where /bin/sh is the Bourne Again Shell (bash).- fix fillup for shorewall-init so it will be copied to sysconfig directory - link network/scripts/shorewall to if-up.d and if-down.d - Changes in 4.4.16 (for more read changelog.txt and releasenotes.txt) + If the output of 'env' contained a multi-line value, then compilation failed with an Internal Error. The code has been changed so that the compiler now handles multi-line values correctly. * In 4.4.15, output to Standard Out (FD 1) generated by /etc/shorewall/params (/etc/shorewall6/params) was redirected to /dev/null. It is now redirected to Standard Error (FD 2). * If a params file did not appear in the CONFIG_PATH, compilation failed with the error: .: 31: Can't open /etc/shorewall6/params ERROR: Processing of /etc/shorewall6/params failed * Previously, proxy ARP with logical interface names did not work. Symptoms included numerous Perl runtime error messages. * Previously, the root of a wildcard name erroneously matched that name. For example 'eth' matched 'eth+'. Now there must be at least one additional character (e.g., 'eth4'). * Use of logical interface names in the notrack and ecn files resulted in perl runtime warning messages. * The use of wildcard-matching names in certain contexts would result in anomalous behavior. Among the symptoms were: - Perl run-time messages similar to this one: Use of uninitialized value in numeric comparison (<=>) at /usr/share/shorewall/Shorewall/Zones.pm line 1334. - Failure to treat the interface as optional or required. * Where two ISPs share the same interface, if one of the ISPs was not reachable, an iptables-restore error such as this occurred: iptables-restore v1.4.10: Bad mac address "-j" * Previously, under very rare circumstances, a chain would be optimized away while there were still jumps to the chain. This caused Shorewall start/restart to fail during iptables-restore. 11) Previously, the setting of BLACKLIST_DISPOSITION was not validated. Now, an error is raised unless the value is DROP or REJECT.- Update to version 4.4.15.3 - Changes in 4.4.15.3 * Previously, the root of a wildcard name erroneously matched that name. For example 'eth' matched 'eth+'. Now there must be at least one additional character (e.g., 'eth4'). * Use of logical interface names in the notrack and ecn files resulted in perl runtime warning messages. * The use of wildcard-matching names in certain contexts would result in perl run-time messages similar to this one: Use of uninitialized value in numeric comparison (<=>) at /usr/share/shorewall/Shorewall/Zones.pm line 1334. * Under very rare circumstances, a chain could be optimized away even when there are jumps to the chain. This resulted in a start/restart failure. - Changes in 4.4.15.2 * Previously, proxy ARP with logical interface names did not work. Symptoms included numerous Perl runtime error messages. * Previously, unknown interface names in the proxyarp and tcinterfaces files resulted in Perl runtime errors.- Upgrade to version 4.4.15.1 - Changes in version 4.4.15.1 1) If the output of 'env' contained a multi-line value, then compilation failed with an Internal Error. The code has been changed to ignore all but the first line of a multi-line value. 2) If a params file did not appear in the CONFIG_PATH, compilation failed with the error: .: 31: Can't open /etc/shorewall6/params ERROR: Processing of /etc/shorewall6/params failed- Update to version 4.4.15 - Changes in Shorewall 4.4.15 1) Add macros from Tuomo Soini. 2) Corrected macro.JAP. 3) Added fatal_error() functions to the -lite CLIs. RC 1 1) Another Perl 5.12 warning. 2) Avoid anomalous behavior regarding syn flood chains. 3) Add HEADERS column for IPv6 Beta 2 1) Tweaks to IPv6 tcfilters 2) Add support for explicit provider routes 3) Fix shared TC tcfilters handling. Beta 1 1) Handle exported VERBOSE. 2) Modernize handling of the params file. 3) Fix NULL_ROUTE_RFC1918 4) Fix problem of appending incorrect files. 5) Implement shared TC.- Added README.openSUSE which warns the user- Fix init-4.4.14.patch - Cleaned spec file - Removed Provides shoreline_firewall - Until upstream clarifies non-executable scripts put them under rpmlintrc - TODO * the code files should go into %_libexecdir/shorewall, only non-executable data is for %_datadir/shorewall.- Included docs-html to the packaging as well - Patches have the version number reflecting the diff to the original- Initial packaging of shorewall for opensusebuild36 1504553847 5.1.5.2-3.1shorewallwait4ifupshorewall-coreCOPYINGchangelog.txtreleasenotes.txtshorewallcoreversionfunctionslib.baselib.clilib.commonlib.corelib.runtimeshorewallrc/usr/lib//usr/lib/shorewall//usr/share/doc/packages//usr/share/doc/packages/shorewall-core//usr/share//usr/share/shorewall/-fomit-frame-pointer -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -gobs://build.opensuse.org/openSUSE:Maintenance:3039/openSUSE_Leap_42.3_Update/d487a2d4636cae1945ebbda0b46a48c1-shorewall.openSUSE_Leap_42.3_Updatecpiolzma5noarch-suse-linuxdirectoryPOSIX shell script, ASCII text executablePascal source, ASCII textASCII textR+S$mD?0] crt:bLL'VD_yt׌xLZ.wgIfD ja c7T:GZ`=z*_W"1O&W3ݕ"boYPgV#,Ev r\Nh'~hG?_$~wu}rz{8YN%' Ze~СuX@MoŦ=8}9FB|Kje!a͜d' m\譇vlxH4kExE#hTNmyY9'k狍3n0`B>LZNM' sG,<6rt19uH%3qK?|4MZff-V ϟv<K!eR(w~ X]m;<mmpcSUgJ,5 )}ێs]"I=_$#Ϡ,/ m3>NN"&.cy<9-gK"ֱ̼,wh6:]';]zia̽,as:e0oӐj,Z_z^t9SxٜN<8Hs$?yop_ ;È9n+9>zwD8*ҋ1o.|И&hLrP/Bִ+~jTEw='싓DEH FQ'?wi`;WiWr+Cc&P{q< X?#i#Yb`WX5A\ŎM0q*Ÿ(hkfUڸOnI))md% Z_Ts=XSwa{8Nj҂bѰ<Пc:rbp >ݨ>Ϩ]Rbf)0&@iRP)_[$H04IG!#(1S#,W, Amʩei行Tl#tʮBlWs3BCRO4O07s9D2c96IGB Df^# jlОSlhSv}< #4).ۅ+] k wOF.?kZi[sw1ƯcxlcƝ2 G 9vhX'[ kH̎-KS%[%_yB~P$?)y[*#BeB'1㋕eS3k}C׵&r{O&7TQxb@JQIAq.q%o ;(KfxR`=LGKie)p3JI 8 j[JyRΙk@O >.oˬ^$Dy )"D?62Bt&.C@'ΖC^gˤaaeDIWïX7gT6{y^Oj9pE*Z X!;5x!/$ɛ";g3 zIF_WٻU#)GPǿ?B=L?~n~mT;ֵ}~[Emn#P Ypf׳K DP4ܸD* t5_&o>oEs^y\-n-=,>! UOڲ,T?BU$o"N5a梢8t C΃a!iT_ud"aBz7Ly).'q,<9KQG-j-Ja'7b28[>԰f3e*NaRK}{?JZ>|^y%XjVUț'HBSG# ,ҙV!c[jdwٕB/gx\ݕfe8x+4_mZsm<,[ PZ?7t Zilox'=~l|0Oy| '˱q|Bh85rDfnw_}V`%q{kϦu`bÎ٭TI[~ZgtmH[ح#  +S^;:bt+({M5gUnHᷙFoDxo oȺ)wTlj؍L+ߌuc]'ӹKW]hOԹ{)N0i[ѯO*GxU:ǻQ0w-M [gr=n [Ey,`#,B]=Ԛn5MZe}ٞNZJ?N?\&b ׁHѹDx_ lGYU q<#O 5?5yD?a b%}pVB|r` (9q+%Fip~5kLLN ӳλ1ujgVlR'{H6aJB ƌv rSi>gbgl@1)ǪnYx,c)zt\pQ7AJ\v~ ze`նf"wYcy G#i5 .$F.|?wkH: -ΩFmW)K+%stR~|y V|'SΈ ]JAӊ'|T] a~;b.!{G,7 ~(K_#UFY8֫Lćef T7(/bbMDvd`JH n Oם[wi* =q2V)JZac}?S"bvmx:lKAKz"ʩAHXOPf$$H8/_yӽOf 즮 ОZhc J i PAPa(,;hٽ>']gBt7+A΢xu&ǀ!wʯc##pxnѿ:~ ir Pr?]`(H~MȆoV'Ԗx%ZHRxa}5Llε CHigc0䉿j9:ݔBnW,rJ98 g7kf`w!{q.BFy ӷn.ޘ$ +Q'q7rF7GBQcLжaeN^h׈44;gIsL{ڮTڥ 2˹D* 7WB}YJwn)Y P R̜F!j+Uthҳ8':jÎhW \D<Fk@0)/MtpmozBT._*wuaat [Tud0C>ֹrqAZö5ݞI@+Er} .u_;ռcL _7JfO0?i }eM)mg@T5.S-VJCAuw~{j`Sdsh;1V;Oe8 IѠ/m1됽Trq~"ҞBʠIwS ҌCڄ*r'*QxeuP` ?O/V~ͪG"@FhMʼ,#lRHŕ J[̩dV%i[spe3z %F]ydX{O'\\t |!^dN71X ^$%TK3(xbOAx{2kcg&G G`b<3odLu\}18@kuӋF T%>DH͈ZOgoQkY]s:(Ӭ, +#!g|4(yi |UsZ?' GiَճwNB]|c^s}-0gsx~.)WS qaLHq)@&#X9@s=x@2 miA>$>CE=,JTC"^I(9OI3+Y&䫮&ޛ̲t,C?Jr*@Cxl׀C>cn#1-/(D3ޥeq#_LNO!&kݲ޿`(`ƂЎF7,fxϲ6ta|$xwj[ 2s|0U2q5V#W[*Z췽3>_CYE)mPáPp({Kn#}% qC=$yyGijzaAmvPC[m;4] JLTh" {zp}})XrכD(,Ʒ*>/xH (a.`) pzz9͌GYv?Yj^#$<մ!aCXk $WFD[">'U[,sRb2ؓCj\L.F";(qßn|&uh_?NS#KZaGH \>H*l̒~ A4 3 zXgw S]@ Ԝ `ڠ-s~+ԲN&xw}}o40K H ] 2wU>UcqD@ϠIvg 9"KѸD|ҧ?8b$!Gr?Zp`W{SG&/.92d,-*w2- # 4&<ǝ\ \B>jgK3ԅn!.Xgo ]ɬ&$u3;+_Ԗywg<7 Sn n6gY" =mS1>x)Lw;!8EZNVqEKhݽR_.>S<|{ ɆMPձ06aXE9:jSp߼X\+jl[|fĄF(i+HquqT͖1DJT~,@Į'D vHRP0N̷lLyoTߵHQC7 8%/&JLM8l52N~M㮥[АY@1q[9'3imbD:жprUXyfIA;vaX#8qʙPiLI sz mKTҿ]k ~.n6vKLjEPnP<x'Nyc֭SdM}>m`qwj]L{wLrRFy hpFqC⇞z8I 5?F%q "p=[#~M+]ɽqowXV vĈN! o!8PH .x1(rGCܛ*iO?TEϩ@YwD #N|LHk>ͦ;}"ݛ\VL^m%OsP*"[=PvބSЬ"z2ѿ] @}Վэݜn, VW> ,NkIJ,)ooTZP8C~C5vv;' emG[p1QR( yܖggc wtFz}bG%͌0OMWTR Q *H u`+K-?F V u|=;px ^r(s@婵N%>RMT!K;=俿cH,0 R"BK!ωit jwGьK藽83()liLvm>i[2cA(IB=b9M? ").D`>7zǪ,y̐YIE OYy"$+&,cpwB30'wFb WۚF6ě.9x~RwZ)CW,!5ւ M D{#y9 .^z St5kb8\ 1g`hXR܏.* RZ -Qۥ L&n3 r Nmpch1B|'PD v-}Μ2I&WtZ]iiح+@G #ƤDSlA l;0xw\8q >Y6e 9 ޕ Muq;Or<_ń /,O~Y\`_$m͙.Lv#DB1L=_e8ů=0~O 32}KnO͝^NdW0?_:yVB`uhds0SH`r9)T i[A̘&%qB\kыaNptŻ01:x.n_=܊jI!WsO!˦I!ʆ ܷO,*v]g>q;,D0RoRϬT9%Rv W>@\ӭn>?)AڽBѾ1x|/T47q?056ޅf[V 9^U;3?Ma/pةp۰`0r_B7SD{tM 4 фmi*j]D2sB1ʣr%YV@ڗQ lY:!gZm E #}A`ל.ϟ/#j鏓[h|U[㈠5kpC%.EEqOE""NJez2Q3x{AY WhaJt1Umc=:Z0U.%b璵붐ϱ8T bKZD!PLaVЦ{bRZ]ղ((% SډS25"@11h=_?Dg .-߰1 /w?: ͎XCdg\g:x|=os/ZDLy|vq"jymS#?ލ߈Es~GGOc=ʕibADoN[!@`駃3xdK3Mʟ4=9p~?}7!8=s,bX^C!FMJP4"\ RHc`[M&ERFžύ5v`!$r V#DK^*9<ΊJ_5{Y%%3ZI ^^ =$Q!zЦ6p'Ec̬X\Q16aFy+h[ݖʓ>I3l2nGE$)DNYUeXpwy4/턎8kE9*&Wʋ5J(v_Me"u1̸5w8Y$&4Z(d'dyF̲߹Y,) L#?@CZꎴP5Ay䢇^Zd3*8r}f+xZ[ZxIJ74R[xhA`wna;ra쎛OVNH1Ѐ'6i_AJت7ĵij>hҭw24*w-v| ͒HeYjS[@d{~{mu2hGA$E %^Q x>LQLB!o×JU%P|-L+JJ.Jbz%d:9Ks( /l%kuv^=zßޭe!ÎXu#\XLyϿԛD*ghxqOd'9j.9RnQBa.-eU@HeEw6OMܳS/*1TgU/U8b̰ZJ݊Ǣe#;pȀUᰟ|6ÿk|c ٟPpshFvOځb%aD|Q'ug#ii%=8'-%jūCr+Ri.;toh<*(JRbC"gّf-fBL0_LnR@=;t w۶o)͆~HTJG$,#rcO1T߆Ńwڎ٫WJ߭< ^BۈƷd (^}ᯔ`}UĺȒ 0>^֑ٚ'MZ 5 B\oZV"]Wpa_b;l^okTW#)Hp1GX,%{U?x/ hWT~rή'i1LssSձxOwE2UhP-{j ˢߓZPY@gM,rƔ@ 﫡adsL8V Y=$Eop@<Q!V:ҝ#cEN-+Vz[DF n5k3/ܹdA Al:qܞP@#?d1%#Y|+ s±5[g6g>@ݢ2YFg;l4 ,I%mc }z$9cG-XFf^r3I[.VQ[H*]g.ͥg",3 ]DF\1 ,/Z(<$\_wD9Flhu>s~==Yw3GAh0`kW/a 7R˪>zUq2 4n-!|i cP0ՍAE nW鴢 ĚՓOnǵ@K%-=.Q !m9$AأE&ƴqo;4A5/xf,dp!/pNXgEKKe9%|xZ*⢌>}`y LW=v˵#]"I񏼾5t`2=}u j%H2o츴Tw(; JCʭ.UTI 7;d@I Y;+@Fwi2pJQڏ_QT|ZUMKYhyR\ʕ{`)s wT:btl\۱40iKJ|ϒҮ|cp3apҺSK7`vg5AĉAJEC.޻7ysPFGyd'C#ޢn|%bI^5`~%@'V#eW^&|.w AEXs7~ k_gn"#/cS@U@!w=|&omOc#xS탨;X(#/lZ֚BIs_-ۡȇ)jn|ƛHHI%;<4C "Hd2Dv; pvh؆urbag!9(ACr bcMňkAkx@|̜t I*föc<,ͲUbQ%+fɻ9i>VbV}z;Χ;ΰ!!Ae7M/=Nll_TQ ;~+|4BJqP 48P *t.DqL`H4ϥw"% ^vZCv= U&~Kc{P ^"_'g~չ\+X\!p&/SqJ\U!eLCwMrd1Y)ʩ2o }ǚˈ2&^>Q+9ƀJq6v(q6p'uXW3/FP 4-pL1D$P!pX9:-<fDp]l\I9yƖ%S=dnɢP߽ {rUV3@5,k r[ @Wz)#9'][b$AcM1Σu AXHs8O1WKkǘ*zR:$D v>jzRt$93oȢ\C=UI"Iry$D]'!;),&?d6MBP$Bp_LaO6y jPۄI|dU)(gntz'fI)ۼeZA71zG6{KÓir)JrHxߝ87"@d =!\˶1q% HO:I:In1thM|g_<NeJG{”) UaoB>M7ij>mB-W,Zǝj@i9 Y9Y/!Ry<=y H4c >`~p)#8{Jr SFavXe/G$( !x@Vgu&4e>/3( qڕ͎/wvg=ӂHkjr~#.ݸJg?ʁ6U&kt{{`+e=i n햃s]> kkl&9lmS.2I nI,,/5ͅ(QHczي(`$٭0Tb`yzlm.uQS[Jݨ1bپBk"k.`-Gq %$k{pZSFGv95m`4-v/hmHy[J>E>3L\?[*(|* 2芰_stŸB$OK&43<:^( }xL\ɽ .\/|dN&n'&VthcQ3V:;^R]w_tHTKՋT0#ӮtFcARQiNi\쐊Fqa+[)=?-D)4Vݿ$ɆqʩiH:JI)JW~sĜIإƆOh\p\, J΅2C't3F2y3CG0b(Wv/1&-d݉ե1퇅5 2xm!s Io3@rn)3{APױD:[ tբ<%ְi%x!,lIٶx/1:/ Ԃ%`L(-=|:5;MS̙SijRDJH*] U-Zil|9dZZffF4DͽmngTNF_!kE!P= x(!!!ZK _:s'"EVIأW%x?vVlPoĒ`q6Z ѣ#WYT."1O-dNy7EFO=p˜uee[b}> u$ X}wq8:@gxLQOװ9*泆m-/# Y_z e^[QHNK}M#8aȏV)ղ~uD$*CsZgO9jίm= oLRXw݅1B&+Lol; V$F q)vOQJb)kг[nz<8Qҟ@ SIt<+I[Ai%Omt I4k{-ѕ6BnbɽO(K3#^J;v(߽SB^~̜G4A;Ati#Wr l"ΧM-[FLF!S Kv=;4ͽϡ%Aޖ*Mpήxl}0Ip4{Qgn`nP: ON$2.Afq2y4ߣƧQEbar~iEKöϘɝ9>Sg_ |a`PY̤\|SmߗHn9W+?s@w|#8%*,^I;̰CHe5d0UHTR)"Pf3 r:\\kjQ]c0s?ӭ-`:%R{Ϻ?\'fMm=\mS{[0I6Tcl 2Z#WCQ~ʁ|k<}b/Nvw;'%N[_38:`<~*U-Ԓ[S@1e/8S*w[2 rUT Ӡtl5ꅕ9ڬzۃ\TZIE)1E{j3>Aɨpփ~l}%K#Vb7]{RJBDx\\GldU,<=+}±|1BN~T&pך;97̙d-|a!1Qq7h. (|*B QUD!F^4 D]s)ʂ&x+Qs8OOu<}܊Х_#KWr6~ZpŔRsvg jY4:)c9?Q>9˾2 @? /a/9Uג:H_s2wR_I}xX4bA,fQK^#Xk_`ii"b޵@ӹyjXҥ >LN4-`,J5Opw=:WMWP%rI7%Cof:RABRDo twM85yߤ~]eM{D N澛B beWgO::5הiE~?%Lw#kq\/%q~ !ythN=ٚ;goTxB¿W0t=ny1IH|,UTëxdhJFƋAb=ҿahJqrDL8N&DЏDh: ~ n&h N:234:S$"l}x}&ϺOVX71"hCWjUNjgWPUZkH%,(ok-72[7=]IzKW>oȢn $R1Ҟ`o cdovd1t(MojL>dXur>LH.602Mh,^~R02 m֘\^ ѯ$/Yn[[(U5#r&u/~(}RSdhEw)".l= :e&$a^:ʜ E 2\LqT.Ye@8\=JG3)<3+b2B,j A6x Ȟ)u`DMT6iAh|OĖs& hb\^(puF$<GFa,9#|1  rИL{ޚQ :=R"]3(M1 =^uA5g轂ftzU~UWTB{.F1 @~ށ~|޺l JVh:|';;+ŧ9"_!cddO^aa/pKcvr1r MD- FQIr8C*;CrЏQǯ{ǧ=ƱM@؝$qu6@ * .8O{佺]:.=$y緺.G.67-K4KMu?g-ںA;,?/!yglq'tCyR竷Sꠚ9 ay[-N`g6R[?Nֹau+slJlMNP!*qi&;fISd霾vATu4cd_1nC*0)\ﶞjc`T 9n%iJ㰅(%;+:Ķ:Q L*.cXk.EiS LC}Yi?같Yuak>ĕKmw?\sOŖد '|{t4H 3ybΛ]~QۻQ,dtש֍TVNW,7>|tLJ/@LguR+Ʊ+5BDj8,o6Q;iF {WUMS4s2-\1BXmЙ}} <*mvwHH?]\KAکe{Ggrjp{Awv_֯X2 ~T5gIV ]L)}g@B,+&Jbp+hFo9|eKpY-y=2qr=#I'vlӀX/Xcp8Bz-@aI)q?w78.Yn۽K)ѓ2~Pj"%,FZcDT9Κpn=|y3i=vAہ?y+W3:e-7qYmK>E77<>1q!sZ7Z}:^wo>%fRFbGN1yʳQYK-x2KPbBbg&S0yYkRnNx_w֧|q$3С?!M@6ʞ`Rene=ս^q3Y">9$y{ …CϏ=muʗuFxɻVCCׯB>~]g?waϰt}](UIn[B#&kg:M[Fmԉ`}I^0'c!&hp+&9s~`bⰷCKYgGH}'N_nVulv^!&y1V)KK0|A2:do ϗ[_y20;X5NC Vv ,!0<4Y/ͯO#[u P.:?%YGp<WJrV-jФ.K7{?M50Y6Cծ89U4XG$*j=8>Baa-jv) !u*vQѬ/c5o "fq@#'Fơޯ:)k7lx[SHh'3!PզFQ#\H.A~h)P3 J䛫v)6{g.^g?u'70j׊URwl2 7ԥSSXtp͋j;;2*upun!I`gA}^ a@<]N {T|cE<{ƌNQm~~YeT{&Jj#d1kKqj,TQytQw.RDж''իR< tdz +[KAsUW:n2}L?sҽs>0Z?ZB)HuND|Kaas˹CK,f59VPsDPEmj"|I2sڭO.ەe p+<;?FIJA͙q dΝ#PJ] wA OEp.th`T ǣ!Ǔi!X[XaRTEw4F¤1|Lۿ3 cSwx&*s;bGf1Ѹ*=.]E%WZI "p5\6[5衤k^2=*ev<2KjϞa1bXy Ѹ\/5UDZ^tNTnC2ɍSPjhRS-/y P`vk?QY?߱#V) {`ee?q\͍TrDY\j|ܯ@}XK!AQ{a#(Q^Rmrf{Nks8ݶ[ CG.x0mf9nA$ %DrTyd6 bd\,w<1`X%dUL+6D rD]"U+JQVBD5/nTiljӫLnb58Q*Tx% Ҭͧ8C-'JB~u@BWI>?pjM0kZF9Q'jWjQܫV̿fm9s1 :^,u̥ʴ5ލb]l\^YgϜfU}ҍq7yoTUrho%͗\Cg[R+-ƺ\LxrNt 99BU;+xn0RD/NxN6ke W}x5nsLkLv,#8 CQ ;~?ӟjˑ,fݾJҲs,.JNU5Yb=2;%~{2 @@M={ [Lt`"2 F?уlZ6.I]28³Nv=EQ-\Ng/y<\:p,;f-y D7*""j+帊AYב 2}knQӆʓn7܅ ]%M%ߌQOx;\{иFC86jEZjS*ސl)+‡c餱~QAZf̛C.q3,Y"'ϢpB-/k`z&QP*\u`X֭J/_u>؅l3l #oE"w4r*--VB~?eR!p<]4$f[tk+{J2@n+_W[&نd )_7Xm0+QnE&M[! o;1qm'ޢ:d:VccՈEKLxc˅מ_F CCz4T M[ eرpi妀@%NL%=w2kjeQ 8G5s-u7ѭ)ϨoHk?Qrsdx>ˁJW,ӆVhqV*KI]\7K)lm..LXZ0:-z`%2Z#ح ~헤҆{D{)}zȊ0稫A@?ۙl|p[$z1+j$ sבαʓ06lit<қ~TYӍ8&W7'K(ckxt2 x6;ˢLKS/E)$*(iTX,hR:abtCߒT&]}z 1 qs9Oh%0MI|V+cKZ&r؍ S8fQI9?C;Jƴ67 Ã3ϖ)~9Uu[d8-bʷಖ?RB\zG$OU}YfH\H$5񽤟=| u|T;uSR&th` - 9w7 f@#8۹H* "7LvෑAbRlGOwx" աd)ܔCV*;9lg)EG \qK&-tWi cy%RZ[>qg@^)-/zn fI?R:S[ބ̀="4YôY(m ;2w]: v3+`]`& ,>z XelOs}+cDUb8Yi] 0&X'(>Zp$$><lqK) ` >*k,uLgDx5"lֺɣ%OjkmxQΒ ~?YT!;Rcu7c͂CdD05RoJ5͖g8b!Դ2I6he )&8""_$Ǜ7s53Aue)!JNeZ+*RZ.,O_?~Q-o"#X/4͍ Bf]%q+RJ":JL>aޥȕH%ϖ!?9uzY%nQŲ`MaB(C9"1*翞5pzMF(;#@6H+e13*=_3?Tk^𷦉+4A6{1)]aUƈ;z@Vu -)BpnD,Ϻa= A't,f":67+&) ; ; VbpO$WJ pQ>:xB%J46v%Y´7꧀`2JQ<@X`kŅO2966o+@"qw!c@$Kg&}bSV}/s#}(š!g.UI>!QiItPOe'^TGd!z.GŴkH?~ͺg~ŌcyCZ.~eĻfO@ ɯOjY1fC݉zVnFxnž*@`o,wYRb!i)D~u;wI6ka1Phgf[XIeË!njD$,R`G`3 z [cvQ>t2c̟Ov"/F}t X>JC%[CX,rF$ lggE6zgW=!q?WT\!K $q)2JpóVLY.H _F}4_ױZ"NzJZ\7:YǪpee~'-\77sȳDVcVIQ7S{[gD-M%4i1&gns>5yxY̛*mJA[CO\r5j*2c(6_QcXU9> 3-CQu4 Mv&*-oXAމ(7u"8XT"1`HD~VeT[3a?[j)AmhhX]} u`)#'G&a'ǖ<9p7)h笧f"CU-[zIƲ"뼥[L=7m {5-sOTPeֈRr撾єKUGyG@2ۅ1BY}j$wQRƂ԰qIXٔdܿujGAHV|C}p\@j#wkC O_R>Gjc6~ػhм؀ 9u[TR$pZ8vww.cezo18]G*Bwv0:dF+5f+=f;S,ׅ21=[5fb)xЍIeNK 57V{72h' ׅׅWf:御>5tَY>71䩉aKĘ*Se|"N@Wm*"T?66aAt/pF `'QF\.V@&Ry"4@;0 :>IS-l6b&{\W}HDyl1xAFf~Ak4N~} ]8paD` z | 5Z 2YdZ׍ޣ&Zs~ڱ&PofXT%yp|v(r+ZM]X"KGӚ*#8W~%ej}.~+SM "2f죳1:y+ & -mڴ O}֛}q5bH{J0H.2P4忐`46d:(-T7r,]˔o! ޏ*7 M̒0(N=$\Uf^  mm+@S.U׮g"АQΖgae JPKx;+%@-Q'>u`IPeaH(u`smcRwo~Y{CRƧ\+U3~a:ze]!Bj.by{|tEQj%mIWp59gBq& ]4(\Hj!Y2>a.wj95|(*nq;DsRȏ$s >ay}>w66 ,cK€:xsgn𿢶pd%gf5<8Up!![ &y B"uwMs{0}Rj3FhwK ߣ- ܧJ~65*%'TET{-kXaD]K_ S0gjT5[ C3s5r6Q[??LE=zؘa`Y-[Zm厵&}̃Dlҵz~ $Hh,+[<.Eˍf ʛfGPW'TFD2\W8W0Q3ҟ5#c (&MOita ?87[W[QH-V iƷ/%s3Lr-vf(jfR'S8P`A&+ 51i=@]`fQ oxЪ03>7Zu45pcHd5BҤ8/A0+[\ZX-+ D48 KWLr;ڤiiR}29OLJꔂB bјF!Tۈ 7(j2iZ?tְ:lQ'ݢR׎%pjZNu*Iic|) IcdjQ :`E$Fuѧ\M 9xhIUz4ޮQ!rك8Х7. $Nzk5B×MOPpSwMKP|oQFa[9:jYʉyjDV,r: ŠJBeJBhfpYA Ut.VH2#M sDp][n7l!nv[}~Keg3Sɚ *)) ^yrʪɻM(8+ d\U }yqH:KfeLNTa} (?9C.ۙ ˖F }}>}i:szamgּwቅ}J%khƵ:W E8~vɉ|y+M)A>.¨=_M3~f#&!۹,3iQGbz'7; 7`Z9_ws9B&X0=n>{zГLFAN 9 qPb#+~>WR> &'OK%!LYFȧJ:;0s0>*u+?1Y!ma$+wFfXMC%|d%J3ż gsn;Qܾ\.6m n _Ay,UU)'Iڏ(aWxngxl4#Ϻ4b5.fQCT~orj.Cc)k* ZC*/8+<6o3& -Dx#~j׍ĕ|N(lTx)AL"A$nPx!G0D!pKLS>+XM612x ~q/77R/(dwϑJ`,fK=Z#.={i.#0 A#YA~(1'K-P CN?v Zm@;!'cRi%]߱I/)(W'2Wq[ qu|okjІ@8#^- j ~<%WVGY'aR;\ m5|C'Dh˔uعZeMe;r!Fb s:33= #4ۺ䜜/~C'rD7ؤ0W zJ4z0 k])$}HxĨK $Й4A,rKZ?6;Gv+9՝VXm/GʩJ_ڧ = 9gu695=쎃,$"7eЄ>B~rbN,|q " T<~vQ2@`O||2=:R Oh.h#E_vD5C["^]VSRjz=h,D+@wؘX2"@,W&EGOwc (2!TW5[hwwvhH'1B!@2U\A2s@|U|͎o- Ҽ$yڍsnLBϼTYx)Ys T.dQj|&Ne?Ks",gCg QnЮ}37@HRКu8Aۑ3c"+HSwpQqˆ:7rjNB V Aة/ Xkl՚])QDU5v|Df3-YAm!Z"FfKԫGx)4/vЫ`V=BW(k$3A8bE! ǰ pJO%Jӹ Hd LBzgWVhkT<,\_L[;뼊XW\B+Y*B0OF!JpҰPR c$XRv7 Z~4J^`}=h%1l/.l|T֚%{.3Ə83j :!-\ӚhV*Ezֳ%iIߛJ *U`sDjUibPZMuO$fGc-U2Džg`)6$$3xO։f{X5uoϲh-dcdS?!z m:RJIfǛc~u7w(k?S5ҵ{]=ҎC<ܯ.BEgL&[\miM%;@"xՇ-e{Rnky//0 4,%aS{2{kCh #H/H=P;zkao8E%i62;EXؙhnbڮvW~zux hR|>r =׶J[5i]VHpG:-ď#t;=,d8\^ 0ea1Xɗg 0`i>Uݭt (j`~ ^P?aUz{D8Z =:7bL-i {K6qg|eS^dCN}X)u{$hύkj)M:1F|$6cG` khAE=Z{- BY-) I5s5>%d Áf*r\)e6}nyOaBPƩڮ>weR+V(#[1J 1%HVd<737@"ѩ ^+ ];A,,g.e7Z6Za:!DXgins% k*rJ*i03ave*+`~dz8 T~k4Γ6u;Rl:o]No{n{'_[F`Gh+oR vjJgזjϸk䞈1ހ2 ͙ J 4oRzZUŋ 0<+i9MIdɗڡ|,tqBQE0u׵/*c'բ0%~va8U-OK{!t ҷ O 1Ӡ:  ึ:vB &SccMs}x!$##Z>NQŶLhLVg51c~?o շ#D:\)%͏ ƉaI!E行J r{ހ<8K-mt% 0گ"|0w12L?e\stmW ~zYjbX+ 0";&ab?tbZv]hEľ"%5$`Y }Cr 8=v6ݯ?gype)S=631SLB^]ȠJ1u.\e#׾jf 9?ynC5!„BrCuEaBPZBR{8C!|ok m8Bw"256WL ]r1~ ńq阎< 1נ)߂TY2lv<%s`wBMǴ2Ȼ[o`m?ҒR`>D[@MK<7L*f!=?5ޛ8G6FKl[N+t &hqpɖD,P1*<ۿ9߮=slPto mDrGQ:?;Za;~U

sud'X4ˣe <}ݒ m'b<=V`Qu`NOvd | Z[>QCF<=&6;+,E66t '2yVkIs(Aˁ:ևÛMiOw k$CGWȨ}G3*k>_S83\;߬GMVHе>Hi4t>{],C!~$gPsM0ٰ+bg:] I|7h&'ݞ^W=n(DݨVG7NofgA,tܲLEq<H ʿ_' VCvԉۿrZ k czz| t8h%E,cmGk+?6TGIR 2(S@Wܹ2b'F/y"ȅHj.w^3+׎Fm9ku)MdH^LhefBf -;7qeZm<%7:J+z55|w>j!~z]7lFm#%+)n)MN2&*kqBD{V/4B )`hq9#dx7tŲ 5ޓ45+)`>;Edf=MKΟ,iƈa+\3VcpxQM=k 9l6. EHQ)tY_FF|3c*!*F n:RtTPkq|̻ GStdLD^qGVVW rCT(P gu,IAbA{r022߶d}i$P z76TuLb1(Nv&7FwͺK9G/)~c(gg v&(cc$I(S]i8|T;SYy`ܘůSKzRM~x$8<86fq!1h-;',7v&憄w'XԜ{h}Ymskִ2+%x&,4flW" W^ڏ}ąૢjҲNhYZh% gKM;bwYπj_&pzXWcz3(^nʼqsFԆׅgC~<8sq,+\ ͻ}m$C,nVle%9CZRatZ1{Mĝ;>[4iZ}n|}y1Oc(;&],O([]k&Z̢nᇚvilS Oz+ۖ@Yj]fpfܿ wwU CFs3S;>C忔Pwa):d }E <3[17*Bt*v@w*)'y9^o=1Ktu$*ZT+^3dʍ MVi PƧ{k!T <-sC)Cy: ed8v`"Ш#T3+Un;q|͗Y̬Wx`1~V |}ve48ㆈ[2ُvk3uuS:C&@ЩTP^`Ml! ;?q&f8!Vn Owt pp EUCȽaU bJ FS4"һgqNL[j.pďbg%ۯiox+.vɰ_k0/p G<PUO7͖죹 LLk1} %ֿ= u)UXeD=Wt˺95ET%xCX(8|_{)ro4n P}( R6%FGrOpi 965h-R`Oؑ LD*tBAȉ5uD O6h~{OLZx:5qhYs_ۚ\gS(H#MœՐ=J /.6\[$KPH\ZwX<&^]/|޽-RL"fcKx8e|mӈsSmUH95AǑ!zOj)L3T Sjx{8+:SKAbܛ wEQ6]Aw(k-SSi.݋ X=&0sXKf}r<|z<_lmvAop[RQXH6Or \ ͘SuKC FL˂h\~ u&1>\9dTsXX}M>EU~y- lïܪ(j^^SEě[|aImL]cO7ömjKUgCڎBw!y}4'qȡU:@" %sxקE-:.UPaE{ϵMFDMS^XBNv(Vxy~ݜ]%!S~t3UGJw; 8d@ЇE`$d[E(@`$5t]/H?\ُeK_sh\5x*;-+כGww~j%~CINJMo[.@Z ߒ`05S^%tnĺKO[c#.~z DWՑ>G%k_?ܐŧy)խWKɌ:`]g)6[@wVm|۪V}A,Ps+)ʝ|.%vbt-mvf,\c{ZaݨLIh~ R [EpedT8 p-#g iGQuv6Lأ#Zh`2g!^]y^[lRz`Q^PNoXc3 b1fuV} Ow[n+)W SUA] 7خJh7R]CIkS+U؈zhxfGxxwCiouD(YO{^ov ;ZY׍J%qv<.(zDP:*Q~ev;Pyղ} =@hO_K?q/ײMS6r^'.n#3@DT̎?Sb !u'k)(;3$fK@LK&6w 7O ed=2nchFr]_Rven<֩FvcU>j$!-_#sF'2l谎^% .w-<_E6 ٣u@ԅ7J0k ʥXPb%SM#!P׃c 9>CJ-0OJd`qah4dP^s? `$Y|yN'm6N+?Ր0f~E.>)Z:8@]p"5|:3YGY"W% gh]Uzq_[(0ZMUuZEe邢,A{5F*Dj ~>cvtV(+'*v2LX6/>[G3cf.n42(W}Ye&jPgY F^jCOV^ cCV)&e]0F+b<AA ZH,v)\WZE9 .߾" ҘōOs:ֱV8nvxO43{{s\]?1QVD!FqFd 12K,QGߠz~X .[$N5_U%~DčF_ު|$%y-QQ1%rG#q`Q\q7i5uNgZ26 ,ۜvmON1O̰_ɠ^ 3w[ `iiy̴;0j b& X|R1\bY[eRcFg}X L79XKcKxKt&u6 yn&ZدDC0^_xC~0$5c$ 4FA-ݤ6H S`ĬypxM:l]B ]ZgWY@#x*Z|> oiC\Pjigj<*Kl! fb Fjn4OBz]=BTz@D8EeP%PۑJ:N\H% uD~68sBϲГY[pz'U8sGOgμ,f'1WI7EAZ"PK&Y) qS&*qTtWmB&T,O^߻1ٲ\t 4I,׆\0pB8f ;:_#`M+\xx G9"3u*ȎlɘD`1!ȮBhչalʚ+zȍO13uG\yILF'.}> @s$5+P!' 6B ж/T՟5e&_VLGW_?ܔj\u[0hN甪G^o=uS} N4^'~>c e 0&ٙF:̻\3 E{8[b^_8nCR葂v6tw Lf"`S3ɩHLpʜۯ) ܪ;]SxzLtsWQ!ɅHS]c5iQfR7qܘ=ej C7F7VFBxqz kN$-`5dtmt}~ 7 i^oޭOA`l`&bU>Oytj]4ob%ȿOHwkD|aZt5?+76N+ Q0HEoO﮺\pli\ 0grdKG?N>jBc꘠h*}̺́D+sہMuqVBuS3 :o ~T姜@Q Z hU\Ӫnwm;lx]T}Fna}nߧkCല*};Il Kڠݸ c5 Y^J O'$R_3ݖcxPgr7*߅^lHꩡά>JhMt:lnSyW0V~cV06k|> Pco IMlu0b*U<=f|:/j0j(Ų x$vpN0+2!ֶ6 vaH:Vo6@,>a ?W8ߋVG;1[58U"Eɚ؛&5\w[-(^zj*k|!p ;)T0敿uًŗ( pb0@tf+іPwSR7Tuvɯ ϭ极mΝ`x.mY'ߦLc䮔X/R?j񂍲}n><*&+_殜 vwUa޹ cNW!?ˉW&J!Mֱ)&?qTU3yU eI˦JӋ\IJGBΥFT2 |`Ί$c^Q!se,if Q7T˼5\?/s€X蘄@<F;Z^'d j-;Z ,LR/;w0k 0#It٫2v@/kC3IP&u"Y ?nB,tla|X(dڧ} ںV-QI/It~e1jv2Y٩A܍B;$)N)eSM.x{SN*&W)#] 2q"8ㅄ ڜ+Zl ҾPa"bǠj匾CS'-tuJ860ˬ%eg"َ[34=kie&Qmˏ<)>5| i,|4.;:v0d$3P "$ тmkn;ZDM Ru~X߹E!Ӧ% 6)ĺN[t PΞj8KJG 6g5~5;V: W +&#0TXgÎ' u!s.Fe*8s^ *e.6lz`Mi/g@|[!q^y/Lel[̠fHYr֑^_& LGu`.¤j|Ė*D#{pd~ $# ~6iMk" sSѯU-"RI&_?==WIx&r}5O:_ͣ[a%//F{aYnc:,FrK[iB'\=u!~E cݩ3zGi'q"|=ޭ}Y0~=*.FDe9w~m7x($ P~9O/+Њ򭎮=}řsg\B_S\L%J3 2J)D,.N'D!gc>8Lea~0{FV3#хˍP NҵێR^ʴQsoiSz)AWwPUZn)w]ĂA; YѼiB Hjy9֜PL9~dTKtq%E28TQE)ؙ +g k?׵\s=+gρz<?ʗ?Uy״;w"t;yҟ]cOZPTS~^:‡qT*/e}AO2@eKp>~+|C "eI>qv(ÙWPi+ kW%dF*kD f8UWP-:8=+n')B[ci/g6%/'<@I:ihgrG>臶ONuƀ F̙0,8,h!^Ȼk ;;F ʗ_$똥9WH&VG&Jn>S,J߾N!2:@E"Ƙz"{!0aK51͊@C{@pi+}0'+H㎱djΪF-|T P -^/< kFEDP,4x;>DH̵k_ۂi8!,qO-X)ys[KE!YPO1*pC@eyaLF:&ҵDhvI:R8=Ev@&)_=gN"5m(ʷJ|q#7f| lVܒSk.>Lg)tF'`يgrݖ!,+%eF}׽390 xY9))fr5ݷ ltk3dJz =)Fk,6yWve(UFe_ GEdX>~S0X{G~luOn'):k !{  &%i x#M+A=_XE\b#]&glRR2= A78hV@$4dZ /WV²dqȽKsi #!a 3xԮ @͵G[{@a?MobZ-ZiTт mTm{lpϖxz턇g-Tl䄾  k i &S%cbAKFp"/uKݫ &~8``X^H1(yj$&ZGMт%S5&O-B:kWIʯ4L5xwm7*FY(:__X\%'M!,OPE[Zr5ڥ,"|j(ݒ#q֪'A9FPуif}eQeqєU:1&)$݂5igKXBtq,n7o;p{2U~i&A~̾k8/-@QphR}q2^Pc:M*>CLa"Cˣ\n !0t{n(sp{u/?Aǩ!(NmdIRZT z  OɈiǺJ|oݼx KZ~uY(Rz8Wϸil]eDG|IN Yw?xNj౜Yf[l+84?@V -H5dsEؕ2T2 3kwFѰ=`o7:㊥ӺB e-΁1r+WR#GsDWk2KϏJ咅t pF. O3$,%2nϳS!6 ١cIF :bnZ˷1+̝)<ݠ~2S }XZ-ߗl<)т.q'P?[]`O>l9NabQrOV]+mR8xVQ&=4cBRχ-p-* -ȵxQꖣ> BeDG93Q $GJ]&ZHi떞2Ic9PIKHٞ JIAӭ Ϳ>F %~Qںn8M"8>L۸PAqvUuRķut.0v a{UWkR彾jZ3YsR*c-agЦ'tެym'[5ZV]iÉ?x^ #^P7yI -v4kC|zbЏzJ(=84Ac9:5D=fjGܜSێUE /F!4*L1 MHeG'Pr%dHTN߷P~YvW8@}bJ/N̈{׶)3B4QP)"<e:̜&R*H2&Yo] g off>oA4߬zߎr pƲv 6[W{S? $?H4lLs0]ܾ :i vl jQIg!D雑˲kQ& Lp3WѨJ9uE$Z +-&ETNq- 'UDf wOöAY'񲳧o~Ɣڎě Љqe9CkNs Jfo=QkYR2 }A=J!B+tѵڗ.0zEC,̘ c܇uǔ-MB).8fAԳ×z(.='IMRJ޲ e'j,\ 9yR U!UA[~Pjوxp=0;$P5nRlMBeņdz2te;0 Cqz^bNÃ~־ˡH42綣hAaȤWB^%ۏw‚|̄ȓwC`9"T6@!X AY^ųGeNwp^4 u[[qKo+"+0yx y/^{p+ FA2g2u URFXO:Lz_[u30`wЋ2Oe&ְ1ZG 0,eYzd1"  n O3Y _bN5Fr >Ȫƺ˅@,|i,Ri#R{DVx͔PNP<#bK0 x;OTZ:ikښUFIr܌%VNn..ww'gH#9iT}>JxȏN˛_.P5dT]K‚m+_\ɏ >3n#G FapU;,ӳ.K&\;vbYفms~d\M7UŁEФ=0 c1?Ֆ?FYk>g`9,4 ;1Į0@`/z)yy. Yu$w99X5d4j}|4s:Yj 7TX̕^%Lgqj%K]gd#H]G/ԄN*+^ ΜZ8oq԰}Is&,ӎɞ_:$Cl%V'TR@C1ڝ~~D%)'7)੹8 jL/ׅ2nTIN39UӀȶײ`fXy[oa EF9U>9Ӵ8LT#"PXgn[\Pϡ4H[O`/ ut*C;W18xaJE6$휷.[0twf[PjVYv]. Pyȸ A&'4;ǃ/\OqMIP(&Sp̈F_^St|t&1mʣ,4:Ne98\8p a<fÁO\;Q.wf.gԐ+YA6d/( (^]!we喔˗N"Q Y>bkW7V⤽MGSo{mTV\ "~3*R9Vs (tЗ wpNA M@q1Elw)kΧ;sΔ`=@ĨE6Wp4!voٞZ0=XB[qW#PѦ‹,:%8)d3|74UWTZƶgk~$kSC1@t°;xLBPxfR(sv#3>NFI8k3lZPrsO^qil41UhCEe$}Z(eb/Y;/1ܸ4\=  =Zۃ=ߙ/} -&lv"Sk3F6oms HTZBc6Q co7W;RAkb[0@c+A7:6 p"t~M'EE%Ju\G?:DN(|…a$:, _iJp?k^q6 KM2΀O5gy8teF:<2,_p2&*Oyʦ\qw]>^œ}0 Ҍf|,<$'e+!$^G5N_#>6.Ǭ{@.7/& 1;+`\eKu5^1%]$)įe巾g0?*Xޮҽ'_nJۓd{,$21]A2fGbAȖR:ye.;q>SN)WΗyӕ4(<_G @"ֵ 6?M;~Y:3cGj$6IB(KsjC> OO$cMQRL8-4͉ӊy0zYOdWZuS| Y