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 1weQop-004nNA-0B for pgsql-hackers@arkaria.postgresql.org; Tue, 30 Jun 2026 05:15:35 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1weQol-006YhH-3B for pgsql-hackers@arkaria.postgresql.org; Tue, 30 Jun 2026 05:15:31 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1weQol-006Yh8-1u for pgsql-hackers@lists.postgresql.org; Tue, 30 Jun 2026 05:15:31 +0000 Received: from heron.birch.relay.mailchannels.net ([23.83.209.82]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1weQoi-00000000vwk-423p for pgsql-hackers@postgresql.org; Tue, 30 Jun 2026 05:15:31 +0000 X-Sender-Id: hostingeremail|x-authuser|david@pgbackrest.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id EED0C720EED; Tue, 30 Jun 2026 05:15:25 +0000 (UTC) Received: from fr-int-smtpout26.hostinger.io (trex-green-6.trex.outbound.svc.cluster.local [100.99.18.221]) (Authenticated sender: hostingeremail) by relay.mailchannels.net (Postfix) with ESMTPA id 35F7A720329; Tue, 30 Jun 2026 05:15:24 +0000 (UTC) X-Sender-Id: hostingeremail|x-authuser|david@pgbackrest.org X-MC-Relay: Neutral X-MailChannels-SenderId: hostingeremail|x-authuser|david@pgbackrest.org X-MailChannels-Auth-Id: hostingeremail X-Trade-Shelf: 78a7862470c44092_1782796525756_826785273 X-MC-Loop-Signature: 1782796525756:671422671 X-MC-Ingress-Time: 1782796525756 Received: from fr-int-smtpout26.hostinger.io (fr-int-smtpout26.hostinger.io [148.222.54.11]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.99.18.221 (trex/7.1.5); Tue, 30 Jun 2026 05:15:25 +0000 Received: from [10.5.0.2] (unknown [185.228.19.43]) (Authenticated sender: david@pgbackrest.org) by smtp.hostinger.com (smtp.hostinger.com) with ESMTPSA id 4gqBDR3y9qz1xwC; Tue, 30 Jun 2026 05:15:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pgbackrest.org; s=hostingermail1; t=1782796522; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=ohlfXwjruhPCC/skE6+cexAVPorFqq8+tzg3XWlA8w4=; b=p+xIUiM+wB7CIY/677vDKMe6wAcJt700Y0Xwma0aBabvs+SVq65PCSdT8DPMHuJaN+YZSO vtP+Byih3f4BprSSSfoX2gdWw2UzEkihDSFztQdGsIM5YRJCHhpBP0C/pFevSp3u+2aj71 pVfzCe9H8ILGbK9lTQ9pFIIO93xDj4SbHFsDft/uFmVlv+hsbg3fi/zBgK5nbT0uqFRAi5 KcmWYq/H89vXfgE+cEb+yoSSOfB+vO+M0848LXXxf4nbUcpr/0ktpftmHfedKoFQV7ZYUS A0v2Q0UdJsWCUL0Pu81mIhCY8dgkGzmgZ9BrE+f+B7NgPk87qXOk8izb5K6IhQ== Content-Type: multipart/mixed; boundary="------------jH0dMflTeEyrkaagsE0wMAZW" Message-ID: <86436ff9-eb98-4c8a-825e-3bcae022107b@pgbackrest.org> MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Return pg_control from pg_backup_stop(). From: David Steele To: Michael Paquier Cc: Pg Hackers , Heikki Linnakangas , Robert Haas , Andres Freund , Fujii Masao References: <8b8aa673-fcef-4e14-a05d-0885283ef1b8@pgbackrest.org> <17DC1346-0CDE-4E39-B110-3D6FB0797AC6@gmail.com> <7F7B289B-F94F-42C2-9E54-6A689C0D64BB@gmail.com> <1800c83c-264a-4183-9da5-ac78e25849a8@pgbackrest.org> <3b23e3b7-53d2-4784-b482-05cca3327acb@pgbackrest.org> <4193dcbc-591e-44bb-816c-43b4ae70d31c@pgbackrest.org> Content-Language: en-US In-Reply-To: <4193dcbc-591e-44bb-816c-43b4ae70d31c@pgbackrest.org> Date: Tue, 30 Jun 2026 05:15:19 +0000 (UTC) X-CM-Envelope: MS4xfCS6L0egC2FwjMSY6Vz0x1yrMXlKtXwjbJu4i8A9VEt+GneYz0EZtHFiuL3tJjLf3Yx/MiN6LFfMgK4Vrclgje3uAcw1DKcPyU+g3DScpwmpQ5ozzRCk G9mbNzuQx7ss5I/pAEL2JtZEoLW8sf6sFboLwTxFIK0nMKU4CXmDlU+O7lf/wO8A5zUVmaYhBzC7flBi0U/yl3Nuqa9dNT1xDV+BNwP3+nZvg9JEDosHb+nH VI9AvL/BLbP6shAFXsgiaIZoQWuIAJ/RJQyHF+gqAdL/AHdjWDMvEsiOHWwHfI0/1y0yF57S9zvvfZ1dA/9w8iyG/hnXswHgD31biiKVlbEAcNM/jiXS3YRw CEdvdRd8 X-CM-Analysis: v=2.4 cv=BvrPwpX5 c=1 sm=1 tr=0 ts=6a4350ea a=SBoDSkiIV9pP1cn0poDHUg==:117 a=SBoDSkiIV9pP1cn0poDHUg==:17 a=r77TgQKjGQsHNAKrUKIA:9 a=i77V8DqFZ0T7mOBplOAA:9 a=QEXdDO2ut3YA:10 a=1wDIiH70AAAA:8 a=_j_s5ByB5p9-P5eX7N0A:9 a=B2y7HmGcmWMA:10 a=uCsh6WI2SJRHIg0NT2Eg:22 X-AuthUser: david@pgbackrest.org List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------jH0dMflTeEyrkaagsE0wMAZW Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 4/13/26 21:55, David Steele wrote: > > I have withdrawn this patch. If anybody wants to pick it up in the > future I'll be happy to rebase it but I think two years is long enough > to maintain a patch that is not getting traction. I would like to revive this but focus on the first patch for now and drop the second patch from consideration. The patch now implements only the new flag for pgcontrol and wires this logic into basebackup. It has the additional benefit of guaranteeing that the base backup contains a non-torn version of pgcontrol. I know everyone was really busy in March but now that things are a bit calmer I'd like to revisit. Heikki, Robert, Andres, Fujii -- any objections or comments? I believe Michael is on board with the feature (this part, at least) but he very sensibly would like to have some consensus. Thanks, -David --------------jH0dMflTeEyrkaagsE0wMAZW Content-Type: text/plain; charset=UTF-8; name="pgcontrol-basebackup-flag-v11.patch" Content-Disposition: attachment; filename="pgcontrol-basebackup-flag-v11.patch" Content-Transfer-Encoding: base64 RnJvbSA2ODU5ODI4ZTg1YzdkNTRhYjcxYjRkYzNlMDFjNDVhNDdiODljNDY5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZpZCBTdGVlbGUgPGRhdmlkQHBnbWFzdGVycy5u ZXQ+CkRhdGU6IFR1ZSwgMzAgSnVuIDIwMjYgMDQ6NDI6NDcgKzAwMDAKU3ViamVjdDogQWRk IHBnX2NvbnRyb2wgZmxhZyB0byBwcmV2ZW50IHJlY292ZXJ5IHdpdGhvdXQgYmFja3VwX2xh YmVsLgoKSGFyZGVuIHJlY292ZXJ5IGJ5IGFkZGluZyBhIGZsYWcgdG8gcGdfY29udHJvbCB0 byBpbmRpY2F0ZSB0aGF0IGJhY2t1cF9sYWJlbCBpcwpyZXF1aXJlZC4gVGhpcyBwcmV2ZW50 cyB0aGUgdXNlciBmcm9tIGRlbGV0aW5nIGJhY2t1cF9sYWJlbCByZXN1bHRpbmcgaW4gYW4K aW5jb25zaXN0ZW50IHJlY292ZXJ5LgoKQW5vdGhlciBhZHZhbnRhZ2UgaXMgdGhhdCB0aGUg Y29weSBvZiBwZ19jb250cm9sIHVzZWQgYnkgcGdfYmFzZWJhY2t1cCBpcwpndWFyYW50ZWVk IG5vdCB0byBiZSB0b3JuLgoKVGhpcyBmdW5jdGlvbmFsaXR5IGlzIGxpbWl0ZWQgdG8gcGdf YmFzZWJhY2t1cCAob3IgYW55IHNvZnR3YXJlIGNvbWZvcnRhYmxlCndpdGggbW9kaWZ5aW5n IHBnX2NvbnRyb2wpLgoKQ29udHJvbCBhbmQgY2F0YWxvZyB2ZXJzaW9uIGJ1bXBzIGFyZSBy ZXF1aXJlZC4KLS0tCiBkb2Mvc3JjL3NnbWwvZnVuYy9mdW5jLWluZm8uc2dtbCAgICAgICAg ICB8ICA1ICsrKwogc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZy5jICAgICAgICAg fCA0NCArKysrKysrKysrKysrKysrKysrKysrKwogc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5z YW0veGxvZ3JlY292ZXJ5LmMgfCAxOSArKysrKysrKystCiBzcmMvYmFja2VuZC9iYWNrdXAv YmFzZWJhY2t1cC5jICAgICAgICAgICB8IDE1ICsrKystLS0tCiBzcmMvYmFja2VuZC91dGls cy9taXNjL3BnX2NvbnRyb2xkYXRhLmMgICB8ICA3ICsrLS0KIHNyYy9iaW4vcGdfY29udHJv bGRhdGEvcGdfY29udHJvbGRhdGEuYyAgIHwgIDIgKysKIHNyYy9iaW4vcGdfcmVzZXR3YWwv cGdfcmVzZXR3YWwuYyAgICAgICAgIHwgIDEgKwogc3JjL2Jpbi9wZ19yZXdpbmQvcGdfcmV3 aW5kLmMgICAgICAgICAgICAgfCAgMSArCiBzcmMvaW5jbHVkZS9hY2Nlc3MveGxvZy5oICAg ICAgICAgICAgICAgICB8ICAxICsKIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfY29udHJvbC5o ICAgICAgICAgIHwgIDQgKysrCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0ICAg ICAgICAgICB8ICA2ICsrLS0KIHNyYy90ZXN0L3JlY292ZXJ5L3QvMDAyX2FyY2hpdmluZy5w bCAgICAgIHwgMjAgKysrKysrKysrKysKIDEyIGZpbGVzIGNoYW5nZWQsIDExMCBpbnNlcnRp b25zKCspLCAxNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvZnVu Yy9mdW5jLWluZm8uc2dtbCBiL2RvYy9zcmMvc2dtbC9mdW5jL2Z1bmMtaW5mby5zZ21sCmlu ZGV4IDY5ZWYzODU3Y2ZhLi41OGQ3ZTlhZGIxOSAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21s L2Z1bmMvZnVuYy1pbmZvLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2Z1bmMvZnVuYy1pbmZv LnNnbWwKQEAgLTM2NDksNiArMzY0OSwxMSBAQCBhY2wgICAgICB8IHtwb3N0Z3Jlcz1hcndk RHh0bS9wb3N0Z3Jlcyxmb289ci9wb3N0Z3Jlc30KICAgICAgICA8ZW50cnk+PHR5cGU+Ym9v bGVhbjwvdHlwZT48L2VudHJ5PgogICAgICAgPC9yb3c+CiAKKyAgICAgIDxyb3c+CisgICAg ICAgPGVudHJ5PjxzdHJ1Y3RmaWVsZD5iYWNrdXBfbGFiZWxfcmVxdWlyZWQ8L3N0cnVjdGZp ZWxkPjwvZW50cnk+CisgICAgICAgPGVudHJ5Pjx0eXBlPmJvb2xlYW48L3R5cGU+PC9lbnRy eT4KKyAgICAgIDwvcm93PgorCiAgICAgIDwvdGJvZHk+CiAgICAgPC90Z3JvdXA+CiAgICA8 L3RhYmxlPgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZy5j IGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZy5jCmluZGV4IGE4MTkxMmI3NDQx Li43YmZkMTkzYzU5YiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0v eGxvZy5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2cuYwpAQCAtMTAw NzQsNiArMTAwNzQsNTAgQEAgZG9fcGdfYWJvcnRfYmFja3VwKGludCBjb2RlLCBEYXR1bSBh cmcpCiAJfQogfQogCisvKgorICogQ3JlYXRlIGEgY29uc2lzdGVudCBjb3B5IG9mIGNvbnRy b2wgZGF0YSB0byBiZSB1c2VkIGZvciBiYWNrdXAgYW5kIHVwZGF0ZSBpdAorICogdG8gcmVx dWlyZSBhIGJhY2t1cCBsYWJlbCBmb3IgcmVjb3ZlcnkuIEFsc28gcmVjYWxjdWxhdGUgdGhl IENSQy4KKyAqCisgKiBBbGwgZmllbGQgYWNjZXNzIGlzIGRvbmUgdGhyb3VnaCBhIGxvY2Fs LCBwcm9wZXJseS1hbGlnbmVkIENvbnRyb2xGaWxlRGF0YTsKKyAqIHRoZSBjYWxsZXIncyBi dWZmZXIgaXMgb25seSBldmVyIHdyaXR0ZW4gdmlhIG1lbWNweSgpIGFuZCBzbyBuZWVkIG5v dCBiZQorICogYWxpZ25lZCBmb3IgQ29udHJvbEZpbGVEYXRhIChlLmcuIGl0IG1heSBwb2lu dCBpbnRvIHRoZSBwYXlsb2FkIG9mIGEgYnl0ZWEpLgorICovCit2b2lkCitiYWNrdXBfY29u dHJvbF9maWxlKHVpbnQ4ICpjb250cm9sRmlsZSkKK3sKKwlDb250cm9sRmlsZURhdGEgY29u dHJvbERhdGE7CisKKwlMV0xvY2tBY3F1aXJlKENvbnRyb2xGaWxlTG9jaywgTFdfU0hBUkVE KTsKKwltZW1jcHkoJmNvbnRyb2xEYXRhLCBDb250cm9sRmlsZSwgc2l6ZW9mKENvbnRyb2xG aWxlRGF0YSkpOworCisjaWZkZWYgVVNFX0FTU0VSVF9DSEVDS0lORworCS8qCisJICogVmVy aWZ5IHRoYXQgdGhlIGNvbnRlbnRzIG9mIHBnX2NvbnRyb2wgYXJlIHRoZSBzYW1lIGluIG1l bW9yeSBhcyBvbiBkaXNrCisJICovCisJeworCQlib29sIGNyY19vazsKKwkJQ29udHJvbEZp bGVEYXRhICpkYXRhRGlzayA9IGdldF9jb250cm9sZmlsZShEYXRhRGlyLCAmY3JjX29rKTsK KworCQlBc3NlcnQoY3JjX29rICYmCisJCQkgICBtZW1jbXAoZGF0YURpc2ssICZjb250cm9s RGF0YSwgc2l6ZW9mKENvbnRyb2xGaWxlRGF0YSkpID09IDApOworCisJCXBmcmVlKGRhdGFE aXNrKTsKKwl9CisjZW5kaWYKKworCUxXTG9ja1JlbGVhc2UoQ29udHJvbEZpbGVMb2NrKTsK KworCWNvbnRyb2xEYXRhLmJhY2t1cExhYmVsUmVxdWlyZWQgPSB0cnVlOworCisJSU5JVF9D UkMzMkMoY29udHJvbERhdGEuY3JjKTsKKwlDT01QX0NSQzMyQyhjb250cm9sRGF0YS5jcmMs ICZjb250cm9sRGF0YSwgb2Zmc2V0b2YoQ29udHJvbEZpbGVEYXRhLCBjcmMpKTsKKwlGSU5f Q1JDMzJDKGNvbnRyb2xEYXRhLmNyYyk7CisKKwkvKiBDb3B5IGludG8gdGhlIGNhbGxlcidz IGJ1ZmZlciwgemVyby1wYWRkZWQgdG8gdGhlIGZ1bGwgZmlsZSBzaXplICovCisJbWVtc2V0 KGNvbnRyb2xGaWxlLCAwLCBQR19DT05UUk9MX0ZJTEVfU0laRSk7CisJbWVtY3B5KGNvbnRy b2xGaWxlLCAmY29udHJvbERhdGEsIHNpemVvZihDb250cm9sRmlsZURhdGEpKTsKK30KKwog LyoKICAqIFJlZ2lzdGVyIGEgaGFuZGxlciB0aGF0IHdpbGwgd2FybiBhYm91dCB1bnRlcm1p bmF0ZWQgYmFja3VwcyBhdCBlbmQgb2YKICAqIHNlc3Npb24sIHVubGVzcyB0aGlzIGhhcyBh bHJlYWR5IGJlZW4gZG9uZS4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFu c2FtL3hsb2dyZWNvdmVyeS5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZ3Jl Y292ZXJ5LmMKaW5kZXggYzBhZTRkM2Y2M2YuLjU2NjhkMTNkNzg4IDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94bG9ncmVjb3ZlcnkuYworKysgYi9zcmMvYmFj a2VuZC9hY2Nlc3MvdHJhbnNhbS94bG9ncmVjb3ZlcnkuYwpAQCAtNjQ4LDcgKzY0OCwxNCBA QCBJbml0V2FsUmVjb3ZlcnkoQ29udHJvbEZpbGVEYXRhICpDb250cm9sRmlsZSwgYm9vbCAq d2FzU2h1dGRvd25fcHRyLAogCX0KIAllbHNlCiAJewotCQkvKiBObyBiYWNrdXBfbGFiZWwg ZmlsZSBoYXMgYmVlbiBmb3VuZCBpZiB3ZSBhcmUgaGVyZS4gKi8KKwkJLyoKKwkJICogTm8g YmFja3VwX2xhYmVsIGZpbGUgaGFzIGJlZW4gZm91bmQgaWYgd2UgYXJlIGhlcmUuIEVycm9y IGlmIHRoZQorCQkgKiBjb250cm9sIGZpbGUgcmVxdWlyZXMgYmFja3VwX2xhYmVsLgorCQkg Ki8KKwkJaWYgKENvbnRyb2xGaWxlLT5iYWNrdXBMYWJlbFJlcXVpcmVkKQorCQkJZXJlcG9y dChGQVRBTCwKKwkJCQkJZXJybXNnKCJjb3VsZCBub3QgZmluZCBiYWNrdXBfbGFiZWwgcmVx dWlyZWQgZm9yIHJlY292ZXJ5IiksCisJCQkJCWVycmhpbnQoInJlc3RvcmUgdGhlIGJhY2t1 cF9sYWJlbCBmaWxlIHRoYXQgd2FzIGNyZWF0ZWQgZHVyaW5nIHRoZSBiYWNrdXAuIikpOwog CiAJCS8qCiAJCSAqIElmIHRhYmxlc3BhY2VfbWFwIGZpbGUgaXMgcHJlc2VudCB3aXRob3V0 IGJhY2t1cF9sYWJlbCBmaWxlLCB0aGVyZQpAQCAtOTI4LDExICs5MzUsMjEgQEAgSW5pdFdh bFJlY292ZXJ5KENvbnRyb2xGaWxlRGF0YSAqQ29udHJvbEZpbGUsIGJvb2wgKndhc1NodXRk b3duX3B0ciwKIAkJICoKIAkJICogQW55IG90aGVyIHN0YXRlIGluZGljYXRlcyB0aGF0IHRo ZSBiYWNrdXAgc29tZWhvdyBiZWNhbWUgY29ycnVwdGVkCiAJCSAqIGFuZCB3ZSBjYW4ndCBz ZW5zaWJseSBjb250aW51ZSB3aXRoIHJlY292ZXJ5LgorCQkgKgorCQkgKiBiYWNrdXBMYWJl bFJlcXVpcmVkIGlzIHNldCB0byBmYWxzZSBzaW5jZSBiYWNrdXBfbGFiZWwgaXMgbm8gbG9u Z2VyCisJCSAqIHJlcXVpcmVkIG9uY2UgcGdfY29udHJvbCBoYXMgYmVlbiB1cGRhdGVkIG9u IGRpc2suIElmIHJlY292ZXJ5CisJCSAqIHRlcm1pbmF0ZXMgYWJub3JtYWxseSBiZXR3ZWVu IHdoZW4gcGdfY29udHJvbCBpcyB1cGRhdGVkIGFuZAorCQkgKiBiYWNrdXBfbGFiZWwgaXMg cmVuYW1lZCB0aGVuIG9uIHJlc3RhcnQgcGdfY29udHJvbCB3aWxsIGJlCisJCSAqIHJlaW5p dGlhbGl6ZWQgZnJvbSBiYWNrdXBfbGFiZWwuIElmIHRoZSB1c2VyIG1hbnVhbGx5IGRlbGV0 ZXMKKwkJICogYmFja3VwX2xhYmVsIGJlZm9yZSByZXN0YXJ0aW5nIHRoZW4gcmVjb3Zlcnkg d2lsbCBwcm9jZWVkIHdpdGggdGhlCisJCSAqIGNvbnRlbnRzIG9mIHBnX2NvbnRyb2wganVz dCBhcyBpdCB3b3VsZCBpZiB0aGUgY3Jhc2ggaGFkIGhhcHBlbmVkCisJCSAqIGRpcmVjdGx5 IGFmdGVyIGJhY2t1cF9sYWJlbCByZW5hbWUuCiAJCSAqLwogCQlpZiAoaGF2ZUJhY2t1cExh YmVsKQogCQl7CiAJCQlDb250cm9sRmlsZS0+YmFja3VwU3RhcnRQb2ludCA9IGNoZWNrUG9p bnQucmVkbzsKIAkJCUNvbnRyb2xGaWxlLT5iYWNrdXBFbmRSZXF1aXJlZCA9IGJhY2t1cEVu ZFJlcXVpcmVkOworCQkJQ29udHJvbEZpbGUtPmJhY2t1cExhYmVsUmVxdWlyZWQgPSBmYWxz ZTsKIAogCQkJaWYgKGJhY2t1cEZyb21TdGFuZGJ5KQogCQkJewpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvYmFja3VwL2Jhc2ViYWNrdXAuYyBiL3NyYy9iYWNrZW5kL2JhY2t1cC9iYXNl YmFja3VwLmMKaW5kZXggOWM3OWRhZGFhY2MuLjQ3MzBlYzJhYzY1IDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC9iYWNrdXAvYmFzZWJhY2t1cC5jCisrKyBiL3NyYy9iYWNrZW5kL2JhY2t1 cC9iYXNlYmFja3VwLmMKQEAgLTIzLDYgKzIzLDcgQEAKICNpbmNsdWRlICJiYWNrdXAvYmFz ZWJhY2t1cF9pbmNyZW1lbnRhbC5oIgogI2luY2x1ZGUgImJhY2t1cC9iYXNlYmFja3VwX3Np bmsuaCIKICNpbmNsdWRlICJiYWNrdXAvYmFzZWJhY2t1cF90YXJnZXQuaCIKKyNpbmNsdWRl ICJjYXRhbG9nL3BnX2NvbnRyb2wuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3RhYmxlc3Bh Y2VfZC5oIgogI2luY2x1ZGUgImNvbW1hbmRzL2RlZnJlbS5oIgogI2luY2x1ZGUgImNvbW1v bi9jb21wcmVzc2lvbi5oIgpAQCAtMzMyLDkgKzMzMyw5IEBAIHBlcmZvcm1fYmFzZV9iYWNr dXAoYmFzZWJhY2t1cF9vcHRpb25zICpvcHQsIGJic2luayAqc2luaywKIAogCQkJaWYgKHRp LT5wYXRoID09IE5VTEwpCiAJCQl7Ci0JCQkJc3RydWN0IHN0YXQgc3RhdGJ1ZjsKIAkJCQli b29sCQlzZW5kdGJsc3BjbGlua3MgPSB0cnVlOwogCQkJCWNoYXIJICAgKmJhY2t1cF9sYWJl bDsKKwkJCQl1aW50OAkJY29udHJvbEZpbGVbUEdfQ09OVFJPTF9GSUxFX1NJWkVdOwogCiAJ CQkJYmJzaW5rX2JlZ2luX2FyY2hpdmUoc2luaywgImJhc2UudGFyIik7CiAKQEAgLTM1Nywx NCArMzU4LDEwIEBAIHBlcmZvcm1fYmFzZV9iYWNrdXAoYmFzZWJhY2t1cF9vcHRpb25zICpv cHQsIGJic2luayAqc2luaywKIAkJCQkJCXNlbmR0YmxzcGNsaW5rcywgJm1hbmlmZXN0LCBJ bnZhbGlkT2lkLCBpYik7CiAKIAkJCQkvKiAuLi4gYW5kIHBnX2NvbnRyb2wgYWZ0ZXIgZXZl cnl0aGluZyBlbHNlLiAqLwotCQkJCWlmIChsc3RhdChYTE9HX0NPTlRST0xfRklMRSwgJnN0 YXRidWYpICE9IDApCi0JCQkJCWVyZXBvcnQoRVJST1IsCi0JCQkJCQkJKGVycmNvZGVfZm9y X2ZpbGVfYWNjZXNzKCksCi0JCQkJCQkJIGVycm1zZygiY291bGQgbm90IHN0YXQgZmlsZSBc IiVzXCI6ICVtIiwKLQkJCQkJCQkJCVhMT0dfQ09OVFJPTF9GSUxFKSkpOwotCQkJCXNlbmRG aWxlKHNpbmssIFhMT0dfQ09OVFJPTF9GSUxFLCBYTE9HX0NPTlRST0xfRklMRSwgJnN0YXRi dWYsCi0JCQkJCQkgZmFsc2UsIEludmFsaWRPaWQsIEludmFsaWRPaWQsCi0JCQkJCQkgSW52 YWxpZFJlbEZpbGVOdW1iZXIsIDAsICZtYW5pZmVzdCwgMCwgTlVMTCwgMCk7CisJCQkJYmFj a3VwX2NvbnRyb2xfZmlsZShjb250cm9sRmlsZSk7CisJCQkJc2VuZEZpbGVXaXRoQ29udGVu dChzaW5rLCBYTE9HX0NPTlRST0xfRklMRSwKKwkJCQkJCQkJCShjaGFyICopY29udHJvbEZp bGUsIFBHX0NPTlRST0xfRklMRV9TSVpFLAorCQkJCQkJCQkJJm1hbmlmZXN0KTsKIAkJCX0K IAkJCWVsc2UKIAkJCXsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcGdf Y29udHJvbGRhdGEuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcGdfY29udHJvbGRhdGEu YwppbmRleCBjNmQ5Y2JiMTU3Ny4uYzJjMTllYjc3ZGYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNr ZW5kL3V0aWxzL21pc2MvcGdfY29udHJvbGRhdGEuYworKysgYi9zcmMvYmFja2VuZC91dGls cy9taXNjL3BnX2NvbnRyb2xkYXRhLmMKQEAgLTE2Miw4ICsxNjIsOCBAQCBwZ19jb250cm9s X2NoZWNrcG9pbnQoUEdfRlVOQ1RJT05fQVJHUykKIERhdHVtCiBwZ19jb250cm9sX3JlY292 ZXJ5KFBHX0ZVTkNUSU9OX0FSR1MpCiB7Ci0JRGF0dW0JCXZhbHVlc1s1XTsKLQlib29sCQlu dWxsc1s1XTsKKwlEYXR1bQkJdmFsdWVzWzZdOworCWJvb2wJCW51bGxzWzZdOwogCVR1cGxl RGVzYwl0dXBkZXNjOwogCUhlYXBUdXBsZQlodHVwOwogCUNvbnRyb2xGaWxlRGF0YSAqQ29u dHJvbEZpbGU7CkBAIC0xOTUsNiArMTk1LDkgQEAgcGdfY29udHJvbF9yZWNvdmVyeShQR19G VU5DVElPTl9BUkdTKQogCXZhbHVlc1s0XSA9IEJvb2xHZXREYXR1bShDb250cm9sRmlsZS0+ YmFja3VwRW5kUmVxdWlyZWQpOwogCW51bGxzWzRdID0gZmFsc2U7CiAKKwl2YWx1ZXNbNV0g PSBCb29sR2V0RGF0dW0oQ29udHJvbEZpbGUtPmJhY2t1cExhYmVsUmVxdWlyZWQpOworCW51 bGxzWzVdID0gZmFsc2U7CisKIAlodHVwID0gaGVhcF9mb3JtX3R1cGxlKHR1cGRlc2MsIHZh bHVlcywgbnVsbHMpOwogCiAJUEdfUkVUVVJOX0RBVFVNKEhlYXBUdXBsZUdldERhdHVtKGh0 dXApKTsKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfY29udHJvbGRhdGEvcGdfY29udHJvbGRh dGEuYyBiL3NyYy9iaW4vcGdfY29udHJvbGRhdGEvcGdfY29udHJvbGRhdGEuYwppbmRleCBm ZTVmYzVlYzEzMy4uY2ZlMTlmNDA5MGEgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfY29udHJv bGRhdGEvcGdfY29udHJvbGRhdGEuYworKysgYi9zcmMvYmluL3BnX2NvbnRyb2xkYXRhL3Bn X2NvbnRyb2xkYXRhLmMKQEAgLTMwMyw2ICszMDMsOCBAQCBtYWluKGludCBhcmdjLCBjaGFy ICphcmd2W10pCiAJCSAgIExTTl9GT1JNQVRfQVJHUyhDb250cm9sRmlsZS0+YmFja3VwRW5k UG9pbnQpKTsKIAlwcmludGYoXygiRW5kLW9mLWJhY2t1cCByZWNvcmQgcmVxdWlyZWQ6ICAg ICAgICAlc1xuIiksCiAJCSAgIENvbnRyb2xGaWxlLT5iYWNrdXBFbmRSZXF1aXJlZCA/IF8o InllcyIpIDogXygibm8iKSk7CisJcHJpbnRmKF8oIkJhY2t1cCBsYWJlbCByZXF1aXJlZDog ICAgICAgICAgICAgICAgJXNcbiIpLAorCQkgICBDb250cm9sRmlsZS0+YmFja3VwTGFiZWxS ZXF1aXJlZCA/IF8oInllcyIpIDogXygibm8iKSk7CiAJcHJpbnRmKF8oIndhbF9sZXZlbCBz ZXR0aW5nOiAgICAgICAgICAgICAgICAgICAgJXNcbiIpLAogCQkgICB3YWxfbGV2ZWxfc3Ry KENvbnRyb2xGaWxlLT53YWxfbGV2ZWwpKTsKIAlwcmludGYoXygid2FsX2xvZ19oaW50cyBz ZXR0aW5nOiAgICAgICAgICAgICAgICAlc1xuIiksCmRpZmYgLS1naXQgYS9zcmMvYmluL3Bn X3Jlc2V0d2FsL3BnX3Jlc2V0d2FsLmMgYi9zcmMvYmluL3BnX3Jlc2V0d2FsL3BnX3Jlc2V0 d2FsLmMKaW5kZXggZjhkMjVhZmVkOWQuLjg0OGVkOGJjZGIwIDEwMDY0NAotLS0gYS9zcmMv YmluL3BnX3Jlc2V0d2FsL3BnX3Jlc2V0d2FsLmMKKysrIGIvc3JjL2Jpbi9wZ19yZXNldHdh bC9wZ19yZXNldHdhbC5jCkBAIC05MTgsNiArOTE4LDcgQEAgUmV3cml0ZUNvbnRyb2xGaWxl KHZvaWQpCiAJQ29udHJvbEZpbGUuYmFja3VwU3RhcnRQb2ludCA9IEludmFsaWRYTG9nUmVj UHRyOwogCUNvbnRyb2xGaWxlLmJhY2t1cEVuZFBvaW50ID0gSW52YWxpZFhMb2dSZWNQdHI7 CiAJQ29udHJvbEZpbGUuYmFja3VwRW5kUmVxdWlyZWQgPSBmYWxzZTsKKwlDb250cm9sRmls ZS5iYWNrdXBMYWJlbFJlcXVpcmVkID0gZmFsc2U7CiAKIAkvKgogCSAqIEZvcmNlIHRoZSBk ZWZhdWx0cyBmb3IgbWF4Xyogc2V0dGluZ3MuIFRoZSB2YWx1ZXMgZG9uJ3QgcmVhbGx5IG1h dHRlcgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19yZXdpbmQvcGdfcmV3aW5kLmMgYi9zcmMv YmluL3BnX3Jld2luZC9wZ19yZXdpbmQuYwppbmRleCA5ZDc0NWQ0YjI1Yi4uNTA5YjllODBh MjEgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfcmV3aW5kL3BnX3Jld2luZC5jCisrKyBiL3Ny Yy9iaW4vcGdfcmV3aW5kL3BnX3Jld2luZC5jCkBAIC03MzYsNiArNzM2LDcgQEAgcGVyZm9y bV9yZXdpbmQoZmlsZW1hcF90ICpmaWxlbWFwLCByZXdpbmRfc291cmNlICpzb3VyY2UsCiAJ Q29udHJvbEZpbGVfbmV3Lm1pblJlY292ZXJ5UG9pbnQgPSBlbmRyZWM7CiAJQ29udHJvbEZp bGVfbmV3Lm1pblJlY292ZXJ5UG9pbnRUTEkgPSBlbmR0bGk7CiAJQ29udHJvbEZpbGVfbmV3 LnN0YXRlID0gREJfSU5fQVJDSElWRV9SRUNPVkVSWTsKKwlDb250cm9sRmlsZV9uZXcuYmFj a3VwTGFiZWxSZXF1aXJlZCA9IHRydWU7CiAJaWYgKCFkcnlfcnVuKQogCQl1cGRhdGVfY29u dHJvbGZpbGUoZGF0YWRpcl90YXJnZXQsICZDb250cm9sRmlsZV9uZXcsIGRvX3N5bmMpOwog fQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvYWNjZXNzL3hsb2cuaCBiL3NyYy9pbmNsdWRl L2FjY2Vzcy94bG9nLmgKaW5kZXggNGRkOTg2MjQyMDQuLjE4MmIyZmU4ZjdjIDEwMDY0NAot LS0gYS9zcmMvaW5jbHVkZS9hY2Nlc3MveGxvZy5oCisrKyBiL3NyYy9pbmNsdWRlL2FjY2Vz cy94bG9nLmgKQEAgLTMyNiw2ICszMjYsNyBAQCBleHRlcm4gdm9pZCBkb19wZ19iYWNrdXBf c3RhcnQoY29uc3QgY2hhciAqYmFja3VwaWRzdHIsIGJvb2wgZmFzdCwKIAkJCQkJCQkgICBT dHJpbmdJbmZvIHRibHNwY21hcGZpbGUpOwogZXh0ZXJuIHZvaWQgZG9fcGdfYmFja3VwX3N0 b3AoQmFja3VwU3RhdGUgKnN0YXRlLCBib29sIHdhaXRmb3JhcmNoaXZlKTsKIGV4dGVybiB2 b2lkIGRvX3BnX2Fib3J0X2JhY2t1cChpbnQgY29kZSwgRGF0dW0gYXJnKTsKK2V4dGVybiB2 b2lkIGJhY2t1cF9jb250cm9sX2ZpbGUodWludDggKmNvbnRyb2xGaWxlKTsKIGV4dGVybiB2 b2lkIHJlZ2lzdGVyX3BlcnNpc3RlbnRfYWJvcnRfYmFja3VwX2hhbmRsZXIodm9pZCk7CiBl eHRlcm4gU2Vzc2lvbkJhY2t1cFN0YXRlIGdldF9iYWNrdXBfc3RhdHVzKHZvaWQpOwogCmRp ZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2NvbnRyb2wuaCBiL3NyYy9pbmNs dWRlL2NhdGFsb2cvcGdfY29udHJvbC5oCmluZGV4IDgwYjNhNzMwZTAzLi4yYWQxMjU0YWRm MSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19jb250cm9sLmgKKysrIGIv c3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19jb250cm9sLmgKQEAgLTE3MiwxMiArMTcyLDE2IEBA IHR5cGVkZWYgc3RydWN0IENvbnRyb2xGaWxlRGF0YQogCSAqIElmIGJhY2t1cEVuZFJlcXVp cmVkIGlzIHRydWUsIHdlIGtub3cgZm9yIHN1cmUgdGhhdCB3ZSdyZSByZXN0b3JpbmcKIAkg KiBmcm9tIGEgYmFja3VwLCBhbmQgbXVzdCBzZWUgYSBiYWNrdXAtZW5kIHJlY29yZCBiZWZv cmUgd2UgY2FuIHNhZmVseQogCSAqIHN0YXJ0IHVwLgorCSAqCisJICogSWYgYmFja3VwTGFi ZWxSZXF1aXJlZCBpcyB0cnVlLCB0aGVuIGEgYmFja3VwX2xhYmVsIGZpbGUgbXVzdCBiZQor CSAqIHByZXNlbnQgaW4gb3JkZXIgZm9yIHJlY292ZXJ5IHRvIHByb2NlZWQuCiAJICovCiAJ WExvZ1JlY1B0cgltaW5SZWNvdmVyeVBvaW50OwogCVRpbWVMaW5lSUQJbWluUmVjb3ZlcnlQ b2ludFRMSTsKIAlYTG9nUmVjUHRyCWJhY2t1cFN0YXJ0UG9pbnQ7CiAJWExvZ1JlY1B0cgli YWNrdXBFbmRQb2ludDsKIAlib29sCQliYWNrdXBFbmRSZXF1aXJlZDsKKwlib29sCQliYWNr dXBMYWJlbFJlcXVpcmVkOwogCiAJLyoKIAkgKiBQYXJhbWV0ZXIgc2V0dGluZ3MgdGhhdCBk ZXRlcm1pbmUgaWYgdGhlIFdBTCBjYW4gYmUgdXNlZCBmb3IgYXJjaGl2YWwKZGlmZiAtLWdp dCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgYi9zcmMvaW5jbHVkZS9jYXRh bG9nL3BnX3Byb2MuZGF0CmluZGV4IDFhOTg1YmVjZGUzLi5kZDIwZmUxNDAyYSAxMDA2NDQK LS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAorKysgYi9zcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX3Byb2MuZGF0CkBAIC0xMjM1NCw5ICsxMjM1NCw5IEBACiB7IG9pZCA9 PiAnMzQ0MycsCiAgIGRlc2NyID0+ICdwZ19jb250cm9sZGF0YSByZWNvdmVyeSBzdGF0ZSBp bmZvcm1hdGlvbiBhcyBhIGZ1bmN0aW9uJywKICAgcHJvbmFtZSA9PiAncGdfY29udHJvbF9y ZWNvdmVyeScsIHByb3ZvbGF0aWxlID0+ICd2JywgcHJvcmV0dHlwZSA9PiAncmVjb3JkJywK LSAgcHJvYXJndHlwZXMgPT4gJycsIHByb2FsbGFyZ3R5cGVzID0+ICd7cGdfbHNuLGludDQs cGdfbHNuLHBnX2xzbixib29sfScsCi0gIHByb2FyZ21vZGVzID0+ICd7byxvLG8sbyxvfScs Ci0gIHByb2FyZ25hbWVzID0+ICd7bWluX3JlY292ZXJ5X2VuZF9sc24sbWluX3JlY292ZXJ5 X2VuZF90aW1lbGluZSxiYWNrdXBfc3RhcnRfbHNuLGJhY2t1cF9lbmRfbHNuLGVuZF9vZl9i YWNrdXBfcmVjb3JkX3JlcXVpcmVkfScsCisgIHByb2FyZ3R5cGVzID0+ICcnLCBwcm9hbGxh cmd0eXBlcyA9PiAne3BnX2xzbixpbnQ0LHBnX2xzbixwZ19sc24sYm9vbCxib29sfScsCisg IHByb2FyZ21vZGVzID0+ICd7byxvLG8sbyxvLG99JywKKyAgcHJvYXJnbmFtZXMgPT4gJ3tt aW5fcmVjb3ZlcnlfZW5kX2xzbixtaW5fcmVjb3ZlcnlfZW5kX3RpbWVsaW5lLGJhY2t1cF9z dGFydF9sc24sYmFja3VwX2VuZF9sc24sZW5kX29mX2JhY2t1cF9yZWNvcmRfcmVxdWlyZWQs YmFja3VwX2xhYmVsX3JlcXVpcmVkfScsCiAgIHByb3NyYyA9PiAncGdfY29udHJvbF9yZWNv dmVyeScgfSwKIAogeyBvaWQgPT4gJzM0NDQnLApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVj b3ZlcnkvdC8wMDJfYXJjaGl2aW5nLnBsIGIvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMDJfYXJj aGl2aW5nLnBsCmluZGV4IGFhNDBmNThlNmQ2Li45OTYzZDEzNDczZSAxMDA2NDQKLS0tIGEv c3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMDJfYXJjaGl2aW5nLnBsCisrKyBiL3NyYy90ZXN0L3Jl Y292ZXJ5L3QvMDAyX2FyY2hpdmluZy5wbApAQCAtNDEsNiArNDEsMjYgQEAgJG5vZGVfc3Rh bmRieS0+YXBwZW5kX2NvbmYoCiBhcmNoaXZlX2NsZWFudXBfY29tbWFuZCA9ICdlY2hvIGFy Y2hpdmVfY2xlYW51cF9kb25lID4gJGFyY2hpdmVfY2xlYW51cF9jb21tYW5kX2ZpbGUnCiBy ZWNvdmVyeV9lbmRfY29tbWFuZCA9ICdlY2hvIHJlY292ZXJ5X2VuZGVkX2RvbmUgPiAkcmVj b3ZlcnlfZW5kX2NvbW1hbmRfZmlsZScKICkpOworCisjIFJlbmFtZSBiYWNrdXBfbGFiZWwg dG8gdmVyaWZ5IHRoYXQgcmVjb3Zlcnkgd2lsbCBub3Qgc3RhcnQgd2l0aG91dCBpdAorcmVu YW1lKCIkZGF0YV9kaXIvYmFja3VwX2xhYmVsIiwgIiRkYXRhX2Rpci9iYWNrdXBfbGFiZWwu dG1wIikKKyAgb3IgQkFJTF9PVVQgImNvdWxkIG5vdCBtb3ZlICRkYXRhX2Rpci9iYWNrdXBf bGFiZWwiOworCitteSAkcmVzID0gcnVuX2xvZygKKwlbCisJCSdwZ19jdGwnLCAnLUQnLCAk bm9kZV9zdGFuZGJ5LT5kYXRhX2RpciwgJy1sJywKKwkJJG5vZGVfc3RhbmRieS0+bG9nZmls ZSwgJ3N0YXJ0JworCV0pOworb2soISRyZXMsICdpbnZhbGlkIHJlY292ZXJ5IHN0YXJ0dXAg ZmFpbHMnKTsKKworbXkgJGxvZ2ZpbGUgPSBzbHVycF9maWxlKCRub2RlX3N0YW5kYnktPmxv Z2ZpbGUoKSk7CitvaygkbG9nZmlsZSA9fiBxci9jb3VsZCBub3QgZmluZCBiYWNrdXBfbGFi ZWwgcmVxdWlyZWQgZm9yIHJlY292ZXJ5LywKKwknY291bGQgbm90IGZpbmQgYmFja3VwX2xh YmVsIHJlcXVpcmVkIGZvciByZWNvdmVyeScpOworCisjIFJlc3RvcmUgYmFja3VwX2xhYmVs IHNvIHJlY292ZXJ5IHByb2NlZWRzIG5vcm1hbGx5CityZW5hbWUoIiRkYXRhX2Rpci9iYWNr dXBfbGFiZWwudG1wIiwgIiRkYXRhX2Rpci9iYWNrdXBfbGFiZWwiKQorICBvciBCQUlMX09V VCAiY291bGQgbm90IG1vdmUgJGRhdGFfZGlyL2JhY2t1cF9sYWJlbCI7CisKICRub2RlX3N0 YW5kYnktPnN0YXJ0OwogCiAjIENyZWF0ZSBzb21lIGNvbnRlbnQgb24gcHJpbWFyeQotLSAK Mi4zNC4xCgo= --------------jH0dMflTeEyrkaagsE0wMAZW--