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 1lOQ3U-0001A2-3I for pgsql-hackers@arkaria.postgresql.org; Mon, 22 Mar 2021 19:17:36 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lOQ3S-0008Ia-TF for pgsql-hackers@arkaria.postgresql.org; Mon, 22 Mar 2021 19:17:34 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lOQ3S-0008IR-4f for pgsql-hackers@lists.postgresql.org; Mon, 22 Mar 2021 19:17:34 +0000 Received: from mail-dm6nam10on2068.outbound.protection.outlook.com ([40.107.93.68] helo=NAM10-DM6-obe.outbound.protection.outlook.com) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lOQ3N-0002ea-4H for pgsql-hackers@postgresql.org; Mon, 22 Mar 2021 19:17:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ECYGrfsNWhrfdyi1D99kBJSpFOGtkq/RDVeYImpa4Shk/io0052pjvDTJb8HmwOjowR9fTwG6oZ6xtV0j7u4vQwBaxIgwdMLcO4wQQFkrrQGotLbbm5tuN6CSZ203gS4PxSOddb3BtYYRhOy0ZSdlwdOQFxz0kqVeWAmQtfqTyejfboQPD2EzGfCy1SPbkzof0+15bm1EZ7xZqc3CxXKA/eeX3hpqR5iOAP6+WuzBp8dUzzRpon85h6NzDHN4D+iRe2D3ZDE4lBlidZEmdGsyZzawt443EHLLO2eKlBlKoyMQbJtj83lNijY3xO5dBjL2Lk/yIl9GtU0IcWBCIS6KA== 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=XtcNdc16Ufhm6ktpi4G1TNkcFVBUU7Vhtc5eW715Odk=; b=XzPD5AJGfXcf1JNfq34qt9nAPsZjFwP8o4veDlExuo5rx69s7twZGUiTNhK0FGVq/o0c2sAoH6ntgrCc+QBZ/jEyqz1H7mF66RmCnx7ggqcq8ayFCmorIQ28Ijixr+3358dPGUoKJVpeUESW1layFESodbk/hIM3o5+CZhAv2FJzfcUItwj7NylJGcckb2+yOEpuT+6lngpzkzoixgyvMO/nJiddmX3ZXY0yKMbZ9u0SGKyQI4cRYbvWjrprQSMcz/3FRdMq3sWHjpFaKhamSk+/mdkmVoRrIienO0+u1sHAFK8eyGs7h1gx0HqgZQrN3L4sxOTLn03vAFyGsF13zw== 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=XtcNdc16Ufhm6ktpi4G1TNkcFVBUU7Vhtc5eW715Odk=; b=PKpCLBV6/zoiQp+swO+JK6YM11lLKWrLWw/VyAivCf9Z68gS8l0S1NYZ+sMjBN2QmCanZDlqzQ871skbHrw7rCYPipPnJCnxjxMfwVxYM/WFKufmOCtL8AzAQVEMW8GBpICpzS84ehXsVfGje7ar3HZkhnMn9/+DuFeskWQmwZo= Received: from MWHPR05MB2896.namprd05.prod.outlook.com (2603:10b6:300:65::20) by MWHPR05MB3629.namprd05.prod.outlook.com (2603:10b6:301:3f::39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3977.10; Mon, 22 Mar 2021 19:17:26 +0000 Received: from MWHPR05MB2896.namprd05.prod.outlook.com ([fe80::4c6d:a666:643c:9244]) by MWHPR05MB2896.namprd05.prod.outlook.com ([fe80::4c6d:a666:643c:9244%8]) with mapi id 15.20.3977.018; Mon, 22 Mar 2021 19:17:26 +0000 From: Jacob Champion To: "michael@paquier.xyz" CC: "magnus@hagander.net" , "stark@mit.edu" , "pgsql-hackers@postgresql.org" , "sfrost@snowman.net" , "tgl@sss.pgh.pa.us" Subject: Re: Proposal: Save user's original authenticated identity for logging Thread-Topic: Proposal: Save user's original authenticated identity for logging Thread-Index: AQHW9aJ84UHIxxQGM0uvKhvSVw/fl6pFeJoAgAmCVACABIPmgIAXhdMAgAxttwCAA3O0AIABS40AgAAS9ACACTYWgIAEN3sAgAGUV4CAAI82AIAAHMKAgAPoFgCAANotgA== Date: Mon, 22 Mar 2021 19:17:26 +0000 Message-ID: <3d0e903ae67cf27240f1c392534951e86c939cb7.camel@vmware.com> References: <4b2ca51542fa84e6fa37ab678624d5b400c092c0.camel@vmware.com> <679382aaff23627a2e53541322c7a3158d402394.camel@vmware.com> <65354d28ec024d610ee7fe0128a69075d2092043.camel@vmware.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: user-agent: Evolution 3.36.4-0ubuntu1 authentication-results: paquier.xyz; dkim=none (message not signed) header.d=none;paquier.xyz; 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: 4dc19242-d2b9-4a05-c1c9-08d8ed6720fe x-ms-traffictypediagnostic: MWHPR05MB3629: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4714; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: eQV/4sB+xfm33AYZnjlaPvEDlSx0rb6FJhqFvzGo7wn5B/JfcmilEMU1a0mSoReCKA4le5sATJGgCxMk6CyOJfNFqNLMiwRRtCskKwyfpfvgbqNOcWkPTg4uq552O+pOehl9dQ1qH7+Q39gqMGxZpow1uqBcPOo5+bJmS6PbHwTd8/Dg/jl2L9tjmzjl8zrkLUgEHGNdwuRlMzNye8g15nCA2rx+MSGR+B/xxWUDLfKT9FwkwGb6UCsLjwmxK9FT95uj0I7XZwjwyO02Rie9oC4j8h5SxPYRPnUvIyO56j2vkbAoHaKhV6sXQsfcx7s8eH8FP7Vz2o8mx3NCF4n4QkOj3PZkQFef+fkO/0ZsSIx/hsD8rl/MTtMHEGU7ReC+TL4iZolQqm1P52YRnKJ2p15orxT1Dx9VQ/tCA3M9NVoIoe6WbVbewrsPT6Bi4juh9G6+j8oYCXS4kCTucPBF8sigcBkFIYG0tH7lrJnUmvUR1tzN8uwMLpoGCYdc8Coapkjb4bP6XnUPCBOTNqWb6lHr3coleUGXZDnbYN0SFTH/Q8xUTOVoLI92E/91FPpnO+Lwpjal141xP+ADTLFWXuELsR7f60sKEo/FFZcbvXbQtregFwIVaGKbqzUo7DJCkeV17nlJqczcqoaoJISf4OXQrLJh/vNWKnblLjRR/Ro= 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)(376002)(346002)(39860400002)(396003)(366004)(136003)(316002)(99936003)(6506007)(4326008)(2616005)(54906003)(186003)(26005)(6486002)(6916009)(8936002)(8676002)(71200400001)(478600001)(6512007)(2906002)(36756003)(66946007)(66556008)(86362001)(66576008)(66446008)(64756008)(83380400001)(76116006)(66476007)(4744005)(5660300002)(38100700001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?YnRCYWoyTkxTeXBra0p6dXJ6aUxtK0JwSWZIYlZNZ1grejlJbGtnN2p0NEVN?= =?utf-8?B?ekVFR25PVW5oMDF4M1p6eFpHVzJDTnhGQ3dPaUEramZ6MHpyM0RiNnprR2VE?= =?utf-8?B?aWZqc0d0cDdoQWtPaXp0UnZrbGRLRXNrdGM0Tis5QWFHR3lRY0lmMUFFaXN1?= =?utf-8?B?Z29RZmt2eVNndVFvWjVIM0M2TUNzKzFlSXV6UDE0azcyc054elJnLzh6WnRZ?= =?utf-8?B?LzNIclo4eFordk82RktOemV1R3p4SmNaNldnWmNvaUY0UTZpd09SOUdtM0NW?= =?utf-8?B?T2FPdlRYK0oyMndOVUlVSnAxOWIxQTFCVk93ejJCT1ZHaXpFb3FGa2FjZUh1?= =?utf-8?B?RG83NW53YlY0bzU1UjFaaWlvMlBZT0dmMTVZZmF5alpseVVOQllvS1pqdFZj?= =?utf-8?B?ZDhvUFpkbGhpZ1p6a2tDeWpXdlVQRUN0RGJ0RFFGK2Q1aFVxZXJNanRQUU5U?= =?utf-8?B?eks4ZU9jS3lXVnkvc0NxdTBUeEl4L2tMYzc4T0pXUklvcHhCMVhQVU15ODJE?= =?utf-8?B?bW9LUnJETzhqOFNyb0NtekFoQ2RadE4raDlMNkw2UGRhcklUODdWODROb0tP?= =?utf-8?B?eVp2WGtCNmozbU1JVHBVU2pseVBjb3ovdXFpVEVxbXJPNFpYa2xDSXhiTEds?= =?utf-8?B?WXlDNlBMSnp4c3VZMnVJS0ZDMUFqVVRmU1dVSWlranA2NzFYL1F3aitkdW9O?= =?utf-8?B?QXFNU0o1emhXNlFRSTh2K1RXUSsrNVNLbEUzMktVT3Zkd0ZzaCtiV1Evbk9u?= =?utf-8?B?M0cxNFdGR2VuQVNrdXdsOW5BUzNaZ1JJOEdHMUxoRkdFd3hjSk00MFJCTUlY?= =?utf-8?B?TjFnQXZmeEVTY3haWGdnakV5KzdDbDRsTElFcnpQSzZXS0lKamhKd3I5Vml0?= =?utf-8?B?bE1NYWFGcXAzb2pNR1RIeUJuclZpU08rK1YwQmxmSWVPeEdlRzBPRUdFUE9K?= =?utf-8?B?S3RuTlNsY2dLMjY4OGtaMDBQVWtyN0g3b2NKdC9DQWlTR0JWY0hmVVdIcXZy?= =?utf-8?B?Q0tqWGh5aHJBT3E0L09NaVVqSGtraGkvNzY1U0NGTkJ0RXNNZVFLNm4xbGRm?= =?utf-8?B?bWRvOEpSWmhZYzN0VWVnanh6QTA0cUNCYzhlN1hoc2hLcFg4cVY1Q3NBWWlO?= =?utf-8?B?STZScUhoMTYrUlBSd3ZKVlI0VG1ULzZ2MzJ2Vy9lL3JuVzl5ZnIrSUROK01p?= =?utf-8?B?WnRGMUw5Y0JhRlh4bHVXVTIxRjNQZHUxQ3VKZ0pjTHpHOUE3dXV2Q0EwM3VP?= =?utf-8?B?M1R3WlBSOXNxenI1K0xVUitZRjZMY2JJNlZ6aHo3ZnJaRUJRbkdHVlpYUVB6?= =?utf-8?B?VGZKL3hSejNqUTFOWnQrbFg3QU8rd0hkbUlKMlR4M0oxTFk4THZ1R25BeGNu?= =?utf-8?B?Z3VKb1JKOEJaZjQwYjFCTzZIWFZjeGRhdXlXT28zOWY5SHVYOGdWcURBczNE?= =?utf-8?B?K084TGV3L0tVM2dITzUwRzNnU2g2cFhWUWNjZm01ZEJ3Tmx5em9ObmRhQkxz?= =?utf-8?B?RHdLN3lBOGQyT3RjUVpLUjFwQmxmNGI0VTBic1Y1b3kwQ01WWXBBYWNDeTVY?= =?utf-8?B?N3hQWldtU01ZSmFRYkFUdnhEVmpGZkU3bVVKUnZzOWhTcVZCMnpMKzhubUdZ?= =?utf-8?B?MjZlbWVJSlUySE5xNE16dWZYMDdnOEcxVWgyK2pUMkdMV3VxRHNTQ3J2VWlH?= =?utf-8?B?YTlPQmZtQ0RGV2Y0ZGdNVG9KNnpwTWFDd3c0MDdDajRjL1Q5QXpGOVR3OUZa?= =?utf-8?Q?B+be9DGWov/JbrOzMhBOXeQgNfEYJy9KTc7BfHT?= x-ms-exchange-transport-forked: True Content-Type: multipart/mixed; boundary="_003_3d0e903ae67cf27240f1c392534951e86c939cb7camelvmwarecom_" 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: 4dc19242-d2b9-4a05-c1c9-08d8ed6720fe X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Mar 2021 19:17:26.2976 (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: xCkvNKh+OvQYbhBlMQaXQxa/kOdnigAly/T03cNHqJ771EsaubHiQJe7JMkjSEKuq92puWLtJU5wmGaOD9SZzg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR05MB3629 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_003_3d0e903ae67cf27240f1c392534951e86c939cb7camelvmwarecom_ Content-Type: text/plain; charset="utf-8" Content-ID: <820485F64A77414BB76ECF87CBF92FCD@namprd05.prod.outlook.com> Content-Transfer-Encoding: base64 T24gTW9uLCAyMDIxLTAzLTIyIGF0IDE1OjE2ICswOTAwLCBNaWNoYWVsIFBhcXVpZXIgd3JvdGU6 DQo+IE9uIEZyaSwgTWFyIDE5LCAyMDIxIGF0IDA2OjM3OjA1UE0gKzAwMDAsIEphY29iIENoYW1w aW9uIHdyb3RlOg0KPiA+IFRoZSBzYW1lIGVmZmVjdCBjYW4gYmUgaGFkIGJ5IG1vdmluZyB0aGUg bG9nIHJvdGF0aW9uIHRvIHRoZSB0b3Agb2YgdGhlDQo+ID4gdGVzdCB0aGF0IG5lZWRzIGl0LCBz byBJJ3ZlIGRvbmUgaXQgdGhhdCB3YXkgaW4gdjcuDQo+IA0KPiBBZnRlciB0aGlua2luZyBtb3Jl IGFib3V0IDAwMDEsIEkgaGF2ZSBjb21lIHVwIHdpdGggYW4gZXZlbiBzaW1wbGVyDQo+IHNvbHV0 aW9uIHRoYXQgaGFzIHJlc3VsdGVkIGluIDExZTE1NzcuICBUaGF0J3Mgc2ltaWxhciB0byB3aGF0 DQo+IFBvc3RncmVzTm9kZTo6aXNzdWVzX3NxbF9saWtlKCkgZG9lcy4gIFRoaXMgYWxzbyBtYWtl cyAwMDAzIHNpbXBsZXINCj4gd2l0aCBpdHMgY2hhbmdlcyBhcyB0aGlzIHJlcXVpcmVzIHRvIGNo YW5nZSB0d28gbGluZXMgaW4gdGVzdF9hY2Nlc3MuDQp2OCdzIHRlc3RfYWNjZXNzIGxvc3QgdGhl IGluLW9yZGVyIGxvZyBzZWFyY2ggZnJvbSB2NzsgSSd2ZSBhZGRlZCBpdA0KYmFjayBpbiB2OS4g VGhlIGluY3JlYXNlZCByZXNpc3RhbmNlIHRvIGVudHJvcHkgc2VlbXMgd29ydGggdGhlIGZldw0K ZXh0cmEgbGluZXMuIFRob3VnaHRzPw0KDQotLUphY29iDQo= --_003_3d0e903ae67cf27240f1c392534951e86c939cb7camelvmwarecom_ Content-Type: text/x-patch; name="v9-0001-ssl-store-client-s-DN-in-port-peer_dn.patch" Content-Description: v9-0001-ssl-store-client-s-DN-in-port-peer_dn.patch Content-Disposition: attachment; filename="v9-0001-ssl-store-client-s-DN-in-port-peer_dn.patch"; size=3318; creation-date="Mon, 22 Mar 2021 19:17:26 GMT"; modification-date="Mon, 22 Mar 2021 19:17:26 GMT" Content-ID: Content-Transfer-Encoding: base64 RnJvbSAxOTM5Yzk0ZmU5ZDIxYjE5YTQ1NmNlOTlkMDNkZmU4YjQ2ODJkNWFmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWNvYiBDaGFtcGlvbiA8cGNoYW1waW9uQHZtd2FyZS5jb20+ CkRhdGU6IE1vbiwgOCBGZWIgMjAyMSAxMDo1MzoyMCAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggdjkg MS8yXSBzc2w6IHN0b3JlIGNsaWVudCdzIEROIGluIHBvcnQtPnBlZXJfZG4KCk9yaWdpbmFsIHBh dGNoIGJ5IEFuZHJldyBEdW5zdGFuOgoKICAgIGh0dHBzOi8vd3d3LnBvc3RncmVzcWwub3JnL21l c3NhZ2UtaWQvZmQ5NmFlNzYtYThlMy1lZjhlLWE2NDItYTU5MmY1Yjc2NzcxJTQwZHVuc2xhbmUu bmV0CgpidXQgSSd2ZSB0YWtlbiBvdXQgdGhlIGNsaWVudG5hbWU9RE4gZnVuY3Rpb25hbGl0eTsg YWxsIHRoYXQgd2lsbCBiZQpuZWVkZWQgZm9yIHRoZSBuZXh0IHBhdGNoIGlzIHRoZSBETiBzdHJp bmcuCi0tLQogc3JjL2JhY2tlbmQvbGlicHEvYmUtc2VjdXJlLW9wZW5zc2wuYyB8IDUzICsrKysr KysrKysrKysrKysrKysrKysrLS0tLQogc3JjL2luY2x1ZGUvbGlicHEvbGlicHEtYmUuaCAgICAg ICAgICB8ICAxICsKIDIgZmlsZXMgY2hhbmdlZCwgNDcgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9saWJwcS9iZS1zZWN1cmUtb3BlbnNzbC5j IGIvc3JjL2JhY2tlbmQvbGlicHEvYmUtc2VjdXJlLW9wZW5zc2wuYwppbmRleCA1Y2UzZjI3ODU1 Li4xODMyMTcwM2RhIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9saWJwcS9iZS1zZWN1cmUtb3Bl bnNzbC5jCisrKyBiL3NyYy9iYWNrZW5kL2xpYnBxL2JlLXNlY3VyZS1vcGVuc3NsLmMKQEAgLTU1 MSwyMiArNTUxLDI1IEBAIGFsb29wOgogCS8qIEdldCBjbGllbnQgY2VydGlmaWNhdGUsIGlmIGF2 YWlsYWJsZS4gKi8KIAlwb3J0LT5wZWVyID0gU1NMX2dldF9wZWVyX2NlcnRpZmljYXRlKHBvcnQt PnNzbCk7CiAKLQkvKiBhbmQgZXh0cmFjdCB0aGUgQ29tbW9uIE5hbWUgZnJvbSBpdC4gKi8KKwkv KiBhbmQgZXh0cmFjdCB0aGUgQ29tbW9uIE5hbWUgLyBEaXN0aW5ndWlzaGVkIE5hbWUgZnJvbSBp dC4gKi8KIAlwb3J0LT5wZWVyX2NuID0gTlVMTDsKKwlwb3J0LT5wZWVyX2RuID0gTlVMTDsKIAlw b3J0LT5wZWVyX2NlcnRfdmFsaWQgPSBmYWxzZTsKIAlpZiAocG9ydC0+cGVlciAhPSBOVUxMKQog CXsKIAkJaW50CQkJbGVuOworCQlYNTA5X05BTUUgICp4NTA5bmFtZSA9IFg1MDlfZ2V0X3N1Ympl Y3RfbmFtZShwb3J0LT5wZWVyKTsKKwkJY2hhcgkgICAqcGVlcl9jbjsKKwkJY2hhcgkgICAqcGVl cl9kbjsKKwkJQklPCQkgICAqYmlvID0gTlVMTDsKKwkJQlVGX01FTSAgICAqYmlvX2J1ZiA9IE5V TEw7CiAKLQkJbGVuID0gWDUwOV9OQU1FX2dldF90ZXh0X2J5X05JRChYNTA5X2dldF9zdWJqZWN0 X25hbWUocG9ydC0+cGVlciksCi0JCQkJCQkJCQkJTklEX2NvbW1vbk5hbWUsIE5VTEwsIDApOwor CQlsZW4gPSBYNTA5X05BTUVfZ2V0X3RleHRfYnlfTklEKHg1MDluYW1lLCBOSURfY29tbW9uTmFt ZSwgTlVMTCwgMCk7CiAJCWlmIChsZW4gIT0gLTEpCiAJCXsKLQkJCWNoYXIJICAgKnBlZXJfY247 Ci0KIAkJCXBlZXJfY24gPSBNZW1vcnlDb250ZXh0QWxsb2MoVG9wTWVtb3J5Q29udGV4dCwgbGVu ICsgMSk7Ci0JCQlyID0gWDUwOV9OQU1FX2dldF90ZXh0X2J5X05JRChYNTA5X2dldF9zdWJqZWN0 X25hbWUocG9ydC0+cGVlciksCi0JCQkJCQkJCQkJICBOSURfY29tbW9uTmFtZSwgcGVlcl9jbiwg bGVuICsgMSk7CisJCQlyID0gWDUwOV9OQU1FX2dldF90ZXh0X2J5X05JRCh4NTA5bmFtZSwgTklE X2NvbW1vbk5hbWUsIHBlZXJfY24sCisJCQkJCQkJCQkJICBsZW4gKyAxKTsKIAkJCXBlZXJfY25b bGVuXSA9ICdcMCc7CiAJCQlpZiAociAhPSBsZW4pCiAJCQl7CkBAIC01OTAsNiArNTkzLDM2IEBA IGFsb29wOgogCiAJCQlwb3J0LT5wZWVyX2NuID0gcGVlcl9jbjsKIAkJfQorCisJCWJpbyA9IEJJ T19uZXcoQklPX3NfbWVtKCkpOworCQlpZiAoIWJpbykKKwkJeworCQkJcGZyZWUocG9ydC0+cGVl cl9jbik7CisJCQlwb3J0LT5wZWVyX2NuID0gTlVMTDsKKwkJCXJldHVybiAtMTsKKwkJfQorCQkv KiB1c2UgY29tbWFzIGluc3RlYWQgb2Ygc2xhc2hlcyAqLworCQlYNTA5X05BTUVfcHJpbnRfZXgo YmlvLCB4NTA5bmFtZSwgMCwgWE5fRkxBR19SRkMyMjUzKTsKKwkJQklPX2dldF9tZW1fcHRyKGJp bywgJmJpb19idWYpOworCQlwZWVyX2RuID0gTWVtb3J5Q29udGV4dEFsbG9jKFRvcE1lbW9yeUNv bnRleHQsIGJpb19idWYtPmxlbmd0aCArIDEpOworCQltZW1jcHkocGVlcl9kbiwgYmlvX2J1Zi0+ ZGF0YSwgYmlvX2J1Zi0+bGVuZ3RoKTsKKwkJcGVlcl9kbltiaW9fYnVmLT5sZW5ndGhdID0gJ1ww JzsKKwkJaWYgKGJpb19idWYtPmxlbmd0aCAhPSBzdHJsZW4ocGVlcl9kbikpCisJCXsKKwkJCWVy ZXBvcnQoQ09NTUVSUk9SLAorCQkJCQkoZXJyY29kZShFUlJDT0RFX1BST1RPQ09MX1ZJT0xBVElP TiksCisJCQkJCSBlcnJtc2coIlNTTCBjZXJ0aWZpY2F0ZSdzIGRpc3Rpbmd1aXNoZWQgbmFtZSBj b250YWlucyBlbWJlZGRlZCBudWxsIikpKTsKKwkJCUJJT19mcmVlKGJpbyk7CisJCQlwZnJlZShw ZWVyX2RuKTsKKwkJCXBmcmVlKHBvcnQtPnBlZXJfY24pOworCQkJcG9ydC0+cGVlcl9jbiA9IE5V TEw7CisJCQlyZXR1cm4gLTE7CisJCX0KKworCQlCSU9fZnJlZShiaW8pOworCisJCXBvcnQtPnBl ZXJfZG4gPSBwZWVyX2RuOworCiAJCXBvcnQtPnBlZXJfY2VydF92YWxpZCA9IHRydWU7CiAJfQog CkBAIC02MTgsNiArNjUxLDEyIEBAIGJlX3Rsc19jbG9zZShQb3J0ICpwb3J0KQogCQlwZnJlZShw b3J0LT5wZWVyX2NuKTsKIAkJcG9ydC0+cGVlcl9jbiA9IE5VTEw7CiAJfQorCisJaWYgKHBvcnQt PnBlZXJfZG4pCisJeworCQlwZnJlZShwb3J0LT5wZWVyX2RuKTsKKwkJcG9ydC0+cGVlcl9kbiA9 IE5VTEw7CisJfQogfQogCiBzc2l6ZV90CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9saWJwcS9s aWJwcS1iZS5oIGIvc3JjL2luY2x1ZGUvbGlicHEvbGlicHEtYmUuaAppbmRleCAzMGZiNGU2MTNk Li5kOTcwMjc3ODk0IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9saWJwcS9saWJwcS1iZS5oCisr KyBiL3NyYy9pbmNsdWRlL2xpYnBxL2xpYnBxLWJlLmgKQEAgLTE5MCw2ICsxOTAsNyBAQCB0eXBl ZGVmIHN0cnVjdCBQb3J0CiAJICovCiAJYm9vbAkJc3NsX2luX3VzZTsKIAljaGFyCSAgICpwZWVy X2NuOworCWNoYXIJICAgKnBlZXJfZG47CiAJYm9vbAkJcGVlcl9jZXJ0X3ZhbGlkOwogCiAJLyoK LS0gCjIuMjUuMQoK --_003_3d0e903ae67cf27240f1c392534951e86c939cb7camelvmwarecom_ Content-Type: text/x-patch; name="v9-0002-Log-authenticated-identity-from-all-auth-backends.patch" Content-Description: v9-0002-Log-authenticated-identity-from-all-auth-backends.patch Content-Disposition: attachment; filename="v9-0002-Log-authenticated-identity-from-all-auth-backends.patch"; size=28366; creation-date="Mon, 22 Mar 2021 19:17:26 GMT"; modification-date="Mon, 22 Mar 2021 19:17:26 GMT" Content-ID: <7EF8C9FBF572C7408A49839785C46487@namprd05.prod.outlook.com> Content-Transfer-Encoding: base64 RnJvbSBlMzE1ZjgwNmRjNzg5NWE4YzFhNTFjZWM0ZDA3M2M1ZDNjY2VhNzRiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWNvYiBDaGFtcGlvbiA8cGNoYW1waW9uQHZtd2FyZS5jb20+ CkRhdGU6IFdlZCwgMyBGZWIgMjAyMSAxMTo0MjowNSAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggdjkg Mi8yXSBMb2cgYXV0aGVudGljYXRlZCBpZGVudGl0eSBmcm9tIGFsbCBhdXRoIGJhY2tlbmRzCgpU aGUgImF1dGhlbnRpY2F0ZWQgaWRlbnRpdHkiIGlzIHRoZSBzdHJpbmcgdXNlZCBieSBhbiBhdXRo IG1ldGhvZCB0bwppZGVudGlmeSBhIHBhcnRpY3VsYXIgdXNlci4gSW4gbWFueSBjb21tb24gY2Fz ZXMgdGhpcyBpcyB0aGUgc2FtZSBhcyB0aGUKUG9zdGdyZXMgdXNlcm5hbWUsIGJ1dCBmb3Igc29t ZSB0aGlyZC1wYXJ0eSBhdXRoIG1ldGhvZHMsIHRoZSBpZGVudGlmaWVyCmluIHVzZSBtYXkgYmUg c2hvcnRlbmVkIG9yIG90aGVyd2lzZSB0cmFuc2xhdGVkIChlLmcuIHRocm91Z2ggcGdfaWRlbnQK bWFwcGluZ3MpIGJlZm9yZSB0aGUgc2VydmVyIHN0b3JlcyBpdC4KClRvIGhlbHAgREJBcyBzZWUg d2hvIGhhcyBhY3R1YWxseSBpbnRlcmFjdGVkIHdpdGggdGhlIHN5c3RlbSwgc3RvcmUgdGhlCm9y aWdpbmFsIGlkZW50aXR5IHdoZW4gYXV0aGVudGljYXRpb24gc3VjY2VlZHMsIGFuZCBleHBvc2Ug aXQgdmlhIHRoZQpsb2dfY29ubmVjdGlvbnMgc2V0dGluZy4gVGhlIGxvZyBlbnRyaWVzIGxvb2sg c29tZXRoaW5nIGxpa2UgdGhpcwpleGFtcGxlICh3aGVyZSBhIGxvY2FsIHVzZXIgbmFtZWQgInBj aGFtcGlvbiIgaXMgY29ubmVjdGluZyB0byB0aGUKZGF0YWJhc2UgYXMgdGhlICJhZG1pbiIgdXNl cik6CgogICAgTE9HOiAgY29ubmVjdGlvbiByZWNlaXZlZDogaG9zdD1bbG9jYWxdCiAgICBMT0c6 ICBjb25uZWN0aW9uIGF1dGhlbnRpY2F0ZWQ6IGlkZW50aXR5PSJwY2hhbXBpb24iIG1ldGhvZD1w ZWVyICgvZGF0YS9wZ19oYmEuY29uZjo4OCkKICAgIExPRzogIGNvbm5lY3Rpb24gYXV0aG9yaXpl ZDogdXNlcj1hZG1pbiBkYXRhYmFzZT1wb3N0Z3JlcyBhcHBsaWNhdGlvbl9uYW1lPXBzcWwKCnBv cnQtPmF1dGhuX2lkIGlzIHNldCBhY2NvcmRpbmcgdG8gdGhlIGF1dGggbWV0aG9kOgoKICAgIGJz ZDogdGhlIFBvc3RncmVzIHVzZXJuYW1lICh3aGljaCBpcyB0aGUgbG9jYWwgdXNlcm5hbWUpCiAg ICBjZXJ0OiB0aGUgY2xpZW50J3MgU3ViamVjdCBETgogICAgZ3NzOiB0aGUgdXNlciBwcmluY2lw YWwKICAgIGlkZW50OiB0aGUgcmVtb3RlIHVzZXJuYW1lCiAgICBsZGFwOiB0aGUgZmluYWwgYmlu ZCBETgogICAgcGFtOiB0aGUgUG9zdGdyZXMgdXNlcm5hbWUgKHdoaWNoIGlzIHRoZSBQQU0gdXNl cm5hbWUpCiAgICBwYXNzd29yZCAoYW5kIGFsbCBwdy1jaGFsbGVuZ2UgbWV0aG9kcyk6IHRoZSBQ b3N0Z3JlcyB1c2VybmFtZQogICAgcGVlcjogdGhlIHBlZXIncyBwd19uYW1lCiAgICByYWRpdXM6 IHRoZSBQb3N0Z3JlcyB1c2VybmFtZSAod2hpY2ggaXMgdGhlIFJBRElVUyB1c2VybmFtZSkKICAg IHNzcGk6IGVpdGhlciB0aGUgZG93bi1sZXZlbCAoU0FNLWNvbXBhdGlibGUpIGxvZ29uIG5hbWUs IGlmCiAgICAgICAgICBjb21wYXRfcmVhbG09MSwgb3IgdGhlIFVzZXIgUHJpbmNpcGFsIE5hbWUg aWYgY29tcGF0X3JlYWxtPTAKClRoZSB0cnVzdCBhdXRoIG1ldGhvZCBkb2VzIG5vdCBzZXQgYW4g YXV0aGVudGljYXRlZCBpZGVudGl0eS4gTmVpdGhlcgpkb2VzIHVzaW5nIGNsaWVudGNlcnQ9dmVy aWZ5LWZ1bGwgKHVzZSB0aGUgY2VydCBhdXRoIG1ldGhvZCBpbnN0ZWFkKS4KClRoZSBLZXJiZXJv cyB0ZXN0IHN1aXRlIGhhcyBiZWVuIG1vZGlmaWVkIHRvIGxldCB0ZXN0cyBtYXRjaCBtdWx0aXBs ZQpsb2cgbGluZXMgaW4gb3JkZXIuCi0tLQogZG9jL3NyYy9zZ21sL2NvbmZpZy5zZ21sICAgICAg ICAgICAgICAgICAgfCAgIDIgKy0KIHNyYy9iYWNrZW5kL2xpYnBxL2F1dGguYyAgICAgICAgICAg ICAgICAgIHwgMTE5ICsrKysrKysrKysrKysrKysrKysrLS0KIHNyYy9iYWNrZW5kL2xpYnBxL2hi YS5jICAgICAgICAgICAgICAgICAgIHwgIDI0ICsrKysrCiBzcmMvaW5jbHVkZS9saWJwcS9oYmEu aCAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBzcmMvaW5jbHVkZS9saWJwcS9saWJwcS1iZS5o ICAgICAgICAgICAgICB8ICAxMiArKysKIHNyYy90ZXN0L2F1dGhlbnRpY2F0aW9uL3QvMDAxX3Bh c3N3b3JkLnBsIHwgIDYwICsrKysrKysrKystCiBzcmMvdGVzdC9rZXJiZXJvcy90LzAwMV9hdXRo LnBsICAgICAgICAgICB8ICA0OSArKysrKysrLS0KIHNyYy90ZXN0L2xkYXAvdC8wMDFfYXV0aC5w bCAgICAgICAgICAgICAgIHwgIDI4ICsrKystCiBzcmMvdGVzdC9zc2wvdC8wMDFfc3NsdGVzdHMu cGwgICAgICAgICAgICB8ICA1NSArKysrKysrKystCiBzcmMvdGVzdC9zc2wvdC8wMDJfc2NyYW0u cGwgICAgICAgICAgICAgICB8ICA1MyArKysrKysrKystCiAxMCBmaWxlcyBjaGFuZ2VkLCAzNzkg aW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21s L2NvbmZpZy5zZ21sIGIvZG9jL3NyYy9zZ21sL2NvbmZpZy5zZ21sCmluZGV4IDU2NzliNDBkZDUu LjdmOTVmZWFjOWIgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9jb25maWcuc2dtbAorKysgYi9k b2Mvc3JjL3NnbWwvY29uZmlnLnNnbWwKQEAgLTY2OTUsNyArNjY5NSw3IEBAIGxvY2FsMC4qICAg IC92YXIvbG9nL3Bvc3RncmVzcWwKICAgICAgIDxsaXN0aXRlbT4KICAgICAgICA8cGFyYT4KICAg ICAgICAgQ2F1c2VzIGVhY2ggYXR0ZW1wdGVkIGNvbm5lY3Rpb24gdG8gdGhlIHNlcnZlciB0byBi ZSBsb2dnZWQsCi0gICAgICAgIGFzIHdlbGwgYXMgc3VjY2Vzc2Z1bCBjb21wbGV0aW9uIG9mIGNs aWVudCBhdXRoZW50aWNhdGlvbi4KKyAgICAgICAgYXMgd2VsbCBhcyBzdWNjZXNzZnVsIGNvbXBs ZXRpb24gb2YgY2xpZW50IGF1dGhlbnRpY2F0aW9uIGFuZCBhdXRob3JpemF0aW9uLgogICAgICAg ICBPbmx5IHN1cGVydXNlcnMgY2FuIGNoYW5nZSB0aGlzIHBhcmFtZXRlciBhdCBzZXNzaW9uIHN0 YXJ0LAogICAgICAgICBhbmQgaXQgY2Fubm90IGJlIGNoYW5nZWQgYXQgYWxsIHdpdGhpbiBhIHNl c3Npb24uCiAgICAgICAgIFRoZSBkZWZhdWx0IGlzIDxsaXRlcmFsPm9mZjwvbGl0ZXJhbD4uCmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC9saWJwcS9hdXRoLmMgYi9zcmMvYmFja2VuZC9saWJwcS9h dXRoLmMKaW5kZXggOTk0MjUxZTdkOS4uYmZjZmZiZGIzYiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvbGlicHEvYXV0aC5jCisrKyBiL3NyYy9iYWNrZW5kL2xpYnBxL2F1dGguYwpAQCAtMzQsOCAr MzQsMTAgQEAKICNpbmNsdWRlICJsaWJwcS9zY3JhbS5oIgogI2luY2x1ZGUgIm1pc2NhZG1pbi5o IgogI2luY2x1ZGUgInBvcnQvcGdfYnN3YXAuaCIKKyNpbmNsdWRlICJwb3N0bWFzdGVyL3Bvc3Rt YXN0ZXIuaCIKICNpbmNsdWRlICJyZXBsaWNhdGlvbi93YWxzZW5kZXIuaCIKICNpbmNsdWRlICJz dG9yYWdlL2lwYy5oIgorI2luY2x1ZGUgInV0aWxzL2d1Yy5oIgogI2luY2x1ZGUgInV0aWxzL21l bXV0aWxzLmgiCiAjaW5jbHVkZSAidXRpbHMvdGltZXN0YW1wLmgiCiAKQEAgLTQ3LDYgKzQ5LDcg QEAgc3RhdGljIHZvaWQgc2VuZEF1dGhSZXF1ZXN0KFBvcnQgKnBvcnQsIEF1dGhSZXF1ZXN0IGFy ZXEsIGNvbnN0IGNoYXIgKmV4dHJhZGF0YSwKIAkJCQkJCQlpbnQgZXh0cmFsZW4pOwogc3RhdGlj IHZvaWQgYXV0aF9mYWlsZWQoUG9ydCAqcG9ydCwgaW50IHN0YXR1cywgY2hhciAqbG9nZGV0YWls KTsKIHN0YXRpYyBjaGFyICpyZWN2X3Bhc3N3b3JkX3BhY2tldChQb3J0ICpwb3J0KTsKK3N0YXRp YyB2b2lkIHNldF9hdXRobl9pZChQb3J0ICpwb3J0LCBjb25zdCBjaGFyICppZCk7CiAKIAogLyot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCkBAIC0zMzcsNiArMzQwLDQ3IEBAIGF1dGhfZmFpbGVkKFBvcnQgKnBvcnQsIGludCBz dGF0dXMsIGNoYXIgKmxvZ2RldGFpbCkKIH0KIAogCisvKgorICogU2V0cyB0aGUgYXV0aGVudGlj YXRlZCBpZGVudGl0eSBmb3IgdGhlIGN1cnJlbnQgdXNlci4gVGhlIHByb3ZpZGVkIHN0cmluZwor ICogd2lsbCBiZSBjb3BpZWQgaW50byB0aGUgVG9wTWVtb3J5Q29udGV4dC4gVGhlIElEIHdpbGwg YmUgbG9nZ2VkIGlmCisgKiBsb2dfY29ubmVjdGlvbnMgaXMgZW5hYmxlZC4KKyAqCisgKiBBdXRo IG1ldGhvZHMgc2hvdWxkIGNhbGwgdGhpcyBleGFjdGx5IG9uY2UsIGFzIHNvb24gYXMgdGhlIHVz ZXIgaXMKKyAqIHN1Y2Nlc3NmdWxseSBhdXRoZW50aWNhdGVkLCBldmVuIGlmIHRoZXkgaGF2ZSBy ZWFzb24gdG8ga25vdyB0aGF0CisgKiBhdXRob3JpemF0aW9uIHdpbGwgZmFpbCBsYXRlci4KKyAq Lworc3RhdGljIHZvaWQKK3NldF9hdXRobl9pZChQb3J0ICpwb3J0LCBjb25zdCBjaGFyICppZCkK K3sKKwlBc3NlcnQoaWQpOworCisJaWYgKHBvcnQtPmF1dGhuX2lkKQorCXsKKwkJLyoKKwkJICog QW4gZXhpc3RpbmcgYXV0aG5faWQgc2hvdWxkIG5ldmVyIGJlIG92ZXJ3cml0dGVuOyB0aGF0IG1l YW5zIHR3bworCQkgKiBhdXRoZW50aWNhdGlvbiBwcm92aWRlcnMgYXJlIGZpZ2h0aW5nIChvciBv bmUgaXMgZmlnaHRpbmcgaXRzZWxmKS4KKwkJICogRG9uJ3QgbGVhayBhbnkgYXV0aG4gZGV0YWls cyB0byB0aGUgY2xpZW50LCBidXQgZG9uJ3QgbGV0IHRoZQorCQkgKiBjb25uZWN0aW9uIGNvbnRp bnVlLCBlaXRoZXIuCisJCSAqLworCQllcmVwb3J0KEZBVEFMLAorCQkJCShlcnJtc2coImNvbm5l Y3Rpb24gd2FzIHJlLWF1dGhlbnRpY2F0ZWQiKSwKKwkJCQkgZXJyZGV0YWlsX2xvZygicHJldmlv dXMgSUQ6IFwiJXNcIjsgbmV3IElEOiBcIiVzXCIiLAorCQkJCQkJCSAgIHBvcnQtPmF1dGhuX2lk LCBpZCkpKTsKKwl9CisKKwlwb3J0LT5hdXRobl9pZCA9IE1lbW9yeUNvbnRleHRTdHJkdXAoVG9w TWVtb3J5Q29udGV4dCwgaWQpOworCisJaWYgKExvZ19jb25uZWN0aW9ucykKKwl7CisJCWVyZXBv cnQoTE9HLAorCQkJZXJybXNnKCJjb25uZWN0aW9uIGF1dGhlbnRpY2F0ZWQ6IGlkZW50aXR5PVwi JXNcIiBtZXRob2Q9JXMgIgorCQkJCSAgICIoJXM6JWQpIiwKKwkJCQkgICBwb3J0LT5hdXRobl9p ZCwgaGJhX2F1dGhuYW1lKHBvcnQpLCBIYmFGaWxlTmFtZSwKKwkJCQkgICBwb3J0LT5oYmEtPmxp bmVudW1iZXIpKTsKKwl9Cit9CisKKwogLyoKICAqIENsaWVudCBhdXRoZW50aWNhdGlvbiBzdGFy dHMgaGVyZS4gIElmIHRoZXJlIGlzIGFuIGVycm9yLCB0aGlzCiAgKiBmdW5jdGlvbiBkb2VzIG5v dCByZXR1cm4gYW5kIHRoZSBiYWNrZW5kIHByb2Nlc3MgaXMgdGVybWluYXRlZC4KQEAgLTc1Nyw2 ICs4MDEsOSBAQCBDaGVja1Bhc3N3b3JkQXV0aChQb3J0ICpwb3J0LCBjaGFyICoqbG9nZGV0YWls KQogCQlwZnJlZShzaGFkb3dfcGFzcyk7CiAJcGZyZWUocGFzc3dkKTsKIAorCWlmIChyZXN1bHQg PT0gU1RBVFVTX09LKQorCQlzZXRfYXV0aG5faWQocG9ydCwgcG9ydC0+dXNlcl9uYW1lKTsKKwog CXJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTgxNiw2ICs4NjMsMTAgQEAgQ2hlY2tQV0NoYWxsZW5n ZUF1dGgoUG9ydCAqcG9ydCwgY2hhciAqKmxvZ2RldGFpbCkKIAkJQXNzZXJ0KGF1dGhfcmVzdWx0 ICE9IFNUQVRVU19PSyk7CiAJCXJldHVybiBTVEFUVVNfRVJST1I7CiAJfQorCisJaWYgKGF1dGhf cmVzdWx0ID09IFNUQVRVU19PSykKKwkJc2V0X2F1dGhuX2lkKHBvcnQsIHBvcnQtPnVzZXJfbmFt ZSk7CisKIAlyZXR1cm4gYXV0aF9yZXN1bHQ7CiB9CiAKQEAgLTExNzMsOSArMTIyNCwxMCBAQCBw Z19HU1NfY2hlY2thdXRoKFBvcnQgKnBvcnQpCiAKIAkvKgogCSAqIENvcHkgdGhlIG9yaWdpbmFs IG5hbWUgb2YgdGhlIGF1dGhlbnRpY2F0ZWQgcHJpbmNpcGFsIGludG8gb3VyIGJhY2tlbmQKLQkg KiBtZW1vcnkgZm9yIGRpc3BsYXkgbGF0ZXIuCisJICogbWVtb3J5IGZvciBkaXNwbGF5IGxhdGVy LiBUaGlzIGlzIGFsc28gb3VyIGF1dGhlbnRpY2F0ZWQgaWRlbnRpdHkuCiAJICovCiAJcG9ydC0+ Z3NzLT5wcmluYyA9IE1lbW9yeUNvbnRleHRTdHJkdXAoVG9wTWVtb3J5Q29udGV4dCwgZ2J1Zi52 YWx1ZSk7CisJc2V0X2F1dGhuX2lkKHBvcnQsIGdidWYudmFsdWUpOwogCiAJLyoKIAkgKiBTcGxp dCB0aGUgdXNlcm5hbWUgYXQgdGhlIHJlYWxtIHNlcGFyYXRvcgpAQCAtMTI4NSw2ICsxMzM3LDcg QEAgcGdfU1NQSV9yZWN2YXV0aChQb3J0ICpwb3J0KQogCURXT1JECQlkb21haW5uYW1lc2l6ZSA9 IHNpemVvZihkb21haW5uYW1lKTsKIAlTSURfTkFNRV9VU0UgYWNjb3VudG5hbWV1c2U7CiAJSE1P RFVMRQkJc2VjdXIzMjsKKwljaGFyCSAgICphdXRobl9pZDsKIAogCVFVRVJZX1NFQ1VSSVRZX0NP TlRFWFRfVE9LRU5fRk4gX1F1ZXJ5U2VjdXJpdHlDb250ZXh0VG9rZW47CiAKQEAgLTE1MTQsNiAr MTU2NywyNCBAQCBwZ19TU1BJX3JlY3ZhdXRoKFBvcnQgKnBvcnQpCiAJCQlyZXR1cm4gc3RhdHVz OwogCX0KIAorCS8qCisJICogV2UgaGF2ZSBhbGwgb2YgdGhlIGluZm9ybWF0aW9uIG5lY2Vzc2Fy eSB0byBjb25zdHJ1Y3QgdGhlIGF1dGhlbnRpY2F0ZWQKKwkgKiBpZGVudGl0eS4KKwkgKi8KKwlp ZiAocG9ydC0+aGJhLT5jb21wYXRfcmVhbG0pCisJeworCQkvKiBTQU0tY29tcGF0aWJsZSBmb3Jt YXQuICovCisJCWF1dGhuX2lkID0gcHNwcmludGYoIiVzXFwlcyIsIGRvbWFpbm5hbWUsIGFjY291 bnRuYW1lKTsKKwl9CisJZWxzZQorCXsKKwkJLyogS2VyYmVyb3MgcHJpbmNpcGFsIGZvcm1hdC4g Ki8KKwkJYXV0aG5faWQgPSBwc3ByaW50ZigiJXNAJXMiLCBhY2NvdW50bmFtZSwgZG9tYWlubmFt ZSk7CisJfQorCisJc2V0X2F1dGhuX2lkKHBvcnQsIGF1dGhuX2lkKTsKKwlwZnJlZShhdXRobl9p ZCk7CisKIAkvKgogCSAqIENvbXBhcmUgcmVhbG0vZG9tYWluIGlmIHJlcXVlc3RlZC4gSW4gU1NQ SSwgYWx3YXlzIGNvbXBhcmUgY2FzZQogCSAqIGluc2Vuc2l0aXZlLgpAQCAtMTkwMSw4ICsxOTcy LDExIEBAIGlkZW50X2luZXRfZG9uZToKIAkJcGdfZnJlZWFkZHJpbmZvX2FsbChsb2NhbF9hZGRy LmFkZHIuc3NfZmFtaWx5LCBsYSk7CiAKIAlpZiAoaWRlbnRfcmV0dXJuKQotCQkvKiBTdWNjZXNz ISBDaGVjayB0aGUgdXNlcm1hcCAqLworCXsKKwkJLyogU3VjY2VzcyEgU3RvcmUgdGhlIGlkZW50 aXR5IGFuZCBjaGVjayB0aGUgdXNlcm1hcCAqLworCQlzZXRfYXV0aG5faWQocG9ydCwgaWRlbnRf dXNlcik7CiAJCXJldHVybiBjaGVja191c2VybWFwKHBvcnQtPmhiYS0+dXNlcm1hcCwgcG9ydC0+ dXNlcl9uYW1lLCBpZGVudF91c2VyLCBmYWxzZSk7CisJfQogCXJldHVybiBTVEFUVVNfRVJST1I7 CiB9CiAKQEAgLTE5MjYsNyArMjAwMCw2IEBAIGF1dGhfcGVlcihoYmFQb3J0ICpwb3J0KQogCWdp ZF90CQlnaWQ7CiAjaWZuZGVmIFdJTjMyCiAJc3RydWN0IHBhc3N3ZCAqcHc7Ci0JY2hhcgkgICAq cGVlcl91c2VyOwogCWludAkJCXJldDsKICNlbmRpZgogCkBAIC0xOTU4LDEyICsyMDMxLDEzIEBA IGF1dGhfcGVlcihoYmFQb3J0ICpwb3J0KQogCQlyZXR1cm4gU1RBVFVTX0VSUk9SOwogCX0KIAot CS8qIE1ha2UgYSBjb3B5IG9mIHN0YXRpYyBnZXRwdyooKSByZXN1bHQgYXJlYS4gKi8KLQlwZWVy X3VzZXIgPSBwc3RyZHVwKHB3LT5wd19uYW1lKTsKLQotCXJldCA9IGNoZWNrX3VzZXJtYXAocG9y dC0+aGJhLT51c2VybWFwLCBwb3J0LT51c2VyX25hbWUsIHBlZXJfdXNlciwgZmFsc2UpOworCS8q CisJICogTWFrZSBhIGNvcHkgb2Ygc3RhdGljIGdldHB3KigpIHJlc3VsdCBhcmVhLiBUaGlzIGlz IG91ciBhdXRoZW50aWNhdGVkCisJICogaWRlbnRpdHkuCisJICovCisJc2V0X2F1dGhuX2lkKHBv cnQsIHB3LT5wd19uYW1lKTsKIAotCXBmcmVlKHBlZXJfdXNlcik7CisJcmV0ID0gY2hlY2tfdXNl cm1hcChwb3J0LT5oYmEtPnVzZXJtYXAsIHBvcnQtPnVzZXJfbmFtZSwgcG9ydC0+YXV0aG5faWQs IGZhbHNlKTsKIAogCXJldHVybiByZXQ7CiAjZWxzZQpAQCAtMjIyMCw2ICsyMjk0LDkgQEAgQ2hl Y2tQQU1BdXRoKFBvcnQgKnBvcnQsIGNvbnN0IGNoYXIgKnVzZXIsIGNvbnN0IGNoYXIgKnBhc3N3 b3JkKQogCiAJcGFtX3Bhc3N3ZCA9IE5VTEw7CQkJLyogVW5zZXQgcGFtX3Bhc3N3ZCAqLwogCisJ aWYgKHJldHZhbCA9PSBQQU1fU1VDQ0VTUykKKwkJc2V0X2F1dGhuX2lkKHBvcnQsIHVzZXIpOwor CiAJcmV0dXJuIChyZXR2YWwgPT0gUEFNX1NVQ0NFU1MgPyBTVEFUVVNfT0sgOiBTVEFUVVNfRVJS T1IpOwogfQogI2VuZGlmCQkJCQkJCS8qIFVTRV9QQU0gKi8KQEAgLTIyNTUsNiArMjMzMiw3IEBA IENoZWNrQlNEQXV0aChQb3J0ICpwb3J0LCBjaGFyICp1c2VyKQogCWlmICghcmV0dmFsKQogCQly ZXR1cm4gU1RBVFVTX0VSUk9SOwogCisJc2V0X2F1dGhuX2lkKHBvcnQsIHVzZXIpOwogCXJldHVy biBTVEFUVVNfT0s7CiB9CiAjZW5kaWYJCQkJCQkJLyogVVNFX0JTRF9BVVRIICovCkBAIC0yNzYx LDYgKzI4MzksOSBAQCBDaGVja0xEQVBBdXRoKFBvcnQgKnBvcnQpCiAJCXJldHVybiBTVEFUVVNf RVJST1I7CiAJfQogCisJLyogU2F2ZSB0aGUgb3JpZ2luYWwgYmluZCBETiBhcyB0aGUgYXV0aGVu dGljYXRlZCBpZGVudGl0eS4gKi8KKwlzZXRfYXV0aG5faWQocG9ydCwgZnVsbHVzZXIpOworCiAJ bGRhcF91bmJpbmQobGRhcCk7CiAJcGZyZWUocGFzc3dkKTsKIAlwZnJlZShmdWxsdXNlcik7CkBA IC0yODEzLDYgKzI4OTQsMjYgQEAgQ2hlY2tDZXJ0QXV0aChQb3J0ICpwb3J0KQogCQlyZXR1cm4g U1RBVFVTX0VSUk9SOwogCX0KIAorCWlmIChwb3J0LT5oYmEtPmF1dGhfbWV0aG9kID09IHVhQ2Vy dCkKKwl7CisJCS8qCisJCSAqIFRoZSBjbGllbnQncyBTdWJqZWN0IEROIGlzIG91ciBhdXRoZW50 aWNhdGVkIGlkZW50aXR5LgorCQkgKi8KKwkJaWYgKCFwb3J0LT5wZWVyX2RuKQorCQl7CisJCQkv KgorCQkJICogVW5saWtlbHkgdG8gaGFwcGVuIChhZnRlciBhbGwsIHdlIHdlcmUgYWJsZSB0byBn ZXQgdGhlIHN1YmplY3QKKwkJCSAqIENOKS4gVGhpcyBwcm9iYWJseSBpbmRpY2F0ZXMgcHJvYmxl bXMgd2l0aCB0aGUgVExTIGJhY2tlbmQuCisJCQkgKi8KKwkJCWVyZXBvcnQoTE9HLAorCQkJCQko ZXJybXNnKCJjZXJ0aWZpY2F0ZSBhdXRoZW50aWNhdGlvbiBmYWlsZWQgZm9yIHVzZXIgXCIlc1wi OiB1bmFibGUgdG8gcmV0cmlldmUgc3ViamVjdCBETiIsCisJCQkJCQkJcG9ydC0+dXNlcl9uYW1l KSkpOworCQkJcmV0dXJuIFNUQVRVU19FUlJPUjsKKwkJfQorCisJCXNldF9hdXRobl9pZChwb3J0 LCBwb3J0LT5wZWVyX2RuKTsKKwl9CisKIAkvKiBKdXN0IHBhc3MgdGhlIGNlcnRpZmljYXRlIGNu IHRvIHRoZSB1c2VybWFwIGNoZWNrICovCiAJc3RhdHVzX2NoZWNrX3VzZXJtYXAgPSBjaGVja191 c2VybWFwKHBvcnQtPmhiYS0+dXNlcm1hcCwgcG9ydC0+dXNlcl9uYW1lLCBwb3J0LT5wZWVyX2Nu LCBmYWxzZSk7CiAJaWYgKHN0YXR1c19jaGVja191c2VybWFwICE9IFNUQVRVU19PSykKQEAgLTI5 NzUsNiArMzA3Niw4IEBAIENoZWNrUkFESVVTQXV0aChQb3J0ICpwb3J0KQogCQkgKi8KIAkJaWYg KHJldCA9PSBTVEFUVVNfT0spCiAJCXsKKwkJCXNldF9hdXRobl9pZChwb3J0LCBwb3J0LT51c2Vy X25hbWUpOworCiAJCQlwZnJlZShwYXNzd2QpOwogCQkJcmV0dXJuIFNUQVRVU19PSzsKIAkJfQpk aWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvbGlicHEvaGJhLmMgYi9zcmMvYmFja2VuZC9saWJwcS9o YmEuYwppbmRleCA5YTA0YzA5M2Q1Li5hYTE1ODc3ZWY3IDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC9saWJwcS9oYmEuYworKysgYi9zcmMvYmFja2VuZC9saWJwcS9oYmEuYwpAQCAtMzExMCwzICsz MTEwLDI3IEBAIGhiYV9nZXRhdXRobWV0aG9kKGhiYVBvcnQgKnBvcnQpCiB7CiAJY2hlY2tfaGJh KHBvcnQpOwogfQorCisKKy8qCisgKiBSZXR1cm4gdGhlIG5hbWUgb2YgdGhlIGF1dGggbWV0aG9k IGluIHVzZSAoImdzcyIsICJtZDUiLCAidHJ1c3QiLCBldGMuKS4KKyAqCisgKiBUaGUgcmV0dXJu IHZhbHVlIGlzIHN0YXRpY2FsbHkgYWxsb2NhdGVkIChzZWUgdGhlIFVzZXJBdXRoTmFtZSBhcnJh eSkgYW5kCisgKiBzaG91bGQgbm90IGJlIGZyZWVkLgorICovCitjb25zdCBjaGFyICoKK2hiYV9h dXRobmFtZShoYmFQb3J0ICpwb3J0KQoreworCVVzZXJBdXRoCWF1dGhfbWV0aG9kOworCisJQXNz ZXJ0KHBvcnQtPmhiYSk7CisJYXV0aF9tZXRob2QgPSBwb3J0LT5oYmEtPmF1dGhfbWV0aG9kOwor CisJaWYgKGF1dGhfbWV0aG9kIDwgMCB8fCBVU0VSX0FVVEhfTEFTVCA8IGF1dGhfbWV0aG9kKQor CXsKKwkJQXNzZXJ0KCgwIDw9IGF1dGhfbWV0aG9kKSAmJiAoYXV0aF9tZXRob2QgPD0gVVNFUl9B VVRIX0xBU1QpKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJcmV0dXJuIFVzZXJBdXRoTmFtZVth dXRoX21ldGhvZF07Cit9CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9saWJwcS9oYmEuaCBiL3Ny Yy9pbmNsdWRlL2xpYnBxL2hiYS5oCmluZGV4IDhmMDliNTYzOGYuLjdjYzA2ODA4YWEgMTAwNjQ0 Ci0tLSBhL3NyYy9pbmNsdWRlL2xpYnBxL2hiYS5oCisrKyBiL3NyYy9pbmNsdWRlL2xpYnBxL2hi YS5oCkBAIC0xMzAsNiArMTMwLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgUG9ydCBoYmFQb3J0OwogCiBl eHRlcm4gYm9vbCBsb2FkX2hiYSh2b2lkKTsKIGV4dGVybiBib29sIGxvYWRfaWRlbnQodm9pZCk7 CitleHRlcm4gY29uc3QgY2hhciAqaGJhX2F1dGhuYW1lKGhiYVBvcnQgKnBvcnQpOwogZXh0ZXJu IHZvaWQgaGJhX2dldGF1dGhtZXRob2QoaGJhUG9ydCAqcG9ydCk7CiBleHRlcm4gaW50CWNoZWNr X3VzZXJtYXAoY29uc3QgY2hhciAqdXNlcm1hcF9uYW1lLAogCQkJCQkJICBjb25zdCBjaGFyICpw Z19yb2xlLCBjb25zdCBjaGFyICphdXRoX3VzZXIsCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9s aWJwcS9saWJwcS1iZS5oIGIvc3JjL2luY2x1ZGUvbGlicHEvbGlicHEtYmUuaAppbmRleCBkOTcw Mjc3ODk0Li5hMTA0ZjgxMWYxIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9saWJwcS9saWJwcS1i ZS5oCisrKyBiL3NyYy9pbmNsdWRlL2xpYnBxL2xpYnBxLWJlLmgKQEAgLTE1NCw2ICsxNTQsMTgg QEAgdHlwZWRlZiBzdHJ1Y3QgUG9ydAogCSAqLwogCUhiYUxpbmUgICAgKmhiYTsKIAorCS8qCisJ ICogQXV0aGVudGljYXRlZCBpZGVudGl0eS4gVGhlIG1lYW5pbmcgb2YgdGhpcyBpZGVudGlmaWVy IGlzIGRlcGVuZGVudCBvbgorCSAqIGhiYS0+YXV0aF9tZXRob2Q7IGl0J3MgdGhlIGlkZW50aXR5 IChpZiBhbnkpIHRoYXQgdGhlIHVzZXIgcHJlc2VudGVkCisJICogZHVyaW5nIHRoZSBhdXRoZW50 aWNhdGlvbiBjeWNsZSwgYmVmb3JlIHRoZXkgd2VyZSBhc3NpZ25lZCBhIHJvbGUuIChJdCdzCisJ ICogZWZmZWN0aXZlbHkgdGhlICJTWVNURU0tVVNFUk5BTUUiIG9mIGEgcGdfaWRlbnQgdXNlcm1h cCAtLSB0aG91Z2ggdGhlCisJICogZXhhY3Qgc3RyaW5nIGluIHVzZSBtYXkgYmUgZGlmZmVyZW50 LCBkZXBlbmRpbmcgb24gcGdfaGJhIG9wdGlvbnMuKQorCSAqCisJICogYXV0aG5faWQgaXMgTlVM TCBpZiB0aGUgdXNlciBoYXMgbm90IGFjdHVhbGx5IGJlZW4gYXV0aGVudGljYXRlZCwgZm9yCisJ ICogZXhhbXBsZSBpZiB0aGUgInRydXN0IiBhdXRoIG1ldGhvZCBpcyBpbiB1c2UuCisJICovCisJ Y29uc3QgY2hhciAgICphdXRobl9pZDsKKwogCS8qCiAJICogVENQIGtlZXBhbGl2ZSBhbmQgdXNl ciB0aW1lb3V0IHNldHRpbmdzLgogCSAqCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9hdXRoZW50aWNh dGlvbi90LzAwMV9wYXNzd29yZC5wbCBiL3NyYy90ZXN0L2F1dGhlbnRpY2F0aW9uL3QvMDAxX3Bh c3N3b3JkLnBsCmluZGV4IDM2YTYxNmQ3YzcuLjNhYzEzN2FlYmQgMTAwNjQ0Ci0tLSBhL3NyYy90 ZXN0L2F1dGhlbnRpY2F0aW9uL3QvMDAxX3Bhc3N3b3JkLnBsCisrKyBiL3NyYy90ZXN0L2F1dGhl bnRpY2F0aW9uL3QvMDAxX3Bhc3N3b3JkLnBsCkBAIC0xNyw3ICsxNyw3IEBAIGlmICghJHVzZV91 bml4X3NvY2tldHMpCiB9CiBlbHNlCiB7Ci0JcGxhbiB0ZXN0cyA9PiAxMzsKKwlwbGFuIHRlc3Rz ID0+IDE5OwogfQogCiAKQEAgLTU3LDYgKzU3LDcgQEAgc3ViIHRlc3Rfcm9sZQogIyBJbml0aWFs aXplIHByaW1hcnkgbm9kZQogbXkgJG5vZGUgPSBnZXRfbmV3X25vZGUoJ3ByaW1hcnknKTsKICRu b2RlLT5pbml0OworJG5vZGUtPmFwcGVuZF9jb25mKCdwb3N0Z3Jlc3FsLmNvbmYnLCAibG9nX2Nv bm5lY3Rpb25zID0gb25cbiIpOwogJG5vZGUtPnN0YXJ0OwogCiAjIENyZWF0ZSAzIHJvbGVzIHdp dGggZGlmZmVyZW50IHBhc3N3b3JkIG1ldGhvZHMgZm9yIGVhY2ggb25lLiBUaGUgc2FtZQpAQCAt NjksMjcgKzcwLDg0IEBAICRub2RlLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKICk7CiAkRU5WeyJQ R1BBU1NXT1JEIn0gPSAncGFzcyc7CiAKK215ICRsb2cgPSAkbm9kZS0+cm90YXRlX2xvZ2ZpbGUo KTsKKyRub2RlLT5yZXN0YXJ0OworCiAjIEZvciAidHJ1c3QiIG1ldGhvZCwgYWxsIHVzZXJzIHNo b3VsZCBiZSBhYmxlIHRvIGNvbm5lY3QuCiByZXNldF9wZ19oYmEoJG5vZGUsICd0cnVzdCcpOwog dGVzdF9yb2xlKCRub2RlLCAnc2NyYW1fcm9sZScsICd0cnVzdCcsIDApOwogdGVzdF9yb2xlKCRu b2RlLCAnbWQ1X3JvbGUnLCAgICd0cnVzdCcsIDApOwogCiskbm9kZS0+c3RvcCgnZmFzdCcpOwor bXkgJGxvZ19jb250ZW50cyA9IHNsdXJwX2ZpbGUoJGxvZyk7CisKK3VubGlrZSgKKwkkbG9nX2Nv bnRlbnRzLAorCXFyL2Nvbm5lY3Rpb24gYXV0aGVudGljYXRlZDovLAorCSJ0cnVzdCBtZXRob2Qg ZG9lcyBub3QgYXV0aGVudGljYXRlIHVzZXJzIik7CisKKyRsb2cgPSAkbm9kZS0+cm90YXRlX2xv Z2ZpbGUoKTsKKyRub2RlLT5zdGFydDsKKwogIyBGb3IgcGxhaW4gInBhc3N3b3JkIiBtZXRob2Qs IGFsbCB1c2VycyBzaG91bGQgYWxzbyBiZSBhYmxlIHRvIGNvbm5lY3QuCiByZXNldF9wZ19oYmEo JG5vZGUsICdwYXNzd29yZCcpOwogdGVzdF9yb2xlKCRub2RlLCAnc2NyYW1fcm9sZScsICdwYXNz d29yZCcsIDApOwogdGVzdF9yb2xlKCRub2RlLCAnbWQ1X3JvbGUnLCAgICdwYXNzd29yZCcsIDAp OwogCiskbm9kZS0+c3RvcCgnZmFzdCcpOworJGxvZ19jb250ZW50cyA9IHNsdXJwX2ZpbGUoJGxv Zyk7CisKK2xpa2UoCisJJGxvZ19jb250ZW50cywKKwlxci9jb25uZWN0aW9uIGF1dGhlbnRpY2F0 ZWQ6IGlkZW50aXR5PSJzY3JhbV9yb2xlIiBtZXRob2Q9cGFzc3dvcmQvLAorCSJwYXNzd29yZCBt ZXRob2QgbG9ncyBhdXRoZW50aWNhdGVkIGlkZW50aXR5Iik7CisKKyRsb2cgPSAkbm9kZS0+cm90 YXRlX2xvZ2ZpbGUoKTsKKyRub2RlLT5zdGFydDsKKwogIyBGb3IgInNjcmFtLXNoYS0yNTYiIG1l dGhvZCwgdXNlciAic2NyYW1fcm9sZSIgc2hvdWxkIGJlIGFibGUgdG8gY29ubmVjdC4KIHJlc2V0 X3BnX2hiYSgkbm9kZSwgJ3NjcmFtLXNoYS0yNTYnKTsKIHRlc3Rfcm9sZSgkbm9kZSwgJ3NjcmFt X3JvbGUnLCAnc2NyYW0tc2hhLTI1NicsIDApOwogdGVzdF9yb2xlKCRub2RlLCAnbWQ1X3JvbGUn LCAgICdzY3JhbS1zaGEtMjU2JywgMik7CiAKKyRub2RlLT5zdG9wKCdmYXN0Jyk7CiskbG9nX2Nv bnRlbnRzID0gc2x1cnBfZmlsZSgkbG9nKTsKKworbGlrZSgKKwkkbG9nX2NvbnRlbnRzLAorCXFy L2Nvbm5lY3Rpb24gYXV0aGVudGljYXRlZDogaWRlbnRpdHk9InNjcmFtX3JvbGUiIG1ldGhvZD1z Y3JhbS1zaGEtMjU2LywKKwkic2NyYW0tc2hhLTI1NiBtZXRob2QgbG9ncyBhdXRoZW50aWNhdGVk IGlkZW50aXR5Iik7CisKK3VubGlrZSgKKwkkbG9nX2NvbnRlbnRzLAorCXFyL2Nvbm5lY3Rpb24g YXV0aGVudGljYXRlZDogaWRlbnRpdHk9Im1kNV9yb2xlIi8sCisJIm1pc21hdGNoZWQgY3J5cHQg bWV0aG9kcyBkbyBub3QgcmVzdWx0IGluIGF1dGhlbnRpY2F0aW9uIik7CisKKyRsb2cgPSAkbm9k ZS0+cm90YXRlX2xvZ2ZpbGUoKTsKKyRub2RlLT5zdGFydDsKKwogIyBGb3IgIm1kNSIgbWV0aG9k LCBhbGwgdXNlcnMgc2hvdWxkIGJlIGFibGUgdG8gY29ubmVjdCAoU0NSQU0KICMgYXV0aGVudGlj YXRpb24gd2lsbCBiZSBwZXJmb3JtZWQgZm9yIHRoZSB1c2VyIHdpdGggYSBTQ1JBTSBzZWNyZXQu KQogcmVzZXRfcGdfaGJhKCRub2RlLCAnbWQ1Jyk7CiB0ZXN0X3JvbGUoJG5vZGUsICdzY3JhbV9y b2xlJywgJ21kNScsIDApOwogdGVzdF9yb2xlKCRub2RlLCAnbWQ1X3JvbGUnLCAgICdtZDUnLCAw KTsKIAorJG5vZGUtPnN0b3AoJ2Zhc3QnKTsKKyRsb2dfY29udGVudHMgPSBzbHVycF9maWxlKCRs b2cpOworCitsaWtlKAorCSRsb2dfY29udGVudHMsCisJcXIvY29ubmVjdGlvbiBhdXRoZW50aWNh dGVkOiBpZGVudGl0eT0ibWQ1X3JvbGUiIG1ldGhvZD1tZDUvLAorCSJtZDUgbWV0aG9kIGxvZ3Mg YXV0aGVudGljYXRlZCBpZGVudGl0eSIpOworCitsaWtlKAorCSRsb2dfY29udGVudHMsCisJcXIv Y29ubmVjdGlvbiBhdXRoZW50aWNhdGVkOiBpZGVudGl0eT0ic2NyYW1fcm9sZSIgbWV0aG9kPW1k NS8sCisJIm1kNSBtZXRob2QgbG9ncyBhdXRoZW50aWNhdGVkIGlkZW50aXR5IGZvciBTQ1JBTSB1 c2VycyB0b28iKTsKKworJGxvZyA9ICRub2RlLT5yb3RhdGVfbG9nZmlsZSgpOworJG5vZGUtPnN0 YXJ0OworCiAjIFRlc3RzIGZvciBjaGFubmVsIGJpbmRpbmcgd2l0aG91dCBTU0wuCiAjIFVzaW5n IHRoZSBwYXNzd29yZCBhdXRoZW50aWNhdGlvbiBtZXRob2Q7IGNoYW5uZWwgYmluZGluZyBjYW4n dCB3b3JrCiByZXNldF9wZ19oYmEoJG5vZGUsICdwYXNzd29yZCcpOwpkaWZmIC0tZ2l0IGEvc3Jj L3Rlc3Qva2VyYmVyb3MvdC8wMDFfYXV0aC5wbCBiL3NyYy90ZXN0L2tlcmJlcm9zL3QvMDAxX2F1 dGgucGwKaW5kZXggMzhlOWVmN2IxZi4uNDBmYTQ5OGU3MSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qv a2VyYmVyb3MvdC8wMDFfYXV0aC5wbAorKysgYi9zcmMvdGVzdC9rZXJiZXJvcy90LzAwMV9hdXRo LnBsCkBAIC0yMCw3ICsyMCw3IEBAIHVzZSBUaW1lOjpIaVJlcyBxdyh1c2xlZXApOwogCiBpZiAo JEVOVnt3aXRoX2dzc2FwaX0gZXEgJ3llcycpCiB7Ci0JcGxhbiB0ZXN0cyA9PiAyNjsKKwlwbGFu IHRlc3RzID0+IDM4OwogfQogZWxzZQogewpAQCAtMTgyLDcgKzE4Miw3IEBAIG5vdGUgInJ1bm5p bmcgdGVzdHMiOwogIyBUZXN0IGNvbm5lY3Rpb24gc3VjY2VzcyBvciBmYWlsdXJlLCBhbmQgaWYg c3VjY2VzcywgdGhhdCBxdWVyeSByZXR1cm5zIHRydWUuCiBzdWIgdGVzdF9hY2Nlc3MKIHsKLQlt eSAoJG5vZGUsICRyb2xlLCAkcXVlcnksICRleHBlY3RlZF9yZXMsICRnc3NlbmNtb2RlLCAkdGVz dF9uYW1lLCAkZXhwZWN0X2xvZ19tc2cpID0gQF87CisJbXkgKCRub2RlLCAkcm9sZSwgJHF1ZXJ5 LCAkZXhwZWN0ZWRfcmVzLCAkZ3NzZW5jbW9kZSwgJHRlc3RfbmFtZSwgQGV4cGVjdF9sb2dfbXNn cykgPSBAXzsKIAogCSMgbmVlZCB0byBjb25uZWN0IG92ZXIgVENQL0lQIGZvciBLZXJiZXJvcwog CW15ICgkcmVzLCAkc3Rkb3V0cmVzLCAkc3RkZXJycmVzKSA9ICRub2RlLT5wc3FsKApAQCAtMjA2 LDEzICsyMDYsMjIgQEAgc3ViIHRlc3RfYWNjZXNzCiAJCWlzKCRyZXMsICRleHBlY3RlZF9yZXMs ICR0ZXN0X25hbWUpOwogCX0KIAotCSMgVmVyaWZ5IHNwZWNpZmllZCBsb2cgbWVzc2FnZSBpcyBs b2dnZWQgaW4gdGhlIGxvZyBmaWxlLgotCWlmICgkZXhwZWN0X2xvZ19tc2cgbmUgJycpCisJIyBW ZXJpZnkgc3BlY2lmaWVkIGxvZyBtZXNzYWdlcyBhcmUgbG9nZ2VkIGluIHRoZSBsb2cgZmlsZS4K KwlpZiAoQGV4cGVjdF9sb2dfbXNncyA+IDApCiAJewogCQlteSAkZmlyc3RfbG9nZmlsZSA9IHNs dXJwX2ZpbGUoJG5vZGUtPmxvZ2ZpbGUpOwogCi0JCWxpa2UoJGZpcnN0X2xvZ2ZpbGUsIHFyL1xR JGV4cGVjdF9sb2dfbXNnXEUvLAotCQkJICdmb3VuZCBleHBlY3RlZCBsb2cgZmlsZSBjb250ZW50 Jyk7CisJCXdoaWxlIChteSAkZXhwZWN0X2xvZ19tc2cgPSBzaGlmdCBAZXhwZWN0X2xvZ19tc2dz KQorCQl7CisJCQlsaWtlKCRmaXJzdF9sb2dmaWxlLCBxci9cUSRleHBlY3RfbG9nX21zZ1xFLywK KwkJCQkgJ2ZvdW5kIGV4cGVjdGVkIGxvZyBmaWxlIGNvbnRlbnQnKTsKKworCQkJaWYgKCRmaXJz dF9sb2dmaWxlID1+IG0vXFEkZXhwZWN0X2xvZ19tc2dcRS9nKQorCQkJeworCQkJCSMgT24gYSBt YXRjaCwgZXhjbHVkZSB0aGUgbWF0Y2hlZCBwb3J0aW9uIGZyb20gZnV0dXJlIHNlYXJjaGVzLgor CQkJCSRmaXJzdF9sb2dmaWxlID0gc3Vic3RyICRmaXJzdF9sb2dmaWxlLCBwb3MoJGZpcnN0X2xv Z2ZpbGUpOworCQkJfQorCQl9CiAJfQogCiAJIyBDbGVhbiB1cCBhbnkgZXhpc3RpbmcgY29udGVu dHMgaW4gdGhlIG5vZGUncyBsb2cgZmlsZSBzbyBhcwpAQCAtMjQ5LDExICsyNTgsMTMgQEAgJG5v ZGUtPmFwcGVuZF9jb25mKCdwZ19oYmEuY29uZicsCiAJcXF7aG9zdCBhbGwgYWxsICRob3N0YWRk ci8zMiBnc3MgbWFwPW15bWFwfSk7CiAkbm9kZS0+cmVzdGFydDsKIAotdGVzdF9hY2Nlc3MoJG5v ZGUsICd0ZXN0MScsICdTRUxFQ1QgdHJ1ZScsIDIsICcnLCAnZmFpbHMgd2l0aG91dCB0aWNrZXQn LCAnJyk7Cit0ZXN0X2FjY2Vzcygkbm9kZSwgJ3Rlc3QxJywgJ1NFTEVDVCB0cnVlJywgMiwgJycs ICdmYWlscyB3aXRob3V0IHRpY2tldCcpOwogCiBydW5fbG9nIFsgJGtpbml0LCAndGVzdDEnIF0s IFwkdGVzdDFfcGFzc3dvcmQgb3IgQkFJTF9PVVQoJD8pOwogCi10ZXN0X2FjY2Vzcygkbm9kZSwg J3Rlc3QxJywgJ1NFTEVDVCB0cnVlJywgMiwgJycsICdmYWlscyB3aXRob3V0IG1hcHBpbmcnLCAn Jyk7Cit0ZXN0X2FjY2Vzcygkbm9kZSwgJ3Rlc3QxJywgJ1NFTEVDVCB0cnVlJywgMiwgJycsICdm YWlscyB3aXRob3V0IG1hcHBpbmcnLAorCSJjb25uZWN0aW9uIGF1dGhlbnRpY2F0ZWQ6IGlkZW50 aXR5PVwidGVzdDFcQCRyZWFsbVwiIG1ldGhvZD1nc3MiLAorCSJubyBtYXRjaCBpbiB1c2VybWFw IFwibXltYXBcIiBmb3IgdXNlciBcInRlc3QxXCIiKTsKIAogJG5vZGUtPmFwcGVuZF9jb25mKCdw Z19pZGVudC5jb25mJywgcXF7bXltYXAgIC9eKC4qKVxAJHJlYWxtXCQgIFxcMX0pOwogJG5vZGUt PnJlc3RhcnQ7CkBAIC0yNjUsNiArMjc2LDcgQEAgdGVzdF9hY2Nlc3MoCiAJMCwKIAknJywKIAkn c3VjY2VlZHMgd2l0aCBtYXBwaW5nIHdpdGggZGVmYXVsdCBnc3NlbmNtb2RlIGFuZCBob3N0IGhi YScsCisJImNvbm5lY3Rpb24gYXV0aGVudGljYXRlZDogaWRlbnRpdHk9XCJ0ZXN0MVxAJHJlYWxt XCIgbWV0aG9kPWdzcyIsCiAJImNvbm5lY3Rpb24gYXV0aG9yaXplZDogdXNlcj0kdXNlcm5hbWUg ZGF0YWJhc2U9JGRibmFtZSBhcHBsaWNhdGlvbl9uYW1lPSRhcHBsaWNhdGlvbiBHU1MgKGF1dGhl bnRpY2F0ZWQ9eWVzLCBlbmNyeXB0ZWQ9eWVzLCBwcmluY2lwYWw9dGVzdDFcQCRyZWFsbSkiCiAp OwogCkBAIC0yNzUsNiArMjg3LDcgQEAgdGVzdF9hY2Nlc3MoCiAJMCwKIAknZ3NzZW5jbW9kZT1w cmVmZXInLAogCSdzdWNjZWVkcyB3aXRoIEdTUy1lbmNyeXB0ZWQgYWNjZXNzIHByZWZlcnJlZCB3 aXRoIGhvc3QgaGJhJywKKwkiY29ubmVjdGlvbiBhdXRoZW50aWNhdGVkOiBpZGVudGl0eT1cInRl c3QxXEAkcmVhbG1cIiBtZXRob2Q9Z3NzIiwKIAkiY29ubmVjdGlvbiBhdXRob3JpemVkOiB1c2Vy PSR1c2VybmFtZSBkYXRhYmFzZT0kZGJuYW1lIGFwcGxpY2F0aW9uX25hbWU9JGFwcGxpY2F0aW9u IEdTUyAoYXV0aGVudGljYXRlZD15ZXMsIGVuY3J5cHRlZD15ZXMsIHByaW5jaXBhbD10ZXN0MVxA JHJlYWxtKSIKICk7CiB0ZXN0X2FjY2VzcygKQEAgLTI4NCw2ICsyOTcsNyBAQCB0ZXN0X2FjY2Vz cygKIAkwLAogCSdnc3NlbmNtb2RlPXJlcXVpcmUnLAogCSdzdWNjZWVkcyB3aXRoIEdTUy1lbmNy eXB0ZWQgYWNjZXNzIHJlcXVpcmVkIHdpdGggaG9zdCBoYmEnLAorCSJjb25uZWN0aW9uIGF1dGhl bnRpY2F0ZWQ6IGlkZW50aXR5PVwidGVzdDFcQCRyZWFsbVwiIG1ldGhvZD1nc3MiLAogCSJjb25u ZWN0aW9uIGF1dGhvcml6ZWQ6IHVzZXI9JHVzZXJuYW1lIGRhdGFiYXNlPSRkYm5hbWUgYXBwbGlj YXRpb25fbmFtZT0kYXBwbGljYXRpb24gR1NTIChhdXRoZW50aWNhdGVkPXllcywgZW5jcnlwdGVk PXllcywgcHJpbmNpcGFsPXRlc3QxXEAkcmVhbG0pIgogKTsKIApAQCAtMzIwLDYgKzMzNCw3IEBA IHRlc3RfYWNjZXNzKAogCTAsCiAJJ2dzc2VuY21vZGU9cHJlZmVyJywKIAknc3VjY2VlZHMgd2l0 aCBHU1MtZW5jcnlwdGVkIGFjY2VzcyBwcmVmZXJyZWQgYW5kIGhvc3Rnc3NlbmMgaGJhJywKKwki Y29ubmVjdGlvbiBhdXRoZW50aWNhdGVkOiBpZGVudGl0eT1cInRlc3QxXEAkcmVhbG1cIiBtZXRo b2Q9Z3NzIiwKIAkiY29ubmVjdGlvbiBhdXRob3JpemVkOiB1c2VyPSR1c2VybmFtZSBkYXRhYmFz ZT0kZGJuYW1lIGFwcGxpY2F0aW9uX25hbWU9JGFwcGxpY2F0aW9uIEdTUyAoYXV0aGVudGljYXRl ZD15ZXMsIGVuY3J5cHRlZD15ZXMsIHByaW5jaXBhbD10ZXN0MVxAJHJlYWxtKSIKICk7CiB0ZXN0 X2FjY2VzcygKQEAgLTMyOSwxMCArMzQ0LDExIEBAIHRlc3RfYWNjZXNzKAogCTAsCiAJJ2dzc2Vu Y21vZGU9cmVxdWlyZScsCiAJJ3N1Y2NlZWRzIHdpdGggR1NTLWVuY3J5cHRlZCBhY2Nlc3MgcmVx dWlyZWQgYW5kIGhvc3Rnc3NlbmMgaGJhJywKKwkiY29ubmVjdGlvbiBhdXRoZW50aWNhdGVkOiBp ZGVudGl0eT1cInRlc3QxXEAkcmVhbG1cIiBtZXRob2Q9Z3NzIiwKIAkiY29ubmVjdGlvbiBhdXRo b3JpemVkOiB1c2VyPSR1c2VybmFtZSBkYXRhYmFzZT0kZGJuYW1lIGFwcGxpY2F0aW9uX25hbWU9 JGFwcGxpY2F0aW9uIEdTUyAoYXV0aGVudGljYXRlZD15ZXMsIGVuY3J5cHRlZD15ZXMsIHByaW5j aXBhbD10ZXN0MVxAJHJlYWxtKSIKICk7CiB0ZXN0X2FjY2Vzcygkbm9kZSwgJ3Rlc3QxJywgJ1NF TEVDVCB0cnVlJywgMiwgJ2dzc2VuY21vZGU9ZGlzYWJsZScsCi0JJ2ZhaWxzIHdpdGggR1NTIGVu Y3J5cHRpb24gZGlzYWJsZWQgYW5kIGhvc3Rnc3NlbmMgaGJhJywgJycpOworCSdmYWlscyB3aXRo IEdTUyBlbmNyeXB0aW9uIGRpc2FibGVkIGFuZCBob3N0Z3NzZW5jIGhiYScpOwogCiB1bmxpbmso JG5vZGUtPmRhdGFfZGlyIC4gJy9wZ19oYmEuY29uZicpOwogJG5vZGUtPmFwcGVuZF9jb25mKCdw Z19oYmEuY29uZicsCkBAIC0zNDYsMTAgKzM2MiwxMSBAQCB0ZXN0X2FjY2VzcygKIAkwLAogCSdn c3NlbmNtb2RlPXByZWZlcicsCiAJJ3N1Y2NlZWRzIHdpdGggR1NTLWVuY3J5cHRlZCBhY2Nlc3Mg cHJlZmVycmVkIGFuZCBob3N0bm9nc3NlbmMgaGJhLCBidXQgbm8gZW5jcnlwdGlvbicsCisJImNv bm5lY3Rpb24gYXV0aGVudGljYXRlZDogaWRlbnRpdHk9XCJ0ZXN0MVxAJHJlYWxtXCIgbWV0aG9k PWdzcyIsCiAJImNvbm5lY3Rpb24gYXV0aG9yaXplZDogdXNlcj0kdXNlcm5hbWUgZGF0YWJhc2U9 JGRibmFtZSBhcHBsaWNhdGlvbl9uYW1lPSRhcHBsaWNhdGlvbiBHU1MgKGF1dGhlbnRpY2F0ZWQ9 eWVzLCBlbmNyeXB0ZWQ9bm8sIHByaW5jaXBhbD10ZXN0MVxAJHJlYWxtKSIKICk7CiB0ZXN0X2Fj Y2Vzcygkbm9kZSwgJ3Rlc3QxJywgJ1NFTEVDVCB0cnVlJywgMiwgJ2dzc2VuY21vZGU9cmVxdWly ZScsCi0JJ2ZhaWxzIHdpdGggR1NTLWVuY3J5cHRlZCBhY2Nlc3MgcmVxdWlyZWQgYW5kIGhvc3Ru b2dzc2VuYyBoYmEnLCAnJyk7CisJJ2ZhaWxzIHdpdGggR1NTLWVuY3J5cHRlZCBhY2Nlc3MgcmVx dWlyZWQgYW5kIGhvc3Rub2dzc2VuYyBoYmEnKTsKIHRlc3RfYWNjZXNzKAogCSRub2RlLAogCSd0 ZXN0MScsCkBAIC0zNTcsNiArMzc0LDcgQEAgdGVzdF9hY2Nlc3MoCiAJMCwKIAknZ3NzZW5jbW9k ZT1kaXNhYmxlJywKIAknc3VjY2VlZHMgd2l0aCBHU1MgZW5jcnlwdGlvbiBkaXNhYmxlZCBhbmQg aG9zdG5vZ3NzZW5jIGhiYScsCisJImNvbm5lY3Rpb24gYXV0aGVudGljYXRlZDogaWRlbnRpdHk9 XCJ0ZXN0MVxAJHJlYWxtXCIgbWV0aG9kPWdzcyIsCiAJImNvbm5lY3Rpb24gYXV0aG9yaXplZDog dXNlcj0kdXNlcm5hbWUgZGF0YWJhc2U9JGRibmFtZSBhcHBsaWNhdGlvbl9uYW1lPSRhcHBsaWNh dGlvbiBHU1MgKGF1dGhlbnRpY2F0ZWQ9eWVzLCBlbmNyeXB0ZWQ9bm8sIHByaW5jaXBhbD10ZXN0 MVxAJHJlYWxtKSIKICk7CiAKQEAgLTM3Myw1ICszOTEsMTYgQEAgdGVzdF9hY2Nlc3MoCiAJMCwK IAknJywKIAknc3VjY2VlZHMgd2l0aCBpbmNsdWRlX3JlYWxtPTAgYW5kIGRlZmF1bHRzJywKKwki Y29ubmVjdGlvbiBhdXRoZW50aWNhdGVkOiBpZGVudGl0eT1cInRlc3QxXEAkcmVhbG1cIiBtZXRo b2Q9Z3NzIiwKIAkiY29ubmVjdGlvbiBhdXRob3JpemVkOiB1c2VyPSR1c2VybmFtZSBkYXRhYmFz ZT0kZGJuYW1lIGFwcGxpY2F0aW9uX25hbWU9JGFwcGxpY2F0aW9uIEdTUyAoYXV0aGVudGljYXRl ZD15ZXMsIGVuY3J5cHRlZD15ZXMsIHByaW5jaXBhbD10ZXN0MVxAJHJlYWxtKSIKICk7CisKK3Vu bGluaygkbm9kZS0+ZGF0YV9kaXIgLiAnL3BnX2hiYS5jb25mJyk7Ciskbm9kZS0+YXBwZW5kX2Nv bmYoJ3BnX2hiYS5jb25mJywKKwlxcXtob3N0IGFsbCBhbGwgJGhvc3RhZGRyLzMyIGdzcyBpbmNs dWRlX3JlYWxtPTAga3JiX3JlYWxtPUVYQU1QTEUuT1JHfSk7Ciskbm9kZS0+cmVzdGFydDsKKwor dGVzdF9hY2Nlc3MoJG5vZGUsICd0ZXN0MScsICdTRUxFQ1QgdHJ1ZScsIDIsICcnLAorCSdmYWls cyB3aXRoIHdyb25nIGtyYl9yZWFsbSwgYnV0IHN0aWxsIGF1dGhlbnRpY2F0ZXMnLAorCSJjb25u ZWN0aW9uIGF1dGhlbnRpY2F0ZWQ6IGlkZW50aXR5PVwidGVzdDFcQCRyZWFsbVwiIG1ldGhvZD1n c3MiCispOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbGRhcC90LzAwMV9hdXRoLnBsIGIvc3JjL3Rl c3QvbGRhcC90LzAwMV9hdXRoLnBsCmluZGV4IDNiYzc2NzI0NTEuLjk0Zjg4NTBjYTggMTAwNjQ0 Ci0tLSBhL3NyYy90ZXN0L2xkYXAvdC8wMDFfYXV0aC5wbAorKysgYi9zcmMvdGVzdC9sZGFwL3Qv MDAxX2F1dGgucGwKQEAgLTYsNyArNiw3IEBAIHVzZSBUZXN0OjpNb3JlOwogCiBpZiAoJEVOVnt3 aXRoX2xkYXB9IGVxICd5ZXMnKQogewotCXBsYW4gdGVzdHMgPT4gMjI7CisJcGxhbiB0ZXN0cyA9 PiAyNDsKIH0KIGVsc2UKIHsKQEAgLTE1Miw2ICsxNTIsNyBAQCBub3RlICJzZXR0aW5nIHVwIFBv c3RncmVTUUwgaW5zdGFuY2UiOwogCiBteSAkbm9kZSA9IGdldF9uZXdfbm9kZSgnbm9kZScpOwog JG5vZGUtPmluaXQ7Ciskbm9kZS0+YXBwZW5kX2NvbmYoJ3Bvc3RncmVzcWwuY29uZicsICJsb2df Y29ubmVjdGlvbnMgPSBvblxuIik7CiAkbm9kZS0+c3RhcnQ7CiAKICRub2RlLT5zYWZlX3BzcWwo J3Bvc3RncmVzJywgJ0NSRUFURSBVU0VSIHRlc3QwOycpOwpAQCAtMTczLDYgKzE3NCw5IEBAIHN1 YiB0ZXN0X2FjY2VzcwogCiBub3RlICJzaW1wbGUgYmluZCI7CiAKKyMgc2F2ZSBsb2cgbG9jYXRp b24gZm9yIGxhdGVyIHRlc3RzCitteSAkbG9nID0gJG5vZGUtPnJvdGF0ZV9sb2dmaWxlKCk7CisK IHVubGluaygkbm9kZS0+ZGF0YV9kaXIgLiAnL3BnX2hiYS5jb25mJyk7CiAkbm9kZS0+YXBwZW5k X2NvbmYoJ3BnX2hiYS5jb25mJywKIAlxcXtsb2NhbCBhbGwgYWxsIGxkYXAgbGRhcHNlcnZlcj0k bGRhcF9zZXJ2ZXIgbGRhcHBvcnQ9JGxkYXBfcG9ydCBsZGFwcHJlZml4PSJ1aWQ9IiBsZGFwc3Vm Zml4PSIsZGM9ZXhhbXBsZSxkYz1uZXQifQpAQCAtMTg0LDkgKzE4OCwzMSBAQCB0ZXN0X2FjY2Vz cygkbm9kZSwgJ3Rlc3QwJywgMiwKIAknc2ltcGxlIGJpbmQgYXV0aGVudGljYXRpb24gZmFpbHMg aWYgdXNlciBub3QgZm91bmQgaW4gTERBUCcpOwogdGVzdF9hY2Nlc3MoJG5vZGUsICd0ZXN0MScs IDIsCiAJJ3NpbXBsZSBiaW5kIGF1dGhlbnRpY2F0aW9uIGZhaWxzIHdpdGggd3JvbmcgcGFzc3dv cmQnKTsKKworJG5vZGUtPnN0b3AoJ2Zhc3QnKTsKK215ICRsb2dfY29udGVudHMgPSBzbHVycF9m aWxlKCRsb2cpOworCit1bmxpa2UoCisJJGxvZ19jb250ZW50cywKKwlxci9jb25uZWN0aW9uIGF1 dGhlbnRpY2F0ZWQ6LywKKwkidW5hdXRoZW50aWNhdGVkIEROcyBhcmUgbm90IGxvZ2dlZCIpOwor CiskbG9nID0gJG5vZGUtPnJvdGF0ZV9sb2dmaWxlKCk7Ciskbm9kZS0+c3RhcnQ7CisKICRFTlZ7 IlBHUEFTU1dPUkQifSA9ICdzZWNyZXQxJzsKIHRlc3RfYWNjZXNzKCRub2RlLCAndGVzdDEnLCAw LCAnc2ltcGxlIGJpbmQgYXV0aGVudGljYXRpb24gc3VjY2VlZHMnKTsKIAorJG5vZGUtPnN0b3Ao J2Zhc3QnKTsKKyRsb2dfY29udGVudHMgPSBzbHVycF9maWxlKCRsb2cpOworCitsaWtlKAorCSRs b2dfY29udGVudHMsCisJcXIvY29ubmVjdGlvbiBhdXRoZW50aWNhdGVkOiBpZGVudGl0eT0idWlk PXRlc3QxLGRjPWV4YW1wbGUsZGM9bmV0IiBtZXRob2Q9bGRhcC8sCisJImF1dGhlbnRpY2F0ZWQg RE5zIGFyZSBsb2dnZWQiKTsKKworJG5vZGUtPnN0YXJ0OworCiBub3RlICJzZWFyY2grYmluZCI7 CiAKIHVubGluaygkbm9kZS0+ZGF0YV9kaXIgLiAnL3BnX2hiYS5jb25mJyk7CmRpZmYgLS1naXQg YS9zcmMvdGVzdC9zc2wvdC8wMDFfc3NsdGVzdHMucGwgYi9zcmMvdGVzdC9zc2wvdC8wMDFfc3Ns dGVzdHMucGwKaW5kZXggYmZhZGEwM2QzZS4uYmIyN2YyZTQ2ZCAxMDA2NDQKLS0tIGEvc3JjL3Rl c3Qvc3NsL3QvMDAxX3NzbHRlc3RzLnBsCisrKyBiL3NyYy90ZXN0L3NzbC90LzAwMV9zc2x0ZXN0 cy5wbApAQCAtMTcsNyArMTcsNyBAQCBpZiAoJEVOVnt3aXRoX3NzbH0gbmUgJ29wZW5zc2wnKQog fQogZWxzZQogewotCXBsYW4gdGVzdHMgPT4gMTAwOworCXBsYW4gdGVzdHMgPT4gMTA0OwogfQog CiAjIyMjIFNvbWUgY29uZmlndXJhdGlvbgpAQCAtNDE3LDYgKzQxNyw5IEBAIHRlc3RfY29ubmVj dF9mYWlscygKIAlxci9jb25uZWN0aW9uIHJlcXVpcmVzIGEgdmFsaWQgY2xpZW50IGNlcnRpZmlj YXRlLywKIAkiY2VydGlmaWNhdGUgYXV0aG9yaXphdGlvbiBmYWlscyB3aXRob3V0IGNsaWVudCBj ZXJ0Iik7CiAKK215ICRsb2cgPSAkbm9kZS0+cm90YXRlX2xvZ2ZpbGUoKTsKKyRub2RlLT5yZXN0 YXJ0OworCiAjIGNvcnJlY3QgY2xpZW50IGNlcnQgaW4gdW5lbmNyeXB0ZWQgUEVNCiB0ZXN0X2Nv bm5lY3Rfb2soCiAJJGNvbW1vbl9jb25uc3RyLApAQCAtNDI0LDYgKzQyNywxNyBAQCB0ZXN0X2Nv bm5lY3Rfb2soCiAJImNlcnRpZmljYXRlIGF1dGhvcml6YXRpb24gc3VjY2VlZHMgd2l0aCBjb3Jy ZWN0IGNsaWVudCBjZXJ0IGluIFBFTSBmb3JtYXQiCiApOwogCisjIG1ha2Ugc3VyZSBjZXJ0aWZp Y2F0ZSBETnMgYXJlIGxvZ2dlZCBjb3JyZWN0bHkKKyRub2RlLT5zdG9wKCdmYXN0Jyk7CitteSAk bG9nX2NvbnRlbnRzID0gc2x1cnBfZmlsZSgkbG9nKTsKKworbGlrZSgKKwkkbG9nX2NvbnRlbnRz LAorCXFyL2Nvbm5lY3Rpb24gYXV0aGVudGljYXRlZDogaWRlbnRpdHk9IkNOPXNzbHRlc3R1c2Vy IiBtZXRob2Q9Y2VydC8sCisJImF1dGhlbnRpY2F0ZWQgRE5zIGFyZSBsb2dnZWQiKTsKKworJG5v ZGUtPnN0YXJ0OworCiAjIGNvcnJlY3QgY2xpZW50IGNlcnQgaW4gdW5lbmNyeXB0ZWQgREVSCiB0 ZXN0X2Nvbm5lY3Rfb2soCiAJJGNvbW1vbl9jb25uc3RyLApAQCAtNTA5LDYgKzUyMyw5IEBAIFNL SVA6CiAJCSJjZXJ0aWZpY2F0ZSBhdXRob3JpemF0aW9uIGZhaWxzIGJlY2F1c2Ugb2YgZmlsZSBw ZXJtaXNzaW9ucyIpOwogfQogCiskbG9nID0gJG5vZGUtPnJvdGF0ZV9sb2dmaWxlKCk7Ciskbm9k ZS0+cmVzdGFydDsKKwogIyBjbGllbnQgY2VydCBiZWxvbmdpbmcgdG8gYW5vdGhlciB1c2VyCiB0 ZXN0X2Nvbm5lY3RfZmFpbHMoCiAJJGNvbW1vbl9jb25uc3RyLApAQCAtNTE3LDYgKzUzNCwxNyBA QCB0ZXN0X2Nvbm5lY3RfZmFpbHMoCiAJImNlcnRpZmljYXRlIGF1dGhvcml6YXRpb24gZmFpbHMg d2l0aCBjbGllbnQgY2VydCBiZWxvbmdpbmcgdG8gYW5vdGhlciB1c2VyIgogKTsKIAorJG5vZGUt PnN0b3AoJ2Zhc3QnKTsKKyRsb2dfY29udGVudHMgPSBzbHVycF9maWxlKCRsb2cpOworCitsaWtl KAorCSRsb2dfY29udGVudHMsCisJcXIvY29ubmVjdGlvbiBhdXRoZW50aWNhdGVkOiBpZGVudGl0 eT0iQ049c3NsdGVzdHVzZXIiIG1ldGhvZD1jZXJ0LywKKwkiY2VydCBhdXRoZW50aWNhdGlvbiBz dWNjZWVkcyBldmVuIGlmIGF1dGhvcml6YXRpb24gZmFpbHMiKTsKKworJGxvZyA9ICRub2RlLT5y b3RhdGVfbG9nZmlsZSgpOworJG5vZGUtPnJlc3RhcnQ7CisKICMgcmV2b2tlZCBjbGllbnQgY2Vy dAogdGVzdF9jb25uZWN0X2ZhaWxzKAogCSRjb21tb25fY29ubnN0ciwKQEAgLTUyNCwxMiArNTUy LDI1IEBAIHRlc3RfY29ubmVjdF9mYWlscygKIAlxci9TU0wgZXJyb3IvLAogCSJjZXJ0aWZpY2F0 ZSBhdXRob3JpemF0aW9uIGZhaWxzIHdpdGggcmV2b2tlZCBjbGllbnQgY2VydCIpOwogCiskbm9k ZS0+c3RvcCgnZmFzdCcpOworJGxvZ19jb250ZW50cyA9IHNsdXJwX2ZpbGUoJGxvZyk7CisKK3Vu bGlrZSgKKwkkbG9nX2NvbnRlbnRzLAorCXFyL2Nvbm5lY3Rpb24gYXV0aGVudGljYXRlZDovLAor CSJyZXZva2VkIGNlcnRzIGRvIG5vdCBhdXRoZW50aWNhdGUgdXNlcnMiKTsKKworJG5vZGUtPnN0 YXJ0OworCiAjIENoZWNrIHRoYXQgY29ubmVjdGluZyB3aXRoIGF1dGgtb3B0aW9uIHZlcmlmeS1m dWxsIGluIHBnX2hiYToKICMgd29ya3MsIGlmZiB1c2VybmFtZSBtYXRjaGVzIENvbW1vbiBOYW1l CiAjIGZhaWxzLCBpZmYgdXNlcm5hbWUgZG9lc24ndCBtYXRjaCBDb21tb24gTmFtZS4KICRjb21t b25fY29ubnN0ciA9CiAgICJzc2xyb290Y2VydD1zc2wvcm9vdCtzZXJ2ZXJfY2EuY3J0IHNzbG1v ZGU9cmVxdWlyZSBkYm5hbWU9dmVyaWZ5ZGIgaG9zdGFkZHI9JFNFUlZFUkhPU1RBRERSIjsKIAor JGxvZyA9ICRub2RlLT5yb3RhdGVfbG9nZmlsZSgpOworJG5vZGUtPnJlc3RhcnQ7CisKIHRlc3Rf Y29ubmVjdF9vaygKIAkkY29tbW9uX2Nvbm5zdHIsCiAJInVzZXI9c3NsdGVzdHVzZXIgc3NsY2Vy dD1zc2wvY2xpZW50LmNydCBzc2xrZXk9c3NsL2NsaWVudF90bXAua2V5IiwKQEAgLTU1MSw2ICs1 OTIsMTggQEAgdGVzdF9jb25uZWN0X29rKAogCSJhdXRoX29wdGlvbiBjbGllbnRjZXJ0PXZlcmlm eS1jYSBzdWNjZWVkcyB3aXRoIG1pc21hdGNoaW5nIHVzZXJuYW1lIGFuZCBDb21tb24gTmFtZSIK ICk7CiAKKyRub2RlLT5zdG9wKCdmYXN0Jyk7CiskbG9nX2NvbnRlbnRzID0gc2x1cnBfZmlsZSgk bG9nKTsKKworIyBOb25lIG9mIHRoZSBhYm92ZSBjb25uZWN0aW9ucyB0byB2ZXJpZnlkYiBzaG91 bGQgaGF2ZSByZXN1bHRlZCBpbgorIyBhdXRoZW50aWNhdGlvbi4KK3VubGlrZSgKKwkkbG9nX2Nv bnRlbnRzLAorCXFyL2Nvbm5lY3Rpb24gYXV0aGVudGljYXRlZDovLAorCSJ0cnVzdCBhdXRoIG1l dGhvZCBkb2VzIG5vdCBzZXQgYXV0aGVudGljYXRlZCBpZGVudGl0eSIpOworCiskbm9kZS0+c3Rh cnQ7CisKICMgaW50ZXJtZWRpYXRlIGNsaWVudF9jYS5jcnQgaXMgcHJvdmlkZWQgYnkgY2xpZW50 LCBhbmQgaXNuJ3QgaW4gc2VydmVyJ3Mgc3NsX2NhX2ZpbGUKIHN3aXRjaF9zZXJ2ZXJfY2VydCgk bm9kZSwgJ3NlcnZlci1jbi1vbmx5JywgJ3Jvb3RfY2EnKTsKICRjb21tb25fY29ubnN0ciA9CmRp ZmYgLS1naXQgYS9zcmMvdGVzdC9zc2wvdC8wMDJfc2NyYW0ucGwgYi9zcmMvdGVzdC9zc2wvdC8w MDJfc2NyYW0ucGwKaW5kZXggNDEwYjllOTEwZC4uZDIyMmUwODZlYyAxMDA2NDQKLS0tIGEvc3Jj L3Rlc3Qvc3NsL3QvMDAyX3NjcmFtLnBsCisrKyBiL3NyYy90ZXN0L3NzbC90LzAwMl9zY3JhbS5w bApAQCAtMjcsNyArMjcsNyBAQCBteSAkU0VSVkVSSE9TVENJRFIgPSAnMTI3LjAuMC4xLzMyJzsK IG15ICRzdXBwb3J0c190bHNfc2VydmVyX2VuZF9wb2ludCA9CiAgIGNoZWNrX3BnX2NvbmZpZygi I2RlZmluZSBIQVZFX1g1MDlfR0VUX1NJR05BVFVSRV9OSUQgMSIpOwogCi1teSAkbnVtYmVyX29m X3Rlc3RzID0gJHN1cHBvcnRzX3Rsc19zZXJ2ZXJfZW5kX3BvaW50ID8gOSA6IDEwOworbXkgJG51 bWJlcl9vZl90ZXN0cyA9ICRzdXBwb3J0c190bHNfc2VydmVyX2VuZF9wb2ludCA/IDE1IDogMTY7 CiAKICMgQWxsb2NhdGlvbiBvZiBiYXNlIGNvbm5lY3Rpb24gc3RyaW5nIHNoYXJlZCBhbW9uZyBt dWx0aXBsZSB0ZXN0cy4KIG15ICRjb21tb25fY29ubnN0cjsKQEAgLTQ4LDE0ICs0OCw0NCBAQCAk bm9kZS0+c3RhcnQ7CiBjb25maWd1cmVfdGVzdF9zZXJ2ZXJfZm9yX3NzbCgkbm9kZSwgJFNFUlZF UkhPU1RBRERSLCAkU0VSVkVSSE9TVENJRFIsCiAJInNjcmFtLXNoYS0yNTYiLCAicGFzcyIsICJz Y3JhbS1zaGEtMjU2Iik7CiBzd2l0Y2hfc2VydmVyX2NlcnQoJG5vZGUsICdzZXJ2ZXItY24tb25s eScpOwotJEVOVntQR1BBU1NXT1JEfSA9ICJwYXNzIjsKICRjb21tb25fY29ubnN0ciA9CiAgICJk Ym5hbWU9dHJ1c3RkYiBzc2xtb2RlPXJlcXVpcmUgc3NsY2VydD1pbnZhbGlkIHNzbHJvb3RjZXJ0 PWludmFsaWQgaG9zdGFkZHI9JFNFUlZFUkhPU1RBRERSIjsKIAorbXkgJGxvZyA9ICRub2RlLT5y b3RhdGVfbG9nZmlsZSgpOworJG5vZGUtPnJlc3RhcnQ7CisKKyMgQmFkIHBhc3N3b3JkCiskRU5W e1BHUEFTU1dPUkR9ID0gImJhZHBhc3MiOwordGVzdF9jb25uZWN0X2ZhaWxzKCRjb21tb25fY29u bnN0ciwgInVzZXI9c3NsdGVzdHVzZXIiLAorCXFyL3Bhc3N3b3JkIGF1dGhlbnRpY2F0aW9uIGZh aWxlZC8sCisJIkJhc2ljIFNDUkFNIGF1dGhlbnRpY2F0aW9uIHdpdGggYmFkIHBhc3N3b3JkIik7 CisKKyRub2RlLT5zdG9wKCdmYXN0Jyk7CitteSAkbG9nX2NvbnRlbnRzID0gc2x1cnBfZmlsZSgk bG9nKTsKKwordW5saWtlKAorCSRsb2dfY29udGVudHMsCisJcXIvY29ubmVjdGlvbiBhdXRoZW50 aWNhdGVkOi8sCisJIlNDUkFNIGRvZXMgbm90IHNldCBhdXRoZW50aWNhdGVkIGlkZW50aXR5IHdp dGggYmFkIHBhc3N3b3JkIik7CisKKyRsb2cgPSAkbm9kZS0+cm90YXRlX2xvZ2ZpbGUoKTsKKyRu b2RlLT5zdGFydDsKKwogIyBEZWZhdWx0IHNldHRpbmdzCiskRU5We1BHUEFTU1dPUkR9ID0gInBh c3MiOwogdGVzdF9jb25uZWN0X29rKCRjb21tb25fY29ubnN0ciwgInVzZXI9c3NsdGVzdHVzZXIi LAogCSJCYXNpYyBTQ1JBTSBhdXRoZW50aWNhdGlvbiB3aXRoIFNTTCIpOwogCiskbm9kZS0+c3Rv cCgnZmFzdCcpOworJGxvZ19jb250ZW50cyA9IHNsdXJwX2ZpbGUoJGxvZyk7CisKK2xpa2UoCisJ JGxvZ19jb250ZW50cywKKwlxci9jb25uZWN0aW9uIGF1dGhlbnRpY2F0ZWQ6IGlkZW50aXR5PSJz c2x0ZXN0dXNlciIgbWV0aG9kPXNjcmFtLXNoYS0yNTYvLAorCSJCYXNpYyBTQ1JBTSBzZXRzIHRo ZSB1c2VybmFtZSBhcyB0aGUgYXV0aGVudGljYXRlZCBpZGVudGl0eSIpOworCiskbm9kZS0+c3Rh cnQ7CisKICMgVGVzdCBjaGFubmVsX2JpbmRpbmcKIHRlc3RfY29ubmVjdF9mYWlscygKIAkkY29t bW9uX2Nvbm5zdHIsCkBAIC0xMDIsNiArMTMyLDI1IEBAIHRlc3RfY29ubmVjdF9mYWlscygKIAlx ci9jaGFubmVsIGJpbmRpbmcgcmVxdWlyZWQsIGJ1dCBzZXJ2ZXIgYXV0aGVudGljYXRlZCBjbGll bnQgd2l0aG91dCBjaGFubmVsIGJpbmRpbmcvLAogCSJDZXJ0IGF1dGhlbnRpY2F0aW9uIGFuZCBj aGFubmVsX2JpbmRpbmc9cmVxdWlyZSIpOwogCiskbG9nID0gJG5vZGUtPnJvdGF0ZV9sb2dmaWxl KCk7Ciskbm9kZS0+cmVzdGFydDsKKworIyBDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gYXQgdGhl IGNvbm5lY3Rpb24gbGV2ZWwgc2hvdWxkIHN0aWxsIHdvcmsgZmluZS4KK3Rlc3RfY29ubmVjdF9v aygKKwkic3NsY2VydD1zc2wvY2xpZW50LmNydCBzc2xrZXk9JGNsaWVudF90bXBfa2V5IHNzbHJv b3RjZXJ0PWludmFsaWQgaG9zdGFkZHI9JFNFUlZFUkhPU1RBRERSIiwKKwkiZGJuYW1lPXZlcmlm eWRiIHVzZXI9c3NsdGVzdHVzZXIgY2hhbm5lbF9iaW5kaW5nPXJlcXVpcmUiLAorCSJTQ1JBTSB3 aXRoIGNsaWVudGNlcnQ9dmVyaWZ5LWZ1bGwgYW5kIGNoYW5uZWxfYmluZGluZz1yZXF1aXJlIik7 CisKKyRub2RlLT5zdG9wKCdmYXN0Jyk7CiskbG9nX2NvbnRlbnRzID0gc2x1cnBfZmlsZSgkbG9n KTsKKworbGlrZSgKKwkkbG9nX2NvbnRlbnRzLAorCXFyL2Nvbm5lY3Rpb24gYXV0aGVudGljYXRl ZDogaWRlbnRpdHk9InNzbHRlc3R1c2VyIiBtZXRob2Q9c2NyYW0tc2hhLTI1Ni8sCisJIlNDUkFN IHdpdGggY2xpZW50Y2VydD12ZXJpZnktZnVsbCBzZXRzIHRoZSB1c2VybmFtZSBhcyB0aGUgYXV0 aGVudGljYXRlZCBpZGVudGl0eSIpOworCiskbm9kZS0+c3RhcnQ7CisKICMgY2xlYW4gdXAKIHVu bGluaygkY2xpZW50X3RtcF9rZXkpOwogCi0tIAoyLjI1LjEKCg== --_003_3d0e903ae67cf27240f1c392534951e86c939cb7camelvmwarecom_--