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 1kcuqG-0001F7-Sa for pgsql-hackers@arkaria.postgresql.org; Wed, 11 Nov 2020 18:27:37 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1kcuqF-0001pb-8D for pgsql-hackers@arkaria.postgresql.org; Wed, 11 Nov 2020 18:27:35 +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 1kcugC-0002wM-II for pgsql-hackers@lists.postgresql.org; Wed, 11 Nov 2020 18:17:12 +0000 Received: from mail-bn8nam11on2070.outbound.protection.outlook.com ([40.107.236.70] helo=NAM11-BN8-obe.outbound.protection.outlook.com) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kcug8-00065V-G7 for pgsql-hackers@lists.postgresql.org; Wed, 11 Nov 2020 18:17:11 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UbenYKovMihFngHDPxWH+XAgPNyQr0iZXP4JV+z690ZjQKYvO4p17Xonjxvk2I62ogUK+ZqnrAsBSght5m1VozqsOQGCuvP+INQ4bEdzlit8m4w+M7W2xNzJbaIHfNP6Bxtd72CfgwG8OQ+yUPvx2h8uocraf/SPPUAXfkUqX1M0Gfj3q90jbQXC9SjSgpe++wsDQ6diQEXkeZgM7FVyi4h/h0XO/gjPdZzf7MCdFJaAxqqdh7r4mFmCMfyWuycxZS9EFz3k7VOSkZRxmpe667vAgh2AQ56wR+981ZB5wBnVu2qv289XRFF2GSztJ4TBRJpXG0mgAQ1SuCLbJWXZqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6/EmTNCdT+URRZwhHj7H4qnGE1vYhD6nkUQad6gZC28=; b=dhPQW6lP6uN32x98Zo1GhzEXWg2OO7zzppXD48Y32uvTw/YIVaSHLP9QyEN03NMGx7HZVbnh5qhJk4jAndu0U/B/jL+qWJ6zbI97yq2gcchoeHpjZmABuuNsHfgLFyJW3gTkVIMa426lIfmbK2nk/P+lXhMTEDFWrmLfkBTWAjgMIlrSdHrgudCm80+SRhM9DGUGk7PpaBJ0tKl2LRh23uH8b7HT1iJE34LilAutWj3KmFKq4UIw5qmVrGa7NjMhSdsIAvskAWkx79TN78Rom9Bf1nABsjU2qRkh1NXZOa1J6o/3ei8JT4eLHuD8FMb+l4v7RwNYtaNtnc651k85Ww== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vmware.com; dmarc=pass action=none header.from=vmware.com; dkim=pass header.d=vmware.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vmware.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6/EmTNCdT+URRZwhHj7H4qnGE1vYhD6nkUQad6gZC28=; b=rvlAhrsx4UxcXvSUSxtsHp+IWA1QNl4BBiFOaN+xs4LMnxSQRNilPJFuFXpu4+5yzcV0s1X1I7F/plzBOpjlFfgA72VOj00IxoY6vyqang/I5cggZLkDHPgOmwq+hkzVlA4wtmqlUOwBCob+ocmUgYv1is392lQrP30FRD+OQCQ= Received: from MWHPR05MB2957.namprd05.prod.outlook.com (2603:10b6:300:60::11) by MWHPR05MB3373.namprd05.prod.outlook.com (2603:10b6:301:3f::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3564.21; Wed, 11 Nov 2020 18:17:04 +0000 Received: from MWHPR05MB2957.namprd05.prod.outlook.com ([fe80::e1c8:9250:a1ac:64c6]) by MWHPR05MB2957.namprd05.prod.outlook.com ([fe80::e1c8:9250:a1ac:64c6%7]) with mapi id 15.20.3564.024; Wed, 11 Nov 2020 18:17:03 +0000 From: Jacob Champion To: Daniel Gustafsson CC: Heikki Linnakangas , Andres Freund , Postgres hackers , Michael Paquier , Andrew Dunstan , Stephen Frost , Thomas Munro Subject: Re: Support for NSS as a libpq TLS backend Thread-Topic: Support for NSS as a libpq TLS backend Thread-Index: AQHWM1w61GrKUIsl6UCBcYrYNRBt46kJRsIAgAA+PQCAGQsiAIAEdGUAgAAqk4CAAbpsAIABgI0AgCnqVACAA5UBgIAAY+MAgBTX7ACAACGAAIASngCAgAAfeICABYLFgIAbyjgAgABy24CACw63gIAAAzWAgAwa5QCAA6HPgIAAKuGAgAYXDoCAACZBAIABTCSA Date: Wed, 11 Nov 2020 18:17:03 +0000 Message-ID: <5C27CF6F-5BD3-4639-AAA6-73465595B6DF@vmware.com> References: <20200904012334.GF19499@paquier.xyz> <20200917074134.GX2873@paquier.xyz> <20200929055939.GF7117@paquier.xyz> <411593A7-E037-474D-BFD7-D3D6683C1D46@yesql.se> <20201020191529.5yverw3ybaube3pg@alap3.anarazel.de> <907FA7D1-9BD9-464B-A6EC-DEEB53438D36@yesql.se> <7ed636a0-872c-3ea7-dc44-b35dd515bb87@iki.fi> <02260088-E0C9-49A2-ACD3-CE51D65A84E3@yesql.se> <0E64F3CB-4731-4FA8-82D8-D8590086654C@vmware.com> <1B0B31E4-AD37-475C-9374-7E24AA808479@vmware.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3445.104.17) authentication-results: yesql.se; dkim=none (message not signed) header.d=none;yesql.se; dmarc=none action=none header.from=vmware.com; x-originating-ip: [50.39.198.229] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4247e081-2433-423c-1b31-08d8866dfd54 x-ms-traffictypediagnostic: MWHPR05MB3373: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 8fUcrEZCOOnBZXuZ4z0J7L9IoYiSawq3Ss9HH7ipFYRTsEDsHM3tasOK/YYXnE/JFV6ENfYf0pl7nN0SCy07mWyeZjJi39jWA29DdXzK0qDQ5E/4ZfNq4jNrLQek/Hec9a6OXfSoFuVODOGNEzFklSc7EQp4f+cpIx0M7j5Q1DkcinLgUINAw1s/YmaaNaOmmcAHjRxoXqbJAJMGi0qB91buIm/yrqMRGCpjxg4vzgW6Xe3h+Hx6qtsCSx1fkMl3zqVCwmRztyGYyThN/E37h7CZCP7MmoO1G/RFtNI1/Q0fXiZq4axejK7lKlX3oxbSgsB+8s61N/bleujMgtTwqg6l9Oa/oXkRDWQ67F00H/Pg3zeyuD162+cSNf7TARqg8pI0f4dGZduejwzODf1a0g== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR05MB2957.namprd05.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(136003)(346002)(396003)(39860400002)(366004)(64756008)(2906002)(66616009)(66446008)(66476007)(66556008)(66946007)(91956017)(76116006)(8936002)(6506007)(53546011)(6486002)(4326008)(99936003)(5660300002)(83380400001)(33656002)(186003)(966005)(36756003)(6512007)(71200400001)(6916009)(86362001)(2616005)(316002)(4744005)(26005)(54906003)(478600001)(8676002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: nP+G/s3QAL1BuMmhNPpSoeIXQsISpkD6Vezw9K0rpBbkYIS2aLpPBS4HjtCLwochqUBqsSQLHEtH6DxRXcXM1c5AqUpJYQ6MpkWQ9kppSUwejxnfp2PidgtPv8QB6JIsatVhVh1ixthvKy1miC3cvWrvg6Gg3Ocul6h+KzYVc0Hw3YiSf2uZOHMzN0iUT0df4vUiwFSZujjFaoxXb0795X1Hvn417CHdzlQogMDN6ERw15RGiYPpHBMiLEKLnMVFMBSicm7J0iII0JJhXFo6GD4LdRClJa/lGsp3EANMpIZHmrRtE7bZ78qYoJZKr+A7dLE0TArr+uvKPH28TKM5WzQMxbrBesDq/KZPbZ/O3mhCqapS3CMc1cXD1OCp8qaTDFbzGjHYH8JT2sqVepYK7vK+U2mLx/8J9BXpEkSK1Z6pK20/os1neXIqFrYN2dFhR0zgWPQGM/PopXQCwJ3Nuu1X3dpvllPbdK00keaVlPL+K3waL595VTUSYS/XHZEmLnx/+4C9xmdb+8SNLA3jHFTxynnUnIQKT+POdbBFdA/n2Ds0Vb7/wodwtj7IabvDGLJuGixrPb5TmKrBugX8+HbCcK9h19PCR1ogH4+TWXlKvBv5QsLcd6aQXdfnXe/kQ1Uf0EHXFLCO2ipdLgHsJz4u6jesUu3lRA33hXkiZ+0lUTzWmimD4M+Waao6M5BfA/vBhpnK84QVJ6A3Ay75pRgshH/7rfMhNtbZGf526qI9c/UTV08m3GNuy7d93l1iylIp8sHpQgLBP3aNXaV4egBkUR3OpZioDqPtr99JTP9jvm10JJY3294t14Z9oOGubBVsmjb7BzqhgrpFIdiKer56S9l4g+2moMzhTlz7W0agHdn5N2wxwZt4vcPBh0+6kOkNvABaA9zisc1pGIyWyA== x-ms-exchange-transport-forked: True Content-Type: multipart/mixed; boundary="_002_5C27CF6F5BD34639AAA673465595B6DFvmwarecom_" MIME-Version: 1.0 X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MWHPR05MB2957.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4247e081-2433-423c-1b31-08d8866dfd54 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Nov 2020 18:17:03.0331 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b39138ca-3cee-4b4a-a4d6-cd83d9dd62f0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: dxIMr+lC8fn0DeflauQGlGATAVKGzqPWRw20XH5MJHy0Eq8zZrvsyUDhNtw4eMjg74Oce/oX5CM8M2PFP2wCsQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR05MB3373 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --_002_5C27CF6F5BD34639AAA673465595B6DFvmwarecom_ Content-Type: text/plain; charset="us-ascii" Content-ID: Content-Transfer-Encoding: quoted-printable On Nov 10, 2020, at 2:28 PM, Daniel Gustafsson wrote: >=20 > Digging through the archives from when this landed in curl, the assertion > failure was never fully identified back then but happened spuriously. Wh= ich > version of NSPR is this happening with? This is NSPR 4.29, with debugging enabled. The fd that causes the assertion is the custom layer that's added during be_tls_open_server(), which connects a Port as the layer secret. It looks like NSPR is trying to help surface potential memory leaks by asserting if the secret is non-NULL at the time the stack is being closed. In this case, it doesn't matter since the Port lifetime is managed elsewhere, but it looks easy enough to add a custom close in the way that cURL and the NSPR test programs [1] do. Sample patch attached, which gets me to the end of the tests without any assertions. (Two failures left on my machine.) --Jacob [1] https://hg.mozilla.org/projects/nspr/file/bf6620c143/pr/tests/nblayer.c= #l354 --_002_5C27CF6F5BD34639AAA673465595B6DFvmwarecom_ Content-Type: application/octet-stream; name="patch" Content-Description: patch Content-Disposition: attachment; filename="patch"; size=1976; creation-date="Wed, 11 Nov 2020 18:17:02 GMT"; modification-date="Wed, 11 Nov 2020 18:17:02 GMT" Content-ID: <8EE02F3B04D4A74C97D46B1BEE9CAB68@namprd05.prod.outlook.com> Content-Transfer-Encoding: base64 RnJvbSBlMTg4OTVlYjMzYjNhYjZjNjZjMWNkNDYxMDYxMDk2Nzg0YTYyZTNhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWNvYiBDaGFtcGlvbiA8cGNoYW1waW9uQHZtd2FyZS5jb20+ CkRhdGU6IFdlZCwgMTEgTm92IDIwMjAgMDk6NTY6NDggLTA4MDAKU3ViamVjdDogW1BBVENIXSBp bml0X2lvbGF5ZXI6IG1hbmFnZSBmZC0+c2VjcmV0IGR1cmluZyBjbG9zZQoKSW4gZGVidWcgYnVp bGRzLCBOU1BSJ3MgZGVmYXVsdCBjbG9zZSBpbXBsZW1lbnRhdGlvbiBmb3IgZGVzY3JpcHRvcnMK Y2hlY2tzIHRvIG1ha2Ugc3VyZSB0aGF0IGFueSBwcml2YXRlIGZkLT5zZWNyZXQgaGFzIGJlZW4g TlVMTGVkIG91dCwKcHJlc3VtYWJseSB0byBwcm92ZSB0aGF0IE5TUFIgZG9lcyBub3QgbGVhayB0 aGUgbGFzdCByZWZlcmVuY2UgdG8KYWxsb2NhdGVkIG1lbW9yeS4gQWRkIGEgY3VzdG9tIGNsb3Nl IGltcGxlbWVudGF0aW9uIHRvIGhhbmRsZSB0aGUgUG9ydAp0aGF0IGlzIGNvbm5lY3RlZCB0byB0 aGUgZmQuCi0tLQogc3JjL2JhY2tlbmQvbGlicHEvYmUtc2VjdXJlLW5zcy5jIHwgMTggKysrKysr KysrKysrKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9saWJwcS9iZS1zZWN1cmUtbnNzLmMgYi9z cmMvYmFja2VuZC9saWJwcS9iZS1zZWN1cmUtbnNzLmMKaW5kZXggODZhYzQwMDc4Mi4uNzY1MjNl OTg3MCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvbGlicHEvYmUtc2VjdXJlLW5zcy5jCisrKyBi L3NyYy9iYWNrZW5kL2xpYnBxL2JlLXNlY3VyZS1uc3MuYwpAQCAtNDc3LDkgKzQ3Nyw2IEBAIGJl X3Rsc19vcGVuX3NlcnZlcihQb3J0ICpwb3J0KQogCWlmICghbGF5ZXIpCiAJCWdvdG8gZXJyb3I7 CiAKLQkvKiBTdG9yZSB0aGUgUG9ydCBhcyBwcml2YXRlIGRhdGEgYXZhaWxhYmxlIGluIGNhbGxi YWNrcyAqLwotCWxheWVyLT5zZWNyZXQgPSAodm9pZCAqKSBwb3J0OwotCiAJaWYgKFBSX1B1c2hJ T0xheWVyKHByX2ZkLCBQUl9UT1BfSU9fTEFZRVIsIGxheWVyKSAhPSBQUl9TVUNDRVNTKQogCXsK IAkJUFJfQ2xvc2UobGF5ZXIpOwpAQCAtMTA1Miw2ICsxMDQ5LDE3IEBAIHBnX3NzbF93cml0ZShQ UkZpbGVEZXNjICpmZCwgY29uc3Qgdm9pZCAqYnVmLCBQUkludDMyIGFtb3VudCwgUFJJbnRuIGZs YWdzLAogCXJldHVybiBuX3dyaXRlOwogfQogCitzdGF0aWMgUFJTdGF0dXMKK3BnX3NzbF9jbG9z ZShQUkZpbGVEZXNjICpmZCkKK3sKKwkvKgorCSAqIERpc2Nvbm5lY3Qgb3VyIHByaXZhdGUgUG9y dCBmcm9tIHRoZSBmZCBiZWZvcmUgY2xvc2luZyBvdXQgdGhlIHN0YWNrLgorCSAqIChEZWJ1ZyBi dWlsZHMgb2YgTlNQUiB3aWxsIGFzc2VydCBpZiB3ZSBkbyBub3QuKQorCSAqLworCWZkLT5zZWNy ZXQgPSBOVUxMOworCXJldHVybiBQUl9HZXREZWZhdWx0SU9NZXRob2RzKCktPmNsb3NlKGZkKTsK K30KKwogc3RhdGljIFBSRmlsZURlc2MgKgogaW5pdF9pb2xheWVyKFBvcnQgKnBvcnQpCiB7CkBA IC0xMDY4LDYgKzEwNzYsNyBAQCBpbml0X2lvbGF5ZXIoUG9ydCAqcG9ydCkKIAogCXByX2lvbWV0 aG9kcy5yZWN2ID0gcGdfc3NsX3JlYWQ7CiAJcHJfaW9tZXRob2RzLnNlbmQgPSBwZ19zc2xfd3Jp dGU7CisJcHJfaW9tZXRob2RzLmNsb3NlID0gcGdfc3NsX2Nsb3NlOwogCiAJLyoKIAkgKiBFYWNo IElPIGxheWVyIG11c3QgYmUgaWRlbnRpZmllZCBieSBhIHVuaXF1ZSBuYW1lLCB3aGVyZSB1bmlx dWVuZXNzIGlzCkBAIC0xMDk2LDYgKzExMDUsOSBAQCBpbml0X2lvbGF5ZXIoUG9ydCAqcG9ydCkK IAkJcmV0dXJuIE5VTEw7CiAJfQogCisJLyogU3RvcmUgdGhlIFBvcnQgYXMgcHJpdmF0ZSBkYXRh IGF2YWlsYWJsZSBpbiBjYWxsYmFja3MgKi8KKwlsYXllci0+c2VjcmV0ID0gKHZvaWQgKikgcG9y dDsKKwogCXJldHVybiBsYXllcjsKIH0KIAotLSAKMi4yNC4xCgo= --_002_5C27CF6F5BD34639AAA673465595B6DFvmwarecom_--