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 1lvp1Y-0004UZ-F2 for pgsql-hackers@arkaria.postgresql.org; Tue, 22 Jun 2021 22:37:41 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lvp1X-0004N9-EG for pgsql-hackers@arkaria.postgresql.org; Tue, 22 Jun 2021 22:37:39 +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 1lvp1W-0004Mc-VH for pgsql-hackers@lists.postgresql.org; Tue, 22 Jun 2021 22:37:39 +0000 Received: from mail-bn1nam07on2056.outbound.protection.outlook.com ([40.107.212.56] helo=NAM02-BN1-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 1lvp1S-0008S5-Dd for pgsql-hackers@postgresql.org; Tue, 22 Jun 2021 22:37:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lFNWIgYHaUcvcwTNQB640c3ma+PBQ/sAwYQxZErg3aWqJucs2JxMWJnVf9BfemACWs07an9QYCNcoObZbnapLE9m+8DMifcKfFiT8ImCbKgx5FR6TgMKfb0Iz7rMkqzvl4qm2MMMRcbnja5TABXIeWi9Dg3tOZT878tWvAG9oiwLjPrcR8r19GdV3lQq1s60viXhWujjFq8XVpbGVSUubH6BHBLu8VkSgBumzeqz/waoTM0kulCknGU1C11kwhpa9ScX8tImNs7Hq2PFSLKxCgkjvB7/WEUC0WIARln3VBW/euQ+v9HkHyCM3z4JzvziMVLDcHa0k/c7NrWkqmC3Pw== 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=YQCULuc5ZWJRbAOhtYlKgaUM7DMJk+AgO5DgLnxJOIc=; b=a4jwY0vfAJoh5AtNq92hAoOJ28L+zeefwrmNRB7nXiuAhrbkDnN38s5bAWh6gOtD9UZlkqFUNjqPYQnBcIgIYLR1WWX7kyKmZ2GFMM7o4Efvp38KK0QcNehBkaLMWC5qeQlZdo+8BRN4eiq6CVbSURZfiD+gVJSO2ub+OPCFZADUGe27ipQqmSqTUq+ScMiTNYaRy7TuhpGWuRg9xF5re0nwsmiOfWJs9lbnFOGVmsjUJcJ3FnmZDgrCygv9ze6TYJ6TQmwpou+YbQRHn32wcb7Njz0fQOhX0gCTP1swbBJpFoZHPsGAQr4u+lQlCQJJOW/og0ZTWSaGYx2Bhua94w== 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=YQCULuc5ZWJRbAOhtYlKgaUM7DMJk+AgO5DgLnxJOIc=; b=M3D2K4U9OgtGvk0yQCSfzbmRmuBi6JGEPOCcaFRIG3Qa9+NeHfQOpFduRVBUvEzDQPGFB8ftIX3YkFT3cEYlbSRcaKlCYeEHEC8MahP78C9PsHjVDZdcb+CnjvkVZShdpZBud/ddoH2lhg9KEIajz4lZGR0iNJkl/HdN8cUDnug= Received: from MWHPR05MB2896.namprd05.prod.outlook.com (2603:10b6:300:65::20) by CO1PR05MB7878.namprd05.prod.outlook.com (2603:10b6:303:d8::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.7; Tue, 22 Jun 2021 22:37:30 +0000 Received: from MWHPR05MB2896.namprd05.prod.outlook.com ([fe80::59e1:5f08:31c6:1d3]) by MWHPR05MB2896.namprd05.prod.outlook.com ([fe80::59e1:5f08:31c6:1d3%9]) with mapi id 15.20.4264.018; Tue, 22 Jun 2021 22:37:29 +0000 From: Jacob Champion To: "pgsql-hackers@postgresql.org" CC: "michael@paquier.xyz" Subject: [PATCH] Pull general SASL framework out of SCRAM Thread-Topic: [PATCH] Pull general SASL framework out of SCRAM Thread-Index: AQHXZ7cuih/hnd4520mfiSjUyUJWWQ== Date: Tue, 22 Jun 2021 22:37:29 +0000 Message-ID: <3d2a6f5d50e741117d6baf83eb67ebf1a8a35a11.camel@vmware.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: user-agent: Evolution 3.36.5-0ubuntu1 authentication-results: postgresql.org; dkim=none (message not signed) header.d=none;postgresql.org; dmarc=none action=none header.from=vmware.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6e265908-d6a2-43d4-94e7-08d935ce51b4 x-ms-traffictypediagnostic: CO1PR05MB7878: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7219; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: si09N/C/CPrp6GfWoFKkLyypNTR238ry/FOg45510fnxzSbU9SC4TQ+a1Hqb0L1kDJqNzmfbNU9318vyZCWYJwhRswTzpN45AeHdHOMH1EbUqYw23mPe3AtkcfzbOGdzE2jTBk5gTnSdy/1lvWwobRkY0rWrCAnz2xdjzMVz8XYtswbMAdt6iL0kneUHZ4Bkq552SveGFoXJKTJ5c9AOTnYRj/RWvHHAoiZCu0sHtympnYwuckvR67vgdjdHsUoEwpviRSdjtdRh1Js45p8YXYqi/jEBfTZUAeRyz62kfmrS0Ef9Kyr1LwR52lOnc3HDWrtKgWM+76OLNWyRff1cLOcuzJHJJI+rI2Yxz6zODiuSaj7uz7/xjL17GF/IOohSw99QO3MysZMOYURehyGOoaWj1xEPneqOn/0I+WcNtn/GaP+FfpinQj2WDnMRDYNQlroRxtRakPq+FUonOYbQvPijXVQBJVduT6bSXGt56A2ws9+0Ydc5ZkKHjcQh7t+gBnMPX+96CxLn47g2p8i9dHCLZviKY9Q0QXBbJo7WKM91D3n2G+EnCgzXcfmNnVigNSsKnurnWVp2ad9NV6mYfyHvufAyMrPoRwZox2aC7e/BupKAchn3AxSA0fck3zS0L7tSjtkHygCkHd6HppAJ6kLDddoN+5SfTX4Q0xBAHP7E1rN8B5RWdtdhAukdByqYIVrlFnkYoIWdCeditfx23I5OYg56AtqIqJ1GTcgW5SG3OrdPBWYQYeHvf5VWi/Ej x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR05MB2896.namprd05.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(136003)(366004)(39850400004)(396003)(346002)(376002)(2906002)(36756003)(122000001)(5660300002)(64756008)(6916009)(66616009)(76116006)(8936002)(66556008)(966005)(66946007)(38100700002)(83380400001)(186003)(6506007)(66476007)(86362001)(4326008)(6486002)(66446008)(71200400001)(478600001)(316002)(6512007)(2616005)(99936003)(26005)(8676002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?c1VJSVZ4Zzh0SVJUeXRLbkk0dnRuYmRqNWZoRVNRd0Y4OUc3Q1lqaEV0NURo?= =?utf-8?B?NHc2MWl0R1Z6Y2l1WlNRV3o1bGx3bzBZMU9FNDdPcjVzVmxlOWJyZ2FNSzJi?= =?utf-8?B?eUdoYzAycUJSRWlMQjQ0MUpwZUs2dUlLVEY4TjhhYVdBT1FzemZNdWhoaXRT?= =?utf-8?B?VUhrTkpmOEtOWEoyeWExWjFGQ0NzbTNWa2lqd1ZqV2lYS2N4K1d5MGUxUEFz?= =?utf-8?B?cjFUUFF3THl0bXVkSitvWW1JQWRNUVk0ZVVIdlFGRGVxWHkyd1FaU1BVcDJF?= =?utf-8?B?OG5NbDVaMEt1V0JUUzcvNXpJMGNaRUI5L3l5cWN6TFYxZzNqb3I5aHJpREF0?= =?utf-8?B?TVpENVlMQkd3dFhKa29PekExZG1DV1hHbHdIWUxkODBOYi8xeXpnUGhodUo5?= =?utf-8?B?aVJFdTlQU2d2UFg2Z2w5dVluS0JBT0d2aGNLVmdMdm5Bclowbmtrelp1OER3?= =?utf-8?B?d1ppOUN2NDhtWURYSjlFM2VNYVVsU21VRENUOHlIbm81UGsxSWlvczFlNk9v?= =?utf-8?B?TEoyWDRteEp5OEdlV0FkZEdlcSt0RU0vUi9BYU9jZ01KMTRSZmxDZTdUUU9B?= =?utf-8?B?TGdCOTd5YURtU21HcnZPYTBsaG1TZHdXUTZtZ0Rlb2h2ZUcyaUlWcmhJSkhr?= =?utf-8?B?Nld0V0MyajNrdzlNTWtwWkd6eVhGNytNS3A0V2xQYUFqMFlFYVhacWw5c0ZW?= =?utf-8?B?MVZPUGc2YWxmc1RvOHA1cXhQWFVBaVI1aUN2UEFCd2pnOFlESmxTcUlOdlVx?= =?utf-8?B?Uk5HMWtoUDFpNWgvMVdvU285WWhvWkhCVUFHMTZjUmdvRmhLMHJhaFo3YktP?= =?utf-8?B?ZW5kdkFwZklzbXZZV3NraCtCdEtNdFpZazhHUVpOSDlRakoxVldwdVR1S3BQ?= =?utf-8?B?MWh0dmRhbFhUQXB2eDc1bGdWYTI1S0llK3ZIY0tsRWdyc1B2cnFyZVhIUmN4?= =?utf-8?B?Z1UxQ3JFZDBOWTQ0MDhnYVlNTEZTTVJ6NTlvR1pzM3lNZ2x4R05WeUFadzRW?= =?utf-8?B?NE9kU1lGZTRuT1hWZU9sa0FWVXI1WG1jeUlhYmZSRFlKUzhsZmFKOFd2QTJs?= =?utf-8?B?bnpjdEFvVGRhUlJaeVZtZy9CMU15ZzIxd0xXQWIyR3BXYWd1VFY1RDQ2eHJW?= =?utf-8?B?cWZqYjU2dXJnd2hUOFFGRkx0K2daZW9KeGNRZElrZXdrK3VUanp4UXNmY0dW?= =?utf-8?B?ZVY3ejJ6OC9JQkZtTFBzUzFMYUp4RkxnL1B5bWF4THo1YVQvb3d2bWtnYTlo?= =?utf-8?B?YmJBbDVlUDZpTjRtRk1FWUtOZzVYTXltWDVwdVhsSWtNZ3N5SG5WcmFmVFZl?= =?utf-8?B?a25aRXNIWGt2ZnVCd2wwb09ZTWNwbzE4MVZROXE1RDBva290Zkk5eVUxMmx2?= =?utf-8?B?NytVRk01OUE3OTlRYmFRQkdjWWFTcHdWY05ScnlFL1kxYWF0UlF3Q1pucVNG?= =?utf-8?B?ODJBQnV4ZFpmeStCZjl0dStNS3VLTTRkQ1JZS2dvTG1sZDdjKzBhcXU4a2Np?= =?utf-8?B?L0VJWVoxMG43M2o4dXJLazQ2MzFOdDdLWnFFNVEvSzY4UVRVbkM0MlZBc2ZG?= =?utf-8?B?QTB3UFZtbjVEbDRuSkwvcmhIQmpQeE1wUmg1dFVBSGdtbEE3dmpyNU1Bai9J?= =?utf-8?B?UENGbXpBUjdqOHRMVWZaQWRxYTJ6eU40TllyQ1F4NW9HOXNiV2RQVGZqMFZt?= =?utf-8?B?Ky9YaXZzdWtoQVVXaUxQTnNVTms1dkd2LzFmUFdHZk10UXpGdXcvK3pFOTJh?= =?utf-8?Q?PYoPA1SwdhcKu9Fk63CCgN7Je2LP7Gthmfp+cgh?= x-ms-exchange-transport-forked: True Content-Type: multipart/mixed; boundary="_002_3d2a6f5d50e741117d6baf83eb67ebf1a8a35a11camelvmwarecom_" MIME-Version: 1.0 X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MWHPR05MB2896.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6e265908-d6a2-43d4-94e7-08d935ce51b4 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Jun 2021 22:37:29.8970 (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: qDJgzP8cCL+Y+8qQwgk66mf3BgveVhzBh2QLmPsFIsekOxLPL46CTLAM00OdJww2hRWQ6FWaAGtzeQ7NQvLCqA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR05MB7878 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_002_3d2a6f5d50e741117d6baf83eb67ebf1a8a35a11camelvmwarecom_ Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 KFRoaXMgaXMgc3BsaXQgb2ZmIGZyb20gbXkgd29yayBvbiBPQVVUSEJFQVJFUiBbMV0uKQ0KDQpD dXJyZW50bHksIHRoZSBTQVNMIGxvZ2ljIGlzIHRpZ2h0bHkgY291cGxlZCB0byB0aGUgU0NSQU0N CmltcGxlbWVudGF0aW9uLiBUaGlzIHBhdGNoIHVudGFuZ2xlcyB0aGUgdHdvLCBieSBpbnRyb2R1 Y2luZyBjYWxsYmFjaw0Kc3RydWN0cyBmb3IgYm90aCB0aGUgZnJvbnRlbmQgYW5kIGJhY2tlbmQu DQoNCkluIHRoZSBvcmlnaW5hbCB0aHJlYWQsIE1pY2hhZWwgUGFxdWllciBjb21tZW50ZWQ6DQoN Cj4gKyAgICAgICAgICAgLyogVE9ETzogU0FTTF9FWENIQU5HRV9GQUlMVVJFIHdpdGggb3V0cHV0 IGlzIGZvcmJpZGRlbiBpbiBTQVNMICovDQo+ICAgICAgICAgICAgIGlmIChyZXN1bHQgPT0gU0FT TF9FWENIQU5HRV9TVUNDRVNTKQ0KPiAgICAgICAgICAgICAgICAgc2VuZEF1dGhSZXF1ZXN0KHBv cnQsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVVRIX1JFUV9TQVNMX0ZJTiwNCj4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dCwNCj4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG91dHB1dGxlbik7DQo+IFBlcmhhcHMgdGhhdCdzIGFuIGlzc3VlIHdlIG5lZWQg dG8gd29ycnkgb24gaXRzIG93bj8gIEkgZGlkbid0IHJlY2FsbA0KPiB0aGlzIHBhcnQuLg0KDQpZ ZWFoLCBpdCB3YXMgbm9uLW9idmlvdXMgdG8gbWUgb24gdGhlIGZpcnN0IHJlYWQgdG9vLiBJdCdz IGENCmNvbnNlcXVlbmNlIG9mIGEgY291cGxlIHBhcnRzIG9mIHRoZSBTQVNMIHNwZWMgWzJdOg0K DQo+ICAgIFRoZSBwcm90b2NvbCBtYXkgaW5jbHVkZSBhbiBvcHRpb25hbCBhZGRpdGlvbmFsIGRh dGEgZmllbGQgaW4gdGhpcw0KPiAgICBvdXRjb21lIG1lc3NhZ2UuICBUaGlzIGZpZWxkIGNhbiBv bmx5IGluY2x1ZGUgYWRkaXRpb25hbCBkYXRhIHdoZW4NCj4gICAgdGhlIG91dGNvbWUgaXMgc3Vj Y2Vzc2Z1bC4NCg0KYW5kDQoNCj4gICAgU0FTTCBtZWNoYW5pc20gc3BlY2lmaWNhdGlvbnMgTVVT VCBzdXBwbHkgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbjoNCj4gDQo+ICAgIFsuLi5dDQo+IA0K PiAgICAgICBiKSBBbiBpbmRpY2F0aW9uIG9mIHdoZXRoZXIgdGhlIHNlcnZlciBpcyBleHBlY3Rl ZCB0byBwcm92aWRlDQo+ICAgICAgICAgIGFkZGl0aW9uYWwgZGF0YSB3aGVuIGluZGljYXRpbmcg YSBzdWNjZXNzZnVsIG91dGNvbWUuICBJZiBzbywNCj4gICAgICAgICAgaWYgdGhlIHNlcnZlciBz ZW5kcyB0aGUgYWRkaXRpb25hbCBkYXRhIGFzIGEgY2hhbGxlbmdlLCB0aGUNCj4gICAgICAgICAg c3BlY2lmaWNhdGlvbiBNVVNUIGluZGljYXRlIHRoYXQgdGhlIHJlc3BvbnNlIHRvIHRoaXMgY2hh bGxlbmdlDQo+ICAgICAgICAgIGlzIGFuIGVtcHR5IHJlc3BvbnNlLg0KDQpUaGVyZSBpc24ndCBh IGNvcnJlc3BvbmRpbmcgcHJvdmlzaW9uIGZvciBkYXRhIGZvciBhICpmYWlsZWQqIG91dGNvbWUs DQpzbyBhbnkgc3VjaCBkYXRhIHdvdWxkIGhhdmUgdG8gYmUgc2VudCBhcyBhIHNlcGFyYXRlLCBt ZWNoYW5pc20tDQpzcGVjaWZpYywgY2hhbGxlbmdlLiBUaGlzIGlzIHdoYXQgT0FVVEhCRUFSRVIg aGFzIHRvIGRvLCB3aXRoIGFuDQphbm5veWluZyAiZmFpbHVyZSBoYW5kc2hha2UiLg0KDQooTm90 ZSB0aGF0IG91ciBwcm90b2NvbCBpbXBsZW1lbnRhdGlvbiBwcm92aWRlcyBhbiAiYWRkaXRpb25h bCBkYXRhIg0KZmllbGQgZm9yIHRoZSBpbml0aWFsIGNsaWVudCByZXNwb25zZSwgYnV0ICpub3Qq IGZvciB0aGUgYXV0aGVudGljYXRpb24NCm91dGNvbWUuIFRoYXQgc2VlbXMgb2RkIHRvIG1lLCBi dXQgaXQgaXMgd2hhdCBpdCBpcywgSSBzdXBwb3NlLikNCg0KUmVnYXJkaW5nIHRoYXQgc3BlY2lm aWMgVE9ETyAtLSBJIHRoaW5rIGl0J2QgYmUgZ29vZCBmb3IgdGhlIGZyYW1ld29yaw0KdG8gZmFp bCBoYXJkIGlmIGEgbWVjaGFuaXNtIHRyaWVzIHRvIHNlbmQgZGF0YSBkdXJpbmcgYSBmYWlsdXJl DQpvdXRjb21lLCBhcyBpdCBwcm9iYWJseSBtZWFucyB0aGUgbWVjaGFuaXNtIGlzbid0IGltcGxl bWVudGVkIHRvIHNwZWMuDQoNCi0tSmFjb2INCg0KWzFdIGh0dHBzOi8vd3d3LnBvc3RncmVzcWwu b3JnL21lc3NhZ2UtaWQvZDFiNDY3YTc4ZTBlMzZlZDg1YTA5YWRmOTc5ZDA0Y2YxMjRhOWQ0Yi5j YW1lbEB2bXdhcmUuY29tDQpbMl0gaHR0cHM6Ly9kYXRhdHJhY2tlci5pZXRmLm9yZy9kb2MvaHRt bC9yZmM0NDIyDQo= --_002_3d2a6f5d50e741117d6baf83eb67ebf1a8a35a11camelvmwarecom_ Content-Type: text/x-patch; name="auth-generalize-SASL-mechanisms.patch" Content-Description: auth-generalize-SASL-mechanisms.patch Content-Disposition: attachment; filename="auth-generalize-SASL-mechanisms.patch"; size=16731; creation-date="Tue, 22 Jun 2021 22:37:28 GMT"; modification-date="Tue, 22 Jun 2021 22:37:28 GMT" Content-ID: <5327D5D2081593498035041208C7BD57@namprd05.prod.outlook.com> Content-Transfer-Encoding: base64 RnJvbSBhNmE2NWI2NmNjM2RjNWRhNzIxOTM3OGRiYWRiMDkwZmYxMGZkNDJiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWNvYiBDaGFtcGlvbiA8cGNoYW1waW9uQHZtd2FyZS5jb20+ CkRhdGU6IFR1ZSwgMTMgQXByIDIwMjEgMTA6MjU6NDggLTA3MDAKU3ViamVjdDogW1BBVENIIDEv N10gYXV0aDogZ2VuZXJhbGl6ZSBTQVNMIG1lY2hhbmlzbXMKClNwbGl0IHRoZSBTQVNMIGxvZ2lj IG91dCBmcm9tIHRoZSBTQ1JBTSBpbXBsZW1lbnRhdGlvbiwgc28gdGhhdCBpdCBjYW4KYmUgcmV1 c2VkIGJ5IG90aGVyIG1lY2hhbmlzbXMuICBOZXcgaW1wbGVtZW50YXRpb25zIHdpbGwgaW1wbGVt ZW50IGJvdGgKYSBwZ19zYXNsX21lY2ggYW5kIGEgcGdfYmVfc2FzbF9tZWNoLgotLS0KIHNyYy9i YWNrZW5kL2xpYnBxL2F1dGgtc2NyYW0uYyAgICAgICB8IDM0ICsrKysrKysrKysrKysrLS0tLS0t LS0tCiBzcmMvYmFja2VuZC9saWJwcS9hdXRoLmMgICAgICAgICAgICAgfCAzNCArKysrKysrKysr KysrKysrLS0tLS0tLQogc3JjL2luY2x1ZGUvbGlicHEvc2FzbC5oICAgICAgICAgICAgIHwgMzQg KysrKysrKysrKysrKysrKysrKysrKysKIHNyYy9pbmNsdWRlL2xpYnBxL3NjcmFtLmggICAgICAg ICAgICB8IDEzICsrKy0tLS0tLQogc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0aC1zY3JhbS5j IHwgNDAgKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQogc3JjL2ludGVyZmFjZXMvbGlicHEv ZmUtYXV0aC5jICAgICAgIHwgMTYgKysrKysrKystLS0KIHNyYy9pbnRlcmZhY2VzL2xpYnBxL2Zl LWF1dGguaCAgICAgICB8IDExICsrLS0tLS0tCiBzcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1jb25u ZWN0LmMgICAgfCAgNiArLS0tLQogc3JjL2ludGVyZmFjZXMvbGlicHEvbGlicHEtaW50LmggICAg IHwgMTQgKysrKysrKysrKwogOSBmaWxlcyBjaGFuZ2VkLCAxMzkgaW5zZXJ0aW9ucygrKSwgNjMg ZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2luY2x1ZGUvbGlicHEvc2FzbC5o CgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvbGlicHEvYXV0aC1zY3JhbS5jIGIvc3JjL2JhY2tl bmQvbGlicHEvYXV0aC1zY3JhbS5jCmluZGV4IGY5ZTEwMjZhMTIuLmRiM2NhNzVhNjAgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL2xpYnBxL2F1dGgtc2NyYW0uYworKysgYi9zcmMvYmFja2VuZC9s aWJwcS9hdXRoLXNjcmFtLmMKQEAgLTEwMSwxMSArMTAxLDI1IEBACiAjaW5jbHVkZSAiY29tbW9u L3NoYTIuaCIKICNpbmNsdWRlICJsaWJwcS9hdXRoLmgiCiAjaW5jbHVkZSAibGlicHEvY3J5cHQu aCIKKyNpbmNsdWRlICJsaWJwcS9zYXNsLmgiCiAjaW5jbHVkZSAibGlicHEvc2NyYW0uaCIKICNp bmNsdWRlICJtaXNjYWRtaW4uaCIKICNpbmNsdWRlICJ1dGlscy9idWlsdGlucy5oIgogI2luY2x1 ZGUgInV0aWxzL3RpbWVzdGFtcC5oIgogCitzdGF0aWMgdm9pZCAgc2NyYW1fZ2V0X21lY2hhbmlz bXMoUG9ydCAqcG9ydCwgU3RyaW5nSW5mbyBidWYpOworc3RhdGljIHZvaWQgKnNjcmFtX2luaXQo UG9ydCAqcG9ydCwgY29uc3QgY2hhciAqc2VsZWN0ZWRfbWVjaCwKKwkJCQkJCWNvbnN0IGNoYXIg KnNoYWRvd19wYXNzKTsKK3N0YXRpYyBpbnQgICBzY3JhbV9leGNoYW5nZSh2b2lkICpvcGFxLCBj b25zdCBjaGFyICppbnB1dCwgaW50IGlucHV0bGVuLAorCQkJCQkJCWNoYXIgKipvdXRwdXQsIGlu dCAqb3V0cHV0bGVuLCBjaGFyICoqbG9nZGV0YWlsKTsKKworLyogTWVjaGFuaXNtIGRlY2xhcmF0 aW9uICovCitjb25zdCBwZ19iZV9zYXNsX21lY2ggcGdfYmVfc2NyYW1fbWVjaCA9IHsKKwlzY3Jh bV9nZXRfbWVjaGFuaXNtcywKKwlzY3JhbV9pbml0LAorCXNjcmFtX2V4Y2hhbmdlLAorfTsKKwog LyoKICAqIFN0YXR1cyBkYXRhIGZvciBhIFNDUkFNIGF1dGhlbnRpY2F0aW9uIGV4Y2hhbmdlLiAg VGhpcyBzaG91bGQgYmUga2VwdAogICogaW50ZXJuYWwgdG8gdGhpcyBmaWxlLgpAQCAtMTcwLDE2 ICsxODQsMTQgQEAgc3RhdGljIGNoYXIgKnNhbml0aXplX3N0cihjb25zdCBjaGFyICpzKTsKIHN0 YXRpYyBjaGFyICpzY3JhbV9tb2NrX3NhbHQoY29uc3QgY2hhciAqdXNlcm5hbWUpOwogCiAvKgot ICogcGdfYmVfc2NyYW1fZ2V0X21lY2hhbmlzbXMKLSAqCiAgKiBHZXQgYSBsaXN0IG9mIFNBU0wg bWVjaGFuaXNtcyB0aGF0IHRoaXMgbW9kdWxlIHN1cHBvcnRzLgogICoKICAqIEZvciB0aGUgY29u dmVuaWVuY2Ugb2YgYnVpbGRpbmcgdGhlIEZFL0JFIHBhY2tldCB0aGF0IGxpc3RzIHRoZQogICog bWVjaGFuaXNtcywgdGhlIG5hbWVzIGFyZSBhcHBlbmRlZCB0byB0aGUgZ2l2ZW4gU3RyaW5nSW5m byBidWZmZXIsCiAgKiBzZXBhcmF0ZWQgYnkgJ1wwJyBieXRlcy4KICAqLwotdm9pZAotcGdfYmVf c2NyYW1fZ2V0X21lY2hhbmlzbXMoUG9ydCAqcG9ydCwgU3RyaW5nSW5mbyBidWYpCitzdGF0aWMg dm9pZAorc2NyYW1fZ2V0X21lY2hhbmlzbXMoUG9ydCAqcG9ydCwgU3RyaW5nSW5mbyBidWYpCiB7 CiAJLyoKIAkgKiBBZHZlcnRpc2UgdGhlIG1lY2hhbmlzbXMgaW4gZGVjcmVhc2luZyBvcmRlciBv ZiBpbXBvcnRhbmNlLiAgU28gdGhlCkBAIC0xOTksOCArMjExLDYgQEAgcGdfYmVfc2NyYW1fZ2V0 X21lY2hhbmlzbXMoUG9ydCAqcG9ydCwgU3RyaW5nSW5mbyBidWYpCiB9CiAKIC8qCi0gKiBwZ19i ZV9zY3JhbV9pbml0Ci0gKgogICogSW5pdGlhbGl6ZSBhIG5ldyBTQ1JBTSBhdXRoZW50aWNhdGlv biBleGNoYW5nZSBzdGF0dXMgdHJhY2tlci4gIFRoaXMKICAqIG5lZWRzIHRvIGJlIGNhbGxlZCBi ZWZvcmUgZG9pbmcgYW55IGV4Y2hhbmdlLiAgSXQgd2lsbCBiZSBmaWxsZWQgbGF0ZXIKICAqIGFm dGVyIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGV4Y2hhbmdlIHdpdGggYXV0aGVudGljYXRpb24gaW5m b3JtYXRpb24uCkBAIC0yMTUsMTAgKzIyNSw4IEBAIHBnX2JlX3NjcmFtX2dldF9tZWNoYW5pc21z KFBvcnQgKnBvcnQsIFN0cmluZ0luZm8gYnVmKQogICogYW4gYXV0aGVudGljYXRpb24gZXhjaGFu Z2UsIGJ1dCBpdCB3aWxsIGZhaWwsIGFzIGlmIGFuIGluY29ycmVjdCBwYXNzd29yZAogICogd2Fz IGdpdmVuLgogICovCi12b2lkICoKLXBnX2JlX3NjcmFtX2luaXQoUG9ydCAqcG9ydCwKLQkJCQkg Y29uc3QgY2hhciAqc2VsZWN0ZWRfbWVjaCwKLQkJCQkgY29uc3QgY2hhciAqc2hhZG93X3Bhc3Mp CitzdGF0aWMgdm9pZCAqCitzY3JhbV9pbml0KFBvcnQgKnBvcnQsIGNvbnN0IGNoYXIgKnNlbGVj dGVkX21lY2gsIGNvbnN0IGNoYXIgKnNoYWRvd19wYXNzKQogewogCXNjcmFtX3N0YXRlICpzdGF0 ZTsKIAlib29sCQlnb3Rfc2VjcmV0OwpAQCAtMzI1LDkgKzMzMyw5IEBAIHBnX2JlX3NjcmFtX2lu aXQoUG9ydCAqcG9ydCwKICAqIHN0cmluZyBhdCAqbG9nZGV0YWlsIHRoYXQgd2lsbCBiZSBzZW50 IHRvIHRoZSBwb3N0bWFzdGVyIGxvZyAoYnV0IG5vdAogICogdGhlIGNsaWVudCkuCiAgKi8KLWlu dAotcGdfYmVfc2NyYW1fZXhjaGFuZ2Uodm9pZCAqb3BhcSwgY29uc3QgY2hhciAqaW5wdXQsIGlu dCBpbnB1dGxlbiwKLQkJCQkJIGNoYXIgKipvdXRwdXQsIGludCAqb3V0cHV0bGVuLCBjaGFyICoq bG9nZGV0YWlsKQorc3RhdGljIGludAorc2NyYW1fZXhjaGFuZ2Uodm9pZCAqb3BhcSwgY29uc3Qg Y2hhciAqaW5wdXQsIGludCBpbnB1dGxlbiwKKwkJCSAgIGNoYXIgKipvdXRwdXQsIGludCAqb3V0 cHV0bGVuLCBjaGFyICoqbG9nZGV0YWlsKQogewogCXNjcmFtX3N0YXRlICpzdGF0ZSA9IChzY3Jh bV9zdGF0ZSAqKSBvcGFxOwogCWludAkJCXJlc3VsdDsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L2xpYnBxL2F1dGguYyBiL3NyYy9iYWNrZW5kL2xpYnBxL2F1dGguYwppbmRleCA2ODM3MmZjZWE4 Li5lMjA3NDBhN2M1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9saWJwcS9hdXRoLmMKKysrIGIv c3JjL2JhY2tlbmQvbGlicHEvYXV0aC5jCkBAIC0yNiwxMSArMjYsMTEgQEAKICNpbmNsdWRlICJj b21tYW5kcy91c2VyLmgiCiAjaW5jbHVkZSAiY29tbW9uL2lwLmgiCiAjaW5jbHVkZSAiY29tbW9u L21kNS5oIgotI2luY2x1ZGUgImNvbW1vbi9zY3JhbS1jb21tb24uaCIKICNpbmNsdWRlICJsaWJw cS9hdXRoLmgiCiAjaW5jbHVkZSAibGlicHEvY3J5cHQuaCIKICNpbmNsdWRlICJsaWJwcS9saWJw cS5oIgogI2luY2x1ZGUgImxpYnBxL3BxZm9ybWF0LmgiCisjaW5jbHVkZSAibGlicHEvc2FzbC5o IgogI2luY2x1ZGUgImxpYnBxL3NjcmFtLmgiCiAjaW5jbHVkZSAibWlzY2FkbWluLmgiCiAjaW5j bHVkZSAicG9ydC9wZ19ic3dhcC5oIgpAQCAtNTEsNiArNTEsMTMgQEAgc3RhdGljIHZvaWQgYXV0 aF9mYWlsZWQoUG9ydCAqcG9ydCwgaW50IHN0YXR1cywgY2hhciAqbG9nZGV0YWlsKTsKIHN0YXRp YyBjaGFyICpyZWN2X3Bhc3N3b3JkX3BhY2tldChQb3J0ICpwb3J0KTsKIHN0YXRpYyB2b2lkIHNl dF9hdXRobl9pZChQb3J0ICpwb3J0LCBjb25zdCBjaGFyICppZCk7CiAKKy8qLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICog U0FTTCBjb21tb24gYXV0aGVudGljYXRpb24KKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCitzdGF0aWMgaW50CVNB U0xfZXhjaGFuZ2UoY29uc3QgcGdfYmVfc2FzbF9tZWNoICptZWNoLCBQb3J0ICpwb3J0LAorCQkJ CQkJICBjaGFyICpzaGFkb3dfcGFzcywgY2hhciAqKmxvZ2RldGFpbCk7CisKIAogLyotLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiAgKiBQYXNzd29yZC1iYXNlZCBhdXRoZW50aWNhdGlvbiBtZXRob2RzIChwYXNzd29yZCwgbWQ1 LCBhbmQgc2NyYW0tc2hhLTI1NikKQEAgLTkxMiwxMiArOTE5LDEzIEBAIENoZWNrTUQ1QXV0aChQ b3J0ICpwb3J0LCBjaGFyICpzaGFkb3dfcGFzcywgY2hhciAqKmxvZ2RldGFpbCkKIH0KIAogc3Rh dGljIGludAotQ2hlY2tTQ1JBTUF1dGgoUG9ydCAqcG9ydCwgY2hhciAqc2hhZG93X3Bhc3MsIGNo YXIgKipsb2dkZXRhaWwpCitTQVNMX2V4Y2hhbmdlKGNvbnN0IHBnX2JlX3Nhc2xfbWVjaCAqbWVj aCwgUG9ydCAqcG9ydCwgY2hhciAqc2hhZG93X3Bhc3MsCisJCQkgIGNoYXIgKipsb2dkZXRhaWwp CiB7CiAJU3RyaW5nSW5mb0RhdGEgc2FzbF9tZWNoczsKIAlpbnQJCQltdHlwZTsKIAlTdHJpbmdJ bmZvRGF0YSBidWY7Ci0Jdm9pZAkgICAqc2NyYW1fb3BhcSA9IE5VTEw7CisJdm9pZAkgICAqb3Bh cSA9IE5VTEw7CiAJY2hhcgkgICAqb3V0cHV0ID0gTlVMTDsKIAlpbnQJCQlvdXRwdXRsZW4gPSAw OwogCWNvbnN0IGNoYXIgKmlucHV0OwpAQCAtOTMxLDcgKzkzOSw3IEBAIENoZWNrU0NSQU1BdXRo KFBvcnQgKnBvcnQsIGNoYXIgKnNoYWRvd19wYXNzLCBjaGFyICoqbG9nZGV0YWlsKQogCSAqLwog CWluaXRTdHJpbmdJbmZvKCZzYXNsX21lY2hzKTsKIAotCXBnX2JlX3NjcmFtX2dldF9tZWNoYW5p c21zKHBvcnQsICZzYXNsX21lY2hzKTsKKwltZWNoLT5nZXRfbWVjaGFuaXNtcyhwb3J0LCAmc2Fz bF9tZWNocyk7CiAJLyogUHV0IGFub3RoZXIgJ1wwJyB0byBtYXJrIHRoYXQgbGlzdCBpcyBmaW5p c2hlZC4gKi8KIAlhcHBlbmRTdHJpbmdJbmZvQ2hhcigmc2FzbF9tZWNocywgJ1wwJyk7CiAKQEAg LTk5OCw3ICsxMDA2LDcgQEAgQ2hlY2tTQ1JBTUF1dGgoUG9ydCAqcG9ydCwgY2hhciAqc2hhZG93 X3Bhc3MsIGNoYXIgKipsb2dkZXRhaWwpCiAJCQkgKiBUaGlzIGlzIGJlY2F1c2Ugd2UgZG9uJ3Qg d2FudCB0byByZXZlYWwgdG8gYW4gYXR0YWNrZXIgd2hhdAogCQkJICogdXNlcm5hbWVzIGFyZSB2 YWxpZCwgbm9yIHdoaWNoIHVzZXJzIGhhdmUgYSB2YWxpZCBwYXNzd29yZC4KIAkJCSAqLwotCQkJ c2NyYW1fb3BhcSA9IHBnX2JlX3NjcmFtX2luaXQocG9ydCwgc2VsZWN0ZWRfbWVjaCwgc2hhZG93 X3Bhc3MpOworCQkJb3BhcSA9IG1lY2gtPmluaXQocG9ydCwgc2VsZWN0ZWRfbWVjaCwgc2hhZG93 X3Bhc3MpOwogCiAJCQlpbnB1dGxlbiA9IHBxX2dldG1zZ2ludCgmYnVmLCA0KTsKIAkJCWlmIChp bnB1dGxlbiA9PSAtMSkKQEAgLTEwMjIsMTIgKzEwMzAsMTEgQEAgQ2hlY2tTQ1JBTUF1dGgoUG9y dCAqcG9ydCwgY2hhciAqc2hhZG93X3Bhc3MsIGNoYXIgKipsb2dkZXRhaWwpCiAJCUFzc2VydChp bnB1dCA9PSBOVUxMIHx8IGlucHV0W2lucHV0bGVuXSA9PSAnXDAnKTsKIAogCQkvKgotCQkgKiB3 ZSBwYXNzICdsb2dkZXRhaWwnIGFzIE5VTEwgd2hlbiBkb2luZyBhIG1vY2sgYXV0aGVudGljYXRp b24sCi0JCSAqIGJlY2F1c2Ugd2Ugc2hvdWxkIGFscmVhZHkgaGF2ZSBhIGJldHRlciBlcnJvciBt ZXNzYWdlIGluIHRoYXQgY2FzZQorCQkgKiBIYW5kIHRoZSBpbmNvbWluZyBtZXNzYWdlIHRvIHRo ZSBtZWNoYW5pc20gaW1wbGVtZW50YXRpb24uCiAJCSAqLwotCQlyZXN1bHQgPSBwZ19iZV9zY3Jh bV9leGNoYW5nZShzY3JhbV9vcGFxLCBpbnB1dCwgaW5wdXRsZW4sCi0JCQkJCQkJCQkgICZvdXRw dXQsICZvdXRwdXRsZW4sCi0JCQkJCQkJCQkgIGxvZ2RldGFpbCk7CisJCXJlc3VsdCA9IG1lY2gt PmV4Y2hhbmdlKG9wYXEsIGlucHV0LCBpbnB1dGxlbiwKKwkJCQkJCQkJJm91dHB1dCwgJm91dHB1 dGxlbiwKKwkJCQkJCQkJbG9nZGV0YWlsKTsKIAogCQkvKiBpbnB1dCBidWZmZXIgbm8gbG9uZ2Vy IHVzZWQgKi8KIAkJcGZyZWUoYnVmLmRhdGEpOwpAQCAtMTAzOSw2ICsxMDQ2LDcgQEAgQ2hlY2tT Q1JBTUF1dGgoUG9ydCAqcG9ydCwgY2hhciAqc2hhZG93X3Bhc3MsIGNoYXIgKipsb2dkZXRhaWwp CiAJCQkgKi8KIAkJCWVsb2coREVCVUc0LCAic2VuZGluZyBTQVNMIGNoYWxsZW5nZSBvZiBsZW5n dGggJXUiLCBvdXRwdXRsZW4pOwogCisJCQkvKiBUT0RPOiBTQVNMX0VYQ0hBTkdFX0ZBSUxVUkUg d2l0aCBvdXRwdXQgaXMgZm9yYmlkZGVuIGluIFNBU0wgKi8KIAkJCWlmIChyZXN1bHQgPT0gU0FT TF9FWENIQU5HRV9TVUNDRVNTKQogCQkJCXNlbmRBdXRoUmVxdWVzdChwb3J0LCBBVVRIX1JFUV9T QVNMX0ZJTiwgb3V0cHV0LCBvdXRwdXRsZW4pOwogCQkJZWxzZQpAQCAtMTA1Nyw2ICsxMDY1LDEy IEBAIENoZWNrU0NSQU1BdXRoKFBvcnQgKnBvcnQsIGNoYXIgKnNoYWRvd19wYXNzLCBjaGFyICoq bG9nZGV0YWlsKQogCXJldHVybiBTVEFUVVNfT0s7CiB9CiAKK3N0YXRpYyBpbnQKK0NoZWNrU0NS QU1BdXRoKFBvcnQgKnBvcnQsIGNoYXIgKnNoYWRvd19wYXNzLCBjaGFyICoqbG9nZGV0YWlsKQor eworCXJldHVybiBTQVNMX2V4Y2hhbmdlKCZwZ19iZV9zY3JhbV9tZWNoLCBwb3J0LCBzaGFkb3df cGFzcywgbG9nZGV0YWlsKTsKK30KKwogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqIEdTU0FQSSBhdXRoZW50aWNh dGlvbiBzeXN0ZW0KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2xpYnBxL3Nhc2wuaCBiL3NyYy9p bmNsdWRlL2xpYnBxL3Nhc2wuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw Li44YzljOTk4M2Q0Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL2luY2x1ZGUvbGlicHEvc2FzbC5o CkBAIC0wLDAgKzEsMzQgQEAKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICoKKyAqIHNhc2wuaAorICoK KyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMTk5Ni0yMDIxLCBQb3N0Z3JlU1FMIEdsb2JhbCBE ZXZlbG9wbWVudCBHcm91cAorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAxOTk0LCBSZWdlbnRz IG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKKyAqCisgKiBzcmMvaW5jbHVkZS9saWJw cS9zYXNsLmgKKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworI2lmbmRlZiBQR19TQVNMX0gK KyNkZWZpbmUgUEdfU0FTTF9ICisKKyNpbmNsdWRlICJsaWJwcS9saWJwcS1iZS5oIgorCisvKiBT dGF0dXMgY29kZXMgZm9yIG1lc3NhZ2UgZXhjaGFuZ2UgKi8KKyNkZWZpbmUgU0FTTF9FWENIQU5H RV9DT05USU5VRQkJMAorI2RlZmluZSBTQVNMX0VYQ0hBTkdFX1NVQ0NFU1MJCTEKKyNkZWZpbmUg U0FTTF9FWENIQU5HRV9GQUlMVVJFCQkyCisKKy8qIEJhY2tlbmQgbWVjaGFuaXNtIEFQSSAqLwor dHlwZWRlZiB2b2lkICAoKnBnX2JlX3Nhc2xfbWVjaGFuaXNtX2Z1bmMpKFBvcnQgKiwgU3RyaW5n SW5mbyk7Cit0eXBlZGVmIHZvaWQgKigqcGdfYmVfc2FzbF9pbml0X2Z1bmMpKFBvcnQgKiwgY29u c3QgY2hhciAqLCBjb25zdCBjaGFyICopOwordHlwZWRlZiBpbnQgICAoKnBnX2JlX3Nhc2xfZXhj aGFuZ2VfZnVuYykodm9pZCAqLCBjb25zdCBjaGFyICosIGludCwgY2hhciAqKiwgaW50ICosIGNo YXIgKiopOworCit0eXBlZGVmIHN0cnVjdAoreworCXBnX2JlX3Nhc2xfbWVjaGFuaXNtX2Z1bmMJ Z2V0X21lY2hhbmlzbXM7CisJcGdfYmVfc2FzbF9pbml0X2Z1bmMJCWluaXQ7CisJcGdfYmVfc2Fz bF9leGNoYW5nZV9mdW5jCWV4Y2hhbmdlOworfSBwZ19iZV9zYXNsX21lY2g7CisKKyNlbmRpZiAv KiBQR19TQVNMX0ggKi8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2xpYnBxL3NjcmFtLmggYi9z cmMvaW5jbHVkZS9saWJwcS9zY3JhbS5oCmluZGV4IDJjODc5MTUwZGEuLjllNDU0MGJkZTMgMTAw NjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2xpYnBxL3NjcmFtLmgKKysrIGIvc3JjL2luY2x1ZGUvbGli cHEvc2NyYW0uaApAQCAtMTUsMTcgKzE1LDEwIEBACiAKICNpbmNsdWRlICJsaWIvc3RyaW5naW5m by5oIgogI2luY2x1ZGUgImxpYnBxL2xpYnBxLWJlLmgiCisjaW5jbHVkZSAibGlicHEvc2FzbC5o IgogCi0vKiBTdGF0dXMgY29kZXMgZm9yIG1lc3NhZ2UgZXhjaGFuZ2UgKi8KLSNkZWZpbmUgU0FT TF9FWENIQU5HRV9DT05USU5VRQkJMAotI2RlZmluZSBTQVNMX0VYQ0hBTkdFX1NVQ0NFU1MJCTEK LSNkZWZpbmUgU0FTTF9FWENIQU5HRV9GQUlMVVJFCQkyCi0KLS8qIFJvdXRpbmVzIGRlZGljYXRl ZCB0byBhdXRoZW50aWNhdGlvbiAqLwotZXh0ZXJuIHZvaWQgcGdfYmVfc2NyYW1fZ2V0X21lY2hh bmlzbXMoUG9ydCAqcG9ydCwgU3RyaW5nSW5mbyBidWYpOwotZXh0ZXJuIHZvaWQgKnBnX2JlX3Nj cmFtX2luaXQoUG9ydCAqcG9ydCwgY29uc3QgY2hhciAqc2VsZWN0ZWRfbWVjaCwgY29uc3QgY2hh ciAqc2hhZG93X3Bhc3MpOwotZXh0ZXJuIGludAlwZ19iZV9zY3JhbV9leGNoYW5nZSh2b2lkICpv cGFxLCBjb25zdCBjaGFyICppbnB1dCwgaW50IGlucHV0bGVuLAotCQkJCQkJCQkgY2hhciAqKm91 dHB1dCwgaW50ICpvdXRwdXRsZW4sIGNoYXIgKipsb2dkZXRhaWwpOworLyogSW1wbGVtZW50YXRp b24gKi8KK2V4dGVybiBjb25zdCBwZ19iZV9zYXNsX21lY2ggcGdfYmVfc2NyYW1fbWVjaDsKIAog LyogUm91dGluZXMgdG8gaGFuZGxlIGFuZCBjaGVjayBTQ1JBTS1TSEEtMjU2IHNlY3JldCAqLwog ZXh0ZXJuIGNoYXIgKnBnX2JlX3NjcmFtX2J1aWxkX3NlY3JldChjb25zdCBjaGFyICpwYXNzd29y ZCk7CmRpZmYgLS1naXQgYS9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1hdXRoLXNjcmFtLmMgYi9z cmMvaW50ZXJmYWNlcy9saWJwcS9mZS1hdXRoLXNjcmFtLmMKaW5kZXggNTg4MTM4NmUzNy4uMDRk NTcwM2Q4OSAxMDA2NDQKLS0tIGEvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0aC1zY3JhbS5j CisrKyBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGgtc2NyYW0uYwpAQCAtMjEsNiArMjEs MjIgQEAKICNpbmNsdWRlICJmZS1hdXRoLmgiCiAKIAorLyogVGhlIGV4cG9ydGVkIFNDUkFNIGNh bGxiYWNrIG1lY2hhbmlzbS4gKi8KK3N0YXRpYyB2b2lkICpzY3JhbV9pbml0KFBHY29ubiAqY29u biwgY29uc3QgY2hhciAqcGFzc3dvcmQsCisJCQkJCQljb25zdCBjaGFyICpzYXNsX21lY2hhbmlz bSk7CitzdGF0aWMgdm9pZCBzY3JhbV9leGNoYW5nZSh2b2lkICpvcGFxLCBjaGFyICppbnB1dCwg aW50IGlucHV0bGVuLAorCQkJCQkJICAgY2hhciAqKm91dHB1dCwgaW50ICpvdXRwdXRsZW4sCisJ CQkJCQkgICBib29sICpkb25lLCBib29sICpzdWNjZXNzKTsKK3N0YXRpYyBib29sIHNjcmFtX2No YW5uZWxfYm91bmQodm9pZCAqb3BhcSk7CitzdGF0aWMgdm9pZCBzY3JhbV9mcmVlKHZvaWQgKm9w YXEpOworCitjb25zdCBwZ19zYXNsX21lY2ggcGdfc2NyYW1fbWVjaCA9IHsKKwlzY3JhbV9pbml0 LAorCXNjcmFtX2V4Y2hhbmdlLAorCXNjcmFtX2NoYW5uZWxfYm91bmQsCisJc2NyYW1fZnJlZSwK K307CisKIC8qCiAgKiBTdGF0dXMgb2YgZXhjaGFuZ2UgbWVzc2FnZXMgdXNlZCBmb3IgU0NSQU0g YXV0aGVudGljYXRpb24gdmlhIHRoZQogICogU0FTTCBwcm90b2NvbC4KQEAgLTcyLDEwICs4OCwx MCBAQCBzdGF0aWMgYm9vbCBjYWxjdWxhdGVfY2xpZW50X3Byb29mKGZlX3NjcmFtX3N0YXRlICpz dGF0ZSwKIC8qCiAgKiBJbml0aWFsaXplIFNDUkFNIGV4Y2hhbmdlIHN0YXR1cy4KICAqLwotdm9p ZCAqCi1wZ19mZV9zY3JhbV9pbml0KFBHY29ubiAqY29ubiwKLQkJCQkgY29uc3QgY2hhciAqcGFz c3dvcmQsCi0JCQkJIGNvbnN0IGNoYXIgKnNhc2xfbWVjaGFuaXNtKQorc3RhdGljIHZvaWQgKgor c2NyYW1faW5pdChQR2Nvbm4gKmNvbm4sCisJCSAgIGNvbnN0IGNoYXIgKnBhc3N3b3JkLAorCQkg ICBjb25zdCBjaGFyICpzYXNsX21lY2hhbmlzbSkKIHsKIAlmZV9zY3JhbV9zdGF0ZSAqc3RhdGU7 CiAJY2hhcgkgICAqcHJlcF9wYXNzd29yZDsKQEAgLTEyOCw4ICsxNDQsOCBAQCBwZ19mZV9zY3Jh bV9pbml0KFBHY29ubiAqY29ubiwKICAqIE5vdGUgdGhhdCB0aGUgY2FsbGVyIG11c3QgYWxzbyBl bnN1cmUgdGhhdCB0aGUgZXhjaGFuZ2Ugd2FzIGFjdHVhbGx5CiAgKiBzdWNjZXNzZnVsLgogICov Ci1ib29sCi1wZ19mZV9zY3JhbV9jaGFubmVsX2JvdW5kKHZvaWQgKm9wYXEpCitzdGF0aWMgYm9v bAorc2NyYW1fY2hhbm5lbF9ib3VuZCh2b2lkICpvcGFxKQogewogCWZlX3NjcmFtX3N0YXRlICpz dGF0ZSA9IChmZV9zY3JhbV9zdGF0ZSAqKSBvcGFxOwogCkBAIC0xNTIsOCArMTY4LDggQEAgcGdf ZmVfc2NyYW1fY2hhbm5lbF9ib3VuZCh2b2lkICpvcGFxKQogLyoKICAqIEZyZWUgU0NSQU0gZXhj aGFuZ2Ugc3RhdHVzCiAgKi8KLXZvaWQKLXBnX2ZlX3NjcmFtX2ZyZWUodm9pZCAqb3BhcSkKK3N0 YXRpYyB2b2lkCitzY3JhbV9mcmVlKHZvaWQgKm9wYXEpCiB7CiAJZmVfc2NyYW1fc3RhdGUgKnN0 YXRlID0gKGZlX3NjcmFtX3N0YXRlICopIG9wYXE7CiAKQEAgLTE4OCwxMCArMjA0LDEwIEBAIHBn X2ZlX3NjcmFtX2ZyZWUodm9pZCAqb3BhcSkKIC8qCiAgKiBFeGNoYW5nZSBhIFNDUkFNIG1lc3Nh Z2Ugd2l0aCBiYWNrZW5kLgogICovCi12b2lkCi1wZ19mZV9zY3JhbV9leGNoYW5nZSh2b2lkICpv cGFxLCBjaGFyICppbnB1dCwgaW50IGlucHV0bGVuLAotCQkJCQkgY2hhciAqKm91dHB1dCwgaW50 ICpvdXRwdXRsZW4sCi0JCQkJCSBib29sICpkb25lLCBib29sICpzdWNjZXNzKQorc3RhdGljIHZv aWQKK3NjcmFtX2V4Y2hhbmdlKHZvaWQgKm9wYXEsIGNoYXIgKmlucHV0LCBpbnQgaW5wdXRsZW4s CisJCQkgICBjaGFyICoqb3V0cHV0LCBpbnQgKm91dHB1dGxlbiwKKwkJCSAgIGJvb2wgKmRvbmUs IGJvb2wgKnN1Y2Nlc3MpCiB7CiAJZmVfc2NyYW1fc3RhdGUgKnN0YXRlID0gKGZlX3NjcmFtX3N0 YXRlICopIG9wYXE7CiAJUEdjb25uCSAgICpjb25uID0gc3RhdGUtPmNvbm47CmRpZmYgLS1naXQg YS9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1hdXRoLmMgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS9m ZS1hdXRoLmMKaW5kZXggZTgwNjI2NDdlNi4uZDVjYmFjMTA4ZSAxMDA2NDQKLS0tIGEvc3JjL2lu dGVyZmFjZXMvbGlicHEvZmUtYXV0aC5jCisrKyBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1 dGguYwpAQCAtNDgyLDcgKzQ4MiwxMCBAQCBwZ19TQVNMX2luaXQoUEdjb25uICpjb25uLCBpbnQg cGF5bG9hZGxlbikKIAkJCQkgKiBjaGFubmVsX2JpbmRpbmcgaXMgbm90IGRpc2FibGVkLgogCQkJ CSAqLwogCQkJCWlmIChjb25uLT5jaGFubmVsX2JpbmRpbmdbMF0gIT0gJ2QnKQkvKiBkaXNhYmxl ICovCisJCQkJewogCQkJCQlzZWxlY3RlZF9tZWNoYW5pc20gPSBTQ1JBTV9TSEFfMjU2X1BMVVNf TkFNRTsKKwkJCQkJY29ubi0+c2FzbCA9ICZwZ19zY3JhbV9tZWNoOworCQkJCX0KICNlbHNlCiAJ CQkJLyoKIAkJCQkgKiBUaGUgY2xpZW50IGRvZXMgbm90IHN1cHBvcnQgY2hhbm5lbCBiaW5kaW5n LiAgSWYgaXQgaXMKQEAgLTUxNiw3ICs1MTksMTAgQEAgcGdfU0FTTF9pbml0KFBHY29ubiAqY29u biwgaW50IHBheWxvYWRsZW4pCiAJCX0KIAkJZWxzZSBpZiAoc3RyY21wKG1lY2hhbmlzbV9idWYu ZGF0YSwgU0NSQU1fU0hBXzI1Nl9OQU1FKSA9PSAwICYmCiAJCQkJICFzZWxlY3RlZF9tZWNoYW5p c20pCisJCXsKIAkJCXNlbGVjdGVkX21lY2hhbmlzbSA9IFNDUkFNX1NIQV8yNTZfTkFNRTsKKwkJ CWNvbm4tPnNhc2wgPSAmcGdfc2NyYW1fbWVjaDsKKwkJfQogCX0KIAogCWlmICghc2VsZWN0ZWRf bWVjaGFuaXNtKQpAQCAtNTU1LDIwICs1NjEsMjIgQEAgcGdfU0FTTF9pbml0KFBHY29ubiAqY29u biwgaW50IHBheWxvYWRsZW4pCiAJCWdvdG8gZXJyb3I7CiAJfQogCisJQXNzZXJ0KGNvbm4tPnNh c2wpOworCiAJLyoKIAkgKiBJbml0aWFsaXplIHRoZSBTQVNMIHN0YXRlIGluZm9ybWF0aW9uIHdp dGggYWxsIHRoZSBpbmZvcm1hdGlvbiBnYXRoZXJlZAogCSAqIGR1cmluZyB0aGUgaW5pdGlhbCBl eGNoYW5nZS4KIAkgKgogCSAqIE5vdGU6IE9ubHkgdGxzLXVuaXF1ZSBpcyBzdXBwb3J0ZWQgZm9y IHRoZSBtb21lbnQuCiAJICovCi0JY29ubi0+c2FzbF9zdGF0ZSA9IHBnX2ZlX3NjcmFtX2luaXQo Y29ubiwKKwljb25uLT5zYXNsX3N0YXRlID0gY29ubi0+c2FzbC0+aW5pdChjb25uLAogCQkJCQkJ CQkJCXBhc3N3b3JkLAogCQkJCQkJCQkJCXNlbGVjdGVkX21lY2hhbmlzbSk7CiAJaWYgKCFjb25u LT5zYXNsX3N0YXRlKQogCQlnb3RvIG9vbV9lcnJvcjsKIAogCS8qIEdldCB0aGUgbWVjaGFuaXNt LXNwZWNpZmljIEluaXRpYWwgQ2xpZW50IFJlc3BvbnNlLCBpZiBhbnkgKi8KLQlwZ19mZV9zY3Jh bV9leGNoYW5nZShjb25uLT5zYXNsX3N0YXRlLAorCWNvbm4tPnNhc2wtPmV4Y2hhbmdlKGNvbm4t PnNhc2xfc3RhdGUsCiAJCQkJCQkgTlVMTCwgLTEsCiAJCQkJCQkgJmluaXRpYWxyZXNwb25zZSwg JmluaXRpYWxyZXNwb25zZWxlbiwKIAkJCQkJCSAmZG9uZSwgJnN1Y2Nlc3MpOwpAQCAtNjQ5LDcg KzY1Nyw3IEBAIHBnX1NBU0xfY29udGludWUoUEdjb25uICpjb25uLCBpbnQgcGF5bG9hZGxlbiwg Ym9vbCBmaW5hbCkKIAkvKiBGb3Igc2FmZXR5IGFuZCBjb252ZW5pZW5jZSwgZW5zdXJlIHRoZSBi dWZmZXIgaXMgTlVMTC10ZXJtaW5hdGVkLiAqLwogCWNoYWxsZW5nZVtwYXlsb2FkbGVuXSA9ICdc MCc7CiAKLQlwZ19mZV9zY3JhbV9leGNoYW5nZShjb25uLT5zYXNsX3N0YXRlLAorCWNvbm4tPnNh c2wtPmV4Y2hhbmdlKGNvbm4tPnNhc2xfc3RhdGUsCiAJCQkJCQkgY2hhbGxlbmdlLCBwYXlsb2Fk bGVuLAogCQkJCQkJICZvdXRwdXQsICZvdXRwdXRsZW4sCiAJCQkJCQkgJmRvbmUsICZzdWNjZXNz KTsKQEAgLTgzMCw3ICs4MzgsNyBAQCBjaGVja19leHBlY3RlZF9hcmVxKEF1dGhSZXF1ZXN0IGFy ZXEsIFBHY29ubiAqY29ubikKIAkJCWNhc2UgQVVUSF9SRVFfU0FTTF9GSU46CiAJCQkJYnJlYWs7 CiAJCQljYXNlIEFVVEhfUkVRX09LOgotCQkJCWlmICghcGdfZmVfc2NyYW1fY2hhbm5lbF9ib3Vu ZChjb25uLT5zYXNsX3N0YXRlKSkKKwkJCQlpZiAoIWNvbm4tPnNhc2wgfHwgIWNvbm4tPnNhc2wt PmNoYW5uZWxfYm91bmQoY29ubi0+c2FzbF9zdGF0ZSkpCiAJCQkJewogCQkJCQlhcHBlbmRQUUV4 cEJ1ZmZlclN0cigmY29ubi0+ZXJyb3JNZXNzYWdlLAogCQkJCQkJCQkJCSBsaWJwcV9nZXR0ZXh0 KCJjaGFubmVsIGJpbmRpbmcgcmVxdWlyZWQsIGJ1dCBzZXJ2ZXIgYXV0aGVudGljYXRlZCBjbGll bnQgd2l0aG91dCBjaGFubmVsIGJpbmRpbmdcbiIpKTsKZGlmZiAtLWdpdCBhL3NyYy9pbnRlcmZh Y2VzL2xpYnBxL2ZlLWF1dGguaCBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGguaAppbmRl eCA3ODc3ZGNiZDA5Li4xZTRmY2JmZjYyIDEwMDY0NAotLS0gYS9zcmMvaW50ZXJmYWNlcy9saWJw cS9mZS1hdXRoLmgKKysrIGIvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0aC5oCkBAIC0yMiwx NSArMjIsOCBAQAogZXh0ZXJuIGludAlwZ19mZV9zZW5kYXV0aChBdXRoUmVxdWVzdCBhcmVxLCBp bnQgcGF5bG9hZGxlbiwgUEdjb25uICpjb25uKTsKIGV4dGVybiBjaGFyICpwZ19mZV9nZXRhdXRo bmFtZShQUUV4cEJ1ZmZlciBlcnJvck1lc3NhZ2UpOwogCi0vKiBQcm90b3R5cGVzIGZvciBmdW5j dGlvbnMgaW4gZmUtYXV0aC1zY3JhbS5jICovCi1leHRlcm4gdm9pZCAqcGdfZmVfc2NyYW1faW5p dChQR2Nvbm4gKmNvbm4sCi0JCQkJCQkJICBjb25zdCBjaGFyICpwYXNzd29yZCwKLQkJCQkJCQkg IGNvbnN0IGNoYXIgKnNhc2xfbWVjaGFuaXNtKTsKLWV4dGVybiBib29sIHBnX2ZlX3NjcmFtX2No YW5uZWxfYm91bmQodm9pZCAqb3BhcSk7Ci1leHRlcm4gdm9pZCBwZ19mZV9zY3JhbV9mcmVlKHZv aWQgKm9wYXEpOwotZXh0ZXJuIHZvaWQgcGdfZmVfc2NyYW1fZXhjaGFuZ2Uodm9pZCAqb3BhcSwg Y2hhciAqaW5wdXQsIGludCBpbnB1dGxlbiwKLQkJCQkJCQkJIGNoYXIgKipvdXRwdXQsIGludCAq b3V0cHV0bGVuLAotCQkJCQkJCQkgYm9vbCAqZG9uZSwgYm9vbCAqc3VjY2Vzcyk7CisvKiBNZWNo YW5pc21zIGluIGZlLWF1dGgtc2NyYW0uYyAqLworZXh0ZXJuIGNvbnN0IHBnX3Nhc2xfbWVjaCBw Z19zY3JhbV9tZWNoOwogZXh0ZXJuIGNoYXIgKnBnX2ZlX3NjcmFtX2J1aWxkX3NlY3JldChjb25z dCBjaGFyICpwYXNzd29yZCk7CiAKICNlbmRpZgkJCQkJCQkvKiBGRV9BVVRIX0ggKi8KZGlmZiAt LWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWNvbm5lY3QuYyBiL3NyYy9pbnRlcmZhY2Vz L2xpYnBxL2ZlLWNvbm5lY3QuYwppbmRleCA4MDcwMzY5OGI4Li4xMGQwMDc1ODJjIDEwMDY0NAot LS0gYS9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1jb25uZWN0LmMKKysrIGIvc3JjL2ludGVyZmFj ZXMvbGlicHEvZmUtY29ubmVjdC5jCkBAIC01MTcsMTEgKzUxNyw3IEBAIHBxRHJvcENvbm5lY3Rp b24oUEdjb25uICpjb25uLCBib29sIGZsdXNoSW5wdXQpCiAjZW5kaWYKIAlpZiAoY29ubi0+c2Fz bF9zdGF0ZSkKIAl7Ci0JCS8qCi0JCSAqIFhYWDogaWYgc3VwcG9ydCBmb3IgbW9yZSBhdXRoZW50 aWNhdGlvbiBtZWNoYW5pc21zIGlzIGFkZGVkLCB0aGlzCi0JCSAqIG5lZWRzIHRvIGNhbGwgdGhl IHJpZ2h0ICdmcmVlJyBmdW5jdGlvbi4KLQkJICovCi0JCXBnX2ZlX3NjcmFtX2ZyZWUoY29ubi0+ c2FzbF9zdGF0ZSk7CisJCWNvbm4tPnNhc2wtPmZyZWUoY29ubi0+c2FzbF9zdGF0ZSk7CiAJCWNv bm4tPnNhc2xfc3RhdGUgPSBOVUxMOwogCX0KIH0KZGlmZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2Vz L2xpYnBxL2xpYnBxLWludC5oIGIvc3JjL2ludGVyZmFjZXMvbGlicHEvbGlicHEtaW50LmgKaW5k ZXggZTgxZGMzNzkwNi4uMjVlYWEyMzFjNSAxMDA2NDQKLS0tIGEvc3JjL2ludGVyZmFjZXMvbGli cHEvbGlicHEtaW50LmgKKysrIGIvc3JjL2ludGVyZmFjZXMvbGlicHEvbGlicHEtaW50LmgKQEAg LTMzOSw2ICszMzksMTkgQEAgdHlwZWRlZiBzdHJ1Y3QgcGdfY29ubl9ob3N0CiAJCQkJCQkJCSAq IGZvdW5kIGluIHBhc3N3b3JkIGZpbGUuICovCiB9IHBnX2Nvbm5faG9zdDsKIAordHlwZWRlZiB2 b2lkICooKnBnX3Nhc2xfaW5pdF9mdW5jKShQR2Nvbm4gKiwgY29uc3QgY2hhciAqLCBjb25zdCBj aGFyICopOwordHlwZWRlZiB2b2lkICAoKnBnX3Nhc2xfZXhjaGFuZ2VfZnVuYykodm9pZCAqLCBj aGFyICosIGludCwgY2hhciAqKiwgaW50ICosIGJvb2wgKiwgYm9vbCAqKTsKK3R5cGVkZWYgYm9v bCAgKCpwZ19zYXNsX2NoYW5uZWxfYm91bmRfZnVuYykodm9pZCAqKTsKK3R5cGVkZWYgdm9pZCAg KCpwZ19zYXNsX2ZyZWVfZnVuYykodm9pZCAqKTsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKwlwZ19z YXNsX2luaXRfZnVuYwkJCWluaXQ7CisJcGdfc2FzbF9leGNoYW5nZV9mdW5jCQlleGNoYW5nZTsK KwlwZ19zYXNsX2NoYW5uZWxfYm91bmRfZnVuYwljaGFubmVsX2JvdW5kOworCXBnX3Nhc2xfZnJl ZV9mdW5jCQkJZnJlZTsKK30gcGdfc2FzbF9tZWNoOworCiAvKgogICogUEdjb25uIHN0b3JlcyBh bGwgdGhlIHN0YXRlIGRhdGEgYXNzb2NpYXRlZCB3aXRoIGEgc2luZ2xlIGNvbm5lY3Rpb24KICAq IHRvIGEgYmFja2VuZC4KQEAgLTUwMCw2ICs1MTMsNyBAQCBzdHJ1Y3QgcGdfY29ubgogCVBHcmVz dWx0ICAgKm5leHRfcmVzdWx0OwkvKiBuZXh0IHJlc3VsdCAodXNlZCBpbiBzaW5nbGUtcm93IG1v ZGUpICovCiAKIAkvKiBBc3NvcnRlZCBzdGF0ZSBmb3IgU0FTTCwgU1NMLCBHU1MsIGV0YyAqLwor CWNvbnN0IHBnX3Nhc2xfbWVjaCAqc2FzbDsKIAl2b2lkCSAgICpzYXNsX3N0YXRlOwogCiAJLyog U1NMIHN0cnVjdHVyZXMgKi8KLS0gCjIuMjUuMQoK --_002_3d2a6f5d50e741117d6baf83eb67ebf1a8a35a11camelvmwarecom_--