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 1n81S8-0001Ja-5V for pgsql-hackers@arkaria.postgresql.org; Thu, 13 Jan 2022 14:51:48 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1n81S6-00060i-W0 for pgsql-hackers@arkaria.postgresql.org; Thu, 13 Jan 2022 14:51:46 +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 1n81S6-00060P-Ee for pgsql-hackers@lists.postgresql.org; Thu, 13 Jan 2022 14:51:46 +0000 Received: from mail-db8eur05on2122.outbound.protection.outlook.com ([40.107.20.122] helo=EUR05-DB8-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 1n81S3-0004ZL-RA for pgsql-hackers@postgresql.org; Thu, 13 Jan 2022 14:51:46 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=L0URO1TkUWT2bZ2bURL82USCoJY1N/jHHgmKHg4oyR5sJkKzXEVCArT9pyyy7uoTh3vPPCibgDPZrLOo5OcEBywbmW/Qltzu1JOy1J884SNHr2gyVuKGlxB68feZRYN+sDkrPkwd3ew9gH34RHflyJAvfGFCqgrHJ4YVRhBzNzmlX9imwlVBaupoWq9H5KDgvnOSEuFe2zwip6pKOR3Z9IC4+pyrsXOxKmAVjN5dngLYkX5k07brJ9obj0Hje6kW8LjI45vo3rDo97eGYHGzTwjlfp2vnLH2jXH8STlK2fWqS+DHtv1gtcPA63FrYb3Ls3458/FFoI1p2oavW+w6qQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=kFTBHEwcHr0X+1K5GVyMl0ZJmQOJlPvYbdWBe36FP9Q=; b=FHbdaRp51fq5ljET5Y6SgPbANV4BldSdkATuP4l0oT1iq/6SUl5FE/+IX8LS7DY/idhVeWkBK+89b3cIw/fJyMWvI70wGu919JOYNe7kTD+zJbEFcUeUOGgX050dJt97dAgzfyvc8oCX/VsnYhuwWI9ce+M/O4H89QVPl/HBVMGuv1bTVSTc0WonWpRd2fFEu6y64VNFCuXMd8x04ZYSf1qeVOPwqhzIK2OQPmSuKkenQvX4BZJ479Ope0/E7FCw7WBHMCuil2ZSzOmtN5TbqapAMfECYjmX1scSBz2RzbG0LoKDQ4C8nW/Sg2grCAUaqv3f46ltErlIF3aay+Wuww== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kFTBHEwcHr0X+1K5GVyMl0ZJmQOJlPvYbdWBe36FP9Q=; b=ipvWv4WaW6sY4i4BlMq9k+hVUgxmCmVuX/cFzQP/2MObfHnsTrF0zktvVIyeUPcu0OJ77RZzLi1AiDjf03NJH5uVrFkBsWpg59BurlC3b5kzoz+19EuJQRtgrdIrCi7T7JIjclUCmHyD23Tay53zjUB9jTct3wTTrbdyMDi7F04= Received: from AM5PR83MB0178.EURPRD83.prod.outlook.com (2603:10a6:206:25::31) by AM5PR83MB0212.EURPRD83.prod.outlook.com (2603:10a6:224:e::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.1; Thu, 13 Jan 2022 14:51:40 +0000 Received: from AM5PR83MB0178.EURPRD83.prod.outlook.com ([fe80::94c7:60b4:5670:3b04]) by AM5PR83MB0178.EURPRD83.prod.outlook.com ([fe80::94c7:60b4:5670:3b04%5]) with mapi id 15.20.4909.001; Thu, 13 Jan 2022 14:51:40 +0000 From: Jelte Fennema To: Andres Freund CC: "pgsql-hackers@postgresql.org" Subject: Re: Add non-blocking version of PQcancel Thread-Topic: Add non-blocking version of PQcancel Thread-Index: AQHYCI0SwADhK3qLxkSGSoq0ynWo4Q== Date: Thu, 13 Jan 2022 14:51:40 +0000 Message-ID: References: <20220113004411.3tdgiqdmmo4musb5@alap3.anarazel.de> In-Reply-To: <20220113004411.3tdgiqdmmo4musb5@alap3.anarazel.de> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=True;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2022-01-13T14:51:39.322Z;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=General;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=microsoft.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 893af9b3-c579-4bb6-6c86-08d9d6a43525 x-ms-traffictypediagnostic: AM5PR83MB0212:EE_ x-ms-exchange-atpmessageproperties: SA|SL x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1775; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: uFVM6eEmp+st1lb4cE8wZvt6RdqzfFUypjQ/MMO5KdVRkQ0O4hxYqirmCc9+9Hetn2ytFpuIkP0toyjo9ae7dUPCGXpQ32W6zHFYai4+MWMzqyVE9cxURftzq1W7WXK0YDJZ19HkhbQcPJrnPe9Xk1XvdRZ0cd15555mmtiqfcxnxiJ/ViygwtuBx4yqjHmsvMnSOjIsq5wWwg7BlwU163QzAMlGnm+SEhT2hheYrJ0bo8bP2M4O7Xk9aF3OfpqIHLu//a7s8josJPYzzyGTPTzgldq9fJ7d3Lb6FDLY/UC+uDdx4mofGhg2NYjEhVXFjO8/UFoZGaSkQrHlL/yRzVias/iS0wMoDb0fyyohJq3QQ5f1IJK2GC/A+CNfv+5nYuupLtc65PR8/EjTGoBsN/AtqhTdq+D1qCcDoP7vNDuDtOt7LDZNyB69lITgFZTQQAu5uFkbHbLAO90jsxyD6TYGjIxXhagvMlfaDIufcZcxuvlsMNulzAPqIuLx8na5fThqcLbDshQ0z2JSwYf2VoGxUFMcmqsXbb72PCPu4Bbkot5YF1ChpUkdy4kmMRqoLdVDKpeaxk8i7K5JDO3bzLWSYJBgfsRcbzz7+oNA2ruiJecJwNr0hrktZgEe1YqxyVpq5qjq6fSI4pcvtWSomUlzR+RioaytPJnEol7CLrgPMo9IjlRoHk6UW29Ek/cRiNARsE2FeGKBme8oLCKDJ82TrX2UPt8Fzb7Twi68287QfSh5ruy9wPD2kstPYcG0 x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM5PR83MB0178.EURPRD83.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(33656002)(76116006)(316002)(6916009)(508600001)(10290500003)(91956017)(86362001)(558084003)(19627405001)(5660300002)(71200400001)(52536014)(38070700005)(55016003)(26005)(186003)(8990500004)(2906002)(7696005)(9686003)(6506007)(122000001)(99936003)(38100700002)(83380400001)(66556008)(66946007)(8936002)(64756008)(82960400001)(66446008)(8676002)(4326008)(66476007)(82950400001)(20210929001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?f1C9XidCL2ykSIdFSL+VtWsr1dfNVVzQOm5c0iI2f6FsPaROBMXynIoWKW?= =?iso-8859-1?Q?LlrOb2UIiD6MvbqUOqqG8HSGy7a/gZ7TO0i4RQArTm35I6LLQ05SNdop/L?= =?iso-8859-1?Q?Wj/toJJDvNIMOUiXTZWcPV3r+x5SKSbSKZetjPGpRCJYmtNWtSpkInCW8z?= =?iso-8859-1?Q?v/bjhh7Fc1BbKd2XCOg4IknjY1bT1rDhR/9rJvBf0ZmQnbiKm8CHi7PIMm?= =?iso-8859-1?Q?+Gdk9h21p5IUYqswmlumOFeaNBU1C9Bl9lqnAHj3Gl8d/mRMCnoDuSrUOw?= =?iso-8859-1?Q?HnHhBHfPHVgNgh98/aG7x0JQgyCye7idU1XXxZN2neDy9TYgNdJU7HtTvj?= =?iso-8859-1?Q?J46NmiVeRJaiLLpO74jrGO7sOsbcpJn/sDHKGuRVZtAtpnoNtLwmuJC0RB?= =?iso-8859-1?Q?fx/5la+q2cLAhpPyNngmZiFjsMWhHSfU8PchGlj6XHrdMfXMmJS34Gmvmx?= =?iso-8859-1?Q?ZrdHgQ94m2ulVouWKAzLoVmirl0JVG7N4BHWCO5Lxnnn+KEZg+m+139ZxN?= =?iso-8859-1?Q?dinF4M0q2dxZWATYXr2Nr4u0LGmJlBFNB9SGSU4y2KNvE5Eog0ENay41IW?= =?iso-8859-1?Q?mV5AgB/EJDyNuDTdz/Mgh4Z9tVu9FXkuj52eX142T7KaaZf8ckqN4YQkqt?= =?iso-8859-1?Q?ir2VdlR35VBXg78QQ72aj8p+1Z1SeCG0Lp0Si428jhf9ZeP/Vvi7cDI5s9?= =?iso-8859-1?Q?D4EzIXM0w4yQ6w5C+qa+AMyev61AdEw9HbEmEoEfgDGt0R9wSGzGJWKZ2A?= =?iso-8859-1?Q?tC1i+kZNWB8gEijWKRRCxXWh1g2wpWNS1HcZuU1t1H46vruuMwQHWf7nTT?= =?iso-8859-1?Q?qKHfVf9J7w51m8+8js1Lg6plTCYX5ywkLN0kydYHpS+4tuzhgyD5qBWHcY?= =?iso-8859-1?Q?MFwpAUHHWHKHbtOE3i77P3hoakAsys+TziiQ0k7CPjKEUg1j2Mc0wBeULU?= =?iso-8859-1?Q?03nwnXHWTEAyzpGsOxEfraRoRAYoahV3hHPgvMySehmyar9xj5CIWXue/5?= =?iso-8859-1?Q?jnCyfWsdC+0kBMnC1AztQr4f7VKMxGIJi779paYmohcvUply6Jzpsvhaso?= =?iso-8859-1?Q?Rz5uSaNCVrr/TZe8J/IU56nsg99II1oEhu9fsob92k8UFPxKPcpdcjG1Kh?= =?iso-8859-1?Q?66inC8RzQM+UOYyHDdoYoby/C9bxVKSC+88A100SnUKOGC+5DWyavAUuiM?= =?iso-8859-1?Q?Zw0MSNo5kNBzyQZ7Yd3oyLd684SIxZC6xh47+brUb6/FjbJRTSkHjVTB/E?= =?iso-8859-1?Q?AmVUwxgcWpQLbupG2oQ89xQ9JhzSCRuGkor5oujfcE+v8k+Xhzmj3ssnb/?= =?iso-8859-1?Q?NJMBYPuDLv+ypUZm2B+poUnEKy1sw0K4KDBBp/fjPjlewJ+xNT/llKcBZa?= =?iso-8859-1?Q?+6JI4UMLJCnksC73XvXZR30Bv3FtnUU6HRRANyU07QbFETuE4aEt8QSQRc?= =?iso-8859-1?Q?iLCBao6izGoVS4F6ZzEn6m/eIcEvPKwm4YT5YUd5hBCGS28oueElpQ59cp?= =?iso-8859-1?Q?F56NNl7vtMfneH99kkL8P57Uo2+RRdNlstzB/hcJZE35nxf1SW/+n86bR9?= =?iso-8859-1?Q?dzyP/DHhY28Ov3lyE6JJ88NA5ZghUa+vyEi4ibvx6YUXMEIxIt2n+Xzdxj?= =?iso-8859-1?Q?N+NBoHCd5pDnniU4opNEm1dRQ5kfJSW4kh3WpZHnyMUUDsHs9r+q+ByYnh?= =?iso-8859-1?Q?YIepOzmoqYTh8CfGTbk=3D?= Content-Type: multipart/mixed; boundary="_005_AM5PR83MB0178CE0CEB690F1C041355B7F7539AM5PR83MB0178EURP_" MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM5PR83MB0178.EURPRD83.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 893af9b3-c579-4bb6-6c86-08d9d6a43525 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jan 2022 14:51:40.2267 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 1/9tRoxFxV2EPz4vpA0xMmZNVoUK4dEC49RYHSGVxSHvVIy3ZS4U2CkycXz8zVsBz+oZY58dYILoc5j7M+SalQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR83MB0212 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_005_AM5PR83MB0178CE0CEB690F1C041355B7F7539AM5PR83MB0178EURP_ Content-Type: multipart/alternative; boundary="_000_AM5PR83MB0178CE0CEB690F1C041355B7F7539AM5PR83MB0178EURP_" --_000_AM5PR83MB0178CE0CEB690F1C041355B7F7539AM5PR83MB0178EURP_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Attached is an updated patch which I believe fixes windows and the other te= st failures. At least on my machine make check-world passes now when compiled with --ena= ble-tap-tests I also included a second patch which adds some basic documentation for the = libpq tests. --_000_AM5PR83MB0178CE0CEB690F1C041355B7F7539AM5PR83MB0178EURP_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Attached is an updated patch which I believe fixes windows and the other te= st failures.
At least on my machine make check-world passes now when compiled with --ena= ble-tap-tests

I also included a second patch which adds some basic documentation for the = libpq tests.
--_000_AM5PR83MB0178CE0CEB690F1C041355B7F7539AM5PR83MB0178EURP_-- --_005_AM5PR83MB0178CE0CEB690F1C041355B7F7539AM5PR83MB0178EURP_ Content-Type: application/octet-stream; name="0001-Add-non-blocking-version-of-PQcancel.patch" Content-Description: 0001-Add-non-blocking-version-of-PQcancel.patch Content-Disposition: attachment; filename="0001-Add-non-blocking-version-of-PQcancel.patch"; size=18638; creation-date="Thu, 13 Jan 2022 14:34:28 GMT"; modification-date="Thu, 13 Jan 2022 14:34:34 GMT" Content-Transfer-Encoding: base64 RnJvbSAzNjE5ZGRjZmMxMWQ3ZDBjYzM5Y2I2ZGMxMmE4NTYxZmI4OTViMzg1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWx0ZSBGZW5uZW1hIDxqZWx0ZS5mZW5uZW1hQG1pY3Jvc29m dC5jb20+CkRhdGU6IFdlZCwgMTIgSmFuIDIwMjIgMDk6NTI6MDUgKzAxMDAKU3ViamVjdDogW1BB VENIIDEvMl0gQWRkIG5vbi1ibG9ja2luZyB2ZXJzaW9uIG9mIFBRY2FuY2VsCgpUaGUgZXhpc3Rp bmcgUFFjYW5jZWwgQVBJIGlzIHVzaW5nIGJsb2NraW5nIElPLiBUaGlzIG1ha2VzIFBRY2FuY2Vs CmltcG9zc2libGUgdG8gdXNlIGluIGFuIGV2ZW50IGxvb3AgYmFzZWQgY29kZWJhc2UsIHdpdGhv dXQgYmxvY2tpbmcgdGhlCmV2ZW50IGxvb3AgdW50aWwgdGhlIGNhbGwgcmV0dXJucy4KClRoaXMg cGF0Y2ggYWRkcyBhIG5ldyBjYW5jZWxsYXRpb24gQVBJIHRvIGxpYnBxIHdoaWNoIGlzIGNhbGxl ZApQUWNhbmNlbENvbm5lY3Rpb25TdGFydC4gVGhpcyBBUEkgY2FuIGJlIHVzZWQgdG8gc2VuZCBj YW5jZWxsYXRpb25zIGluIGEKbm9uLWJsb2NraW5nIGZhc2hpb24uIFRvIGRvIHRoaXMgaXQgaW50 ZXJuYWxseSB1c2VzIHJlZ3VsYXIgUEdjb25uCmNvbm5lY3Rpb24gZXN0YWJsaXNobWVudC4gVGhp cyBoYXMgYXMgYSBkb3duc2lkZSB0aGF0ClBRY2FuY2VsQ29ubmVjdGlvblN0YXJ0IGNhbm5vdCBi ZSBzYWZlbHkgY2FsbGVkIGZyb20gYSAgc2lnbmFsIGhhbmRsZXIuCgpMdWNraWx5LCB0aGlzIHNo b3VsZCBiZSBmaW5lIGZvciBtb3N0IHVzYWdlcyBvZiB0aGlzIEFQSS4gU2luY2UgbW9zdApjb2Rl IHRoYXQncyB1c2luZyBhbiBldmVudCBsb29wIGhhbmRsZXMgc2lnbmFscyBpbiB0aGF0IGV2ZW50 IGxvb3AgYXMKd2VsbCAoYXMgb3Bwb3NlZCB0byBjYWxsaW5nIGZ1bmN0aW9ucyBmcm9tIHRoZSBz aWduYWwgaGFuZGxlciBkaXJlY3RseSkuCgpUaGVyZSBhcmUgYWxzbyBhIGZldyBhZHZhbnRhZ2Vz IG9mIHRoaXMgYXBwcm9hY2g6CjEuIE5vIG5lZWQgdG8gYWRkIGFuZCBtYWludGFpbiBhIHNlY29u ZCBub24tYmxvY2tpbmcgY29ubmVjdGlvbgogICBlc3RhYmxpc2htZW50IGNvZGVwYXRoLgoyLiBD YW5jZWwgY29ubmVjdGlvbnMgYmVuZWZpdCBhdXRvbWF0aWNhbGx5IGZyb20gYW55IGltcHJvdmVt ZW50cyBtYWRlCiAgIHRvIHRoZSBub3JtYWwgY29ubmVjdGlvbiBlc3RhYmxpc2htZW50IGNvZGVw YXRoLiBFeGFtcGxlcyBvZiB0aGluZ3MKICAgdGhhdCBpdCBjdXJyZW50bHkgZ2V0cyBmb3IgZnJl ZSBjdXJyZW50bHkgYXJlIFRMUyBzdXBwb3J0IGFuZAogICBrZWVwYWxpdmUgc2V0dGluZ3MuCgpU aGlzIHBhdGNoIGFsc28gaW5jbHVkZXMgYSB0ZXN0IGZvciB0aGlzIG5ldyBBUEkgKGFuZCBhbHNv IHRoZSBhbHJlYWR5CmV4aXN0aW5nIGNhbmNlbGxhdGlvbiBBUElzKS4gVGhlIHRlc3QgY2FuIGJl IGVhc2lseSBydW4gbGlrZSB0aGlzOgoKICAgIGNkIHNyYy90ZXN0L21vZHVsZXMvbGlicHFfcGlw ZWxpbmUKICAgIG1ha2UgJiYgLi9saWJwcV9waXBlbGluZSBjYW5jZWwKCk5PVEU6IEkgaGF2ZSBu b3QgdGVzdGVkIHRoaXMgd2l0aCBHU1MgZm9yIHRoZSBtb21lbnQuIE15IGV4cGVjdGF0aW9uIGlz CnRoYXQgdXNpbmcgdGhpcyBuZXcgQVBJIHdpdGggYSBHU1MgY29ubmVjdGlvbiB3aWxsIHJlc3Vs dCBpbiBhCkNPTk5FQ1RJT05fQkFEIHN0YXR1cyB3aGVuIGNhbGxpbmcgUFFjYW5jZWxTdGF0dXMu IFRoZSByZWFzb24gZm9yIHRoaXMKaXMgdGhhdCBHU1MgcmVhZHMgd2lsbCBhbHNvIG5lZWQgdG8g Y29tbXVuaWNhdGUgYmFjayB0aGF0IGFuIEVPRiB3YXMKZm91bmQsIGp1c3QgbGlrZSBJJ3ZlIGRv bmUgZm9yIFRMUyByZWFkcyBhbmQgdW5lbmNyeXB0ZWQgcmVhZHMuIFNpbmNlIGluCmNhc2Ugb2Yg YSBjYW5jZWwgY29ubmVjdGlvbiBhbiBFT0YgaXMgYWN0dWFsbHkgZXhwZWN0ZWQsIGFuZCBzaG91 bGQgbm90CmJlIHRyZWF0ZWQgYXMgYW4gZXJyb3IuCi0tLQogc3JjL2ludGVyZmFjZXMvbGlicHEv ZXhwb3J0cy50eHQgICAgICAgICAgICAgIHwgICA3ICsKIHNyYy9pbnRlcmZhY2VzL2xpYnBxL2Zl LWNvbm5lY3QuYyAgICAgICAgICAgICB8IDE5MiArKysrKysrKysrKysrKysrKy0KIHNyYy9pbnRl cmZhY2VzL2xpYnBxL2ZlLW1pc2MuYyAgICAgICAgICAgICAgICB8ICAxNSArLQogc3JjL2ludGVy ZmFjZXMvbGlicHEvZmUtc2VjdXJlLW9wZW5zc2wuYyAgICAgIHwgICAyICstCiBzcmMvaW50ZXJm YWNlcy9saWJwcS9mZS1zZWN1cmUuYyAgICAgICAgICAgICAgfCAgIDMgKwogc3JjL2ludGVyZmFj ZXMvbGlicHEvbGlicHEtZmUuaCAgICAgICAgICAgICAgIHwgIDEzICsrCiBzcmMvaW50ZXJmYWNl cy9saWJwcS9saWJwcS1pbnQuaCAgICAgICAgICAgICAgfCAgIDggKwogLi4uL21vZHVsZXMvbGli cHFfcGlwZWxpbmUvbGlicHFfcGlwZWxpbmUuYyAgIHwgMTE1ICsrKysrKysrKystCiA4IGZpbGVz IGNoYW5nZWQsIDM0NyBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L3NyYy9pbnRlcmZhY2VzL2xpYnBxL2V4cG9ydHMudHh0IGIvc3JjL2ludGVyZmFjZXMvbGlicHEv ZXhwb3J0cy50eHQKaW5kZXggZThiY2M4ODM3MC4uYTA2MjE0YTc4ZiAxMDA2NDQKLS0tIGEvc3Jj L2ludGVyZmFjZXMvbGlicHEvZXhwb3J0cy50eHQKKysrIGIvc3JjL2ludGVyZmFjZXMvbGlicHEv ZXhwb3J0cy50eHQKQEAgLTE4NiwzICsxODYsMTAgQEAgUFFwaXBlbGluZVN0YXR1cyAgICAgICAg ICAxODMKIFBRc2V0VHJhY2VGbGFncyAgICAgICAgICAgMTg0CiBQUW1ibGVuQm91bmRlZCAgICAg ICAgICAgIDE4NQogUFFzZW5kRmx1c2hSZXF1ZXN0ICAgICAgICAxODYKK1BRY2FuY2VsQ29ubmVj dCAgICAgICAgICAgMTg3CitQUWNhbmNlbENvbm5lY3RTdGFydCAgICAgIDE4OAorUFFjYW5jZWxD b25uZWN0UG9sbCAgICAgICAxODkKK1BRY2FuY2VsU3RhdHVzICAgICAgICAgICAgMTkwCitQUWNh bmNlbFNvY2tldCAgICAgICAgICAgIDE5MQorUFFjYW5jZWxFcnJvck1lc3NhZ2UgICAgICAxOTIK K1BRY2FuY2VsRmluaXNoICAgICAgICAgICAgMTkzCmRpZmYgLS1naXQgYS9zcmMvaW50ZXJmYWNl cy9saWJwcS9mZS1jb25uZWN0LmMgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1jb25uZWN0LmMK aW5kZXggNWZjMTZiZTg0OS4uMzQ3ZDMyYWQ1ZiAxMDA2NDQKLS0tIGEvc3JjL2ludGVyZmFjZXMv bGlicHEvZmUtY29ubmVjdC5jCisrKyBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWNvbm5lY3Qu YwpAQCAtMzc4LDYgKzM3OCw3IEBAIHN0YXRpYyBpbnQJY29ubmVjdERCQ29tcGxldGUoUEdjb25u ICpjb25uKTsKIHN0YXRpYyBQR1BpbmcgaW50ZXJuYWxfcGluZyhQR2Nvbm4gKmNvbm4pOwogc3Rh dGljIFBHY29ubiAqbWFrZUVtcHR5UEdjb25uKHZvaWQpOwogc3RhdGljIGJvb2wgZmlsbFBHY29u bihQR2Nvbm4gKmNvbm4sIFBRY29ubmluZm9PcHRpb24gKmNvbm5PcHRpb25zKTsKK3N0YXRpYyBi b29sIGNvcHlQR2Nvbm4oUEdjb25uICpzcmNDb25uLCBQR2Nvbm4gKmRzdENvbm4pOwogc3RhdGlj IHZvaWQgZnJlZVBHY29ubihQR2Nvbm4gKmNvbm4pOwogc3RhdGljIHZvaWQgY2xvc2VQR2Nvbm4o UEdjb25uICpjb25uKTsKIHN0YXRpYyB2b2lkIHJlbGVhc2VfY29ubl9hZGRyaW5mbyhQR2Nvbm4g KmNvbm4pOwpAQCAtNjA0LDggKzYwNSwxMSBAQCBwcURyb3BTZXJ2ZXJEYXRhKFBHY29ubiAqY29u bikKIAlpZiAoY29ubi0+d3JpdGVfZXJyX21zZykKIAkJZnJlZShjb25uLT53cml0ZV9lcnJfbXNn KTsKIAljb25uLT53cml0ZV9lcnJfbXNnID0gTlVMTDsKLQljb25uLT5iZV9waWQgPSAwOwotCWNv bm4tPmJlX2tleSA9IDA7CisJaWYgKCFjb25uLT5jYW5jZWxSZXF1ZXN0KQorCXsKKwkJY29ubi0+ YmVfcGlkID0gMDsKKwkJY29ubi0+YmVfa2V5ID0gMDsKKwl9CiB9CiAKIApAQCAtNzM3LDYgKzc0 MSwxMjAgQEAgUFFwaW5nKGNvbnN0IGNoYXIgKmNvbm5pbmZvKQogCXJldHVybiByZXQ7CiB9CiAK Ky8qCisgKgkJUFFjYW5jZWxDb25uZWN0U3RhcnQKKyAqCisgKiBBc3luY2hyb25vdXNseSBjYW5j ZWwgYSByZXF1ZXN0IG9uIHRoZSBnaXZlbiBjb25uZWN0aW9uLiBUaGlzIHJlcXVpcmVzCisgKiBw b2xsaW5nIHRoZSByZXR1cm5lZCBQR2Nvbm4gdG8gYWN0dWFsbHkgY29tcGxldGUgdGhlIGNhbmNl bGxhdGlvbiBvZiB0aGUKKyAqIHJlcXVlc3QuCisgKi8KK1BHY2FuY2VsQ29ubiAqCitQUWNhbmNl bENvbm5lY3RTdGFydChQR2Nvbm4gKmNvbm4pCit7CisJUEdjb25uCSAgICpjYW5jZWxDb25uID0g bWFrZUVtcHR5UEdjb25uKCk7CisKKwlpZiAoY2FuY2VsQ29ubiA9PSBOVUxMKQorCQlyZXR1cm4g TlVMTDsKKworCS8qCisJICogSW5kaWNhdGUgdGhhdCB0aGlzIGNvbm5lY3Rpb24gaXMgdXNlZCB0 byBzZW5kIGEgY2FuY2VsbGF0aW9uCisJICovCisJY2FuY2VsQ29ubi0+Y2FuY2VsUmVxdWVzdCA9 IHRydWU7CisKKwlpZiAoIWNvcHlQR2Nvbm4oY29ubiwgY2FuY2VsQ29ubikpCisJCXJldHVybiAo UEdjYW5jZWxDb25uICopIGNhbmNlbENvbm47CisKKwkvKgorCSAqIENvcHkgb3ZlciBpbmZvcm1h dGlvbiBuZWVkZWQgdG8gY2FuY2VsCisJICovCisJY2FuY2VsQ29ubi0+YmVfcGlkID0gY29ubi0+ YmVfcGlkOworCWNhbmNlbENvbm4tPmJlX2tleSA9IGNvbm4tPmJlX2tleTsKKworCS8qCisJICog Q29tcHV0ZSBkZXJpdmVkIG9wdGlvbnMKKwkgKi8KKwlpZiAoIWNvbm5lY3RPcHRpb25zMihjYW5j ZWxDb25uKSkKKwkJcmV0dXJuIChQR2NhbmNlbENvbm4gKikgY2FuY2VsQ29ubjsKKworCS8qCisJ ICogQ29ubmVjdCB0byB0aGUgZGF0YWJhc2UKKwkgKi8KKwlpZiAoIWNvbm5lY3REQlN0YXJ0KGNh bmNlbENvbm4pKQorCXsKKwkJLyogSnVzdCBpbiBjYXNlIHdlIGZhaWxlZCB0byBzZXQgaXQgaW4g Y29ubmVjdERCU3RhcnQgKi8KKwkJY2FuY2VsQ29ubi0+c3RhdHVzID0gQ09OTkVDVElPTl9CQUQ7 CisJfQorCisJcmV0dXJuIChQR2NhbmNlbENvbm4gKikgY2FuY2VsQ29ubjsKK30KKworLyoKKyAq CQlQUWNhbmNlbENvbm5lY3QKKyAqCisgKiBDYW5jZWwgYSByZXF1ZXN0IG9uIHRoZSBnaXZlbiBj b25uZWN0aW9uCisgKi8KK1BHY2FuY2VsQ29ubiAqCitQUWNhbmNlbENvbm5lY3QoUEdjb25uICpj b25uKQoreworCVBHY2FuY2VsQ29ubiAqY2FuY2VsQ29ubiA9IFBRY2FuY2VsQ29ubmVjdFN0YXJ0 KGNvbm4pOworCisJaWYgKGNhbmNlbENvbm4gJiYgY2FuY2VsQ29ubi0+Y29ubi5zdGF0dXMgIT0g Q09OTkVDVElPTl9CQUQpCisJCSh2b2lkKSBjb25uZWN0REJDb21wbGV0ZSgmY2FuY2VsQ29ubi0+ Y29ubik7CisKKwlyZXR1cm4gY2FuY2VsQ29ubjsKK30KKworLyoKKyAqCQlQUWNhbmNlbENvbm5l Y3RQb2xsCisgKgorICogUG9sbCBhIGNhbmNlbCBjb25uZWN0aW9uLiBGb3IgdXNhZ2UgZGV0YWls cyBzZWUgdGhlIFBRY29ubmVjdFBvbGwuCisgKi8KK1Bvc3RncmVzUG9sbGluZ1N0YXR1c1R5cGUK K1BRY2FuY2VsQ29ubmVjdFBvbGwoUEdjYW5jZWxDb25uICogY2FuY2VsQ29ubikKK3sKKwlyZXR1 cm4gUFFjb25uZWN0UG9sbCgoUEdjb25uICopIGNhbmNlbENvbm4pOworfQorCisvKgorICoJCVBR Y2FuY2VsU3RhdHVzCisgKgorICogR2V0IHRoZSBzdGF0dXMgb2YgYSBjYW5jZWwgY29ubmVjdGlv bi4KKyAqLworQ29ublN0YXR1c1R5cGUKK1BRY2FuY2VsU3RhdHVzKGNvbnN0IFBHY2FuY2VsQ29u biAqIGNhbmNlbENvbm4pCit7CisJcmV0dXJuIFBRc3RhdHVzKChQR2Nvbm4gKikgY2FuY2VsQ29u bik7Cit9CisKKy8qCisgKgkJUFFjYW5jZWxTb2NrZXQKKyAqCisgKiBHZXQgdGhlIHNvY2tldCBv ZiB0aGUgY2FuY2VsIGNvbm5lY3Rpb24uCisgKi8KK2ludAorUFFjYW5jZWxTb2NrZXQoY29uc3Qg UEdjYW5jZWxDb25uICogY2FuY2VsQ29ubikKK3sKKwlyZXR1cm4gUFFzb2NrZXQoKFBHY29ubiAq KSBjYW5jZWxDb25uKTsKK30KKworLyoKKyAqCQlQUWNhbmNlbEVycm9yTWVzc2FnZQorICoKKyAq IEdldCB0aGUgc29ja2V0IG9mIHRoZSBjYW5jZWwgY29ubmVjdGlvbi4KKyAqLworY2hhciAqCitQ UWNhbmNlbEVycm9yTWVzc2FnZShjb25zdCBQR2NhbmNlbENvbm4gKiBjYW5jZWxDb25uKQorewor CXJldHVybiBQUWVycm9yTWVzc2FnZSgoUEdjb25uICopIGNhbmNlbENvbm4pOworfQorCit2b2lk CitQUWNhbmNlbEZpbmlzaChQR2NhbmNlbENvbm4gKiBjYW5jZWxDb25uKQoreworCVBRZmluaXNo KChQR2Nvbm4gKikgY2FuY2VsQ29ubik7Cit9CisKKwogLyoKICAqCQlQUWNvbm5lY3RTdGFydFBh cmFtcwogICoKQEAgLTkxNCw2ICsxMDMyLDQ2IEBAIGZpbGxQR2Nvbm4oUEdjb25uICpjb25uLCBQ UWNvbm5pbmZvT3B0aW9uICpjb25uT3B0aW9ucykKIAlyZXR1cm4gdHJ1ZTsKIH0KIAorLyoKKyAq IENvcHkgb3ZlciBvcHRpb24gdmFsdWVzIGZyb20gc3JjQ29ubiB0byBkc3RDb25uCisgKgorICog RG9uJ3QgcHV0IGFueXRoaW5nIGN1dGUgaGVyZSAtLS0gaW50ZWxsaWdlbmNlIHNob3VsZCBiZSBp bgorICogY29ubmVjdE9wdGlvbnMyIC4uLgorICoKKyAqIFJldHVybnMgdHJ1ZSBvbiBzdWNjZXNz LiBPbiBmYWlsdXJlLCByZXR1cm5zIGZhbHNlIGFuZCBzZXRzIGVycm9yIG1lc3NhZ2Ugb2YKKyAq IGRzdENvbm4uCisgKi8KK3N0YXRpYyBib29sCitjb3B5UEdjb25uKFBHY29ubiAqc3JjQ29ubiwg UEdjb25uICpkc3RDb25uKQoreworCWNvbnN0IGludGVybmFsUFFjb25uaW5mb09wdGlvbiAqb3B0 aW9uOworCisJLyogY29weSBvdmVyIGNvbm5lY3Rpb24gb3B0aW9ucyAqLworCWZvciAob3B0aW9u ID0gUFFjb25uaW5mb09wdGlvbnM7IG9wdGlvbi0+a2V5d29yZDsgb3B0aW9uKyspCisJeworCQlp ZiAob3B0aW9uLT5jb25ub2ZzID49IDApCisJCXsKKwkJCWNvbnN0IGNoYXIgKip0bXAgPSAoY29u c3QgY2hhciAqKikgKChjaGFyICopIHNyY0Nvbm4gKyBvcHRpb24tPmNvbm5vZnMpOworCisJCQlp ZiAoKnRtcCkKKwkJCXsKKwkJCQljaGFyCSAgKipkc3RDb25ubWVtYmVyID0gKGNoYXIgKiopICgo Y2hhciAqKSBkc3RDb25uICsgb3B0aW9uLT5jb25ub2ZzKTsKKworCQkJCWlmICgqZHN0Q29ubm1l bWJlcikKKwkJCQkJZnJlZSgqZHN0Q29ubm1lbWJlcik7CisJCQkJKmRzdENvbm5tZW1iZXIgPSBz dHJkdXAoKnRtcCk7CisJCQkJaWYgKCpkc3RDb25ubWVtYmVyID09IE5VTEwpCisJCQkJeworCQkJ CQlhcHBlbmRQUUV4cEJ1ZmZlclN0cigmZHN0Q29ubi0+ZXJyb3JNZXNzYWdlLAorCQkJCQkJCQkJ CSBsaWJwcV9nZXR0ZXh0KCJvdXQgb2YgbWVtb3J5XG4iKSk7CisJCQkJCXJldHVybiBmYWxzZTsK KwkJCQl9CisJCQl9CisJCX0KKwl9CisJcmV0dXJuIHRydWU7Cit9CisKIC8qCiAgKgkJY29ubmVj dE9wdGlvbnMxCiAgKgpAQCAtMjI3Niw2ICsyNDM0LDE3IEBAIFBRY29ubmVjdFBvbGwoUEdjb25u ICpjb25uKQogCQkJCS8qIExvYWQgd2FpdGluZyBkYXRhICovCiAJCQkJaW50CQkJbiA9IHBxUmVh ZERhdGEoY29ubik7CiAKKwkJCQlpZiAobiA9PSAtMiAmJiBjb25uLT5jYW5jZWxSZXF1ZXN0KQor CQkJCXsKKwkJCQkJLyoKKwkJCQkJICogVGhpcyBpcyB0aGUgZXhwZWN0ZWQgZW5kIHN0YXRlIGZv ciBjYW5jZWwgY29ubmVjdGlvbnMuCisJCQkJCSAqIFRoZXkgYXJlIGNsb3NlZCBvbmNlIHRoZSBj YW5jZWwgaXMgcHJvY2Vzc2VkIGJ5IHRoZQorCQkJCQkgKiBzZXJ2ZXIuCisJCQkJCSAqLworCQkJ CQljb25uLT5zdGF0dXMgPSBDT05ORUNUSU9OX0NBTkNFTF9GSU5JU0hFRDsKKwkJCQkJcmVzZXRQ UUV4cEJ1ZmZlcigmY29ubi0+ZXJyb3JNZXNzYWdlKTsKKwkJCQkJcmV0dXJuIFBHUkVTX1BPTExJ TkdfT0s7CisJCQkJfQogCQkJCWlmIChuIDwgMCkKIAkJCQkJZ290byBlcnJvcl9yZXR1cm47CiAJ CQkJaWYgKG4gPT0gMCkKQEAgLTI5NTAsNiArMzExOSwyNSBAQCBrZWVwX2dvaW5nOgkJCQkJCS8q IFdlIHdpbGwgY29tZSBiYWNrIHRvIGhlcmUgdW50aWwgdGhlcmUgaXMKIAkJCQl9CiAjZW5kaWYJ CQkJCQkJLyogVVNFX1NTTCAqLwogCisJCQkJaWYgKGNvbm4tPmNhbmNlbFJlcXVlc3QpCisJCQkJ eworCQkJCQlDYW5jZWxSZXF1ZXN0UGFja2V0IGNhbmNlbHBhY2tldDsKKworCQkJCQlwYWNrZXRs ZW4gPSBzaXplb2YoY2FuY2VscGFja2V0KTsKKwkJCQkJY2FuY2VscGFja2V0LmNhbmNlbFJlcXVl c3RDb2RlID0gKE1zZ1R5cGUpIHBnX2h0b24zMihDQU5DRUxfUkVRVUVTVF9DT0RFKTsKKwkJCQkJ Y2FuY2VscGFja2V0LmJhY2tlbmRQSUQgPSBwZ19odG9uMzIoY29ubi0+YmVfcGlkKTsKKwkJCQkJ Y2FuY2VscGFja2V0LmNhbmNlbEF1dGhDb2RlID0gcGdfaHRvbjMyKGNvbm4tPmJlX2tleSk7CisJ CQkJCWlmIChwcVBhY2tldFNlbmQoY29ubiwgMCwgJmNhbmNlbHBhY2tldCwgcGFja2V0bGVuKSAh PSBTVEFUVVNfT0spCisJCQkJCXsKKwkJCQkJCWFwcGVuZFBRRXhwQnVmZmVyKCZjb25uLT5lcnJv ck1lc3NhZ2UsCisJCQkJCQkJCQkJICBsaWJwcV9nZXR0ZXh0KCJjb3VsZCBub3Qgc2VuZCBjYW5j ZWwgcGFja2V0OiAlc1xuIiksCisJCQkJCQkJCQkJICBTT0NLX1NUUkVSUk9SKFNPQ0tfRVJSTk8s IHNlYnVmLCBzaXplb2Yoc2VidWYpKSk7CisJCQkJCQlnb3RvIGVycm9yX3JldHVybjsKKwkJCQkJ fQorCQkJCQljb25uLT5zdGF0dXMgPSBDT05ORUNUSU9OX0FXQUlUSU5HX1JFU1BPTlNFOworCQkJ CQlyZXR1cm4gUEdSRVNfUE9MTElOR19SRUFESU5HOworCQkJCX0KKwogCQkJCS8qCiAJCQkJICog QnVpbGQgdGhlIHN0YXJ0dXAgcGFja2V0LgogCQkJCSAqLwpkaWZmIC0tZ2l0IGEvc3JjL2ludGVy ZmFjZXMvbGlicHEvZmUtbWlzYy5jIGIvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtbWlzYy5jCmlu ZGV4IDdmY2ZlMDhmZDIuLmE5NWQ2M2ZmY2QgMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2xp YnBxL2ZlLW1pc2MuYworKysgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1taXNjLmMKQEAgLTU1 OCw4ICs1NTgsMTEgQEAgcHFQdXRNc2dFbmQoUEdjb25uICpjb25uKQogICogUG9zc2libGUgcmV0 dXJuIHZhbHVlczoKICAqCSAxOiBzdWNjZXNzZnVsbHkgbG9hZGVkIGF0IGxlYXN0IG9uZSBtb3Jl IGJ5dGUKICAqCSAwOiBubyBkYXRhIGlzIHByZXNlbnRseSBhdmFpbGFibGUsIGJ1dCBubyBlcnJv ciBkZXRlY3RlZAotICoJLTE6IGVycm9yIGRldGVjdGVkIChpbmNsdWRpbmcgRU9GID0gY29ubmVj dGlvbiBjbG9zdXJlKTsKKyAqCS0xOiBlcnJvciBkZXRlY3RlZCAoZXhjbHVkaW5nIEVPRiA9IGNv bm5lY3Rpb24gY2xvc3VyZSk7CiAgKgkJY29ubi0+ZXJyb3JNZXNzYWdlIHNldAorICoJLTI6IEVP RiBkZXRlY3RlZCwgY29ubmVjdGlvbiBpcyBjbG9zZWQKKyAqCQljb25uLT5lcnJvck1lc3NhZ2Ug c2V0CisgKgogICogTk9URTogY2FsbGVycyBtdXN0IG5vdCBhc3N1bWUgdGhhdCBwb2ludGVycyBv ciBpbmRleGVzIGludG8gY29ubi0+aW5CdWZmZXIKICAqIHJlbWFpbiB2YWxpZCBhY3Jvc3MgdGhp cyBjYWxsIQogICogLS0tLS0tLS0tLQpAQCAtNjQyLDcgKzY0NSw3IEBAIHJldHJ5MzoKIAogCQkJ ZGVmYXVsdDoKIAkJCQkvKiBwcXNlY3VyZV9yZWFkIHNldCB0aGUgZXJyb3IgbWVzc2FnZSBmb3Ig dXMgKi8KLQkJCQlyZXR1cm4gLTE7CisJCQkJcmV0dXJuIG5yZWFkOwogCQl9CiAJfQogCWlmIChu cmVhZCA+IDApCkBAIC03MzcsNyArNzQwLDcgQEAgcmV0cnk0OgogCiAJCQlkZWZhdWx0OgogCQkJ CS8qIHBxc2VjdXJlX3JlYWQgc2V0IHRoZSBlcnJvciBtZXNzYWdlIGZvciB1cyAqLwotCQkJCXJl dHVybiAtMTsKKwkJCQlyZXR1cm4gbnJlYWQ7CiAJCX0KIAl9CiAJaWYgKG5yZWFkID4gMCkKQEAg LTc1NSwxMyArNzU4LDE3IEBAIGRlZmluaXRlbHlFT0Y6CiAJCQkJCQkgbGlicHFfZ2V0dGV4dCgi c2VydmVyIGNsb3NlZCB0aGUgY29ubmVjdGlvbiB1bmV4cGVjdGVkbHlcbiIKIAkJCQkJCQkJCSAg ICJcdFRoaXMgcHJvYmFibHkgbWVhbnMgdGhlIHNlcnZlciB0ZXJtaW5hdGVkIGFibm9ybWFsbHlc biIKIAkJCQkJCQkJCSAgICJcdGJlZm9yZSBvciB3aGlsZSBwcm9jZXNzaW5nIHRoZSByZXF1ZXN0 LlxuIikpOworCS8qIERvICpub3QqIGRyb3AgYW55IGFscmVhZHktcmVhZCBkYXRhOyBjYWxsZXIg c3RpbGwgd2FudHMgaXQgKi8KKwlwcURyb3BDb25uZWN0aW9uKGNvbm4sIGZhbHNlKTsKKwljb25u LT5zdGF0dXMgPSBDT05ORUNUSU9OX0JBRDsJLyogTm8gbW9yZSBjb25uZWN0aW9uIHRvIGJhY2tl bmQgKi8KKwlyZXR1cm4gLTI7CiAKIAkvKiBDb21lIGhlcmUgaWYgbG93ZXItbGV2ZWwgY29kZSBh bHJlYWR5IHNldCBhIHN1aXRhYmxlIGVycm9yTWVzc2FnZSAqLwogZGVmaW5pdGVseUZhaWxlZDoK IAkvKiBEbyAqbm90KiBkcm9wIGFueSBhbHJlYWR5LXJlYWQgZGF0YTsgY2FsbGVyIHN0aWxsIHdh bnRzIGl0ICovCiAJcHFEcm9wQ29ubmVjdGlvbihjb25uLCBmYWxzZSk7CiAJY29ubi0+c3RhdHVz ID0gQ09OTkVDVElPTl9CQUQ7CS8qIE5vIG1vcmUgY29ubmVjdGlvbiB0byBiYWNrZW5kICovCi0J cmV0dXJuIC0xOworCXJldHVybiBucmVhZCA8IDAgPyBucmVhZCA6IC0xOwogfQogCiAvKgpkaWZm IC0tZ2l0IGEvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtc2VjdXJlLW9wZW5zc2wuYyBiL3NyYy9p bnRlcmZhY2VzL2xpYnBxL2ZlLXNlY3VyZS1vcGVuc3NsLmMKaW5kZXggOWY3MzViYTQzNy4uM2Nk NjVmYTI3NiAxMDA2NDQKLS0tIGEvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtc2VjdXJlLW9wZW5z c2wuYworKysgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1zZWN1cmUtb3BlbnNzbC5jCkBAIC0y NTIsNyArMjUyLDcgQEAgcmxvb3A6CiAJCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cigmY29ubi0+ZXJy b3JNZXNzYWdlLAogCQkJCQkJCQkgbGlicHFfZ2V0dGV4dCgiU1NMIGNvbm5lY3Rpb24gaGFzIGJl ZW4gY2xvc2VkIHVuZXhwZWN0ZWRseVxuIikpOwogCQkJcmVzdWx0X2Vycm5vID0gRUNPTk5SRVNF VDsKLQkJCW4gPSAtMTsKKwkJCW4gPSAtMjsKIAkJCWJyZWFrOwogCQlkZWZhdWx0OgogCQkJYXBw ZW5kUFFFeHBCdWZmZXIoJmNvbm4tPmVycm9yTWVzc2FnZSwKZGlmZiAtLWdpdCBhL3NyYy9pbnRl cmZhY2VzL2xpYnBxL2ZlLXNlY3VyZS5jIGIvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtc2VjdXJl LmMKaW5kZXggMGI5OThlMjU0ZC4uYjJjNjZmNDdhNSAxMDA2NDQKLS0tIGEvc3JjL2ludGVyZmFj ZXMvbGlicHEvZmUtc2VjdXJlLmMKKysrIGIvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtc2VjdXJl LmMKQEAgLTIwMSw2ICsyMDEsOSBAQCBwcXNlY3VyZV9jbG9zZShQR2Nvbm4gKmNvbm4pCiAgKiBP biBmYWlsdXJlLCB0aGlzIGZ1bmN0aW9uIGlzIHJlc3BvbnNpYmxlIGZvciBhcHBlbmRpbmcgYSBz dWl0YWJsZSBtZXNzYWdlCiAgKiB0byBjb25uLT5lcnJvck1lc3NhZ2UuICBUaGUgY2FsbGVyIG11 c3Qgc3RpbGwgaW5zcGVjdCBlcnJubywgYnV0IG9ubHkKICAqIHRvIGRldGVybWluZSB3aGV0aGVy IHRvIGNvbnRpbnVlL3JldHJ5IGFmdGVyIGVycm9yLgorICoKKyAqIFJldHVybnMgLTEgaW4gY2Fz ZSBvZiBmYWlsdXJlcywgZXhjZXB0IGluIHRoZSBjYXNlIG9mIGNsZWFuIGNvbm5lY3Rpb24KKyAq IGNsb3N1cmUgdGhlbiBpdCByZXR1cm5zIC0yLgogICovCiBzc2l6ZV90CiBwcXNlY3VyZV9yZWFk KFBHY29ubiAqY29ubiwgdm9pZCAqcHRyLCBzaXplX3QgbGVuKQpkaWZmIC0tZ2l0IGEvc3JjL2lu dGVyZmFjZXMvbGlicHEvbGlicHEtZmUuaCBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2xpYnBxLWZl LmgKaW5kZXggMjBlYjg1NWFiYy4uMzlhZWQ1ZGIzZSAxMDA2NDQKLS0tIGEvc3JjL2ludGVyZmFj ZXMvbGlicHEvbGlicHEtZmUuaAorKysgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS9saWJwcS1mZS5o CkBAIC01Nyw2ICs1Nyw3IEBAIHR5cGVkZWYgZW51bQogewogCUNPTk5FQ1RJT05fT0ssCiAJQ09O TkVDVElPTl9CQUQsCisJQ09OTkVDVElPTl9DQU5DRUxfRklOSVNIRUQsCiAJLyogTm9uLWJsb2Nr aW5nIG1vZGUgb25seSBiZWxvdyBoZXJlICovCiAKIAkvKgpAQCAtMTYzLDYgKzE2NCwxMSBAQCB0 eXBlZGVmIGVudW0KICAqLwogdHlwZWRlZiBzdHJ1Y3QgcGdfY29ubiBQR2Nvbm47CiAKKy8qIFBH Y2FuY2VsQ29ubiBlbmNhcHN1bGF0ZXMgYSBjYW5jZWwgY29ubmVjdGlvbiB0byB0aGUgYmFja2Vu ZC4KKyAqIFRoZSBjb250ZW50cyBvZiB0aGlzIHN0cnVjdCBhcmUgbm90IHN1cHBvc2VkIHRvIGJl IGtub3duIHRvIGFwcGxpY2F0aW9ucy4KKyAqLwordHlwZWRlZiBzdHJ1Y3QgcGdfY2FuY2VsX2Nv bm4gUEdjYW5jZWxDb25uOworCiAvKiBQR3Jlc3VsdCBlbmNhcHN1bGF0ZXMgdGhlIHJlc3VsdCBv ZiBhIHF1ZXJ5IChvciBtb3JlIHByZWNpc2VseSwgb2YgYSBzaW5nbGUKICAqIFNRTCBjb21tYW5k IC0tLSBhIHF1ZXJ5IHN0cmluZyBnaXZlbiB0byBQUXNlbmRRdWVyeSBjYW4gY29udGFpbiBtdWx0 aXBsZQogICogY29tbWFuZHMgYW5kIHRodXMgcmV0dXJuIG11bHRpcGxlIFBHcmVzdWx0IG9iamVj dHMpLgpAQCAtMzI3LDYgKzMzMywxMyBAQCBleHRlcm4gdm9pZCBQUWZyZWVDYW5jZWwoUEdjYW5j ZWwgKmNhbmNlbCk7CiAKIC8qIGlzc3VlIGEgY2FuY2VsIHJlcXVlc3QgKi8KIGV4dGVybiBpbnQJ UFFjYW5jZWwoUEdjYW5jZWwgKmNhbmNlbCwgY2hhciAqZXJyYnVmLCBpbnQgZXJyYnVmc2l6ZSk7 CitleHRlcm4gUEdjYW5jZWxDb25uICogUFFjYW5jZWxDb25uZWN0U3RhcnQoUEdjb25uICpjb25u KTsKK2V4dGVybiBQR2NhbmNlbENvbm4gKiBQUWNhbmNlbENvbm5lY3QoUEdjb25uICpjb25uKTsK K2V4dGVybiBQb3N0Z3Jlc1BvbGxpbmdTdGF0dXNUeXBlIFBRY2FuY2VsQ29ubmVjdFBvbGwoUEdj YW5jZWxDb25uICogY2FuY2VsQ29ubik7CitleHRlcm4gQ29ublN0YXR1c1R5cGUgUFFjYW5jZWxT dGF0dXMoY29uc3QgUEdjYW5jZWxDb25uICogY2FuY2VsQ29ubik7CitleHRlcm4gaW50CVBRY2Fu Y2VsU29ja2V0KGNvbnN0IFBHY2FuY2VsQ29ubiAqIGNhbmNlbENvbm4pOworZXh0ZXJuIGNoYXIg KlBRY2FuY2VsRXJyb3JNZXNzYWdlKGNvbnN0IFBHY2FuY2VsQ29ubiAqIGNhbmNlbENvbm4pOwor ZXh0ZXJuIHZvaWQgUFFjYW5jZWxGaW5pc2goUEdjYW5jZWxDb25uICogY2FuY2VsQ29ubik7CiAK IC8qIGJhY2t3YXJkcyBjb21wYXRpYmxlIHZlcnNpb24gb2YgUFFjYW5jZWw7IG5vdCB0aHJlYWQt c2FmZSAqLwogZXh0ZXJuIGludAlQUXJlcXVlc3RDYW5jZWwoUEdjb25uICpjb25uKTsKZGlmZiAt LWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2xpYnBxLWludC5oIGIvc3JjL2ludGVyZmFjZXMv bGlicHEvbGlicHEtaW50LmgKaW5kZXggZmNjZTEzODQzZS4uOGFmM2RkMGVlNyAxMDA2NDQKLS0t IGEvc3JjL2ludGVyZmFjZXMvbGlicHEvbGlicHEtaW50LmgKKysrIGIvc3JjL2ludGVyZmFjZXMv bGlicHEvbGlicHEtaW50LmgKQEAgLTM5NCw2ICszOTQsOCBAQCBzdHJ1Y3QgcGdfY29ubgogCWNo YXIJICAgKnNzbF9tYXhfcHJvdG9jb2xfdmVyc2lvbjsJLyogbWF4aW11bSBUTFMgcHJvdG9jb2wg dmVyc2lvbiAqLwogCWNoYXIJICAgKnRhcmdldF9zZXNzaW9uX2F0dHJzOwkvKiBkZXNpcmVkIHNl c3Npb24gcHJvcGVydGllcyAqLwogCisJYm9vbAkJY2FuY2VsUmVxdWVzdDsKKwogCS8qIE9wdGlv bmFsIGZpbGUgdG8gd3JpdGUgdHJhY2UgaW5mbyB0byAqLwogCUZJTEUJICAgKlBmZGVidWc7CiAJ aW50CQkJdHJhY2VGbGFnczsKQEAgLTU3NCw2ICs1NzYsMTEgQEAgc3RydWN0IHBnX2Nvbm4KIAlQ UUV4cEJ1ZmZlckRhdGEgd29ya0J1ZmZlcjsgLyogZXhwYW5zaWJsZSBzdHJpbmcgKi8KIH07CiAK K3N0cnVjdCBwZ19jYW5jZWxfY29ubgoreworCVBHY29ubgkJY29ubjsKK307CisKIC8qIFBHY2Fu Y2VsIHN0b3JlcyBhbGwgZGF0YSBuZWNlc3NhcnkgdG8gY2FuY2VsIGEgY29ubmVjdGlvbi4gQSBj b3B5IG9mIHRoaXMKICAqIGRhdGEgaXMgcmVxdWlyZWQgdG8gc2FmZWx5IGNhbmNlbCBhIGNvbm5l Y3Rpb24gcnVubmluZyBvbiBhIGRpZmZlcmVudAogICogdGhyZWFkLgpAQCAtNjkxLDYgKzY5OCw3 IEBAIGV4dGVybiBpbnQJcHFQdXRJbnQoaW50IHZhbHVlLCBzaXplX3QgYnl0ZXMsIFBHY29ubiAq Y29ubik7CiBleHRlcm4gaW50CXBxUHV0TXNnU3RhcnQoY2hhciBtc2dfdHlwZSwgUEdjb25uICpj b25uKTsKIGV4dGVybiBpbnQJcHFQdXRNc2dFbmQoUEdjb25uICpjb25uKTsKIGV4dGVybiBpbnQJ cHFSZWFkRGF0YShQR2Nvbm4gKmNvbm4pOworZXh0ZXJuIGludAlwcVJlYWREYXRhT3JFb2YoUEdj b25uICpjb25uKTsKIGV4dGVybiBpbnQJcHFGbHVzaChQR2Nvbm4gKmNvbm4pOwogZXh0ZXJuIGlu dAlwcVdhaXQoaW50IGZvclJlYWQsIGludCBmb3JXcml0ZSwgUEdjb25uICpjb25uKTsKIGV4dGVy biBpbnQJcHFXYWl0VGltZWQoaW50IGZvclJlYWQsIGludCBmb3JXcml0ZSwgUEdjb25uICpjb25u LApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbW9kdWxlcy9saWJwcV9waXBlbGluZS9saWJwcV9waXBl bGluZS5jIGIvc3JjL3Rlc3QvbW9kdWxlcy9saWJwcV9waXBlbGluZS9saWJwcV9waXBlbGluZS5j CmluZGV4IDBmZjU2M2Y1OWEuLjI3MTg4ZDQzYmIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L21vZHVs ZXMvbGlicHFfcGlwZWxpbmUvbGlicHFfcGlwZWxpbmUuYworKysgYi9zcmMvdGVzdC9tb2R1bGVz L2xpYnBxX3BpcGVsaW5lL2xpYnBxX3BpcGVsaW5lLmMKQEAgLTg2LDYgKzg2LDExNiBAQCBwZ19m YXRhbF9pbXBsKGludCBsaW5lLCBjb25zdCBjaGFyICpmbXQsLi4uKQogCWV4aXQoMSk7CiB9CiAK K3N0YXRpYyB2b2lkCitjb25maXJtX3F1ZXJ5X2NhbmNlbGxlZChQR2Nvbm4gKmNvbm4pCit7CisJ UEdyZXN1bHQgICAqcmVzID0gTlVMTDsKKworCXJlcyA9IFBRZ2V0UmVzdWx0KGNvbm4pOworCWlm IChyZXMgPT0gTlVMTCkKKwkJcGdfZmF0YWwoIlBRZ2V0UmVzdWx0IHJldHVybmVkIG51bGw6ICVz IiwKKwkJCQkgUFFlcnJvck1lc3NhZ2UoY29ubikpOworCWlmIChQUXJlc3VsdFN0YXR1cyhyZXMp ICE9IFBHUkVTX0ZBVEFMX0VSUk9SKQorCQlwZ19mYXRhbCgicXVlcnkgZGlkIG5vdCBmYWlsIHdo ZW4gaXQgd2FzIGV4cGVjdGVkIik7CisJaWYgKHN0cmNtcChQUXJlc3VsdEVycm9yRmllbGQocmVz LCBQR19ESUFHX1NRTFNUQVRFKSwgIjU3MDE0IikgIT0gMCkKKwkJcGdfZmF0YWwoInF1ZXJ5IGZh aWxlZCB3aXRoIGEgZGlmZmVyZW50IGVycm9yIHRoYW4gY2FuY2VsbGF0aW9uOiAlcyIsIFBRZXJy b3JNZXNzYWdlKGNvbm4pKTsKKwlQUWNsZWFyKHJlcyk7CisJd2hpbGUgKFBRaXNCdXN5KGNvbm4p KQorCXsKKwkJUFFjb25zdW1lSW5wdXQoY29ubik7CisJfQorfQorCitzdGF0aWMgdm9pZAordGVz dF9jYW5jZWwoUEdjb25uICpjb25uKQoreworCVBHY2FuY2VsICAgKmNhbmNlbCA9IE5VTEw7CisJ UEdjYW5jZWxDb25uICpjYW5jZWxDb25uID0gTlVMTDsKKwljaGFyCQllcnJvcmJ1ZlsyNTZdOwor CisJaWYgKFBRc2V0bm9uYmxvY2tpbmcoY29ubiwgMSkgIT0gMCkKKwkJcGdfZmF0YWwoImZhaWxl ZCB0byBzZXQgbm9uYmxvY2tpbmcgbW9kZTogJXMiLCBQUWVycm9yTWVzc2FnZShjb25uKSk7CisK KwkvKiB0ZXN0IFBRcmVxdWVzdGNhbmNlbCAqLworCWlmIChQUXNlbmRRdWVyeShjb25uLCAiU0VM RUNUIHBnX3NsZWVwKDMpIikgIT0gMSkKKwkJcGdfZmF0YWwoImZhaWxlZCB0byBzZW5kIHF1ZXJ5 OiAlcyIsIFBRZXJyb3JNZXNzYWdlKGNvbm4pKTsKKwlQUXJlcXVlc3RDYW5jZWwoY29ubik7CisJ Y29uZmlybV9xdWVyeV9jYW5jZWxsZWQoY29ubik7CisKKwkvKiB0ZXN0IFBRY2FuY2VsICovCisJ aWYgKFBRc2VuZFF1ZXJ5KGNvbm4sICJTRUxFQ1QgcGdfc2xlZXAoMykiKSAhPSAxKQorCQlwZ19m YXRhbCgiZmFpbGVkIHRvIHNlbmQgcXVlcnk6ICVzIiwgUFFlcnJvck1lc3NhZ2UoY29ubikpOwor CWNhbmNlbCA9IFBRZ2V0Q2FuY2VsKGNvbm4pOworCVBRY2FuY2VsKGNhbmNlbCwgZXJyb3JidWYs IHNpemVvZihlcnJvcmJ1ZikpOworCWNvbmZpcm1fcXVlcnlfY2FuY2VsbGVkKGNvbm4pOworCisJ LyogdGVzdCBQUWNhbmNlbENvbm5lY3QgKi8KKwlpZiAoUFFzZW5kUXVlcnkoY29ubiwgIlNFTEVD VCBwZ19zbGVlcCgzKSIpICE9IDEpCisJCXBnX2ZhdGFsKCJmYWlsZWQgdG8gc2VuZCBxdWVyeTog JXMiLCBQUWVycm9yTWVzc2FnZShjb25uKSk7CisJY2FuY2VsQ29ubiA9IFBRY2FuY2VsQ29ubmVj dChjb25uKTsKKwlpZiAoUFFjYW5jZWxTdGF0dXMoY2FuY2VsQ29ubikgIT0gQ09OTkVDVElPTl9D QU5DRUxfRklOSVNIRUQpCisJCXBnX2ZhdGFsKCJ1bmV4cGVjdGVkIGNhbmNlbCBjb25uZWN0aW9u IHN0YXR1czogJXMiLCBQUWNhbmNlbEVycm9yTWVzc2FnZShjYW5jZWxDb25uKSk7CisJY29uZmly bV9xdWVyeV9jYW5jZWxsZWQoY29ubik7CisJUFFjYW5jZWxGaW5pc2goY2FuY2VsQ29ubik7CisK KwkvKiB0ZXN0IFBRY2FuY2VsQ29ubmVjdFN0YXJ0IGFuZCB0aGVuIHBvbGxpbmcgd2l0aCBQUWNh bmNlbENvbm5lY3RQb2xsICovCisJaWYgKFBRc2VuZFF1ZXJ5KGNvbm4sICJTRUxFQ1QgcGdfc2xl ZXAoMykiKSAhPSAxKQorCQlwZ19mYXRhbCgiZmFpbGVkIHRvIHNlbmQgcXVlcnk6ICVzIiwgUFFl cnJvck1lc3NhZ2UoY29ubikpOworCWNhbmNlbENvbm4gPSBQUWNhbmNlbENvbm5lY3RTdGFydChj b25uKTsKKwlpZiAoUFFjYW5jZWxTdGF0dXMoY2FuY2VsQ29ubikgPT0gQ09OTkVDVElPTl9CQUQp CisJCXBnX2ZhdGFsKCJiYWQgY2FuY2VsIGNvbm5lY3Rpb246ICVzIiwgUFFjYW5jZWxFcnJvck1l c3NhZ2UoY2FuY2VsQ29ubikpOworCXdoaWxlICh0cnVlKQorCXsKKwkJc3RydWN0IHRpbWV2YWwg dHY7CisJCWZkX3NldAkJaW5wdXRfbWFzazsKKwkJZmRfc2V0CQlvdXRwdXRfbWFzazsKKwkJUG9z dGdyZXNQb2xsaW5nU3RhdHVzVHlwZSBwb2xscmVzID0gUFFjYW5jZWxDb25uZWN0UG9sbChjYW5j ZWxDb25uKTsKKwkJaW50CQkJc29jayA9IFBRY2FuY2VsU29ja2V0KGNhbmNlbENvbm4pOworCisJ CWlmIChwb2xscmVzID09IFBHUkVTX1BPTExJTkdfT0spCisJCXsKKwkJCWJyZWFrOworCQl9CisK KwkJRkRfWkVSTygmaW5wdXRfbWFzayk7CisJCUZEX1pFUk8oJm91dHB1dF9tYXNrKTsKKwkJc3dp dGNoIChwb2xscmVzKQorCQl7CisJCQljYXNlIFBHUkVTX1BPTExJTkdfUkVBRElORzoKKwkJCQlw Z19kZWJ1ZygicG9sbGluZyBmb3IgcmVhZHNcbiIpOworCQkJCUZEX1NFVChzb2NrLCAmaW5wdXRf bWFzayk7CisJCQkJYnJlYWs7CisJCQljYXNlIFBHUkVTX1BPTExJTkdfV1JJVElORzoKKwkJCQlw Z19kZWJ1ZygicG9sbGluZyBmb3Igd3JpdGVzXG4iKTsKKwkJCQlGRF9TRVQoc29jaywgJm91dHB1 dF9tYXNrKTsKKwkJCQlicmVhazsKKwkJCWRlZmF1bHQ6CisJCQkJcGdfZmF0YWwoImJhZCBjYW5j ZWwgY29ubmVjdGlvbjogJXMiLCBQUWNhbmNlbEVycm9yTWVzc2FnZShjYW5jZWxDb25uKSk7CisJ CX0KKworCQlpZiAoc29jayA8IDApCisJCQlwZ19mYXRhbCgic29jayBkaWQgbm90IGV4aXN0OiAl cyIsIFBRY2FuY2VsRXJyb3JNZXNzYWdlKGNhbmNlbENvbm4pKTsKKworCQl0di50dl9zZWMgPSAz OworCQl0di50dl91c2VjID0gMDsKKworCQl3aGlsZSAodHJ1ZSkKKwkJeworCQkJaWYgKHNlbGVj dChzb2NrICsgMSwgJmlucHV0X21hc2ssICZvdXRwdXRfbWFzaywgTlVMTCwgJnR2KSA8IDApCisJ CQl7CisJCQkJaWYgKGVycm5vID09IEVJTlRSKQorCQkJCQljb250aW51ZTsKKwkJCQlwZ19mYXRh bCgic2VsZWN0KCkgZmFpbGVkOiAlbSIpOworCQkJfQorCQkJYnJlYWs7CisJCX0KKwl9CisJaWYg KFBRY2FuY2VsU3RhdHVzKGNhbmNlbENvbm4pICE9IENPTk5FQ1RJT05fQ0FOQ0VMX0ZJTklTSEVE KQorCQlwZ19mYXRhbCgidW5leHBlY3RlZCBjYW5jZWwgY29ubmVjdGlvbiBzdGF0dXM6ICVzIiwg UFFjYW5jZWxFcnJvck1lc3NhZ2UoY2FuY2VsQ29ubikpOworCWNvbmZpcm1fcXVlcnlfY2FuY2Vs bGVkKGNvbm4pOworCVBRY2FuY2VsRmluaXNoKGNhbmNlbENvbm4pOworfQorCiBzdGF0aWMgdm9p ZAogdGVzdF9kaXNhbGxvd2VkX2luX3BpcGVsaW5lKFBHY29ubiAqY29ubikKIHsKQEAgLTE1NTUs NiArMTY2NSw3IEBAIHByaW50X3Rlc3RfbGlzdCh2b2lkKQogCXByaW50Zigic2luZ2xlcm93XG4i KTsKIAlwcmludGYoInRyYW5zYWN0aW9uXG4iKTsKIAlwcmludGYoInVuaXF2aW9sXG4iKTsKKwlw cmludGYoImNhbmNlbFxuIik7CiB9CiAKIGludApAQCAtMTY0Miw3ICsxNzUzLDkgQEAgbWFpbihp bnQgYXJnYywgY2hhciAqKmFyZ3YpCiAJCQkJCQlQUVRSQUNFX1NVUFBSRVNTX1RJTUVTVEFNUFMg fCBQUVRSQUNFX1JFR1JFU1NfTU9ERSk7CiAJfQogCi0JaWYgKHN0cmNtcCh0ZXN0bmFtZSwgImRp c2FsbG93ZWRfaW5fcGlwZWxpbmUiKSA9PSAwKQorCWlmIChzdHJjbXAodGVzdG5hbWUsICJjYW5j ZWwiKSA9PSAwKQorCQl0ZXN0X2NhbmNlbChjb25uKTsKKwllbHNlIGlmIChzdHJjbXAodGVzdG5h bWUsICJkaXNhbGxvd2VkX2luX3BpcGVsaW5lIikgPT0gMCkKIAkJdGVzdF9kaXNhbGxvd2VkX2lu X3BpcGVsaW5lKGNvbm4pOwogCWVsc2UgaWYgKHN0cmNtcCh0ZXN0bmFtZSwgIm11bHRpX3BpcGVs aW5lcyIpID09IDApCiAJCXRlc3RfbXVsdGlfcGlwZWxpbmVzKGNvbm4pOwotLSAKMi4xNy4xCgo= --_005_AM5PR83MB0178CE0CEB690F1C041355B7F7539AM5PR83MB0178EURP_ Content-Type: application/octet-stream; name="0002-Add-documentation-for-libpq_pipeline-tests.patch" Content-Description: 0002-Add-documentation-for-libpq_pipeline-tests.patch Content-Disposition: attachment; filename="0002-Add-documentation-for-libpq_pipeline-tests.patch"; size=1540; creation-date="Thu, 13 Jan 2022 14:34:28 GMT"; modification-date="Thu, 13 Jan 2022 14:34:34 GMT" Content-Transfer-Encoding: base64 RnJvbSBlNTlmODE3NGQ1ZDAwNmU3OGU0NzQ4NzNjYTRiYTg5YTRlNWMyMWQyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWx0ZSBGZW5uZW1hIDxqZWx0ZS5mZW5uZW1hQG1pY3Jvc29m dC5jb20+CkRhdGU6IFRodSwgMTMgSmFuIDIwMjIgMTU6MjY6MzUgKzAxMDAKU3ViamVjdDogW1BB VENIIDIvMl0gQWRkIGRvY3VtZW50YXRpb24gZm9yIGxpYnBxX3BpcGVsaW5lIHRlc3RzCgpUaGlz IGFkZHMgc29tZSBleHBsYW5hdGlvbiBvbiBob3cgdG8gcnVuIGFuZCBhZGQgbGlicHEgdGVzdHMu Ci0tLQogc3JjL3Rlc3QvbW9kdWxlcy9saWJwcV9waXBlbGluZS9SRUFETUUgfCAyMCArKysrKysr KysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKykKCmRpZmYgLS1n aXQgYS9zcmMvdGVzdC9tb2R1bGVzL2xpYnBxX3BpcGVsaW5lL1JFQURNRSBiL3NyYy90ZXN0L21v ZHVsZXMvbGlicHFfcGlwZWxpbmUvUkVBRE1FCmluZGV4IGQ4MTc0ZGQ1NzkuLjNlYWMwYmYxMzEg MTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L21vZHVsZXMvbGlicHFfcGlwZWxpbmUvUkVBRE1FCisrKyBi L3NyYy90ZXN0L21vZHVsZXMvbGlicHFfcGlwZWxpbmUvUkVBRE1FCkBAIC0xICsxLDIxIEBACiBU ZXN0IHByb2dyYW1zIGFuZCBsaWJyYXJpZXMgZm9yIGxpYnBxCis9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CisKK1lvdSBjYW4gbWFudWFsbHkgcnVuIGEgc3BlY2lmaWMgdGVz dCBieSBydW5uaW5nOgorCisgICAgLi9saWJwcV9waXBlbGluZSA8bmFtZSBvZiB0ZXN0PgorCitZ b3UgY2FuIGFkZCBuZXcgdGVzdHMgdG8gbGlicHFfcGlwZWxpbmUuYyB0byBhZGRpbmcgYSBuZXcg dGVzdCBmb3IgbGlicHEgeW91CitzaG91bGQgYWRkIHlvdXIgbmV3IHRlc3QgeW91IHNob3VsZCBh ZGQgdGhlIG5hbWUgb2YgeW91ciBuZXcgdGVzdCB0byB0aGUKKyJwcmludF90ZXN0X2xpc3QiIGZ1 bmN0aW9uLiBUaGVuIGluIG1haW4geW91IHNob3VsZCBkbyBzb21ldGhpbmcgd2hlbiB0aGlzIHRl c3QKK25hbWUgaXMgcGFzc2VkIHRvIHRoZSBwcm9ncmFtLgorCitJZiB0aGUgb3JkZXIgaW4gd2hp Y2ggcG9zdGdyZXMgcHJvdG9jb2wgbWVzc2FnZXMgYXJlIHNlbnQgaXMgZGV0ZXJtaW5pc3RpYyBm b3IKK3lvdXIgdGVzdC4gVGhlbiB5b3UgY2FuIGdlbmVyYXRlIGEgdHJhY2Ugb2YgdGhlc2UgbWVz c2FnZXMgdXNpbmcgdGhlIGZvbGxvd2luZworY29tbWFuZDoKKworICAgLi9saWJwcV9waXBlbGlu ZSBteW5ld3Rlc3QgLXQgdHJhY2VzL215bmV3dGVzdC50cmFjZQorCitPbmNlIHlvdSd2ZSBkb25l IHRoYXQgeW91IHNob3VsZCBtYWtlIHN1cmUgdGhhdCB3aGVuIHJ1bm5pbmcgIm1ha2UgY2hlY2si Cit0aGUgZ2VuZXJhdGVkIHRyYWNlIGlzIGNvbXBhcmVkIHRvIHRoZSBleHBlY3RlZCB0cmFjZS4g VGhpcyBpcyBkb25lIGJ5IGFkZGluZworeW91ciB0ZXN0IG5hbWUgdG8gdGhlICRjbXB0cmFjZSBk ZWZpbml0aW9uIGluIHRoZSB0LzAwMV9saWJwcV9waXBlbGluZS5wbCBmaWxlCi0tIAoyLjE3LjEK Cg== --_005_AM5PR83MB0178CE0CEB690F1C041355B7F7539AM5PR83MB0178EURP_--