Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qBbOd-0007pr-Cr for pgsql-hackers@arkaria.postgresql.org; Tue, 20 Jun 2023 13:27:47 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1qBbOb-0006CA-Jq for pgsql-hackers@arkaria.postgresql.org; Tue, 20 Jun 2023 13:27:45 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qBbOb-0006C0-7W for pgsql-hackers@lists.postgresql.org; Tue, 20 Jun 2023 13:27:45 +0000 Received: from oss.nttdata.com ([49.212.34.109]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qBbOX-003dKb-8s for pgsql-hackers@postgresql.org; Tue, 20 Jun 2023 13:27:44 +0000 Received: from oss.nttdata.com (localhost [127.0.0.1]) by oss.nttdata.com (Postfix) with ESMTPA id EA9F4605FD; Tue, 20 Jun 2023 22:27:36 +0900 (JST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.8 at oss.nttdata.com MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_b0f962ec349b2d1229be60bd4cbe5616" Content-Transfer-Encoding: 7bit Date: Tue, 20 Jun 2023 22:27:36 +0900 From: torikoshia To: Michael Paquier Cc: Kyotaro Horiguchi , masao.fujii@oss.nttdata.com, bharath.rupireddyforpostgres@gmail.com, pgsql-hackers@postgresql.org Subject: Re: Allow pg_archivecleanup to remove backup history files In-Reply-To: References: <20230615.152036.1556630042388070221.horikyota.ntt@gmail.com> <2ea9987153ecb1f7ce52d798011cf303@oss.nttdata.com> <20230616.112231.1306553854686190659.horikyota.ntt@gmail.com> <20230616.113025.2298895266828782379.horikyota.ntt@gmail.com> <3fe4af5a0a81fc6a2ec01cb484c0a487@oss.nttdata.com> User-Agent: Roundcube Webmail/1.4.11 Message-ID: X-Sender: torikoshia@oss.nttdata.com List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=_b0f962ec349b2d1229be60bd4cbe5616 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed On 2023-06-19 14:37, Michael Paquier wrote: > On Mon, Jun 19, 2023 at 11:24:29AM +0900, torikoshia wrote: >> Thanks, now I understand what you meant. > > If I may ask, why is the refactoring of 0003 done after the feature in > 0002? Shouldn't the order be reversed? That would make for a cleaner > git history. > -- > Michael Agreed. Reversed the order of patches 0002 and 0003. -- Regards, -- Atsushi Torikoshi NTT DATA CORPORATION --=_b0f962ec349b2d1229be60bd4cbe5616 Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=v9-0001-Introduce-pg_archivecleanup-into-getopt_long.patch Content-Disposition: attachment; filename=v9-0001-Introduce-pg_archivecleanup-into-getopt_long.patch; size=4116 RnJvbSBhMDc3MGY2NjhiZjczNDc3ODE1ZmI0NGE3Mzg2ZDk1ZWQ5MWJkZWM1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBdHN1c2hpIFRvcmlrb3NoaSA8dG9yaWtvc2hpYUBvc3MubnR0 ZGF0YS5jb20+CkRhdGU6IE1vbiwgMTkgSnVuIDIwMjMgMjA6NDI6MDcgKzA5MDAKU3ViamVjdDog W1BBVENIIHY5IDEvM10gSW50cm9kdWNlIHBnX2FyY2hpdmVjbGVhbnVwIGludG8gZ2V0b3B0X2xv bmcKClRoaXMgcGF0Y2ggaXMgYSBwcmVsaW1pbmFyeSBzdGVwIHRvIGFkZCBhbiBlYXN5LXRvLXVu ZGVyc3RhbmQgb3B0aW9uCnRvIGRlbGV0ZSBiYWNrdXAgaGlzdG9yeSBmaWxlcywgYnV0IGl0IGFs c28gYWRkcyBsb25nIG9wdGlvbnMgdG8KdGhlIGV4aXN0aW5nIG9wdGlvbnMuCi0tLQogZG9jL3Ny Yy9zZ21sL3JlZi9wZ2FyY2hpdmVjbGVhbnVwLnNnbWwgICAgICAgIHwgIDUgKysrKy0KIHNyYy9i aW4vcGdfYXJjaGl2ZWNsZWFudXAvcGdfYXJjaGl2ZWNsZWFudXAuYyB8IDIyICsrKysrKysrKysr KystLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL3BnYXJjaGl2ZWNsZWFudXAuc2dtbCBi L2RvYy9zcmMvc2dtbC9yZWYvcGdhcmNoaXZlY2xlYW51cC5zZ21sCmluZGV4IDYzNWU3Yzc2ODUu LjA5OTkxYzJmY2QgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvcGdhcmNoaXZlY2xlYW51 cC5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYvcGdhcmNoaXZlY2xlYW51cC5zZ21sCkBAIC05 NSw2ICs5NSw3IEBAIHBnX2FyY2hpdmVjbGVhbnVwOiAgcmVtb3ZpbmcgZmlsZSAiYXJjaGl2ZS8w MDAwMDAwMTAwMDAwMDM3MDAwMDAwMEUiCiAKICAgICAgPHZhcmxpc3RlbnRyeT4KICAgICAgIDx0 ZXJtPjxvcHRpb24+LWQ8L29wdGlvbj48L3Rlcm0+CisgICAgICA8dGVybT48b3B0aW9uPi0tZGVi dWc8L29wdGlvbj48L3Rlcm0+CiAgICAgICA8bGlzdGl0ZW0+CiAgICAgICAgPHBhcmE+CiAgICAg ICAgIFByaW50IGxvdHMgb2YgZGVidWcgbG9nZ2luZyBvdXRwdXQgb24gPGZpbGVuYW1lPnN0ZGVy cjwvZmlsZW5hbWU+LgpAQCAtMTA0LDYgKzEwNSw3IEBAIHBnX2FyY2hpdmVjbGVhbnVwOiAgcmVt b3ZpbmcgZmlsZSAiYXJjaGl2ZS8wMDAwMDAwMTAwMDAwMDM3MDAwMDAwMEUiCiAKICAgICAgPHZh cmxpc3RlbnRyeT4KICAgICAgIDx0ZXJtPjxvcHRpb24+LW48L29wdGlvbj48L3Rlcm0+CisgICAg ICA8dGVybT48b3B0aW9uPi0tZHJ5LXJ1bjwvb3B0aW9uPjwvdGVybT4KICAgICAgIDxsaXN0aXRl bT4KICAgICAgICA8cGFyYT4KICAgICAgICAgUHJpbnQgdGhlIG5hbWVzIG9mIHRoZSBmaWxlcyB0 aGF0IHdvdWxkIGhhdmUgYmVlbiByZW1vdmVkIG9uIDxmaWxlbmFtZT5zdGRvdXQ8L2ZpbGVuYW1l PiAocGVyZm9ybXMgYSBkcnkgcnVuKS4KQEAgLTEyMiw3ICsxMjQsOCBAQCBwZ19hcmNoaXZlY2xl YW51cDogIHJlbW92aW5nIGZpbGUgImFyY2hpdmUvMDAwMDAwMDEwMDAwMDAzNzAwMDAwMDBFIgog ICAgICA8L3Zhcmxpc3RlbnRyeT4KIAogICAgICA8dmFybGlzdGVudHJ5PgotICAgICAgPHRlcm0+ PG9wdGlvbj4teDwvb3B0aW9uPiA8cmVwbGFjZWFibGU+ZXh0ZW5zaW9uPC9yZXBsYWNlYWJsZT48 L3Rlcm0+CisgICAgICA8dGVybT48b3B0aW9uPi14IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1l dGVyIj5leHRlbnNpb248L3JlcGxhY2VhYmxlPjwvb3B0aW9uPjwvdGVybT4KKyAgICAgIDx0ZXJt PjxvcHRpb24+LS1zdHJpcC1leHRlbnNpb249PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi PmV4dGVuc2lvbjwvcmVwbGFjZWFibGU+PC9vcHRpb24+PC90ZXJtPgogICAgICAgPGxpc3RpdGVt PgogICAgICAgIDxwYXJhPgogICAgICAgICBQcm92aWRlIGFuIGV4dGVuc2lvbgpkaWZmIC0tZ2l0 IGEvc3JjL2Jpbi9wZ19hcmNoaXZlY2xlYW51cC9wZ19hcmNoaXZlY2xlYW51cC5jIGIvc3JjL2Jp bi9wZ19hcmNoaXZlY2xlYW51cC9wZ19hcmNoaXZlY2xlYW51cC5jCmluZGV4IDc3MjZkMDUxNDku LmZjMGRjYTk4NTYgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfYXJjaGl2ZWNsZWFudXAvcGdfYXJj aGl2ZWNsZWFudXAuYworKysgYi9zcmMvYmluL3BnX2FyY2hpdmVjbGVhbnVwL3BnX2FyY2hpdmVj bGVhbnVwLmMKQEAgLTE3LDcgKzE3LDcgQEAKIAogI2luY2x1ZGUgImFjY2Vzcy94bG9nX2ludGVy bmFsLmgiCiAjaW5jbHVkZSAiY29tbW9uL2xvZ2dpbmcuaCIKLSNpbmNsdWRlICJwZ19nZXRvcHQu aCIKKyNpbmNsdWRlICJnZXRvcHRfbG9uZy5oIgogCiBjb25zdCBjaGFyICpwcm9nbmFtZTsKIApA QCAtMjUyLDExICsyNTIsMTMgQEAgdXNhZ2Uodm9pZCkKIAlwcmludGYoXygiVXNhZ2U6XG4iKSk7 CiAJcHJpbnRmKF8oIiAgJXMgW09QVElPTl0uLi4gQVJDSElWRUxPQ0FUSU9OIE9MREVTVEtFUFRX QUxGSUxFXG4iKSwgcHJvZ25hbWUpOwogCXByaW50ZihfKCJcbk9wdGlvbnM6XG4iKSk7Ci0JcHJp bnRmKF8oIiAgLWQgICAgICAgICAgICAgZ2VuZXJhdGUgZGVidWcgb3V0cHV0ICh2ZXJib3NlIG1v ZGUpXG4iKSk7Ci0JcHJpbnRmKF8oIiAgLW4gICAgICAgICAgICAgZHJ5IHJ1biwgc2hvdyB0aGUg bmFtZXMgb2YgdGhlIGZpbGVzIHRoYXQgd291bGQgYmUgcmVtb3ZlZFxuIikpOwotCXByaW50Zihf KCIgIC1WLCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uLCB0aGVuIGV4aXRc biIpKTsKLQlwcmludGYoXygiICAteCBFWFQgICAgICAgICBjbGVhbiB1cCBmaWxlcyBpZiB0aGV5 IGhhdmUgdGhpcyBleHRlbnNpb25cbiIpKTsKLQlwcmludGYoXygiICAtPywgLS1oZWxwICAgICBz aG93IHRoaXMgaGVscCwgdGhlbiBleGl0XG4iKSk7CisJcHJpbnRmKF8oIiAgLWQsIC0tZGVidWcg ICAgICAgICAgICAgICAgIGdlbmVyYXRlIGRlYnVnIG91dHB1dCAodmVyYm9zZSBtb2RlKVxuIikp OworCXByaW50ZihfKCIgIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICAgICBkcnkgcnVuLCBzaG93 IHRoZSBuYW1lcyBvZiB0aGUgZmlsZXMgdGhhdCB3b3VsZCBiZVxuIgorCQkJICIgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICByZW1vdmVkXG4iKSk7CisJcHJpbnRmKF8oIiAgLVYsIC0tdmVy c2lvbiAgICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uLCB0aGVuIGV4aXRc biIpKTsKKwlwcmludGYoXygiICAteCwgLS1zdHJpcC1leHRlbnNpb249RVhUICAgc3RyaXAgdGhp cyBleHRlbnRpb24gYmVmb3JlIGlkZW50aWZ5aW5nIGZpbGVzIGZvclxuIgorCQkJICIgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjbGVhbiB1cFxuIikpOworCXByaW50ZihfKCIgIC0/LCAt LWhlbHAgICAgICAgICAgICAgICAgICBzaG93IHRoaXMgaGVscCwgdGhlbiBleGl0XG4iKSk7CiAJ cHJpbnRmKF8oIlxuIgogCQkJICJGb3IgdXNlIGFzIGFyY2hpdmVfY2xlYW51cF9jb21tYW5kIGlu IHBvc3RncmVzcWwuY29uZjpcbiIKIAkJCSAiICBhcmNoaXZlX2NsZWFudXBfY29tbWFuZCA9ICdw Z19hcmNoaXZlY2xlYW51cCBbT1BUSU9OXS4uLiBBUkNISVZFTE9DQVRJT04gJSVyJ1xuIgpAQCAt Mjc0LDYgKzI3NiwxMiBAQCB1c2FnZSh2b2lkKQogaW50CiBtYWluKGludCBhcmdjLCBjaGFyICoq YXJndikKIHsKKwlzdGF0aWMgc3RydWN0IG9wdGlvbiBsb25nX29wdGlvbnNbXSA9IHsKKwkJeyJk ZWJ1ZyIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnZCd9LAorCQl7ImRyeS1ydW4iLCBub19hcmd1bWVu dCwgTlVMTCwgJ24nfSwKKwkJeyJzdHJpcC1leHRlbnNpb24iLCByZXF1aXJlZF9hcmd1bWVudCwg TlVMTCwgJ3gnfSwKKwkJe05VTEwsIDAsIE5VTEwsIDB9CisJfTsKIAlpbnQJCQljOwogCiAJcGdf bG9nZ2luZ19pbml0KGFyZ3ZbMF0pOwpAQCAtMjk0LDcgKzMwMiw3IEBAIG1haW4oaW50IGFyZ2Ms IGNoYXIgKiphcmd2KQogCQl9CiAJfQogCi0Jd2hpbGUgKChjID0gZ2V0b3B0KGFyZ2MsIGFyZ3Ys ICJkbng6IikpICE9IC0xKQorCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJk bng6IiwgbG9uZ19vcHRpb25zLCBOVUxMKSkgIT0gLTEpCiAJewogCQlzd2l0Y2ggKGMpCiAJCXsK LS0gCjIuMzkuMgoK --=_b0f962ec349b2d1229be60bd4cbe5616 Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=v9-0002-Refactored-to-reduce-the-nesting-level.patch Content-Disposition: attachment; filename=v9-0002-Refactored-to-reduce-the-nesting-level.patch; size=5422 RnJvbSBlNjE3MzRmOWQyZWZkMzI2YmMyNTllM2Y4NjkyMDc0MDRmZTgwMTQzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBdHN1c2hpIFRvcmlrb3NoaSA8dG9yaWtvc2hpYUBvc3MubnR0 ZGF0YS5jb20+CkRhdGU6IE1vbiwgMTkgSnVuIDIwMjMgMjA6NDc6NTMgKzA5MDAKU3ViamVjdDog W1BBVENIIHY5IDIvM10gUmVmYWN0b3JlZCB0byByZWR1Y2UgdGhlIG5lc3RpbmcgbGV2ZWwKCi0t LQogc3JjL2Jpbi9wZ19hcmNoaXZlY2xlYW51cC9wZ19hcmNoaXZlY2xlYW51cC5jIHwgMTE0ICsr KysrKysrKy0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDU2IGluc2VydGlvbnMoKyksIDU4IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfYXJjaGl2ZWNsZWFudXAvcGdfYXJj aGl2ZWNsZWFudXAuYyBiL3NyYy9iaW4vcGdfYXJjaGl2ZWNsZWFudXAvcGdfYXJjaGl2ZWNsZWFu dXAuYwppbmRleCBmYzBkY2E5ODU2Li45NTBlMjdlNjNiIDEwMDY0NAotLS0gYS9zcmMvYmluL3Bn X2FyY2hpdmVjbGVhbnVwL3BnX2FyY2hpdmVjbGVhbnVwLmMKKysrIGIvc3JjL2Jpbi9wZ19hcmNo aXZlY2xlYW51cC9wZ19hcmNoaXZlY2xlYW51cC5jCkBAIC05Myw3NSArOTMsNzMgQEAgQ2xlYW51 cFByaW9yV0FMRmlsZXModm9pZCkKIAlzdHJ1Y3QgZGlyZW50ICp4bGRlOwogCWNoYXIJCXdhbGZp bGVbTUFYUEdQQVRIXTsKIAotCWlmICgoeGxkaXIgPSBvcGVuZGlyKGFyY2hpdmVMb2NhdGlvbikp ICE9IE5VTEwpCisJaWYgKCh4bGRpciA9IG9wZW5kaXIoYXJjaGl2ZUxvY2F0aW9uKSkgPT0gTlVM TCkKKwkJcGdfZmF0YWwoImNvdWxkIG5vdCBvcGVuIGFyY2hpdmUgbG9jYXRpb24gXCIlc1wiOiAl bSIsCisJCQkJIGFyY2hpdmVMb2NhdGlvbik7CisKKwl3aGlsZSAoZXJybm8gPSAwLCAoeGxkZSA9 IHJlYWRkaXIoeGxkaXIpKSAhPSBOVUxMKQogCXsKLQkJd2hpbGUgKGVycm5vID0gMCwgKHhsZGUg PSByZWFkZGlyKHhsZGlyKSkgIT0gTlVMTCkKKwkJLyoKKwkJICogVHJ1bmNhdGlvbiBpcyBlc3Nl bnRpYWxseSBoYXJtbGVzcywgYmVjYXVzZSB3ZSBza2lwIG5hbWVzIG9mCisJCSAqIGxlbmd0aCBv dGhlciB0aGFuIFhMT0dfRk5BTUVfTEVOLiAgKEluIHByaW5jaXBsZSwgb25lIGNvdWxkIHVzZQor CQkgKiBhIDEwMDAtY2hhcmFjdGVyIGFkZGl0aW9uYWxfZXh0IGFuZCBnZXQgdHJvdWJsZS4pCisJ CSAqLworCQlzdHJsY3B5KHdhbGZpbGUsIHhsZGUtPmRfbmFtZSwgTUFYUEdQQVRIKTsKKwkJVHJp bUV4dGVuc2lvbih3YWxmaWxlLCBhZGRpdGlvbmFsX2V4dCk7CisKKwkJLyoKKwkJICogV2UgaWdu b3JlIHRoZSB0aW1lbGluZSBwYXJ0IG9mIHRoZSBYTE9HIHNlZ21lbnQgaWRlbnRpZmllcnMgaW4K KwkJICogZGVjaWRpbmcgd2hldGhlciBhIHNlZ21lbnQgaXMgc3RpbGwgbmVlZGVkLiAgVGhpcyBl bnN1cmVzIHRoYXQKKwkJICogd2Ugd29uJ3QgcHJlbWF0dXJlbHkgcmVtb3ZlIGEgc2VnbWVudCBm cm9tIGEgcGFyZW50IHRpbWVsaW5lLgorCQkgKiBXZSBjb3VsZCBwcm9iYWJseSBiZSBhIGxpdHRs ZSBtb3JlIHByb2FjdGl2ZSBhYm91dCByZW1vdmluZworCQkgKiBzZWdtZW50cyBvZiBub24tcGFy ZW50IHRpbWVsaW5lcywgYnV0IHRoYXQgd291bGQgYmUgYSB3aG9sZSBsb3QKKwkJICogbW9yZSBj b21wbGljYXRlZC4KKwkJICoKKwkJICogV2UgdXNlIHRoZSBhbHBoYW51bWVyaWMgc29ydGluZyBw cm9wZXJ0eSBvZiB0aGUgZmlsZW5hbWVzIHRvCisJCSAqIGRlY2lkZSB3aGljaCBvbmVzIGFyZSBl YXJsaWVyIHRoYW4gdGhlIGV4Y2x1c2l2ZUNsZWFudXBGaWxlTmFtZQorCQkgKiBmaWxlLiBOb3Rl IHRoYXQgdGhpcyBtZWFucyBmaWxlcyBhcmUgbm90IHJlbW92ZWQgaW4gdGhlIG9yZGVyCisJCSAq IHRoZXkgd2VyZSBvcmlnaW5hbGx5IHdyaXR0ZW4sIGluIGNhc2UgdGhpcyB3b3JyaWVzIHlvdS4K KwkJICovCisJCWlmICgoSXNYTG9nRmlsZU5hbWUod2FsZmlsZSkgfHwgSXNQYXJ0aWFsWExvZ0Zp bGVOYW1lKHdhbGZpbGUpKSAmJgorCQkJc3RyY21wKHdhbGZpbGUgKyA4LCBleGNsdXNpdmVDbGVh bnVwRmlsZU5hbWUgKyA4KSA8IDApCiAJCXsKLQkJCS8qCi0JCQkgKiBUcnVuY2F0aW9uIGlzIGVz c2VudGlhbGx5IGhhcm1sZXNzLCBiZWNhdXNlIHdlIHNraXAgbmFtZXMgb2YKLQkJCSAqIGxlbmd0 aCBvdGhlciB0aGFuIFhMT0dfRk5BTUVfTEVOLiAgKEluIHByaW5jaXBsZSwgb25lIGNvdWxkIHVz ZQotCQkJICogYSAxMDAwLWNoYXJhY3RlciBhZGRpdGlvbmFsX2V4dCBhbmQgZ2V0IHRyb3VibGUu KQotCQkJICovCi0JCQlzdHJsY3B5KHdhbGZpbGUsIHhsZGUtPmRfbmFtZSwgTUFYUEdQQVRIKTsK LQkJCVRyaW1FeHRlbnNpb24od2FsZmlsZSwgYWRkaXRpb25hbF9leHQpOworCQkJY2hhcgkJV0FM RmlsZVBhdGhbTUFYUEdQQVRIICogMl07IC8qIHRoZSBmaWxlIHBhdGgKKwkJCQkJCQkJCQkJCQkg KiBpbmNsdWRpbmcgYXJjaGl2ZSAqLwogCiAJCQkvKgotCQkJICogV2UgaWdub3JlIHRoZSB0aW1l bGluZSBwYXJ0IG9mIHRoZSBYTE9HIHNlZ21lbnQgaWRlbnRpZmllcnMgaW4KLQkJCSAqIGRlY2lk aW5nIHdoZXRoZXIgYSBzZWdtZW50IGlzIHN0aWxsIG5lZWRlZC4gIFRoaXMgZW5zdXJlcyB0aGF0 Ci0JCQkgKiB3ZSB3b24ndCBwcmVtYXR1cmVseSByZW1vdmUgYSBzZWdtZW50IGZyb20gYSBwYXJl bnQgdGltZWxpbmUuCi0JCQkgKiBXZSBjb3VsZCBwcm9iYWJseSBiZSBhIGxpdHRsZSBtb3JlIHBy b2FjdGl2ZSBhYm91dCByZW1vdmluZwotCQkJICogc2VnbWVudHMgb2Ygbm9uLXBhcmVudCB0aW1l bGluZXMsIGJ1dCB0aGF0IHdvdWxkIGJlIGEgd2hvbGUgbG90Ci0JCQkgKiBtb3JlIGNvbXBsaWNh dGVkLgotCQkJICoKLQkJCSAqIFdlIHVzZSB0aGUgYWxwaGFudW1lcmljIHNvcnRpbmcgcHJvcGVy dHkgb2YgdGhlIGZpbGVuYW1lcyB0bwotCQkJICogZGVjaWRlIHdoaWNoIG9uZXMgYXJlIGVhcmxp ZXIgdGhhbiB0aGUgZXhjbHVzaXZlQ2xlYW51cEZpbGVOYW1lCi0JCQkgKiBmaWxlLiBOb3RlIHRo YXQgdGhpcyBtZWFucyBmaWxlcyBhcmUgbm90IHJlbW92ZWQgaW4gdGhlIG9yZGVyCi0JCQkgKiB0 aGV5IHdlcmUgb3JpZ2luYWxseSB3cml0dGVuLCBpbiBjYXNlIHRoaXMgd29ycmllcyB5b3UuCisJ CQkgKiBVc2UgdGhlIG9yaWdpbmFsIGZpbGUgbmFtZSBhZ2FpbiBub3csIGluY2x1ZGluZyBhbnkK KwkJCSAqIGV4dGVuc2lvbiB0aGF0IG1pZ2h0IGhhdmUgYmVlbiBjaG9wcGVkIG9mZiBiZWZvcmUg dGVzdGluZworCQkJICogdGhlIHNlcXVlbmNlLgogCQkJICovCi0JCQlpZiAoKElzWExvZ0ZpbGVO YW1lKHdhbGZpbGUpIHx8IElzUGFydGlhbFhMb2dGaWxlTmFtZSh3YWxmaWxlKSkgJiYKLQkJCQlz dHJjbXAod2FsZmlsZSArIDgsIGV4Y2x1c2l2ZUNsZWFudXBGaWxlTmFtZSArIDgpIDwgMCkKLQkJ CXsKLQkJCQljaGFyCQlXQUxGaWxlUGF0aFtNQVhQR1BBVEggKiAyXTsgLyogdGhlIGZpbGUgcGF0 aAotCQkJCQkJCQkJCQkJCQkgKiBpbmNsdWRpbmcgYXJjaGl2ZSAqLworCQkJc25wcmludGYoV0FM RmlsZVBhdGgsIHNpemVvZihXQUxGaWxlUGF0aCksICIlcy8lcyIsCisJCQkJCSBhcmNoaXZlTG9j YXRpb24sIHhsZGUtPmRfbmFtZSk7CiAKKwkJCWlmIChkcnlydW4pCisJCQl7CiAJCQkJLyoKLQkJ CQkgKiBVc2UgdGhlIG9yaWdpbmFsIGZpbGUgbmFtZSBhZ2FpbiBub3csIGluY2x1ZGluZyBhbnkK LQkJCQkgKiBleHRlbnNpb24gdGhhdCBtaWdodCBoYXZlIGJlZW4gY2hvcHBlZCBvZmYgYmVmb3Jl IHRlc3RpbmcKLQkJCQkgKiB0aGUgc2VxdWVuY2UuCisJCQkJICogUHJpbnRzIHRoZSBuYW1lIG9m IHRoZSBmaWxlIHRvIGJlIHJlbW92ZWQgYW5kIHNraXBzIHRoZQorCQkJCSAqIGFjdHVhbCByZW1v dmFsLiAgVGhlIHJlZ3VsYXIgcHJpbnRvdXQgaXMgc28gdGhhdCB0aGUKKwkJCQkgKiB1c2VyIGNh biBwaXBlIHRoZSBvdXRwdXQgaW50byBzb21lIG90aGVyIHByb2dyYW0uCiAJCQkJICovCi0JCQkJ c25wcmludGYoV0FMRmlsZVBhdGgsIHNpemVvZihXQUxGaWxlUGF0aCksICIlcy8lcyIsCi0JCQkJ CQkgYXJjaGl2ZUxvY2F0aW9uLCB4bGRlLT5kX25hbWUpOwotCi0JCQkJaWYgKGRyeXJ1bikKLQkJ CQl7Ci0JCQkJCS8qCi0JCQkJCSAqIFByaW50cyB0aGUgbmFtZSBvZiB0aGUgZmlsZSB0byBiZSBy ZW1vdmVkIGFuZCBza2lwcyB0aGUKLQkJCQkJICogYWN0dWFsIHJlbW92YWwuICBUaGUgcmVndWxh ciBwcmludG91dCBpcyBzbyB0aGF0IHRoZQotCQkJCQkgKiB1c2VyIGNhbiBwaXBlIHRoZSBvdXRw dXQgaW50byBzb21lIG90aGVyIHByb2dyYW0uCi0JCQkJCSAqLwotCQkJCQlwcmludGYoIiVzXG4i LCBXQUxGaWxlUGF0aCk7Ci0JCQkJCXBnX2xvZ19kZWJ1ZygiZmlsZSBcIiVzXCIgd291bGQgYmUg cmVtb3ZlZCIsIFdBTEZpbGVQYXRoKTsKLQkJCQkJY29udGludWU7Ci0JCQkJfQotCi0JCQkJcGdf bG9nX2RlYnVnKCJyZW1vdmluZyBmaWxlIFwiJXNcIiIsIFdBTEZpbGVQYXRoKTsKLQotCQkJCXJj ID0gdW5saW5rKFdBTEZpbGVQYXRoKTsKLQkJCQlpZiAocmMgIT0gMCkKLQkJCQkJcGdfZmF0YWwo ImNvdWxkIG5vdCByZW1vdmUgZmlsZSBcIiVzXCI6ICVtIiwKLQkJCQkJCQkgV0FMRmlsZVBhdGgp OworCQkJCXByaW50ZigiJXNcbiIsIFdBTEZpbGVQYXRoKTsKKwkJCQlwZ19sb2dfZGVidWcoImZp bGUgXCIlc1wiIHdvdWxkIGJlIHJlbW92ZWQiLCBXQUxGaWxlUGF0aCk7CisJCQkJY29udGludWU7 CiAJCQl9Ci0JCX0KIAotCQlpZiAoZXJybm8pCi0JCQlwZ19mYXRhbCgiY291bGQgbm90IHJlYWQg YXJjaGl2ZSBsb2NhdGlvbiBcIiVzXCI6ICVtIiwKLQkJCQkJIGFyY2hpdmVMb2NhdGlvbik7Ci0J CWlmIChjbG9zZWRpcih4bGRpcikpCi0JCQlwZ19mYXRhbCgiY291bGQgbm90IGNsb3NlIGFyY2hp dmUgbG9jYXRpb24gXCIlc1wiOiAlbSIsCi0JCQkJCSBhcmNoaXZlTG9jYXRpb24pOworCQkJcGdf bG9nX2RlYnVnKCJyZW1vdmluZyBmaWxlIFwiJXNcIiIsIFdBTEZpbGVQYXRoKTsKKworCQkJcmMg PSB1bmxpbmsoV0FMRmlsZVBhdGgpOworCQkJaWYgKHJjICE9IDApCisJCQkJcGdfZmF0YWwoImNv dWxkIG5vdCByZW1vdmUgZmlsZSBcIiVzXCI6ICVtIiwKKwkJCQkJCSBXQUxGaWxlUGF0aCk7CisJ CX0KIAl9Ci0JZWxzZQotCQlwZ19mYXRhbCgiY291bGQgbm90IG9wZW4gYXJjaGl2ZSBsb2NhdGlv biBcIiVzXCI6ICVtIiwKKworCWlmIChlcnJubykKKwkJcGdfZmF0YWwoImNvdWxkIG5vdCByZWFk IGFyY2hpdmUgbG9jYXRpb24gXCIlc1wiOiAlbSIsCisJCQkJIGFyY2hpdmVMb2NhdGlvbik7CisJ aWYgKGNsb3NlZGlyKHhsZGlyKSkKKwkJcGdfZmF0YWwoImNvdWxkIG5vdCBjbG9zZSBhcmNoaXZl IGxvY2F0aW9uIFwiJXNcIjogJW0iLAogCQkJCSBhcmNoaXZlTG9jYXRpb24pOwogfQogCi0tIAoy LjM5LjIKCg== --=_b0f962ec349b2d1229be60bd4cbe5616 Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=v9-0003-Allow-pg_archivecleanup-to-remove-backup-history-.patch Content-Disposition: attachment; filename=v9-0003-Allow-pg_archivecleanup-to-remove-backup-history-.patch; size=10848 RnJvbSBkOTM4Zjk2ODg0OGI3NjJkMzY2NWY3ZTdjYmY2YmY1NjU3NDc1OGQ2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBdHN1c2hpIFRvcmlrb3NoaSA8dG9yaWtvc2hpYUBvc3MubnR0 ZGF0YS5jb20+CkRhdGU6IE1vbiwgMTkgSnVuIDIwMjMgMjA6NTQ6MDQgKzA5MDAKU3ViamVjdDog W1BBVENIIHY5IDMvM10gQWxsb3cgcGdfYXJjaGl2ZWNsZWFudXAgdG8gcmVtb3ZlIGJhY2t1cCBo aXN0b3J5IGZpbGVzCgpCYWNrdXAgaGlzdG9yeSBmaWxlcyBhcmUganVzdCBmZXcgYnl0ZXMsIGJ1 dCBpdCBjYW4gYmUgbm9pc3kgZm9yIHRoZQpleWUgdG8gc2VlIGEgbGFyZ2UgYWNjdW11bGF0aW9u IG9mIGhpc3RvcnkgZmlsZXMgbWl4ZWQgd2l0aCB0aGUgV0FMCnNlZ21lbnRzLgpUaGlzIHBhdGNo IGFkZHMgYSBuZXcgb3B0aW9uIHRvIHJlbW92ZSBmaWxlcyBpbmNsdWRpbmcgYmFja3VwCmhpc3Rv cnkgZmlsZXMgb2xkZXIgb2xkZXN0a2VwdHdhbGZpbGUuCi0tLQogZG9jL3NyYy9zZ21sL3JlZi9w Z2FyY2hpdmVjbGVhbnVwLnNnbWwgICAgICAgIHwgMTEgKysrCiBzcmMvYmluL3BnX2FyY2hpdmVj bGVhbnVwL3BnX2FyY2hpdmVjbGVhbnVwLmMgfCA4NSArKysrKysrKysrKystLS0tLS0tCiAuLi4v dC8wMTBfcGdfYXJjaGl2ZWNsZWFudXAucGwgICAgICAgICAgICAgICAgfCA3OSArKysrKysrKysr Ky0tLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCAxMTcgaW5zZXJ0aW9ucygrKSwgNTggZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi9wZ2FyY2hpdmVjbGVhbnVwLnNnbWwg Yi9kb2Mvc3JjL3NnbWwvcmVmL3BnYXJjaGl2ZWNsZWFudXAuc2dtbAppbmRleCAwOTk5MWMyZmNk Li44ZmFjMjMzZGI2IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL3BnYXJjaGl2ZWNsZWFu dXAuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL3BnYXJjaGl2ZWNsZWFudXAuc2dtbApAQCAt MTEzLDYgKzExMywxNyBAQCBwZ19hcmNoaXZlY2xlYW51cDogIHJlbW92aW5nIGZpbGUgImFyY2hp dmUvMDAwMDAwMDEwMDAwMDAzNzAwMDAwMDBFIgogICAgICAgPC9saXN0aXRlbT4KICAgICAgPC92 YXJsaXN0ZW50cnk+CiAKKyAgICAgPHZhcmxpc3RlbnRyeT4KKyAgICAgIDx0ZXJtPjxvcHRpb24+ LWI8L29wdGlvbj48L3Rlcm0+CisgICAgICA8dGVybT48b3B0aW9uPi0tY2xlYW4tYmFja3VwLWhp c3Rvcnk8L29wdGlvbj48L3Rlcm0+CisgICAgICA8bGlzdGl0ZW0+CisgICAgICAgPHBhcmE+Cisg ICAgICAgICBSZW1vdmUgYmFja3VwIGhpc3RvcnkgZmlsZXMuCisgICAgICAgICBGb3IgZGV0YWls cyBhYm91dCBiYWNrdXAgaGlzdG9yeSBmaWxlLCBwbGVhc2UgcmVmZXIgdG8gdGhlIDx4cmVmIGxp bmtlbmQ9ImJhY2t1cC1iYXNlLWJhY2t1cCIvPi4KKyAgICAgICA8L3BhcmE+CisgICAgICA8L2xp c3RpdGVtPgorICAgICA8L3Zhcmxpc3RlbnRyeT4KKwogICAgICA8dmFybGlzdGVudHJ5PgogICAg ICAgPHRlcm0+PG9wdGlvbj4tVjwvb3B0aW9uPjwvdGVybT4KICAgICAgIDx0ZXJtPjxvcHRpb24+ LS12ZXJzaW9uPC9vcHRpb24+PC90ZXJtPgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19hcmNoaXZl Y2xlYW51cC9wZ19hcmNoaXZlY2xlYW51cC5jIGIvc3JjL2Jpbi9wZ19hcmNoaXZlY2xlYW51cC9w Z19hcmNoaXZlY2xlYW51cC5jCmluZGV4IDk1MGUyN2U2M2IuLmZmYjRhMTllN2YgMTAwNjQ0Ci0t LSBhL3NyYy9iaW4vcGdfYXJjaGl2ZWNsZWFudXAvcGdfYXJjaGl2ZWNsZWFudXAuYworKysgYi9z cmMvYmluL3BnX2FyY2hpdmVjbGVhbnVwL3BnX2FyY2hpdmVjbGVhbnVwLmMKQEAgLTIzLDYgKzIz LDggQEAgY29uc3QgY2hhciAqcHJvZ25hbWU7CiAKIC8qIE9wdGlvbnMgYW5kIGRlZmF1bHRzICov CiBib29sCQlkcnlydW4gPSBmYWxzZTsJCS8qIGFyZSB3ZSBwZXJmb3JtaW5nIGEgZHJ5LXJ1biBv cGVyYXRpb24/ICovCitib29sCQljbGVhbkJhY2t1cEhpc3RvcnkgPSBmYWxzZTsJLyogcmVtb3Zl IGZpbGVzIGluY2x1ZGluZworCQkJCQkJCQkJCQkJICogYmFja3VwIGhpc3RvcnkgZmlsZXMgKi8K IGNoYXIJICAgKmFkZGl0aW9uYWxfZXh0ID0gTlVMTDsJLyogRXh0ZW5zaW9uIHRvIHJlbW92ZSBm cm9tIGZpbGVuYW1lcyAqLwogCiBjaGFyCSAgICphcmNoaXZlTG9jYXRpb247CS8qIHdoZXJlIHRv IGZpbmQgdGhlIGFyY2hpdmU/ICovCkBAIC05OSwxNSArMTAxLDMxIEBAIENsZWFudXBQcmlvcldB TEZpbGVzKHZvaWQpCiAKIAl3aGlsZSAoZXJybm8gPSAwLCAoeGxkZSA9IHJlYWRkaXIoeGxkaXIp KSAhPSBOVUxMKQogCXsKKwkJY2hhcgkJV0FMRmlsZVBhdGhbTUFYUEdQQVRIICogMl07IC8qIHRo ZSBmaWxlIHBhdGgKKwkJCQkJCQkJCQkJCQkgKiBpbmNsdWRpbmcgYXJjaGl2ZSAqLwogCQkvKgot CQkgKiBUcnVuY2F0aW9uIGlzIGVzc2VudGlhbGx5IGhhcm1sZXNzLCBiZWNhdXNlIHdlIHNraXAg bmFtZXMgb2YKLQkJICogbGVuZ3RoIG90aGVyIHRoYW4gWExPR19GTkFNRV9MRU4uICAoSW4gcHJp bmNpcGxlLCBvbmUgY291bGQgdXNlCi0JCSAqIGEgMTAwMC1jaGFyYWN0ZXIgYWRkaXRpb25hbF9l eHQgYW5kIGdldCB0cm91YmxlLikKKwkJICogVHJ1bmNhdGlvbiBpcyBlc3NlbnRpYWxseSBoYXJt bGVzcywgIGJlY2F1c2Ugd2UgY2hlY2sgdGhlIGZpbGUKKwkJICogZm9ybWF0IGluY2x1ZGluZyB0 aGUgbGVuZ3RoIGltbWVkaWF0ZWx5IGFmdGVyIHRoaXMuCisJCSAqIChJbiBwcmluY2lwbGUsIG9u ZSBjb3VsZCB1c2UgYSAxMDAwLWNoYXJhY3RlciBhZGRpdGlvbmFsX2V4dAorCQkgKiBhbmQgZ2V0 IHRyb3VibGUuKQogCQkgKi8KIAkJc3RybGNweSh3YWxmaWxlLCB4bGRlLT5kX25hbWUsIE1BWFBH UEFUSCk7CiAJCVRyaW1FeHRlbnNpb24od2FsZmlsZSwgYWRkaXRpb25hbF9leHQpOwogCiAJCS8q CisJCSAqIENoZWNrIGZpbGUgbmFtZS4KKwkJICoKKwkJICogV2Ugc2tpcCBmaWxlcyB3aGljaCBh cmUgbm90IFdBTCBmaWxlIG9yIHBhcnRpYWwgV0FMIGZpbGUuCisJCSAqIEFsc28gd2Ugc2tpcCBi YWNrdXAgaGlzdG9yeSBmaWxlcyB3aGVuIC0tY2xlYW4tYmFja3VwLWhpc3RvcnkKKwkJICogaXMg bm90IHNwZWNpZmllZC4KKwkJICovCisJCWlmICghSXNYTG9nRmlsZU5hbWUod2FsZmlsZSkgJiYg IUlzUGFydGlhbFhMb2dGaWxlTmFtZSh3YWxmaWxlKSAmJgorCQkJIShjbGVhbkJhY2t1cEhpc3Rv cnkgJiYgSXNCYWNrdXBIaXN0b3J5RmlsZU5hbWUod2FsZmlsZSkpKQorCQkJY29udGludWU7CisK KwkJLyoKKwkJICogQ2hlY2sgY3V0b2ZmIHBvaW50LgorCQkgKgogCQkgKiBXZSBpZ25vcmUgdGhl IHRpbWVsaW5lIHBhcnQgb2YgdGhlIFhMT0cgc2VnbWVudCBpZGVudGlmaWVycyBpbgogCQkgKiBk ZWNpZGluZyB3aGV0aGVyIGEgc2VnbWVudCBpcyBzdGlsbCBuZWVkZWQuICBUaGlzIGVuc3VyZXMg dGhhdAogCQkgKiB3ZSB3b24ndCBwcmVtYXR1cmVseSByZW1vdmUgYSBzZWdtZW50IGZyb20gYSBw YXJlbnQgdGltZWxpbmUuCkBAIC0xMjAsMzkgKzEzOCwzNSBAQCBDbGVhbnVwUHJpb3JXQUxGaWxl cyh2b2lkKQogCQkgKiBmaWxlLiBOb3RlIHRoYXQgdGhpcyBtZWFucyBmaWxlcyBhcmUgbm90IHJl bW92ZWQgaW4gdGhlIG9yZGVyCiAJCSAqIHRoZXkgd2VyZSBvcmlnaW5hbGx5IHdyaXR0ZW4sIGlu IGNhc2UgdGhpcyB3b3JyaWVzIHlvdS4KIAkJICovCi0JCWlmICgoSXNYTG9nRmlsZU5hbWUod2Fs ZmlsZSkgfHwgSXNQYXJ0aWFsWExvZ0ZpbGVOYW1lKHdhbGZpbGUpKSAmJgotCQkJc3RyY21wKHdh bGZpbGUgKyA4LCBleGNsdXNpdmVDbGVhbnVwRmlsZU5hbWUgKyA4KSA8IDApCi0JCXsKLQkJCWNo YXIJCVdBTEZpbGVQYXRoW01BWFBHUEFUSCAqIDJdOyAvKiB0aGUgZmlsZSBwYXRoCi0JCQkJCQkJ CQkJCQkJICogaW5jbHVkaW5nIGFyY2hpdmUgKi8KKwkJaWYgKHN0cmNtcCh3YWxmaWxlICsgOCwg ZXhjbHVzaXZlQ2xlYW51cEZpbGVOYW1lICsgOCkgPj0gMCkKKwkJCWNvbnRpbnVlOwogCisJCS8q CisJCSAqIFVzZSB0aGUgb3JpZ2luYWwgZmlsZSBuYW1lIGFnYWluIG5vdywgaW5jbHVkaW5nIGFu eQorCQkgKiBleHRlbnNpb24gdGhhdCBtaWdodCBoYXZlIGJlZW4gY2hvcHBlZCBvZmYgYmVmb3Jl IHRlc3RpbmcKKwkJICogdGhlIHNlcXVlbmNlLgorCQkgKi8KKwkJc25wcmludGYoV0FMRmlsZVBh dGgsIHNpemVvZihXQUxGaWxlUGF0aCksICIlcy8lcyIsCisJCQkJIGFyY2hpdmVMb2NhdGlvbiwg eGxkZS0+ZF9uYW1lKTsKKworCQlpZiAoZHJ5cnVuKQorCQl7CiAJCQkvKgotCQkJICogVXNlIHRo ZSBvcmlnaW5hbCBmaWxlIG5hbWUgYWdhaW4gbm93LCBpbmNsdWRpbmcgYW55Ci0JCQkgKiBleHRl bnNpb24gdGhhdCBtaWdodCBoYXZlIGJlZW4gY2hvcHBlZCBvZmYgYmVmb3JlIHRlc3RpbmcKLQkJ CSAqIHRoZSBzZXF1ZW5jZS4KKwkJCSAqIFByaW50cyB0aGUgbmFtZSBvZiB0aGUgZmlsZSB0byBi ZSByZW1vdmVkIGFuZCBza2lwcyB0aGUKKwkJCSAqIGFjdHVhbCByZW1vdmFsLiAgVGhlIHJlZ3Vs YXIgcHJpbnRvdXQgaXMgc28gdGhhdCB0aGUKKwkJCSAqIHVzZXIgY2FuIHBpcGUgdGhlIG91dHB1 dCBpbnRvIHNvbWUgb3RoZXIgcHJvZ3JhbS4KIAkJCSAqLwotCQkJc25wcmludGYoV0FMRmlsZVBh dGgsIHNpemVvZihXQUxGaWxlUGF0aCksICIlcy8lcyIsCi0JCQkJCSBhcmNoaXZlTG9jYXRpb24s IHhsZGUtPmRfbmFtZSk7Ci0KLQkJCWlmIChkcnlydW4pCi0JCQl7Ci0JCQkJLyoKLQkJCQkgKiBQ cmludHMgdGhlIG5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgcmVtb3ZlZCBhbmQgc2tpcHMgdGhlCi0J CQkJICogYWN0dWFsIHJlbW92YWwuICBUaGUgcmVndWxhciBwcmludG91dCBpcyBzbyB0aGF0IHRo ZQotCQkJCSAqIHVzZXIgY2FuIHBpcGUgdGhlIG91dHB1dCBpbnRvIHNvbWUgb3RoZXIgcHJvZ3Jh bS4KLQkJCQkgKi8KLQkJCQlwcmludGYoIiVzXG4iLCBXQUxGaWxlUGF0aCk7Ci0JCQkJcGdfbG9n X2RlYnVnKCJmaWxlIFwiJXNcIiB3b3VsZCBiZSByZW1vdmVkIiwgV0FMRmlsZVBhdGgpOwotCQkJ CWNvbnRpbnVlOwotCQkJfQotCi0JCQlwZ19sb2dfZGVidWcoInJlbW92aW5nIGZpbGUgXCIlc1wi IiwgV0FMRmlsZVBhdGgpOwotCi0JCQlyYyA9IHVubGluayhXQUxGaWxlUGF0aCk7Ci0JCQlpZiAo cmMgIT0gMCkKLQkJCQlwZ19mYXRhbCgiY291bGQgbm90IHJlbW92ZSBmaWxlIFwiJXNcIjogJW0i LAotCQkJCQkJIFdBTEZpbGVQYXRoKTsKKwkJCXByaW50ZigiJXNcbiIsIFdBTEZpbGVQYXRoKTsK KwkJCXBnX2xvZ19kZWJ1ZygiZmlsZSBcIiVzXCIgd291bGQgYmUgcmVtb3ZlZCIsIFdBTEZpbGVQ YXRoKTsKKwkJCWNvbnRpbnVlOwogCQl9CisKKwkJcGdfbG9nX2RlYnVnKCJyZW1vdmluZyBmaWxl IFwiJXNcIiIsIFdBTEZpbGVQYXRoKTsKKworCQlyYyA9IHVubGluayhXQUxGaWxlUGF0aCk7CisJ CWlmIChyYyAhPSAwKQorCQkJcGdfZmF0YWwoImNvdWxkIG5vdCByZW1vdmUgZmlsZSBcIiVzXCI6 ICVtIiwKKwkJCQkJIFdBTEZpbGVQYXRoKTsKIAl9CiAKIAlpZiAoZXJybm8pCkBAIC0yNTAsNiAr MjY0LDcgQEAgdXNhZ2Uodm9pZCkKIAlwcmludGYoXygiVXNhZ2U6XG4iKSk7CiAJcHJpbnRmKF8o IiAgJXMgW09QVElPTl0uLi4gQVJDSElWRUxPQ0FUSU9OIE9MREVTVEtFUFRXQUxGSUxFXG4iKSwg cHJvZ25hbWUpOwogCXByaW50ZihfKCJcbk9wdGlvbnM6XG4iKSk7CisJcHJpbnRmKF8oIiAgLWIs IC0tY2xlYW4tYmFja3VwLWhpc3RvcnkgIGNsZWFuIHVwIGZpbGVzIGluY2x1ZGluZyBiYWNrdXAg aGlzdG9yeSBmaWxlc1xuIikpOwogCXByaW50ZihfKCIgIC1kLCAtLWRlYnVnICAgICAgICAgICAg ICAgICBnZW5lcmF0ZSBkZWJ1ZyBvdXRwdXQgKHZlcmJvc2UgbW9kZSlcbiIpKTsKIAlwcmludGYo XygiICAtbiwgLS1kcnktcnVuICAgICAgICAgICAgICAgZHJ5IHJ1biwgc2hvdyB0aGUgbmFtZXMg b2YgdGhlIGZpbGVzIHRoYXQgd291bGQgYmVcbiIKIAkJCSAiICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcmVtb3ZlZFxuIikpOwpAQCAtMjc1LDYgKzI5MCw3IEBAIGludAogbWFpbihpbnQg YXJnYywgY2hhciAqKmFyZ3YpCiB7CiAJc3RhdGljIHN0cnVjdCBvcHRpb24gbG9uZ19vcHRpb25z W10gPSB7CisJCXsiY2xlYW4tYmFja3VwLWhpc3RvcnkiLCBub19hcmd1bWVudCwgTlVMTCwgJ2In fSwKIAkJeyJkZWJ1ZyIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnZCd9LAogCQl7ImRyeS1ydW4iLCBu b19hcmd1bWVudCwgTlVMTCwgJ24nfSwKIAkJeyJzdHJpcC1leHRlbnNpb24iLCByZXF1aXJlZF9h cmd1bWVudCwgTlVMTCwgJ3gnfSwKQEAgLTMwMCwxMCArMzE2LDEzIEBAIG1haW4oaW50IGFyZ2Ms IGNoYXIgKiphcmd2KQogCQl9CiAJfQogCi0Jd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywg YXJndiwgImRueDoiLCBsb25nX29wdGlvbnMsIE5VTEwpKSAhPSAtMSkKKwl3aGlsZSAoKGMgPSBn ZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiYmRueDoiLCBsb25nX29wdGlvbnMsIE5VTEwpKSAhPSAt MSkKIAl7CiAJCXN3aXRjaCAoYykKIAkJeworCQkJY2FzZSAnYic6IAkJCS8qIFJlbW92ZSBiYWNr dXAgaGlzdG9yeSBmaWxlcyB0b28gKi8KKwkJCQljbGVhbkJhY2t1cEhpc3RvcnkgPSB0cnVlOwor CQkJCWJyZWFrOwogCQkJY2FzZSAnZCc6CQkJLyogRGVidWcgbW9kZSAqLwogCQkJCXBnX2xvZ2dp bmdfaW5jcmVhc2VfdmVyYm9zaXR5KCk7CiAJCQkJYnJlYWs7CmRpZmYgLS1naXQgYS9zcmMvYmlu L3BnX2FyY2hpdmVjbGVhbnVwL3QvMDEwX3BnX2FyY2hpdmVjbGVhbnVwLnBsIGIvc3JjL2Jpbi9w Z19hcmNoaXZlY2xlYW51cC90LzAxMF9wZ19hcmNoaXZlY2xlYW51cC5wbAppbmRleCBjYzMzODZk MTQ2Li4wMzBhODJlN2ZhIDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2FyY2hpdmVjbGVhbnVwL3Qv MDEwX3BnX2FyY2hpdmVjbGVhbnVwLnBsCisrKyBiL3NyYy9iaW4vcGdfYXJjaGl2ZWNsZWFudXAv dC8wMTBfcGdfYXJjaGl2ZWNsZWFudXAucGwKQEAgLTEyLDEzICsxMiwyMyBAQCBwcm9ncmFtX29w dGlvbnNfaGFuZGxpbmdfb2soJ3BnX2FyY2hpdmVjbGVhbnVwJyk7CiAKIG15ICR0ZW1wZGlyID0g UG9zdGdyZVNRTDo6VGVzdDo6VXRpbHM6OnRlbXBkaXI7CiAKLW15IEB3YWxmaWxlcyA9ICgKLQkn MDAwMDAwMDEwMDAwMDAzNzAwMDAwMDBDLmd6JywgJzAwMDAwMDAxMDAwMDAwMzcwMDAwMDAwRCcs Ci0JJzAwMDAwMDAxMDAwMDAwMzcwMDAwMDAwRScsICcwMDAwMDAwMTAwMDAwMDM3MDAwMDAwMEYu cGFydGlhbCcsKTsKK215IEB3YWxmaWxlc193aXRoX2d6ID0gKAorCXsgbmFtZSA9PiAnMDAwMDAw MDEwMDAwMDAzNzAwMDAwMDBDLmd6JywgICAgICBwcmVzZW50ID0+IDAgfSwKKwl7IG5hbWUgPT4g JzAwMDAwMDAxMDAwMDAwMzcwMDAwMDAwRCcsICAgICAgICAgcHJlc2VudCA9PiAwIH0sCisJeyBu YW1lID0+ICcwMDAwMDAwMTAwMDAwMDM3MDAwMDAwMEUnLCAgICAgICAgIHByZXNlbnQgPT4gMSB9 LAorCXsgbmFtZSA9PiAnMDAwMDAwMDEwMDAwMDAzNzAwMDAwMDBGLnBhcnRpYWwnLCBwcmVzZW50 ID0+IDEgfSwKKwl7IG5hbWUgPT4gJ3VucmVsYXRlZF9maWxlJywgICAgICAgICAgICAgICAgICAg cHJlc2VudCA9PiAxIH0pOworCitteSBAd2FsZmlsZXNfd2l0aF9iYWNrdXAgPSAoCisJeyBuYW1l ID0+ICcwMDAwMDAwMTAwMDAwMDM3MDAwMDAwMEQnLCAgICAgICAgICAgICAgICAgcHJlc2VudCA9 PiAwIH0sCisJeyBuYW1lID0+ICcwMDAwMDAwMTAwMDAwMDM3MDAwMDAwMEQuMDAwMDAwMjguYmFj a3VwJywgcHJlc2VudCA9PiAwIH0sCisJeyBuYW1lID0+ICcwMDAwMDAwMTAwMDAwMDM3MDAwMDAw MEUnLCAgICAgICAgICAgICAgICAgcHJlc2VudCA9PiAxIH0sCisJeyBuYW1lID0+ICcwMDAwMDAw MTAwMDAwMDM3MDAwMDAwMEYucGFydGlhbCcsICAgICAgICAgcHJlc2VudCA9PiAxIH0sCisJeyBu YW1lID0+ICd1bnJlbGF0ZWRfZmlsZScsICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlc2Vu dCA9PiAxIH0pOwogCiBzdWIgY3JlYXRlX2ZpbGVzCiB7Ci0JZm9yZWFjaCBteSAkZm4gKEB3YWxm aWxlcywgJ3VucmVsYXRlZF9maWxlJykKKwlmb3JlYWNoIG15ICRmbiAoQF8pCiAJewogCQlvcGVu IG15ICRmaWxlLCAnPicsICIkdGVtcGRpci8kZm4iOwogCQlwcmludCAkZmlsZSAnQ09OVEVOVCc7 CkBAIC0yNyw3ICszNywxOCBAQCBzdWIgY3JlYXRlX2ZpbGVzCiAJcmV0dXJuOwogfQogCi1jcmVh dGVfZmlsZXMoKTsKK3N1YiBnZXRfd2FsZmlsZXMKK3sKKwlteSBAd2FsZmlsZXM7CisKKwlmb3Ig bXkgJHdhbHBhaXIgKEBfKQorCXsKKwkJcHVzaCBAd2FsZmlsZXMsICR3YWxwYWlyLT57bmFtZX07 CisJfQorCXJldHVybiBAd2FsZmlsZXM7Cit9CisKK2NyZWF0ZV9maWxlcyhnZXRfd2FsZmlsZXMo QHdhbGZpbGVzX3dpdGhfZ3opKTsKIAogY29tbWFuZF9mYWlsc19saWtlKAogCVsncGdfYXJjaGl2 ZWNsZWFudXAnXSwKQEAgLTU5LDE0ICs4MCwxNCBAQCBjb21tYW5kX2ZhaWxzX2xpa2UoCiAJbXkg JHN0ZGVycjsKIAlteSAkcmVzdWx0ID0KIAkgIElQQzo6UnVuOjpydW4gWyAncGdfYXJjaGl2ZWNs ZWFudXAnLCAnLWQnLCAnLW4nLCAkdGVtcGRpciwKLQkJJHdhbGZpbGVzWzJdIF0sCisJCSR3YWxm aWxlc193aXRoX2d6WzJdLT57bmFtZX0gXSwKIAkgICcyPicsIFwkc3RkZXJyOwogCW9rKCRyZXN1 bHQsICJwZ19hcmNoaXZlY2xlYW51cCBkcnkgcnVuOiBleGl0IGNvZGUgMCIpOwogCWxpa2UoCiAJ CSRzdGRlcnIsCi0JCXFyLyR3YWxmaWxlc1sxXS4qd291bGQgYmUgcmVtb3ZlZC8sCisJCXFyLyR3 YWxmaWxlc193aXRoX2d6WzFdLT57bmFtZX0uKndvdWxkIGJlIHJlbW92ZWQvLAogCQkicGdfYXJj aGl2ZWNsZWFudXAgZHJ5IHJ1bjogbWF0Y2hlcyIpOwotCWZvcmVhY2ggbXkgJGZuIChAd2FsZmls ZXMpCisJZm9yZWFjaCBteSAkZm4gKGdldF93YWxmaWxlcyhAd2FsZmlsZXNfd2l0aF9neikpCiAJ ewogCQlvaygtZiAiJHRlbXBkaXIvJGZuIiwgIiRmbiBub3QgcmVtb3ZlZCIpOwogCX0KQEAgLTc2 LDMyICs5Nyw0MCBAQCBzdWIgcnVuX2NoZWNrCiB7CiAJbG9jYWwgJFRlc3Q6OkJ1aWxkZXI6Okxl dmVsID0gJFRlc3Q6OkJ1aWxkZXI6OkxldmVsICsgMTsKIAotCW15ICgkc3VmZml4LCAkdGVzdF9u YW1lKSA9IEBfOworCW15ICgkdGVzdGRhdGEsICRvbGRlc3RrZXB0d2FsZmlsZSwgJHRlc3RfbmFt ZSwgQG9wdGlvbnMpID0gQF87CiAKLQljcmVhdGVfZmlsZXMoKTsKKwljcmVhdGVfZmlsZXMoZ2V0 X3dhbGZpbGVzKEAkdGVzdGRhdGEpKTsKIAogCWNvbW1hbmRfb2soCiAJCVsKLQkJCSdwZ19hcmNo aXZlY2xlYW51cCcsICcteCcsICcuZ3onLCAkdGVtcGRpciwKLQkJCSR3YWxmaWxlc1syXSAuICRz dWZmaXgKKwkJCSdwZ19hcmNoaXZlY2xlYW51cCcsIEBvcHRpb25zLCAkdGVtcGRpciwKKwkJCSRv bGRlc3RrZXB0d2FsZmlsZQogCQldLAogCQkiJHRlc3RfbmFtZTogcnVucyIpOwogCi0Jb2soIS1m ICIkdGVtcGRpci8kd2FsZmlsZXNbMF0iLAotCQkiJHRlc3RfbmFtZTogZmlyc3Qgb2xkZXIgV0FM IGZpbGUgd2FzIGNsZWFuZWQgdXAiKTsKLQlvayghLWYgIiR0ZW1wZGlyLyR3YWxmaWxlc1sxXSIs Ci0JCSIkdGVzdF9uYW1lOiBzZWNvbmQgb2xkZXIgV0FMIGZpbGUgd2FzIGNsZWFuZWQgdXAiKTsK LQlvaygtZiAiJHRlbXBkaXIvJHdhbGZpbGVzWzJdIiwKLQkJIiR0ZXN0X25hbWU6IHJlc3RhcnRm aWxlIHdhcyBub3QgY2xlYW5lZCB1cCIpOwotCW9rKC1mICIkdGVtcGRpci8kd2FsZmlsZXNbM10i LAotCQkiJHRlc3RfbmFtZTogbmV3ZXIgV0FMIGZpbGUgd2FzIG5vdCBjbGVhbmVkIHVwIik7Ci0J b2soLWYgIiR0ZW1wZGlyL3VucmVsYXRlZF9maWxlIiwKLQkJIiR0ZXN0X25hbWU6IHVucmVsYXRl ZCBmaWxlIHdhcyBub3QgY2xlYW5lZCB1cCIpOworCWZvciBteSAkd2FscGFpciAoQCR0ZXN0ZGF0 YSkKKwl7CisJCWlmICgkd2FscGFpci0+e3ByZXNlbnR9KQorCQl7CisJCQlvaygtZiAiJHRlbXBk aXIvJHdhbHBhaXItPntuYW1lfSIsCisJCQkJIiR0ZXN0X25hbWU6JHdhbHBhaXItPntuYW1lfSB3 YXMgbm90IGNsZWFuZWQgdXAiKTsKKwkJfQorCQllbHNlCisJCXsKKwkJCW9rKCEtZiAiJHRlbXBk aXIvJHdhbHBhaXItPntuYW1lfSIsCisJCQkJIiR0ZXN0X25hbWU6JHdhbHBhaXItPntuYW1lfSB3 YXMgY2xlYW5lZCB1cCIpOworCQl9CisJfQogCXJldHVybjsKIH0KIAotcnVuX2NoZWNrKCcnLCAn cGdfYXJjaGl2ZWNsZWFudXAnKTsKLXJ1bl9jaGVjaygnLnBhcnRpYWwnLCAncGdfYXJjaGl2ZWNs ZWFudXAgd2l0aCAucGFydGlhbCBmaWxlJyk7Ci1ydW5fY2hlY2soJy4wMDAwMDAyMC5iYWNrdXAn LCAncGdfYXJjaGl2ZWNsZWFudXAgd2l0aCAuYmFja3VwIGZpbGUnKTsKK3J1bl9jaGVjayhcQHdh bGZpbGVzX3dpdGhfZ3osICcwMDAwMDAwMTAwMDAwMDM3MDAwMDAwMEUnLAorCSdwZ19hcmNoaXZl Y2xlYW51cCcsICcteC5neicpOworcnVuX2NoZWNrKFxAd2FsZmlsZXNfd2l0aF9neiwgJzAwMDAw MDAxMDAwMDAwMzcwMDAwMDAwRS5wYXJ0aWFsJywKKwkncGdfYXJjaGl2ZWNsZWFudXAgd2l0aCAu cGFydGlhbCBmaWxlJywgJy14Lmd6Jyk7CitydW5fY2hlY2soXEB3YWxmaWxlc193aXRoX2d6LCAn MDAwMDAwMDEwMDAwMDAzNzAwMDAwMDBFLjAwMDAwMDIwLmJhY2t1cCcsCisJJ3BnX2FyY2hpdmVj bGVhbnVwIHdpdGggLmJhY2t1cCBmaWxlJywgJy14Lmd6Jyk7CitydW5fY2hlY2soXEB3YWxmaWxl c193aXRoX2JhY2t1cCwgJzAwMDAwMDAxMDAwMDAwMzcwMDAwMDAwRScsCisJJ3BnX2FyY2hpdmVj bGVhbnVwIHdpdGggLS1jbGVhbi1iYWNrdXAtaGlzdG9yeScsICctYicpOwogCiBkb25lX3Rlc3Rp bmcoKTsKLS0gCjIuMzkuMgoK --=_b0f962ec349b2d1229be60bd4cbe5616--