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 1oiXnh-0000ts-UN for pgsql-hackers@arkaria.postgresql.org; Wed, 12 Oct 2022 09:13:18 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oiXnf-00057t-PZ for pgsql-hackers@arkaria.postgresql.org; Wed, 12 Oct 2022 09:13:15 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oiXnf-00057S-7a for pgsql-hackers@lists.postgresql.org; Wed, 12 Oct 2022 09:13:15 +0000 Received: from oss.nttdata.com ([49.212.34.109]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oiXnc-0000xT-25 for pgsql-hackers@lists.postgresql.org; Wed, 12 Oct 2022 09:13:14 +0000 Received: from oss.nttdata.com (localhost [127.0.0.1]) by oss.nttdata.com (Postfix) with ESMTPA id F03F1609DE; Wed, 12 Oct 2022 18:13:07 +0900 (JST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.7 at oss.nttdata.com MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_5f5ccd1ded27039ced0f20891560ebb5" Content-Transfer-Encoding: 7bit Date: Wed, 12 Oct 2022 18:13:07 +0900 From: bt22nakamorit To: Fujii Masao Cc: Kyotaro Horiguchi , pgsql-hackers@lists.postgresql.org Subject: Re: Make ON_ERROR_STOP stop on shell script failure In-Reply-To: <1de37597cb5050b6d3d76def2826dcd4@oss.nttdata.com> References: <20220916.173035.322733707258561235.horikyota.ntt@gmail.com> <4c61d434cb72b2237b3279797b2a387f@oss.nttdata.com> <8a022f2c8de93ea79116f0b7eb42248a@oss.nttdata.com> <3f489f1f-3f91-8a98-4cf3-bad7ff037dc2@oss.nttdata.com> <1de37597cb5050b6d3d76def2826dcd4@oss.nttdata.com> User-Agent: Roundcube Webmail/1.4.11 Message-ID: <17e7da013164ab7f514e49e5715e6d0a@oss.nttdata.com> X-Sender: bt22nakamorit@oss.nttdata.com List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=_5f5ccd1ded27039ced0f20891560ebb5 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed There was a mistake in the error message for \! so I updated the patch. Best, Tatsuhiro Nakamori --=_5f5ccd1ded27039ced0f20891560ebb5 Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=stop_error4.patch Content-Disposition: attachment; filename=stop_error4.patch; size=9638 ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvcHNxbC1yZWYuc2dtbCBiL2RvYy9zcmMvc2dt bC9yZWYvcHNxbC1yZWYuc2dtbAppbmRleCA5NDk0ZjI4MDYzLi44MmZlYmYwYWNlIDEwMDY0NAot LS0gYS9kb2Mvc3JjL3NnbWwvcmVmL3BzcWwtcmVmLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3Jl Zi9wc3FsLXJlZi5zZ21sCkBAIC00MTQzLDcgKzQxNDMsMTIgQEAgYmFyCiAgICAgICAgIDxwYXJh PgogICAgICAgICBCeSBkZWZhdWx0LCBjb21tYW5kIHByb2Nlc3NpbmcgY29udGludWVzIGFmdGVy IGFuIGVycm9yLiAgV2hlbiB0aGlzCiAgICAgICAgIHZhcmlhYmxlIGlzIHNldCB0byA8bGl0ZXJh bD5vbjwvbGl0ZXJhbD4sIHByb2Nlc3Npbmcgd2lsbCBpbnN0ZWFkIHN0b3AKLSAgICAgICAgaW1t ZWRpYXRlbHkuICBJbiBpbnRlcmFjdGl2ZSBtb2RlLAorICAgICAgICBpbW1lZGlhdGVseSB1cG9u IGFuIGVycm9yIGluIFNRTCBxdWVyeS4gV2hlbiB0aGlzIHZhcmlhYmxlIGlzIHNldCB0bworICAg ICAgICA8bGl0ZXJhbD5zaGVsbDwvbGl0ZXJhbD4sIGEgbm9uemVybyBleGl0IHN0YXR1cyBvZiBh IHNoZWxsIGNvbW1hbmQsCisgICAgICAgIHdoaWNoIGluZGljYXRlcyBmYWlsdXJlLCBpcyBpbnRl cnByZXRlZCBhcyBhbiBlcnJvciB0aGF0IHN0b3BzIHRoZSBwcm9jZXNzaW5nLgorICAgICAgICBX aGVuIHRoaXMgdmFyaWFibGUgaXMgc2V0IHRvIDxsaXRlcmFsPmFsbDwvbGl0ZXJhbD4sIGVycm9y cyBmcm9tIGJvdGgKKyAgICAgICAgU1FMIHF1ZXJpZXMgYW5kIHNoZWxsIGNvbW1hbmRzIGNhbiBz dG9wIHRoZSBwcm9jZXNzaW5nLgorICAgICAgICBJbiBpbnRlcmFjdGl2ZSBtb2RlLAogICAgICAg ICA8YXBwbGljYXRpb24+cHNxbDwvYXBwbGljYXRpb24+IHdpbGwgcmV0dXJuIHRvIHRoZSBjb21t YW5kIHByb21wdDsKICAgICAgICAgb3RoZXJ3aXNlLCA8YXBwbGljYXRpb24+cHNxbDwvYXBwbGlj YXRpb24+IHdpbGwgZXhpdCwgcmV0dXJuaW5nCiAgICAgICAgIGVycm9yIGNvZGUgMyB0byBkaXN0 aW5ndWlzaCB0aGlzIGNhc2UgZnJvbSBmYXRhbCBlcnJvcgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9w c3FsL2NvbW1hbmQuYyBiL3NyYy9iaW4vcHNxbC9jb21tYW5kLmMKaW5kZXggYWI2MTNkZDQ5ZS4u MmE0MDg2ODkzZSAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wc3FsL2NvbW1hbmQuYworKysgYi9zcmMv YmluL3BzcWwvY29tbWFuZC5jCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiZGVzY3JpYmUu aCIKICNpbmNsdWRlICJmZV91dGlscy9jYW5jZWwuaCIKICNpbmNsdWRlICJmZV91dGlscy9wcmlu dC5oIgorI2luY2x1ZGUgImZlX3V0aWxzL3BzcWxzY2FuX2ludC5oIgogI2luY2x1ZGUgImZlX3V0 aWxzL3N0cmluZ191dGlscy5oIgogI2luY2x1ZGUgImhlbHAuaCIKICNpbmNsdWRlICJpbnB1dC5o IgpAQCAtMjM1NSw5ICsyMzU2LDEzIEBAIGV4ZWNfY29tbWFuZF9zZXQoUHNxbFNjYW5TdGF0ZSBz Y2FuX3N0YXRlLCBib29sIGFjdGl2ZV9icmFuY2gpCiAJCQkgKi8KIAkJCWNoYXIJICAgKm5ld3Zh bDsKIAkJCWNoYXIJICAgKm9wdDsKKwkJCVBRRXhwQnVmZmVyIG91dHB1dF9idWYgPSBzY2FuX3N0 YXRlLT5vdXRwdXRfYnVmOwogCiAJCQlvcHQgPSBwc3FsX3NjYW5fc2xhc2hfb3B0aW9uKHNjYW5f c3RhdGUsCiAJCQkJCQkJCQkJIE9UX05PUk1BTCwgTlVMTCwgZmFsc2UpOworCQkJaWYgKG91dHB1 dF9idWYtPmxlbiA+PSBvdXRwdXRfYnVmLT5tYXhsZW4KKwkJCQkmJiAocHNldC5vbl9lcnJvcl9z dG9wID09IFBTUUxfRVJST1JfU1RPUF9TSEVMTCB8fCBwc2V0Lm9uX2Vycm9yX3N0b3AgPT0gUFNR TF9FUlJPUl9TVE9QX0FMTCkpCisJCQkJc3VjY2VzcyA9IGZhbHNlOwogCQkJbmV3dmFsID0gcGdf c3RyZHVwKG9wdCA/IG9wdCA6ICIiKTsKIAkJCWZyZWUob3B0KTsKIApAQCAtMjY5Myw4ICsyNjk4 LDI1IEBAIGV4ZWNfY29tbWFuZF93cml0ZShQc3FsU2NhblN0YXRlIHNjYW5fc3RhdGUsIGJvb2wg YWN0aXZlX2JyYW5jaCwKIAkJCWVsc2UgaWYgKHByZXZpb3VzX2J1ZiAmJiBwcmV2aW91c19idWYt PmxlbiA+IDApCiAJCQkJZnByaW50ZihmZCwgIiVzXG4iLCBwcmV2aW91c19idWYtPmRhdGEpOwog Ci0JCQlpZiAoaXNfcGlwZSkKKwkJCWlmIChpc19waXBlKSB7CiAJCQkJcmVzdWx0ID0gcGNsb3Nl KGZkKTsKKworCQkJCWlmIChyZXN1bHQgIT0gMCkKKwkJCQl7CisJCQkJCWlmIChyZXN1bHQgPCAw KQorCQkJCQkJcGdfbG9nX2Vycm9yKCJjb3VsZCBub3QgY2xvc2UgcGlwZSB0byBleHRlcm5hbCBj b21tYW5kOiAlbSIpOworCQkJCQllbHNlCisJCQkJCXsKKwkJCQkJCWNoYXIgKnJlYXNvbiA9IHdh aXRfcmVzdWx0X3RvX3N0cihyZXN1bHQpOworCisJCQkJCQlwZ19sb2dfZXJyb3IoIiVzOiAlcyIs IGZuYW1lICsgMSwKKwkJCQkJCQkJCXJlYXNvbiA/IHJlYXNvbiA6ICIiKTsKKwkJCQkJCWZyZWUo cmVhc29uKTsKKwkJCQkJfQorCQkJCX0KKwkJCQlpZiAocHNldC5vbl9lcnJvcl9zdG9wID09IFBT UUxfRVJST1JfU1RPUF9TSEVMTCB8fCBwc2V0Lm9uX2Vycm9yX3N0b3AgPT0gUFNRTF9FUlJPUl9T VE9QX0FMTCkKKwkJCQkJc3RhdHVzID0gUFNRTF9DTURfRVJST1I7CisJCQl9CiAJCQllbHNlCiAJ CQkJcmVzdWx0ID0gZmNsb3NlKGZkKTsKIApAQCAtNDk4NCwxMCArNTAwNiwxOSBAQCBkb19zaGVs bChjb25zdCBjaGFyICpjb21tYW5kKQogCWVsc2UKIAkJcmVzdWx0ID0gc3lzdGVtKGNvbW1hbmQp OwogCi0JaWYgKHJlc3VsdCA9PSAxMjcgfHwgcmVzdWx0ID09IC0xKQorCWlmIChyZXN1bHQgIT0g MCkKIAl7Ci0JCXBnX2xvZ19lcnJvcigiXFwhOiBmYWlsZWQiKTsKLQkJcmV0dXJuIGZhbHNlOwor CQlpZiAocmVzdWx0IDwgMCkKKwkJCXBnX2xvZ19lcnJvcigiY291bGQgbm90IGV4ZWN1dGUgY29t bWFuZDogJW0iKTsKKwkJZWxzZQorCQl7CisJCQljaGFyICpyZWFzb24gPSB3YWl0X3Jlc3VsdF90 b19zdHIocmVzdWx0KTsKKworCQkJcGdfbG9nX2Vycm9yKCIlczogJXMiLCBjb21tYW5kLCByZWFz b24gPyByZWFzb24gOiAiIik7CisJCQlmcmVlKHJlYXNvbik7CisJCX0KKwkJaWYgKHBzZXQub25f ZXJyb3Jfc3RvcCA9PSBQU1FMX0VSUk9SX1NUT1BfU0hFTEwgfHwgcHNldC5vbl9lcnJvcl9zdG9w ID09IFBTUUxfRVJST1JfU1RPUF9BTEwpCisJCQlyZXR1cm4gZmFsc2U7CiAJfQogCXJldHVybiB0 cnVlOwogfQpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wc3FsL2NvbW1vbi5jIGIvc3JjL2Jpbi9wc3Fs L2NvbW1vbi5jCmluZGV4IDRmMzEwYTgwMTkuLjk2NmNkMzRkMjMgMTAwNjQ0Ci0tLSBhL3NyYy9i aW4vcHNxbC9jb21tb24uYworKysgYi9zcmMvYmluL3BzcWwvY29tbW9uLmMKQEAgLTk0LDYgKzk0 LDcgQEAgc2V0UUZvdXQoY29uc3QgY2hhciAqZm5hbWUpCiB7CiAJRklMRQkgICAqZm91dDsKIAli b29sCQlpc19waXBlOworCWJvb2wJCXN0YXR1cyA9IHRydWU7CiAKIAkvKiBGaXJzdCBtYWtlIHN1 cmUgd2UgY2FuIG9wZW4gdGhlIG5ldyBvdXRwdXQgZmlsZS9waXBlICovCiAJaWYgKCFvcGVuUXVl cnlPdXRwdXRGaWxlKGZuYW1lLCAmZm91dCwgJmlzX3BpcGUpKQpAQCAtMTAzLDcgKzEwNCwyNCBA QCBzZXRRRm91dChjb25zdCBjaGFyICpmbmFtZSkKIAlpZiAocHNldC5xdWVyeUZvdXQgJiYgcHNl dC5xdWVyeUZvdXQgIT0gc3Rkb3V0ICYmIHBzZXQucXVlcnlGb3V0ICE9IHN0ZGVycikKIAl7CiAJ CWlmIChwc2V0LnF1ZXJ5Rm91dFBpcGUpCi0JCQlwY2xvc2UocHNldC5xdWVyeUZvdXQpOworCQl7 CisJCQlpbnQgcGNsb3NlX3JjID0gcGNsb3NlKHBzZXQucXVlcnlGb3V0KTsKKwkJCWlmIChwY2xv c2VfcmMgIT0gMCkKKwkJCXsKKwkJCQlpZiAocGNsb3NlX3JjIDwgMCkKKwkJCQkJcGdfbG9nX2Vy cm9yKCJjb3VsZCBub3QgY2xvc2UgcGlwZSB0byBleHRlcm5hbCBjb21tYW5kOiAlbSIpOworCQkJ CWVsc2UKKwkJCQl7CisJCQkJCWNoYXIgKnJlYXNvbiA9IHdhaXRfcmVzdWx0X3RvX3N0cihwY2xv c2VfcmMpOworCisJCQkJCXBnX2xvZ19lcnJvcigiY29tbWFuZCBmYWlsdXJlOiAlcyIsCisJCQkJ CQkJCSByZWFzb24gPyByZWFzb24gOiAiIik7CisJCQkJCWZyZWUocmVhc29uKTsKKwkJCQl9CisJ CQkJaWYgKChwc2V0Lm9uX2Vycm9yX3N0b3AgPT0gUFNRTF9FUlJPUl9TVE9QX1NIRUxMIHx8IHBz ZXQub25fZXJyb3Jfc3RvcCA9PSBQU1FMX0VSUk9SX1NUT1BfQUxMKSkKKwkJCQkJc3RhdHVzID0g ZmFsc2U7CisJCQl9CisJCX0KIAkJZWxzZQogCQkJZmNsb3NlKHBzZXQucXVlcnlGb3V0KTsKIAl9 CkBAIC0xMTUsNyArMTMzLDcgQEAgc2V0UUZvdXQoY29uc3QgY2hhciAqZm5hbWUpCiAJc2V0X3Np Z3BpcGVfdHJhcF9zdGF0ZShpc19waXBlKTsKIAlyZXN0b3JlX3NpZ3BpcGVfdHJhcCgpOwogCi0J cmV0dXJuIHRydWU7CisJcmV0dXJuIHN0YXR1czsKIH0KIAogCkBAIC0xMzczLDcgKzEzOTEsNyBA QCBEZXNjcmliZVF1ZXJ5KGNvbnN0IGNoYXIgKnF1ZXJ5LCBkb3VibGUgKmVsYXBzZWRfbXNlYykK ICAqIEZvciBvdGhlciBjb21tYW5kcywgdGhlIHJlc3VsdHMgYXJlIHByb2Nlc3NlZCBub3JtYWxs eSwgZGVwZW5kaW5nIG9uIHRoZWlyCiAgKiBzdGF0dXMuCiAgKgotICogUmV0dXJucyAxIG9uIGNv bXBsZXRlIHN1Y2Nlc3MsIDAgb24gaW50ZXJydXB0IGFuZCAtMSBvciBlcnJvcnMuICBQb3NzaWJs ZQorICogUmV0dXJucyAxIG9uIGNvbXBsZXRlIHN1Y2Nlc3MsIDAgb24gaW50ZXJydXB0IGFuZCAt MSBvbiBlcnJvcnMuICBQb3NzaWJsZQogICogZmFpbHVyZSBtb2RlcyBpbmNsdWRlIHB1cmVseSBj bGllbnQtc2lkZSBwcm9ibGVtczsgY2hlY2sgdGhlIHRyYW5zYWN0aW9uCiAgKiBzdGF0dXMgZm9y IHRoZSBzZXJ2ZXItc2lkZSBvcGluaW9uLgogICoKQEAgLTE2MzUsNyArMTY1MywyMiBAQCBFeGVj UXVlcnlBbmRQcm9jZXNzUmVzdWx0cyhjb25zdCBjaGFyICpxdWVyeSwKIAl7CiAJCWlmIChnZmls ZV9pc19waXBlKQogCQl7Ci0JCQlwY2xvc2UoZ2ZpbGVfZm91dCk7CisJCQlpbnQgcGNsb3NlX3Jj ID0gcGNsb3NlKGdmaWxlX2ZvdXQpOworCQkJaWYgKHBjbG9zZV9yYyAhPSAwKQorCQkJeworCQkJ CWlmIChwY2xvc2VfcmMgPCAwKQorCQkJCQlwZ19sb2dfZXJyb3IoImNvdWxkIG5vdCBjbG9zZSBw aXBlIHRvIGV4dGVybmFsIGNvbW1hbmQ6ICVtIik7CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJY2hh ciAqcmVhc29uID0gd2FpdF9yZXN1bHRfdG9fc3RyKHBjbG9zZV9yYyk7CisKKwkJCQkJcGdfbG9n X2Vycm9yKCIlczogJXMiLCBwc2V0LmdmbmFtZSArIDEsCisJCQkJCQkJCSByZWFzb24gPyByZWFz b24gOiAiIik7CisJCQkJCWZyZWUocmVhc29uKTsKKwkJCQl9CisJCQkJaWYgKHBzZXQub25fZXJy b3Jfc3RvcCA9PSBQU1FMX0VSUk9SX1NUT1BfU0hFTEwgfHwgcHNldC5vbl9lcnJvcl9zdG9wID09 IFBTUUxfRVJST1JfU1RPUF9BTEwpCisJCQkJCXN1Y2Nlc3MgPSBmYWxzZTsKKwkJCX0KIAkJCXJl c3RvcmVfc2lncGlwZV90cmFwKCk7CiAJCX0KIAkJZWxzZQpAQCAtMTg1MSw3ICsxODg0LDIyIEBA IEV4ZWNRdWVyeVVzaW5nQ3Vyc29yKGNvbnN0IGNoYXIgKnF1ZXJ5LCBkb3VibGUgKmVsYXBzZWRf bXNlYykKIAkJLyogY2xvc2UgXGcgYXJndW1lbnQgZmlsZS9waXBlICovCiAJCWlmIChpc19waXBl KQogCQl7Ci0JCQlwY2xvc2UoZm91dCk7CisJCQlpbnQgcGNsb3NlX3JjID0gcGNsb3NlKGZvdXQp OworCQkJaWYgKHBjbG9zZV9yYyAhPSAwKQorCQkJeworCQkJCWlmIChwY2xvc2VfcmMgPCAwKQor CQkJCQlwZ19sb2dfZXJyb3IoImNvdWxkIG5vdCBjbG9zZSBwaXBlIHRvIGV4dGVybmFsIGNvbW1h bmQ6ICVtIik7CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJY2hhciAqcmVhc29uID0gd2FpdF9yZXN1 bHRfdG9fc3RyKHBjbG9zZV9yYyk7CisKKwkJCQkJcGdfbG9nX2Vycm9yKCIlczogJXMiLCBwc2V0 LmdmbmFtZSArIDEsCisJCQkJCQkJCSByZWFzb24gPyByZWFzb24gOiAiIik7CisJCQkJCWZyZWUo cmVhc29uKTsKKwkJCQl9CisJCQkJaWYgKHBzZXQub25fZXJyb3Jfc3RvcCA9PSBQU1FMX0VSUk9S X1NUT1BfU0hFTEwgfHwgcHNldC5vbl9lcnJvcl9zdG9wID09IFBTUUxfRVJST1JfU1RPUF9BTEwp CisJCQkJCU9LID0gZmFsc2U7CisJCQl9CiAJCQlyZXN0b3JlX3NpZ3BpcGVfdHJhcCgpOwogCQl9 CiAJCWVsc2UKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcHNxbC9wc3Fsc2NhbnNsYXNoLmwgYi9zcmMv YmluL3BzcWwvcHNxbHNjYW5zbGFzaC5sCmluZGV4IGE0NjdiNzIxNDQuLjhlNWY1YjUwMTAgMTAw NjQ0Ci0tLSBhL3NyYy9iaW4vcHNxbC9wc3Fsc2NhbnNsYXNoLmwKKysrIGIvc3JjL2Jpbi9wc3Fs L3BzcWxzY2Fuc2xhc2gubApAQCAtNTUsNiArNTUsMTAgQEAgc3RhdGljIGludAliYWNrdGlja19z dGFydF9vZmZzZXQ7CiAjZGVmaW5lIExFWFJFU19PSwkJCTEJLyogT0sgY29tcGxldGlvbiBvZiBi YWNrc2xhc2ggYXJndW1lbnQgKi8KIAogCisvKiBjb21tYW5kIGV4ZWN1dGlvbiBpbiBldmFsdWF0 ZV9iYWNrdGljaygpIHJlc3VsdHMgaW4gZXJyb3IqLworI2RlZmluZSBDTURfRVJSCQkJCS0xCisK Kwogc3RhdGljIHZvaWQgZXZhbHVhdGVfYmFja3RpY2soUHNxbFNjYW5TdGF0ZSBzdGF0ZSk7CiAK ICNkZWZpbmUgRUNITyBwc3Fsc2Nhbl9lbWl0KGN1cl9zdGF0ZSwgeXl0ZXh0LCB5eWxlbmcpCkBA IC04MDAsMTAgKzgwNCwyMyBAQCBldmFsdWF0ZV9iYWNrdGljayhQc3FsU2NhblN0YXRlIHN0YXRl KQogCQl9IHdoaWxlICghZmVvZihmZCkpOwogCX0KIAotCWlmIChmZCAmJiBwY2xvc2UoZmQpID09 IC0xKQorCWlmIChmZCkKIAl7Ci0JCXBnX2xvZ19lcnJvcigiJXM6ICVtIiwgY21kKTsKLQkJZXJy b3IgPSB0cnVlOworCQlpbnQgcGNsb3NlX3JjID0gcGNsb3NlKGZkKTsKKwkJaWYgKHBjbG9zZV9y YyAhPSAwKQorCQl7CisJCQlpZiAocGNsb3NlX3JjIDwgMCkKKwkJCQlwZ19sb2dfZXJyb3IoIiVz OiAlbSIsIGNtZCk7CisJCQllbHNlCisJCQl7CisJCQkJY2hhcgkgICAqcmVhc29uID0gd2FpdF9y ZXN1bHRfdG9fc3RyKHBjbG9zZV9yYyk7CisKKwkJCQlwZ19sb2dfZXJyb3IoIiVzOiAlcyIsIGNt ZCwKKwkJCQkJCQkJcmVhc29uID8gcmVhc29uIDogIiIpOworCQkJCWZyZWUocmVhc29uKTsKKwkJ CX0KKwkJCWVycm9yID0gdHJ1ZTsKKwkJfQogCX0KIAogCWlmIChQUUV4cEJ1ZmZlckRhdGFCcm9r ZW4oY21kX291dHB1dCkpCkBAIC04MjUsNiArODQyLDEyIEBAIGV2YWx1YXRlX2JhY2t0aWNrKFBz cWxTY2FuU3RhdGUgc3RhdGUpCiAJCQljbWRfb3V0cHV0Lmxlbi0tOwogCQlhcHBlbmRCaW5hcnlQ UUV4cEJ1ZmZlcihvdXRwdXRfYnVmLCBjbWRfb3V0cHV0LmRhdGEsIGNtZF9vdXRwdXQubGVuKTsK IAl9CisJLyogSWYgZXJyb3IsIHNldCBsZW4gdG8gYSB2YWx1ZSBncmVhdGVyIHRoYW4gb3IgZXF1 YWwKKwkgKiB0byBtYXhsZW4gdG8gaW5kaWNhdGUgZXJyb3IgaW4gY29tbWFuZCBleGVjdXRpb24u CisJICogVGhpcyBjYW4gaGVscCB3aXRoIE9OX0VSUk9SX1NUT1AuCisJICovCisJZWxzZQorCQlv dXRwdXRfYnVmLT5sZW4gPSBDTURfRVJSOwogCiAJdGVybVBRRXhwQnVmZmVyKCZjbWRfb3V0cHV0 KTsKIH0KZGlmZiAtLWdpdCBhL3NyYy9iaW4vcHNxbC9zZXR0aW5ncy5oIGIvc3JjL2Jpbi9wc3Fs L3NldHRpbmdzLmgKaW5kZXggMjM5OWNmZmEzZi4uNTRlN2FlYmRkYiAxMDA2NDQKLS0tIGEvc3Jj L2Jpbi9wc3FsL3NldHRpbmdzLmgKKysrIGIvc3JjL2Jpbi9wc3FsL3NldHRpbmdzLmgKQEAgLTU0 LDYgKzU0LDE0IEBAIHR5cGVkZWYgZW51bQogCVBTUUxfRVJST1JfUk9MTEJBQ0tfT04KIH0gUFNR TF9FUlJPUl9ST0xMQkFDSzsKIAordHlwZWRlZiBlbnVtCit7CisJUFNRTF9FUlJPUl9TVE9QX09G RiwKKwlQU1FMX0VSUk9SX1NUT1BfT04sCisJUFNRTF9FUlJPUl9TVE9QX1NIRUxMLAorCVBTUUxf RVJST1JfU1RPUF9BTEwKK30gUFNRTF9FUlJPUl9TVE9QOworCiB0eXBlZGVmIGVudW0KIHsKIAlQ U1FMX0NPTVBfQ0FTRV9QUkVTRVJWRV9VUFBFUiwKQEAgLTEzMCw3ICsxMzgsNiBAQCB0eXBlZGVm IHN0cnVjdCBfcHNxbFNldHRpbmdzCiAJICogZnVuY3Rpb25zLgogCSAqLwogCWJvb2wJCWF1dG9j b21taXQ7Ci0JYm9vbAkJb25fZXJyb3Jfc3RvcDsKIAlib29sCQlxdWlldDsKIAlib29sCQlzaW5n bGVsaW5lOwogCWJvb2wJCXNpbmdsZXN0ZXA7CkBAIC0xNDIsNiArMTQ5LDcgQEAgdHlwZWRlZiBz dHJ1Y3QgX3BzcWxTZXR0aW5ncwogCVBTUUxfRUNITwllY2hvOwogCVBTUUxfRUNIT19ISURERU4g ZWNob19oaWRkZW47CiAJUFNRTF9FUlJPUl9ST0xMQkFDSyBvbl9lcnJvcl9yb2xsYmFjazsKKwlQ U1FMX0VSUk9SX1NUT1AJCW9uX2Vycm9yX3N0b3A7CiAJUFNRTF9DT01QX0NBU0UgY29tcF9jYXNl OwogCUhpc3RDb250cm9sIGhpc3Rjb250cm9sOwogCWNvbnN0IGNoYXIgKnByb21wdDE7CmRpZmYg LS1naXQgYS9zcmMvYmluL3BzcWwvc3RhcnR1cC5jIGIvc3JjL2Jpbi9wc3FsL3N0YXJ0dXAuYwpp bmRleCBmNWI5ZTI2OGYyLi5jYjNmYTg5NDAwIDEwMDY0NAotLS0gYS9zcmMvYmluL3BzcWwvc3Rh cnR1cC5jCisrKyBiL3NyYy9iaW4vcHNxbC9zdGFydHVwLmMKQEAgLTg3NywxMiArODc3LDYgQEAg YXV0b2NvbW1pdF9ob29rKGNvbnN0IGNoYXIgKm5ld3ZhbCkKIAlyZXR1cm4gUGFyc2VWYXJpYWJs ZUJvb2wobmV3dmFsLCAiQVVUT0NPTU1JVCIsICZwc2V0LmF1dG9jb21taXQpOwogfQogCi1zdGF0 aWMgYm9vbAotb25fZXJyb3Jfc3RvcF9ob29rKGNvbnN0IGNoYXIgKm5ld3ZhbCkKLXsKLQlyZXR1 cm4gUGFyc2VWYXJpYWJsZUJvb2wobmV3dmFsLCAiT05fRVJST1JfU1RPUCIsICZwc2V0Lm9uX2Vy cm9yX3N0b3ApOwotfQotCiBzdGF0aWMgYm9vbAogcXVpZXRfaG9vayhjb25zdCBjaGFyICpuZXd2 YWwpCiB7CkBAIC0xMDM2LDYgKzEwMzAsMjkgQEAgb25fZXJyb3Jfcm9sbGJhY2tfaG9vayhjb25z dCBjaGFyICpuZXd2YWwpCiAJcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyBib29sCitvbl9lcnJv cl9zdG9wX2hvb2soY29uc3QgY2hhciAqbmV3dmFsKQoreworCUFzc2VydChuZXd2YWwgIT0gTlVM TCk7CQkvKiBlbHNlIHN1YnN0aXR1dGUgaG9vayBtZXNzZWQgdXAgKi8KKwlpZiAocGdfc3RyY2Fz ZWNtcChuZXd2YWwsICJzaGVsbCIpID09IDApCisJCXBzZXQub25fZXJyb3Jfc3RvcCA9IFBTUUxf RVJST1JfU1RPUF9TSEVMTDsKKwllbHNlIGlmIChwZ19zdHJjYXNlY21wKG5ld3ZhbCwgImFsbCIp ID09IDApCisJCXBzZXQub25fZXJyb3Jfc3RvcCA9IFBTUUxfRVJST1JfU1RPUF9BTEw7CisJZWxz ZQorCXsKKwkJYm9vbAkJb25fb2ZmOworCisJCWlmIChQYXJzZVZhcmlhYmxlQm9vbChuZXd2YWws IE5VTEwsICZvbl9vZmYpKQorCQkJcHNldC5vbl9lcnJvcl9zdG9wID0gb25fb2ZmID8gUFNRTF9F UlJPUl9TVE9QX09OIDogUFNRTF9FUlJPUl9TVE9QX09GRjsKKwkJZWxzZQorCQl7CisJCQlQc3Fs VmFyRW51bUVycm9yKCJPTl9FUlJPUl9TVE9QIiwgbmV3dmFsLCAib24sIG9mZiwgc2hlbGwsIGFs bCIpOworCQkJcmV0dXJuIGZhbHNlOworCQl9CisJfQorCXJldHVybiB0cnVlOworfQorCiBzdGF0 aWMgY2hhciAqCiBjb21wX2tleXdvcmRfY2FzZV9zdWJzdGl0dXRlX2hvb2soY2hhciAqbmV3dmFs KQogewo= --=_5f5ccd1ded27039ced0f20891560ebb5--