Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1YikH5-0004PR-Li for pgsql-hackers@arkaria.postgresql.org; Thu, 16 Apr 2015 13:56:11 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.80) (envelope-from ) id 1YikH4-0002i0-RR for pgsql-hackers@arkaria.postgresql.org; Thu, 16 Apr 2015 13:56:10 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1YikH3-0002hs-FI for pgsql-hackers@postgresql.org; Thu, 16 Apr 2015 13:56:09 +0000 Received: from dd2030.kasserver.com ([85.13.128.37]) by magus.postgresql.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.80) (envelope-from ) id 1YikGu-0003WY-U4 for pgsql-hackers@postgresql.org; Thu, 16 Apr 2015 13:56:08 +0000 Received: from [172.26.14.170] (wan3.credativ.com [94.79.138.166]) by dd2030.kasserver.com (Postfix) with ESMTPSA id 671E2E3523 for ; Thu, 16 Apr 2015 15:55:58 +0200 (CEST) Date: Thu, 16 Apr 2015 15:55:55 +0200 From: Bernd Helmle To: pgsql-hackers@postgresql.org Subject: Disabling trust/ident authentication configure option Message-ID: X-Mailer: Mulberry/4.1.0a3 (Mac OS X) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==========C0B0770A3ADDD4BD8254==========" X-Pg-Spam-Score: -1.9 (-) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-hackers Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org --==========C0B0770A3ADDD4BD8254========== Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; size=2282 We have a customer using a patch to harden their PostgreSQL installation (see attached) they would like to contribute. This patch adds the ability to disable "trust" and "ident" authentication at compile time via configure options, thus making it impossible to use these authentication methods for sloppy configuration purposes. This is critical to their software deployment, as stated in their use case description: PostgreSQL is deployed as part of a larger technical solution (e.g. a Telecommunication system) and a field engineer has to install/upgrade this solution. The engineer is a specialist in the Telco domain and has only little knowledge of databases and especially PostgreSQL setup. We now want to provide these kinds of users with pre-hardened packages that make it very hard to accidentally expose their database. For this purpose the patch allows to optionally disable the "trust" and "ident" authentication methods. Especially the "trust" mechanism is very critical as it might actually provide useful functionality for our user. Think of an engineer who has to do a night shift upgrade with a customer breathing down his neck to get the system back online. Circumventing all these authentication configuration issues by just enabling "trust" is very easy and looks well supported and documented. (the documentation states the dangers but there are no *big red flags* or something). After finishing the upgrade the engineer forgets to restore the secure configuration, and a malicious attacker later uses this access method to gain access to the database. Currently the patch adds new configure options --without-trust-auth and --without-ident-auth and makes "peer" authentication default when these options are set. My testing shows that regression tests (which are normally using trust) are still working. This works as far as it goes to Linux and friends, Windows currently is not adressed yet. Maybe its worth to consider making "sspi" the default on this platform instead. There was a discussion some time ago ([1]), but i think the reasoning behind this patch is a little bit different than discussed there. [1] -- Thanks Bernd --==========C0B0770A3ADDD4BD8254========== Content-Type: application/octet-stream; name="disable_trust_ident_configure.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="disable_trust_ident_configure.patch"; size=9812 ZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQpuZXcgZmlsZSBt b2RlIDEwMDc1NQppbmRleCA3YzBiZDBjLi5iZDgwYjQ2CioqKiBhL2NvbmZp Z3VyZQotLS0gYi9jb25maWd1cmUKKioqKioqKioqKioqKioqIHdpdGhfdGNs CioqKiA4MjQsODI5ICoqKioKLS0tIDgyNCw4MzEgLS0tLQogIHdpdGhfdGNs Y29uZmlnCiAgd2l0aF9wZXJsCiAgd2l0aF9weXRob24KKyB3aXRoX3RydXN0 X2F1dGgKKyB3aXRoX2lkZW50X2F1dGgKICB3aXRoX2dzc2FwaQogIHdpdGhf a3JiX3Nydm5hbQogIHdpdGhfcGFtCioqKioqKioqKioqKioqKiBPcHRpb25h bCBQYWNrYWdlczoKKioqIDE1MTEsMTUxNiAqKioqCi0tLSAxNTEzLDE1MjAg LS0tLQogICAgLS13aXRoLXRjbGNvbmZpZz1ESVIgICAgdGNsQ29uZmlnLnNo IGlzIGluIERJUgogICAgLS13aXRoLXBlcmwgICAgICAgICAgICAgYnVpbGQg UGVybCBtb2R1bGVzIChQTC9QZXJsKQogICAgLS13aXRoLXB5dGhvbiAgICAg ICAgICAgYnVpbGQgUHl0aG9uIG1vZHVsZXMgKFBML1B5dGhvbikKKyAgIC0t d2l0aG91dC10cnVzdC1hdXRoICAgIGJ1aWxkIHdpdGggdHJ1c3QgYXV0aGVu dGljYXRpb24gc3VwcG9ydAorICAgLS13aXRob3V0LWlkZW50LWF1dGggICAg YnVpbGQgd2l0aCBpZGVudCBhdXRoZW50aWNhdGlvbiBzdXBwb3J0CiAgICAt LXdpdGgtZ3NzYXBpICAgICAgICAgICBidWlsZCB3aXRoIEdTU0FQSSBzdXBw b3J0CiAgICAtLXdpdGgta3JiLXNydm5hbT1OQU1FICBkZWZhdWx0IHNlcnZp Y2UgcHJpbmNpcGFsIG5hbWUgaW4gS2VyYmVyb3MgKEdTU0FQSSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFtwb3N0Z3Jlc10KKioqKioqKioqKioq KioqICRhc19lY2hvICIkd2l0aF9weXRob24iID4mNjsgfQoqKiogNTQxNCw1 NDE5ICoqKioKLS0tIDU0MTgsNTUwNSAtLS0tCiAgCiAgCiAgIworICMgRW5h YmxlIFRydXN0IGF1dGhlbnRpY2F0aW9uCisgIworIAorIHsgJGFzX2VjaG8g IiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hldGhl ciB0byBidWlsZCB3aXRoIHRydXN0IGF1dGhlbnRpY2F0aW9uIHN1cHBvcnQi ID4mNQorICRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgdG8gYnVpbGQg d2l0aCB0cnVzdCBhdXRoZW50aWNhdGlvbiBzdXBwb3J0Li4uICIgPiY2OyB9 CisgCisgCisgCisgIyBDaGVjayB3aGV0aGVyIC0td2l0aC10cnVzdC1hdXRo IHdhcyBnaXZlbi4KKyBpZiB0ZXN0ICIke3dpdGhfdHJ1c3RfYXV0aCtzZXR9 IiA9IHNldDsgdGhlbiA6CisgICB3aXRodmFsPSR3aXRoX3RydXN0X2F1dGg7 CisgICBjYXNlICR3aXRodmFsIGluCisgICAgIHllcykKKyAKKyAKKyAkYXNf ZWNobyAiI2RlZmluZSBXSVRIX1RSVVNUIDEiID4+Y29uZmRlZnMuaAorIAor IAorICAgICAgIDs7CisgICAgIG5vKQorICAgICAgIDoKKyAgICAgICA7Owor ICAgICAqKQorICAgICAgIGFzX2ZuX2Vycm9yICQ/ICJubyBhcmd1bWVudCBl eHBlY3RlZCBmb3IgLS13aXRoLXRydXN0LWF1dGggb3B0aW9uIiAiJExJTkVO TyIgNQorICAgICAgIDs7CisgICBlc2FjCisgCisgZWxzZQorICAgd2l0aF90 cnVzdF9hdXRoPXllcworIAorIAorICRhc19lY2hvICIjZGVmaW5lIFdJVEhf VFJVU1QgMSIgPj5jb25mZGVmcy5oCisgCisgCisgZmkKKyAKKyAKKyB7ICRh c19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDog JHdpdGhfdHJ1c3RfYXV0aCIgPiY1CisgJGFzX2VjaG8gIiR3aXRoX3RydXN0 X2F1dGgiID4mNjsgfQorIAorICMKKyAjIEVuYWJsZSBJZGVudCBhdXRoZW50 aWNhdGlvbgorICMKKyAKKyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5l bm8tJExJTkVOT306IGNoZWNraW5nIHdoZXRoZXIgdG8gYnVpbGQgd2l0aCBp ZGVudCBhdXRoZW50aWNhdGlvbiBzdXBwb3J0IiA+JjUKKyAkYXNfZWNob19u ICJjaGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHdpdGggaWRlbnQgYXV0aGVu dGljYXRpb24gc3VwcG9ydC4uLiAiID4mNjsgfQorIAorIAorIAorICMgQ2hl Y2sgd2hldGhlciAtLXdpdGgtaWRlbnQtYXV0aCB3YXMgZ2l2ZW4uCisgaWYg dGVzdCAiJHt3aXRoX2lkZW50X2F1dGgrc2V0fSIgPSBzZXQ7IHRoZW4gOgor ICAgd2l0aHZhbD0kd2l0aF9pZGVudF9hdXRoOworICAgY2FzZSAkd2l0aHZh bCBpbgorICAgICB5ZXMpCisgCisgCisgJGFzX2VjaG8gIiNkZWZpbmUgV0lU SF9JREVOVCAxIiA+PmNvbmZkZWZzLmgKKyAKKyAKKyAgICAgICA7OworICAg ICBubykKKyAgICAgICA6CisgICAgICAgOzsKKyAgICAgKikKKyAgICAgICBh c19mbl9lcnJvciAkPyAibm8gYXJndW1lbnQgZXhwZWN0ZWQgZm9yIC0td2l0 aC1pZGVudC1hdXRoIG9wdGlvbiIgIiRMSU5FTk8iIDUKKyAgICAgICA7Owor ICAgZXNhYworIAorIGVsc2UKKyAgIHdpdGhfaWRlbnRfYXV0aD15ZXMKKyAK KyAKKyAkYXNfZWNobyAiI2RlZmluZSBXSVRIX0lERU5UIDEiID4+Y29uZmRl ZnMuaAorIAorIAorIGZpCisgCisgCisgeyAkYXNfZWNobyAiJGFzX21lOiR7 YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICR3aXRoX2lkZW50X2F1dGgi ID4mNQorICRhc19lY2hvICIkd2l0aF9pZGVudF9hdXRoIiA+JjY7IH0KKyAK KyAjCiAgIyBHU1NBUEkKICAjCiAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNf bGluZW5vLSRMSU5FTk99OiBjaGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHdp dGggR1NTQVBJIHN1cHBvcnQiID4mNQpkaWZmIC0tZ2l0IGEvY29uZmlndXJl LmluIGIvY29uZmlndXJlLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDFjZDllMWUuLmE4MjM1NzEKKioqIGEvY29uZmlndXJlLmluCi0tLSBiL2Nv bmZpZ3VyZS5pbgoqKioqKioqKioqKioqKiogQUNfTVNHX1JFU1VMVChbJHdp dGhfcHl0aG9uXSkKKioqIDYyNiw2MzEgKioqKgotLS0gNjI2LDY1MyAtLS0t CiAgQUNfU1VCU1Qod2l0aF9weXRob24pCiAgCiAgIworICMgRW5hYmxlIFRy dXN0IGF1dGhlbnRpY2F0aW9uCisgIworIAorIEFDX01TR19DSEVDS0lORyhb d2hldGhlciB0byBidWlsZCB3aXRoIHRydXN0IGF1dGhlbnRpY2F0aW9uIHN1 cHBvcnRdKQorIFBHQUNfQVJHX0JPT0wod2l0aCwgdHJ1c3QtYXV0aCwgeWVz LCBbYnVpbGQgd2l0aCB0cnVzdCBhdXRoZW50aWNhdGlvbiBzdXBwb3J0XSwK KyBbCisgICBBQ19ERUZJTkUoV0lUSF9UUlVTVCwgMSwgW0RlZmluZSB0byBi dWlsZCB3aXRoIHRydXN0IGF1dGhlbnRpY2F0aW9uIHN1cHBvcnQuICgtLXdp dGhvdXQtdHJ1c3QtYXV0aCldKQorIF0pCisgQUNfTVNHX1JFU1VMVChbJHdp dGhfdHJ1c3RfYXV0aF0pCisgCisgIworICMgRW5hYmxlIElkZW50IGF1dGhl bnRpY2F0aW9uCisgIworIAorIEFDX01TR19DSEVDS0lORyhbd2hldGhlciB0 byBidWlsZCB3aXRoIGlkZW50IGF1dGhlbnRpY2F0aW9uIHN1cHBvcnRdKQor IFBHQUNfQVJHX0JPT0wod2l0aCwgaWRlbnQtYXV0aCwgeWVzLCBbYnVpbGQg d2l0aCBpZGVudCBhdXRoZW50aWNhdGlvbiBzdXBwb3J0XSwKKyBbCisgICBB Q19ERUZJTkUoV0lUSF9JREVOVCwgMSwgW0RlZmluZSB0byBidWlsZCB3aXRo IGlkZW50IGF1dGhlbnRpY2F0aW9uIHN1cHBvcnQuICgtLXdpdGhvdXQtaWRl bnQtYXV0aCldKQorIF0pCisgQUNfTVNHX1JFU1VMVChbJHdpdGhfaWRlbnRf YXV0aF0pCisgCisgIwogICMgR1NTQVBJCiAgIwogIEFDX01TR19DSEVDS0lO Ryhbd2hldGhlciB0byBidWlsZCB3aXRoIEdTU0FQSSBzdXBwb3J0XSkKZGlm ZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9pbnN0YWxsYXRpb24uc2dtbCBiL2Rv Yy9zcmMvc2dtbC9pbnN0YWxsYXRpb24uc2dtbApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCA0OTY4ZTA5Li4yYTQ5MjgzCioqKiBhL2RvYy9zcmMvc2dt bC9pbnN0YWxsYXRpb24uc2dtbAotLS0gYi9kb2Mvc3JjL3NnbWwvaW5zdGFs bGF0aW9uLnNnbWwKKioqKioqKioqKioqKioqIHN1IC0gcG9zdGdyZXMKKioq IDc1Nyw3NjIgKioqKgotLS0gNzU3LDc4NiAtLS0tCiAgICAgICAgPC92YXJs aXN0ZW50cnk+CiAgCiAgICAgICAgPHZhcmxpc3RlbnRyeT4KKyAgICAgICAg PHRlcm0+PG9wdGlvbj4tLXdpdGhvdXQtdHJ1c3QtYXV0aDwvb3B0aW9uPjwv dGVybT4KKyAgICAgICAgPGxpc3RpdGVtPgorICAgICAgICAgPHBhcmE+Cisg ICAgICAgICAgQnVpbGQgd2l0aG91dCBzdXBwb3J0IGZvciB0cnVzdCBhdXRo ZW50aWNhdGlvbi4gVHJ1c3QgYXV0aGVudGljYXRpb24KKyAgICAgICAgICBp cyB1c2VmdWwgb24gc3RhbmRhbG9uZSBzeXN0ZW1zIGJ1dCBtYXkgbGVhZCB0 byBzZXJpb3VzIHNlY3VyaXR5CisgICAgICAgICAgaXNzdWVzIHdoZW4gbm90 IHVzZWQgcHJvcGVybHkuIFRoaXMgc3dpdGNoIGRpc2FibGVzIHRoZSB0cnVz dCBrZXl3b3JkCisgICAgICAgICAgaW4gdGhlIDxmaWxlbmFtZT5wZ19oYmEu Y29uZjwvZmlsZW5hbWU+IGZpbGUuCisgICAgICAgICA8L3BhcmE+CisgICAg ICAgIDwvbGlzdGl0ZW0+CisgICAgICAgPC92YXJsaXN0ZW50cnk+CisgCisg ICAgICAgPHZhcmxpc3RlbnRyeT4KKyAgICAgICAgPHRlcm0+PG9wdGlvbj4t LXdpdGhvdXQtaWRlbnQtYXV0aDwvb3B0aW9uPjwvdGVybT4KKyAgICAgICAg PGxpc3RpdGVtPgorICAgICAgICAgPHBhcmE+CisgICAgICAgICAgQnVpbGQg d2l0aG91dCBzdXBwb3J0IGZvciBpZGVudCBhdXRoZW50aWNhdGlvbi4gSWRl bnQgYXV0aGVudGljYXRpb24KKyAgICAgICAgICBpcyB1c2VmdWwgZm9yIHNv bWUgc3BlY2lmaWMgc2V0dXBzIGJ1dCBtYXkgZ2VuZXJhbGx5IGxlYWQgdG8g c2VyaW91cyBzZWN1cml0eQorICAgICAgICAgIGlzc3VlcyB3aGVuIG5vdCB1 c2VkIHByb3Blcmx5LiBUaGlzIHN3aXRjaCBkaXNhYmxlcyB0aGUgaWRlbnQg a2V5d29yZAorICAgICAgICAgIGluIHRoZSA8ZmlsZW5hbWU+cGdfaGJhLmNv bmY8L2ZpbGVuYW1lPiBmaWxlLgorICAgICAgICAgPC9wYXJhPgorICAgICAg ICA8L2xpc3RpdGVtPgorICAgICAgIDwvdmFybGlzdGVudHJ5PgorIAorICAg ICAgIDx2YXJsaXN0ZW50cnk+CiAgICAgICAgIDx0ZXJtPjxvcHRpb24+LS13 aXRoLWdzc2FwaTwvb3B0aW9uPjwvdGVybT4KICAgICAgICAgPGxpc3RpdGVt PgogICAgICAgICAgPHBhcmE+CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9s aWJwcS9oYmEuYyBiL3NyYy9iYWNrZW5kL2xpYnBxL2hiYS5jCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IGEwZjUzOTYuLjMzYjU1MzkKKioqIGEvc3Jj L2JhY2tlbmQvbGlicHEvaGJhLmMKLS0tIGIvc3JjL2JhY2tlbmQvbGlicHEv aGJhLmMKKioqKioqKioqKioqKioqIHBhcnNlX2hiYV9saW5lKExpc3QgKmxp bmUsIGludCBsaW5lX251bSwKKioqIDExNTAsMTE1OCAqKioqCi0tLSAxMTUw LDExNjYgLS0tLQogIAogIAl1bnN1cGF1dGggPSBOVUxMOwogIAlpZiAoc3Ry Y21wKHRva2VuLT5zdHJpbmcsICJ0cnVzdCIpID09IDApCisgI2lmZGVmIFdJ VEhfVFJVU1QKICAJCXBhcnNlZGxpbmUtPmF1dGhfbWV0aG9kID0gdWFUcnVz dDsKKyAjZWxzZQorIAkJdW5zdXBhdXRoID0gInRydXN0IjsKKyAjZW5kaWYK ICAJZWxzZSBpZiAoc3RyY21wKHRva2VuLT5zdHJpbmcsICJpZGVudCIpID09 IDApCisgI2lmZGVmIFdJVEhfSURFTlQKICAJCXBhcnNlZGxpbmUtPmF1dGhf bWV0aG9kID0gdWFJZGVudDsKKyAjZWxzZQorIAkJdW5zdXBhdXRoID0gImlk ZW50IjsKKyAjZW5kaWYKICAJZWxzZSBpZiAoc3RyY21wKHRva2VuLT5zdHJp bmcsICJwZWVyIikgPT0gMCkKICAJCXBhcnNlZGxpbmUtPmF1dGhfbWV0aG9k ID0gdWFQZWVyOwogIAllbHNlIGlmIChzdHJjbXAodG9rZW4tPnN0cmluZywg InBhc3N3b3JkIikgPT0gMCkKZGlmZiAtLWdpdCBhL3NyYy9iaW4vaW5pdGRi L2luaXRkYi5jIGIvc3JjL2Jpbi9pbml0ZGIvaW5pdGRiLmMKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggODY5NDkyMC4uNTU0MWE5YwoqKiogYS9zcmMv YmluL2luaXRkYi9pbml0ZGIuYwotLS0gYi9zcmMvYmluL2luaXRkYi9pbml0 ZGIuYwoqKioqKioqKioqKioqKioKKioqIDcxLDc3ICoqKioKICAvKiBJZGVh bGx5IHRoaXMgd291bGQgYmUgaW4gYSAuaCBmaWxlLCBidXQgaXQgaGFyZGx5 IHNlZW1zIHdvcnRoIHRoZSB0cm91YmxlICovCiAgZXh0ZXJuIGNvbnN0IGNo YXIgKnNlbGVjdF9kZWZhdWx0X3RpbWV6b25lKGNvbnN0IGNoYXIgKnNoYXJl X3BhdGgpOwogIAohIHN0YXRpYyBjb25zdCBjaGFyICphdXRoX21ldGhvZHNf aG9zdFtdID0geyJ0cnVzdCIsICJyZWplY3QiLCAibWQ1IiwgInBhc3N3b3Jk IiwgImlkZW50IiwgInJhZGl1cyIsCiAgI2lmZGVmIEVOQUJMRV9HU1MKICAJ ImdzcyIsCiAgI2VuZGlmCi0tLSA3MSw4NSAtLS0tCiAgLyogSWRlYWxseSB0 aGlzIHdvdWxkIGJlIGluIGEgLmggZmlsZSwgYnV0IGl0IGhhcmRseSBzZWVt cyB3b3J0aCB0aGUgdHJvdWJsZSAqLwogIGV4dGVybiBjb25zdCBjaGFyICpz ZWxlY3RfZGVmYXVsdF90aW1lem9uZShjb25zdCBjaGFyICpzaGFyZV9wYXRo KTsKICAKISBzdGF0aWMgY29uc3QgY2hhciAqYXV0aF9tZXRob2RzX2hvc3Rb XSA9IHsKISAjaWZkZWYgV0lUSF9UUlVTVAohICJ0cnVzdCIsIAohICNlbmRp ZgohICJtZDUiLCAicmVqZWN0IiwgInBhc3N3b3JkIiwgCiEgI2lmZGVmIFdJ VEhfSURFTlQKISAiaWRlbnQiLCAKISAjZW5kaWYKISAicmFkaXVzIiwKICAj aWZkZWYgRU5BQkxFX0dTUwogIAkiZ3NzIiwKICAjZW5kaWYKKioqKioqKioq KioqKioqIHN0YXRpYyBjb25zdCBjaGFyICphdXRoX21ldGhvZHNfaG9zdFtd ID0KKioqIDg4LDk0ICoqKioKICAJImNlcnQiLAogICNlbmRpZgogIE5VTEx9 OwohIHN0YXRpYyBjb25zdCBjaGFyICphdXRoX21ldGhvZHNfbG9jYWxbXSA9 IHsidHJ1c3QiLCAicmVqZWN0IiwgIm1kNSIsICJwYXNzd29yZCIsICJwZWVy IiwgInJhZGl1cyIsCiAgI2lmZGVmIFVTRV9QQU0KICAJInBhbSIsICJwYW0g IiwKICAjZW5kaWYKLS0tIDk2LDEwNiAtLS0tCiAgCSJjZXJ0IiwKICAjZW5k aWYKICBOVUxMfTsKISBzdGF0aWMgY29uc3QgY2hhciAqYXV0aF9tZXRob2Rz X2xvY2FsW10gPSB7CiEgI2lmZGVmIFdJVEhfVFJVU1QKISAidHJ1c3QiLCAK ISAjZW5kaWYKISAicGVlciIsICJyZWplY3QiLCAibWQ1IiwgInBhc3N3b3Jk IiwgInJhZGl1cyIsCiAgI2lmZGVmIFVTRV9QQU0KICAJInBhbSIsICJwYW0g IiwKICAjZW5kaWYKKioqKioqKioqKioqKioqIHVzYWdlKGNvbnN0IGNoYXIg KnByb2duYW1lKQoqKiogMjc5MCwyODAzICoqKioKICB9CiAgCiAgc3RhdGlj IHZvaWQKISBjaGVja19hdXRobWV0aG9kX3Vuc3BlY2lmaWVkKGNvbnN0IGNo YXIgKiphdXRobWV0aG9kKQogIHsKICAJaWYgKCphdXRobWV0aG9kID09IE5V TEwgfHwgc3RybGVuKCphdXRobWV0aG9kKSA9PSAwKQogIAl7CiAgCQlhdXRo d2FybmluZyA9IF8oIlxuV0FSTklORzogZW5hYmxpbmcgXCJ0cnVzdFwiIGF1 dGhlbnRpY2F0aW9uIGZvciBsb2NhbCBjb25uZWN0aW9uc1xuIgogIAkJCQkJ CSJZb3UgY2FuIGNoYW5nZSB0aGlzIGJ5IGVkaXRpbmcgcGdfaGJhLmNvbmYg b3IgdXNpbmcgdGhlIG9wdGlvbiAtQSwgb3JcbiIKICAJCQkiLS1hdXRoLWxv Y2FsIGFuZCAtLWF1dGgtaG9zdCwgdGhlIG5leHQgdGltZSB5b3UgcnVuIGlu aXRkYi5cbiIpOwogIAkJKmF1dGhtZXRob2QgPSAidHJ1c3QiOwogIAl9CiAg fQogIAotLS0gMjgwMiwyODI2IC0tLS0KICB9CiAgCiAgc3RhdGljIHZvaWQK ISBjaGVja19hdXRobWV0aG9kX3Vuc3BlY2lmaWVkKGNvbnN0IGNoYXIgKiph dXRobWV0aG9kLCBjb25zdCBjaGFyICpjb25udHlwZSkKICB7CiAgCWlmICgq YXV0aG1ldGhvZCA9PSBOVUxMIHx8IHN0cmxlbigqYXV0aG1ldGhvZCkgPT0g MCkKICAJeworICNpZmRlZiBXSVRIX1RSVVNUCiAgCQlhdXRod2FybmluZyA9 IF8oIlxuV0FSTklORzogZW5hYmxpbmcgXCJ0cnVzdFwiIGF1dGhlbnRpY2F0 aW9uIGZvciBsb2NhbCBjb25uZWN0aW9uc1xuIgogIAkJCQkJCSJZb3UgY2Fu IGNoYW5nZSB0aGlzIGJ5IGVkaXRpbmcgcGdfaGJhLmNvbmYgb3IgdXNpbmcg dGhlIG9wdGlvbiAtQSwgb3JcbiIKICAJCQkiLS1hdXRoLWxvY2FsIGFuZCAt LWF1dGgtaG9zdCwgdGhlIG5leHQgdGltZSB5b3UgcnVuIGluaXRkYi5cbiIp OwogIAkJKmF1dGhtZXRob2QgPSAidHJ1c3QiOworICNlbHNlCisgCQlpZiAo c3RyY21wKGNvbm50eXBlLCAibG9jYWwiKSA9PSAwKSB7CisgCQkJYXV0aHdh cm5pbmcgPSBfKCJcbldBUk5JTkc6IGVuYWJsaW5nIFwicGVlclwiIGF1dGhl bnRpY2F0aW9uIGZvciBsb2NhbCBjb25uZWN0aW9uc1xuIgorIAkJCQkJCSJZ b3UgY2FuIGNoYW5nZSB0aGlzIGJ5IGVkaXRpbmcgcGdfaGJhLmNvbmYgb3Ig dXNpbmcgdGhlIG9wdGlvbiAtQSwgb3JcbiIKKyAJCQkiLS1hdXRoLWxvY2Fs IGFuZCAtLWF1dGgtaG9zdCwgdGhlIG5leHQgdGltZSB5b3UgcnVuIGluaXRk Yi5cbiIpOworIAkJCSphdXRobWV0aG9kID0gInBlZXIiOworIAkJfSBlbHNl IHsKKyAJCQkqYXV0aG1ldGhvZCA9ICJtZDUiOworIAkJfQorICNlbmRpZgog IAl9CiAgfQogIAoqKioqKioqKioqKioqKiogbWFpbihpbnQgYXJnYywgY2hh ciAqYXJndltdKQoqKiogMzU4NiwzNTkzICoqKioKICAJCWV4aXQoMSk7CiAg CX0KICAKISAJY2hlY2tfYXV0aG1ldGhvZF91bnNwZWNpZmllZCgmYXV0aG1l dGhvZGxvY2FsKTsKISAJY2hlY2tfYXV0aG1ldGhvZF91bnNwZWNpZmllZCgm YXV0aG1ldGhvZGhvc3QpOwogIAogIAljaGVja19hdXRobWV0aG9kX3ZhbGlk KGF1dGhtZXRob2Rsb2NhbCwgYXV0aF9tZXRob2RzX2xvY2FsLCAibG9jYWwi KTsKICAJY2hlY2tfYXV0aG1ldGhvZF92YWxpZChhdXRobWV0aG9kaG9zdCwg YXV0aF9tZXRob2RzX2hvc3QsICJob3N0Iik7Ci0tLSAzNjA5LDM2MTYgLS0t LQogIAkJZXhpdCgxKTsKICAJfQogIAohIAljaGVja19hdXRobWV0aG9kX3Vu c3BlY2lmaWVkKCZhdXRobWV0aG9kbG9jYWwsICJsb2NhbCIpOwohIAljaGVj a19hdXRobWV0aG9kX3Vuc3BlY2lmaWVkKCZhdXRobWV0aG9kaG9zdCwgImhv c3QiKTsKICAKICAJY2hlY2tfYXV0aG1ldGhvZF92YWxpZChhdXRobWV0aG9k bG9jYWwsIGF1dGhfbWV0aG9kc19sb2NhbCwgImxvY2FsIik7CiAgCWNoZWNr X2F1dGhtZXRob2RfdmFsaWQoYXV0aG1ldGhvZGhvc3QsIGF1dGhfbWV0aG9k c19ob3N0LCAiaG9zdCIpOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcGdf Y29uZmlnLmguaW4gYi9zcmMvaW5jbHVkZS9wZ19jb25maWcuaC5pbgpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1Njg4Zjc1Li44ODhkMjliCioqKiBh L3NyYy9pbmNsdWRlL3BnX2NvbmZpZy5oLmluCi0tLSBiL3NyYy9pbmNsdWRl L3BnX2NvbmZpZy5oLmluCioqKioqKioqKioqKioqKgoqKiogNTEsNTYgKioq KgotLS0gNTEsNjIgLS0tLQogIC8qIERlZmluZSB0byBidWlsZCB3aXRoIEdT U0FQSSBzdXBwb3J0LiAoLS13aXRoLWdzc2FwaSkgKi8KICAjdW5kZWYgRU5B QkxFX0dTUwogIAorIC8qIERlZmluZSB0byBidWlsZCB3aXRoIHRydXN0IGF1 dGhlbnRpY2F0aW9uIHR1cm5lZCBvbiAoZGVmYXVsdCwgLS13aXRob3V0LXRy dXN0LWF1dGggdG8gdHVybiBvZmYpICovCisgI3VuZGVmIFdJVEhfVFJVU1QK KyAKKyAvKiBEZWZpbmUgdG8gYnVpbGQgd2l0aCBpZGVudCBhdXRoZW50aWNh dGlvbiB0dXJuZWQgb24gKGRlZmF1bHQsIC0td2l0aG91dC1pZGVudC1hdXRo IHRvIHR1cm4gb2ZmKSAqLworICN1bmRlZiBXSVRIX0lERU5UCisgCiAgLyog RGVmaW5lIHRvIDEgaWYgeW91IHdhbnQgTmF0aW9uYWwgTGFuZ3VhZ2UgU3Vw cG9ydC4gKC0tZW5hYmxlLW5scykgKi8KICAjdW5kZWYgRU5BQkxFX05MUwog IAo= --==========C0B0770A3ADDD4BD8254========== Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers --==========C0B0770A3ADDD4BD8254==========--