From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Alexander Scheel To: git-commits@fedoraproject.org Subject: [rpms/jss] pqc: Add AIA OCSP extended certificate checking patches Date: Tue, 28 Jul 2026 16:48:46 GMT Message-ID: <178525732681.1.9795434143215864199.rpms-jss-392c8b60cd5d@fedoraproject.org> List-ID: X-Git-Repo: rpms/jss X-Git-Branch: pqc X-Git-Rev: 392c8b60cd5db53de4fb4634a464f91ddc9f66f4 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvanNzCiAgICAgICAgICAgIEJyYW5jaCA6IHBxYwogICAgICAgICAgICBDb21t aXQgOiAzOTJjOGI2MGNkNWRiNTNkZTRmYjQ2MzRhNDY0ZjkxZGRjOWY2NmY0CiAgICAgICAgICAg IEF1dGhvciA6IEFsZXhhbmRlciBTY2hlZWwgPGFsZXhhbmRlci5tLnNjaGVlbEBnbWFpbC5jb20+ CiAgICAgICAgICAgIERhdGUgICA6IDIwMTktMDUtMDZUMTY6MjU6MDItMDQ6MDAKICAgICAgICAg ICAgU3RhdHMgIDogKzgwNi8tMSBpbiAzIGZpbGUocykKICAgICAgICAgICAgVVJMICAgIDogaHR0 cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9qc3MvYy8zOTJjOGI2MGNkNWRiNTNkZTRm YjQ2MzRhNDY0ZjkxZGRjOWY2NmY0P2JyYW5jaD1wcWMKCiAgICAgICAgICAgIExvZzoKICAgICAg ICAgICAgQWRkIEFJQSBPQ1NQIGV4dGVuZGVkIGNlcnRpZmljYXRlIGNoZWNraW5nIHBhdGNoZXMK ClNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBTY2hlZWwgPGFsZXhhbmRlci5tLnNjaGVlbEBnbWFp bC5jb20+CgotLS0KZGlmZiAtLWdpdCBhL2pzcy1haWEtb2NzcC0xLnBhdGNoIGIvanNzLWFpYS1v Y3NwLTEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjIwMjA3Ywot LS0gL2Rldi9udWxsCisrKyBiL2pzcy1haWEtb2NzcC0xLnBhdGNoCkBAIC0wLDAgKzEsNjU5IEBA CitGcm9tIDg5NzVjOGFlMWQwYzhiOTE2YzVjNzNhZmYxMjA0NmIwMWQzZTZlZjAgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiBKYWNrIE1hZ25lIDxqbWFnbmVAcmVkaGF0LmNvbT4KK0Rh dGU6IEZyaSwgMjUgSmFuIDIwMTkgMTQ6NTQ6MTEgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gUmVz b2x2ZSBCdWcgMTY2Njg3MiAtIENDOiBFbmFibGUgQUlBIE9DU1AgY2VydCBjaGVja2luZyBmb3IK KyBlbnRpcmUgY2VydCBjaGFpbi4KKworVGhpcyBmaXggZm9yIGpzcywgc29sdmVzIHRoZSBvbmUg dXNlIGNhc2Ugd2hlcmUgdGhlIHBraSBzZXJ2ZXIgaXMgY29uZmlndXJlZCB0byBwZXJmb3JtIG9j c3AgY2hlY2tpbmcgT05MWSB3aXRoIHRoZSBjb250ZW50cyBvZiB0aGUgQUlBIGV4dGVuc2lvbi4g UHJldmlvdXNseSwganNzIGNvdWxkIG9ubHkgY2hlY2sgdGhlIG9jc3Agc2VydmVyIGZvciB0aGUg bGVhZiBub2RlIGNlcnQgb2YgdGhlIGNlcnQgYmVpbmcgdmVyaWZpZWQuIFRoaXMgZml4IGFsbG93 cyB0aGUgY2VydCBjaGFpbiB0byBiZSBjaGVja2VkIG92ZXIgb2NzcCBmb3IgZWFjaCBjZXJ0IGlu IHF1ZXN0aW9uLiBUaGlzIGlzIHBvc3NpYmxlIGR1ZSB0byB0aGUgZmFjdCB0aGF0IHdlIGhhdmUg bWFkZSBhIGNhbGwgaW4gdGhlIFBLSVggbGlicmFyeSBvZiBuc3MgdG8gZG8gdGhlIGFjdHVhbCBj ZXJ0IHZlcmZpY2F0aW9uLiBUaGlzIGNhbGwgaXMgbWFkZSB3aXRoIGFsbCB0aGUgbmVlZGVkIGZs YWdzIHRvIHRlbGwgdGhlIFBLSVggbGlicmFyeSB0byBtYWtlIHRoZSBvY3NwIHZlcmlmaWNhdGlv bnMgcmVtb3RlbHkgb3ZlciB0aGUgbmV0d29yayB1c2luZyB0aGUgY29udGVudHMgb2YgdGhlIEFJ QSBleHRlbnNpb24uCisKK0xhdGVyIG9uIHdlIGNhbiB1c2UgdGhpcyBjb2RlIHRvIGhhbmRsZSB0 aGUgb3RoZXIgY2FzZXMsIGJ1dCBmb3Igbm93IHdlIHdhbnQgdG8gc29sdmUgdGhpcyBvbmUgcGFy dGljdWxhciBwcm9ibGVtLiBJZiB0aGUgc2VydmVyIGlzIGNvbmZpZ3VyZWQgaW4gYW55IG90aGVy IGNvbmZpZ3VyYXRpb24gdGhhbiB0aGUgb25lIHN0YXRlZCwgdGhlIG9yaWdpbmFsIHZlcmlmaWNh dGlvbiBjb2RlIHdpbGwgYmUgY2FsbGVkIGFzIGJlZm9yZS4gQmVsb3cgaXMgYW4gZXhhbXBsZSBv ZiBhIGNvbmZpZ3VyYXRpb24gaW4gc2VydmVyLnhtbCwgdGhhdCB3aWxsIHRyaWdnZXIgdGhpcyBu ZXcgY29kZToKKworPCAuLi4uIGVuYWJsZU9DU1A9InRydWUiIG9jc3BDYWNoZVNpemU9IjEwMDAw IiBvY3NwTWluQ2FjaGVFbnRyeUR1cmF0aW9uPSI3MjAwIiAgIC4uLi4gPgorCitOb3RlIHRoYXQg ZHVlIHRvIG9jc3AgY2FjaGluZywgdGhlIGNlcnQgY2hhaW4gdmVyaWZpY2F0aW9uIG1heSBvbmx5 IGJlIGFwcGFyZW50IGFmdGVyIGEgcmVzdGFydCBvZiB0aGUgc2VydmVyLiBBIHdheSB0byBmb3Jj ZSBhbiBvY3NwIGZldGNoIGV2ZXJ5IHRpbWUgaXMgdG8gc2V0IHRoZSB2YWx1ZSBvZiBvY3NwQ2Fj aGVTaXplPS0xLCB3aGljaCBlc3NlbnRpYWxseSBkaXNhYmxlcyB0aGUgY2FjaGUuCisKK0FkZGVk IGEgY291cGxlIG9mIG1pbm9yIGZpeGVzIGR1ZSB0byByZXZpZXcgY29tbWVudHMuIFBvc3NpYmx5 IG1vcmUgdG8gY29tZS4KK01pbm9yIGluY2x1ZGUgZGlyZWN0aXZlIGNoYW5nZSB0byBjb21waWxl IG9uIGJyYW5jaC4KKy0tLQorIG9yZy9tb3ppbGxhL2pzcy9DcnlwdG9NYW5hZ2VyLmphdmEgfCAg NDggKysrKysrKworIG9yZy9tb3ppbGxhL2pzcy9QSzExRmluZGVyLmMgICAgICAgfCAgOTUgKysr KysrKysrKysrLS0KKyBvcmcvbW96aWxsYS9qc3Mvc3NsL2NhbGxiYWNrcy5jICAgIHwgIDY3ICsr KysrKysrLS0KKyBvcmcvbW96aWxsYS9qc3Mvc3NsL2NvbW1vbi5jICAgICAgIHwgMTk2ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrCisgb3JnL21vemlsbGEvanNzL3NzbC9qc3NsLmggICAg ICAgICB8ICAyOSArKysrKworIG9yZy9tb3ppbGxhL2pzcy91dGlsL2phdmFfaWRzLmggICAgfCAg IDkgKysKKyA2IGZpbGVzIGNoYW5nZWQsIDQyMiBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMo LSkKKworZGlmZiAtLWdpdCBhL29yZy9tb3ppbGxhL2pzcy9DcnlwdG9NYW5hZ2VyLmphdmEgYi9v cmcvbW96aWxsYS9qc3MvQ3J5cHRvTWFuYWdlci5qYXZhCitpbmRleCA5Yjg2YmY5ZS4uYzlhM2Zi MmIgMTAwNjQ0CistLS0gYS9vcmcvbW96aWxsYS9qc3MvQ3J5cHRvTWFuYWdlci5qYXZhCisrKysg Yi9vcmcvbW96aWxsYS9qc3MvQ3J5cHRvTWFuYWdlci5qYXZhCitAQCAtMTIwMSw2ICsxMjAxLDQ0 IEBAIHByaXZhdGUgbmF0aXZlIGJvb2xlYW4gdmVyaWZ5Q2VydFRlbXBOYXRpdmUoYnl0ZVtdIGNl cnRQYWNrYWdlLAorICAgICAvLyBPQ1NQIG1hbmFnZW1lbnQKKyAgICAgLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8K KyAKKysgICAgLyogT0NTUCBQb2xpY3kgcmVsYXRlZCAqLworKworKyAgICBwdWJsaWMgZW51bSBP Q1NQUG9saWN5IHsKKysgICAgICAgIE5PTkUsCisrICAgICAgICBOT1JNQUwsCisrICAgICAgICBM RUFGX0FORF9DSEFJTjsKKysgICAgfQorKworKyAgICBwcml2YXRlIHN0YXRpYyBPQ1NQUG9saWN5 IG9jc3BQb2xpY3kgID0gT0NTUFBvbGljeS5OT05FOworKworKyAgICAvKioKKysgICAgICogR2V0 cyB0aGUgY3VycmVudCBvY3NwIFBvbGljeS4KKysgICAgICogQ3VycmVudGx5IHdlIG9ubHkgc3Vw cG9ydCAyIG1vZGVzICBPQ1NQX0xFQUZfQU5EX0NIQUlOX1BPTElDWS4KKysgICAgICogQW5kIE9D U1BfTk9STUFMX1BPTElDWSwgd2hpY2ggaXMgY3VycmVudCBwcm9jZXNzaW5nICwgYnkgZGVmYXVs dC4KKysgICAgICogSWYgd2UgaGF2ZSBBSUEgYmFzZWQgT0NTUCBlbmFibGVkIHdlIHdpbGwgY2hl Y2sgYWxsIGNlcnRzIGluIHRoZSBjaGFpbi4KKysgICAgICogdXNpbmcgUEtJWCBjZXJ0IHZlcmZp Y2F0aW9uIGNhbGxzIGluIHRoZSB2YXJpb3VzIGNlcnQgYXV0aCBjYWxsYmFja3Mgd2UKKysgICAg ICogaGF2ZS4KKysgICAgICogQHJldHVybiAtIFRoZSBjdXJyZW50IG9jc3AgcG9saWN5IGluIGVm ZmVjdC4KKysgICAgICovCisrCisrICAgIHB1YmxpYyBzdGF0aWMgc3luY2hyb25pemVkIGludCBn ZXRPQ1NQUG9saWN5KCkgeworKyAgICAgICAgcmV0dXJuIG9jc3BQb2xpY3kub3JkaW5hbCgpOwor KyAgICB9CisrCisrICAgIC8qKgorKyAgICAgKiBTZXRzIHRoZSBjdXJyZW50IG9jc3AgUG9saWN5 LgorKyAgICAgKiBDdXJyZW50bHkgd2Ugb25seSBzdXBwb3J0IG9uZSBtb2RlIE9DU1BfTEVBRl9B TkRfQ0hBSU5fUE9MSUNZLgorKyAgICAgKiBJZiB3ZSBoYXZlIEFJQSBiYXNlZCBPQ1NQIGVuYWJs ZWQgd2Ugd2lsbCBjaGVjayBhbGwgY2VydHMgaW4gdGhlIGNoYWluLgorKyAgICAgKiB1c2luZyBQ S0lYIGNlcnQgdmVyZmljYXRpb24gY2FsbHMgaW4gdGhlIHZhcmlvdXMgY2VydCBhdXRoIGNhbGxi YWNrcyB3ZQorKyAgICAgKiBoYXZlLgorKyAgICAgKiBAcGFyYW0gcG9saWN5IC0gRWl0aGVyIGNl cnQgYW5kIGNoYWluIG9yIG5vcm1hbCBkZWZhdWx0IHByb2Nlc3NpbmcuCisrICAgICAqCisrICAg ICAqLworKyAKKysgICAgcHVibGljIHN0YXRpYyBzeW5jaHJvbml6ZWQgdm9pZCBzZXRPQ1NQUG9s aWN5KE9DU1BQb2xpY3kgcG9saWN5KSB7CisrICAgICAgICBvY3NwUG9saWN5ID0gcG9saWN5Owor KyAgICB9CisrCisgICAgIC8qKgorICAgICAgKiBFbmFibGVzIE9DU1AsIG5vdGUgd2hlbiB5b3Ug SW5pdGlhbGl6ZSBKU1MgZm9yIHRoZSBmaXJzdCB0aW1lLCBmb3IKKyAgICAgICogYmFja3dhcmRz IGNvbXBhdGliaWxpdHksIHRoZSBpbml0aWFsaXplIHdpbGwgZW5hYmxlIE9DU1AgaWYgeW91CitA QCAtMTIyMCw2ICsxMjU4LDE2IEBAIHB1YmxpYyB2b2lkIGNvbmZpZ3VyZU9DU1AoCisgICAgICAg ICBTdHJpbmcgb2NzcFJlc3BvbmRlckNlcnROaWNrbmFtZSApCisgICAgIHRocm93cyBHZW5lcmFs U2VjdXJpdHlFeGNlcHRpb24KKyAgICAgeworKyAgICAgICAgLyogc2V0IHRoZSBvY3NwIHBvbGlj eSAqLworKworKyAgICAgICAgaWYob2NzcENoZWNraW5nRW5hYmxlZCAmJiAKKysgICAgICAgICAg ICBvY3NwUmVzcG9uZGVyVVJMID09IG51bGwgJiYgCisrICAgICAgICAgICAgb2NzcFJlc3BvbmRl ckNlcnROaWNrbmFtZSA9PSBudWxsKSB7CisrICAgICAgICAgICAgc2V0T0NTUFBvbGljeShPQ1NQ UG9saWN5LkxFQUZfQU5EX0NIQUlOKTsKKysgICAgICAgIH0gZWxzZSB7CisrICAgICAgICAgICAg c2V0T0NTUFBvbGljeShPQ1NQUG9saWN5Lk5PUk1BTCk7CisrICAgICAgICB9CisrCisgICAgICAg ICBjb25maWd1cmVPQ1NQTmF0aXZlKG9jc3BDaGVja2luZ0VuYWJsZWQsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBvY3NwUmVzcG9uZGVyVVJMLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG9jc3BSZXNwb25kZXJDZXJ0Tmlja25hbWUgKTsKK2RpZmYg LS1naXQgYS9vcmcvbW96aWxsYS9qc3MvUEsxMUZpbmRlci5jIGIvb3JnL21vemlsbGEvanNzL1BL MTFGaW5kZXIuYworaW5kZXggNDU5NTgxODEuLjAzMjllOTFkIDEwMDY0NAorLS0tIGEvb3JnL21v emlsbGEvanNzL1BLMTFGaW5kZXIuYworKysrIGIvb3JnL21vemlsbGEvanNzL1BLMTFGaW5kZXIu YworQEAgLTE0LDkgKzE0LDkgQEAKKyAjaW5jbHVkZSA8c2VjcGtjczcuaD4KKyAKKyAjaW5jbHVk ZSA8anNzdXRpbC5oPgorLQorICNpbmNsdWRlIDxqc3NfZXhjZXB0aW9ucy5oPgorICNpbmNsdWRl ICJwazExdXRpbC5oIgorKyNpbmNsdWRlICJzc2wvanNzbC5oIgorICNpbmNsdWRlIDxqYXZhX2lk cy5oPgorIAorIC8qCitAQCAtMTU3NCw2ICsxNTc0LDkgQEAgU0VDU3RhdHVzIHZlcmlmeUNlcnRp ZmljYXRlTm93KEpOSUVudiAqZW52LCBqb2JqZWN0IHNlbGYsIGpzdHJpbmcgbmlja1N0cmluZywK KyAgICAgICAgICBnb3RvIGZpbmlzaDsKKyAgICAgfQorIAorKyAgICBpbnQgb2NzcFBvbGljeSA9 IEpTU0xfZ2V0T0NTUFBvbGljeSgpOworKyAgICAKKysKKyAgICAgY2VydGlmaWNhdGVVc2FnZSA9 IHJlcXVpcmVkX2NlcnRpZmljYXRlVXNhZ2U7CisgCisgICAgIGNlcnQgPSBDRVJUX0ZpbmRDZXJ0 QnlOaWNrbmFtZShDRVJUX0dldERlZmF1bHRDZXJ0REIoKSwgbmlja25hbWUpOworQEAgLTE1ODcs OCArMTU5MCwyNCBAQCBTRUNTdGF0dXMgdmVyaWZ5Q2VydGlmaWNhdGVOb3coSk5JRW52ICplbnYs IGpvYmplY3Qgc2VsZiwganN0cmluZyBuaWNrU3RyaW5nLAorICAgICAvKiAwIGZvciBjZXJ0aWZp Y2F0ZVVzYWdlIGluIGNhbGwgdG8gQ0VSVF9WZXJpZnlDZXJ0aWZpY2F0ZU5vdyB3aWxsCisgICAg ICAqIHJldHJpZXZlIHRoZSBjdXJyZW50IHZhbGlkIHVzYWdlIGludG8gY3VyclVzYWdlCisgICAg ICAqLworLSAgICAgICAgcnYgPSBDRVJUX1ZlcmlmeUNlcnRpZmljYXRlTm93KENFUlRfR2V0RGVm YXVsdENlcnREQigpLCBjZXJ0LAorLSAgICAgICAgICAgIGNoZWNrU2lnLCBjZXJ0aWZpY2F0ZVVz YWdlLCBOVUxMLCBjdXJyVXNhZ2UgKTsKKysgICAgICAgIGlmKCBvY3NwUG9saWN5ID09IE9DU1Bf TEVBRl9BTkRfQ0hBSU5fUE9MSUNZKSB7CisrICAgICAgICAgICAgcnYgPSBKU1NMX3ZlcmlmeUNl cnRQS0lYKCBjZXJ0LCBjZXJ0aWZpY2F0ZVVzYWdlLAorKyAgICAgICAgICAgICAgICAgICAgIE5V TEwgLyogcGluIGFyZyAqLywgb2NzcFBvbGljeSwgTlVMTCwgY3VyclVzYWdlKTsKKysKKysgICAg ICAgICAgICAvKiB3ZSBuZWVkIHRvIGRvIHRoaXMganVzdCB0byBnZXQgdGhlIGNlcnQgdXNhZ2Vz LCB0aGUgcGtpeCB2ZXJzaW9uCisrICAgICAgICAgICAgICAgZG9lc24ndCBzZWVtIHRvIGhvbm9y IHRoZSBtZXRob2QgdG8gZ2V0IHRoZSB1c2FnZXMgYXMgb2YgeWV0LgorKyAgICAgICAgICAgICAg IExldCB0aGUgUEtJWCBjYWxsIG9ubHkgZGV0ZXJtaW5lIHRoZSBmaW5hbCBmYXRlLgorKyAgICAg ICAgICAgICovCisrICAgICAgICAgICAgaWYocnYgPT0gU0VDU3VjY2VzcykgeworKyAgICAgICAg ICAgICAgICBDRVJUX1ZlcmlmeUNlcnRpZmljYXRlTm93KENFUlRfR2V0RGVmYXVsdENlcnREQigp LCBjZXJ0LAorKyAgICAgICAgICAgICAgICBjaGVja1NpZywgY2VydGlmaWNhdGVVc2FnZSwgTlVM TCwgY3VyclVzYWdlICk7CisrICAgICAgICAgICAgfQorKworKyAgICAgICAgfSBlbHNlIHsKKysg ICAgICAgICAgICBydiA9IENFUlRfVmVyaWZ5Q2VydGlmaWNhdGVOb3coQ0VSVF9HZXREZWZhdWx0 Q2VydERCKCksIGNlcnQsCisrICAgICAgICAgICAgICAgIGNoZWNrU2lnLCBjZXJ0aWZpY2F0ZVVz YWdlLCBOVUxMLCBjdXJyVXNhZ2UgKTsKKysgICAgICAgIH0KKysKKyAgICAgICAgIGlmICgocnYg PT0gU0VDU3VjY2VzcykgJiYgY2VydGlmaWNhdGVVc2FnZSA9PSAweDAwMDApIHsKKyAgICAgICAg ICAgICBpZiAoKmN1cnJVc2FnZSA9PSAKKyAgICAgICAgICAgICAgICAgKCBjZXJ0VXNhZ2VVc2Vy Q2VydEltcG9ydCB8CitAQCAtMTYzOSw2ICsxNjU4LDggQEAgSmF2YV9vcmdfbW96aWxsYV9qc3Nf Q3J5cHRvTWFuYWdlcl92ZXJpZnlDZXJ0aWZpY2F0ZU5vd05hdGl2ZShKTklFbnYgKmVudiwKKyAg ICAgICAgICBnb3RvIGZpbmlzaDsKKyAgICAgfQorIAorKyAgICBpbnQgb2NzcFBvbGljeSA9IEpT U0xfZ2V0T0NTUFBvbGljeSgpOworKworICAgICBjZXJ0aWZpY2F0ZVVzYWdlID0gcmVxdWlyZWRf Y2VydGlmaWNhdGVVc2FnZTsKKyAKKyAgICAgY2VydCA9IENFUlRfRmluZENlcnRCeU5pY2tuYW1l KENFUlRfR2V0RGVmYXVsdENlcnREQigpLCBuaWNrbmFtZSk7CitAQCAtMTY1Myw4ICsxNjc0LDIz IEBAIEphdmFfb3JnX21vemlsbGFfanNzX0NyeXB0b01hbmFnZXJfdmVyaWZ5Q2VydGlmaWNhdGVO b3dOYXRpdmUoSk5JRW52ICplbnYsCisgICAgICAqIGp1c3QgZ2V0IHRoZSBjdXJyZW50IHVzYWdl ICh3aGljaCB3ZSBhcmUgbm90IHBhc3NpbmcgYmFjayBmb3Igbm93CisgICAgICAqIGJ1dCB3aWxs IGJ5cGFzcyB0aGUgY2VydGlmaWNhdGUgdXNhZ2UgY2hlY2sKKyAgICAgICovCistICAgICAgICBy diA9IENFUlRfVmVyaWZ5Q2VydGlmaWNhdGVOb3coQ0VSVF9HZXREZWZhdWx0Q2VydERCKCksIGNl cnQsCistICAgICAgICAgICAgY2hlY2tTaWcsIGNlcnRpZmljYXRlVXNhZ2UsIE5VTEwsICZjdXJy VXNhZ2UgKTsKKysKKysgICAgICAgIGlmKCBvY3NwUG9saWN5ID09IE9DU1BfTEVBRl9BTkRfQ0hB SU5fUE9MSUNZKSB7CisrICAgICAgICAgICAgcnY9IEpTU0xfdmVyaWZ5Q2VydFBLSVgoIGNlcnQs IGNlcnRpZmljYXRlVXNhZ2UsCisrICAgICAgICAgICAgICAgICAgICAgTlVMTCAvKiBwaW4gYXJn ICovLCBvY3NwUG9saWN5LCBOVUxMLCAmY3VyclVzYWdlKTsKKysKKysgICAgICAgICAgICAvKiB3 ZSBuZWVkIHRvIGRvIHRoaXMganVzdCB0byBnZXQgdGhlIGNlcnQgdXNhZ2VzLCB0aGUgcGtpeCB2 ZXJzaW9uCisrICAgICAgICAgICAgICAgZG9lc24ndCBzZWVtIHRvIGhvbm9yIHRoZSBtZXRob2Qg dG8gZ2V0IHRoZSB1c2FnZXMgYXMgb2YgeWV0LgorKyAgICAgICAgICAgICAgIExldCB0aGUgUEtJ WCBjYWxsIG9ubHkgZGV0ZXJtaW5lIHRoZSBmaW5hbCBmYXRlLgorKyAgICAgICAgICAgICovCisr ICAgICAgICAgICAgaWYocnYgPT0gU0VDU3VjY2VzcykgeworKyAgICAgICAgICAgICAgICBDRVJU X1ZlcmlmeUNlcnRpZmljYXRlTm93KENFUlRfR2V0RGVmYXVsdENlcnREQigpLCBjZXJ0LAorKyAg ICAgICAgICAgICAgICBjaGVja1NpZywgY2VydGlmaWNhdGVVc2FnZSwgTlVMTCwgJmN1cnJVc2Fn ZSApOworKyAgICAgICAgICAgIH0KKysgICAgICAgIH0gZWxzZSB7CisrICAgICAgICAgICAgcnYg PSBDRVJUX1ZlcmlmeUNlcnRpZmljYXRlTm93KENFUlRfR2V0RGVmYXVsdENlcnREQigpLCBjZXJ0 LAorKyAgICAgICAgICAgICAgICBjaGVja1NpZywgY2VydGlmaWNhdGVVc2FnZSwgTlVMTCwgJmN1 cnJVc2FnZSApOworKyAgICAgICAgfQorICAgICB9CisgCisgZmluaXNoOgorQEAgLTE3MjAsMTIg KzE3NTYsMTQgQEAgSmF2YV9vcmdfbW96aWxsYV9qc3NfQ3J5cHRvTWFuYWdlcl92ZXJpZnlDZXJ0 aWZpY2F0ZU5vd05hdGl2ZTIoSk5JRW52ICplbnYsCisgICAgIFNFQ1N0YXR1cyAgICAgICAgICAg ICAgICBydiA9IFNFQ0ZhaWx1cmU7CisgICAgIENFUlRDZXJ0aWZpY2F0ZSAgICAgICAgICAqY2Vy dCA9IE5VTEw7CisgICAgIGNoYXIgICAgICAgICAgICAgICAgICAgICAqbmlja25hbWUgPSBOVUxM OworLSAgICAKKysgICAKKyAgICAgaWYgKG5pY2tTdHJpbmcgPT0gTlVMTCkgeworICAgICAgICAg SlNTX3Rocm93TXNnKGVudiwgSU5WQUxJRF9OSUNLTkFNRV9FWENFUFRJT04sICJNaXNzaW5nIGNl cnRpZmljYXRlIG5pY2tuYW1lIik7CisgICAgICAgICBnb3RvIGZpbmlzaDsKKyAgICAgfQorIAor KyAgICBpbnQgb2NzcFBvbGljeSA9IEpTU0xfZ2V0T0NTUFBvbGljeSgpOworKworICAgICBuaWNr bmFtZSA9IChjaGFyICopICgqZW52KS0+R2V0U3RyaW5nVVRGQ2hhcnMoZW52LCBuaWNrU3RyaW5n LCBOVUxMKTsKKyAgICAgaWYgKG5pY2tuYW1lID09IE5VTEwpIHsKKyAgICAgICAgIEpTU190aHJv d01zZyhlbnYsIElOVkFMSURfTklDS05BTUVfRVhDRVBUSU9OLCAiTWlzc2luZyBjZXJ0aWZpY2F0 ZSBuaWNrbmFtZSIpOworQEAgLTE3NDcsOCArMTc4NSwyNSBAQCBKYXZhX29yZ19tb3ppbGxhX2pz c19DcnlwdG9NYW5hZ2VyX3ZlcmlmeUNlcnRpZmljYXRlTm93TmF0aXZlMihKTklFbnYgKmVudiwK KyAgICAgLyogMCBmb3IgY2VydGlmaWNhdGVVc2FnZSBpbiBjYWxsIHRvIENFUlRfVmVyaWZ5Q2Vy dGlmaWNhdGVOb3cgd2lsbAorICAgICAgKiByZXRyaWV2ZSB0aGUgY3VycmVudCB2YWxpZCB1c2Fn ZSBpbnRvIGN1cnJVc2FnZQorICAgICAgKi8KKy0gICAgcnYgPSBDRVJUX1ZlcmlmeUNlcnRpZmlj YXRlTm93KENFUlRfR2V0RGVmYXVsdENlcnREQigpLCBjZXJ0LAorLSAgICAgICAgY2hlY2tTaWcs IGNlcnRpZmljYXRlVXNhZ2UsIE5VTEwsICZjdXJyVXNhZ2UpOworKworKyAgICBpZiggb2NzcFBv bGljeSA9PSBPQ1NQX0xFQUZfQU5EX0NIQUlOX1BPTElDWSkgeworKyAgICAgICAgcnYgPSBKU1NM X3ZlcmlmeUNlcnRQS0lYKCBjZXJ0LCBjZXJ0aWZpY2F0ZVVzYWdlLAorKyAgICAgICAgICAgICAg ICAgICAgIE5VTEwgLyogcGluIGFyZyAqLywgb2NzcFBvbGljeSwgTlVMTCwgJmN1cnJVc2FnZSk7 CisrCisrICAgICAgICAvKiB3ZSBuZWVkIHRvIGRvIHRoaXMganVzdCB0byBnZXQgdGhlIGNlcnQg dXNhZ2VzLCB0aGUgcGtpeCB2ZXJzaW9uCisrICAgICAgICAgICBkb2Vzbid0IHNlZW0gdG8gaG9u b3IgdGhlIG1ldGhvZCB0byBnZXQgdGhlIHVzYWdlcyBhcyBvZiB5ZXQuCisrICAgICAgICAgICBM ZXQgdGhlIFBLSVggY2FsbCBvbmx5IGRldGVybWluZSB0aGUgZmluYWwgZmF0ZS4KKysgICAgICAg ICovCisrICAgICAgICBpZihydiA9PSBTRUNTdWNjZXNzKSB7CisrICAgICAgICAgICAgQ0VSVF9W ZXJpZnlDZXJ0aWZpY2F0ZU5vdyhDRVJUX0dldERlZmF1bHRDZXJ0REIoKSwgY2VydCwKKysgICAg ICAgICAgICBjaGVja1NpZywgY2VydGlmaWNhdGVVc2FnZSwgTlVMTCwgJmN1cnJVc2FnZSApOwor KworKyAgICAgICAgfQorKworKyAgICB9IGVsc2UgeworKyAgICAgICAgcnYgPSBDRVJUX1Zlcmlm eUNlcnRpZmljYXRlTm93KENFUlRfR2V0RGVmYXVsdENlcnREQigpLCBjZXJ0LAorKyAgICAgICAg ICAgICAgICAgICAgIGNoZWNrU2lnLCBjZXJ0aWZpY2F0ZVVzYWdlLCBOVUxMLCAmY3VyclVzYWdl KTsKKysgICAgfQorIAorICAgICBpZiAocnYgIT0gU0VDU3VjY2VzcykgeworICAgICAgICAgSlNT X3Rocm93TXNnUHJFcnIoZW52LCBDRVJUSUZJQ0FURV9FWENFUFRJT04sICJJbnZhbGlkIGNlcnRp ZmljYXRlIik7CitAQCAtMTgwMyw2ICsxODU4LDkgQEAgSmF2YV9vcmdfbW96aWxsYV9qc3NfQ3J5 cHRvTWFuYWdlcl92ZXJpZnlDZXJ0Tm93TmF0aXZlKEpOSUVudiAqZW52LAorICAgICBpZiggbmlj a25hbWUgPT0gTlVMTCApIHsKKyAgICAgICAgICBnb3RvIGZpbmlzaDsKKyAgICAgfQorKworKyAg ICBpbnQgb2NzcFBvbGljeSA9IEpTU0xfZ2V0T0NTUFBvbGljeSgpOworKworICAgICBjZXJ0VXNh Z2UgPSBjVXNhZ2U7CisgICAgIGNlcnQgPSBDRVJUX0ZpbmRDZXJ0QnlOaWNrbmFtZShDRVJUX0dl dERlZmF1bHRDZXJ0REIoKSwgbmlja25hbWUpOworIAorQEAgLTE4MTIsOCArMTg3MCwxMyBAQCBK YXZhX29yZ19tb3ppbGxhX2pzc19DcnlwdG9NYW5hZ2VyX3ZlcmlmeUNlcnROb3dOYXRpdmUoSk5J RW52ICplbnYsCisgICAgICAgICBQUl9zbXByaW50Zl9mcmVlKG1lc3NhZ2UpOworICAgICAgICAg Z290byBmaW5pc2g7CisgICAgIH0gZWxzZSB7CistICAgICAgICBydiA9IENFUlRfVmVyaWZ5Q2Vy dE5vdyhDRVJUX0dldERlZmF1bHRDZXJ0REIoKSwgY2VydCwKKy0gICAgICAgICAgICBjaGVja1Np ZywgY2VydFVzYWdlLCBOVUxMICk7CisrICAgICAgICBpZiggb2NzcFBvbGljeSA9PSBPQ1NQX0xF QUZfQU5EX0NIQUlOX1BPTElDWSkgeworKyAgICAgICAgICAgIHJ2ID0gSlNTTF92ZXJpZnlDZXJ0 UEtJWCggY2VydCwgY2VydFVzYWdlLAorKyAgICAgICAgICAgICAgICBOVUxMIC8qIHBpbiBhcmcg Ki8sIG9jc3BQb2xpY3ksIE5VTEwsIE5VTEwpOworKyAgICAgICAgfSBlbHNlIHsKKysgICAgICAg ICAgICBydiA9IENFUlRfVmVyaWZ5Q2VydE5vdyhDRVJUX0dldERlZmF1bHRDZXJ0REIoKSwgY2Vy dCwKKysgICAgICAgICAgICAgICAgY2hlY2tTaWcsIGNlcnRVc2FnZSwgTlVMTCApOworKyAgICAg ICAgfQorICAgICB9CisgCisgZmluaXNoOgorQEAgLTE4NTgsNiArMTkyMSw4IEBAIEphdmFfb3Jn X21vemlsbGFfanNzX0NyeXB0b01hbmFnZXJfdmVyaWZ5Q2VydFRlbXBOYXRpdmUoSk5JRW52ICpl bnYsCisgICAgIGRlckNlcnRzWzBdID0gSlNTX0J5dGVBcnJheVRvU0VDSXRlbShlbnYsIHBhY2th Z2VBcnJheSk7CisgICAgIGRlckNlcnRzWzFdID0gTlVMTDsKKyAKKysgICAgaW50IG9jc3BQb2xp Y3kgPSBKU1NMX2dldE9DU1BQb2xpY3koKTsKKysKKyAgICAgcnYgPSBDRVJUX0ltcG9ydENlcnRz KGNlcnRkYiwgY1VzYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgMSwgZGVyQ2VydHMs ICZjZXJ0QXJyYXksIFBSX0ZBTFNFIC8qdGVtcCBDZXJ0cyovLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgUFJfRkFMU0UgLypjYU9ubHkqLywgTlVMTCk7CitAQCAtMTg2OSw4ICsxOTM0LDE0 IEBAIEphdmFfb3JnX21vemlsbGFfanNzX0NyeXB0b01hbmFnZXJfdmVyaWZ5Q2VydFRlbXBOYXRp dmUoSk5JRW52ICplbnYsCisgICAgIH0KKyAKKyAgICAgY2VydFVzYWdlID0gY1VzYWdlOworLSAg ICBydiA9IENFUlRfVmVyaWZ5Q2VydE5vdyhjZXJ0ZGIsIGNlcnRBcnJheVswXSwKKy0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgY2hlY2tTaWcsIGNlcnRVc2FnZSwgTlVMTCApOworKworKyAg ICBpZiggb2NzcFBvbGljeSA9PSBPQ1NQX0xFQUZfQU5EX0NIQUlOX1BPTElDWSkgeworKyAgICAg ICAgcnYgPSBKU1NMX3ZlcmlmeUNlcnRQS0lYKCBjZXJ0QXJyYXlbMF0sIGNlcnRVc2FnZSwKKysg ICAgICAgICAgICBOVUxMIC8qIHBpbiBhcmcgKi8sIG9jc3BQb2xpY3ksIE5VTEwsIE5VTEwpOwor KyAgICB9IGVsc2UgeworKyAgICAgICAgcnYgPSBDRVJUX1ZlcmlmeUNlcnROb3coY2VydGRiLCBj ZXJ0QXJyYXlbMF0sCisrICAgICAgICAgICAgY2hlY2tTaWcsIGNlcnRVc2FnZSwgTlVMTCApOwor KyAgICB9CisgCisgICAgIGZpbmlzaDoKKyAgICAgLyogdGhpcyBjaGVja3MgZm9yIE5VTEwgKi8K K2RpZmYgLS1naXQgYS9vcmcvbW96aWxsYS9qc3Mvc3NsL2NhbGxiYWNrcy5jIGIvb3JnL21vemls bGEvanNzL3NzbC9jYWxsYmFja3MuYworaW5kZXggNjM0ZjMxZWMuLjQyNTk0YTE0IDEwMDY0NAor LS0tIGEvb3JnL21vemlsbGEvanNzL3NzbC9jYWxsYmFja3MuYworKysrIGIvb3JnL21vemlsbGEv anNzL3NzbC9jYWxsYmFja3MuYworQEAgLTIwLDYgKzIwLDQwIEBACisgI2luY2x1ZGUgPHBrMTF1 dGlsLmg+CisgI2luY2x1ZGUgPHNlY2Rlci5oPgorIAorK2ludAorK0pTU0xfZ2V0T0NTUFBvbGlj eSgpIHsKKysgICAgSk5JRW52ICplbnY7CisrICAgIGppbnQgcG9saWN5ID0gLTE7CisrCisrICAg IGptZXRob2RJRCBnZXRPQ1NQUG9saWN5SUQ7CisrICAgIGpjbGFzcyBjcnlwdG9NYW5hZ2VyQ2xh c3M7CisrCisrICAgIC8qIGdldCB0aGUgSk5JIGVudmlyb25tZW50ICovCisrICAgIGlmKCgqSlNT X2phdmFWTSktPkF0dGFjaEN1cnJlbnRUaHJlYWQoSlNTX2phdmFWTSwgKHZvaWQqKikmZW52LCBO VUxMKSAhPSAwKXsKKysgICAgICAgIFBSX0FTU0VSVChQUl9GQUxTRSk7CisrICAgICAgICBnb3Rv IGZpbmlzaDsKKysgICAgfQorKworKyAgICBjcnlwdG9NYW5hZ2VyQ2xhc3MgPSAoKmVudiktPkZp bmRDbGFzcyhlbnYsIENSWVBUT19NQU5BR0VSX05BTUUpOworKyAgICBpZiggY3J5cHRvTWFuYWdl ckNsYXNzID09IE5VTEwgKSB7CisrICAgICAgICBBU1NFUlRfT1VUT0ZNRU0oZW52KTsKKysgICAg ICAgIGdvdG8gZmluaXNoOworKyAgICB9CisrICAgIGdldE9DU1BQb2xpY3lJRCA9ICgqZW52KS0+ R2V0U3RhdGljTWV0aG9kSUQoZW52LCBjcnlwdG9NYW5hZ2VyQ2xhc3MsCisrICAgICAgICBHRVRf T0NTUF9QT0xJQ1lfTkFNRSxHRVRfT0NTUF9QT0xJQ1lfU0lHKTsKKysKKysgICAgaWYoIGdldE9D U1BQb2xpY3lJRCA9PSBOVUxMICkgeworKyAgICAgICAgQVNTRVJUX09VVE9GTUVNKGVudik7Cisr ICAgICAgICBnb3RvIGZpbmlzaDsKKysgICAgfQorKworKyAgICBwb2xpY3kgPSAoKmVudiktPkNh bGxTdGF0aWNJbnRNZXRob2QoZW52LCBjcnlwdG9NYW5hZ2VyQ2xhc3MsCisrICAgICAgICAgZ2V0 T0NTUFBvbGljeUlEKTsKKysKKytmaW5pc2g6CisrICAgIHJldHVybiAoaW50KSBwb2xpY3k7Cisr fQorKworIHN0YXRpYyBTRUNTdGF0dXMKKyBzZWNDbXBDZXJ0Q2hhaW5XQ0FOYW1lcyhDRVJUQ2Vy dGlmaWNhdGUgKmNlcnQsIENFUlREaXN0TmFtZXMgKmNhTmFtZXMpIAorIHsKK0BAIC00NDMsOCAr NDc3LDkgQEAgSlNTTF9EZWZhdWx0Q2VydEF1dGhDYWxsYmFjayh2b2lkICphcmcsIFBSRmlsZURl c2MgKmZkLCBQUkJvb2wgY2hlY2tTaWcsCisgICAgIFNFQ0NlcnRVc2FnZSAgICAgIGNlcnRVc2Fn ZTsKKyAgICAgQ0VSVENlcnRpZmljYXRlICAgKnBlZXJDZXJ0PU5VTEw7CisgCisrICAgIGludCBv Y3NwUG9saWN5ID0gSlNTTF9nZXRPQ1NQUG9saWN5KCk7CisrCisgICAgIGNlcnRVc2FnZSA9IGlz U2VydmVyID8gY2VydFVzYWdlU1NMQ2xpZW50IDogY2VydFVzYWdlU1NMU2VydmVyOworLSAKKyAK KyAgICAgLyogU1NMX1BlZXJDZXJ0aWZpY2F0ZSgpIHJldHVybnMgYSBzaGFsbG93IGNvcHkgb2Yg dGhlIGNlcnQsIHNvIHdlCisgICAgICAgIG11c3QgZGVzdHJveSBpdCBiZWZvcmUgd2UgZXhpdCB0 aGlzIGZ1bmN0aW9uICovCitAQCAtNDUyLDggKzQ4NywxMyBAQCBKU1NMX0RlZmF1bHRDZXJ0QXV0 aENhbGxiYWNrKHZvaWQgKmFyZywgUFJGaWxlRGVzYyAqZmQsIFBSQm9vbCBjaGVja1NpZywKKyAg ICAgcGVlckNlcnQgICA9IFNTTF9QZWVyQ2VydGlmaWNhdGUoZmQpOworIAorICAgICBpZiAocGVl ckNlcnQpIHsKKy0gICAgICAgIHJ2ID0gQ0VSVF9WZXJpZnlDZXJ0Tm93KENFUlRfR2V0RGVmYXVs dENlcnREQigpLCBwZWVyQ2VydCwKKy0gICAgICAgICAgICAgICAgY2hlY2tTaWcsIGNlcnRVc2Fn ZSwgTlVMTCAvKnBpbmFyZyovKTsKKysgICAgICAgIGlmKCBvY3NwUG9saWN5ID09IE9DU1BfTEVB Rl9BTkRfQ0hBSU5fUE9MSUNZKSB7CisrICAgICAgICAgICAgcnYgPSBKU1NMX3ZlcmlmeUNlcnRQ S0lYKCBwZWVyQ2VydCwgY2VydFVzYWdlLAorKyAgICAgICAgICAgICAgICAgICAgIE5VTEwgLyog cGluIGFyZyAqLywgb2NzcFBvbGljeSwgTlVMTCwgTlVMTCk7CisrICAgICAgICB9IGVsc2Ugewor KyAgICAgICAgICAgIHJ2ID0gQ0VSVF9WZXJpZnlDZXJ0Tm93KENFUlRfR2V0RGVmYXVsdENlcnRE QigpLCBwZWVyQ2VydCwKKysgICAgICAgICAgICAgICAgICAgIGNoZWNrU2lnLCBjZXJ0VXNhZ2Us IE5VTEwgLypwaW5hcmcqLyk7CisrICAgICAgICB9CisgICAgIH0KKyAKKyAgICAgLyogaWYgd2Un cmUgYSBzZXJ2ZXIsIHRoZW4gd2UgZG9uJ3QgbmVlZCB0byBjaGVjayB0aGUgQ04gb2YgdGhlCitA QCAtNTY5LDYgKzYwOSw4IEBAIEpTU0xfSmF2YUNlcnRBdXRoQ2FsbGJhY2sodm9pZCAqYXJnLCBQ UkZpbGVEZXNjICpmZCwgUFJCb29sIGNoZWNrU2lnLAorICAgICBsb2cudGFpbCA9IE5VTEw7Cisg ICAgIGxvZy5jb3VudCA9IDA7CisgCisrICAgIGludCBvY3NwUG9saWN5ID0gSlNTTF9nZXRPQ1NQ UG9saWN5KCk7CisrCisgICAgIC8qIGdldCB0aGUgSk5JIGVudmlyb25tZW50ICovCisgICAgIGlm KCgqSlNTX2phdmFWTSktPkF0dGFjaEN1cnJlbnRUaHJlYWQoSlNTX2phdmFWTSwgKHZvaWQqKikm ZW52LCBOVUxMKSAhPSAwKXsKKyAgICAgICAgIFBSX0FTU0VSVChQUl9GQUxTRSk7CitAQCAtNTg5 LDEzICs2MzEsMTggQEAgSlNTTF9KYXZhQ2VydEF1dGhDYWxsYmFjayh2b2lkICphcmcsIFBSRmls ZURlc2MgKmZkLCBQUkJvb2wgY2hlY2tTaWcsCisgICAgICAqIGxvZ2dpbmcgcGFyYW1ldGVyKQor ICAgICAgKi8KKyAKKy0gICAgdmVyaWZpY2F0aW9uUmVzdWx0ID0gQ0VSVF9WZXJpZnlDZXJ0KCAg IENFUlRfR2V0RGVmYXVsdENlcnREQigpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBw ZWVyQ2VydCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tTaWcsCistICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNlcnRVc2FnZSwKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgUFJfTm93KCksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwgLypwaW5h cmcqLywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJmxvZyk7CisrICAgIGlmKCBvY3Nw UG9saWN5ID09IE9DU1BfTEVBRl9BTkRfQ0hBSU5fUE9MSUNZKSB7CisrICAgICAgICB2ZXJpZmlj YXRpb25SZXN1bHQgPSBKU1NMX3ZlcmlmeUNlcnRQS0lYKCBwZWVyQ2VydCwgY2VydFVzYWdlLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwgLyogcGluIGFyZyAqLywgb2Nz cFBvbGljeSwgJmxvZywgTlVMTCk7CisrICAgICB9ICBlbHNlIHsKKysgICAgICAgIHZlcmlmaWNh dGlvblJlc3VsdCA9IENFUlRfVmVyaWZ5Q2VydCggICBDRVJUX0dldERlZmF1bHRDZXJ0REIoKSwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlZXJDZXJ0LAorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY2hlY2tTaWcsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjZXJ0VXNhZ2UsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUl9O b3coKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwgLypwaW5hcmcqLywK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsb2cpOworKyAgICAgfQorIAorICAg ICBpZiAodmVyaWZpY2F0aW9uUmVzdWx0ID09IFNFQ1N1Y2Nlc3MgJiYgbG9nLmNvdW50ID4gMCkg eworICAgICAgICAgdmVyaWZpY2F0aW9uUmVzdWx0ID0gU0VDRmFpbHVyZTsKK2RpZmYgLS1naXQg YS9vcmcvbW96aWxsYS9qc3Mvc3NsL2NvbW1vbi5jIGIvb3JnL21vemlsbGEvanNzL3NzbC9jb21t b24uYworaW5kZXggNWM2ZWZhODUuLmFlYzg4NTUyIDEwMDY0NAorLS0tIGEvb3JnL21vemlsbGEv anNzL3NzbC9jb21tb24uYworKysrIGIvb3JnL21vemlsbGEvanNzL3NzbC9jb21tb24uYworQEAg LTE1LDYgKzE1LDcgQEAKKyAjaW5jbHVkZSA8cGsxMXV0aWwuaD4KKyAjaW5jbHVkZSAiX2puaS9v cmdfbW96aWxsYV9qc3Nfc3NsX1NTTFNvY2tldC5oIgorICNpbmNsdWRlICJqc3NsLmgiCisrI2lu Y2x1ZGUgImNlcnQuaCIKKyAKKyAjaWZkZWYgV0lOMzIKKyAjaW5jbHVkZSA8d2luc29jay5oPgor QEAgLTg4OSwzICs4OTAsMTk4IEBAIEpTU19TU0xfcHJvY2Vzc0V4Y2VwdGlvbnMoSk5JRW52ICpl bnYsIFBSRmlsZVByaXZhdGUgKnByaXYpCisgICAgICAgICBQUl9BU1NFUlQocmV0ID09IDApOwor ICAgICB9CisgfQorKworKy8qIEdldCB0aGUgdHJ1c3RlZCBhbmNob3IgZm9yIHBraXggKi8KKysK KytDRVJUQ2VydGlmaWNhdGUgKiBnZXRSb290KENFUlRDZXJ0aWZpY2F0ZSAqY2VydCwgCisrICAg IFNFQ0NlcnRpZmljYXRlVXNhZ2UgY2VydFVzYWdlKSAKKyt7CisrICAgIENFUlRDZXJ0aWZpY2F0 ZSAgKnJvb3QgPSBOVUxMOworKyAgICBDRVJUQ2VydExpc3ROb2RlICpub2RlID0gTlVMTDsKKysK KysgICAgaWYoICFjZXJ0ICkgeworKyAgICAgICAgZ290byBmaW5pc2g7CisrICAgIH0KKysKKysg ICAgQ0VSVENlcnRMaXN0ICpjZXJ0TGlzdCA9ICBDRVJUX0dldENlcnRDaGFpbkZyb21DZXJ0KGNl cnQsIAorKyAgICAgICAgUFJfTm93KCksIAorKyAgICAgICAgY2VydFVzYWdlKTsKKysKKysgICAg aWYoIGNlcnRMaXN0ID09IE5VTEwpIHsKKysgICAgICAgIGdvdG8gZmluaXNoOworKyAgICB9Cisr CisrICAgIGZvciAobm9kZSA9IENFUlRfTElTVF9IRUFEKGNlcnRMaXN0KTsKKysgICAgICAgIUNF UlRfTElTVF9FTkQobm9kZSwgY2VydExpc3QpOworKyAgICAgICBub2RlID0gQ0VSVF9MSVNUX05F WFQobm9kZSkpIHsKKysgICAgICAgCisrICAgICAgICAvKiB0cnkgdG8gZmluZCB0aGUgcm9vdCAq LworKyAgICAgICBpZiggbm9kZS0+Y2VydCAmJiBub2RlLT5jZXJ0LT5pc1Jvb3QgKSB7CisrICAg ICAgICAgIHJvb3QgPSBDRVJUX0R1cENlcnRpZmljYXRlKG5vZGUtPmNlcnQpIDsKKysgICAgICAg fSAKKysgICAgfQorKworK2ZpbmlzaDoKKysgIAorKyAgICBDRVJUX0Rlc3Ryb3lDZXJ0TGlzdCAo Y2VydExpc3QpOyAKKysgICAgcmV0dXJuIHJvb3Q7IAorK30KKysKKysvKiBWZXJpZnkgYSBjZXJ0 IHVzaW5nIGV4cGxpY2l0IFBLSVggY2FsbC4KKysgKiBGb3Igbm93IG9ubHkgdXNlZCBpbiBPQ1NQ IEFJQSBjb250ZXh0LgorKyAqIFRoZSByZXN1bHQgb2YgdGhpcyBjYWxsIHdpbGwgYmUgYSBmdWxs IGNoYWluCisrICogYW5kIGxlYWYgbmV0d29yayBBSUEgb2NzcCB2YWxpZGF0aW9uLgorKyAqIFRo ZSBwb2xpY3kgcGFyYW0gd2lsbCBiZSB1c2VkIGluIHRoZSBmdXR1cmUgdG8KKysgKiBoYW5kbGUg bW9yZSBzY2VuYXJpb3MuCisrICovCisrCisrU0VDU3RhdHVzIEpTU0xfdmVyaWZ5Q2VydFBLSVgo Q0VSVENlcnRpZmljYXRlICpjZXJ0LAorKyAgICAgIFNFQ0NlcnRpZmljYXRlVXNhZ2UgY2VydFVz YWdlLHNlY3VQV0RhdGEgKnB3ZGF0YSwgaW50IG9jc3BQb2xpY3ksCisrICAgICAgQ0VSVFZlcmlm eUxvZyAqbG9nLCBTRUNDZXJ0aWZpY2F0ZVVzYWdlICp1c2FnZSkgCisreworKworKyAgICAvKiBw dXQgdGhlIGZpcnN0IHNldCBvZiBwb3NzaWJsZSBmbGFncyBpbnRlcm5hbGx5IGhlcmUgZmlyc3Qg Ki8KKysgICAgLyogbGF0ZXIgdGhlcmUgY291bGQgYmUgYSBtb3JlIGNvbXBsZXRlIGxpc3QgdG8g Y2hvb3NlIGZyb20gKi8KKysgICAgLyogc3VwcG9ydCBvdXIgaGFyZCBjb3JlIGZldGNoIGFpYSBv Y3NwIHBvbGljeSBmb3Igbm93ICovCisrCisrICAgIHN0YXRpYyBQUlVpbnQ2NCBvY3NwX0VuYWJs ZWRfSGFyZF9Qb2xpY3lfTGVhZkZsYWdzWzJdID0geworKyAgICAgICAgLyogY3JsICovCisrICAg ICAgICAwLAorKyAgICAgICAgLyogb2NzcCAqLworKyAgICAgICAgQ0VSVF9SRVZfTV9URVNUX1VT SU5HX1RISVNfTUVUSE9EIHwKKysgICAgICAgIENFUlRfUkVWX01fRkFJTF9PTl9NSVNTSU5HX0ZS RVNIX0lORk8KKysgICAgfTsKKysKKysgICAgc3RhdGljIFBSVWludDY0IG9jc3BfRW5hYmxlZF9I YXJkX1BvbGljeV9DaGFpbkZsYWdzWzJdID0geworKyAgICAgICAgLyogY3JsICovCisrICAgICAg ICAwLAorKyAgICAgICAgLyogb2NzcCAqLworKyAgICAgICAgQ0VSVF9SRVZfTV9URVNUX1VTSU5H X1RISVNfTUVUSE9EIHwKKysgICAgICAgIENFUlRfUkVWX01fRkFJTF9PTl9NSVNTSU5HX0ZSRVNI X0lORk8KKysgICAgfTsKKysKKysgICAgc3RhdGljIENFUlRSZXZvY2F0aW9uTWV0aG9kSW5kZXgK KysgICAgICAgIG9jc3BfRW5hYmxlZF9IYXJkX1BvbGljeV9NZXRob2RfUHJlZmVyZW5jZSA9IHsK KysgICAgICAgICAgICBjZXJ0X3Jldm9jYXRpb25fbWV0aG9kX29jc3AKKysgICAgICAgIH07Cisr CisrICAgIHN0YXRpYyBDRVJUUmV2b2NhdGlvbkZsYWdzIG9jc3BfRW5hYmxlZF9IYXJkX1BvbGlj eSA9IHsKKysgICAgeyAvKiBsZWFmVGVzdHMgKi8KKysgICAgICAyLAorKyAgICAgIG9jc3BfRW5h YmxlZF9IYXJkX1BvbGljeV9MZWFmRmxhZ3MsCisrICAgICAgMSwKKysgICAgICAmb2NzcF9FbmFi bGVkX0hhcmRfUG9saWN5X01ldGhvZF9QcmVmZXJlbmNlLAorKyAgICAgIDAgfSwKKysgICAgeyAv KiBjaGFpblRlc3RzICovCisrICAgICAgMiwKKysgICAgICBvY3NwX0VuYWJsZWRfSGFyZF9Qb2xp Y3lfQ2hhaW5GbGFncywKKysgICAgICAxLAorKyAgICAgICZvY3NwX0VuYWJsZWRfSGFyZF9Qb2xp Y3lfTWV0aG9kX1ByZWZlcmVuY2UsCisrICAgICAgMCB9CisrICAgIH07CisrCisrICAgIC8qIGZv ciBmdXR1cmUgZXhwYW5zaW9uICovCisrCisrICAgIENFUlRWYWxPdXRQYXJhbSBjdm91dFsyMF0g PSB7MH07CisrICAgIENFUlRWYWxJblBhcmFtIGN2aW5bMjBdID0gezB9OworKworKyAgICBpbnQg aW5QYXJhbUluZGV4ID0gMDsKKysgICAgaW50IG91dFBhcmFtSW5kZXggPSAwOworKyAgICBDRVJU UmV2b2NhdGlvbkZsYWdzICpyZXYgPSBOVUxMOworKworKyAgICBDRVJUQ2VydExpc3QgKnRydXN0 ZWRDZXJ0TGlzdCA9IE5VTEw7CisrCisrICAgIFBSQm9vbCBmZXRjaENlcnRzID0gUFJfRkFMU0U7 CisrCisrICAgIFNFQ1N0YXR1cyByZXMgPSAgU0VDRmFpbHVyZTsKKysgICAgaWYoY2VydCA9PSBO VUxMKSB7CisrICAgICAgICBnb3RvIGZpbmlzaDsKKysgICAgfQorKworKyAgICBpZihvY3NwUG9s aWN5ICE9IE9DU1BfTEVBRl9BTkRfQ0hBSU5fUE9MSUNZKSB7CisrICAgICAgICBnb3RvIGZpbmlz aDsKKysgICAgfQorKworKyAgICAvKiBGb3JjZSB0aGUgc3RyaWN0IG9jc3AgbmV0d29yayBjaGVj ayBvbiBjaGFpbgorKyAgICAgICBhbmQgbGVhZi4KKysgICAgKi8KKysKKysgICAgZmV0Y2hDZXJ0 cyA9IFBSX1RSVUU7ICAgCisrICAgIHJldiA9ICZvY3NwX0VuYWJsZWRfSGFyZF9Qb2xpY3k7Cisr CisrICAgIC8qIGZldGNoIGFpYSBvdmVyIG5ldCAqLworKyAKKysgICAgY3ZpbltpblBhcmFtSW5k ZXhdLnR5cGUgPSBjZXJ0X3BpX3VzZUFJQUNlcnRGZXRjaDsKKysgICAgY3ZpbltpblBhcmFtSW5k ZXhdLnZhbHVlLnNjYWxhci5iID0gZmV0Y2hDZXJ0czsKKysgICAgaW5QYXJhbUluZGV4Kys7IAor KworKyAgICAvKiB0aW1lICovCisrCisrICAgIGN2aW5baW5QYXJhbUluZGV4XS50eXBlID0gY2Vy dF9waV9kYXRlOworKyAgICBjdmluW2luUGFyYW1JbmRleF0udmFsdWUuc2NhbGFyLnRpbWUgPSBQ Ul9Ob3coKTsKKysgICAgaW5QYXJhbUluZGV4Kys7CisrCisrICAgIC8qIGZsYWdzICovCisrCisr ICAgIGN2aW5baW5QYXJhbUluZGV4XS50eXBlID0gY2VydF9waV9yZXZvY2F0aW9uRmxhZ3M7Cisr ICAgIGN2aW5baW5QYXJhbUluZGV4XS52YWx1ZS5wb2ludGVyLnJldm9jYXRpb24gPSByZXY7Cisr ICAgIGluUGFyYW1JbmRleCsrOworKworKworKyAgICAvKiBlc3RhYmxpc2ggdHJ1c3QgYW5jaG9y ICovCisrCisrICAgIENFUlRDZXJ0aWZpY2F0ZSAqcm9vdCA9IGdldFJvb3QoY2VydCxjZXJ0VXNh Z2UpOworKworKyAgICAvKiBUcnkgdG8gYWRkIHRoZSByb290IGFzIHRoZSB0cnVzdCBhbmNob3Ig c28gYWxsIHRoZQorKyAgICAgICBvdGhlciBtZW1lYmVycyBvZiB0aGUgY2EgY2hhaW4gd2lsbCBn ZXQgdmFsaWRhdGVkLgorKyAgICAqLworKworKyAgICBpZiggcm9vdCAhPSBOVUxMICkgeworKyAg ICAgICAgdHJ1c3RlZENlcnRMaXN0ID0gQ0VSVF9OZXdDZXJ0TGlzdCgpOworKyAgICAgICAgQ0VS VF9BZGRDZXJ0VG9MaXN0VGFpbCh0cnVzdGVkQ2VydExpc3QsIHJvb3QpOyAgICAgICAgCisrCisr ICAgICAgICBjdmluW2luUGFyYW1JbmRleF0udHlwZSA9IGNlcnRfcGlfdHJ1c3RBbmNob3JzOwor KyAgICAgICAgY3ZpbltpblBhcmFtSW5kZXhdLnZhbHVlLnBvaW50ZXIuY2hhaW4gPSB0cnVzdGVk Q2VydExpc3Q7CisrCisrICAgICAgICBpblBhcmFtSW5kZXgrKzsKKysgICAgfQorKworKyAgICBj dmluW2luUGFyYW1JbmRleF0udHlwZSA9IGNlcnRfcGlfZW5kOworKworKyAgICBpZihsb2cgIT0g TlVMTCkgeworKyAgICAgICAgY3ZvdXRbb3V0UGFyYW1JbmRleF0udHlwZSA9IGNlcnRfcG9fZXJy b3JMb2c7CisrICAgICAgICBjdm91dFtvdXRQYXJhbUluZGV4XS52YWx1ZS5wb2ludGVyLmxvZyA9 IGxvZzsKKysgICAgICAgIG91dFBhcmFtSW5kZXggKys7CisrICAgIH0KKysKKysgICAgaW50IHVz YWdlSW5kZXggPSAwOworKyAgICBpZih1c2FnZSAhPSBOVUxMKSB7CisrICAgICAgICB1c2FnZUlu ZGV4ID0gb3V0UGFyYW1JbmRleDsKKysgICAgICAgIGN2b3V0W291dFBhcmFtSW5kZXhdLnR5cGUg PSBjZXJ0X3BvX3VzYWdlczsKKysgICAgICAgIGN2b3V0W291dFBhcmFtSW5kZXhdLnZhbHVlLnNj YWxhci51c2FnZXMgPSAwOworKyAgICAgICAgb3V0UGFyYW1JbmRleCArKzsKKysgICAgfQorKwor KyAgICBjdm91dFtvdXRQYXJhbUluZGV4XS50eXBlID0gY2VydF9wb19lbmQ7CisrCisrICAgIHJl cyA9IENFUlRfUEtJWFZlcmlmeUNlcnQoY2VydCwgY2VydFVzYWdlLCBjdmluLCBjdm91dCwgJnB3 ZGF0YSk7CisrCisrZmluaXNoOgorKyAgICAvKiBjbGVhbiB1cCBhbnkgdHJ1c3RlZCBjZXJ0IGxp c3QgKi8KKysKKysgICAgaWYgKHRydXN0ZWRDZXJ0TGlzdCkgeworKyAgICAgICAgQ0VSVF9EZXN0 cm95Q2VydExpc3QodHJ1c3RlZENlcnRMaXN0KTsKKysgICAgICAgIHRydXN0ZWRDZXJ0TGlzdCA9 IE5VTEw7CisrICAgIH0KKysKKysgICAgaWYocm9vdCkgeworKyAgICAgICBDRVJUX0Rlc3Ryb3lD ZXJ0aWZpY2F0ZShyb290KTsKKysgICAgICAgcm9vdCA9IE5VTEw7CisrICAgIH0KKysKKysgICAg aWYocmVzID09IFNFQ1N1Y2Nlc3MgJiYgdXNhZ2UpIHsKKysgICAgICAgICp1c2FnZSA9IGN2b3V0 W3VzYWdlSW5kZXhdLnZhbHVlLnNjYWxhci51c2FnZXM7CisrICAgIH0KKysKKysgICAgcmV0dXJu IHJlczsKKyt9CitkaWZmIC0tZ2l0IGEvb3JnL21vemlsbGEvanNzL3NzbC9qc3NsLmggYi9vcmcv bW96aWxsYS9qc3Mvc3NsL2pzc2wuaAoraW5kZXggYzE1YWNmODcuLjBlOTNlZWJlIDEwMDY0NAor LS0tIGEvb3JnL21vemlsbGEvanNzL3NzbC9qc3NsLmgKKysrKyBiL29yZy9tb3ppbGxhL2pzcy9z c2wvanNzbC5oCitAQCAtNSw4ICs1LDI3IEBACisgI2lmbmRlZiBPUkdfTU9aSUxMQV9KU1NfU1NM X0pTU0xfSAorICNkZWZpbmUgT1JHX01PWklMTEFfSlNTX1NTTF9KU1NMX0gKKyAKKysvKiBvY3Nw IHBvbGljeSBjb25zdGFudHMgKi8KKysKKysvKiBvY3NwIHBvbGljeSBjb25zdGFudHMgKi8KKytz dGF0aWMgY29uc3QgaW50IE9DU1BfTk9fUE9MSUNZID0gMDsKKytzdGF0aWMgY29uc3QgaW50IE9D U1BfTk9STUFMX1BPTElDWSA9IDE7Cisrc3RhdGljIGNvbnN0IGludCBPQ1NQX0xFQUZfQU5EX0NI QUlOX1BPTElDWSA9IDI7CisrCisgI2luY2x1ZGUgPHNzbC5oPgorIAorK3R5cGVkZWYgc3RydWN0 CisreworKyAgICBlbnVtCisrICAgIHsKKysgICAgICAgIFBXX05PTkUgPSAwLAorKyAgICAgICAg UFdfRlJPTUZJTEUgPSAxLAorKyAgICAgICAgUFdfUExBSU5URVhUID0gMiwKKysgICAgICAgIFBX X0VYVEVSTkFMID0gMworKyAgICB9IHNvdXJjZTsKKysgICAgY2hhciAqZGF0YTsKKyt9IHNlY3VQ V0RhdGE7CisrCisgc3RydWN0IEpTU0xfU29ja2V0RGF0YSB7CisgICAgIFBSRmlsZURlc2MgKmZk OworICAgICBqb2JqZWN0IHNvY2tldE9iamVjdDsgLyogd2VhayBnbG9iYWwgcmVmICovCitAQCAt MTIwLDQgKzEzOSwxNCBAQCBKU1NfU1NMX3Byb2Nlc3NFeGNlcHRpb25zKEpOSUVudiAqZW52LCBQ UkZpbGVQcml2YXRlICpwcml2KTsKKyAKKyB2b2lkIEpTU0xfdGhyb3dTU0xTb2NrZXRFeGNlcHRp b24oSk5JRW52ICplbnYsIGNoYXIgKm1lc3NhZ2UpOworIAorK2ludAorK0pTU0xfZ2V0T0NTUFBv bGljeSgpOworKworKworK1NFQ1N0YXR1cyAKKytKU1NMX3ZlcmlmeUNlcnRQS0lYKENFUlRDZXJ0 aWZpY2F0ZSAqY2VydCwKKysgICAgICAgICAgICAgICAgICAgIFNFQ0NlcnRpZmljYXRlVXNhZ2Ug Y2VydFVzYWdlLAorKyAgICAgICAgICAgICAgICAgICAgc2VjdVBXRGF0YSAqcHdkYXRhLCBpbnQg b2NzcFBvbGljeSwKKysgICAgICAgICAgICAgICAgICAgIENFUlRWZXJpZnlMb2cgKmxvZyxTRUND ZXJ0aWZpY2F0ZVVzYWdlICp1c2FnZSk7CisrCisgI2VuZGlmCitkaWZmIC0tZ2l0IGEvb3JnL21v emlsbGEvanNzL3V0aWwvamF2YV9pZHMuaCBiL29yZy9tb3ppbGxhL2pzcy91dGlsL2phdmFfaWRz LmgKK2luZGV4IDczYjMxZmE5Li40MDUzZDlhNyAxMDA2NDQKKy0tLSBhL29yZy9tb3ppbGxhL2pz cy91dGlsL2phdmFfaWRzLmgKKysrKyBiL29yZy9tb3ppbGxhL2pzcy91dGlsL2phdmFfaWRzLmgK K0BAIC0yNzYsNiArMjc2LDE1IEBAIFBSX0JFR0lOX0VYVEVSTl9DCisgI2RlZmluZSBHRVRfUkVD Vl9CVUZfU0laRSAiZ2V0UmVjZWl2ZUJ1ZmZlclNpemUiCisgI2RlZmluZSBHRVRfQlVGX1NJWkVf U0lHICIoKUkiCisgCisrLyoKKysgKiBDcnlwdG9NYW5hZ2VyCisrICoKKysqLworKworKyNkZWZp bmUgQ1JZUFRPX01BTkFHRVJfTkFNRSAib3JnL21vemlsbGEvanNzL0NyeXB0b01hbmFnZXIiCisr I2RlZmluZSBHRVRfT0NTUF9QT0xJQ1lfTkFNRSAiZ2V0T0NTUFBvbGljeSIKKysjZGVmaW5lIEdF VF9PQ1NQX1BPTElDWV9TSUcgIigpSSIKKysKKyAvKgorICAqIFNvY2tldEJhc2UKKyAgKi8KCmRp ZmYgLS1naXQgYS9qc3MtYWlhLW9jc3AtMi5wYXRjaCBiL2pzcy1haWEtb2NzcC0yLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2YjJmMWMKLS0tIC9kZXYvbnVsbAor KysgYi9qc3MtYWlhLW9jc3AtMi5wYXRjaApAQCAtMCwwICsxLDE0MSBAQAorRnJvbSAxZmU2YTQ1 MWVjMGMzZWM5NjBhYzExMTliMzljNDA2ZDk5OWRhNWVjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogSmFjayBNYWduZSA8am1hZ25lQHJlZGhhdC5jb20+CitEYXRlOiBGcmksIDggRmVi IDIwMTkgMTE6MjE6NDggLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gQWRkaXRpb25hbDogUmVzb2x2 ZSBCdWcgMTY2Njg3MiAtIENDOiBFbmFibGUgQUlBIE9DU1AgY2VydAorIGNoZWNraW5nIGZvciBl bnRpcmUgY2VydCBjaGFpbi4KKworU2ltcGxlIGZpeCB0byBtYWtlIHN1cmUgd2UgYXJlIHVzaW5n IHRoZSBjb3JyZWN0IHZhcmlhbnQgb2YgdGhlIE5TUyBjZXJ0IHVzYWdlIHF1YW50aXR5LgorCitJ dCB0dXJucyBvdXQgc29tZSBjYWxscyBuZWVkIGEgU0VDQ2VydFVzYWdlIGFuZCBvdGhlcnMgbmVl ZCBhIFNFQ0NlcnRpZmljYXRlVXNhZ2UuCitXZSBhbHNvIG5lZWQgdG8gY29udmVydCBiZXR3ZWVu IHRoZSB0d28gaW4gY2VydGFpbiBpbnN0YW5jZXMuCisKK0ZvdW5kIGFuZCBmaXhlZCBkb3VibGUg Y2VydGlmaWNhdGUgb2JqZWN0IGZyZWUgaXNzdWUuCistLS0KKyBvcmcvbW96aWxsYS9qc3Mvc3Ns L2NhbGxiYWNrcy5jIHwgMTAgKysrKysrKystLQorIG9yZy9tb3ppbGxhL2pzcy9zc2wvY29tbW9u LmMgICAgfCAxOSArKysrKysrKysrKysrKy0tLS0tCisgb3JnL21vemlsbGEvanNzL3NzbC9qc3Ns LmggICAgICB8ICAyICstCisgMyBmaWxlcyBjaGFuZ2VkLCAyMyBpbnNlcnRpb25zKCspLCA4IGRl bGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvb3JnL21vemlsbGEvanNzL3NzbC9jYWxsYmFja3Mu YyBiL29yZy9tb3ppbGxhL2pzcy9zc2wvY2FsbGJhY2tzLmMKK2luZGV4IDQyNTk0YTE0Li40ZmUw OGEyOSAxMDA2NDQKKy0tLSBhL29yZy9tb3ppbGxhL2pzcy9zc2wvY2FsbGJhY2tzLmMKKysrKyBi L29yZy9tb3ppbGxhL2pzcy9zc2wvY2FsbGJhY2tzLmMKK0BAIC00ODEsNiArNDgxLDkgQEAgSlNT TF9EZWZhdWx0Q2VydEF1dGhDYWxsYmFjayh2b2lkICphcmcsIFBSRmlsZURlc2MgKmZkLCBQUkJv b2wgY2hlY2tTaWcsCisgCisgICAgIGNlcnRVc2FnZSA9IGlzU2VydmVyID8gY2VydFVzYWdlU1NM Q2xpZW50IDogY2VydFVzYWdlU1NMU2VydmVyOworIAorKyAgICAvKiBQS0lYIGNhbGwgbmVlZHMg YSBTRUNDZXJ0aWZpY2F0ZSB1c2FnZSwgY29udmVydCAqLworKyAgICBTRUNDZXJ0aWZpY2F0ZVVz YWdlIGNlcnRpZmljYXRlVXNhZ2UgPSAgKFNFQ0NlcnRpZmljYXRlVXNhZ2UpMSA8PCBjZXJ0VXNh Z2U7CisrCisgICAgIC8qIFNTTF9QZWVyQ2VydGlmaWNhdGUoKSByZXR1cm5zIGEgc2hhbGxvdyBj b3B5IG9mIHRoZSBjZXJ0LCBzbyB3ZQorICAgICAgICBtdXN0IGRlc3Ryb3kgaXQgYmVmb3JlIHdl IGV4aXQgdGhpcyBmdW5jdGlvbiAqLworIAorQEAgLTQ4OCw3ICs0OTEsNyBAQCBKU1NMX0RlZmF1 bHRDZXJ0QXV0aENhbGxiYWNrKHZvaWQgKmFyZywgUFJGaWxlRGVzYyAqZmQsIFBSQm9vbCBjaGVj a1NpZywKKyAKKyAgICAgaWYgKHBlZXJDZXJ0KSB7CisgICAgICAgICBpZiggb2NzcFBvbGljeSA9 PSBPQ1NQX0xFQUZfQU5EX0NIQUlOX1BPTElDWSkgeworLSAgICAgICAgICAgIHJ2ID0gSlNTTF92 ZXJpZnlDZXJ0UEtJWCggcGVlckNlcnQsIGNlcnRVc2FnZSwKKysgICAgICAgICAgICBydiA9IEpT U0xfdmVyaWZ5Q2VydFBLSVgoIHBlZXJDZXJ0LCBjZXJ0aWZpY2F0ZVVzYWdlLAorICAgICAgICAg ICAgICAgICAgICAgIE5VTEwgLyogcGluIGFyZyAqLywgb2NzcFBvbGljeSwgTlVMTCwgTlVMTCk7 CisgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgIHJ2ID0gQ0VSVF9WZXJpZnlDZXJ0Tm93 KENFUlRfR2V0RGVmYXVsdENlcnREQigpLCBwZWVyQ2VydCwKK0BAIC02MjQsNiArNjI3LDkgQEAg SlNTTF9KYXZhQ2VydEF1dGhDYWxsYmFjayh2b2lkICphcmcsIFBSRmlsZURlc2MgKmZkLCBQUkJv b2wgY2hlY2tTaWcsCisgICAgIGlmIChwZWVyQ2VydCA9PSBOVUxMKSBnb3RvIGZpbmlzaDsKKyAK KyAgICAgY2VydFVzYWdlID0gaXNTZXJ2ZXIgPyBjZXJ0VXNhZ2VTU0xDbGllbnQgOiBjZXJ0VXNh Z2VTU0xTZXJ2ZXI7CisrICAgIC8qIFBLSVggY2FsbCBuZWVkcyBhIFNFQ0NlcnRpZmljYXRlIHVz YWdlLCBjb252ZXJ0ICovCisrICAgIFNFQ0NlcnRpZmljYXRlVXNhZ2UgY2VydGlmaWNhdGVVc2Fn ZSA9ICAoU0VDQ2VydGlmaWNhdGVVc2FnZSkxIDw8IGNlcnRVc2FnZTsKKysKKyAKKyAgICAgLyog CisgICAgICAqIHZlcmlmeSBpdCBhZ2FpbnN0IGN1cnJlbnQgdGltZSAtIChjYW4ndCB1c2UKK0BA IC02MzIsNyArNjM4LDcgQEAgSlNTTF9KYXZhQ2VydEF1dGhDYWxsYmFjayh2b2lkICphcmcsIFBS RmlsZURlc2MgKmZkLCBQUkJvb2wgY2hlY2tTaWcsCisgICAgICAqLworIAorICAgICBpZiggb2Nz cFBvbGljeSA9PSBPQ1NQX0xFQUZfQU5EX0NIQUlOX1BPTElDWSkgeworLSAgICAgICAgdmVyaWZp Y2F0aW9uUmVzdWx0ID0gSlNTTF92ZXJpZnlDZXJ0UEtJWCggcGVlckNlcnQsIGNlcnRVc2FnZSwK KysgICAgICAgIHZlcmlmaWNhdGlvblJlc3VsdCA9IEpTU0xfdmVyaWZ5Q2VydFBLSVgoIHBlZXJD ZXJ0LCBjZXJ0aWZpY2F0ZVVzYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IE5VTEwgLyogcGluIGFyZyAqLywgb2NzcFBvbGljeSwgJmxvZywgTlVMTCk7CisgICAgICB9ICBl bHNlIHsKKyAgICAgICAgIHZlcmlmaWNhdGlvblJlc3VsdCA9IENFUlRfVmVyaWZ5Q2VydCggICBD RVJUX0dldERlZmF1bHRDZXJ0REIoKSwKK2RpZmYgLS1naXQgYS9vcmcvbW96aWxsYS9qc3Mvc3Ns L2NvbW1vbi5jIGIvb3JnL21vemlsbGEvanNzL3NzbC9jb21tb24uYworaW5kZXggYWVjODg1NTIu LmNiMjgxNzk4IDEwMDY0NAorLS0tIGEvb3JnL21vemlsbGEvanNzL3NzbC9jb21tb24uYworKysr IGIvb3JnL21vemlsbGEvanNzL3NzbC9jb21tb24uYworQEAgLTg5NCw3ICs4OTQsNyBAQCBKU1Nf U1NMX3Byb2Nlc3NFeGNlcHRpb25zKEpOSUVudiAqZW52LCBQUkZpbGVQcml2YXRlICpwcml2KQor IC8qIEdldCB0aGUgdHJ1c3RlZCBhbmNob3IgZm9yIHBraXggKi8KKyAKKyBDRVJUQ2VydGlmaWNh dGUgKiBnZXRSb290KENFUlRDZXJ0aWZpY2F0ZSAqY2VydCwgCistICAgIFNFQ0NlcnRpZmljYXRl VXNhZ2UgY2VydFVzYWdlKSAKKysgICAgU0VDQ2VydFVzYWdlIGNlcnRVc2FnZSkgCisgeworICAg ICBDRVJUQ2VydGlmaWNhdGUgICpyb290ID0gTlVMTDsKKyAgICAgQ0VSVENlcnRMaXN0Tm9kZSAq bm9kZSA9IE5VTEw7CitAQCAtOTM2LDcgKzkzNiw3IEBAIENFUlRDZXJ0aWZpY2F0ZSAqIGdldFJv b3QoQ0VSVENlcnRpZmljYXRlICpjZXJ0LAorICAqLworIAorIFNFQ1N0YXR1cyBKU1NMX3Zlcmlm eUNlcnRQS0lYKENFUlRDZXJ0aWZpY2F0ZSAqY2VydCwKKy0gICAgICBTRUNDZXJ0aWZpY2F0ZVVz YWdlIGNlcnRVc2FnZSxzZWN1UFdEYXRhICpwd2RhdGEsIGludCBvY3NwUG9saWN5LAorKyAgICAg IFNFQ0NlcnRpZmljYXRlVXNhZ2UgY2VydGlmaWNhdGVVc2FnZSxzZWN1UFdEYXRhICpwd2RhdGEs IGludCBvY3NwUG9saWN5LAorICAgICAgIENFUlRWZXJpZnlMb2cgKmxvZywgU0VDQ2VydGlmaWNh dGVVc2FnZSAqdXNhZ2UpIAorIHsKKyAKK0BAIC05OTMsNiArOTkzLDggQEAgU0VDU3RhdHVzIEpT U0xfdmVyaWZ5Q2VydFBLSVgoQ0VSVENlcnRpZmljYXRlICpjZXJ0LAorIAorICAgICBQUkJvb2wg ZmV0Y2hDZXJ0cyA9IFBSX0ZBTFNFOworIAorKyAgICBTRUNDZXJ0VXNhZ2UgY2VydFVzYWdlID0g Y2VydFVzYWdlU1NMQ2xpZW50IC8qIDAgKi87CisrICAgIAorICAgICBTRUNTdGF0dXMgcmVzID0g IFNFQ0ZhaWx1cmU7CisgICAgIGlmKGNlcnQgPT0gTlVMTCkgeworICAgICAgICAgZ290byBmaW5p c2g7CitAQCAtMTAyNyw5ICsxMDI5LDE1IEBAIFNFQ1N0YXR1cyBKU1NMX3ZlcmlmeUNlcnRQS0lY KENFUlRDZXJ0aWZpY2F0ZSAqY2VydCwKKyAgICAgY3ZpbltpblBhcmFtSW5kZXhdLnZhbHVlLnBv aW50ZXIucmV2b2NhdGlvbiA9IHJldjsKKyAgICAgaW5QYXJhbUluZGV4Kys7CisgCistCisgICAg IC8qIGVzdGFibGlzaCB0cnVzdCBhbmNob3IgKi8KKyAKKysgICAgLyogV2UgbmVlZCB0byBjb252 ZXJ0IHRoZSBTRUNDZXJ0aWZpY2F0ZVVzYWdlIHRvIGEgU0VDQ2VydFVzYWdlIHRvIG9idGFpbgor KyAgICAgKiB0aGUgcm9vdC4KKysgICAgKi8KKysKKysgICAgU0VDQ2VydGlmaWNhdGVVc2FnZSB0 ZXN0VXNhZ2UgPSBjZXJ0aWZpY2F0ZVVzYWdlOworKyAgICB3aGlsZSAoMCAhPSAodGVzdFVzYWdl ID0gdGVzdFVzYWdlID4+IDEpKSB7IGNlcnRVc2FnZSsrOyB9CisrCisgICAgIENFUlRDZXJ0aWZp Y2F0ZSAqcm9vdCA9IGdldFJvb3QoY2VydCxjZXJ0VXNhZ2UpOworIAorICAgICAvKiBUcnkgdG8g YWRkIHRoZSByb290IGFzIHRoZSB0cnVzdCBhbmNob3Igc28gYWxsIHRoZQorQEAgLTEwNjQsNyAr MTA3Miw3IEBAIFNFQ1N0YXR1cyBKU1NMX3ZlcmlmeUNlcnRQS0lYKENFUlRDZXJ0aWZpY2F0ZSAq Y2VydCwKKyAKKyAgICAgY3ZvdXRbb3V0UGFyYW1JbmRleF0udHlwZSA9IGNlcnRfcG9fZW5kOwor IAorLSAgICByZXMgPSBDRVJUX1BLSVhWZXJpZnlDZXJ0KGNlcnQsIGNlcnRVc2FnZSwgY3Zpbiwg Y3ZvdXQsICZwd2RhdGEpOworKyAgICByZXMgPSBDRVJUX1BLSVhWZXJpZnlDZXJ0KGNlcnQsIGNl cnRpZmljYXRlVXNhZ2UsIGN2aW4sIGN2b3V0LCAmcHdkYXRhKTsKKyAKKyBmaW5pc2g6CisgICAg IC8qIGNsZWFuIHVwIGFueSB0cnVzdGVkIGNlcnQgbGlzdCAqLworQEAgLTEwNzQsOCArMTA4Miw5 IEBAIFNFQ1N0YXR1cyBKU1NMX3ZlcmlmeUNlcnRQS0lYKENFUlRDZXJ0aWZpY2F0ZSAqY2VydCwK KyAgICAgICAgIHRydXN0ZWRDZXJ0TGlzdCA9IE5VTEw7CisgICAgIH0KKyAKKysgICAgLyogQ0VS VF9EZXN0cm95Q2VydExpc3QgZGVzdHJveXMgaW50ZXJpb3IgY2VydHMgZm9yIHVzLiAqLworKwor ICAgICBpZihyb290KSB7CistICAgICAgIENFUlRfRGVzdHJveUNlcnRpZmljYXRlKHJvb3QpOwor ICAgICAgICByb290ID0gTlVMTDsKKyAgICAgfQorIAorZGlmZiAtLWdpdCBhL29yZy9tb3ppbGxh L2pzcy9zc2wvanNzbC5oIGIvb3JnL21vemlsbGEvanNzL3NzbC9qc3NsLmgKK2luZGV4IDBlOTNl ZWJlLi45MjVlMTIyNSAxMDA2NDQKKy0tLSBhL29yZy9tb3ppbGxhL2pzcy9zc2wvanNzbC5oCisr KysgYi9vcmcvbW96aWxsYS9qc3Mvc3NsL2pzc2wuaAorQEAgLTE0NSw3ICsxNDUsNyBAQCBKU1NM X2dldE9DU1BQb2xpY3koKTsKKyAKKyBTRUNTdGF0dXMgCisgSlNTTF92ZXJpZnlDZXJ0UEtJWChD RVJUQ2VydGlmaWNhdGUgKmNlcnQsCistICAgICAgICAgICAgICAgICAgICBTRUNDZXJ0aWZpY2F0 ZVVzYWdlIGNlcnRVc2FnZSwKKysgICAgICAgICAgICAgICAgICAgIFNFQ0NlcnRpZmljYXRlVXNh Z2UgY2VydGlmaWNhdGVVc2FnZSwKKyAgICAgICAgICAgICAgICAgICAgIHNlY3VQV0RhdGEgKnB3 ZGF0YSwgaW50IG9jc3BQb2xpY3ksCisgICAgICAgICAgICAgICAgICAgICBDRVJUVmVyaWZ5TG9n ICpsb2csU0VDQ2VydGlmaWNhdGVVc2FnZSAqdXNhZ2UpOworIAoKZGlmZiAtLWdpdCBhL2pzcy5z cGVjIGIvanNzLnNwZWMKaW5kZXggNTBmM2UzNi4uM2YxMDNlZCAxMDA2NDQKLS0tIGEvanNzLnNw ZWMKKysrIGIvanNzLnNwZWMKQEAgLTcsNyArNyw3IEBAIFVSTDogICAgICAgICAgICBodHRwOi8v d3d3LmRvZ3RhZ3BraS5vcmcvd2lraS9KU1MKIExpY2Vuc2U6ICAgICAgICBNUEx2MS4xIG9yIEdQ THYyKyBvciBMR1BMdjIrCiAKIFZlcnNpb246ICAgICAgICA0LjUuMwotUmVsZWFzZTogICAgICAg IDElez9fdGltZXN0YW1wfSV7P19jb21taXRfaWR9JXs/ZGlzdH0KK1JlbGVhc2U6ICAgICAgICAy JXs/X3RpbWVzdGFtcH0lez9fY29tbWl0X2lkfSV7P2Rpc3R9CiAjIGdsb2JhbCAgICAgICAgIF9w aGFzZSAtYTEKIAogIyBUbyBnZW5lcmF0ZSB0aGUgc291cmNlIHRhcmJhbGw6CkBAIC0yNiw2ICsy Niw4IEBAIFNvdXJjZTogICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vZG9ndGFncGtpLyV7bmFt ZX0vYXJjaGl2ZS92JXt2ZXJzaW9ufSV7P19waGFzCiAjICAgICA8dmVyc2lvbiB0YWc+IFwKICMg ICAgID4ganNzLVZFUlNJT04tUkVMRUFTRS5wYXRjaAogIyBQYXRjaDoganNzLVZFUlNJT04tUkVM RUFTRS5wYXRjaAorUGF0Y2gwOiBqc3MtYWlhLW9jc3AtMS5wYXRjaAorUGF0Y2gxOiBqc3MtYWlh LW9jc3AtMi5wYXRjaAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyBCdWlsZCBEZXBlbmRl bmNpZXMKQEAgLTE1Niw2ICsxNTgsOSBAQCBjcCAtcCAqLnR4dCAkUlBNX0JVSUxEX1JPT1Qle19q YXZhZG9jZGlyfS8le25hbWV9LSV7dmVyc2lvbn0KIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK ICVjaGFuZ2Vsb2cKKyogTW9uIE1heSAwNiAyMDE5IERvZ3RhZyBQS0kgVGVhbSA8cGtpLWRldmVs QHJlZGhhdC5jb20+IC0gNC41LjMtMgorLSBBZGQgQUlBIE9DU1AgY2VydGlmaWNhdGUgY2hlY2tp bmcgcGF0Y2gKKwogKiBUdWUgTWFyIDE5IDIwMTkgRG9ndGFnIFBLSSBUZWFtIDxwa2ktZGV2ZWxA cmVkaGF0LmNvbT4gLSA0LjUuMy0xCiAtIFJlYmFzZSB0byBKU1MgNC41LjMKIAo=