Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w9DSj-001Gn3-04 for pgsql-hackers@arkaria.postgresql.org; Sun, 05 Apr 2026 02:43:45 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w9DSh-001LxA-0c for pgsql-hackers@arkaria.postgresql.org; Sun, 05 Apr 2026 02:43:43 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w9DSg-001Lx0-1f for pgsql-hackers@lists.postgresql.org; Sun, 05 Apr 2026 02:43:43 +0000 Received: from mail-dy1-x1335.google.com ([2607:f8b0:4864:20::1335]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w9DSc-00000000cFV-3xDu for pgsql-hackers@lists.postgresql.org; Sun, 05 Apr 2026 02:43:41 +0000 Received: by mail-dy1-x1335.google.com with SMTP id 5a478bee46e88-2cbc50e6a36so125503eec.3 for ; Sat, 04 Apr 2026 19:43:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775357017; cv=none; d=google.com; s=arc-20240605; b=fVKLP4XsMYpjKHq0mAj0QfR1vKLSISD3S4FY0ADivVr8m89CkFvXQMzYylw7CQ4m7L H8Z1951Lh/15SWPs6axWGdoA3fCBmdqcOjsq1x/zBhzXfnPfIGBjmGaVlYr6tHV1KHqC N//XLJGu3uPjUuEMASPQXAfRhgJ0gy8CrsIz9FhL8ZsEVqRFRJaURmsH+62llwkOEaHB 3+QygIHFKVMvchCknkCV00rZ8Ud3NRD6V79x6nr6pLYLqicJ0BpD7Nd/Jwk4JXNpXrwA 9K9WIzh04yujQcoBuUNzfbBofz/jOALVBj7IoTO1YqV73nhJzNwNV6Rq0F/STpJPF8Tl OCKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=to:subject:message-id:date:from:mime-version:dkim-signature; bh=IkMp9tfo/gg9AdR+P186OEFuzZ1/BqyVm0f64l/2z8E=; fh=dxJXJbLzq9Nah1LUdsj4QTuQ3JoDScd0wp1YHY64NXM=; b=DucLYGvgqai5X5JtU2LOGYMA3TzWyJkIfnBS29OtJdJBxiiYK1pPzkamNuygag5By/ a4VwjROsEXaIotU078mHDvD17EJ35R/ftjgWzFFBdU8CL5J8zBDqWzRDWh036cqY62B4 QbIxEpEMtoNUTf1eW0Os7KRmHtvJQs37s3NU+cgnSOec5wqySoFUzfoNnjymS21k1S2t w0o7d3Qw90Ba8sa75NMMIJBkdRUTPhfoK7ABGGpJazyWV5+popLYcY8s+m7iB6daByHp HZ4MDCfe0I56KNhY74DLMGgvtD9C7W5WNTD7B/ZxDtgK5bUyPOdVS1EvWDdxgyMB93ZA nL/Q==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775357017; x=1775961817; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=IkMp9tfo/gg9AdR+P186OEFuzZ1/BqyVm0f64l/2z8E=; b=hYP3mNMVfL8r8uIRB4pnJTsjvFGP0LYNJjtlPfdrZsfK9lkJYrgx8J62EN/v5x2AJs xMcuJ2QMWfjwVIe5tA4WgDQHcYQTjXFgEOl0cv/+8xfHWOw81zwZJgvEl6q2wA/aHoIC TuiQEQyUc+2aWn68t/+y8zo/3jvnwtidFFKQaKs2lypjXe4QZtURKBHd4YrQPT681XTQ ht2CS5D0O0j4x7yiYyUvIdw3VEZYR5LiMTZ3gB3I5nc/OWP9gC7b9+eeTFDx+5g6LZTx ABZeW3oHcCBLl1JWZvFARCTSHUfXlxhtmgdAAq3hiJnJJudCqvacDsiCZRbs3iiranDz fcYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775357017; x=1775961817; h=to:subject:message-id:date:from:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=IkMp9tfo/gg9AdR+P186OEFuzZ1/BqyVm0f64l/2z8E=; b=bz7l98n/tOIp3v6k3ylo1c6tXmBV1s/DEsBEtLMSJbWpYfYLZmWWiEK9z42XhnYojH Sn5ghYoVf84Zo/o7GmjA/hsEXTpNsirZCRK6pQbTrmyKOBi/T5RLwl1TIaEi3WUfQ1a8 uEuLRanw1aBjnUC5MOY6H4ZmOMlXYeWaqc5mH0Wf0AWOEH+/xrT1tlwiabefzFnURXUG ZSGV/tAqADLFjVyUYtL2VLFW6Qd9Xqy0mHQo8NXdovLdqWKHiSyShDE5F+LHr3HpdfTz OpZii0HF9mWWN3dkSUlIOvZhPrillfYo/HNXrxMEMz7x9YJ3T8JihiusfbuexDyFj+qm cNfw== X-Gm-Message-State: AOJu0YyRCv+bOC6eI4A9LgLULaqklWPacOuj/4nrjkzQ/MWhSVj0UX3o jkqkwIRJwz4k5puwhPqYret9hKt/QLJ7VL2ASOWW2wivszIld9/0H5AuprPl/lOfgIpDMuY5Zc6 pzhl+YzEOH47w3AjYtEs40Btl8EihYgNvljkT X-Gm-Gg: AeBDietDwdJE/vmZAxdjGZlDMPsmiET2QBNoBbDxa6UOKAhfaXU4ETuKsfncm8jI13+ EqPDyhWRJDNrgijwaPS0ThFOU8gmhBYGsDQizaGPWE7UCWUwv9dLAqh/BDfEZPTWkiuKClKy0tw Z4WAIyn46AhVzUdPUBURC8GCVfPXzPUNo4op52vAxPoU5ACsKv6W/BF1AsJgtS6Dmzw12VRKlIB po3UAf/8zWwesgT2agMEcoC5+lQTHZNkLyIUU2nGojpBEKamV/9UJLrKV3HW/IAtWZGZRlJ9OlI wU2hO+ic9DAhrHDD/A6EkqJyhwoSBJu10lVzca9XOsbn5DYaPwltV9sNCOpDwLPW X-Received: by 2002:a05:7300:2315:b0:2c4:76a3:bdfc with SMTP id 5a478bee46e88-2cbf6897126mr1581536eec.0.1775357016520; Sat, 04 Apr 2026 19:43:36 -0700 (PDT) MIME-Version: 1.0 From: Thomas Munro Date: Sun, 5 Apr 2026 14:42:59 +1200 X-Gm-Features: AQROBzD7qE8orDUmeedFvYhO4SO-sWwgfeK4RIincQMpHRx0-iKtxJfT-ZsOjOM Message-ID: Subject: Trying out libarchive for reading user-generated WAL tarballs To: PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000525902064ead8406" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000525902064ead8406 Content-Type: text/plain; charset="UTF-8" Hi, Here's an experimental patch that gives you optional extra tar (and potentially zip etc) support if compiled --with-libarchive, but only for pg_waldump where we expect to meet user-generated archives. The recent band-aid applied to pg_waldump/t/001_basic.pl becomes: +# If we don't have libarchive, then we tell tar to stick to ustar format that +# astreamer_tar.c can decode. Otherwise we should be able to accept anything +# that any current tar produces. +@tar_p_flags = tar_portability_options($tar) + if !check_pg_config("#define USE_LIBARCHIVE"); I was compelled to try this to avoid being sucked into the rabbithole of hacking on tar code, after pg_waldump broke my computer[1]. It doesn't seem to make much sense to try to speedrun everything that happened to archiving since 1988 when you're a database project. I was encouraged by Robert's prediction[2] that we'd probably want to do precisely this as soon as we started accepting user-generated archives. I postdict the same! libarchive is really easy to work with, widely used and seems well put together. The only thing I was a bit sad about was the lack of an async-friendly API that would let us push a raw byte stream into it. So I tried modelling it as a "source only" astreamer that you pump by calling astreamer_pull() when you want more content to be delivered to the next streamer. I don't immediately see why that'd be a problem, but I may lack imagination. It's still incremental, can still stop earlier, and we don't do any multiplexing or AIO in this or any other uses of astreamers. It does mean that pg_waldump's read_archive_file() has to treat this astreamer slightly differently though, which is annoying. Perhaps that could be fixed if astreamer_file.c provided "astreamer_file_reader" with the same semantics, so that it could unconditionally call astreamer_pull(privateInfo->archive_streamer), instead of doing the read, push-into-stream itself? Just a thought. [1] https://www.postgresql.org/message-id/flat/CA%2BhUKGL2dppjO4o28ZY7n_LTWviKLAi-7KZ%3Dtx5w2HGevCEYPA%40mail.gmail.com#0897c3b9c0aa583fef9459a711c7de60 [2] https://www.postgresql.org/message-id/CA+TgmoYg0C4ZkuSD=mag+wbq=0GGiBm+-k1zM7LHJTDpioLYuw@mail.gmail.com --000000000000525902064ead8406 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-libarchive-Add-configure-and-meson-options.patch" Content-Disposition: attachment; filename="0001-libarchive-Add-configure-and-meson-options.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mnl4qpzr0 RnJvbSA4MTIzN2M5N2NmMjNlZmMyZjJhMzY0YmY1YmJmNGVmZDI3NzA5NzMzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUaG9tYXMgTXVucm8gPHRob21hcy5tdW5yb0BnbWFpbC5jb20+ CkRhdGU6IFN1biwgNSBBcHIgMjAyNiAwMjoyNTo1NSArMTIwMApTdWJqZWN0OiBbUEFUQ0ggMS80 XSBsaWJhcmNoaXZlOiBBZGQgY29uZmlndXJlIGFuZCBtZXNvbiBvcHRpb25zLgoKQSBmb2xsb3ct dXAgcGF0Y2ggd2lsbCBtYWtlIHVzZSBvZiBpdC4KCihQcm9vZi1vZi1jb25jZXB0KQotLS0KIGNv bmZpZ3VyZSAgICAgICAgICAgICAgICAgIHwgMTQwICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgICAgIHwgIDEzICsrKysKIG1lc29u LmJ1aWxkICAgICAgICAgICAgICAgIHwgIDE2ICsrKysrCiBtZXNvbl9vcHRpb25zLnR4dCAgICAg ICAgICB8ICAgMyArCiBzcmMvTWFrZWZpbGUuZ2xvYmFsLmluICAgICB8ICAgNCArKwogc3JjL2lu Y2x1ZGUvcGdfY29uZmlnLmguaW4gfCAgIDMgKwogNiBmaWxlcyBjaGFuZ2VkLCAxNzkgaW5zZXJ0 aW9ucygrKQoKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQppbmRleCBmZTIyYmM3 MWQwYy4uNjE0MWNkYjAyNTYgMTAwNzU1Ci0tLSBhL2NvbmZpZ3VyZQorKysgYi9jb25maWd1cmUK QEAgLTcxOCw2ICs3MTgsOSBAQCBMSUJDVVJMX0NQUEZMQUdTCiBMSUJDVVJMX0xJQlMKIExJQkNV UkxfQ0ZMQUdTCiB3aXRoX2xpYmN1cmwKK0xJQkFSQ0hJVkVfTElCUworTElCQVJDSElWRV9DRkxB R1MKK3dpdGhfbGliYXJjaGl2ZQogd2l0aF91dWlkCiBMSUJVUklOR19MSUJTCiBMSUJVUklOR19D RkxBR1MKQEAgLTg3Nyw2ICs4ODAsNyBAQCB3aXRoX2xpYmVkaXRfcHJlZmVycmVkCiB3aXRoX2xp YnVyaW5nCiB3aXRoX3V1aWQKIHdpdGhfb3NzcF91dWlkCit3aXRoX2xpYmFyY2hpdmUKIHdpdGhf bGliY3VybAogd2l0aF9saWJudW1hCiB3aXRoX2xpYnhtbApAQCAtOTExLDYgKzkxNSw4IEBAIElD VV9DRkxBR1MKIElDVV9MSUJTCiBMSUJVUklOR19DRkxBR1MKIExJQlVSSU5HX0xJQlMKK0xJQkFS Q0hJVkVfQ0ZMQUdTCitMSUJBUkNISVZFX0xJQlMKIExJQkNVUkxfQ0ZMQUdTCiBMSUJDVVJMX0xJ QlMKIExJQk5VTUFfQ0ZMQUdTCkBAIC0xNTk2LDYgKzE2MDIsNyBAQCBPcHRpb25hbCBQYWNrYWdl czoKICAgLS13aXRoLWxpYnVyaW5nICAgICAgICAgYnVpbGQgd2l0aCBpb191cmluZyBzdXBwb3J0 LCBmb3IgYXN5bmNocm9ub3VzIEkvTwogICAtLXdpdGgtdXVpZD1MSUIgICAgICAgICBidWlsZCBj b250cmliL3V1aWQtb3NzcCB1c2luZyBMSUIgKGJzZCxlMmZzLG9zc3ApCiAgIC0td2l0aC1vc3Nw LXV1aWQgICAgICAgIG9ic29sZXRlIHNwZWxsaW5nIG9mIC0td2l0aC11dWlkPW9zc3AKKyAgLS13 aXRoLWxpYmFyY2hpdmUgICAgICAgYnVpbGQgd2l0aCBsaWJhcmNoaXZlIHN1cHBvcnQKICAgLS13 aXRoLWxpYmN1cmwgICAgICAgICAgYnVpbGQgd2l0aCBsaWJjdXJsIHN1cHBvcnQKICAgLS13aXRo LWxpYm51bWEgICAgICAgICAgYnVpbGQgd2l0aCBsaWJudW1hIHN1cHBvcnQKICAgLS13aXRoLWxp YnhtbCAgICAgICAgICAgYnVpbGQgd2l0aCBYTUwgc3VwcG9ydApAQCAtMTYzNSw2ICsxNjQyLDEw IEBAIFNvbWUgaW5mbHVlbnRpYWwgZW52aXJvbm1lbnQgdmFyaWFibGVzOgogICAgICAgICAgICAg ICBDIGNvbXBpbGVyIGZsYWdzIGZvciBMSUJVUklORywgb3ZlcnJpZGluZyBwa2ctY29uZmlnCiAg IExJQlVSSU5HX0xJQlMKICAgICAgICAgICAgICAgbGlua2VyIGZsYWdzIGZvciBMSUJVUklORywg b3ZlcnJpZGluZyBwa2ctY29uZmlnCisgIExJQkFSQ0hJVkVfQ0ZMQUdTCisgICAgICAgICAgICAg IEMgY29tcGlsZXIgZmxhZ3MgZm9yIExJQkFSQ0hJVkUsIG92ZXJyaWRpbmcgcGtnLWNvbmZpZwor ICBMSUJBUkNISVZFX0xJQlMKKyAgICAgICAgICAgICAgbGlua2VyIGZsYWdzIGZvciBMSUJBUkNI SVZFLCBvdmVycmlkaW5nIHBrZy1jb25maWcKICAgTElCQ1VSTF9DRkxBR1MKICAgICAgICAgICAg ICAgQyBjb21waWxlciBmbGFncyBmb3IgTElCQ1VSTCwgb3ZlcnJpZGluZyBwa2ctY29uZmlnCiAg IExJQkNVUkxfTElCUwpAQCAtODkxMiw2ICs4OTIzLDEzNSBAQCBmaQogCiAKIAorIworIyBsaWJh cmNoaXZlCisjCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNr aW5nIHdoZXRoZXIgdG8gYnVpbGQgd2l0aCBsaWJhcmNoaXZlIHN1cHBvcnQiID4mNQorJGFzX2Vj aG9fbiAiY2hlY2tpbmcgd2hldGhlciB0byBidWlsZCB3aXRoIGxpYmFyY2hpdmUgc3VwcG9ydC4u LiAiID4mNjsgfQorCisKKworIyBDaGVjayB3aGV0aGVyIC0td2l0aC1saWJhcmNoaXZlIHdhcyBn aXZlbi4KK2lmIHRlc3QgIiR7d2l0aF9saWJhcmNoaXZlK3NldH0iID0gc2V0OyB0aGVuIDoKKyAg d2l0aHZhbD0kd2l0aF9saWJhcmNoaXZlOworICBjYXNlICR3aXRodmFsIGluCisgICAgeWVzKQor CiskYXNfZWNobyAiI2RlZmluZSBVU0VfTElCQVJDSElWRSAxIiA+PmNvbmZkZWZzLmgKKworICAg ICAgOzsKKyAgICBubykKKyAgICAgIDoKKyAgICAgIDs7CisgICAgKikKKyAgICAgIGFzX2ZuX2Vy cm9yICQ/ICJubyBhcmd1bWVudCBleHBlY3RlZCBmb3IgLS13aXRoLWxpYmFyY2hpdmUgb3B0aW9u IiAiJExJTkVOTyIgNQorICAgICAgOzsKKyAgZXNhYworCitlbHNlCisgIHdpdGhfbGliYXJjaGl2 ZT1ubworCitmaQorCisKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog cmVzdWx0OiAkd2l0aF9saWJhcmNoaXZlIiA+JjUKKyRhc19lY2hvICIkd2l0aF9saWJhcmNoaXZl IiA+JjY7IH0KKworaWYgdGVzdCAiJHdpdGhfbGliYXJjaGl2ZSIgPSB5ZXMgOyB0aGVuCisKK3Br Z19mYWlsZWQ9bm8KK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hl Y2tpbmcgZm9yIGxpYmFyY2hpdmUiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGxpYmFy Y2hpdmUuLi4gIiA+JjY7IH0KKworaWYgdGVzdCAtbiAiJExJQkFSQ0hJVkVfQ0ZMQUdTIjsgdGhl bgorICAgIHBrZ19jdl9MSUJBUkNISVZFX0NGTEFHUz0iJExJQkFSQ0hJVkVfQ0ZMQUdTIgorIGVs aWYgdGVzdCAtbiAiJFBLR19DT05GSUciOyB0aGVuCisgICAgaWYgdGVzdCAtbiAiJFBLR19DT05G SUciICYmIFwKKyAgICB7IHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog XCRQS0dfQ09ORklHIC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzIFwibGliYXJjaGl2ZVwiIjsgfSA+ JjUKKyAgKCRQS0dfQ09ORklHIC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzICJsaWJhcmNoaXZlIikg Mj4mNQorICBhY19zdGF0dXM9JD8KKyAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElO RU5PfTogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgIHRlc3QgJGFjX3N0YXR1cyA9IDA7IH07IHRo ZW4KKyAgcGtnX2N2X0xJQkFSQ0hJVkVfQ0ZMQUdTPWAkUEtHX0NPTkZJRyAtLWNmbGFncyAibGli YXJjaGl2ZSIgMj4vZGV2L251bGxgCisJCSAgICAgIHRlc3QgIngkPyIgIT0gIngwIiAmJiBwa2df ZmFpbGVkPXllcworZWxzZQorICBwa2dfZmFpbGVkPXllcworZmkKKyBlbHNlCisgICAgcGtnX2Zh aWxlZD11bnRyaWVkCitmaQoraWYgdGVzdCAtbiAiJExJQkFSQ0hJVkVfTElCUyI7IHRoZW4KKyAg ICBwa2dfY3ZfTElCQVJDSElWRV9MSUJTPSIkTElCQVJDSElWRV9MSUJTIgorIGVsaWYgdGVzdCAt biAiJFBLR19DT05GSUciOyB0aGVuCisgICAgaWYgdGVzdCAtbiAiJFBLR19DT05GSUciICYmIFwK KyAgICB7IHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogXCRQS0dfQ09O RklHIC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzIFwibGliYXJjaGl2ZVwiIjsgfSA+JjUKKyAgKCRQ S0dfQ09ORklHIC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzICJsaWJhcmNoaXZlIikgMj4mNQorICBh Y19zdGF0dXM9JD8KKyAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogXCQ/ ID0gJGFjX3N0YXR1cyIgPiY1CisgIHRlc3QgJGFjX3N0YXR1cyA9IDA7IH07IHRoZW4KKyAgcGtn X2N2X0xJQkFSQ0hJVkVfTElCUz1gJFBLR19DT05GSUcgLS1saWJzICJsaWJhcmNoaXZlIiAyPi9k ZXYvbnVsbGAKKwkJICAgICAgdGVzdCAieCQ/IiAhPSAieDAiICYmIHBrZ19mYWlsZWQ9eWVzCitl bHNlCisgIHBrZ19mYWlsZWQ9eWVzCitmaQorIGVsc2UKKyAgICBwa2dfZmFpbGVkPXVudHJpZWQK K2ZpCisKKworCitpZiB0ZXN0ICRwa2dfZmFpbGVkID0geWVzOyB0aGVuCisgICAgICAgIHsgJGFz X2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1CiskYXNf ZWNobyAibm8iID4mNjsgfQorCitpZiAkUEtHX0NPTkZJRyAtLWF0bGVhc3QtcGtnY29uZmlnLXZl cnNpb24gMC4yMDsgdGhlbgorICAgICAgICBfcGtnX3Nob3J0X2Vycm9yc19zdXBwb3J0ZWQ9eWVz CitlbHNlCisgICAgICAgIF9wa2dfc2hvcnRfZXJyb3JzX3N1cHBvcnRlZD1ubworZmkKKyAgICAg ICAgaWYgdGVzdCAkX3BrZ19zaG9ydF9lcnJvcnNfc3VwcG9ydGVkID0geWVzOyB0aGVuCisJICAg ICAgICBMSUJBUkNISVZFX1BLR19FUlJPUlM9YCRQS0dfQ09ORklHIC0tc2hvcnQtZXJyb3JzIC0t cHJpbnQtZXJyb3JzIC0tY2ZsYWdzIC0tbGlicyAibGliYXJjaGl2ZSIgMj4mMWAKKyAgICAgICAg ZWxzZQorCSAgICAgICAgTElCQVJDSElWRV9QS0dfRVJST1JTPWAkUEtHX0NPTkZJRyAtLXByaW50 LWVycm9ycyAtLWNmbGFncyAtLWxpYnMgImxpYmFyY2hpdmUiIDI+JjFgCisgICAgICAgIGZpCisJ IyBQdXQgdGhlIG5hc3R5IGVycm9yIG1lc3NhZ2UgaW4gY29uZmlnLmxvZyB3aGVyZSBpdCBiZWxv bmdzCisJZWNobyAiJExJQkFSQ0hJVkVfUEtHX0VSUk9SUyIgPiY1CisKKwlhc19mbl9lcnJvciAk PyAiUGFja2FnZSByZXF1aXJlbWVudHMgKGxpYmFyY2hpdmUpIHdlcmUgbm90IG1ldDoKKworJExJ QkFSQ0hJVkVfUEtHX0VSUk9SUworCitDb25zaWRlciBhZGp1c3RpbmcgdGhlIFBLR19DT05GSUdf UEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSBpZiB5b3UKK2luc3RhbGxlZCBzb2Z0d2FyZSBpbiBh IG5vbi1zdGFuZGFyZCBwcmVmaXguCisKK0FsdGVybmF0aXZlbHksIHlvdSBtYXkgc2V0IHRoZSBl bnZpcm9ubWVudCB2YXJpYWJsZXMgTElCQVJDSElWRV9DRkxBR1MKK2FuZCBMSUJBUkNISVZFX0xJ QlMgdG8gYXZvaWQgdGhlIG5lZWQgdG8gY2FsbCBwa2ctY29uZmlnLgorU2VlIHRoZSBwa2ctY29u ZmlnIG1hbiBwYWdlIGZvciBtb3JlIGRldGFpbHMuIiAiJExJTkVOTyIgNQorZWxpZiB0ZXN0ICRw a2dfZmFpbGVkID0gdW50cmllZDsgdGhlbgorICAgICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHth c19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQorJGFzX2VjaG8gIm5vIiA+JjY7IH0K Kwl7IHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZXJyb3I6IGluIFxg JGFjX3B3ZCc6IiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IGVycm9yOiBpbiBcYCRhY19wd2QnOiIg PiYyO30KK2FzX2ZuX2Vycm9yICQ/ICJUaGUgcGtnLWNvbmZpZyBzY3JpcHQgY291bGQgbm90IGJl IGZvdW5kIG9yIGlzIHRvbyBvbGQuICBNYWtlIHN1cmUgaXQKK2lzIGluIHlvdXIgUEFUSCBvciBz ZXQgdGhlIFBLR19DT05GSUcgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gdGhlIGZ1bGwKK3BhdGgg dG8gcGtnLWNvbmZpZy4KKworQWx0ZXJuYXRpdmVseSwgeW91IG1heSBzZXQgdGhlIGVudmlyb25t ZW50IHZhcmlhYmxlcyBMSUJBUkNISVZFX0NGTEFHUworYW5kIExJQkFSQ0hJVkVfTElCUyB0byBh dm9pZCB0aGUgbmVlZCB0byBjYWxsIHBrZy1jb25maWcuCitTZWUgdGhlIHBrZy1jb25maWcgbWFu IHBhZ2UgZm9yIG1vcmUgZGV0YWlscy4KKworVG8gZ2V0IHBrZy1jb25maWcsIHNlZSA8aHR0cDov L3BrZy1jb25maWcuZnJlZWRlc2t0b3Aub3JnLz4uCitTZWUgXGBjb25maWcubG9nJyBmb3IgbW9y ZSBkZXRhaWxzIiAiJExJTkVOTyIgNTsgfQorZWxzZQorCUxJQkFSQ0hJVkVfQ0ZMQUdTPSRwa2df Y3ZfTElCQVJDSElWRV9DRkxBR1MKKwlMSUJBUkNISVZFX0xJQlM9JHBrZ19jdl9MSUJBUkNISVZF X0xJQlMKKyAgICAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBy ZXN1bHQ6IHllcyIgPiY1CiskYXNfZWNobyAieWVzIiA+JjY7IH0KKworZmkKK2ZpCisKKwogIwog IyBsaWJjdXJsCiAjCmRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKaW5k ZXggNjg3M2I3NTQ2ZGQuLmFkNzVlMjIwMGM3IDEwMDY0NAotLS0gYS9jb25maWd1cmUuYWMKKysr IGIvY29uZmlndXJlLmFjCkBAIC0xMDU5LDYgKzEwNTksMTkgQEAgZmkKIEFDX1NVQlNUKHdpdGhf dXVpZCkKIAogCisjCisjIGxpYmFyY2hpdmUKKyMKK0FDX01TR19DSEVDS0lORyhbd2hldGhlciB0 byBidWlsZCB3aXRoIGxpYmFyY2hpdmUgc3VwcG9ydF0pCitQR0FDX0FSR19CT09MKHdpdGgsIGxp YmFyY2hpdmUsIG5vLCBbYnVpbGQgd2l0aCBsaWJhcmNoaXZlIHN1cHBvcnRdLAorICAgICAgICAg ICAgICBbQUNfREVGSU5FKFtVU0VfTElCQVJDSElWRV0sIDEsIFtEZWZpbmUgdG8gMSB0byBidWls ZCB3aXRoIGxpYmFyY2hpdmUgc3VwcG9ydC4gKC0td2l0aC1saWJhcmNoaXZlKV0pXSkKK0FDX01T R19SRVNVTFQoWyR3aXRoX2xpYmFyY2hpdmVdKQorQUNfU1VCU1Qod2l0aF9saWJhcmNoaXZlKQor aWYgdGVzdCAiJHdpdGhfbGliYXJjaGl2ZSIgPSB5ZXMgOyB0aGVuCisgIFBLR19DSEVDS19NT0RV TEVTKExJQkFSQ0hJVkUsIGxpYmFyY2hpdmUpCitmaQorCisKICMKICMgbGliY3VybAogIwpkaWZm IC0tZ2l0IGEvbWVzb24uYnVpbGQgYi9tZXNvbi5idWlsZAppbmRleCA2YmM3NGMyYmE3OS4uY2Nl NWZjNDBkMDUgMTAwNjQ0Ci0tLSBhL21lc29uLmJ1aWxkCisrKyBiL21lc29uLmJ1aWxkCkBAIC05 MjMsNiArOTIzLDIyIEBAIGVuZGlmCiAKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIExpYnJhcnk6IGxpYmFyY2hpdmUK KyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIworCitsaWJhcmNoaXZlX29wdCA9IGdldF9vcHRpb24oJ2xpYmFyY2hpdmUnKQoraWYg bm90IGxpYmFyY2hpdmVfb3B0LmRpc2FibGVkKCkKKyAgbGliYXJjaGl2ZSA9IGRlcGVuZGVuY3ko J2xpYmFyY2hpdmUnLCByZXF1aXJlZDogbGliYXJjaGl2ZV9vcHQpCitlbHNlCisgIGxpYmFyY2hp dmUgPSBub3RfZm91bmRfZGVwCitlbmRpZgoraWYgbGliYXJjaGl2ZS5mb3VuZCgpCisgIGNkYXRh LnNldCgnVVNFX0xJQkFSQ0hJVkUnLCAxKQorZW5kaWYKKworCisKK2kjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgTGlicmFy eTogTExWTQogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL21lc29uX29wdGlvbnMudHh0IGIvbWVzb25f b3B0aW9ucy50eHQKaW5kZXggNmE3OTNmM2U0NzkuLjY3MWZmZTEyN2ZmIDEwMDY0NAotLS0gYS9t ZXNvbl9vcHRpb25zLnR4dAorKysgYi9tZXNvbl9vcHRpb25zLnR4dApAQCAtMTAwLDYgKzEwMCw5 IEBAIG9wdGlvbignaWN1JywgdHlwZTogJ2ZlYXR1cmUnLCB2YWx1ZTogJ2F1dG8nLAogb3B0aW9u KCdsZGFwJywgdHlwZTogJ2ZlYXR1cmUnLCB2YWx1ZTogJ2F1dG8nLAogICBkZXNjcmlwdGlvbjog J0xEQVAgc3VwcG9ydCcpCiAKK29wdGlvbignbGliYXJjaGl2ZScsIHR5cGUgOiAnZmVhdHVyZScs IHZhbHVlOiAnYXV0bycsCisgIGRlc2NyaXB0aW9uOiAnbGliYXJjaGl2ZSBzdXBwb3J0JykKKwog b3B0aW9uKCdsaWJjdXJsJywgdHlwZSA6ICdmZWF0dXJlJywgdmFsdWU6ICdhdXRvJywKICAgZGVz Y3JpcHRpb246ICdsaWJjdXJsIHN1cHBvcnQnKQogCmRpZmYgLS1naXQgYS9zcmMvTWFrZWZpbGUu Z2xvYmFsLmluIGIvc3JjL01ha2VmaWxlLmdsb2JhbC5pbgppbmRleCBhNzY5OWIwMjZiYi4uMDYw MTY1YmQyN2QgMTAwNjQ0Ci0tLSBhL3NyYy9NYWtlZmlsZS5nbG9iYWwuaW4KKysrIGIvc3JjL01h a2VmaWxlLmdsb2JhbC5pbgpAQCAtMTk1LDYgKzE5NSw3IEBAIHdpdGhfc3lzdGVtZAk9IEB3aXRo X3N5c3RlbWRACiB3aXRoX2dzc2FwaQk9IEB3aXRoX2dzc2FwaUAKIHdpdGhfa3JiX3Nydm5hbQk9 IEB3aXRoX2tyYl9zcnZuYW1ACiB3aXRoX2xkYXAJPSBAd2l0aF9sZGFwQAord2l0aF9saWJhcmNo aXZlCT0gQHdpdGhfbGliYXJjaGl2ZUAKIHdpdGhfbGliY3VybAk9IEB3aXRoX2xpYmN1cmxACiB3 aXRoX2xpYm51bWEJPSBAd2l0aF9saWJudW1hQAogd2l0aF9saWJ1cmluZwk9IEB3aXRoX2xpYnVy aW5nQApAQCAtMjI0LDYgKzIyNSw5IEBAIGtyYl9zcnZ0YWIgPSBAa3JiX3NydnRhYkAKIElDVV9D RkxBR1MJCT0gQElDVV9DRkxBR1NACiBJQ1VfTElCUwkJPSBASUNVX0xJQlNACiAKK0xJQkFSQ0hJ VkVfQ0ZMQUdTCT0gQExJQkFSQ0hJVkVfQ0ZMQUdTQAorTElCQVJDSElWRV9MSUJTCQk9IEBMSUJB UkNISVZFX0xJQlNACisKIExJQk5VTUFfQ0ZMQUdTCQk9IEBMSUJOVU1BX0NGTEFHU0AKIExJQk5V TUFfTElCUwkJPSBATElCTlVNQV9MSUJTQAogCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wZ19j b25maWcuaC5pbiBiL3NyYy9pbmNsdWRlL3BnX2NvbmZpZy5oLmluCmluZGV4IGQ4ZDYxOTE4YWZm Li42MmMyY2M5MzkwMiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcGdfY29uZmlnLmguaW4KKysr IGIvc3JjL2luY2x1ZGUvcGdfY29uZmlnLmguaW4KQEAgLTY5NSw2ICs2OTUsOSBAQAogLyogRGVm aW5lIHRvIDEgdG8gYnVpbGQgd2l0aCBMREFQIHN1cHBvcnQuICgtLXdpdGgtbGRhcCkgKi8KICN1 bmRlZiBVU0VfTERBUAogCisvKiBEZWZpbmUgdG8gMSB0byBidWlsZCB3aXRoIGxpYmFyY2hpdmUg c3VwcG9ydC4gKC0td2l0aC1saWJhcmNoaXZlKSAqLworI3VuZGVmIFVTRV9MSUJBUkNISVZFCisK IC8qIERlZmluZSB0byAxIHRvIGJ1aWxkIHdpdGggbGliY3VybCBzdXBwb3J0LiAoLS13aXRoLWxp YmN1cmwpICovCiAjdW5kZWYgVVNFX0xJQkNVUkwKIAotLSAKMi41My4wCgo= --000000000000525902064ead8406 Content-Type: text/x-patch; charset="US-ASCII"; name="0002-libarchive-Provide-astreamer_libarchive.c.patch" Content-Disposition: attachment; filename="0002-libarchive-Provide-astreamer_libarchive.c.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mnl4qtkq1 RnJvbSBiZTczNTExY2NhYTY3YWRmYjA5YjFmOTM1ODg5NzBjMzg5ODY2NGIwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUaG9tYXMgTXVucm8gPHRob21hcy5tdW5yb0BnbWFpbC5jb20+ CkRhdGU6IFNhdCwgNCBBcHIgMjAyNiAxNjo0ODoxNCArMTMwMApTdWJqZWN0OiBbUEFUQ0ggMi80 XSBsaWJhcmNoaXZlOiBQcm92aWRlIGFzdHJlYW1lcl9saWJhcmNoaXZlLmMuCgpUaGlzIGFsbG93 cyBtb2Rlcm4gdGFyIGZpbGVzIChhbmQgcG90ZW50aWFsIG90aGVyIHVucmVsYXRlZCBmb3JtYXRz KSB0bwpiZSBjb25zdW1lZCBmcm9tIGEgZmlsZSwgd2l0aCBzdXBwb3J0IGZvciB2YXJpb3VzIGNv bXByZXNzaW9uCmFsZ29yaXRobXMuCgpUaGlzIGFzdHJlYW1lciBpcyBhIHVudXN1YWwgaW4gdGhh dCBpdCBwcm9kdWNlcyBkYXRhIHJhdGhlciB0aGFuIGhhdmluZwpkYXRhIHB1c2hlZCBpbnRvIGl0 IHdpdGggYXN0cmVhbWVyX2NvbnRlbnQoKS4gIFRoZSB3cmFwcGVyCmFzdHJlYW1lcl9wdWxsKCkg aXMgdXNlZCB0byBzaWduYWwgdGhhdCBkaWZmZXJlbmNlLCB0aG91Z2ggaXQganVzdCBjYWxscwph c3RyZWFtZXJfY29udGVudCgpIHdpdGggTlVMTCBkYXRhLgoKKFByb29mLW9mLWNvbmNlcHQpCi0t LQogc3JjL2ZlX3V0aWxzL01ha2VmaWxlICAgICAgICAgICAgICAgfCAgIDQgKwogc3JjL2ZlX3V0 aWxzL2FzdHJlYW1lcl9saWJhcmNoaXZlLmMgfCAyNTcgKysrKysrKysrKysrKysrKysrKysrKysr KysrKwogc3JjL2ZlX3V0aWxzL21lc29uLmJ1aWxkICAgICAgICAgICAgfCAgIDQgKwogc3JjL2lu Y2x1ZGUvZmVfdXRpbHMvYXN0cmVhbWVyLmggICAgfCAgMTIgKysKIHNyYy90b29scy9wZ2luZGVu dC90eXBlZGVmcy5saXN0ICAgIHwgICAxICsKIDUgZmlsZXMgY2hhbmdlZCwgMjc4IGluc2VydGlv bnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvZmVfdXRpbHMvYXN0cmVhbWVyX2xpYmFyY2hp dmUuYwoKZGlmZiAtLWdpdCBhL3NyYy9mZV91dGlscy9NYWtlZmlsZSBiL3NyYy9mZV91dGlscy9N YWtlZmlsZQppbmRleCBjYmZiZjkzYWM2OS4uZjZjODhhNzNlZTcgMTAwNjQ0Ci0tLSBhL3NyYy9m ZV91dGlscy9NYWtlZmlsZQorKysgYi9zcmMvZmVfdXRpbHMvTWFrZWZpbGUKQEAgLTQwLDYgKzQw LDEwIEBAIE9CSlMgPSBcCiAJc3RyaW5nX3V0aWxzLm8gXAogCXZlcnNpb24ubwogCitpZmVxICgk KHdpdGhfbGliYXJjaGl2ZSksIHllcykKK09CSlMgKz0gYXN0cmVhbWVyX2xpYmFyY2hpdmUubwor ZW5kaWYKKwogaWZlcSAoJChQT1JUTkFNRSksIHdpbjMyKQogb3ZlcnJpZGUgQ1BQRkxBR1MgKz0g LURGRF9TRVRTSVpFPTEwMjQKIGVuZGlmCmRpZmYgLS1naXQgYS9zcmMvZmVfdXRpbHMvYXN0cmVh bWVyX2xpYmFyY2hpdmUuYyBiL3NyYy9mZV91dGlscy9hc3RyZWFtZXJfbGliYXJjaGl2ZS5jCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5kNTc4NTMxNzFmNAotLS0gL2Rl di9udWxsCisrKyBiL3NyYy9mZV91dGlscy9hc3RyZWFtZXJfbGliYXJjaGl2ZS5jCkBAIC0wLDAg KzEsMjU3IEBACisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqCisgKiBhc3RyZWFtZXJfbGliYXJjaGl2 ZS5jCisgKgorICogVGhpcyBtb2R1bGUgcmVhZHMgZnJvbSBhcmNoaXZlcyB1c2luZyBodHRwczov L3d3dy5saWJhcmNoaXZlLm9yZy8uCisgKgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAxOTk2 LTIwMjYsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3VwCisgKgorICogSURFTlRJ RklDQVRJT04KKyAqCQkgIHNyYy9mZV91dGlscy9hc3RyZWFtZXJfbGliYXJjaGl2ZS5jCisgKi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKyAqLworCisjaW5jbHVkZSAicG9zdGdyZXNfZmUuaCIKKworI2luY2x1 ZGUgPGFyY2hpdmUuaD4KKyNpbmNsdWRlIDxhcmNoaXZlX2VudHJ5Lmg+CisKKyNpbmNsdWRlICJj b21tb24vbG9nZ2luZy5oIgorI2luY2x1ZGUgImZlX3V0aWxzL2FzdHJlYW1lci5oIgorCisvKiBU aGlzIGlzIHRoZSBkYXRhIHNpemUgd2UnbGwgdHJ5IHRvIHN0cmVhbSBhdCBvbmNlLiAqLworI2Rl ZmluZSBBU1RSRUFNRVJfTElCQVJDSElWRV9SRUFERVJfQlVGRkVSX1NJWkUgKDEyOCAqIDEwMjQp CisKK3R5cGVkZWYgc3RydWN0IGFzdHJlYW1lcl9saWJhcmNoaXZlX3JlYWRlcgoreworCWFzdHJl YW1lcgliYXNlOworCWFzdHJlYW1lcl9tZW1iZXIgbWVtYmVyOworCXN0cnVjdCBhcmNoaXZlICph cmNoaXZlOworCWJvb2wJCWVuZF9vZl9maWxlOworCWJvb2wJCWVuZF9vZl9hcmNoaXZlOworCWNo YXIJCWRhdGFbQVNUUkVBTUVSX0xJQkFSQ0hJVkVfUkVBREVSX0JVRkZFUl9TSVpFXTsKK30gYXN0 cmVhbWVyX2xpYmFyY2hpdmVfcmVhZGVyOworCitzdGF0aWMgdm9pZCBhc3RyZWFtZXJfbGliYXJj aGl2ZV9yZWFkZXJfY29udGVudChhc3RyZWFtZXIgKnN0cmVhbWVyLAorCQkJCQkJCQkJCQkJYXN0 cmVhbWVyX21lbWJlciAqbWVtYmVyLAorCQkJCQkJCQkJCQkJY29uc3QgY2hhciAqZGF0YSwgaW50 IGxlbiwKKwkJCQkJCQkJCQkJCWFzdHJlYW1lcl9hcmNoaXZlX2NvbnRleHQgY29udGV4dCk7Citz dGF0aWMgdm9pZCBhc3RyZWFtZXJfbGliYXJjaGl2ZV9yZWFkZXJfZmluYWxpemUoYXN0cmVhbWVy ICpzdHJlYW1lcik7CitzdGF0aWMgdm9pZCBhc3RyZWFtZXJfbGliYXJjaGl2ZV9yZWFkZXJfZnJl ZShhc3RyZWFtZXIgKnN0cmVhbWVyKTsKKworc3RhdGljIGNvbnN0IGFzdHJlYW1lcl9vcHMgYXN0 cmVhbWVyX2xpYmFyY2hpdmVfcmVhZGVyX29wcyA9IHsKKwkuY29udGVudCA9IGFzdHJlYW1lcl9s aWJhcmNoaXZlX3JlYWRlcl9jb250ZW50LAorCS5maW5hbGl6ZSA9IGFzdHJlYW1lcl9saWJhcmNo aXZlX3JlYWRlcl9maW5hbGl6ZSwKKwkuZnJlZSA9IGFzdHJlYW1lcl9saWJhcmNoaXZlX3JlYWRl cl9mcmVlCit9OworCisvKgorICogQ3JlYXRlIGFuIGFzdHJlYW1lciB0aGF0IGRlY29kZXMgJ3Bh dGhuYW1lJyB3aXRoIGxpYmFyY2hpdmUgYW5kIGZlZWRzIGl0cworICogY29udGVudHMgdG8gJ25l eHQnLiAgVGhpcyBzdHJlYW1lciBpcyBhIHNvdXJjZSB0aGF0IG11c3QgYmUgdGhlIGZpcnN0IGlu CisgKiB0aGUgY2hhaW4sIGFuZCBjb250ZW50IHNob3VsZCBiZSBwcm9kdWNlZCBieSBjYWxsaW5n CisgKiBhc3RyZWFtZXJfcHVsbChzdHJlYW1lcikuCisgKi8KK2FzdHJlYW1lciAqCithc3RyZWFt ZXJfbGliYXJjaGl2ZV9yZWFkZXJfbmV3X3BhdGhuYW1lKGFzdHJlYW1lciAqbmV4dCwKKwkJCQkJ CQkJCQkgY29uc3QgY2hhciAqcGF0aG5hbWUpCit7CisJYXN0cmVhbWVyX2xpYmFyY2hpdmVfcmVh ZGVyICpzdHJlYW1lcjsKKwlpbnQJCQlyOworCisJc3RyZWFtZXIgPSBwYWxsb2MwX29iamVjdChh c3RyZWFtZXJfbGliYXJjaGl2ZV9yZWFkZXIpOworCSooKGNvbnN0IGFzdHJlYW1lcl9vcHMgKiop ICZzdHJlYW1lci0+YmFzZS5iYnNfb3BzKSA9CisJCSZhc3RyZWFtZXJfbGliYXJjaGl2ZV9yZWFk ZXJfb3BzOworCXN0cmVhbWVyLT5iYXNlLmJic19uZXh0ID0gbmV4dDsKKworCS8qIFByZXBhcmUg dG8gcmVhZCB0YXIgYXJjaGl2ZXMgd2l0aCBhbnkga25vd24gY29tcHJlc3Npb24gZmlsdGVyLiAq LworCXN0cmVhbWVyLT5hcmNoaXZlID0gYXJjaGl2ZV9yZWFkX25ldygpOworCWlmIChzdHJlYW1l ci0+YXJjaGl2ZSA9PSBOVUxMKQorCQlwZ19mYXRhbCgib3V0IG9mIG1lbW9yeSIpOworCWlmIChh cmNoaXZlX3JlYWRfc3VwcG9ydF9mb3JtYXRfdGFyKHN0cmVhbWVyLT5hcmNoaXZlKSAhPSBBUkNI SVZFX09LKQorCQlwZ19mYXRhbCgibGliYXJjaGl2ZTogY291bGQgbm90IGluaXRpYWxpemUgdGFy IGZvcm1hdDogJXMiLAorCQkJCSBhcmNoaXZlX2Vycm9yX3N0cmluZyhzdHJlYW1lci0+YXJjaGl2 ZSkpOworCWlmIChhcmNoaXZlX3JlYWRfc3VwcG9ydF9maWx0ZXJfYWxsKHN0cmVhbWVyLT5hcmNo aXZlKSAhPSBBUkNISVZFX09LKQorCQlwZ19mYXRhbCgibGliYXJjaGl2ZTogY291bGQgbm90IGlu aXRpYWxpemUgdGFyIGZpbHRlcjogJXMiLAorCQkJCSBhcmNoaXZlX2Vycm9yX3N0cmluZyhzdHJl YW1lci0+YXJjaGl2ZSkpOworCisJLyogT3BlbiBmaWxlLiAqLworCXIgPSBhcmNoaXZlX3JlYWRf b3Blbl9maWxlbmFtZShzdHJlYW1lci0+YXJjaGl2ZSwKKwkJCQkJCQkJICAgcGF0aG5hbWUsCisJ CQkJCQkJCSAgIEFTVFJFQU1FUl9MSUJBUkNISVZFX1JFQURFUl9CVUZGRVJfU0laRSk7CisJaWYg KHIgIT0gQVJDSElWRV9PSykKKwkJcGdfZmF0YWwoImxpYmFyY2hpdmU6IGNvdWxkIG5vdCBvcGVu IFwiJXNcIjogJXMiLAorCQkJCSBwYXRobmFtZSwKKwkJCQkgYXJjaGl2ZV9lcnJvcl9zdHJpbmco c3RyZWFtZXItPmFyY2hpdmUpKTsKKworCS8qIFN0YXJ0IGJ5IHdhbnRpbmcgYSBuZXcgZmlsZS4g Ki8KKwlzdHJlYW1lci0+ZW5kX29mX2ZpbGUgPSB0cnVlOworCXN0cmVhbWVyLT5lbmRfb2ZfYXJj aGl2ZSA9IGZhbHNlOworCisJcmV0dXJuICZzdHJlYW1lci0+YmFzZTsKK30KKworLyogRmlsbCBp biBhbiBhc3RyZWFtZXIgbWVtYmVyIGdpdmVuIGEgbGliYXJjaGl2ZSBlbnRyeS4gKi8KK3N0YXRp YyB2b2lkCithc3RyZWFtZXJfbGliYXJjaGl2ZV9yZWFkZXJfZmlsbF9tZW1iZXIoYXN0cmVhbWVy X21lbWJlciAqbWVtYmVyLAorCQkJCQkJCQkJCXN0cnVjdCBhcmNoaXZlX2VudHJ5ICplbnRyeSkK K3sKKwlzdHJsY3B5KG1lbWJlci0+cGF0aG5hbWUsCisJCQlhcmNoaXZlX2VudHJ5X3BhdGhuYW1l KGVudHJ5KSwKKwkJCXNpemVvZihtZW1iZXItPnBhdGhuYW1lKSk7CisJbWVtYmVyLT5zaXplID0g YXJjaGl2ZV9lbnRyeV9zaXplKGVudHJ5KTsKKwltZW1iZXItPm1vZGUgPSBhcmNoaXZlX2VudHJ5 X21vZGUoZW50cnkpOworCW1lbWJlci0+dWlkID0gYXJjaGl2ZV9lbnRyeV91aWQoZW50cnkpOwor CW1lbWJlci0+Z2lkID0gYXJjaGl2ZV9lbnRyeV9naWQoZW50cnkpOworCXN3aXRjaCAoYXJjaGl2 ZV9lbnRyeV9maWxldHlwZShlbnRyeSkpCisJeworCQljYXNlIEFFX0lGUkVHOgorCQkJbWVtYmVy LT5pc19yZWd1bGFyID0gdHJ1ZTsKKwkJCWJyZWFrOworCQljYXNlIEFFX0lGRElSOgorCQkJbWVt YmVyLT5pc19kaXJlY3RvcnkgPSB0cnVlOworCQkJYnJlYWs7CisJCWNhc2UgQUVfSUZMTks6CisJ CQltZW1iZXItPmlzX3N5bWxpbmsgPSB0cnVlOworCQkJc3RybGNweShtZW1iZXItPmxpbmt0YXJn ZXQsCisJCQkJCWFyY2hpdmVfZW50cnlfc3ltbGluayhlbnRyeSksCisJCQkJCXNpemVvZihtZW1i ZXItPmxpbmt0YXJnZXQpKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJYnJlYWs7CisJfQor fQorCitzdGF0aWMgdm9pZAorYXN0cmVhbWVyX2xpYmFyY2hpdmVfcmVhZGVyX2NvbnRlbnQoYXN0 cmVhbWVyICpzdHJlYW1lciwKKwkJCQkJCQkJCWFzdHJlYW1lcl9tZW1iZXIgKm1lbWJlciwKKwkJ CQkJCQkJCWNvbnN0IGNoYXIgKmRhdGFfaWdub3JlZCwKKwkJCQkJCQkJCWludCBsZW5faWdub3Jl ZCwKKwkJCQkJCQkJCWFzdHJlYW1lcl9hcmNoaXZlX2NvbnRleHQgY29udGV4dCkKK3sKKwlhc3Ry ZWFtZXJfbGliYXJjaGl2ZV9yZWFkZXIgKm15c3RyZWFtZXI7CisJc3NpemVfdAkJc2l6ZTsKKwor CS8qCisJICogVGhpcyBzaG91bGQgYmUgcmVhY2hlZCBieSBjYWxsaW5nIGFzdHJlYW1lcl9wdWxs KCkuCisJICoKKwkgKiBJZiBsaWJhcmNoaXZlIGhhZCBhIG5vbi1ibG9ja2luZyBvciBwdXNoIEFQ SSAoY2YgZGlzY3Vzc2lvbiBpbgorCSAqIGxpYmFyY2hpdmUgaXNzdWUgIzEyNjgpLCB0aGVuIHdl IGNvdWxkIHB1c2ggcmF3IGRhdGEgaW4gaGVyZSwgbGlrZQorCSAqIGFzdHJlYW1lcl90YXJfcGFy c2VyLgorCSAqCisJICogR2l2ZW4gb25seSBhIGJsb2NraW5nIGludGVyZmFjZSwgd2UgaGF2ZSB0 byBhc2sgaXQgdG8gcHVsbCBkYXRhIGludG8KKwkgKiBvdXIgYXN0cmVhbWVyIHBpcGVsaW5lLiAg VGhlIGFtb3VudCBpdCByZWFkcyBhdCBvbmNlIGlzIGJvdW5kZWQgYnkKKwkgKiBBU1RSRUFNRVJf TElCQVJDSElWRV9SRUFERVJfQlVGRkVSX1NJWkUsIGFuZCB3ZSdsbCByZXR1cm4gY29udHJvbCBh ZnRlcgorCSAqIGVtaXR0aW5nIGp1c3Qgb25lIGRhdGEgY2h1bmsgdGhhdCBzbyB0aGF0IHRoZSBj YWxsZXIgaGFzIHRoZSBjaGFuY2UgdG8KKwkgKiBnaXZlIHVwIGVhcmx5LgorCSAqLworCUFzc2Vy dChtZW1iZXIgPT0gTlVMTCk7CisJQXNzZXJ0KGRhdGFfaWdub3JlZCA9PSBOVUxMKTsKKwlBc3Nl cnQobGVuX2lnbm9yZWQgPT0gMCk7CisJQXNzZXJ0KGNvbnRleHQgPT0gQVNUUkVBTUVSX1VOS05P V04pOworCisJbXlzdHJlYW1lciA9IChhc3RyZWFtZXJfbGliYXJjaGl2ZV9yZWFkZXIgKikgc3Ry ZWFtZXI7CisKKwl3aGlsZSAoIW15c3RyZWFtZXItPmVuZF9vZl9hcmNoaXZlKQorCXsKKwkJLyog RG8gd2UgbmVlZCBhIG5ldyBmaWxlPyAqLworCQlpZiAobXlzdHJlYW1lci0+ZW5kX29mX2ZpbGUp CisJCXsKKwkJCXN0cnVjdCBhcmNoaXZlX2VudHJ5ICplbnRyeTsKKworCQkJLyogU3RhcnQgbmV4 dCBmaWxlLCBvciBkaXNjb3ZlciBlbmQgb2YgYXJjaGl2ZS4gKi8KKwkJCXN3aXRjaCAoYXJjaGl2 ZV9yZWFkX25leHRfaGVhZGVyKG15c3RyZWFtZXItPmFyY2hpdmUsICZlbnRyeSkpCisJCQl7CisJ CQkJY2FzZSBBUkNISVZFX1JFVFJZOgorCQkJCQljb250aW51ZTsKKwkJCQljYXNlIEFSQ0hJVkVf RkFUQUw6CisJCQkJCXBnX2ZhdGFsKCJsaWJhcmNoaXZlOiAlcyIsCisJCQkJCQkJIGFyY2hpdmVf ZXJyb3Jfc3RyaW5nKG15c3RyZWFtZXItPmFyY2hpdmUpKTsKKwkJCQkJYnJlYWs7CisJCQkJY2Fz ZSBBUkNISVZFX1dBUk46CisJCQkJCXBnX2xvZ193YXJuaW5nKCJsaWJhcmNoaXZlOiAlcyIsCisJ CQkJCQkJCSAgIGFyY2hpdmVfZXJyb3Jfc3RyaW5nKG15c3RyZWFtZXItPmFyY2hpdmUpKTsKKwkJ CQkJcGdfZmFsbHRocm91Z2g7CisJCQkJY2FzZSBBUkNISVZFX09LOgorCQkJCQkvKiBTZW5kIGZp bGUgaGVhZGVyLCB0aGVuIGZhbGwgdGhyb3VnaCB0byBzZW5kIG9uZSBjaHVuay4gKi8KKwkJCQkJ bXlzdHJlYW1lci0+ZW5kX29mX2ZpbGUgPSBmYWxzZTsKKwkJCQkJYXN0cmVhbWVyX2xpYmFyY2hp dmVfcmVhZGVyX2ZpbGxfbWVtYmVyKCZteXN0cmVhbWVyLT5tZW1iZXIsCisJCQkJCQkJCQkJCQkJ CQllbnRyeSk7CisJCQkJCWFzdHJlYW1lcl9jb250ZW50KG15c3RyZWFtZXItPmJhc2UuYmJzX25l eHQsCisJCQkJCQkJCQkgICZteXN0cmVhbWVyLT5tZW1iZXIsCisJCQkJCQkJCQkgIE5VTEwsCisJ CQkJCQkJCQkgIDAsCisJCQkJCQkJCQkgIEFTVFJFQU1FUl9NRU1CRVJfSEVBREVSKTsKKwkJCQkJ YnJlYWs7CisJCQkJY2FzZSBBUkNISVZFX0VPRjoKKwkJCQkJLyogRW5kIG9mIGFyY2hpdmUuICov CisJCQkJCW15c3RyZWFtZXItPmVuZF9vZl9hcmNoaXZlID0gdHJ1ZTsKKwkJCQkJYXN0cmVhbWVy X2NvbnRlbnQobXlzdHJlYW1lci0+YmFzZS5iYnNfbmV4dCwKKwkJCQkJCQkJCSAgTlVMTCwKKwkJ CQkJCQkJCSAgTlVMTCwKKwkJCQkJCQkJCSAgMCwKKwkJCQkJCQkJCSAgQVNUUkVBTUVSX0FSQ0hJ VkVfVFJBSUxFUik7CisJCQkJCXJldHVybjsKKwkJCQlkZWZhdWx0OgorCQkJCQlwZ19mYXRhbCgi dW5leHBlY3RlZCByZXN1bHQgZnJvbSBhcmNoaXZlX3JlYWRfbmV4dF9oZWFkZXIoKSIpOworCQkJ CQlicmVhazsKKwkJCX0KKwkJfQorCisJCS8qIFN0cmVhbSBhIGNodW5rIG9mIGRhdGEsIG9yIGRp c2NvdmVyIGVuZCBvZiBmaWxlLiAqLworCQlBc3NlcnQoIW15c3RyZWFtZXItPmVuZF9vZl9maWxl KTsKKwkJc2l6ZSA9IGFyY2hpdmVfcmVhZF9kYXRhKG15c3RyZWFtZXItPmFyY2hpdmUsCisJCQkJ CQkJCSBteXN0cmVhbWVyLT5kYXRhLAorCQkJCQkJCQkgc2l6ZW9mKG15c3RyZWFtZXItPmRhdGEp KTsKKwkJc3dpdGNoIChzaXplKQorCQl7CisJCQljYXNlIEFSQ0hJVkVfUkVUUlk6CisJCQkJY29u dGludWU7CisJCQljYXNlIEFSQ0hJVkVfRkFUQUw6CisJCQkJcGdfZmF0YWwoImxpYmFyY2hpdmU6 ICVzIiwKKwkJCQkJCSBhcmNoaXZlX2Vycm9yX3N0cmluZyhteXN0cmVhbWVyLT5hcmNoaXZlKSk7 CisJCQkJcGdfdW5yZWFjaGFibGUoKTsKKwkJCWNhc2UgQVJDSElWRV9XQVJOOgorCQkJCXBnX2xv Z193YXJuaW5nKCJsaWJhcmNoaXZlOiAlcyIsCisJCQkJCQkJICAgYXJjaGl2ZV9lcnJvcl9zdHJp bmcobXlzdHJlYW1lci0+YXJjaGl2ZSkpOworCQkJCWNvbnRpbnVlOworCQkJZGVmYXVsdDoKKwkJ CQlicmVhazsKKwkJfQorCisJCWlmIChzaXplID09IDApCisJCXsKKwkJCS8qIFNlbmQgdHJhaWxl ciwgYW5kIGdvIGFyb3VuZCB0byBzdGFydCBhbm90aGVyIGZpbGUuICovCisJCQlteXN0cmVhbWVy LT5lbmRfb2ZfZmlsZSA9IHRydWU7CisJCQlhc3RyZWFtZXJfY29udGVudChteXN0cmVhbWVyLT5i YXNlLmJic19uZXh0LAorCQkJCQkJCSAgJm15c3RyZWFtZXItPm1lbWJlciwKKwkJCQkJCQkgIE5V TEwsCisJCQkJCQkJICAwLAorCQkJCQkJCSAgQVNUUkVBTUVSX01FTUJFUl9UUkFJTEVSKTsKKwkJ CWNvbnRpbnVlOworCQl9CisKKwkJLyogU3RyZWFtIGxhcmdlIGNodW5rIGFuZCByZXR1cm4uICov CisJCWFzdHJlYW1lcl9jb250ZW50KG15c3RyZWFtZXItPmJhc2UuYmJzX25leHQsCisJCQkJCQkg ICZteXN0cmVhbWVyLT5tZW1iZXIsCisJCQkJCQkgIG15c3RyZWFtZXItPmRhdGEsCisJCQkJCQkg IHNpemUsCisJCQkJCQkgIEFTVFJFQU1FUl9NRU1CRVJfQ09OVEVOVFMpOworCQlyZXR1cm47CisJ fQorfQorCitzdGF0aWMgdm9pZAorYXN0cmVhbWVyX2xpYmFyY2hpdmVfcmVhZGVyX2ZpbmFsaXpl KGFzdHJlYW1lciAqc3RyZWFtZXIpCit7CisJYXN0cmVhbWVyX2ZpbmFsaXplKHN0cmVhbWVyLT5i YnNfbmV4dCk7Cit9CisKK3N0YXRpYyB2b2lkCithc3RyZWFtZXJfbGliYXJjaGl2ZV9yZWFkZXJf ZnJlZShhc3RyZWFtZXIgKnN0cmVhbWVyKQoreworCWFzdHJlYW1lcl9saWJhcmNoaXZlX3JlYWRl ciAqbXlzdHJlYW1lcjsKKworCW15c3RyZWFtZXIgPSAoYXN0cmVhbWVyX2xpYmFyY2hpdmVfcmVh ZGVyICopIHN0cmVhbWVyOworCWFyY2hpdmVfZnJlZShteXN0cmVhbWVyLT5hcmNoaXZlKTsKKwlw ZnJlZShzdHJlYW1lcik7Cit9CmRpZmYgLS1naXQgYS9zcmMvZmVfdXRpbHMvbWVzb24uYnVpbGQg Yi9zcmMvZmVfdXRpbHMvbWVzb24uYnVpbGQKaW5kZXggODZiZWZjYTE5MmUuLjZiOTVjMzZlOWE1 IDEwMDY0NAotLS0gYS9zcmMvZmVfdXRpbHMvbWVzb24uYnVpbGQKKysrIGIvc3JjL2ZlX3V0aWxz L21lc29uLmJ1aWxkCkBAIC0yMSw2ICsyMSwxMCBAQCBmZV91dGlsc19zb3VyY2VzID0gZmlsZXMo CiAgICd2ZXJzaW9uLmMnLAogKQogCitpZiBsaWJhcmNoaXZlLmZvdW5kKCkKKyAgZmVfdXRpbHNf c291cmNlcyArPSAnYXN0cmVhbWVyX2xpYmFyY2hpdmUuYycKK2VuZGlmCisKIHBzcWxzY2FuID0g Y3VzdG9tX3RhcmdldCgncHNxbHNjYW4nLAogICBpbnB1dDogJ3BzcWxzY2FuLmwnLAogICBvdXRw dXQ6ICdwc3Fsc2Nhbi5jJywKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2ZlX3V0aWxzL2FzdHJl YW1lci5oIGIvc3JjL2luY2x1ZGUvZmVfdXRpbHMvYXN0cmVhbWVyLmgKaW5kZXggODMyOWU0ZWZi YzUuLmM2YzU0ZTk1NGU5IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9mZV91dGlscy9hc3RyZWFt ZXIuaAorKysgYi9zcmMvaW5jbHVkZS9mZV91dGlscy9hc3RyZWFtZXIuaApAQCAtMTQyLDYgKzE0 MiwxMyBAQCBhc3RyZWFtZXJfY29udGVudChhc3RyZWFtZXIgKnN0cmVhbWVyLCBhc3RyZWFtZXJf bWVtYmVyICptZW1iZXIsCiAJc3RyZWFtZXItPmJic19vcHMtPmNvbnRlbnQoc3RyZWFtZXIsIG1l bWJlciwgZGF0YSwgbGVuLCBjb250ZXh0KTsKIH0KIAorLyogVmFyaWFudCBmb3IgYXN0cmVhbWVy cyB0aGF0IHByb2R1Y2UgZGF0YSB0aGVtc2VsdmVzLiAqLworc3RhdGljIGlubGluZSB2b2lkCith c3RyZWFtZXJfcHVsbChhc3RyZWFtZXIgKnN0cmVhbWVyKQoreworCWFzdHJlYW1lcl9jb250ZW50 KHN0cmVhbWVyLCBOVUxMLCBOVUxMLCAwLCBBU1RSRUFNRVJfVU5LTk9XTik7Cit9CisKIC8qIEZp bmFsaXplIGEgYXN0cmVhbWVyLiAqLwogc3RhdGljIGlubGluZSB2b2lkCiBhc3RyZWFtZXJfZmlu YWxpemUoYXN0cmVhbWVyICpzdHJlYW1lcikKQEAgLTIyOCw0ICsyMzUsOSBAQCBleHRlcm4gYXN0 cmVhbWVyICphc3RyZWFtZXJfdGFyX3BhcnNlcl9uZXcoYXN0cmVhbWVyICpuZXh0KTsKIGV4dGVy biBhc3RyZWFtZXIgKmFzdHJlYW1lcl90YXJfdGVybWluYXRvcl9uZXcoYXN0cmVhbWVyICpuZXh0 KTsKIGV4dGVybiBhc3RyZWFtZXIgKmFzdHJlYW1lcl90YXJfYXJjaGl2ZXJfbmV3KGFzdHJlYW1l ciAqbmV4dCk7CiAKKyNpZmRlZiBVU0VfTElCQVJDSElWRQorZXh0ZXJuIGFzdHJlYW1lciAqYXN0 cmVhbWVyX2xpYmFyY2hpdmVfcmVhZGVyX25ld19wYXRobmFtZShhc3RyZWFtZXIgKm5leHQsCisJ CQkJCQkJCQkJCQkJCSAgIGNvbnN0IGNoYXIgKnBhdGhuYW1lKTsKKyNlbmRpZgorCiAjZW5kaWYK ZGlmZiAtLWdpdCBhL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0IGIvc3JjL3Rvb2xz L3BnaW5kZW50L3R5cGVkZWZzLmxpc3QKaW5kZXggYzcyZjZjNTk1NzMuLjFiYjNhMmJhZmQ0IDEw MDY0NAotLS0gYS9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdAorKysgYi9zcmMvdG9v bHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdApAQCAtMzU2NCw2ICszNTY0LDcgQEAgYXN0cmVhbWVy X2FyY2hpdmVfY29udGV4dAogYXN0cmVhbWVyX2V4dHJhY3RvcgogYXN0cmVhbWVyX2d6aXBfZGVj b21wcmVzc29yCiBhc3RyZWFtZXJfZ3ppcF93cml0ZXIKK2FzdHJlYW1lcl9saWJhcmNoaXZlX3Jl YWRlcgogYXN0cmVhbWVyX2x6NF9mcmFtZQogYXN0cmVhbWVyX21lbWJlcgogYXN0cmVhbWVyX29w cwotLSAKMi41My4wCgo= --000000000000525902064ead8406 Content-Type: text/x-patch; charset="US-ASCII"; name="0003-fixup-Use-more-efficient-zero-copy-API.patch" Content-Disposition: attachment; filename="0003-fixup-Use-more-efficient-zero-copy-API.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mnl4qwb72 RnJvbSBiNTRlNmM3YjA1ZDliZjM0YmRlNjBiNzJmM2E4ZDE5ODliMmIxN2RjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUaG9tYXMgTXVucm8gPHRob21hcy5tdW5yb0BnbWFpbC5jb20+ CkRhdGU6IFN1biwgNSBBcHIgMjAyNiAwMzowNzoxOSArMTIwMApTdWJqZWN0OiBbUEFUQ0ggMy80 XSBmaXh1cDogVXNlIG1vcmUgZWZmaWNpZW50IHplcm8tY29weSBBUEk/CgpXZSBjYW4gcGFzcyBh IHBvaW50ZXIgdG8gZGF0YSBpbiBsaWJhcmNoaXZlJ3MgaW50ZXJuYWwgYnVmZmVyIGRpcmVjdGx5 CnRvIHRoZSBuZXh0IHN0cmVhbWVyLCBhdm9pZGluZyBvbmUgY29weS4gIFRvIGRvIHRoaXMgd2Ug YWxzbyBoYXZlIHRvCmV4cGFuZCBhbnkgc3BhcnNlIHJlZ2lvbnMgb3Vyc2VsdmVzLgoKWFhYIG5v dCBzdXJlIGl0J3Mgd29ydGggdGhlIGNvbXBsZXhpdHkgZm9yIG5vbi1wZXJmb3JtYW5jZSBjcml0 aWNhbApjb2RlPwotLS0KIHNyYy9mZV91dGlscy9hc3RyZWFtZXJfbGliYXJjaGl2ZS5jIHwgNjMg KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA1MyBpbnNlcnRp b25zKCspLCAxMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvZmVfdXRpbHMvYXN0cmVh bWVyX2xpYmFyY2hpdmUuYyBiL3NyYy9mZV91dGlscy9hc3RyZWFtZXJfbGliYXJjaGl2ZS5jCmlu ZGV4IGQ1Nzg1MzE3MWY0Li5kMjhjNGVkOTE1ZiAxMDA2NDQKLS0tIGEvc3JjL2ZlX3V0aWxzL2Fz dHJlYW1lcl9saWJhcmNoaXZlLmMKKysrIGIvc3JjL2ZlX3V0aWxzL2FzdHJlYW1lcl9saWJhcmNo aXZlLmMKQEAgLTI5LDcgKzI5LDggQEAgdHlwZWRlZiBzdHJ1Y3QgYXN0cmVhbWVyX2xpYmFyY2hp dmVfcmVhZGVyCiAJc3RydWN0IGFyY2hpdmUgKmFyY2hpdmU7CiAJYm9vbAkJZW5kX29mX2ZpbGU7 CiAJYm9vbAkJZW5kX29mX2FyY2hpdmU7Ci0JY2hhcgkJZGF0YVtBU1RSRUFNRVJfTElCQVJDSElW RV9SRUFERVJfQlVGRkVSX1NJWkVdOworCXBnb2ZmX3QJCW9mZnNldDsKKwljaGFyCQl6ZXJvZXNb ODE5Ml07CiB9IGFzdHJlYW1lcl9saWJhcmNoaXZlX3JlYWRlcjsKIAogc3RhdGljIHZvaWQgYXN0 cmVhbWVyX2xpYmFyY2hpdmVfcmVhZGVyX2NvbnRlbnQoYXN0cmVhbWVyICpzdHJlYW1lciwKQEAg LTEyMSw2ICsxMjIsMjcgQEAgYXN0cmVhbWVyX2xpYmFyY2hpdmVfcmVhZGVyX2ZpbGxfbWVtYmVy KGFzdHJlYW1lcl9tZW1iZXIgKm1lbWJlciwKIAl9CiB9CiAKKy8qIEVtaXQgemVyb2VzIHVwIHRv IG9mZnNldC4gKi8KK3N0YXRpYyBib29sCithc3RyZWFtZXJfbGliYXJjaGl2ZV9yZWFkZXJfZXhw YW5kX3NwYXJzZShhc3RyZWFtZXJfbGliYXJjaGl2ZV9yZWFkZXIgKm15c3RyZWFtZXIsCisJCQkJ CQkJCQkJICBwZ29mZl90IG9mZnNldCkKK3sKKwlzaXplX3QJCXNpemU7CisKKwl3aGlsZSAobXlz dHJlYW1lci0+b2Zmc2V0IDwgb2Zmc2V0KQorCXsKKwkJc2l6ZSA9IG9mZnNldCAtIG15c3RyZWFt ZXItPm9mZnNldDsKKwkJc2l6ZSA9IE1pbihzaXplLCBzaXplb2YobXlzdHJlYW1lci0+emVyb2Vz KSk7CisJCWFzdHJlYW1lcl9jb250ZW50KG15c3RyZWFtZXItPmJhc2UuYmJzX25leHQsCisJCQkJ CQkgICZteXN0cmVhbWVyLT5tZW1iZXIsCisJCQkJCQkgIG15c3RyZWFtZXItPnplcm9lcywKKwkJ CQkJCSAgc2l6ZSwKKwkJCQkJCSAgQVNUUkVBTUVSX01FTUJFUl9DT05URU5UUyk7CisJCW15c3Ry ZWFtZXItPm9mZnNldCArPSBzaXplOworCX0KKwlyZXR1cm4gdHJ1ZTsKK30KKwogc3RhdGljIHZv aWQKIGFzdHJlYW1lcl9saWJhcmNoaXZlX3JlYWRlcl9jb250ZW50KGFzdHJlYW1lciAqc3RyZWFt ZXIsCiAJCQkJCQkJCQlhc3RyZWFtZXJfbWVtYmVyICptZW1iZXIsCkBAIC0xMjksNyArMTUxLDkg QEAgYXN0cmVhbWVyX2xpYmFyY2hpdmVfcmVhZGVyX2NvbnRlbnQoYXN0cmVhbWVyICpzdHJlYW1l ciwKIAkJCQkJCQkJCWFzdHJlYW1lcl9hcmNoaXZlX2NvbnRleHQgY29udGV4dCkKIHsKIAlhc3Ry ZWFtZXJfbGliYXJjaGl2ZV9yZWFkZXIgKm15c3RyZWFtZXI7Ci0Jc3NpemVfdAkJc2l6ZTsKKwlj b25zdCB2b2lkICpkYXRhOworCXNpemVfdAkJc2l6ZTsKKwlwZ29mZl90CQlvZmZzZXQ7CiAKIAkv KgogCSAqIFRoaXMgc2hvdWxkIGJlIHJlYWNoZWQgYnkgY2FsbGluZyBhc3RyZWFtZXJfcHVsbCgp LgpAQCAtMTc0LDYgKzE5OCw3IEBAIGFzdHJlYW1lcl9saWJhcmNoaXZlX3JlYWRlcl9jb250ZW50 KGFzdHJlYW1lciAqc3RyZWFtZXIsCiAJCQkJY2FzZSBBUkNISVZFX09LOgogCQkJCQkvKiBTZW5k IGZpbGUgaGVhZGVyLCB0aGVuIGZhbGwgdGhyb3VnaCB0byBzZW5kIG9uZSBjaHVuay4gKi8KIAkJ CQkJbXlzdHJlYW1lci0+ZW5kX29mX2ZpbGUgPSBmYWxzZTsKKwkJCQkJbXlzdHJlYW1lci0+b2Zm c2V0ID0gMDsKIAkJCQkJYXN0cmVhbWVyX2xpYmFyY2hpdmVfcmVhZGVyX2ZpbGxfbWVtYmVyKCZt eXN0cmVhbWVyLT5tZW1iZXIsCiAJCQkJCQkJCQkJCQkJCQllbnRyeSk7CiAJCQkJCWFzdHJlYW1l cl9jb250ZW50KG15c3RyZWFtZXItPmJhc2UuYmJzX25leHQsCkBAIC0xOTcsMTIgKzIyMiwxOSBA QCBhc3RyZWFtZXJfbGliYXJjaGl2ZV9yZWFkZXJfY29udGVudChhc3RyZWFtZXIgKnN0cmVhbWVy LAogCQkJfQogCQl9CiAKLQkJLyogU3RyZWFtIGEgY2h1bmsgb2YgZGF0YSwgb3IgZGlzY292ZXIg ZW5kIG9mIGZpbGUuICovCisJCS8qCisJCSAqIFN0cmVhbSBhIGNodW5rIG9mIGRhdGEsIG9yIGRp c2NvdmVyIGVuZCBvZiBmaWxlLgorCQkgKgorCQkgKiBJdCB3b3VsZCBiZSBhIGJpdCBzaW1wbGVy IHRvIHVzZSBhcmNoaXZlX3JlYWRfZGF0YSgpLCBidXQgdGhpcworCQkgKiBpbnRlcmZhY2UgcmVt b3ZlcyB0aGUgbmVlZCBmb3IgY29weWluZyB0byBhbiBvdXRwdXQgYnVmZmVyLiAgSW4KKwkJICog ZXhjaGFuZ2UgZm9yIHRoYXQsIHdlIGhhdmUgdG8gZGVhbCB3aXRoIGV4cGFuZGluZyAocmFyZSkg c3BhcnNlCisJCSAqIGZpbGUgemVyb2VzLgorCQkgKi8KIAkJQXNzZXJ0KCFteXN0cmVhbWVyLT5l bmRfb2ZfZmlsZSk7Ci0JCXNpemUgPSBhcmNoaXZlX3JlYWRfZGF0YShteXN0cmVhbWVyLT5hcmNo aXZlLAotCQkJCQkJCQkgbXlzdHJlYW1lci0+ZGF0YSwKLQkJCQkJCQkJIHNpemVvZihteXN0cmVh bWVyLT5kYXRhKSk7Ci0JCXN3aXRjaCAoc2l6ZSkKKwkJc3dpdGNoIChhcmNoaXZlX3JlYWRfZGF0 YV9ibG9jayhteXN0cmVhbWVyLT5hcmNoaXZlLAorCQkJCQkJCQkJCSZkYXRhLAorCQkJCQkJCQkJ CSZzaXplLAorCQkJCQkJCQkJCSZvZmZzZXQpKQogCQl7CiAJCQljYXNlIEFSQ0hJVkVfUkVUUlk6 CiAJCQkJY29udGludWU7CkBAIC0yMTMsMTEgKzI0NSwyMCBAQCBhc3RyZWFtZXJfbGliYXJjaGl2 ZV9yZWFkZXJfY29udGVudChhc3RyZWFtZXIgKnN0cmVhbWVyLAogCQkJY2FzZSBBUkNISVZFX1dB Uk46CiAJCQkJcGdfbG9nX3dhcm5pbmcoImxpYmFyY2hpdmU6ICVzIiwKIAkJCQkJCQkgICBhcmNo aXZlX2Vycm9yX3N0cmluZyhteXN0cmVhbWVyLT5hcmNoaXZlKSk7Ci0JCQkJY29udGludWU7CisJ CQkJYnJlYWs7CisJCQljYXNlIEFSQ0hJVkVfRU9GOgorCQkJCXNpemUgPSAwOworCQkJCWJyZWFr OworCQkJY2FzZSBBUkNISVZFX09LOgorCQkJCWJyZWFrOwogCQkJZGVmYXVsdDoKKwkJCQlwZ19m YXRhbCgidW5leHBlY3RlZCByZXN1bHQgZnJvbSBhcmNoaXZlX3JlYWRfbmV4dF9kYXRhX2Jsb2Nr KCkiKTsKIAkJCQlicmVhazsKIAkJfQogCisJCS8qIEV4cGFuZCBhbnkgaW50ZXJ2ZW5pbmcgc3Bh cnNlIHJlZ2lvbi4gKi8KKwkJYXN0cmVhbWVyX2xpYmFyY2hpdmVfcmVhZGVyX2V4cGFuZF9zcGFy c2UobXlzdHJlYW1lciwgb2Zmc2V0KTsKKwogCQlpZiAoc2l6ZSA9PSAwKQogCQl7CiAJCQkvKiBT ZW5kIHRyYWlsZXIsIGFuZCBnbyBhcm91bmQgdG8gc3RhcnQgYW5vdGhlciBmaWxlLiAqLwpAQCAt MjMwLDEyICsyNzEsMTQgQEAgYXN0cmVhbWVyX2xpYmFyY2hpdmVfcmVhZGVyX2NvbnRlbnQoYXN0 cmVhbWVyICpzdHJlYW1lciwKIAkJCWNvbnRpbnVlOwogCQl9CiAKLQkJLyogU3RyZWFtIGxhcmdl IGNodW5rIGFuZCByZXR1cm4uICovCisJCS8qIFN0cmVhbSBsYXJnZSBjaHVuayBkaXJlY3RseSBm cm9tIGxpYmFyY2hpdmUncyBidWZmZXIgYW5kIHJldHVybi4gKi8KKwkJQXNzZXJ0KG15c3RyZWFt ZXItPm9mZnNldCA9PSBvZmZzZXQpOwogCQlhc3RyZWFtZXJfY29udGVudChteXN0cmVhbWVyLT5i YXNlLmJic19uZXh0LAogCQkJCQkJICAmbXlzdHJlYW1lci0+bWVtYmVyLAotCQkJCQkJICBteXN0 cmVhbWVyLT5kYXRhLAorCQkJCQkJICBkYXRhLAogCQkJCQkJICBzaXplLAogCQkJCQkJICBBU1RS RUFNRVJfTUVNQkVSX0NPTlRFTlRTKTsKKwkJbXlzdHJlYW1lci0+b2Zmc2V0ICs9IHNpemU7CiAJ CXJldHVybjsKIAl9CiB9Ci0tIAoyLjUzLjAKCg== --000000000000525902064ead8406 Content-Type: text/x-patch; charset="US-ASCII"; name="0004-pg_waldump-Use-astreamer_libarchive.c.patch" Content-Disposition: attachment; filename="0004-pg_waldump-Use-astreamer_libarchive.c.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mnl4qzby3 RnJvbSA3NzY5MzkyMDY2ZWZjZDljMDBhNWMyYmU3MjJlYjkxYWYxMDc4N2E0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUaG9tYXMgTXVucm8gPHRob21hcy5tdW5yb0BnbWFpbC5jb20+ CkRhdGU6IFN1biwgNSBBcHIgMjAyNiAwMjo0MDo1NiArMTIwMApTdWJqZWN0OiBbUEFUQ0ggNC80 XSBwZ193YWxkdW1wOiBVc2UgYXN0cmVhbWVyX2xpYmFyY2hpdmUuYy4KCklmIHRoaXMgYnVpbGQg c3VwcG9ydHMgbGliYXJjaGl2ZSwgdXNlIGFzdHJlYW1lcl9saWJhcmNoaXZlX3JlYWRlcgppbnN0 ZWFkIG9mIGFzdHJlYW1lcl90YXJfcGFyc2VyIHRvIHJlYWQgV0FMIGFyY2hpdmVzLiAgVGhpcyBh bGxvd3MKbW9kZXJuIHRhciBmb3JtYXRzIHdpdGggbW9yZSB0eXBlcyBvZiBjb21wcmVzc2lvbiB0 byBiZSB1c2VkLgoKKFByb29mLW9mLWNvbmNlcHQpCi0tLQogc3JjL2Jpbi9wZ193YWxkdW1wL01h a2VmaWxlICAgICAgICAgIHwgIDUgKysrKysKIHNyYy9iaW4vcGdfd2FsZHVtcC9hcmNoaXZlX3dh bGR1bXAuYyB8IDMxICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIHNyYy9iaW4vcGdfd2Fs ZHVtcC9tZXNvbi5idWlsZCAgICAgICB8ICAyICstCiBzcmMvYmluL3BnX3dhbGR1bXAvdC8wMDFf YmFzaWMucGwgICAgfCAgOSArKysrKysrLQogNCBmaWxlcyBjaGFuZ2VkLCA0NCBpbnNlcnRpb25z KCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfd2FsZHVtcC9NYWtl ZmlsZSBiL3NyYy9iaW4vcGdfd2FsZHVtcC9NYWtlZmlsZQppbmRleCBhYWJiODc1NjZhMi4uMDkw MDViZjRiYTQgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfd2FsZHVtcC9NYWtlZmlsZQorKysgYi9z cmMvYmluL3BnX3dhbGR1bXAvTWFrZWZpbGUKQEAgLTIzLDYgKzIzLDExIEBAIE9CSlMgPSBcCiBv dmVycmlkZSBDUFBGTEFHUyA6PSAtREZST05URU5EIC1JJChsaWJwcV9zcmNkaXIpICQoQ1BQRkxB R1MpCiBMREZMQUdTX0lOVEVSTkFMICs9IC1MJCh0b3BfYnVpbGRkaXIpL3NyYy9mZV91dGlscyAt bHBnZmV1dGlscwogCitpZmVxICgkKHdpdGhfbGliYXJjaGl2ZSksIHllcykKKyMgWFhYIGZpZ3Vy ZSBvdXQgd2hlcmUgdGhpcyBzaG91bGQgZ28KK0xERkxBR1NfSU5URVJOQUwgKz0gJChMSUJBUkNI SVZFX0xJQlMpCitlbmRpZgorCiBSTUdSREVTQ1NPVVJDRVMgPSAkKHNvcnQgJChub3RkaXIgJCh3 aWxkY2FyZCAkKHRvcF9zcmNkaXIpL3NyYy9iYWNrZW5kL2FjY2Vzcy9ybWdyZGVzYy8qZGVzYyou YykpKQogUk1HUkRFU0NPQkpTID0gJChwYXRzdWJzdCAlLmMsJS5vLCQoUk1HUkRFU0NTT1VSQ0VT KSkKIApkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ193YWxkdW1wL2FyY2hpdmVfd2FsZHVtcC5jIGIv c3JjL2Jpbi9wZ193YWxkdW1wL2FyY2hpdmVfd2FsZHVtcC5jCmluZGV4IGU0YTRiZjQ0YTdlLi45 MzhhMjUzZWNhYiAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ193YWxkdW1wL2FyY2hpdmVfd2FsZHVt cC5jCisrKyBiL3NyYy9iaW4vcGdfd2FsZHVtcC9hcmNoaXZlX3dhbGR1bXAuYwpAQCAtMTI5LDEy ICsxMjksMzAgQEAgdm9pZAogaW5pdF9hcmNoaXZlX3JlYWRlcihYTG9nRHVtcFByaXZhdGUgKnBy aXZhdGVJbmZvLAogCQkJCQlwZ19jb21wcmVzc19hbGdvcml0aG0gY29tcHJlc3Npb24pCiB7Ci0J aW50CQkJZmQ7CiAJYXN0cmVhbWVyICAqc3RyZWFtZXI7CiAJQXJjaGl2ZWRXQUxGaWxlICplbnRy eSA9IE5VTEw7CiAJWExvZ0xvbmdQYWdlSGVhZGVyIGxvbmdoZHI7CiAJQXJjaGl2ZWRXQUxfaXRl cmF0b3IgaXRlcjsKIAorI2lmZGVmIFVTRV9MSUJBUkNISVZFCisJY2hhcgkgICAqcGF0aG5hbWUg PSBOVUxMOworCisJLyogT3BlbiB0YXIgYXJjaGl2ZSB3aXRoIGxpYmFyY2hpdmUuICovCisJc3Ry ZWFtZXIgPSBhc3RyZWFtZXJfd2FsZHVtcF9uZXcocHJpdmF0ZUluZm8pOworCWlmIChwcml2YXRl SW5mby0+YXJjaGl2ZV9kaXIpCisJCXBhdGhuYW1lID0gcHNwcmludGYoIiVzLyVzIiwKKwkJCQkJ CQlwcml2YXRlSW5mby0+YXJjaGl2ZV9kaXIsCisJCQkJCQkJcHJpdmF0ZUluZm8tPmFyY2hpdmVf bmFtZSk7CisJc3RyZWFtZXIgPQorCQlhc3RyZWFtZXJfbGliYXJjaGl2ZV9yZWFkZXJfbmV3X3Bh dGhuYW1lKHN0cmVhbWVyLAorCQkJCQkJCQkJCQkJIHBhdGhuYW1lID8KKwkJCQkJCQkJCQkJCSBw YXRobmFtZSA6CisJCQkJCQkJCQkJCQkgcHJpdmF0ZUluZm8tPmFyY2hpdmVfbmFtZSk7CisJaWYg KHBhdGhuYW1lKQorCQlwZnJlZShwYXRobmFtZSk7CisjZWxzZQorCWludAkJCWZkOworCiAJLyog T3BlbiB0YXIgYXJjaGl2ZSBhbmQgc3RvcmUgaXRzIGZpbGUgZGVzY3JpcHRvciAqLwogCWZkID0g b3Blbl9maWxlX2luX2RpcmVjdG9yeShwcml2YXRlSW5mby0+YXJjaGl2ZV9kaXIsCiAJCQkJCQkJ CXByaXZhdGVJbmZvLT5hcmNoaXZlX25hbWUpOwpAQCAtMTU3LDYgKzE3NSw3IEBAIGluaXRfYXJj aGl2ZV9yZWFkZXIoWExvZ0R1bXBQcml2YXRlICpwcml2YXRlSW5mbywKIAkJc3RyZWFtZXIgPSBh c3RyZWFtZXJfbHo0X2RlY29tcHJlc3Nvcl9uZXcoc3RyZWFtZXIpOwogCWVsc2UgaWYgKGNvbXBy ZXNzaW9uID09IFBHX0NPTVBSRVNTSU9OX1pTVEQpCiAJCXN0cmVhbWVyID0gYXN0cmVhbWVyX3pz dGRfZGVjb21wcmVzc29yX25ldyhzdHJlYW1lcik7CisjZW5kaWYKIAogCXByaXZhdGVJbmZvLT5h cmNoaXZlX3N0cmVhbWVyID0gc3RyZWFtZXI7CiAKQEAgLTI4NiwxMCArMzA1LDEyIEBAIGZyZWVf YXJjaGl2ZV9yZWFkZXIoWExvZ0R1bXBQcml2YXRlICpwcml2YXRlSW5mbykKIAkJcHJpdmF0ZUlu Zm8tPmFyY2hpdmVfcmVhZF9idWYgPSBOVUxMOwogCX0KIAorI2lmbmRlZiBVU0VfTElCQVJDSElW RQogCS8qIENsb3NlIHRoZSBmaWxlLiAqLwogCWlmIChjbG9zZShwcml2YXRlSW5mby0+YXJjaGl2 ZV9mZCkgIT0gMCkKIAkJcGdfbG9nX2Vycm9yKCJjb3VsZCBub3QgY2xvc2UgZmlsZSBcIiVzXCI6 ICVtIiwKIAkJCQkJIHByaXZhdGVJbmZvLT5hcmNoaXZlX25hbWUpOworI2VuZGlmCiB9CiAKIC8q CkBAIC01MzcsMTIgKzU1OCwxOSBAQCBnZXRfYXJjaGl2ZV93YWxfZW50cnkoY29uc3QgY2hhciAq Zm5hbWUsIFhMb2dEdW1wUHJpdmF0ZSAqcHJpdmF0ZUluZm8pCiBzdGF0aWMgYm9vbAogcmVhZF9h cmNoaXZlX2ZpbGUoWExvZ0R1bXBQcml2YXRlICpwcml2YXRlSW5mbykKIHsKKyNpZm5kZWYgVVNF X0xJQkFSQ0hJVkUKIAlpbnQJCQlyYzsKKyNlbmRpZgogCiAJLyogRmFpbCBpZiB3ZSBhbHJlYWR5 IHJlYWNoZWQgRU9GIGluIGEgcHJpb3IgY2FsbC4gKi8KIAlpZiAocHJpdmF0ZUluZm8tPmFyY2hp dmVfZmRfZW9mKQogCQlyZXR1cm4gZmFsc2U7CiAKKyNpZmRlZiBVU0VfTElCQVJDSElWRQorCS8q IFRlbGwgbGliYXJjaGl2ZSB0byByZWFkIG1vcmUgZGF0YS4gKi8KKwlhc3RyZWFtZXJfcHVsbChw cml2YXRlSW5mby0+YXJjaGl2ZV9zdHJlYW1lcik7CisjZWxzZQorCiAJLyogVHJ5IHRvIHJlYWQg c29tZSBtb3JlIGRhdGEuICovCiAJcmMgPSByZWFkKHByaXZhdGVJbmZvLT5hcmNoaXZlX2ZkLCBw cml2YXRlSW5mby0+YXJjaGl2ZV9yZWFkX2J1ZiwKIAkJCSAgcHJpdmF0ZUluZm8tPmFyY2hpdmVf cmVhZF9idWZfc2l6ZSk7CkBAIC01NjksNiArNTk3LDcgQEAgcmVhZF9hcmNoaXZlX2ZpbGUoWExv Z0R1bXBQcml2YXRlICpwcml2YXRlSW5mbykKIAkJLyogU2V0IGZsYWcgdG8gZW5zdXJlIHdlIGRv bid0IGZpbmFsaXplIG1vcmUgdGhhbiBvbmNlLiAqLwogCQlwcml2YXRlSW5mby0+YXJjaGl2ZV9m ZF9lb2YgPSB0cnVlOwogCX0KKyNlbmRpZgogCiAJcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQg YS9zcmMvYmluL3BnX3dhbGR1bXAvbWVzb24uYnVpbGQgYi9zcmMvYmluL3BnX3dhbGR1bXAvbWVz b24uYnVpbGQKaW5kZXggNTI5NmYyMWI4MmMuLjBiMmM0MDIxMTA3IDEwMDY0NAotLS0gYS9zcmMv YmluL3BnX3dhbGR1bXAvbWVzb24uYnVpbGQKKysrIGIvc3JjL2Jpbi9wZ193YWxkdW1wL21lc29u LmJ1aWxkCkBAIC0xOSw3ICsxOSw3IEBAIGVuZGlmCiAKIHBnX3dhbGR1bXAgPSBleGVjdXRhYmxl KCdwZ193YWxkdW1wJywKICAgcGdfd2FsZHVtcF9zb3VyY2VzLAotICBkZXBlbmRlbmNpZXM6IFtm cm9udGVuZF9jb2RlLCBsaWJwcSwgbHo0LCB6c3RkXSwKKyAgZGVwZW5kZW5jaWVzOiBbZnJvbnRl bmRfY29kZSwgbGliYXJjaGl2ZSwgbGlicHEsIGx6NCwgenN0ZF0sCiAgIGNfYXJnczogWyctREZS T05URU5EJ10sICMgbmVlZGVkIGZvciB4bG9ncmVhZGVyIGV0IGFsCiAgIGt3YXJnczogZGVmYXVs dF9iaW5fYXJncywKICkKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfd2FsZHVtcC90LzAwMV9iYXNp Yy5wbCBiL3NyYy9iaW4vcGdfd2FsZHVtcC90LzAwMV9iYXNpYy5wbAppbmRleCA3ZGQxYzNkZDYz ZS4uNjJhMTUyMjhiMzggMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfd2FsZHVtcC90LzAwMV9iYXNp Yy5wbAorKysgYi9zcmMvYmluL3BnX3dhbGR1bXAvdC8wMDFfYmFzaWMucGwKQEAgLTExLDcgKzEx LDEzIEBAIHVzZSBUZXN0OjpNb3JlOwogdXNlIExpc3Q6OlV0aWwgcXcoc2h1ZmZsZSk7CiAKIG15 ICR0YXIgPSAkRU5We1RBUn07Ci1teSBAdGFyX3BfZmxhZ3MgPSB0YXJfcG9ydGFiaWxpdHlfb3B0 aW9ucygkdGFyKTsKK215IEB0YXJfcF9mbGFnczsKKworIyBJZiB3ZSBkb24ndCBoYXZlIGxpYmFy Y2hpdmUsIHRoZW4gd2UgdGVsbCB0YXIgdG8gc3RpY2sgdG8gdXN0YXIgZm9ybWF0IHRoYXQKKyMg YXN0cmVhbWVyX3Rhci5jIGNhbiBkZWNvZGUuICBPdGhlcndpc2Ugd2Ugc2hvdWxkIGJlIGFibGUg dG8gYWNjZXB0IGFueXRoaW5nCisjIHRoYXQgYW55IGN1cnJlbnQgdGFyIHByb2R1Y2VzLgorQHRh cl9wX2ZsYWdzID0gdGFyX3BvcnRhYmlsaXR5X29wdGlvbnMoJHRhcikKKyAgaWYgIWNoZWNrX3Bn X2NvbmZpZygiI2RlZmluZSBVU0VfTElCQVJDSElWRSIpOwogCiBwcm9ncmFtX2hlbHBfb2soJ3Bn X3dhbGR1bXAnKTsKIHByb2dyYW1fdmVyc2lvbl9vaygncGdfd2FsZHVtcCcpOwpAQCAtMzczLDYg KzM3OSw3IEBAIG15IEBzY2VuYXJpb3MgPSAoCiAJCSdjb21wcmVzc2lvbl9mbGFncycgPT4gJy1j emYnLAogCQknaXNfYXJjaGl2ZScgPT4gMSwKIAkJJ2VuYWJsZWQnID0+IGNoZWNrX3BnX2NvbmZp ZygiI2RlZmluZSBIQVZFX0xJQlogMSIpCisJCSAgfHwgY2hlY2tfcGdfY29uZmlnKCIjZGVmaW5l IFVTRV9MSUJBUkNISVZFIikKIAl9KTsKIAogZm9yIG15ICRzY2VuYXJpbyAoQHNjZW5hcmlvcykK LS0gCjIuNTMuMAoK --000000000000525902064ead8406--