Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1btzAX-0005EU-1V for pgadmin-hackers@arkaria.postgresql.org; Tue, 11 Oct 2016 15:40:41 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1btzAV-000836-5C for pgadmin-hackers@arkaria.postgresql.org; Tue, 11 Oct 2016 15:40:39 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1btzAU-00082x-8E for pgadmin-hackers@postgresql.org; Tue, 11 Oct 2016 15:40:38 +0000 Received: from mail-it0-x22e.google.com ([2607:f8b0:4001:c0b::22e]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1btzAP-000422-Jh for pgadmin-hackers@postgresql.org; Tue, 11 Oct 2016 15:40:37 +0000 Received: by mail-it0-x22e.google.com with SMTP id z65so23120875itc.0 for ; Tue, 11 Oct 2016 08:40:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pgadmin-org.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to:cc; bh=wP2FZzf4FM3FHtBF7NuCR5bQBbGkfJP09AjaV5FJp28=; b=Rptn9I2/ZwOEwjBRIrWCfjQdK6m7UpcHe0Zk+cheebMDWVmiLdSjr1TDBilFiYQ9Qs /HEYBygYPBaJlEWitpi/P9nb6NgrpnP9Dz7mL7xnFYedvYV+r0CTaFmSFiloEK9nBhTT KGm3uGo9ymx5DHjF3eBjtAYjoaGf+/XLhYfgiGDM+u7iEBZqB0d0KBXbhisauPKOTeBd h78TD1lxYHlC4yAag6WolGPi+/ofZ2+wEelZvHNqrrE60MShpq3N3KEy08klBWLp4oIt ooiMzqQIaxYcsjekFleije4AsFuG73vP8DUB5CaiJ3fPzi20ZgBejk9/CjXbY/fiCR3Z kSYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=wP2FZzf4FM3FHtBF7NuCR5bQBbGkfJP09AjaV5FJp28=; b=NtwezTAWLetGN3yD12W/b9FZAbmPU2UYM8qx3dtdjw6JfxfekdtJwz5JYoI52UHqat okopISOHtHdNo0rvRVSjhCw7SxBZL4M/JTsK8H57P61p3p6rpB9wLVmRKQPIEN8FJTXc BAaR1DWVKvxoAdqlT5mwGMU94qxFNM+7nlUsyQTGtVH5quYPtzxQxuk5wlxxze/nvJlE kJzCDDqGTeXSVo9VBFfBiJyHbjCiWqy2uXJS4GnX/wv6aOppTeipXYcQ2b2ppq4eHCSk nnDDrJFYGph4w8mmIMRTmSaVhRJtohmbsz3XJH8RQe0c1ACAUu7Ha45vWPiyslFumR9W tO+Q== X-Gm-Message-State: AA6/9Rlc2YTbJhKXAL4HYAaxXZ9WiweG2pnzni8KoVXiN2tqzv76WAnyLmhr7/YJ1RvRvRlPbmPwMtH5VoDVPQ== X-Received: by 10.36.178.27 with SMTP id u27mr4568145ite.113.1476200431383; Tue, 11 Oct 2016 08:40:31 -0700 (PDT) MIME-Version: 1.0 Received: by 10.64.146.135 with HTTP; Tue, 11 Oct 2016 08:40:30 -0700 (PDT) From: Dave Page Date: Tue, 11 Oct 2016 16:40:30 +0100 Message-ID: Subject: RM1849: Auto-generating security keys To: Ashesh Vashi Cc: pgadmin-hackers , Josh Berkus , =?UTF-8?B?RGV2cmltIEfDnE5Ew5xa?= Content-Type: multipart/mixed; boundary=f403045d997855484a053e98b2a8 X-Pg-Spam-Score: -2.6 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgadmin-hackers Precedence: bulk Sender: pgadmin-hackers-owner@postgresql.org --f403045d997855484a053e98b2a8 Content-Type: multipart/alternative; boundary=f403045d9978554847053e98b2a6 --f403045d9978554847053e98b2a6 Content-Type: text/plain; charset=UTF-8 Hi Ashesh, Can you please review the attached patch, and apply if you're happy with it? The purpose is to auto-generate the various security keys that are currently in the configuration file, and store them in the SQLite database. This allows us to remove the checks for config_local.py and the hard-coded default keys which are causing some problems with packaging: - Hard coded defaults are fine for Desktop mode, and packages generally aim to make that work primarily. - Hard coded defaults are a security risk for Server mode, hence we currently require the user to manually setup keys, which is currently being overridden by packagers for Desktop mode. This change ensures that we have unique security keys for every installation, whether running in desktop or server mode (generated from os.urandom). Thanks! -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company --f403045d9978554847053e98b2a6 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi Ashesh,

Can you please review the attached patch, and= apply if you're happy with it?

The purpose is= to auto-generate the various security keys that are currently in the confi= guration file, and store them in the SQLite database. This allows us to rem= ove the checks for config_local.py and the hard-coded default keys which ar= e causing some problems with packaging:

- Hard cod= ed defaults are fine for Desktop mode, and packages generally aim to make t= hat work primarily.
- Hard coded defaults are a security risk for= Server mode, hence we currently require the user to manually setup keys, w= hich is currently being overridden by packagers for Desktop mode.

This change ensures that we have unique security keys for e= very installation, whether running in desktop or server mode (generated fro= m os.urandom).

Thanks!


--
Dave Pa= ge
Blog: http:= //pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterpris= edb.com
The Enterprise PostgreSQL Company

--f403045d9978554847053e98b2a6-- --f403045d997855484a053e98b2a8 Content-Type: text/x-diff; charset=US-ASCII; name="auto_generate_security_keys.diff" Content-Disposition: attachment; filename="auto_generate_security_keys.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: 1cd640c219ef59a5_0.1 ZGlmZiAtLWdpdCBhL3dlYi9jb25maWcucHkgYi93ZWIvY29uZmlnLnB5Cmlu ZGV4IDIwNzE0ZjkuLjg0MTFkNzkgMTAwNjQ0Ci0tLSBhL3dlYi9jb25maWcu cHkKKysrIGIvd2ViL2NvbmZpZy5weQpAQCAtMTQwLDIxICsxNDAsMTMgQEAg REVGQVVMVF9TRVJWRVJfUE9SVCA9IDUwNTAKICMgRW5hYmxlIENTUkYgcHJv dGVjdGlvbj8KIENTUkZfRU5BQkxFRCA9IFRydWUKIAotIyBTZWNyZXQga2V5 IGZvciBzaWduaW5nIENTUkYgZGF0YS4gT3ZlcnJpZGUgdGhpcyBpbiBjb25m aWdfbG9jYWwucHkgaWYKLSMgcnVubmluZyBvbiBhIHdlYiBzZXJ2ZXIKLUNT UkZfU0VTU0lPTl9LRVkgPSAnU3VwZXJTZWNyZXQxJwotCi0jIFNlY3JldCBr ZXkgZm9yIHNpZ25pbmcgY29va2llcy4gT3ZlcnJpZGUgdGhpcyBpbiBjb25m aWdfbG9jYWwucHkgaWYKLSMgcnVubmluZyBvbiBhIHdlYiBzZXJ2ZXIKLVNF Q1JFVF9LRVkgPSAnU3VwZXJTZWNyZXQyJwotCi0jIFNhbHQgdXNlZCB3aGVu IGhhc2hpbmcgcGFzc3dvcmRzLiBPdmVycmlkZSB0aGlzIGluIGNvbmZpZ19s b2NhbC5weSBpZgotIyBydW5uaW5nIG9uIGEgd2ViIHNlcnZlcgotU0VDVVJJ VFlfUEFTU1dPUkRfU0FMVCA9ICdTdXBlclNlY3JldDMnCi0KICMgSGFzaGlu ZyBhbGdvcml0aG0gdXNlZCBmb3IgcGFzc3dvcmQgc3RvcmFnZQogU0VDVVJJ VFlfUEFTU1dPUkRfSEFTSCA9ICdwYmtkZjJfc2hhNTEyJwogCisjIE5PVEU6 IENTUkZfU0VTU0lPTl9LRVksIFNFQ1JFVF9LRVkgYW5kIFNFQ1VSSVRZX1BB U1NXT1JEX1NBTFQgYXJlIG5vCisjICAgICAgIGxvbmdlciBwYXJ0IG9mIHRo ZSBtYWluIGNvbmZpZ3VyYXRpb24sIGJ1dCBhcmUgc3RvcmVkIGluIHRoZQor IyAgICAgICBjb25maWd1cmF0aW9uIGRhdGFiYXNlcyAna2V5cycgdGFibGUg YW5kIGFyZSBhdXRvLWdlbmVyYXRlZC4KKwogIyBTaG91bGQgSFRNTCBiZSBt aW5pZmllZCBvbiB0aGUgZmx5IHdoZW4gbm90IGluIGRlYnVnIG1vZGU/CiAj IE5vdGU6IFRoaXMgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCBhcyBpdCB3aWxs IGVycm9yIHdoZW4gcHJvY2Vzc2luZyB0aGUKICMgICAgICAgZG9jcy4gSWYg dGhlIHNlcnZpbmcgb2YgZG9jcyBpcyBoYW5kbGVkIGJ5IGFuIEFwYWNoZSBI VFRQRApkaWZmIC0tZ2l0IGEvd2ViL3BnQWRtaW40LnB5IGIvd2ViL3BnQWRt aW40LnB5CmluZGV4IDFmYjM0ZjkuLmY4OTRmOGIgMTAwNjQ0Ci0tLSBhL3dl Yi9wZ0FkbWluNC5weQorKysgYi93ZWIvcGdBZG1pbjQucHkKQEAgLTMyLDE4 ICszMiw2IEBAIGNvbmZpZy5TRVRUSU5HU19TQ0hFTUFfVkVSU0lPTiA9IFND SEVNQV9WRVJTSU9OCiAjIFNhbml0eSBjaGVja3MKICMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjCiAKLSMgQ2hlY2sgZm9yIGxvY2FsIHNldHRpbmdz IGlmIHJ1bm5pbmcgaW4gc2VydmVyIG1vZGUKLWlmIGNvbmZpZy5TRVJWRVJf TU9ERSBpcyBUcnVlOgotICAgIGxvY2FsX2NvbmZpZyA9IG9zLnBhdGguam9p bihvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5yZWFscGF0aChfX2ZpbGVfXykp LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29uZmlnX2xv Y2FsLnB5JykKLSAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUobG9jYWxfY29u ZmlnKToKLSAgICAgICAgcHJpbnQoIlRoZSBjb25maWd1cmF0aW9uIGZpbGUg JXMgZG9lcyBub3QgZXhpc3QuXG4iICUgbG9jYWxfY29uZmlnKQotICAgICAg ICBwcmludCgiQmVmb3JlIHJ1bm5pbmcgdGhpcyBhcHBsaWNhdGlvbiwgZW5z dXJlIHRoYXQgY29uZmlnX2xvY2FsLnB5IGhhcyBiZWVuIGNyZWF0ZWQiKQot ICAgICAgICBwcmludCgiYW5kIHNldHMgdmFsdWVzIGZvciBTRUNSRVRfS0VZ LCBTRUNVUklUWV9QQVNTV09SRF9TQUxUIGFuZCBDU1JGX1NFU1NJT05fS0VZ IikKLSAgICAgICAgcHJpbnQoImF0IGJhcmUgbWluaW11bS4gU2VlIGNvbmZp Zy5weSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgYSBjb21wbGV0ZSBsaXN0 IG9mIikKLSAgICAgICAgcHJpbnQoInNldHRpbmdzLiBFeGl0aW5nLi4uIikK LSAgICAgICAgc3lzLmV4aXQoMSkKLQogIyBDaGVjayBpZiB0aGUgZGF0YWJh c2UgZXhpc3RzLiBJZiBpdCBkb2VzIG5vdCwgY3JlYXRlIGl0LgogaWYgbm90 IG9zLnBhdGguaXNmaWxlKGNvbmZpZy5TUUxJVEVfUEFUSCk6CiAgICAgc2V0 dXBmaWxlID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShvcy5wYXRo LnJlYWxwYXRoKF9fZmlsZV9fKSksCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1p bi9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL19faW5pdF9fLnB5CmluZGV4 IGQ5ODgxNzIuLjIxZmU2MzYgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL19f aW5pdF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL19faW5pdF9fLnB5CkBAIC0y Niw3ICsyNiw3IEBAIGZyb20gcGdhZG1pbi51dGlscy5zZXNzaW9uIGltcG9y dCBjcmVhdGVfc2Vzc2lvbl9pbnRlcmZhY2UKIGZyb20gd2Vya3pldWcubG9j YWwgaW1wb3J0IExvY2FsUHJveHkKIGZyb20gd2Vya3pldWcudXRpbHMgaW1w b3J0IGZpbmRfbW9kdWxlcwogCi1mcm9tIHBnYWRtaW4ubW9kZWwgaW1wb3J0 IGRiLCBSb2xlLCBTZXJ2ZXIsIFNlcnZlckdyb3VwLCBVc2VyLCBWZXJzaW9u Citmcm9tIHBnYWRtaW4ubW9kZWwgaW1wb3J0IGRiLCBSb2xlLCBTZXJ2ZXIs IFNlcnZlckdyb3VwLCBVc2VyLCBWZXJzaW9uLCBLZXlzCiAjIENvbmZpZ3Vy YXRpb24gc2V0dGluZ3MKIGltcG9ydCBjb25maWcKIApAQCAtMTI3LDExICsx MjcsNiBAQCBkZWYgY3JlYXRlX2FwcChhcHBfbmFtZT1jb25maWcuQVBQX05B TUUpOgogICAgIGFwcC5jb25maWcudXBkYXRlKGRpY3QoUFJPUEFHQVRFX0VY Q0VQVElPTlM9VHJ1ZSkpCiAKICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIwotICAgICMgU2V0dXAgc2Vzc2lvbiBtYW5hZ2VtZW50Ci0gICAg IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSAgICBhcHAuc2Vzc2lv bl9pbnRlcmZhY2UgPSBjcmVhdGVfc2Vzc2lvbl9pbnRlcmZhY2UoYXBwKQot Ci0gICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAgICAjIFNl dHVwIGxvZ2dpbmcgYW5kIGxvZyB0aGUgYXBwbGljYXRpb24gc3RhcnR1cAog ICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKQEAgLTIyMiw3 ICsyMTcsMTkgQEAgZGVmIGNyZWF0ZV9hcHAoYXBwX25hbWU9Y29uZmlnLkFQ UF9OQU1FKToKICAgICAgICAgICAgIGZyb20gc2V0dXAgaW1wb3J0IGRvX3Vw Z3JhZGUKICAgICAgICAgICAgIGRvX3VwZ3JhZGUoYXBwLCB1c2VyX2RhdGFz dG9yZSwgc2VjdXJpdHksIHZlcnNpb24pCiAKKyAgICAjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIworICAgICMgU2V0dXAgc2VjdXJpdHkKKyAgICAj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICAgIHdpdGggYXBwLmFw cF9jb250ZXh0KCk6CisgICAgICAgIGNvbmZpZy5DU1JGX1NFU1NJT05fS0VZ ID0gS2V5cy5xdWVyeS5maWx0ZXJfYnkobmFtZSA9ICdDU1JGX1NFU1NJT05f S0VZJykuZmlyc3QoKS52YWx1ZQorICAgICAgICBjb25maWcuU0VDUkVUX0tF WSA9IEtleXMucXVlcnkuZmlsdGVyX2J5KG5hbWUgPSAnU0VDUkVUX0tFWScp LmZpcnN0KCkudmFsdWUKKyAgICAgICAgY29uZmlnLlNFQ1VSSVRZX1BBU1NX T1JEX1NBTFQgPSBLZXlzLnF1ZXJ5LmZpbHRlcl9ieShuYW1lID0gJ1NFQ1VS SVRZX1BBU1NXT1JEX1NBTFQnKS5maXJzdCgpLnZhbHVlCisKKyAgICBhcHAu c2Vzc2lvbl9pbnRlcmZhY2UgPSBjcmVhdGVfc2Vzc2lvbl9pbnRlcmZhY2Uo YXBwKQorCisgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAg ICAjIExvYWQgYWxsIGF2YWlsYWJsZSBzZXJ2ZXIgZHJpdmVycworICAgICMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAgICAgZHJpdmVyLmluaXRf YXBwKGFwcCkKIAogICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9tb2RlbC9fX2luaXRfXy5weSBi L3dlYi9wZ2FkbWluL21vZGVsL19faW5pdF9fLnB5CmluZGV4IDAxOWU5YjEu Ljk3MjdkMmIgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL21vZGVsL19faW5p dF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL21vZGVsL19faW5pdF9fLnB5CkBA IC0yOSw3ICsyOSw3IEBAIGZyb20gZmxhc2tfc3FsYWxjaGVteSBpbXBvcnQg U1FMQWxjaGVteQogIwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK IAotU0NIRU1BX1ZFUlNJT04gPSAxMworU0NIRU1BX1ZFUlNJT04gPSAxNAog CiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIwpAQCAtMjA3LDMg KzIwNywxMCBAQCBjbGFzcyBQcm9jZXNzKGRiLk1vZGVsKToKICAgICBlbmRf dGltZSA9IGRiLkNvbHVtbihkYi5TdHJpbmcoKSwgbnVsbGFibGU9VHJ1ZSkK ICAgICBleGl0X2NvZGUgPSBkYi5Db2x1bW4oZGIuSW50ZWdlcigpLCBudWxs YWJsZT1UcnVlKQogICAgIGFja25vd2xlZGdlID0gZGIuQ29sdW1uKGRiLlN0 cmluZygpLCBudWxsYWJsZT1UcnVlKQorCisKK2NsYXNzIEtleXMoZGIuTW9k ZWwpOgorICAgICIiIkRlZmluZSB0aGUga2V5cyB0YWJsZS4iIiIKKyAgICBf X3RhYmxlbmFtZV9fID0gJ2tleXMnCisgICAgbmFtZSA9IGRiLkNvbHVtbihk Yi5TdHJpbmcoKSwgbnVsbGFibGU9RmFsc2UsIHByaW1hcnlfa2V5PVRydWUp CisgICAgdmFsdWUgPSBkYi5Db2x1bW4oZGIuU3RyaW5nKCksIG51bGxhYmxl PUZhbHNlKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp dCBhL3dlYi9zZXR1cC5weSBiL3dlYi9zZXR1cC5weQppbmRleCA2NDI3M2Zi Li45MDY5N2ZhIDEwMDc1NQotLS0gYS93ZWIvc2V0dXAucHkKKysrIGIvd2Vi L3NldHVwLnB5CkBAIC0xMCw2ICsxMCw3IEBACiAiIiJQZXJmb3JtIHRoZSBp bml0aWFsIHNldHVwIG9mIHRoZSBhcHBsaWNhdGlvbiwgYnkgY3JlYXRpbmcg dGhlIGF1dGgKIGFuZCBzZXR0aW5ncyBkYXRhYmFzZS4iIiIKIAoraW1wb3J0 IGJhc2U2NAogaW1wb3J0IGdldHBhc3MKIGltcG9ydCBvcwogaW1wb3J0IHJh bmRvbQpAQCAtMjIsNyArMjMsNyBAQCBmcm9tIGZsYXNrX3NlY3VyaXR5IGlt cG9ydCBTZWN1cml0eSwgU1FMQWxjaGVteVVzZXJEYXRhc3RvcmUKIGZyb20g Zmxhc2tfc2VjdXJpdHkudXRpbHMgaW1wb3J0IGVuY3J5cHRfcGFzc3dvcmQK IAogZnJvbSBwZ2FkbWluLm1vZGVsIGltcG9ydCBkYiwgUm9sZSwgVXNlciwg U2VydmVyLCBcCi0gICAgU2VydmVyR3JvdXAsIFZlcnNpb24KKyAgICBTZXJ2 ZXJHcm91cCwgVmVyc2lvbiwgS2V5cwogIyBDb25maWd1cmF0aW9uIHNldHRp bmdzCiBpbXBvcnQgY29uZmlnCiAKQEAgLTQwLDYgKzQxLDE2IEBAIGlmIGhh c2F0dHIoX19idWlsdGluc19fLCAncmF3X2lucHV0Jyk6CiAKIGRlZiBkb19z ZXR1cChhcHApOgogICAgICIiIkNyZWF0ZSBhIG5ldyBzZXR0aW5ncyBkYXRh YmFzZSBmcm9tIHNjcmF0Y2giIiIKKworICAgICMgR2V0IHNvbWUgZGVmYXVs dHMgZm9yIHRoZSB2YXJpb3VzIGtleXMKKyAgICB3aXRoIGFwcC5hcHBfY29u dGV4dCgpOgorICAgICAgICBjb25maWcuQ1NSRl9TRVNTSU9OX0tFWSA9IGJh c2U2NC51cmxzYWZlX2I2NGVuY29kZShvcy51cmFuZG9tKDMyKSkKKyAgICAg ICAgYXBwLmppbmphX2Vudi5nbG9iYWxzWydjb25maWcnXVsnQ1NSRl9TRVNT SU9OX0tFWSddID0gY29uZmlnLkNTUkZfU0VTU0lPTl9LRVkKKyAgICAgICAg Y29uZmlnLlNFQ1JFVF9LRVkgPSBiYXNlNjQudXJsc2FmZV9iNjRlbmNvZGUo b3MudXJhbmRvbSgzMikpCisgICAgICAgIGFwcC5qaW5qYV9lbnYuZ2xvYmFs c1snY29uZmlnJ11bJ1NFQ1JFVF9LRVknXSA9IGNvbmZpZy5TRUNSRVRfS0VZ CisgICAgICAgIGNvbmZpZy5TRUNVUklUWV9QQVNTV09SRF9TQUxUID0gYmFz ZTY0LnVybHNhZmVfYjY0ZW5jb2RlKG9zLnVyYW5kb20oMzIpKQorICAgICAg ICBhcHAuamluamFfZW52Lmdsb2JhbHNbJ2NvbmZpZyddWydTRUNVUklUWV9Q QVNTV09SRF9TQUxUJ10gPSBjb25maWcuU0VDVVJJVFlfUEFTU1dPUkRfU0FM VAorCiAgICAgaWYgY29uZmlnLlNFUlZFUl9NT0RFIGlzIEZhbHNlOgogICAg ICAgICBwcmludCgiTk9URTogQ29uZmlndXJpbmcgYXV0aGVudGljYXRpb24g Zm9yIERFU0tUT1AgbW9kZS4iKQogICAgICAgICBlbWFpbCA9IGNvbmZpZy5E RVNLVE9QX1VTRVIKQEAgLTExNiw2ICsxMjcsMTcgQEAgZGVmIGRvX3NldHVw KGFwcCk6CiAgICAgICAgICAgICBuYW1lPSdDb25maWdEQicsIHZhbHVlPWNv bmZpZy5TRVRUSU5HU19TQ0hFTUFfVkVSU0lPTgogICAgICAgICApCiAgICAg ICAgIGRiLnNlc3Npb24ubWVyZ2UodmVyc2lvbikKKyAgICAgICAgZGIuc2Vz c2lvbi5jb21taXQoKQorCisgICAgICAgICMgQ3JlYXRlIHRoZSBrZXlzCisg ICAgICAgIGtleSA9IEtleXMobmFtZT0nQ1NSRl9TRVNTSU9OX0tFWScsIHZh bHVlPWNvbmZpZy5DU1JGX1NFU1NJT05fS0VZKQorICAgICAgICBkYi5zZXNz aW9uLm1lcmdlKGtleSkKKworICAgICAgICBrZXkgPSBLZXlzKG5hbWU9J1NF Q1JFVF9LRVknLCB2YWx1ZT1jb25maWcuU0VDUkVUX0tFWSkKKyAgICAgICAg ZGIuc2Vzc2lvbi5tZXJnZShrZXkpCisKKyAgICAgICAga2V5ID0gS2V5cyhu YW1lPSdTRUNVUklUWV9QQVNTV09SRF9TQUxUJywgdmFsdWU9Y29uZmlnLlNF Q1VSSVRZX1BBU1NXT1JEX1NBTFQpCisgICAgICAgIGRiLnNlc3Npb24ubWVy Z2Uoa2V5KQogCiAgICAgICAgIGRiLnNlc3Npb24uY29tbWl0KCkKIApAQCAt MzI5LDYgKzM1MSwyMyBAQCBBTFRFUiBUQUJMRSBTRVJWRVIKICAgICBBREQg Q09MVU1OIGRpc2NvdmVyeV9pZCBURVhUCiAgICAgIiIiKQogCisgICAgICAg IGlmIGludCh2ZXJzaW9uLnZhbHVlKSA8IDE0OgorICAgICAgICAgICAgZGIu ZW5naW5lLmV4ZWN1dGUoIiIiCitDUkVBVEUgVEFCTEUga2V5cyAoCisgICAg bmFtZSBURVNUIE5PVCBOVUxMLAorICAgIHZhbHVlIFRFWFQgTk9UIE5VTEws CisgICAgUFJJTUFSWSBLRVkgKG5hbWUpKQorICAgICAgICAgICAgICAgICIi IikKKworICAgICAgICAgICAgc3FsID0gIklOU0VSVCBJTlRPIGtleXMgKG5h bWUsIHZhbHVlKSBWQUxVRVMgKCdDU1JGX1NFU1NJT05fS0VZJywgJyVzJyki ICUgYmFzZTY0LnVybHNhZmVfYjY0ZW5jb2RlKG9zLnVyYW5kb20oMzIpKQor ICAgICAgICAgICAgZGIuZW5naW5lLmV4ZWN1dGUoc3FsKQorCisgICAgICAg ICAgICBzcWwgPSAiSU5TRVJUIElOVE8ga2V5cyAobmFtZSwgdmFsdWUpIFZB TFVFUyAoJ1NFQ1JFVF9LRVknLCAnJXMnKSIgJSBiYXNlNjQudXJsc2FmZV9i NjRlbmNvZGUob3MudXJhbmRvbSgzMikpCisgICAgICAgICAgICBkYi5lbmdp bmUuZXhlY3V0ZShzcWwpCisKKyAgICAgICAgICAgIHNxbCA9ICJJTlNFUlQg SU5UTyBrZXlzIChuYW1lLCB2YWx1ZSkgVkFMVUVTICgnU0VDVVJJVFlfUEFT U1dPUkRfU0FMVCcsICclcycpIiAlIGJhc2U2NC51cmxzYWZlX2I2NGVuY29k ZShvcy51cmFuZG9tKDMyKSkKKyAgICAgICAgICAgIGRiLmVuZ2luZS5leGVj dXRlKHNxbCkKKwogICAgICMgRmluYWxseSwgdXBkYXRlIHRoZSBzY2hlbWEg dmVyc2lvbgogICAgIHZlcnNpb24udmFsdWUgPSBjb25maWcuU0VUVElOR1Nf U0NIRU1BX1ZFUlNJT04KICAgICBkYi5zZXNzaW9uLm1lcmdlKHZlcnNpb24p CkBAIC0zNjQsMTUgKzQwMyw2IEBAIGlmIF9fbmFtZV9fID09ICdfX21haW5f Xyc6CiAgICAgICAgICdjb25maWdfbG9jYWwucHknCiAgICAgKQogCi0gICAg aWYgbm90IG9zLnBhdGguaXNmaWxlKGxvY2FsX2NvbmZpZyk6Ci0gICAgICAg IHByaW50KCIiIgotIFRoZSBjb25maWd1cmF0aW9uIGZpbGUgLSB7MH0gZG9l cyBub3QgZXhpc3QuCi0gQmVmb3JlIHJ1bm5pbmcgdGhpcyBhcHBsaWNhdGlv biwgZW5zdXJlIHRoYXQgY29uZmlnX2xvY2FsLnB5IGhhcyBiZWVuIGNyZWF0 ZWQKLSBhbmQgc2V0cyB2YWx1ZXMgZm9yIFNFQ1JFVF9LRVksIFNFQ1VSSVRZ X1BBU1NXT1JEX1NBTFQgYW5kIENTUkZfU0VTU0lPTl9LRVkKLSBhdCBiYXJl IG1pbmltdW0uIFNlZSBjb25maWcucHkgZm9yIG1vcmUgaW5mb3JtYXRpb24g YW5kIGEgY29tcGxldGUgbGlzdCBvZgotIHNldHRpbmdzLiBFeGl0aW5nLi4u IiIiLmZvcm1hdChsb2NhbF9jb25maWcpKQotICAgICAgICBzeXMuZXhpdCgx KQotCiAgICAgIyBDaGVjayBpZiB0aGUgZGF0YWJhc2UgZXhpc3RzLiBJZiBp dCBkb2VzLCB0ZWxsIHRoZSB1c2VyIGFuZCBleGl0LgogICAgIGlmIG9zLnBh dGguaXNmaWxlKGNvbmZpZy5TUUxJVEVfUEFUSCk6CiAgICAgICAgIHByaW50 KCIiIgo= --f403045d997855484a053e98b2a8 Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgadmin-hackers --f403045d997855484a053e98b2a8--