libnghttp2-14-1.40.0-lp152.2.6.1 4>$  Ap`[;/=„įi!. 7U,[{-I8*UcL@|T,8 '{/ >YMmGҺ?V6 N& evls>[J5F%w40bv/5ږx '.#|& & ĄE;`5 [9eGy#/>*{,SU Rk'/?QfMvlЦd)\Vp*[ӆ>3e3c0de0566b297b4d7847c2d5f7546c5829a2705992f17f63bfb077c20d8676f127a72d741d799d82cd76e7a78571a354066805 `[;/=„~MQoLojgؼ~B+~Zh;F{d<1>uqu5?Xeݞ8GlVh>WkT@]ۦԛ\t9*Pi5=gSj= > 9]G?$mPן]L_] Q>8V_JKS0:*jQ$QJg< >>E"Dѵ#Ye%`A6(n\9#Oݑ3F-H3Ixxv S!9_\>p@?d # >   $ , <  8H   (8F9F: |F>6@EFTGhHxI݈X݌Yݘ\]^ bQcdߋeߐfߓlߕuߨv߸w\xly|zClibnghttp2-141.40.0lp152.2.6.1Shared library for nghttp2Shared C libraries for implementation of Hypertext Transfer Protocol version 2.`[:lamb03~|openSUSE Leap 15.2openSUSEMIThttp://bugs.opensuse.orgSystem/Librarieshttps://nghttp2.org/linuxx86_64yA큤`[:`[:`[:]γa50f4fe0e1604a9eb72e930211b411b954cb65d21cc4afb7965e1702da6bc6016b94f3abc1aabd0c72a7c7d92a77f79dda7c8a0cb3df839a97890b4116a2de2alibnghttp2.so.14.19.0rootrootrootrootrootrootrootrootnghttp2-1.40.0-lp152.2.6.1.src.rpmlibnghttp2-14libnghttp2-14(x86-64)libnghttp2.so.14()(64bit)@@@@@    /sbin/ldconfig/sbin/ldconfiglibc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.1`KW^@]i]Z@]Z@]R@\g\A\A\8@[F[t[CN@ZЛZUZUZZOhZ.s@Z'ZY@YdYYlYcl@YX@XӸX@Xk@XQ4@X6@W@WRW"W~WXW W4V@V>@V@VV_V@VzV]VI@V4@V@UU@UUȒ@UUUUUcU]USMartin Pluskal Martin Pluskal Adam Majer Martin Pluskal Tomáš Chvátal seanlew@opensuse.orgTomáš Chvátal Martin Pluskal adam.majer@suse.deadam.majer@suse.dempluskal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comfvogt@suse.commpluskal@suse.comdimstar@opensuse.orgmpluskal@suse.commpluskal@suse.commpluskal@suse.comschwab@suse.dempluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.comadam.majer@suse.dempluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.comidonmez@suse.commpluskal@suse.commpluskal@suse.comidonmez@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.comrguenther@suse.commpluskal@suse.compgajdos@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.comsor.alexei@meowr.rumpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.commpluskal@suse.comjengelh@inai.dempluskal@suse.commpluskal@suse.commpluskal@suse.com- security update - added patches fix CVE-2020-11080 [bsc#1181358], HTTP/2 Large Settings Frame DoS + nghttp2-CVE-2020-11080.patch- Update to version 1.40.0 to fix CVE-2019-18802 in envoy-proxy and cilium-proxy (bsc#1166481) * lib: Add nghttp2_check_authority as public API * lib: Fix the bug that stream is closed with wrong error code * lib: Faster huffman encoding and decoding * build: Avoid filename collision of static and dynamic lib * build: Add new flag ENABLE_STATIC_CRT for Windows * build: cmake: Support building nghttpx with systemd * third-party: Update neverbleed to fix memory leak * nghttpx: Fix bug that mruby is incorrectly shared between backends * nghttpx: Reconnect h1 backend if it lost connection before sending headers * nghttpx: Returns 408 if backend timed out before sending headers * nghttpx: Fix request stal- Conditionally remove dependecy on jemalloc for SLE-12- Require correct library from devel package - boo#1125689- Update to version 1.39.2 (bsc#1146184, bsc#1146182): * This release fixes CVE-2019-9511 “Data Dribble” and CVE-2019-9513 “Resource Loop” vulnerability in nghttpx and nghttpd. Specially crafted HTTP/2 frames cause Denial of Service by consuming CPU time. Check out https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-002.md for details. For nghttpx, additionally limiting inbound traffic by - -read-rate and --read-burst options is quite effective against this kind of attack. * Add nghttp2_option_set_max_outbound_ack API function * nghttpx: Fix request stall- Update to version 1.39.1: * This release fixes the bug that log-level is not set with cmd-line or configuration file. It also fixes FPE with default backend. - Changes for version 1.39.0: * libnghttp2 now ignores content-length in 200 response to CONNECT request as per RFC 7230. * mruby has been upgraded to 2.0.1. * libnghttp2-asio now supports boost-1.70. * http-parser has been replaced with llhttp. * nghttpx now ignores Content-Length and Transfer-Encoding in 1xx or 200 to CONNECT. - Drop no longer needed boost170.patch- Update to 1.38.0: * This release fixes the bug that authority and path altered by per-pattern mruby script can affect backend selection on retry. * It also fixes the bug that HTTP/1.1 chunked request stalls. * Now nghttpx does not log authorization request header field value with -LINFO. * This release fixes possible backend stall when header and request body are sent in their own packets. * The backend option gets weight parameter to influence backend selection. * This release fixes compile error with BoringSSL. - Add patch from upstream to build with new boost bsc#1134616: * boost170.patch- Update to 1.36.0 * build: disable shared library if ENABLE_SHARED_LIB is off * third-party: use http-parser to v2.9.0 (GH-1294) * third-party: Update mruby to 2.0.0 * nghttpx: Pool h1 backend connection per address (GH-1292) * nghttpx: Randomize backend address round robin order per thread (GH-1291) * nghttpx: Fix getting long SNs for openssl < 1.1 (GH-1287) * h2load: add an option to write per-request logs (GH-1256) * asio: added access to # of the current server port (GH-1257)- Use multibuild to not pull in python3 in first build, nghttp2 is low in the system- Update to version 1.35.1: * nghttpx: Fix broken trailing slash handling (GH-1276) - Changes for version 1.35: * build: cmake: Fix libevent version detection (Patch from Jan Kundrát) (GH-1238) * lib: Use __has_declspec_attribute for shared builds (Patch from Don) (GH-1222) * src: Require C++14 language feature * nghttpx: Write mruby send_info early * nghttpx: Fix assertion failure on mruby send_info with HTTP/1 frontend * h2load: Handle HTTP/1 non-final response (GH-1259) * h2load: Clarify that time for connect includes TLS handshake- Update to version 1.34.0: (bsc#1112438, FATE#326776) * lib: Implement RFC 8441 :protocol support * nghttpx: Add read/write-timeout parameters to backend option * nghttpx: Fix mruby parameter validation in backend option * nghttpx: Implement RFC 8441 Bootstrapping WebSocket with HTTP/2 * nghttpx: Update neverbleed to fix OpenSSL 1.1.1 issues * nghttpx: Update mruby 1.4.1 * nghttpx: Add mruby env.tls_handshake_finished * nghttpx: Add --tls13-ciphers and --tls-client-ciphers options * nghttpx: Add RFC 8470 Early-Data header field support * nghttpx: Add RFC 8446 TLSv1.3 0-RTT early data support- Update to version 1.33.0: * lib: Tweak nghttp2_session_set_stream_user_data * lib: Fix handling of SETTINGS_MAX_CONCURRENT_STREAMS. * lib: Implement ORIGIN frame * asio: support definition of local endpoint for cleartext client session * integration: Remove remaining SPDY code from the integration tests * nghttpx: Fix worker process crash with neverbleed write error * nghttpx: Support per-backend mruby script * nghttpx: Fix stream reset if data from client is arrived before dconn is attached- Update to version 1.32.0: * lib: Ignore all input after calling session_terminate_session * lib: Fix treatment of padding * lib: Don't allow 101 HTTP status code because HTTP/2 removes HTTP Upgrade * build: add ENABLE_STATIC_LIB option to build static lib * third-party: Upgrade neverbleed to the latest master * asio: Support client side SNI * src: Compile with libressl 2.7.2 * src: Allow building without NPN * h2load: -r and --duration are mutually exclusive- Version umpdate to 1.31.1: * Fix bsc#1088639 CVE-2018-1000168 * https://nghttp2.org/blog/2018/04/12/nghttp2-v1-31-1/- Version update to 1.31.0: * lib: Add nghttp2_session_set_user_data() public API function (GH-1137) * src: Define nghttp2_inet_pton wrapper to avoid inet_pton macro (GH-1128) * nghttpx: Close listening socket on graceful shutdown * nghttpx: Add an option to accept expired client certificate (GH-1126) * nghttpx: Add mruby tls_client_not_before, and tls_client_not_after (GH-1123) * nghttpx: Fix potential memory leak * lib: Allow PING frame to be sent after GOAWAY (GH-1103) * nghttpx: Fix bug that h1 backend idle timeout expires sooner * nghttpx: Stop overwrite of first header on mruby call to env.req.set_header(..) (Patch from Dylan Plecki) (GH-1119) * nghttpx: Add upgrade-scheme parameter to backend option (GH-1099) * nghttpx: Fix missing ALPN validation (--npn-list) (GH-1094) * nghttpx: Remember which resource is pushed for RFC 8297 (GH-1101)- Drop spdylay dependency as it is deprecated since version 1.28.0 and removed from cofnigure.ac since 1.29.0- Use %license (boo#1082318)- Update to version 1.29.0: * lib: Use NGHTTP2_REFUSED_STREAM for streams which are closed by GOAWAY * build: Remove SPDY * build: Fix CMAKE_MODULE_PATH * nghttpx: Revert "nghttpx: Use an existing h2 backend connection as much as possible" * nghttpx: Write API request body in temporary file * nghttpx: Increase api-max-request-body * nghttpx: Faster configuration loading with lots of backends * nghttpx: Fix crash with --backend-http-proxy-uri option- Export PYTHON=/usr/bin/python3 before running configure: allow to build without (comnplete) python2 in the buildroot. In any case we only ship python3-bindings already.- Upodate to version 1.28.0: * lib: Add nghttp2_error_callback2 * build: Add deprecation warning when spdylay support is enabled * Switch to clang-format-5.0 * examples: Make client and server work with libevent-2.1.8 * third-party: Update neverbleed * integration: Fix issues reported by the go vet tool. * nghttpx: Fix affinity retry * nghttpx: Fix stalled backend connection on retry * nghttpx: Cookie based session affinity * nghttpx: Expose additional TLS related variables to mruby and accesslog- Drop forgotten python2 build dependency- Update to version 1.27.0: * h2load: Print out h2 header fields with --verbose option * nghttpx: Send non-final response to HTTP/1.1 or HTTP/2 client only - Changes for version 1.26.0: * docs: Fix some typos in the nghttpx how-to * h2load: Fix bug that timing script stalls with -m1 * h2load: Reservoir sampling (GH-984) * h2load: Add timing-based load-testing in h2load - Switch to python3 support- Don't use jemalloc on ppc or %arm, where it is broken.- Update to version 1.25.0: * lib: add nghttp2_rcbuf_is_static() (Patch from Anna Henningsen) (GH-983) * nghttpx: Fix bug that forwarded for is not affected by proxy protocol (GH-979) * nghttpx: Update mruby to 1.3.0 (GH-957)- Drop doc building - Rename python subpackage to python2- Update to version 1.24.0: * doc: README.rst: fix typo (Patch from Simone Basso) (GH-947) * doc: fix up grammar in submit_trailer docs (Patch from Benjamin Peterson) (GH-945) * doc: fix cleaning in out-of-tree builds (Patch from Benjamin Peterson) (GH-938) * nghttp: Fix bug that upgrade fails if reason-phrase is missing (GH-949) * nghttpx: Verify OCSP response using trusted CA certificates (GH-943) * nghttpx: Set default minimum TLS version to TLSv1.2 (GH-937) - Changes for version 1.23.1: * nghttpx: Fix crash in OCSP response verification - Changes for version 1.23.0: * lib: nghttp2_session: Allow for compiling library with -DNDEBUG set (Patch from Angus Gratton) (GH-919) * lib: Treat incoming invalid regular header field as stream error (GH-900) * lib: Call nghttp2_on_invalid_frame_callback if altsvc validation fails (GH-904) * doc: spelling mistake in arguments to build nghttp apps (Patch from Soham Sinha) (GH-925) * doc: Add notes for installation on linux systems (Patch from Tapanito) (GH-917) * doc: Clarify the effect of nghttp2_option_set_no_http_messaging * nghttpx: Verify OCSP response (GH-929) * nghttpx: Fix certificate selection based on pub key algorithm (GH-924) * nghttpx: Fix certificate indexing bug * nghttpx: Run OCSP at startup (GH-922) * nghttpx: Wildcard path matching (GH-914) * nghttpx: Forward multiple via, xff, and xfp header fields (GH-903) * nghttp: Add -y, --no-verify-peer option to suppress peer verify warn (GH-906)- Update to version 1.22.0: * lib: Add missing free call on error in inflight_settings_new() (Patch from lstefani) (GH-884) * asio: Support specifying stream priority via session::submit() (Patch from Matt Way) (GH-881) * nghttpx: Clarify --conf option behaviour * nghttpx: Add $tls_sni access log variable (GH-896) * nghttpx: Rename ssl_* log variables as tls_* (GH-895) * nghttpx: Fix path matching bug (GH-894) * nghttpx: SNI based backend server selection (GH-892) * nghttpx: Enable signed_certificate_timestamp extension for TLSv1.3 (GH-878) * nghttpx: Add options for X-Forwarded-Proto header field (GH-872) * nghttpx: Add --single-process option (GH-869) * nghttpx: Use 502 as server error code * nghttpx: Use SSL_CTX_set_early_data_enabled with boringssl * nghttp: Verify server certificate and show warning if it fails (GH-870) * integration: Use nip.io instead of xip.io- Update to version 1.21.1: * asio: Fix crash if connect takes longer time than ping interval (GH-866) * nghttpx: Fix bug that 204 from h1 backend is always treated as error (GH-871) - Changes for version 1.21.0: * lib: Fix nghttp2_session_want_write (GH-832) * doc: Document pkg-config path usage * build: Eliminate U macro; Instead use (void)VAR for better compiler compatibility. * src: BoringSSL supports SSL_CTX_set_{min,max}_proto_version. (Patch from Piotr Sikora) (GH-853) * src: Use Mozilla's "Modern compatibility" ciphers by default * src: nghttp2_gzip: fix this statement may fall through [-Werror=implicit-fallthrough=] found by gcc7 (Patch from Alexis La Goutte) (GH-823) * nghttpx: Print version number with -v option * nghttpx: Enable X25519 with boringssl * nghttpx: Retry getaddrinfo without AI_ADDRCONFIG (GH-858) * nghttpx: Failing to listen on server socket is fatal error * nghttpx: Escape certain characters in access log (GH-856) * nghttpx: Ignore further input if connection is going to close * nghttpx: Don't call functions which are not async-signal-safe after fork but before execv in multithreaded process. * nghttpx: Enable backend pattern matching with http2-proxy (GH-733) * asio: client: Send PING after 30 seconds idle (GH-847)- Update to version 1.20.0: * lib: nghttp2_session: fix The 'then' statement is equivalent to the subsequent code fragment found by PVS Studio (V523) (Patch from Alexis La Goutte) (GH-814) * lib: Add nghttp2_option_set_no_closed_streams (GH-810) * build: Disable spdylay detection by default * build: Add --with-systemd option to configure * fuzz: Add fuzzer for oss-fuzz (GH-799) * src: Enable TLSv1.3 if it is supported by OpenSSL (or BoringSSL) (GH-816) * src: h2 requires >= TLSv1.2 * asio: More graceful stop of nghttp2::asio_http2::server::http2 (Patch from Amir Pakdel) (GH-805) * asio: Holding more shared_ptrs instead of raw ptrs to make sure called objects don't get deleted. (Patch from clemahieu) * asio: Fix infinite loop in acceptor handler (Patch from clemahieu) (GH-794) * asio: close_stream erases from streams_ while it's being iterated over. (Patch from clemahieu) (GH-795) * nghttpx: Strip version number from server header field * nghttpx: Add --single-worker option * nghttpx: Fix bug that send_reply does not participate graceful shutdown * nghttpx: Add --frontend-max-requests option * nghttpx: Enable stream-write-timeout by default * nghttpx: Fix stream write timer handling * nghttpx: Add configrevision API endpoint (GH-820) * nghttpx: Redirect to HTTPS URI with redirect-if-not-tls parameter (GH-819) * nghttpx: Update log time stamp in millisecond interval * nghttpx: Better error message when private key and certificate are missing * nghttpx: Fix bug that old config is used during reloading configuration * nghttpx: Specify TLS protocol by version range (GH-809) * nghttpx: Send SIGQUIT to the original master process (GH-807) * nghttpx: Restrict HTTP major and minor in 0 or 1 * nghttpx: Drop privilege of neverbleed daemon first * nghttpx: add systemd support (Patch from Tomasz Torcz) (GH-802) * nghttpx: Fix crash on SIGHUP with multi thread configuration (GH-801) * nghttpx: Send 1xx non-final response using mruby script (GH-800) * nghttpx: Select certificate by client's supported signature algorithm (GH-792) * nghttpx: Recommend POST for backendconfig API request * nghttpx: Don't build PSK features with LibreSSL (Patch from Bernard Spil) (GH-789) * nghttp: add support for link rel="preload" for --get-assets (Patch from Benedikt Christoph Wolters) (GH-791) * h2load: Fix wrong req_stat updates * h2load: Explicitly count the number of requests left and inflight * integration: Fix deprecation warnings * integration: Redirect nghttpx stdout/stderr to test driver's stdout/stderr - Changes for version 1.19.0: * lib: Fix memory leak of nghttp2_stream object in server side nghttp2_session object * Fix issues found by PVS Studio (Patch from Alexis La Goutte) (GH-769) * doc: Update README file to write about the issue of Alpine Linux's inability to replace malloc (Patch from makovich) (GH-768) * build: Compile with Android NDK r13b using clang * src: Fix assertion error with boringssl * nghttp: Take into account scheme and port when parsing HTML links * nghttp: Fix authority for --get-assets if IP address is used in conjunction with user-defined :authority header (Patch from Benedikt Christoph Wolters) (GH-783) * nghttpx: Add --accesslog-write-early option (GH-777) * nghttpx: Fix access.log timestamp (GH-778) * nghttpx: Show default cipher list in -h * nghttpx: Add client-ciphers option * nghttpx: Add client-no-http2-cipher-black-list option * nghttpx: Fix the bug that no-http2-cipher-black-list does not work on backend HTTP/2 connections. * nghttpx: Add --client-psk-secret option to enable PSK in backend (GH-612) * nghttpx: Add --psk-secret option to enable PSK in frontend connection (GH-612) * nghttpx: Enable SCT with OpenSSL 1.1.0 * nghttpx: Add proxyproto to frontend option to accept PROXY protocol (GH-765) * h2load: Show default cipher list in -h * h2load: Show custom server temp key such as X25519 * h2load: Fix incorrect return value from spdylay_send_callback - Changes for version 1.18.1: * nghttpx: Fix assertion error in libev ev_io_start (GH-759) * nghttpx: Handle c-ares success without result * nghttpx: Fix bug that DNS timeout was erroneously disabled (GH-763) * nghttpx: Fix bug that DNS timeout was ignored (GH-763)- use individual libboost-*-devel packages instead of boost-devel- Update to version 1.18.0: * lib: Accept and ignore content-length: 0 in 204 response for now * build: Use pkg-config to detect libxml2 * build: Require c-ares to compile applications under src * build: Add Windows CI via AppVeyor (Patch from Alexis La Goutte) * examples: Delete tiny-nghttpd * nghttpx: Retry h1 backend request if first write fails (GH-757) * nghttpx: Keep reading after backend write failed (GH-756) * nghttpx: Add frontend-keep-alive-timeout option (GH-755) * nghttpx: New error log format (GH-749) * nghttpx: Fix bug that fetch-ocsp-response does not work with OpenSSL 1.1.0 (GH-742) * nghttpx: Backend API call allows non-numeric host with dns parameter (GH-731) * nghttpx: Lookup backend host name dynamically (GH-721) * nghttpx: Accept and ignore content-length: 0 in 204 response for now (GH-735) * nghttpx: Wait for child process to exit- Update to version 1.17.0: * lib: Disallow content-length in 1xx, 204, or 200 to a CONNECT request (GH-722) * lib: Avoid memcpy against NULL src * build: MSVC version resource support (Patch from Remo E) (GH-718) * asio: server: Call on_close callback on connection close (GH-729) * nghttpx: Fix frequent crash with --backend-http-proxy-uri * nghttpx: Robust backend read timeout * nghttpx: Fix bug that mishandles response header from h1 backend * nghttpx: Fix bug that zero-length POST is not forwarded (GH-726) * nghttpx: Remove optional reason-phrase from SPDY :status * nghttpx: Header key and value must be string in mruby script * nghttpx: Strip content-length with 204 or 200 to CONNECT in mruby (GH-722) * nghttpx: Strict handling for Content-Length or Transfer-Encoding in h1 (GH-722) * nghttpx: Fix compilation with BoringSSL (Patch from dalf) (GH-717) * nghttpd, nghttpx, asio: Add missing mandatory SP after status code- Update to version 1.16.1: * lib: Prevent undefined behavior in decode_length * nghttpx: Fix bug which may crash nghttpx if non-final response is forwarded from origin server to HTTP/1.1 client - Changes for version 1.16.0: * lib: Add nghttp2_set_debug_vprintf_callback to take advantage of DEBUGF statements in when building DEBUGBUILD. * Update .clang-format for clang-format-3.9 * build: Make it possible to include nghttp2/CMakeLists.txt in another project using add_subdirectory. * third-party: Update http-parser to feae95a3a69f111bc1897b9048d9acbc290992f9 * asio: Fix crash when end() is called outside nghttp2 callback * nghttpx: Add --backend-connect-timeout option * nghttpx: Add TLS signed_certificate_timestamp extension support * nghttpx: Add --ecdh-curves option to specify list of named curves * h2load: Add --header-table-size and --encoder-header-table-size options- Update to version 1.15.0: * lib: Add nghttp2_option_set_max_deflate_dynamic_table_size() API function (GH-684) * lib: Allow NGHTTP2_ERR_PAUSE from nghttp2_data_source_read_callback (GH-671) * lib: Add nghttp2_session_get_hd_deflate_dynamic_table_size() and nghttp2_session_get_hd_inflate_dynamic_table_size() API functions to get current HPACK dynamic table size (GH-664) * lib: Add nghttp2_session_get_local_settings() API function * lib: Add nghttp2_session_get_local_window_size() and nghttp2_session_get_stream_local_window_size() API functions * build: Add -lsocket -lnsl to APPLDFLAGS for solaris build * neverbleed: Update neverbleed to support ECDSA certificate * doc: Mention --enable-lib-only configure option in README * integration: Fix test failure with go1.7.1 * src: Fix compile error with openssl 1.1.0 * nghttpx: Improve performance with HTTP/1.1 backend when request body is involved * nghttpx: Use std::atomic_* overloads for std::shared_ptr if available * nghttpx: Migrate backend stream to another h2 session on graceful shutdown * nghttpx: Add option to specify HPACK encoder/decoder dynamic table size * nghttpx: Log client address * nghttpx: Add tls_sni to mruby Nghttpx::Env class * nghttpx: Add --frontend-http2-window-size option, and its family functions * nghttpx: Add experimental TCP optimization for h2 frontend * nghttpx: Workaround for std::make_shared bug in Xcode7, 7.1, and 7.2 (GH-670) * nghttpx: Fix bug that bytes are doubly counted to rate limit for TLS connections * nghttpx: Add --no-server-rewrite option not to rewrite server header field (GH-667) * nghttpx: Retry if backend h1 connection cannot be established due to timeout * nghttpx: Reset stream if invalid header field is received in h2 * nghttpx: Add --server-name option to change server response header field (GH-667) * nghttpd: Add --encoder-header-table-size option * nghttp: Add --encoder-header-table-size option * python: Support ALPN, require Python 3.5- Update to version 1.14.0: * lib: Make emit_header() return void since it always succeed * lib: Add nghttp2_hd_deflate_hd_vec() deflate API to support multiple buffer input * lib: since hd_inflate_commit_indexed() always return 0, remove the return value check in nghttp2_hd_inflate_hd_nv() * lib: Use memeq() instead of lstreq() in lookup_token() * lib: More strict stream state handling * lib: Modify genlibtokenlookup.py to remove redundant header comparisons and remove inline qualifier of lookup_token() in genlibtokenlookup.py * lib: Fix wrong tree operation to avoid cycle * lib: Make get_max_index() return the max index in frame, so we don't need to do extra calculation * lib: Add nghttp2_on_invalid_header_callback * lib: Log frame's stream ID for header debug logging * doc: Remove old doc about differential encoding in HPACK * doc: Document about ALPN in nghttpx howto * nghttpx: Log error code from getsockopt(SO_ERROR) on first write event * nghttpx: Don't change pushed stream's priority * nghttpx: Log backend connection failure in WARN level * nghttpx: Fix bug that api and healthmon parameters do not work with http2 proxy * nghttpx: Add access log variable for backend host and port * nghttpx: Use copy instead of const reference of backend group * nghttpx: Reload configuration with SIGHUP * nghttp: Adjust weight according to Firefox stable * nghttp: Call error callback when invalid header field is received and ignored * nghttp: Allow multiple -p option * deflatehd: Call nghttp2_hd_deflate_change_table_size only if table size is changed from default- Update to version 1.13.0: * lib: Cancel non-DATA frame transmission from nghttp2_before_frame_send_callback * doc: Fix warning with Sphinx 1.4 * build: Work with Android NDK r12b * nghttpx: Use consistent hashing for client IP based session affinity * nghttpx: Fix FTBFS on armel by explicitly including the header * nghttpx: Cast to double to fix build with gcc 4.8 on Solaris 11 * nghttpx: Fix build error with libressl * examples: Fix compile error with OpenSSL v1.1.0-beta2- Update to version 1.12.0: * Add nghttp2_session_set_local_window_size API function * Add nghttp2_option_set_max_send_header_block_length API function (GH-613) * Fix warning: declaration of 'free' shadows a global declaration (Patch from Alexis La Goutte) * examples: Add ALPN support to tutorial client/server (GH-614) * nghttpx: Reduce TTFB with large number of incoming connections * nghttpx: Rewrite read timer handling * nghttpx: Clean up neverbleed AF_UNIX socket * nghttpx: Add --backend-max-backoff option * nghttpx: Use 16KiB buffer for reading to match TLS record size * nghttpx: Add healthmon parameter to -f option to enable health monitor mode * nghttpx: Receive reference of std::mt19937, not making a copy * nghttpx: Fix bug that backend never return to online (GH-615) * nghttpx: Implement client IP based session affinity * nghttpx: Add --api-max-request-body option to set maximum API request body size * nghttpx: Add api parameter to --frontend option to mark API endpoint * h2load: Add content-length header field for HTTP/2 and SPDY as well * h2load: Implement HTTP/1 upload (GH-611)- Update to 1.11.1 * lib: Add nghttp2_hd_inflate_hd2() and deprecate nghttp2_hd_inflate_hd() * lib: Avoid 0-length DATA if NGHTTP2_DATA_FLAG_NO_END_STREAM is set * lib: Fix bug that PING flags are ignored in nghttp2_submit_ping * integration: Workaround runtime error: cgo argument has Go pointer to Go pointer * nghttp: Eliminate zero length DATA frame at the end if possible * nghttpd: Set content-length in status response * nghttpx: Add sni keyword to --backend option * nghttpx: Allow mixed protocol and TLS settings among backends under same pattern * nghttpx: Don't add 0-length DATA when response HEADERS bears END_STREAM flag * nghttpx: Don't add chunked encoded response body for HEAD request * nghttpx: Don't use CN if we have dNSName or iPAddress field * nghttpx: Just call execv instead of execve to pass environ * nghttpx: Make SETTINGS timeout value configurable * nghttpx: Save PID file after it is ready to accept connections * nghttpx: Treat backend failure if SETTINGS is not received within timeout * nghttpx: Wait for SETTINGS ACK to make sure that backend h2 server is alive- Update to 1.10.0 * Pass unknown SETTINGS values to nghttp2_on_frame_recv_callback * Add ALTSVC frame support * Run error callback when peer does not send initial SETTINGS frame * Update http-parser * Update sphinx_rtd_theme * nghttp: add an --expect-continue option * nghttpx: Fix downstream connect callback called early * nghttpx: Truncate too long -b option signature * nghttpx: Fix bug that server push from mruby script did not work * nghttpx: Try next HTTP/1 backend address when connection cannot be made * nghttpx: Retry next HTTP/2 backend address when connection cannot be made * nghttpx: Enable link header field based push for non-final response * nghttpx: Detect online/offline state of backend servers * nghttpx: Better load balancing between backend HTTP/2 servers * nghttpx: Fix crash with backend failure- Update to 1.9.2 * nghttpx: Fix crash with backend failure * nghttpx: Better distribute load to backend h2 servers * nghttpx: Fix error messages on deprecated mode * nghttpx: Fix bug that logger wrote string which was not NULL-terminated * nghttpx: Fix bug that proxy with HTTP/1.1 CONNECT did not work- Update to 1.9.1 * nghttpx: Fix bug that backend tls keyword did not work with -s option * nghttpx: Fix handing stream after connection check was failed - Changes for 1.9.0 * lib: Add nghttp2_error_callback to tell application human readable error message * lib: Reference counted HPACK name/value pair, adding * nghttp2_on_header_callback2 * lib: Add nghttp2_option_set_no_auto_ping_ack() option * lib: Add nghttp2_http2_strerror() to return HTTP/2 error code string * build: Makefile.msvc enhancements (Patch from Jan-E) * build: Lower libev version requirement (Patch from Peter Wu) * build: cmake build support (Patch from Peter Wu) * asio: Fix bug that server event loop breaks with exception * integration: Disable tests that sometimes break randomly on travis * integration: do not use recursive target (Patch from Peter Wu) * h2load: Fix bug that it did not try to connect to server again * h2load: Fix bug that initial max concurrent streams was too large * nghttpx: Memcached connection encryption with tls keyword * nghttpx: Enable/disable TLS per frontend address * nghttpx: Configure TLS per backend routing pattern * nghttpx: Workaround for Ubuntu 15.04 which does not value-initialize on std::make_shared. * nghttpx: Add --error-page option to set custom error pages * nghttpx: Add wildcard host routing * nghttpx: Change read timeout reset timing * nghttpx: Don't push if Link header field includes nopush * nghttpx: Deprecate backend-http1-connections-per-host in favor of backend-connections-per-host * nghttpx: Restructure mode settings, removing --http2-bridge, - -client, and --client-proxy options * nghttpx: Deprecate backend-http1-connections-per-frontend in favor of backend-connections-per-frontend * nghttpx: Don't share session which is already in draining state * nghttpx: Effectively disable backend HTTP/2 connection flow control * nghttpx: Add --frontend-http2-max-concurrent-streams and - -backend-http2-max-concurrent-streams, and deprecate - -http2-max-concurrent-streams option * nghttpx: Deprecate --backend-http2-connections-per-worker option * nghttpx: Share TLS session cache between HTTP/2 and HTTP/1 backend * nghttpx: Rewrite backend HTTP/2 connection coalesce strategy- Update to 1.8.0 * Add Architecture documents (work in progress) * List all contributors in AUTHORS * doc: fix out-of-tree doc builds (Patch from Peter Wu) * Wrap AM_PATH_XML2 by m4_ifdef to handle the case when _PATH_XML2 is not found * Fix configure script for non-gcc, clang build * Document compiling apps and include h2load in configure (Patch from David Beitey) * Don't check for dlopen/libdl on *BSD (Patch from Bernard Spil) * Don't taint CXXFLAGS from AX_CXX_COMPILE_STDCXX_11 * Fixing Windows Makefile version detection (Patch from Reza Tavakoli) * lib: Tokenize extra HTTP header fields * lib: Fix typo in HAVE_CONFIG_H name (Patch from Peter Wu) * lib: Add HTTP/2 extension framework to send and receive non-critical frames * tests: remove unused macros (Patch from Peter Wu) * src: Update default cipher list * src: Fix compile error with gcc-6 which enables C++14 by default * asio: client: Fix connect timeout does not work, return from cb if session stopped, removing client::session::connect_timeout() functon * nghttpd: Start SETTINGS timer after it is written to output buffer * nghttpd: Add trailer header field to status responses * nghttpd: Add -w and -W options to change window size * nghttpx: Worker wide blocker which is used when socket(2) is failed * nghttpx: ConnectBlocker per backend address * nghttpx: Interleave text/html pushed resources with associated resource * nghttpx: Add headers given in add-response-headers for mruby response * nghttpx: Deprecate --backend-ipv4 and --backend-ipv6 in favor of --backend-address-family * nghttpx: Add options to specify address family of memcached connections * nghttpx: Add encryption support for TLS ticket key retrieval * nghttpx: Add TLS support for session cache memcached connection * nghttpx: Refactor blacklisted cipher suite check (Patch from Jay Satiro) * nghttpx: Add TLS support for HTTP/1 backend * nghttpx: Add request-header-field-buffer and max-request-header-fields options, deprecating header-field-buffer and max-header-fields options. * nghttpx: Add --no-http2-cipher-black-list to allow black listed cipher suite * nghttpx: Limit header fields from backend * nghttpx: Fix bug that IPv6 address in Forwarded "for" is not quoted-string * nghttpx: Support multiple frontend addresses * integration-tests: support out-of-tree tests (Patch from Peter Wu) * examples: fix compile warnings (Patch from Peter Wu) - Drop upstreamed nghttp2-c++14.patch- Update to 1.7.1 * Fix CVE-2016-1544 (boo#966514)- Add nghttp2-c++14.patch to properly guard make_unique templates. [bsc#964140]- Update to 1.7.0 * Reset (RST_STREAM) stream if flow control window gets overflow * Validate :authroity, host, and :scheme value more strictly * Check request/response submission error based side of session * Strict outgoing idle stream detection * Return error from nghttp2_submit_{headers,request} when self dependency is made * Add -ldl to APPLDFLAGS for static openssl linking * asio: Stop acceptor on server::http2::stop * asio: Rename http2::get_io_services() as http2::io_services() * h2load: Support UNIX domain socket * h2load: Improve readability of traffic numbers * h2load: Remove "auto" for -m option * h2load: Show progress in rate mode * h2load: Perform sampling for request and connection timings to reduce memory consumption * nghttpd: Add --no-content-length option to omit content-length in response * nghttpx: Interleave pushed streams with the associated stream if pushed streams are javascript and CSS resources * nghttpx: The initial value of request/response buffer is increased to 128K * nghttpx: Fix bug that --listener-disable-timeout option is not used * nghttpx: Don't emit :authority if request does not contain authority information * nghttpx: Add clarification of quotes in configuration file * nghttpx: Don't allow certain characters in host and :scheme header field * nghttpx: Add RFC 7239 Forwarded header field support * nghttpx: Fix crash when running on IPv6 only (Patch from Vernon Tang) * nghttpx: Take into account of trailers when applying max_header_fields * nghttpx: Don't apply max_header_fields and header_field_buffer limit to response * nghttpx: Strict validation for header fields given in configuration * nghttpx: header value should not be lower-cased (Patch from ayanamist)- fixed typo in libnghttp2_asio1 [bsc#962914]- Update to 1.6.0 * Fix heap-use-after-free bug when handling idle streams * Strict error handling for frames which are not allowed after closed (remote) * Set max number of outgoing concurrent streams to 100 by default * Keep incoming streams only at server side * Create stream object for pushed resource during nghttp2_submit_push_promise() * Add nghttp2_session_create_idle_stream() API * Handle response in nghttp2_on_begin_frame_callback * Add --lib-only configure option * Compile with OpenSSL 1.1.0-pre1 * Fix build when OpenSSL 1.0.2 is not available (patch from Sunpoet Po-Chuan Hsieh) * asio: Add connect and read timeout to client API * asio: Add TLS handshake and read timeout to server API * asio: Added access to a requests remote endpoint (patch from Andreas Pohl) * asio: libnghttp2_asio: Added io_service accessors (patch from Andreas Pohl) * h2load: Add req/s min, max, mean and sd for clients * h2load: Fix broken connection times- Update to 1.5.0 * Fix bug that nghttp2_session_find_stream(session, 0) returned NULL * Add nghttp2_session_change_stream_priority() to change stream priority without sending PRIORITY frame * Add nghttp2_session_check_server_session() API * Consider to use CANCEL error code when closing streams with GOAWAY * Don't send push response if GOAWAY has been received * Use error code CANCEL to reset pushed reserved stream from remote * Add nghttp2_session_upgrade2(), deprecate nghttp2_session_upgrade() * Workaround HTTP upgrade with HEAD request in nghttp2_session_upgrade() * Introduce NGHTTP2_NV_FLAG_NO_COPY_NAME and NGHTTP2_NV_FLAG_NO_COPY_VALUE * Add nghttp2_session_check_request_allowed() API function * Switch to clang-format-3.6 * Update mruby to 1.2.0 * tests: fix broken linkage with --disable-static (Patch from Kamil Dudka) * python: Send RST_STREAM if remote side is not closed and response finished * asio: client: call on_error when connection is dropped * asio: ALPN support * h2load: Add --h1 option to force http/1.1 for both http and https URI * h2load: Fix crash when dealing with "connection: close" form HTTP/1.1 server * h2load: h2load goes into infinite loop when timing script file starts with 0.0 in first line (Patch from Kit Chan) * h2load: Override user-agent with -H option * h2load: Print "space savings" to measure header compression efficiency * h2load: Stream error should be counted toward errored * h2load: Show application protocol with OpenSSL < 1.0.2 * nghttpx: Don't send RST_STREAM to h2 backend if backend is disconnected state * nghttpx: Support server push from HTTP/2 backend * nghttpx: Fix bug that causes connection failure with backend proxy URI * nghttpx: Use --backend-tls-sni-field to verify certificate hostname * nghttpx: Log :authority as $http_host if available * nghttpd: Fix crash with CONNECT request * nghttpd: Defered eviction of cached fd using timer * nghttpd: Read /etc/mime.types to set content-type header field * nghttp: Record request method to output it in har correctly * nghttp: Use method given in -H with ":method" in HTTP Upgrade - Drop nghttp2-1.4.0-fix-tests.patch (now in upstream)- Enable spdy and more example applications- Update to 1.4.0: * lib: Don't always expect dynamic table size update. * lib: Shrink to the minimum table size seen in local SETTINGS. * lib: Add new error code NGHTTP2_ERR_PAUSE to send_data_callback. * lib: Avoid excessive WINDOW_UPDATE queuing. * lib: Return fatal error if flooding is detected to close session immediately. * lib: Return type of nghttp2_submit_trailer is int. * lib: Don't send WINDOW_UPDATE with 0 increment. * lib: Fix bug that headers in CONTINUATION were ignored after HEADERS with padding. * package: Use -fvisibility=hidden for internal functions. * package: Show more information in configure summary. * package: Add PIDFile directive to systemd service. * package: Fix daemon upgrade when running under systemd. * app: Compile with BoringSSL. * nghttp: Allow multiple -c option occurrence, and take min and last value. * nghttpd: Fix leak when server failed to listen to given port. * nghttpx: Add TLS dynamic record size behaviour command line options. * nghttpx: Reduce default timeouts for read sockets to 1m. * nghttpx: Fix bug that PUT is replaced with POST. * nghttpx: Change mruby script handling. * nghttpx: Added support for RFC 7413 (TCP Fast Open) on nghttpx proxy listening connections. * nghttpx: Add neverbleed support. * h2load: Don't DOS our server! * h2load: Use duration syntax for timeouts. * h2load: Support subsecond rate period. * h2load: Simplify rate mode. * h2load: Add option for user-definable rate period. * h2load: Reuse SSL/TLS session. * h2load: Reconnect server on connection: close. * h2load: Don't exit in the case of no ALPN protocol overlap. * integration: Update go's http2 package URI. - Add missing baselibs.conf. - Add nghttp2-1.4.0-fix-tests.patch from commit 4825009. - Small spec cleanup.- Update to 1.3.4 * Make traditional init script fail if new config file is broken (Patch from Janusz Dziemidowicz) * nghttpx-logrotate: Don't use killall since we have multiple processes * nghttpx: Fix improper signal handling - Changes for 1.3.3 * Fix bug in padding handling of DATA frame * Use hash table for dynamic table lookup * More warning flags for --enable-werror * Update mruby * h2load: HTTP/1.1 support (Patch from Lucas Pardue) * nghttpx: Do not try to set TCP_NODELAY when frontend is an UNIX socket (Patch from Janusz Dziemidowicz) * nghttpx: Chown UNIX domain socket to user specified as --user * nghttpx: Split monolithic one process into control and worker processes * nghttpx: Handle SSL/TLS data following PROXY protocol line - Changes for 1.3.2 * Check header block limit after new stream is opened * nghttp: Show error if HEADERS frame cannot be sent for whatever reason * nghttpx: Fix assertion failure on TLS handshake * nghttpx: Add x-http2-push header field for pushed resource * nghttpx: Fix compile error with --disable-threads- Update to 1.3.1 * Avoid usage of typeof and replace __builtin_offsetof with offsetof * Honor stream->weight even if stream->last_writelen is 0 * Compile third-party libraries if hpack-tools is enabled * nghttpx-init: Start nghttpx with --daemon * Bundle sphinxcontrib.rubydomain https://bitbucket.org/birkenfeld/sphinx-contrib/src/default/rubydomain/ * Bundle mruby * h2load: Record TTFB on first byte of response body, rather than first socket read * h2load: Improve checking for timing script input, prevent false positive in certain situations * nghttpx: Implement PROXY protocol version 1 (--accept-proxy-protocol option) * nghttpx: Allow link header server push for HTTP/2 backend as well * nghttpx: Don't initiate push if client disabled push * nghttpx: Allow absolute URI in Link header field for push * nghttpx: Fix crash with multi workers and QUIT signal * nghttpx: Add mruby support which is disabled by default (use --with-mruby configure option to enable it) * nghttpx: Drop connection before TLS finish if h2 requirement is not fulfilled - Fix typo in previous changelog entry- Update to 1.3.1 * Limit the number of incoming reserved (remote) streams * Add stream public API * Rewrite priority tree handling * Fix parallel make distcheck * Define it and itprep recursive target if AM_EXTRA_RECURSIVE_TARGETS is defined * fetch-ocsp-response: Handle spurious openssl exist status 0 * nghttpx: Use nghttp2::ssl::DEFAULT_CIPHER_LIST for backend TLS connection * nghttpx: Don't allow blacked listed cipher suites for HTTP/2 connection * nghttpx: better handle /dev/stderr and /dev/stdout (Patch from Tomasz Buchert) * nghttpd: GOAWAY if SSL/TLS requirements for HTTP/2 are not met * nghttpd: Return date header field for 304 * nghttpd: Support HEAD request * h2load: Add Timing-script and base URI support (Patch from Lucas Pardue) * h2load: Add timeout options (Patch from Nora) - Fix typo in changelog- Update to 1.2.1 * doc: Reword the HPACK tutorial (Patch from Tom Harwood) * nghttpx: Fix stability issues * h2load: Fix crash if -r > -n- Update to 1.2.0 * Fix crash if response or data is submitted to closing stream * Header table size UINT32_MAX must be accepted * Use PROTOCOL_ERROR against DATA sent to idle stream * Allow multiple in-flight SETTINGS * Strictly check occurrence of dynamic table size update * Fix configure warning that 'missing' is missing or too old * Fix rm: cannot remove ‘*.rst’: No such file or directory when "make clean" (Patch from Alexis La Goutte) * doc: Reword some of the server and client tutorial (Patch from Tom Harwood) * src: Remove monotonic_clock replacement macro for gcc-4.6 * nghttpx: Add TLS ticket key sharing among nghttpx instances using memcached * nghttpx: Add shared session cache using memcached * nghttpx: Set SSL/TLS session timeout to 12 hours * nghttpx: Enable session resumption on HTTP/2 backend * nghttpx: Don't rewrite host header field by default * nghttpx: Generate new ticket key every 1hr and its life time is now 12hrs * nghttpx: Don't reuse backend connection if it is not clean * nghttpx: Add AES-256-CBC encryption for TLS session ticket * nghttpd: Fix the bug that 304 response has non-empty body * h2load: Add -r and -C options to h2load (Patch from Nora Shoemaker) - Changes for 1.1.2 * Fix linker error with libnghttp2_asio * Allow custom installation location for Python bindings - Drop no longer needed missing_nghttp2_timegm.patch- Update to 1.1.1 * nghttpx: Fix various stability issues and memory leak bug - Changes for 1.1.0 * Fix DATA is not consumed if nghttp2_http_on_data_chunk failed * nghttp2_submit_response and nghttp2_submit_headers may return * NGHTTP2_ERR_DATA_EXIST * msvc build fixes and enchantments (Patch from Gabi Davar) * Compile with IRIX gcc-4.7 (Patch from Klaus Ziegler) * nghttp: Add --max-concurrent-streams option * nghttp: Add comment on HAR on pushed objects (Patch from acesso) * nghttpx: Add --include option to read additional configuration from given file * nghttpx: Add backend routing based on request host and path by extending -b option * nghttpx: Allow log variable to be enclosed by curly braces for disambiguation * nghttpx: Add log variables related to SSL/TLS connection * h2load: Add --ciphers option - Add patches * missing_nghttp2_timegm.patch to fix building of asio library * nghttp2-remove-python-build.patch to fix python bindings installation when autotools are used- Update to 1.0.5 * Add STREAM_DEP_DEBUG macro switch to enable runtime validation of depedency tree * Fix another bug in priority handling; sibling's item is not queued when ancestor's item is detached * nghttpx: Fix crash with --http2-bridge and both frontend and backend TLS- Update to 1.0.4 * Fix assertion failure in stream_update_dep_on_detach_item (GH-264) - Changes for 1.0.3 * Fix bug that idle self-depending PRIORITY is not handled gracefully * Optimize dependency based priority code to Firefox style tree * enable third-party for asio_lib too (Patch from Mike Frysinger) * fetch-ocsp-response: Support LibreSSL, and include port in ocsp_host * src: Support compile with LibreSSL * nghttpx: Fix bug that x-forwarded-proto header field does not reflect frontend scheme on HTTP/2 backend * nghttpx: Validate :path on SPDY frontend- Update to 1.0.2 * Fix bug that data are not consumed for connection in race condition (GH-253) * Define NGHTTP2_EXTERN to __declspec(dllimport) when using nghttp2 for Windows build * Translate fetch-ocsp-response into Python * libevent-client: Fix bug that path is broken if URI does not contain path part * python: Call on_close callback when connection is lost for server session * python: Expose client certificate, if available (Patch from Fabian Wiesel) * python: Catch and log failure to set TCP_NODELAY (Patch from Fabian Wiesel) * nghttpx: Add --add-request-header option * nghttpx: Make WebSocket upgrade work * nghttpx: Fix bug that END_STREAM is not set in backend for POST with Upgrade * nghttpx: Don't send "Expect" header field twice- Update to 1.0.1 * Include stdint.h instead of inttypes.h when compiled with MSVC < 2013 * Fix invalid memory free on out-of-memory handling * integration: Use our own copy of golang spdy package * android: Don't link zlib bundled with android NDK * Dockerfile.android: Update NDK ver, and ubuntu; build and link zlib * src, examples: Fix up OpenSSL initialization * nghttpx: Allow HTTP Upgrade from POST request if response header has not been sent to the client * nghttpx: Fix bug that PUSH_PROMISE is sent after associated response HEADERS * nghttpd: Close connection after settings timeout and GOAWAY was sent * h2load: Fix bug that NPN fails if ALPN is enabled- Update to 1.0.0 * v1.0.0 introduced backward incompatible changes from 0.7 series. Read https://nghttp2.org/documentation/package_README.html#migration-from-v0-7-15-or-earlier to migrate from older version to this latest version. - Changes for 0.7.15 * Hopefully, this is the last release for 0.7.x series. Development continues in 1.x series. * Access violation in buffers (GH-232) (Patch from Etienne Cimon) * Retry finding jemalloc lib by je_malloc_stats_print (GH-233) * inflatehd: Fix crash if 'wire' value is not string (GH-235) * nghttpx: Revert 585af93 to fix crash with TLS (GH-234) * nghttpd: Add --echo-upload option to send back request body- Update to 0.7.14 * Fix global-buffer-overflow in HPACK code * Fix doc for nghttp2_select_next_protocol * Fix bug that promised stream was not reset on decompression error * Add systemd and upstart configuration file for nghttpx (Patch from Zhuoyun Wei) * Improve nghttpx logrotate configuration file (Patch from Zhuoyun Wei) * Update sphinx_rtd_theme * h2load: Update h2load to give connect time and ttfb stats (Patch from ericcarlschwartz) * nghttpd: Add -m, --max-concurrent-streams option * nghttpx: Log absolute URI for HTTP/2 or client proxy request * nghttpx: Add --header-field-buffer and --max-header-fields options * nghttp: Fix assertion error if very large value is given to -t- Update to 0.7.13 * Fix bug that promised stream was not reset by returning NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE from nghttp2_on_header_callback. Instead, associated stream was reset. * Allow NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE from nghttp2_on_begin_headers_callback * h2load: Effectively disable flow control by setting large window size * asio: Graceful shutdown and joinable server (Patch from Xiaoguang Sun)- Update to 0.7.12 * Fix bug that nghttp2_session_set_next_stream_id accepts invalid stream_id * HPACK: Rewrite static header table handling * HPACK: Never index authorization and small cookie header field * Don't install libnghttp2_asio headers if they are disabled * doc: Specify program directive so that hyperlink to option is correctly pointed to the intended location * asio: client: Call error_cb on error occurred in do_read and do_write (Fixes GH-207) * nghttp: Add --no-push option to disable server push * nghttp: Show stream ID in statistics output * nghttp: Remove --dep-idle option * nghttp: Use same priority anchor nodes as Firefox does * nghttpx: Don't push resource if link header has non empty loadpolicy * nghttpx: Add logging for somewhat important events (logs, tickets, and ocsp) * nghttpx: Set Downstream to stream user data on HTTP Upgrade to h2- Update to 0.7.11 * nghttpx: Fix waitpid race condition in ocsp response update * nghttp: Consider user-provided :authority header field for SNI as well as host header field - Changes for 0.7.10 * Make sure that nghttp2 license is MIT license * Add nghttp2_session_consume_{connection,stream} to consume bytes independent * Add nghttp2_send_data_callback to send DATA payload without copying "static inline" fix for build with VS2013 (Patch from Remo E) * Update lib/Makefile.msvc (Patch from Remo E) * Remove dependency on libws2_32 on Windows build * Define NGHTTP2_EXTERN macro to export function for Windows build * doc: Generate API doc per function * python: Add async body generation support * python: Fix pseudo-header field ordering bug * nghttpx: Redirect stderr to errorlog file * nghttpx: Fix bug that data buffered in SSL object are not read * nghttpx: Remove --tls-ctx-per-worker option * nghttpx: Add OCSP stapling feature- Enable python bindings - Update to 0.7.9 * Implements h2-14 protocol (http://tools.ietf.org/html/draft-ietf-httpbis-http2-14) * Implements HPACK 09 (http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-09) * h2load: Fix crash if -t > -c * h2load: Add -d option to upload data to server * nghttpx: Forward only "trailers" keyword in te when forwarding HTTP/2 backend * nghttpx: Fix PUSH_PROMISE header field corruption [GH-194] * nghttpx: Fix te header field is duplicated when forwarding HTTP/2 backend * nghttp, nghttpd: Add --hexdump option to hexdump incoming traffic. * examples: Place AM_CPPFLAGS first to use in-package header files first [GH-192] - Changes for 0.7.8 * Implements h2-14 protocol (http://tools.ietf.org/html/draft-ietf-httpbis-http2-14) * Implements HPACK 09 (http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-09) * Validate :path header field for http or https URI scheme * NULL-terminate header field name and value presented by callback * README.rst: Cleaned up the grammar a bit (Patch from Ross Smith II) * h2load: fix for segfault by reserving correct worker count (Patch from Stefan Eissing)- Avoid shipping documentation redundantly. Set RPM groups.- Fix rpm group- Update to 0.7.5 * Implements h2-14 protocol (http://tools.ietf.org/html/draft-ietf-httpbis-http2-14) * Implements HPACK 09 (http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-09) * Validate HTTP semantics by default * Add nghttp2_option_set_no_http_messaging() API function * Update http-parser * nghttp, nghttpd, nghttpx: Use "sensitive" to indicate "never indexed" header field * nghttp, nghttpd, nghttpx, h2load: Select/announce h2 in ALPN/NPN * nghttp: Fix unaligned field output in --stat * nghttp: Fix -H does not work with -u upgrade request * nghttp: Update resource timing terminology according to Resource Timing TR * nghttpd: Add -a option which takes an address parameter that allows nghttpd to bind to a non-default address. Patch from Brian Card * nghttpx: Use omit minor version in case of HTTP/2 in via header and access log * nghttpx: Support UNIX domain socket on both frontend and backend * nghttpx: Fix crash in http/1 backend when backend returns more bytes than CL * nghttpx: Cast configuration value to rlim_t to avoid compile error on 32bit * nghttpx: Fix 1 second delay in HTTP/2 backend connection * nghttpx: Fix request re-submission bug in HTTP/2 backend * asio-sv2: Fix compile error with OS X- Initial packaging of 0.7.4/sbin/ldconfig/sbin/ldconfiglamb03 16165916011.40.0-lp152.2.6.11.40.0-lp152.2.6.1libnghttp2.so.14libnghttp2.so.14.19.0libnghttp2-14COPYING/usr/lib64//usr/share/licenses//usr/share/licenses/libnghttp2-14/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Maintenance:15975/openSUSE_Leap_15.2_Update/92881e26f3dd4fa74f37668bef02eec5-nghttp2.openSUSE_Leap_15.2_Updatecpioxz5x86_64-suse-linuxELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=15d15e930d2df84feaba964998c264ae2e87e20f, strippeddirectoryASCII textPRRRRRIpƄs.!.\utf-873291a933c26b05bba4ad13031f0ebdd94d1cd4df636dce505fcaf0434a560f3?7zXZ !t/[ڴ] cr$x#DeEfigWUoǢ,I3.A͜<&H1ߓYXFz; @f NOk䙈4&o` 1a]9{[B~dXZm!q܄n>-.i{ua6;Jn=< CE"yȸt!Ŷ!sIkpg#; _Ymʐ\I7[0<MVR#y pf SʮzM#"eyJO7pW{;t>RhgC3fwC_(WF$͇KnTBɢjزИO "rs <4b_|Oll54m4ȑۍI_w)Y4͚oWA^mLq[tv4e}ɊWpӻrP~Y 53 I>[@K!tDoXfA*#sGC (3_uc+ejwS#jV,dJ-e38$rx~4+ʆEw'Y ժ&3[y.f[Q0Cd%Q@LJ mP |6Pڡppf)WQw@?.'0b5 /.X9N=-Fa7+dduI> B4%`-9%Z4}ѻw@Ee/(Hz#s rISA).W^Rƍt$DYFq0/+>9 ?[m6cm>YfJ,u \+ylʭ Qrbsj*rUu>ֲJq6!w^+Nؑ* ʨoRU4{ `*<~|bD\lRp'LA V͉0rqFى.D+2&H?:PCwFIo}KZEz`Pڮ<\8uɐ mG@Q;Ϻ {Eu:4\(䘬hd 5YYtDۡaH_?/|&mي']Y "Jnze1.w∉sV4W^_wO$M[Ʃ Vm6m#(怠MuQ|WŇ*4攨y!꥾Cz, mHjxg+Je|֐W~R;)u~.Ǩk2R[EKy$lo3sgm<ӒɾG_e$YLpF0rp)E'v f%twg-R1&-:uӲҞkSq>+1*gq{3b`&y>0˜uTtˈ]gYl,^īѱ +{ =1zj|LgpBSppGOYb n-_eL>YQ!{3ɒM0{l} 췷Ҙ zy{ѿ`'u&;IYjoc *GBH^\=>-s;'v*_0D:&e7R硺D@NjYk9! !9ࠄEk~$C1@Q=QSSETxRm^O%gLbt Tdn>-XRﬡ,n 6RbA͗ 4 3qyLDԡXf*X#tj:H\O$ׅ`KKYrdNROz/MG- B!$SY͞(K8kz?-C6b[PƶYNaU(b%fF?f:4+uDDAXk7;~5YAA z(zcŷ>vc:r[NZXP TDQa) % 7vv*gbH`:'\bY1K!g)?OôI%0ɖex2P@hC+0h5蹁ve٬SCv&/K fЖrH4}aC̼OU3QbMyb'@@`y@ 2j}>ѭ͗߭a5MZV 䈖=ęеڏI %Y?|ꔿ)>7dKR4 L2RV G`ȇ`D]ҩg j54/bR,5b0VҀ(@Mm6. kJ| 1"|aU?`ax=?9Z( [0w96dYSo7ܥcM1/iBV𝈬cSyH%ݽcܟJ'Qjٌ,N/*xxĖ"'.^\;as$Vd&O% 5Dh&\j#ZkDrgv)9KāmSI$!8D^E*ԉtԺ+0f߭"-EOL{'7j %k\ӣ?~!B 5FD{M߂U.F&P ׷Q5\$(Ckc w]^&J% ԚqEM?iCڞCߝhi9KG0J~!3:.ӋqWyI3jsOf?|嫂T{-=@:v584[d€^\m(y|W h37,Rj=^? ąӛ5c3"N~9ZAj-8 0U X^+?NO '}vd]R`]+jL,~ZQH]Rd]9m#l8wu Ls%szQ|{dL7?V qpa\ /yH.M|PDJTw $0 |) MD (9зZ@״'`̞'{6X!-4vZ]J:fept &9,_qg 59Bdٍ֗ P`֖$v8Pɯ&\9X߁y:Jw^1C}]$ly#o6"G@a@Zl^AYyUZEd\ 罶I.C)b7d:6#@3@lո#N^PH{m^aDPa^5IHQNvg, b)T8T6>R}.mJnëuN&i$ڴjAH%&Mda+k!ZP֪u;iBRYD޽˛t{)tL}\HlH^:QΆdtUB3ڣS5 Fg/F `AĀ5 N\@IN2/)Tt)%{ ^}%oS^ WuU۽^z?%Ҁl J7,`*o GE$ 'jJ͸@ !qeP[٤Au=;r>߶RnT^1'º b+G 8Q.i>S{7&)BpG !r`2?\ J\BxPj Td# .`-M;G~>idcDu=|>h.84a5;% n؀U=r6q:qa9 |mK.Z b-W&g vHGյsjȸ; HW%ʴE*"Q, bZT"0J}Ӡ[pCӂY҅d]*L#dfXڻVT;FOՔOYnr^fKݵ;V '$N k(Bh5:ʮT0z'M1 5P4ݱC+ ,39'KF׷wʣ;Ye~zV O9{J[1,.,Gś1$}L@epp *4těblu^4?QM>m@G܈^课+#Nea #{Osy&Kz)QAd!j:0[tpދF07GYZhŪAJvh;@#jbzxQq{H6.M2;i}mŏurG 6=-y8SYX ?nU?'y7D}k9ܴ :6~.{,_rq2^1|Nh^;Vύ>H6/'vR4R:،fe] %̆q]%(IԵW4&+$ n*HKӏ6r˺Inhk8{^'&"*l)Z:YCǢb)3 Fx+/ =̏sT)W'Ԏc_@f")2Ǽvř2J.@<+p1ZL)"#E4:ep8O[%_6/>: <XdjF*oQ\ZZG1<Ho ɟK}j_NYH?QА{.bX~o`Ra HYxZYZ!)iƠC:HpoWh-S=s= p'\Tf[cg %G4gئI%zx}HG&ʧ'x¡^;`ÝՈ\ E2J}ä re$cgPRhcer~S&@.v 9cj'+0cZ % "?Y\ވYs5uD֘-XGDO}$ǨE~= ՇfGFNc%IEDžuC-G$(zqSE>u<.Qƣ>M9]tE/: P5h܋ʝ teT`iA{6SPsA¶Ս "!oO\Mc>[ 1t$O[UJ6F]Ѕ꾫D*{qcN]^&un0#[5 \DBdWH) \EAr( 5 p cF[U Dҕg;%GۭPD\DO 8!HzXm,2B /_2uV֦ 3Kˢu lp:9<R;3!o[CMV+cwOՔ1˜QG,Y5u K_f*2#v\1l[Yp0IC!^|4tkR<рcƔZ+hcLuR mrt$yE#EE/T5-ZbPt+cC:ʝjJ˓E&2\-a3bg_5p/(D&zJ\ͧW3},^)Ze'<F U*moJur5Ybg ~=H țjThZ7/G鯼i4ރu%{lkUf~ʉb 2%V^ʝ!g>@#y&N>nG qAV 'W(xXMeLY}"8;zHDvT)YJ]S5b"w~ jC*ۓY)del5.8!!+ ا\ѧ ͤ^=q T(Pzf-h4Nv6 ;JLiwA6* Y:ť~mJf89x|;R\.'l._th-ݍGh|Ge_qsltx{0̍2F{UGd~@x!hޣgǒ5>i-5nFs1P7xjVyyoz9@=t|Y8|xAFkbė}K{ڷKc5 +@&#bniC$c4ڜAIVK7;#l8! Rhp * }!3~BƧH mqKG3dCsk_ͽ&U!xoqcM1Ps:2_^6L]F} )YZ{> JNϛ8 ǖz<5*XY<}U Fҁu@)Ty4w%To#:!l>'j}!ve)澺fC ]˼qȫj3yJ!wH΋BL\Ҧ|)%Y7!Mp)!}Ќ:8[8AX 2ZaMnzÏjϓ.b0iTݚ6dxlRC34;i~.^ \"b/Z:IIڴh?ѷ%Z,ZLk_5Y|h2C/'ޯڎiMlNH9Oܸb(j'2O"w䦕A6)ڄV"p~H uFi*S4ɩ+'0(nEdiUp,#V-JzFrgk8bֶǮ,x+-RaܯN@TVz^5rݭeu-8PCƗ0{,` ƒSsTXdE+XB0w3Γ>pK{{MѨP&ܖ58͋gQib!P01R7QLKFI;]$ Ƒ&wT2 súLKVY<BOO \N]"we/^-M'[nٝknun \ZĆ7u0 Ãf .kV&oB'!W7AdA'kZR'BF|Q#8 շӁ4{wH-nD<*̥ } 1_}HЄUN(Sy0% dSJΏP}IE2.K֥%.^X 3=ՒĦ}Tw$.-t5+4OE.TcX  ҖDKN#n8( =gԒ ؕR~A*e&&RC k*6L:ٹ}~% l-Ѣ;u_.,Cek_U&zªEOb1΅ላP~VT33@P2GZi[{Ȍ)>j8}Tx1{IjT ZgtMVo7r"$X1,g9xU}"Z a!ɂ2kr:w]„Ks;4H9BDF7|@s)vbX-tFwA!abI1MIm(]E4R:y 6Evpg66oJ3P sŐ1t}~;zG _wPqO R{K`qgԘUU=OӒBt .KPF>|bv QML:uY4SmNBzr;6 ܈&Nj8zSf9Hʗqǩ˂w6ш=dhSt0'P@STUAp֮I0 S)xf-OQ`jJ5J~ski @<"3MEzmb-!3Xr笥x:Ry8q^mThu^+0Fٚ`3x8!tO&aaO922x=@u3^I}t@غ]O)@.< )\Z?&rڡ.uQ,2a!ncgjXVL2.ě}'wB.Tt}׏Sw30;!\ֶzȿ[.YWc~(-X5'L>hrV$Z $P,c#$Bəìt.tyrlXs <#)7]Og6Jh"0,:"c>nRҍb0|.P+q ${u'.hwꁀ_uA>7.C.LȇJx'*ˀ=Y+ @^5 A~W@|.l\8-G(tI 1gYnzy8[S[gYvюAa<c^O6N%[ww]\tQ9?C1sdo~es1$A巍گ! Cg_̤/ (UrMq4wraEmHbhpQǐ0B7E5hVyB"Yl@rN?)8|X~|r{]lf}Sɿ)re].bJ7AX'#Y7ߢYK1#*BY,~+-/zIͿ$GEŔ2N=tQ[&lYbǮV)H%6hy+F9Gd 3KD-S!E/4GRAZ؉Z.Zt7$PT qH yš[Khrb OSLn^?'~\r [D+2$KRNozdQPo:%VZCR0_4 *f+RBZ\Xt(j?Jt?gW,"ؗDu J^{0b8] 疦‰0Acu^]]Wἀ$lr)EA~Qlm K/!ׄa(B  $#/|^SlRތ2`os.M 4辉` `-H>1IO{IjqbT'҅m`φ "|A$aT0Q/pûrp pqN˽8$.A9_u-W` @-jFq{GwΛp]\@õ8Cs;kٻxRD+9)> qQЌ\HӉg;6UF4J(y4{##3;a[bhVv RVǂ]wuEУ ,8cJ(/CMb,@t*|E0gbWyC ̋d οp&Tw.ՙwt٧ܶ^X aFKj1-ĭbM*.H–- 2N[rj}φf]Ƥ0<^"1 c9C ;/lkHG/Kq$#2bfBs}ew q"~UdᡍЭd~dG %.-2-ӹ]䌫ȳa9\#FEPW_?rj vXj'Jvh.Aa38hQLGfɺΔYc _+p?@Lۄ莊"jlK Ho@r+-j&S}.Z-a͖;j;l[U27@~>v1߶ܼTƜ$L՗+Ks+ozmNV$)fѹ?Y`[4w:;pTBJbLd>Ƭfn/go5Ld }wPq= eHς:\ 7ovHIa*2ιy .)C)#VgZԻ3"4Gr]xZm^ x!!xoU?"!ouA6$X/ќcMA?YQH4~$j7싵m@e_|Mvdso)-&*iAx1AjT:3ԙ Z*ƕc>iT#:y]cZkS_v.}U5SGYM=owU4v iy@Q(90b p{\rM euYSq0\Q1+[iZ)n0@U~.Zd%+屢ɺqrlms/a3fP=[:ĕQt-FRԣ2tr-o=$VirӠɌW1LԾ50qќXWz {Mk u=^*EUSGǍ}2(eF/a 0x2L%pغùϳ>.Z5rg}$Kޏǎln_Ww<[#wmCG),9iRh7&n3U=< =k` ި'>}9l>z=ќe9/#Ea_6푥q2Auaͺؖ6{O._%VU"V{`v@ ESg;dUx`Ajj9Hܺ񹴈Op%~0Ks$mNǍc.AVwoXCr08܄~KC`cD :p)'p-ůL3I"VpϾ/!Ui(;Yߛ<3Vke3 Tuk~]PZ8N}~OtM\SY?鍐A:@+b=S[GxBLY~ZK݂*M4<͕Aim暕|LO*fߑ(ƛFenꇣ?B* }>#r"kR8J~aR";G?UGZAuvӠ ˗ekb UY}K[RUYPRV[n>R˕hn`ԷKےZy~AQ^d[Rs{_1x. RTCK\xh0p/-WkK טPB4Of0,)f[RoxLB#/(-&m t` 7!^p}7IϿ߹wL`S.*rbĶD;(~ 'RcKPL,e  2o4QtI5o[Gf>8AHͥ P4kBݲF;;?;렉VcHiܪy!̼xՃVP>OT{Ib|{(?z3KE9+0mWV|1۫!!#)GS#!0WtRuۤ!Qgw|KQ2 G%.& Ob ^PjkN+jKlKeJBN dQ3F+GM+xlҏ zDN576gR`"ζ=ְwr[wnY#a3) 0PEtk{cDϐ:M`cGSL1Dqq0?(ܟyMP* qևX>axu90B X_",!WJ~^#),&~ 9VE=D,+%~[!\#'Fk9.R| ŵ"af$޼* (j9 O;SӭW<%0P\ { &|C0.C!6@ͫ'(J.V.&c/AاQ.Hihǡٽ6 i0垦h1]V` UK7CHL X0H.A׸X,gKbG21'd$u#_:EpIEkU/$tM$xM艤 YqvP3HLQRm*^=ɴa"hA2#Pol[X``l,ӟx O0xzxY$9i.~Ԗ:풌ݧԐ˲^kP PƟiGV KX뽓M}G ihzKQ XS"MZ?YfRp i1HzO~b< -@sf8e>J Eh(F?VBMQkG"E!I5G_ S6\] ݦ=0fEk1728k=X%f%XpEea?ڳzJfF5-h372jE1t`?*uiŎ4*LgaIF$sNnV AY}2i0 wαRab0QY;Wm%ȆCRdp#Vxxcmˌ83N:c0̶'8`%&EmQI9mun"]QϞF0\GA{bjk}|]Lع⇷%<;&cݑbJRA]ů[m0 ރ}"bK2/<"#xnyfq 1 .6 T|YşMM0'ݶ IaC ӟeBƶD$OܣP' '/$V[:yeG*}JxPi46і^^oxxrPo_-n?حUlcТEr0X ~MfS0ц1Pr9_cCdrxIAv\-ݬT*1@:Vk:? 9:<0M4ۇ 穾 ے3+$ܡ)@C}]vrZI}f#e7Dw3MLQ"4+teavke3 |7y9 ',`!헌UUC+OimBCzN8bV3R5-Ժ"ӱȆXt둘#}BS.rg},y}y]t~He˓R~3TϺd&/ >"G0r1,ko J`9BJ>ߚ% rH{G\yk|ͺ.7U1f]߻d,AZU=\Be4rR_ӌ[sUuV|8oD)g:Ur2J>ޔ kcM=Թ؜6(LPJ $[;y嘑 ^C X,iM/zYߨRsORX6}V&Ƀ1IQ #$?.pKZ5Wu {eyYC@q^~9y`FCagr},ښ>(.BdD9R@jo>r!^1m¼A6n>'κlYO,yEPzs67|< rͣ3ELBaUiSsw>@*՘n!nG fWBk= E9^:^Bp!v~n(;Q2<s۶S H 'Fͼr7-q˶tfJ1:n݇?w0pvB vNdeJ-{O{&|$h_Rӝ(c" ;t$\6Fre-+p%y|P=$a3dzFHNfrn|tJw NU> =_>Y8- kdO/hP@eN[?m'b4Nc.y݁sp V+86?I0cQ]?%$}\͐ƣ.&\ϓWeXo* `Tr-#oGxHAx^B !G<`rnOn~_ʲ]pp?|0 |Ÿqg]ݎq4] >|B0ɺ,Sn ^T=i㦜bH '>;FsCd -Y#EyoF'(\>v{\p{!><9WyfXKL(Jֺ:@B}]$:5v1J2Vp#Uїb͋K~"A뀊vI˖㬪 PGɮo f?jO茥HфXՃv(檋0W?o?UŽq٩u2Jߜjh-ˉ{<5A!*/Jɯl8Wta t耨[9])BFP}Vm*Lc߉%夔%2QFc,}DŽ0sPvKf8}ӡĀlxKѻ lI F}w0qrҟS!(es^|jG*;,@*W_vɕ~=8]9_p/THA腛kZ$h5[6'!i6NX ]HtlO}*{4K5A064sb Ghį媽aеV*OIa1<ۤCR#o2h&fYJǰy*`TE^3D|dg)߯KΑOtL3)J) '| \KurK¤2 <0-kkK룥V;suKo(aEtBT*>uL1E]3Z,Ť-r>>_$ , GxvA5vv_;I<1dW ߙNz<,lA5Rc]is>+}{6'i [+w*#'l/tv٘D~{ _߾Y 6VOV# jV Tlp -6vodK}X`CA A"KR1Qq qȾ`#FbFf4`X# OZj4>;bVui9вÿΥsJK{zː׽qZš(ve\$g K]<T
. ]JVSٰוNUvؽf3?q@lϸ-S2Q3K*2c#H/Si\c9;@ ίU.\ yGJdϖ<9%e'5~ޞL.FP2#a)It|ܸA#{R[ؠFvCAzє)TpV@)؁HIrp+{// E"Q($?eS#j0[&>V\XM1s/fDѤLg˚%PFfpãctq킼 US)YjI8Z21wL.B!ȇqgWUa' ?pi x05XTV';S!3P[-Y/kUΝ)ފ8a`nwʪMY,/foJ);.;ߜЗ'%٭u)ٚGc~qZ lɣxo6![ְWICM; H Zó'Cɉ)-ys2EQӀ Ucف؈_YqzշHeb" 6JPWʖ6 bwfҕKtu: )&9ܾ]\K$utH4b$LmM77'Q|'c)(С2~h$*^oop7zR$(3HV(^%@ 8D$f B;1D%( ŊsRYƥvJʭIBl4 "vB#?/_$o:1e+#2"7Tij.uD]2/@Yzͤ ec=]cGKx N;i"1Q2XM FMJ+XJܫ#r%^@sŔ+b$jSrrc%BBL}tܦL଎zKe2&gr(Bq>! Fh(Hva-{1b,OoȼRt"Ѵ;q֡v}h\A ;.CMk.8mF֦TXJXHbzTYRMEJJ݀T67҃gBŦ|2K|ix*̲Z횹%{_f}+m l>}g$G ZD׹f@lp@o;ݝ' I(PAFCUW[bKyђ$\nb,E-b` }nT߬=ޤ ,`j~徬w.P0u po6?5Goa`y&Ɋ6ݫ n̝?4@pe|Pi;v*IT}u>˱|)mkǖ;uzJxwxGw̑,%}@%ttzddјA\z࿨i-M>Ϥb#'DŽτ@ 62yߌίL}][jUd!ec[ycC|!2f7B/[LWX&f Om# q ΃Oh0vl_;C9R绠W b|)^Qv1N sIè6!)wHAXF++)BփNJus{̨#R3^ Uop [b#rs7XypT:_;>͝ Ct=5w}vb, ޒWT%\C(61MGz&g*qXttMqb)pXg[+Nwѐ\CKp:3)Kz-qfp&t1QҖ/qټzG4aІUhGA 9e6{<6*KPrtA*qx9vL1ph7  `l_Y65W %T77)d>ȫK?S9s=cM~;:~H+I'bdR(Q XxFC|hr .GVpVjX[ﰤ =̆@Em2͖ \:HBEOJEYM.}vY8G#%\*Y~4j:5,mR R콿zSr(_!Ѹ(FUke]bZ2`CGRY}fL|FL>e u(y81|AMY/sl ޅߥ|~W͎yQ.=0Q 3[ɼ]ۿ= ;lm5悛31jK7dF!7¥/8 %5byS4`]Y&PI^C,m掩Ȼ%vŖho^#@鑠RyZ^ą0j,9b3ᚧsǍ!moqZi/ް_C oSn 5HrlnfNlyِ O/dxˬp ?pHWޢĀ`{X71"NwW*dnJq`|VzGf.LicI2p%Ji K2g`D<8#>78 5mM+l'oCpprhJ eŞ X_sBWnc溷`jc h36gcW w%4jB~_+DJƹ %\ "/o!(Wn2D*(;fN m5'R6"WuZg'ۆ*F/Ϫh&z,{x0,\4g곟e"'Q1R 5s'hd"!ZO{y%м% 9]( Iߒ6L =jօaM*cK,mmTIp ;(Sc @[|4$!cTTċJ~hœ!elprȈ2W=GWs|/{BTr78D[VNA\v!xl^,x%&#d(B';+?B Wh0 6p~֌?f83FΞd3HIxԼ{i%J/Ч /Mu ibY>h~Ev>r8I}AG 6 R1E7" 7(\aۖ&= Y`/tzJS<\JVXp#(x{TKC%>ӊ֣z~;`,_̜yȫ|%DYw5';,>~)IPJSB:eAsa1y1َVpzJf l<MF?0cQMIR܈kqv y{znG8_snvP@Vu1>ͦS"@~hA`,!yUsp?=`&+`,RQpbk ,e^CuVl ADu'g,-KKo^U7eD9I,fawg!&&67VLEkB5#hsNoP n}H e)~敤8?V۰ WrILF::G!`<G @{%[ل%h=N^^?0ɨ i93( 余=.h'J@7|W-yd\ZV^ '[/+FL9x 䒦I3JI}rE)c}CEr$WZ"({3|?EpEJM0{bO%ݽ'T>Cک OPYk\W{zKFmO(c#yΉ(n+HN U5xTWkZhu+G倖Dg [uZ^:JGM:VC?Eu0 94c´"$\߸w`& İ*+#/ )z#=jf p5*c fH!$`n{aTlfi\P?j3fD4D=HHg)PR"ۍp`: \pф|c[\N9hMEx&@J"?^g?L KBi PCw+klVǓmV"Giwh^!_̄]Z^WcZƉZB#nĬi wv`@nTJC+CX 3F aZ̫S@^Gx 6F%]NFX*ig;g%J65,B|nhه1khΣ^*iQ'RO7}a߫$)aGpzqSQ%yD\j7pDH6Je>v_zXh\'jQ7hwȶ8.śwێQYf1O "(﬏ZT4 { } L-Ymrd9`%ss:S|/hӞdK ZYvpR^o$~-fYN"B%ʏZhd(fpUoW$oH˾zڝ7s@<Ə7$b:oS *.;%Nju pmwwezriBL:o%f9,>L[(-[Hich3ަ"7~(Rvkxk%Z`Ru vqOx럛w.,)>|idk]GUқق\#&`WQ?cBR,'`޼%G_X0#$b7jě Ys`GF$K469"أ lD\\,v)븾2nN▐ cV6Y` h$30r Gi`qЀ.`%ũ3q+)B1D@K:PhjӍߗ%}.4,.3VL^puY{ū؀bt;Gmŭ $uOD 9i} /Dϛ%wTˤU! bl(U|_lwZMIT2ٱ2ͲW֪P;-GO,`8;~1>2C҂Ee . I}`jHURśiqXsڀ|QnO@L=$@K !Vl B1^@ P|ߖʹ{} qAr{|xL|};[>nLEkW&MoDع+wr(qmFE@5zv3x}L BY|5g_ iT멒xAU8 ^Y{uETok].(A2]{gJ^ )i[CfKb{- {qC,K0hȍt0|G5OabwmJ04v f]Q9 6w~ǎޭvdG>1bSbʅMPiw\~dIQUSX/ vK4O6p\Rhm=%jf&WT MC3}*[oy7 mm+w%"7FNc7mn/o.-}{RjxP_;H_JW/Z%{PУc *oJЙܵ7TBعy߬/KBB]jsk P (pAc}ƣb ym+TRKM_@L*?:-O?ܓـq<|1= ~f=<.|a۔zxtXodz)UzǪ i}iΪ6$AWQtġ"vc]QJS\H)-Q4jQR\^^[a%$Y\Sb&HCluQ'8{(_! 'NQV{͐YuNY44X*,Z,ʁVZk̔p∰!ڌ+&ޟc @xkE g0)R14f\mnLU"}Ϙ1§Hg)psT:gʋ?N$ dP9t'-Q hI1B[QzF%GX⿺,([!+ۼ"cV6&~9&f}.ln@MS"-JƩ6b -g8DHFeSWK AP%`yHՈBKq(Cj+9K%ҙ|1 PG}@f"-Hנ8r`6$P&DL+,r*bY eUr|J=0ydq~|Ѷ3ze>^M`J{kbрu.oE\bn3E/K~0'z5#nzyaqr۩o:@hڇ#ܹMNFz]̎^Jn K`أ%B~YɆf癋wc?| DF_M ~3W<":b")a`VJ`^2 ,^Ux#64[U$Y1/{nwM>'I7p1xb WIj>ͿZ&2^^ECzDÈ=F)lVcؖ#$QE|?irwEm2n=nW. 3;^N[xo=UnTjS*C3]U{7vl3P_|nؑ*p+lZTTlhtŬ:ժCK1'6lH#@/T$o1@mܶSJO%aw(ob%9^uw*3خϻ0 vm^%,txz6e`Q} }H 3\rdM0aj Qa%uOjf@Qڥ2th\r*"+fxm=Y, SUf3lZ1h K  3&4TYŘY^j*<Y&1`ۣF^H#ggP! T}/´op3[`+E< +Swcج5D(F\&f`Z] !xKG6Bܒk#S7tF@nYgp,.kb3FKGDiQ:))O5𑛈u9'9|yVW!܀zzJZ(Zi ~zrlniWRvmy{"3/n}e Ks([k }9'ŌҞܟ;L"lϨP fOZH# ms4[UqR\V0.H Z3zKS#Z~1ebD+xώW~ף<ꈎѭ϶.V?M95*$Z;AMTN˻kTr"iUаU,j?Op V)(ᩧ+=D1!Eذ؞}KIV`wU {ϰjN\/&B?Dr~=6`DFQ3/53c!? e2Aƒ#*7ԠG &?,xT(6 "!VA5:GOZR԰Uy(ӥ+Vy5-7Oʒ9r%+e-Tk륁f[ډDaV1?9bfa3|Ohp>N%Xh  N>n$3 ʂ]qާӗo* si)-Zjݵ%T!B 46=B6R̀C~i$sVׅvբ].,5r $zRdJ7@.zӸ?Es;}jnr]`ToDs/HB;&EAv:R"k-"юWKdP4B=S.gJ#ݝOhx˩O3CIonJE>1نi\֢s>D|@Hh-Y9F<6o80sCyܝwv4_?}:"]EW\Mnif%w`_6)N>X%iaFi]0VNZVwH." .^ؑQc v#V>5&PQ&?9 p!xEz]\L(Nq kԎS,jݖmR⒑|ZETv`PD⥌1o0-{ {i]b^g0Ef*ix0ZZV\`tF֗O֣rD!D]Ud#yCTJ杨&돈iG×zWlzRĽ^AC:э< SŬcړzF 7 V;I˥dMyj9yY" p1i^,R+0AbM)ңko숆%O/+ ?+S$JE}@O01[?',+A _G"=`YKә{Th"O5ԯ ۶yjJpm^5͸B* L#ps4݁7W $s^dB T!NM3& G|IPjJDXڪ Z 2Y5$'SӏÿuX7q h8j\2htѫ:OFzLOH,鲤[8+"-Pڗ]RDɌ5?ʠ)e;b0y[|4Ew#86ske+Sd9lɞ0YmX&W}.S!n}I%w8){u"ŵ5P|ޏY$X΋ʉ O,#w&P9[vT= ""oʌlK1*6}/gBZHs ϰ594+\L;o@ JOosٖ_Xyh&nkp;ZN jm!/C@lήƓ4M^шWƲl~%Lna |URWV;!<`~q bh } '<Ԝ@pּW6tyktx'YVL< vOmF;IM1{IP 6=j]E(}=MD'CD 132={|YXYe\>ie~%k=0XZVnZA#?ˤ76Eʍ^|.&05]L?5+%Qf"B{*%pu & ooI1#k5Byich1:/0N 'XW-^BqI5818pHV*_6C6レPҒqX %Tyc\sU;hR(/gЕF9X7C.-gTEqè_iF5s9kF,r欜@Ds(ȉ} 1 ylZNSbك߃N=45SNGSmΛ,K9]9Pݢ䤕4:ʁo+1J`G/`ca#.qA~1;IF LƹS6au~]#n(Ѥ{89hf =E qw% #c{#&ݟ@0:8c!ܩ1XyȊ!-0MYUašS*f>(:)7sn-1va t*<]zz{tZ61R;OJ<[ߑ]O"!*#NC>-Z2񋤍wWX?OkHiwNC> I=a8I|V1> Z 7Kn.q;P4j0qMҨ5R%.kiIo-L Sx5Q#\;.Do^_UU2\| 4pHVq F9 OF¦&f#(LM63ҁQ1^[?Nb␞E8N|9ua.M.q3ZqY2X33Bm`gb|]Qm'b٥Tڻ[Sls)G`҉gX"m0zB>F`J[XNh* yC  ΁Wn';PyItzꑝ׷3q Iha)W:⟴,8!ha LJy~;{#Y > O7̣ʶ3Ra7mVڦŮPbM"@3_,?7 8/mkDڗ_:jTگdtۖgp<@Xɾd{k:y=3?ZTKT>.3ܪ 7հ!0\cu-8V>c؆+{ Xɍ}LOvӘF ND:~arڝcB:c[ =¾H.%޻ss|)C.Z&4-7[% :(O9O5,/nU pDƂDiaj y3ê ضnU=)2<ՠLlڀsé/՜=cڄ3:m7btZ`beٟ-;Gy8|zA4CqM~8|Afo*<э6(&ne}U+>@( I*:%0Q*hI'KmĤt 8K.zKr }*~py{4xǓOcs1RЧ錵l #FWIW2AuA/mqA! CHǯ\y @مz_ႱxxŊ|p&|e{6w*-,p` dF3zVUW轋K!5]F4oa,iE]n[%+DH6SD9NMIY`O )@CZI@6OBwW9I'сŒqDlV'&nW,[M!Y4gxb?[ńm=&YC# 1AP 6.&StK9y @0-J<:}$}װt%yZkaߥ]|(Cer7z`$NlפFsS)%o?n}Y'ǺI&#P[U~%CHj%숆:Կ&<6ǸUp+6Xj@5GU\?r{!\M 3t@&4+vmb$+b\t֗X"l{ڧ)S~m-Ew xܫ}OT@O% |nrfb}#]WF2k;嚎*n+ki9%[_d/<NլU٪S J]Y5(>r]j ׌#%b6R|!RO )& #Uaw[.xQ,v8AUJ+;˭A=jӪD|"6XF\_.Wrbvd:ip믦;4?=%PIYF0sXH.OiW ;0@OY!uN=ULB'kزl>7dQsE30'43 gptSك x;b&BPcKpхvUV``iHPo?|ya1~uY.ҍ5#1t 3i4?@$N漼'R'5o0nX%0HS0${) 6Sk֍5a.={cP)hmO0M|Ku8;e< Ũ|ؖ,{y۫\Z9)z#HX^ 42jZ(WdS~md'{gq1r}`k4f%D^]~g7t!Tp0]@р`L)gFںe7siח J&1GαJڿBDODDBy7u6әWݙƒAE/YP/;U[ LY"fZ3C+؍?W1 I3CkJTP4 CGQq*a۩"$a^h'I_vqu$`ǻ_k(5cm`w+vb0j% XeIv. ppMϥӴ} J1 tqz $|n2Bc#OOYR'1cTĹOX" x=ݍŪЋ]@}乑?\3؆Ƚc RDɥ(ʊ"7/eI^)#~'_{m:+4)IgW%6nDy $-=Y]Hl{[w ,㌍r0DG^L̉ɶI쪮CqtZ:ZPami)Djdj? 5yݮ-T?ګ+ꅳ~P~s;.Ln1-Vaj H[|j@Bk >1 ;2<,TǦ0* ?0 Z4_׸%6(|]sEl$p/adm(r%*m=xKkmh>O"K 8K߶di=964D%ؽiE/{+: ㋯nVJ5nNC1Q)QcFlZ]ծ~LN*Bj\>潹eǽ7\DZŘ 0$' !tǎCp߮ru{#!%C W^?ӫ'vψԥ-wօBRY`;!VcjK"Kv PÕ.\Y`KSG:D_]긔UA ?d`JSCA-T6C8ms[3[4 NQ6}5 s-*f񀀇M:гTD{Ō}x}Ӯdn3@.ʚ4$X!P4ݷvmPqtmd4UR"-Lz-dN7ňYE.lam鰋Xp5Y/Y^/FQŰXԬK(%ħBp׃fg7 'y%\ފbE`[O}hoDZgOv`q⭠jLMo9ʽh*M jV=WN]Y')Is7j"&V.?yD[f#-2;Ĩ4V4FrwI:#SjàkBWwR&@Ϣ;&TgvD-&Ty#r "X_4.&fA$Фg $m ,9+hW8:aWD!bmF ߿e8,eڋ&%nxkGD4؎Pno4hBke5l'q/!V̯L:MJ;ji =>rK/,μyNdu{r?F9@c[;wPd*e3| uhà͐B̰F۲ Zh~8.S\  kc]J_ѿ{lc xÑ ah)B2Mp x/"ŋ|oc9ʘ_qf9J:]Tn=\h6h&*J~܏2sњǸA08WY\n>5rt VϾ3cssHC^8{+ޔ-Gۊ^&lo A9 P6qf4dz ]4*ƹDinX\"só54DC>௏+P-cՋi#ySW01i!(;6_3|A%MAA.,&u753Bi\⃯rz6~?t,0@յَД-ۂ>lHR獑]YU3!.:!}T⠭Ⱦ}fMkYej|/aIp/Iܙ;5xWroLh b1ڡ> 6.%xG#m0S5h,~-MY"K`!եX4IOо;iv.igDPG 9ar]y_&)u},Ef|?(l!ieZ.`}9=]0>x: h[(#c%Z+ ZGq !nVdbLlo=ɧ؂%dK?&:`qmAfqc\'1D.?ETiB19}7W-63$C|a9 [Hc+ڽt)-)rT~ugT<L+—[k"Bs \[Uÿ[m{p%\ӱ%@v:Jdg2~z'5S^8[tP1W- %>ʋ[ifDP IxEs*35@l@Rߔ_SӬUU+ +9Q@uk|K``M$g ]%]j<3.˄Oʔ 5kѭ#-S&_\ͣ?Ź[Qο)tޛW4Xȝ1Xnn rWyntxA!Mw)c&/uu} Y_ewJQrkf7/2d/Ѯb>D ŷFp2뜩^|ώzl:`8G8ܲL iB$?.<]ׄ&P$崀[|*1_joQy`W!Uj㒵gEX_gܺvB_ԨA{:[djhPHե7UJ}{#Tѱ/¾{{&;А2z/>K!{ul7\/a%tP/l`zE&]̲u-Cr=4\D In NGn1]\o {QN*H>(O6SYE`'t;X-Y r SosxT+xHSnh8{'` :eY-s$Q70l/pת^׉a)8q2PQEz'ao0,^BM #ؾ_+L<]]SLV|}*{+p!گRJ8ibFGE3(8R28@#!MEO2=D1g̪ $gW BhogfaZL$OܳcV)nr>hoAtC441!vfEuApv&'pr}[5L!i֯بIkFix(6C'X {8dX}B h9`e[t%Jm)('C9*sF94R[Dלlf gixTWsQbMn@6ooT]jhvYgOtBaBIAur#Ej+-b/ m1S^??"R'ڳk{h+q\Um2<7wDJWƫ]Lr`R,/h' tqݢ0BZnΑ4PP>iE \5 fBp f@GtM&zdy7χo!-"- T!!.rH6#bN vCӇ@چBGDlm\7z܅QN8-?#;eqz*9%n_H@TiSxǙ 9cE3o\M R'7rcyS':+#+>:]輂,*i@8bpkD+!>wYT|U4@Қ^P앐SpCPS/ZajD!X¼co][XWvlpm yt4+LLvɾS9^;MaG88!,Ҫb+ v U~խw1.g1ٷ[{m 'XOzvE|n {FS#Tr$$Nb ^ʈ>mY>P*nJƚĤP#4I]!jjMI5M#7)8T:(,Vk ]@ &DH7 #v.br3]vɕ/$m\'z"u""rB,0jbA-o b#T}$5^  W ދ 8Bx~}4Ysow#[䓕CӟVb֖͔!,|`mJH"E9dL tUOi'I 8p]ھ_U9Ks0G b#_XpOXM:JRqHZᲖ;`.6=L?KX~nˎU ((XJ)D'`W&$59 =cQ]8L0N4t\ FL$ar)VYIK|ʂ™6ܝͷtǮ4ZYiܼ5Y 9|U[iqrٔM'ݚv޳ -=0|‰*s G NGV j*4rN/UM.9# >=U>F 3NS"Xpc_A;<`yP/]7*y|ܘR#(] 优X3`G%%bt;2\$Y)^,6IGLuL:)5^$D7u$ӒABش"0RN ֢1Gq8sUsp8"eyV LÖۢ+B4Z xM ??*$kqAv.̟lmk |u&6+yowj=M# !Iïz{5谈)%R?I|7A",ڀ%9h;g5UҿHq:{O'{6GLN5xoTE2OWR- 1똔] [.^Y@!3b'Z^P e;Pa\{)7`> صRWX0$$+,Lub(zhg6s#k٥2 ?FW6bnр:iYy;aB3͒Bf"xvʼ)kb_"ݳ_B7[Ró2 "h+ҙc"% ]L8`yxg6\e拑q41X;a 8ЊW;ŷsbEO?, #163OsT:&#>yӝxUlY鮢u[7H9'~E>eRƍ\ EDl1)txfό5Uڈ?L1U _3cE+dh5ɚ'qK^@Fhwպ8C|Jam8~/U8e\]#5b0~qƫX޽gl%+c nuA /tLͽE"%&/…xLe _|%96% Ք7I;!νvUՏ6W*)T]Bt0q3Ic;fU71^S$6 wԖ6RoLcj_`Ȅ ݟ3{| &awfy ;XOY =_0 B{GiJ̑gCE5+EG7|tQ6cd4{9L rQ"n$gx dL6(_":p>ݙ+a" !ݍ~dAg᪐!'n҄!%Kg[J$)nU;d*Cs8Ӫe[=Q=e`f^sS˿.:0x Fh> < P/T*%Wr&?^lbСxCi\PVl70i'zK(AP۴hcɼD͊ad &ԕ5jک^h6rlsÙ]a`16w @cKrT J?㾵YBwus|Cn`D(i0 i -L:nm \39zbU`&h6,F}04y ͆Io~@!Z՜fh;%IH._P_)Y%*^m[k}6ٲT|1@`֊phtiBbiSH/,I_kh9>I^)t/I"Xp, ɥeDV7Liq:1$JkWl:@S*\HK~M.DV0nK}<9lϼ̩itMh^Es.ﯺ#tHqC."`JE8'mh_69m]"XDŽQ>NTd"NlȴW1`[<Wy"P+kՒHG&֬M.@&'cgBe*Co&z/J]zkIbw]Hx\*!u83ii~П b*dUcTuSuDA&,~ #hh?=__ z:/2KkߵYSb<6}-(u1Ԃ-')RC^nzƨȡ⎠AA儰H>?bɜw8$aG Gؠ憊>4\-ECF1:Up5RAHorWA#bnCTC-w[豠.}aвwz6św̃yxj|h?x b@3| ~?lo쏿r9F hŻ^XqAkr1[͵)8 ,GOis_"VaEl닓!l;HӼ=fk 5hh W᠙~炑BZ$DS~{"o>@YSd'LьT_A1pգa3%K^.ϓT$58 Ɵr!Ӂ&p)Uj08.ntK(ؕR]}ieIUSVKu =v[_EPߌ`V?rP\.'zvP#UbɆE P뭆^x"SY *[ʙp51]U1glXѼĝE@8*U:zFQ}܂ ;# YZ