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: Michael Catanzaro To: git-commits@fedoraproject.org Subject: [rpms/glib2] cve-2026-58016-f44: Add patch for CVE-2020-6750 and related issues. Date: Tue, 11 Aug 2026 10:36:56 GMT Message-ID: <178644461650.1.15255440742089569536.rpms-glib2-fdfddfe8049a@fedoraproject.org> List-ID: X-Git-Repo: rpms/glib2 X-Git-Branch: cve-2026-58016-f44 X-Git-Rev: fdfddfe8049ab4abb184d75794de3e612512cb5d QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2xpYjIKQnJhbmNo IDogY3ZlLTIwMjYtNTgwMTYtZjQ0CkNvbW1pdCA6IGZkZmRkZmU4MDQ5YWI0YWJiMTg0ZDc1Nzk0 ZGUzZTYxMjUxMmNiNWQKQXV0aG9yIDogTWljaGFlbCBDYXRhbnphcm8gPG1jYXRhbnphcm9AZ25v bWUub3JnPgpEYXRlICAgOiAyMDIwLTAyLTA3VDE1OjA5OjIyLTA2OjAwClN0YXRzICA6ICs3NDEv LTEgaW4gMiBmaWxlKHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3Jw bXMvZ2xpYjIvYy9mZGZkZGZlODA0OWFiNGFiYjE4NGQ3NTc5NGRlM2U2MTI1MTJjYjVkP2JyYW5j aD1jdmUtMjAyNi01ODAxNi1mNDQKCkxvZzoKQWRkIHBhdGNoIGZvciBDVkUtMjAyMC02NzUwIGFu ZCByZWxhdGVkIGlzc3Vlcy4KCi0tLQpkaWZmIC0tZ2l0IGEvQ1ZFLTIwMjAtNjc1MC5wYXRjaCBi L0NWRS0yMDIwLTY3NTAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u MjRlYzViYQotLS0gL2Rldi9udWxsCisrKyBiL0NWRS0yMDIwLTY3NTAucGF0Y2gKQEAgLTAsMCAr MSw3MzQgQEAKK0Zyb20gZDRmY2Y5MTQ2MDY5NmIwOWJiMmI1NWMzNTJhMDIzZjZkZDcxYzdmZSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFBhdHJpY2sgR3JpZmZpcyA8dGluZ3BpbmdA dGluZ3Bpbmcuc2U+CitEYXRlOiBUaHUsIDIzIEphbiAyMDIwIDE5OjU4OjQxIC0wODAwCitTdWJq ZWN0OiBbUEFUQ0hdIFJlZmFjdG9yIGdfc29ja2V0X2NsaWVudF9jb25uZWN0X2FzeW5jKCkKKwor VGhpcyBpcyBhIGZhaXJseSBsYXJnZSByZWZhY3RvcmluZy4gVGhlIGhpZ2hsaWdodHMgYXJlOgor CistIFJlbW92aW5nIGluLXByb2dyZXNzIGNvbm5lY3Rpb25zL2FkZHJlc3NlcyBmcm9tIEdTb2Nr ZXRDbGllbnRBc3luY0Nvbm5lY3REYXRhOgorCisgIFRoaXMgY2F1c2VkIGlzc3VlcyB3aGVyZSBt dWx0aXBsZSBDb25uZWN0aW9uQXR0ZW1wdCdzIHdvdWxkIHN0ZXAgb3ZlciBlYWNob3RoZXIKKyAg YW5kIG1vZGlmeSBzaGFyZWQgc3RhdGUgY2F1c2luZyBidWdzIGxpa2UgYWNjaWRlbnRhbGx5IGJ5 cGFzc2luZyBhIHNldCBwcm94eS4KKworICBGaXhlcyAjMTg3MQorICBGaXhlcyAjMTk4OQorICBG aXhlcyAjMTkwMgorCistIENhbmNlbGxpbmcgYWRkcmVzcyBlbnVtZXJhdGlvbiBvbiBlcnJvci9j b21wbGV0aW9uCisKKy0gUXVldWluZyBzdWNjZXNzZnVsIFRDUCBjb25uZWN0aW9ucyBhbmQgZG9p bmcgYXBwbGljYXRpb24gbGF5ZXIgd29yayBzZXJpYWxseToKKworICBUaGlzIGlzIG1vcmUgaW4g dGhlIHNwaXJpdCBvZiBIYXBweSBFeWViYWxscyBidXQgaXQgYWxzbyBncmVhdGx5IHNpbXBsaWZp ZXMKKyAgdGhlIGZsb3cgb2YgY29ubmVjdGlvbiBoYW5kbGluZyBzbyBmZXdlciB0YXNrcyBhcmUg aGFwcGVuaW5nIGluIHBhcmFsbGVsCisgIHdoZW4gdGhleSBkb24ndCBuZWVkIHRvIGJlLgorCisg IFRoZSBiZWhhdmlvciBhbHNvIHNob3VsZCBtb3JlIGNsb3NlbHkgbWF0Y2ggdGhhdCBvZiBnX3Nv Y2tldF9jbGllbnRfY29ubmVjdCgpLgorCistIEJldHRlciB0cmFjayB0aGUgc3RhdGUgb2YgYWRk cmVzcyBlbnVtZXJhdGlvbjoKKworICBQcmV2aW91c2x5IHdlIHdlcmUgb3ZlciBlYWdlciB0byB0 cmVhdCBlbnVtZXJhdGlvbiBmaW5pc2hpbmcgYXMgYW4gZXJyb3IuCisKKyAgRml4ZXMgIzE4NzIK KyAgU2VlIGFsc28gIzE5ODIKKworLSBBZGQgbW9yZSBkZXRhaWxlZCBkb2N1bWVudGF0aW9uIGFu ZCBsb2dnaW5nLgorCitDbG9zZXMgIzE5OTUKKy0tLQorIGdpby9nc29ja2V0Y2xpZW50LmMgfCA0 NTkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUg Y2hhbmdlZCwgMjk2IGluc2VydGlvbnMoKyksIDE2MyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdp dCBhL2dpby9nc29ja2V0Y2xpZW50LmMgYi9naW8vZ3NvY2tldGNsaWVudC5jCitpbmRleCA4MTcy MTc5NWIuLmM5OTQzMzA5YyAxMDA2NDQKKy0tLSBhL2dpby9nc29ja2V0Y2xpZW50LmMKKysrKyBi L2dpby9nc29ja2V0Y2xpZW50LmMKK0BAIC0xMzM3LDEzICsxMzM3LDE1IEBAIHR5cGVkZWYgc3Ry dWN0CisgCisgICBHU29ja2V0Q29ubmVjdGFibGUgKmNvbm5lY3RhYmxlOworICAgR1NvY2tldEFk ZHJlc3NFbnVtZXJhdG9yICplbnVtZXJhdG9yOworLSAgR1Byb3h5QWRkcmVzcyAqcHJveHlfYWRk cjsKKy0gIEdTb2NrZXQgKnNvY2tldDsKKy0gIEdJT1N0cmVhbSAqY29ubmVjdGlvbjsKKysgIEdD YW5jZWxsYWJsZSAqZW51bWVyYXRpb25fY2FuY2VsbGFibGU7CisgCisgICBHU0xpc3QgKmNvbm5l Y3Rpb25fYXR0ZW1wdHM7CisrICBHU0xpc3QgKnN1Y2Nlc3NmdWxfY29ubmVjdGlvbnM7CisgICBH RXJyb3IgKmxhc3RfZXJyb3I7CisgCisrICBnYm9vbGVhbiBlbnVtZXJhdGVkX2F0X2xlYXN0X29u Y2U7CisrICBnYm9vbGVhbiBlbnVtZXJhdGlvbl9jb21wbGV0ZWQ7CisrICBnYm9vbGVhbiBjb25u ZWN0aW9uX2luX3Byb2dyZXNzOworICAgZ2Jvb2xlYW4gY29tcGxldGVkOworIH0gR1NvY2tldENs aWVudEFzeW5jQ29ubmVjdERhdGE7CisgCitAQCAtMTM1NSwxMCArMTM1Nyw5IEBAIGdfc29ja2V0 X2NsaWVudF9hc3luY19jb25uZWN0X2RhdGFfZnJlZSAoR1NvY2tldENsaWVudEFzeW5jQ29ubmVj dERhdGEgKmRhdGEpCisgICBkYXRhLT50YXNrID0gTlVMTDsKKyAgIGdfY2xlYXJfb2JqZWN0ICgm ZGF0YS0+Y29ubmVjdGFibGUpOworICAgZ19jbGVhcl9vYmplY3QgKCZkYXRhLT5lbnVtZXJhdG9y KTsKKy0gIGdfY2xlYXJfb2JqZWN0ICgmZGF0YS0+cHJveHlfYWRkcik7CistICBnX2NsZWFyX29i amVjdCAoJmRhdGEtPnNvY2tldCk7CistICBnX2NsZWFyX29iamVjdCAoJmRhdGEtPmNvbm5lY3Rp b24pOworKyAgZ19jbGVhcl9vYmplY3QgKCZkYXRhLT5lbnVtZXJhdGlvbl9jYW5jZWxsYWJsZSk7 CisgICBnX3NsaXN0X2ZyZWVfZnVsbCAoZGF0YS0+Y29ubmVjdGlvbl9hdHRlbXB0cywgY29ubmVj dGlvbl9hdHRlbXB0X3VucmVmKTsKKysgIGdfc2xpc3RfZnJlZV9mdWxsIChkYXRhLT5zdWNjZXNz ZnVsX2Nvbm5lY3Rpb25zLCBjb25uZWN0aW9uX2F0dGVtcHRfdW5yZWYpOworIAorICAgZ19jbGVh cl9lcnJvciAoJmRhdGEtPmxhc3RfZXJyb3IpOworIAorQEAgLTEzNzAsNiArMTM3MSw3IEBAIHR5 cGVkZWYgc3RydWN0CisgICBHU29ja2V0QWRkcmVzcyAqYWRkcmVzczsKKyAgIEdTb2NrZXQgKnNv Y2tldDsKKyAgIEdJT1N0cmVhbSAqY29ubmVjdGlvbjsKKysgIEdQcm94eUFkZHJlc3MgKnByb3h5 X2FkZHI7CisgICBHU29ja2V0Q2xpZW50QXN5bmNDb25uZWN0RGF0YSAqZGF0YTsgLyogdW5vd25l ZCAqLworICAgR1NvdXJjZSAqdGltZW91dF9zb3VyY2U7CisgICBHQ2FuY2VsbGFibGUgKmNhbmNl bGxhYmxlOworQEAgLTE0MDEsNiArMTQwMyw3IEBAIGNvbm5lY3Rpb25fYXR0ZW1wdF91bnJlZiAo Z3BvaW50ZXIgcG9pbnRlcikKKyAgICAgICBnX2NsZWFyX29iamVjdCAoJmF0dGVtcHQtPnNvY2tl dCk7CisgICAgICAgZ19jbGVhcl9vYmplY3QgKCZhdHRlbXB0LT5jb25uZWN0aW9uKTsKKyAgICAg ICBnX2NsZWFyX29iamVjdCAoJmF0dGVtcHQtPmNhbmNlbGxhYmxlKTsKKysgICAgICBnX2NsZWFy X29iamVjdCAoJmF0dGVtcHQtPnByb3h5X2FkZHIpOworICAgICAgIGlmIChhdHRlbXB0LT50aW1l b3V0X3NvdXJjZSkKKyAgICAgICAgIHsKKyAgICAgICAgICAgZ19zb3VyY2VfZGVzdHJveSAoYXR0 ZW1wdC0+dGltZW91dF9zb3VyY2UpOworQEAgLTE0MTgsMzcgKzE0MjEsNTkgQEAgY29ubmVjdGlv bl9hdHRlbXB0X3JlbW92ZSAoQ29ubmVjdGlvbkF0dGVtcHQgKmF0dGVtcHQpCisgfQorIAorIHN0 YXRpYyB2b2lkCistZ19zb2NrZXRfY2xpZW50X2FzeW5jX2Nvbm5lY3RfY29tcGxldGUgKEdTb2Nr ZXRDbGllbnRBc3luY0Nvbm5lY3REYXRhICpkYXRhKQorK2NhbmNlbF9hbGxfYXR0ZW1wdHMgKEdT b2NrZXRDbGllbnRBc3luY0Nvbm5lY3REYXRhICpkYXRhKQorIHsKKy0gIGdfYXNzZXJ0IChkYXRh LT5jb25uZWN0aW9uKTsKKysgIEdTTGlzdCAqbDsKKyAKKy0gIGlmICghR19JU19TT0NLRVRfQ09O TkVDVElPTiAoZGF0YS0+Y29ubmVjdGlvbikpCisrICBmb3IgKGwgPSBkYXRhLT5jb25uZWN0aW9u X2F0dGVtcHRzOyBsOyBsID0gZ19zbGlzdF9uZXh0IChsKSkKKyAgICAgeworLSAgICAgIEdTb2Nr ZXRDb25uZWN0aW9uICp3cmFwcGVyX2Nvbm5lY3Rpb247CistCistICAgICAgd3JhcHBlcl9jb25u ZWN0aW9uID0gZ190Y3Bfd3JhcHBlcl9jb25uZWN0aW9uX25ldyAoZGF0YS0+Y29ubmVjdGlvbiwg ZGF0YS0+c29ja2V0KTsKKy0gICAgICBnX29iamVjdF91bnJlZiAoZGF0YS0+Y29ubmVjdGlvbik7 CistICAgICAgZGF0YS0+Y29ubmVjdGlvbiA9IChHSU9TdHJlYW0gKil3cmFwcGVyX2Nvbm5lY3Rp b247CisrICAgICAgQ29ubmVjdGlvbkF0dGVtcHQgKmF0dGVtcHRfZW50cnkgPSBsLT5kYXRhOwor KyAgICAgIGdfY2FuY2VsbGFibGVfY2FuY2VsIChhdHRlbXB0X2VudHJ5LT5jYW5jZWxsYWJsZSk7 CisrICAgICAgY29ubmVjdGlvbl9hdHRlbXB0X3VucmVmIChhdHRlbXB0X2VudHJ5KTsKKyAgICAg fQorKyAgZ19zbGlzdF9mcmVlIChkYXRhLT5jb25uZWN0aW9uX2F0dGVtcHRzKTsKKysgIGRhdGEt PmNvbm5lY3Rpb25fYXR0ZW1wdHMgPSBOVUxMOworIAorLSAgaWYgKCFkYXRhLT5jb21wbGV0ZWQp CisrICBnX3NsaXN0X2ZyZWVfZnVsbCAoZGF0YS0+c3VjY2Vzc2Z1bF9jb25uZWN0aW9ucywgY29u bmVjdGlvbl9hdHRlbXB0X3VucmVmKTsKKysgIGRhdGEtPnN1Y2Nlc3NmdWxfY29ubmVjdGlvbnMg PSBOVUxMOworKworKyAgZ19jYW5jZWxsYWJsZV9jYW5jZWwgKGRhdGEtPmVudW1lcmF0aW9uX2Nh bmNlbGxhYmxlKTsKKyt9CisrCisrc3RhdGljIHZvaWQKKytnX3NvY2tldF9jbGllbnRfYXN5bmNf Y29ubmVjdF9jb21wbGV0ZSAoQ29ubmVjdGlvbkF0dGVtcHQgKmF0dGVtcHQpCisreworKyAgR1Nv Y2tldENsaWVudEFzeW5jQ29ubmVjdERhdGEgKmRhdGEgPSBhdHRlbXB0LT5kYXRhOworKyAgR0Vy cm9yICplcnJvciA9IE5VTEw7CisrICBnX2Fzc2VydCAoYXR0ZW1wdC0+Y29ubmVjdGlvbik7Cisr ICBnX2Fzc2VydCAoIWRhdGEtPmNvbXBsZXRlZCk7CisrCisrICBpZiAoIUdfSVNfU09DS0VUX0NP Tk5FQ1RJT04gKGF0dGVtcHQtPmNvbm5lY3Rpb24pKQorICAgICB7CistICAgICAgR0Vycm9yICpl cnJvciA9IE5VTEw7CisrICAgICAgR1NvY2tldENvbm5lY3Rpb24gKndyYXBwZXJfY29ubmVjdGlv bjsKKyAKKy0gICAgICBpZiAoZ19jYW5jZWxsYWJsZV9zZXRfZXJyb3JfaWZfY2FuY2VsbGVkIChn X3Rhc2tfZ2V0X2NhbmNlbGxhYmxlIChkYXRhLT50YXNrKSwgJmVycm9yKSkKKy0gICAgICAgIHsK Ky0gICAgICAgICAgZ19zb2NrZXRfY2xpZW50X2VtaXRfZXZlbnQgKGRhdGEtPmNsaWVudCwgR19T T0NLRVRfQ0xJRU5UX0NPTVBMRVRFLCBkYXRhLT5jb25uZWN0YWJsZSwgTlVMTCk7CistICAgICAg ICAgIGdfdGFza19yZXR1cm5fZXJyb3IgKGRhdGEtPnRhc2ssIGdfc3RlYWxfcG9pbnRlciAoJmVy cm9yKSk7CistICAgICAgICB9CistICAgICAgZWxzZQorLSAgICAgICAgeworLSAgICAgICAgICBn X3NvY2tldF9jbGllbnRfZW1pdF9ldmVudCAoZGF0YS0+Y2xpZW50LCBHX1NPQ0tFVF9DTElFTlRf Q09NUExFVEUsIGRhdGEtPmNvbm5lY3RhYmxlLCBkYXRhLT5jb25uZWN0aW9uKTsKKy0gICAgICAg ICAgZ190YXNrX3JldHVybl9wb2ludGVyIChkYXRhLT50YXNrLCBnX3N0ZWFsX3BvaW50ZXIgKCZk YXRhLT5jb25uZWN0aW9uKSwgZ19vYmplY3RfdW5yZWYpOworLSAgICAgICAgfQorKyAgICAgIHdy YXBwZXJfY29ubmVjdGlvbiA9IGdfdGNwX3dyYXBwZXJfY29ubmVjdGlvbl9uZXcgKGF0dGVtcHQt PmNvbm5lY3Rpb24sIGF0dGVtcHQtPnNvY2tldCk7CisrICAgICAgZ19vYmplY3RfdW5yZWYgKGF0 dGVtcHQtPmNvbm5lY3Rpb24pOworKyAgICAgIGF0dGVtcHQtPmNvbm5lY3Rpb24gPSAoR0lPU3Ry ZWFtICopd3JhcHBlcl9jb25uZWN0aW9uOworKyAgICB9CisgCistICAgICAgZGF0YS0+Y29tcGxl dGVkID0gVFJVRTsKKysgIGRhdGEtPmNvbXBsZXRlZCA9IFRSVUU7CisrICBjYW5jZWxfYWxsX2F0 dGVtcHRzIChkYXRhKTsKKysKKysgIGlmIChnX2NhbmNlbGxhYmxlX3NldF9lcnJvcl9pZl9jYW5j ZWxsZWQgKGdfdGFza19nZXRfY2FuY2VsbGFibGUgKGRhdGEtPnRhc2spLCAmZXJyb3IpKQorKyAg ICB7CisrICAgICAgZ19kZWJ1ZyAoIkdTb2NrZXRDbGllbnQ6IENvbm5lY3Rpb24gY2FuY2VsbGVk ISIpOworKyAgICAgIGdfc29ja2V0X2NsaWVudF9lbWl0X2V2ZW50IChkYXRhLT5jbGllbnQsIEdf U09DS0VUX0NMSUVOVF9DT01QTEVURSwgZGF0YS0+Y29ubmVjdGFibGUsIE5VTEwpOworKyAgICAg IGdfdGFza19yZXR1cm5fZXJyb3IgKGRhdGEtPnRhc2ssIGdfc3RlYWxfcG9pbnRlciAoJmVycm9y KSk7CisrICAgIH0KKysgIGVsc2UKKysgICAgeworKyAgICAgIGdfZGVidWcgKCJHU29ja2V0Q2xp ZW50OiBDb25uZWN0aW9uIHN1Y2Nlc3NmdWwhIik7CisrICAgICAgZ19zb2NrZXRfY2xpZW50X2Vt aXRfZXZlbnQgKGRhdGEtPmNsaWVudCwgR19TT0NLRVRfQ0xJRU5UX0NPTVBMRVRFLCBkYXRhLT5j b25uZWN0YWJsZSwgYXR0ZW1wdC0+Y29ubmVjdGlvbik7CisrICAgICAgZ190YXNrX3JldHVybl9w b2ludGVyIChkYXRhLT50YXNrLCBnX3N0ZWFsX3BvaW50ZXIgKCZhdHRlbXB0LT5jb25uZWN0aW9u KSwgZ19vYmplY3RfdW5yZWYpOworICAgICB9CisgCisrICBjb25uZWN0aW9uX2F0dGVtcHRfdW5y ZWYgKGF0dGVtcHQpOworICAgZ19vYmplY3RfdW5yZWYgKGRhdGEtPnRhc2spOworIH0KKyAKK0BA IC0xNDcwLDU5ICsxNDk1LDYzIEBAIHN0YXRpYyB2b2lkCisgZW51bWVyYXRvcl9uZXh0X2FzeW5j IChHU29ja2V0Q2xpZW50QXN5bmNDb25uZWN0RGF0YSAqZGF0YSwKKyAgICAgICAgICAgICAgICAg ICAgICAgIGdib29sZWFuICAgICAgICAgICAgICAgICAgICAgICBhZGRfdGFza19yZWYpCisgewor LSAgLyogV2UgbmVlZCB0byBjbGVhbnVwIHRoZSBzdGF0ZSAqLworLSAgZ19jbGVhcl9vYmplY3Qg KCZkYXRhLT5zb2NrZXQpOworLSAgZ19jbGVhcl9vYmplY3QgKCZkYXRhLT5wcm94eV9hZGRyKTsK Ky0gIGdfY2xlYXJfb2JqZWN0ICgmZGF0YS0+Y29ubmVjdGlvbik7CistCisgICAvKiBFYWNoIGVu dW1lcmF0aW9uIHRha2VzIGEgcmVmLiBUaGlzIGFyZyBqdXN0IGF2b2lkcyByZXBlYXRlZCB1bnJl ZnMgd2hlbgorICAgICAgYW4gZW51bWVyYXRpb24gc3RhcnRzIGFub3RoZXIgZW51bWVyYXRpb24g Ki8KKyAgIGlmIChhZGRfdGFza19yZWYpCisgICAgIGdfb2JqZWN0X3JlZiAoZGF0YS0+dGFzayk7 CisgCisgICBnX3NvY2tldF9jbGllbnRfZW1pdF9ldmVudCAoZGF0YS0+Y2xpZW50LCBHX1NPQ0tF VF9DTElFTlRfUkVTT0xWSU5HLCBkYXRhLT5jb25uZWN0YWJsZSwgTlVMTCk7CisrICBnX2RlYnVn ICgiR1NvY2tldENsaWVudDogU3RhcnRpbmcgbmV3IGFkZHJlc3MgZW51bWVyYXRpb24iKTsKKyAg IGdfc29ja2V0X2FkZHJlc3NfZW51bWVyYXRvcl9uZXh0X2FzeW5jIChkYXRhLT5lbnVtZXJhdG9y LAorLQkJCQkJICBnX3Rhc2tfZ2V0X2NhbmNlbGxhYmxlIChkYXRhLT50YXNrKSwKKysJCQkJCSAg ZGF0YS0+ZW51bWVyYXRpb25fY2FuY2VsbGFibGUsCisgCQkJCQkgIGdfc29ja2V0X2NsaWVudF9l bnVtZXJhdG9yX2NhbGxiYWNrLAorIAkJCQkJICBkYXRhKTsKKyB9CisgCisrc3RhdGljIHZvaWQg dHJ5X25leHRfY29ubmVjdGlvbl9vcl9maW5pc2ggKEdTb2NrZXRDbGllbnRBc3luY0Nvbm5lY3RE YXRhICosIGdib29sZWFuKTsKKysKKyBzdGF0aWMgdm9pZAorIGdfc29ja2V0X2NsaWVudF90bHNf aGFuZHNoYWtlX2NhbGxiYWNrIChHT2JqZWN0ICAgICAgKm9iamVjdCwKKyAJCQkJCUdBc3luY1Jl c3VsdCAqcmVzdWx0LAorIAkJCQkJZ3BvaW50ZXIgICAgICB1c2VyX2RhdGEpCisgeworLSAgR1Nv Y2tldENsaWVudEFzeW5jQ29ubmVjdERhdGEgKmRhdGEgPSB1c2VyX2RhdGE7CisrICBDb25uZWN0 aW9uQXR0ZW1wdCAqYXR0ZW1wdCA9IHVzZXJfZGF0YTsKKysgIEdTb2NrZXRDbGllbnRBc3luY0Nv bm5lY3REYXRhICpkYXRhID0gYXR0ZW1wdC0+ZGF0YTsKKyAKKyAgIGlmIChnX3Rsc19jb25uZWN0 aW9uX2hhbmRzaGFrZV9maW5pc2ggKEdfVExTX0NPTk5FQ1RJT04gKG9iamVjdCksCisgCQkJCQkg cmVzdWx0LAorIAkJCQkJICZkYXRhLT5sYXN0X2Vycm9yKSkKKyAgICAgeworLSAgICAgIGdfb2Jq ZWN0X3VucmVmIChkYXRhLT5jb25uZWN0aW9uKTsKKy0gICAgICBkYXRhLT5jb25uZWN0aW9uID0g R19JT19TVFJFQU0gKG9iamVjdCk7CisrICAgICAgZ19vYmplY3RfdW5yZWYgKGF0dGVtcHQtPmNv bm5lY3Rpb24pOworKyAgICAgIGF0dGVtcHQtPmNvbm5lY3Rpb24gPSBHX0lPX1NUUkVBTSAob2Jq ZWN0KTsKKyAKKy0gICAgICBnX3NvY2tldF9jbGllbnRfZW1pdF9ldmVudCAoZGF0YS0+Y2xpZW50 LCBHX1NPQ0tFVF9DTElFTlRfVExTX0hBTkRTSEFLRUQsIGRhdGEtPmNvbm5lY3RhYmxlLCBkYXRh LT5jb25uZWN0aW9uKTsKKy0gICAgICBnX3NvY2tldF9jbGllbnRfYXN5bmNfY29ubmVjdF9jb21w bGV0ZSAoZGF0YSk7CisrICAgICAgZ19kZWJ1ZyAoIkdTb2NrZXRDbGllbnQ6IFRMUyBoYW5kc2hh a2Ugc3VjY2VlZGVkIik7CisrICAgICAgZ19zb2NrZXRfY2xpZW50X2VtaXRfZXZlbnQgKGRhdGEt PmNsaWVudCwgR19TT0NLRVRfQ0xJRU5UX1RMU19IQU5EU0hBS0VELCBkYXRhLT5jb25uZWN0YWJs ZSwgYXR0ZW1wdC0+Y29ubmVjdGlvbik7CisrICAgICAgZ19zb2NrZXRfY2xpZW50X2FzeW5jX2Nv bm5lY3RfY29tcGxldGUgKGF0dGVtcHQpOworICAgICB9CisgICBlbHNlCisgICAgIHsKKyAgICAg ICBnX29iamVjdF91bnJlZiAob2JqZWN0KTsKKy0gICAgICBlbnVtZXJhdG9yX25leHRfYXN5bmMg KGRhdGEsIEZBTFNFKTsKKysgICAgICBjb25uZWN0aW9uX2F0dGVtcHRfdW5yZWYgKGF0dGVtcHQp OworKyAgICAgIGdfZGVidWcgKCJHU29ja2V0Q2xpZW50OiBUTFMgaGFuZHNoYWtlIGZhaWxlZDog JXMiLCBkYXRhLT5sYXN0X2Vycm9yLT5tZXNzYWdlKTsKKysgICAgICB0cnlfbmV4dF9jb25uZWN0 aW9uX29yX2ZpbmlzaCAoZGF0YSwgVFJVRSk7CisgICAgIH0KKyB9CisgCisgc3RhdGljIHZvaWQK Ky1nX3NvY2tldF9jbGllbnRfdGxzX2hhbmRzaGFrZSAoR1NvY2tldENsaWVudEFzeW5jQ29ubmVj dERhdGEgKmRhdGEpCisrZ19zb2NrZXRfY2xpZW50X3Rsc19oYW5kc2hha2UgKENvbm5lY3Rpb25B dHRlbXB0ICphdHRlbXB0KQorIHsKKysgIEdTb2NrZXRDbGllbnRBc3luY0Nvbm5lY3REYXRhICpk YXRhID0gYXR0ZW1wdC0+ZGF0YTsKKyAgIEdJT1N0cmVhbSAqdGxzY29ubjsKKyAKKyAgIGlmICgh ZGF0YS0+Y2xpZW50LT5wcml2LT50bHMpCisgICAgIHsKKy0gICAgICBnX3NvY2tldF9jbGllbnRf YXN5bmNfY29ubmVjdF9jb21wbGV0ZSAoZGF0YSk7CisrICAgICAgZ19zb2NrZXRfY2xpZW50X2Fz eW5jX2Nvbm5lY3RfY29tcGxldGUgKGF0dGVtcHQpOworICAgICAgIHJldHVybjsKKyAgICAgfQor IAorLSAgdGxzY29ubiA9IGdfdGxzX2NsaWVudF9jb25uZWN0aW9uX25ldyAoZGF0YS0+Y29ubmVj dGlvbiwKKysgIGdfZGVidWcgKCJHU29ja2V0Q2xpZW50OiBTdGFydGluZyBUTFMgaGFuZHNoYWtl Iik7CisrICB0bHNjb25uID0gZ190bHNfY2xpZW50X2Nvbm5lY3Rpb25fbmV3IChhdHRlbXB0LT5j b25uZWN0aW9uLAorIAkJCQkJIGRhdGEtPmNvbm5lY3RhYmxlLAorIAkJCQkJICZkYXRhLT5sYXN0 X2Vycm9yKTsKKyAgIGlmICh0bHNjb25uKQorQEAgLTE1MzQsMTEgKzE1NjMsMTIgQEAgZ19zb2Nr ZXRfY2xpZW50X3Rsc19oYW5kc2hha2UgKEdTb2NrZXRDbGllbnRBc3luY0Nvbm5lY3REYXRhICpk YXRhKQorIAkJCQkJR19QUklPUklUWV9ERUZBVUxULAorIAkJCQkJZ190YXNrX2dldF9jYW5jZWxs YWJsZSAoZGF0YS0+dGFzayksCisgCQkJCQlnX3NvY2tldF9jbGllbnRfdGxzX2hhbmRzaGFrZV9j YWxsYmFjaywKKy0JCQkJCWRhdGEpOworKwkJCQkJYXR0ZW1wdCk7CisgICAgIH0KKyAgIGVsc2UK KyAgICAgeworLSAgICAgIGVudW1lcmF0b3JfbmV4dF9hc3luYyAoZGF0YSwgRkFMU0UpOworKyAg ICAgIGNvbm5lY3Rpb25fYXR0ZW1wdF91bnJlZiAoYXR0ZW1wdCk7CisrICAgICAgdHJ5X25leHRf Y29ubmVjdGlvbl9vcl9maW5pc2ggKGRhdGEsIFRSVUUpOworICAgICB9CisgfQorIAorQEAgLTE1 NDcsMjMgKzE1NzcsMzggQEAgZ19zb2NrZXRfY2xpZW50X3Byb3h5X2Nvbm5lY3RfY2FsbGJhY2sg KEdPYmplY3QgICAgICAqb2JqZWN0LAorIAkJCQkJR0FzeW5jUmVzdWx0ICpyZXN1bHQsCisgCQkJ CQlncG9pbnRlciAgICAgIHVzZXJfZGF0YSkKKyB7CistICBHU29ja2V0Q2xpZW50QXN5bmNDb25u ZWN0RGF0YSAqZGF0YSA9IHVzZXJfZGF0YTsKKysgIENvbm5lY3Rpb25BdHRlbXB0ICphdHRlbXB0 ID0gdXNlcl9kYXRhOworKyAgR1NvY2tldENsaWVudEFzeW5jQ29ubmVjdERhdGEgKmRhdGEgPSBh dHRlbXB0LT5kYXRhOworIAorLSAgZ19vYmplY3RfdW5yZWYgKGRhdGEtPmNvbm5lY3Rpb24pOwor LSAgZGF0YS0+Y29ubmVjdGlvbiA9IGdfcHJveHlfY29ubmVjdF9maW5pc2ggKEdfUFJPWFkgKG9i amVjdCksCistCQkJCQkgICAgIHJlc3VsdCwKKy0JCQkJCSAgICAgJmRhdGEtPmxhc3RfZXJyb3Ip OworLSAgaWYgKGRhdGEtPmNvbm5lY3Rpb24pCisrICBnX29iamVjdF91bnJlZiAoYXR0ZW1wdC0+ Y29ubmVjdGlvbik7CisrICBhdHRlbXB0LT5jb25uZWN0aW9uID0gZ19wcm94eV9jb25uZWN0X2Zp bmlzaCAoR19QUk9YWSAob2JqZWN0KSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICByZXN1bHQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJmRhdGEtPmxhc3RfZXJyb3IpOworKyAgaWYgKGF0dGVtcHQtPmNv bm5lY3Rpb24pCisgICAgIHsKKy0gICAgICBnX3NvY2tldF9jbGllbnRfZW1pdF9ldmVudCAoZGF0 YS0+Y2xpZW50LCBHX1NPQ0tFVF9DTElFTlRfUFJPWFlfTkVHT1RJQVRFRCwgZGF0YS0+Y29ubmVj dGFibGUsIGRhdGEtPmNvbm5lY3Rpb24pOworKyAgICAgIGdfc29ja2V0X2NsaWVudF9lbWl0X2V2 ZW50IChkYXRhLT5jbGllbnQsIEdfU09DS0VUX0NMSUVOVF9QUk9YWV9ORUdPVElBVEVELCBkYXRh LT5jb25uZWN0YWJsZSwgYXR0ZW1wdC0+Y29ubmVjdGlvbik7CisgICAgIH0KKyAgIGVsc2UKKyAg ICAgeworLSAgICAgIGVudW1lcmF0b3JfbmV4dF9hc3luYyAoZGF0YSwgRkFMU0UpOworKyAgICAg IGNvbm5lY3Rpb25fYXR0ZW1wdF91bnJlZiAoYXR0ZW1wdCk7CisrICAgICAgdHJ5X25leHRfY29u bmVjdGlvbl9vcl9maW5pc2ggKGRhdGEsIFRSVUUpOworICAgICAgIHJldHVybjsKKyAgICAgfQor IAorLSAgZ19zb2NrZXRfY2xpZW50X3Rsc19oYW5kc2hha2UgKGRhdGEpOworKyAgZ19zb2NrZXRf Y2xpZW50X3Rsc19oYW5kc2hha2UgKGF0dGVtcHQpOworK30KKysKKytzdGF0aWMgdm9pZAorK2Nv bXBsZXRlX2Nvbm5lY3Rpb25fd2l0aF9lcnJvciAoR1NvY2tldENsaWVudEFzeW5jQ29ubmVjdERh dGEgKmRhdGEsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRXJyb3IgICAgICAg ICAgICAgICAgICAgICAgICAqZXJyb3IpCisreworKyAgZ19kZWJ1ZyAoIkdTb2NrZXRDbGllbnQ6 IENvbm5lY3Rpb24gZmFpbGVkOiAlcyIsIGVycm9yLT5tZXNzYWdlKTsKKysgIGdfYXNzZXJ0ICgh ZGF0YS0+Y29tcGxldGVkKTsKKysKKysgIGdfc29ja2V0X2NsaWVudF9lbWl0X2V2ZW50IChkYXRh LT5jbGllbnQsIEdfU09DS0VUX0NMSUVOVF9DT01QTEVURSwgZGF0YS0+Y29ubmVjdGFibGUsIE5V TEwpOworKyAgZGF0YS0+Y29tcGxldGVkID0gVFJVRTsKKysgIGNhbmNlbF9hbGxfYXR0ZW1wdHMg KGRhdGEpOworKyAgZ190YXNrX3JldHVybl9lcnJvciAoZGF0YS0+dGFzaywgZXJyb3IpOworIH0K KyAKKyBzdGF0aWMgZ2Jvb2xlYW4KK0BAIC0xNTc3LDE1ICsxNjIyLDExNCBAQCB0YXNrX2NvbXBs ZXRlZF9vcl9jYW5jZWxsZWQgKEdTb2NrZXRDbGllbnRBc3luY0Nvbm5lY3REYXRhICpkYXRhKQor ICAgICByZXR1cm4gVFJVRTsKKyAgIGVsc2UgaWYgKGdfY2FuY2VsbGFibGVfc2V0X2Vycm9yX2lm X2NhbmNlbGxlZCAoY2FuY2VsbGFibGUsICZlcnJvcikpCisgICAgIHsKKy0gICAgICBnX3NvY2tl dF9jbGllbnRfZW1pdF9ldmVudCAoZGF0YS0+Y2xpZW50LCBHX1NPQ0tFVF9DTElFTlRfQ09NUExF VEUsIGRhdGEtPmNvbm5lY3RhYmxlLCBOVUxMKTsKKy0gICAgICBnX3Rhc2tfcmV0dXJuX2Vycm9y ICh0YXNrLCBnX3N0ZWFsX3BvaW50ZXIgKCZlcnJvcikpOworLSAgICAgIGRhdGEtPmNvbXBsZXRl ZCA9IFRSVUU7CisrICAgICAgY29tcGxldGVfY29ubmVjdGlvbl93aXRoX2Vycm9yIChkYXRhLCBn X3N0ZWFsX3BvaW50ZXIgKCZlcnJvcikpOworICAgICAgIHJldHVybiBUUlVFOworICAgICB9Cisg ICBlbHNlCisgICAgIHJldHVybiBGQUxTRTsKKyB9CisgCisrc3RhdGljIGdib29sZWFuCisrdHJ5 X25leHRfc3VjY2Vzc2Z1bF9jb25uZWN0aW9uIChHU29ja2V0Q2xpZW50QXN5bmNDb25uZWN0RGF0 YSAqZGF0YSkKKyt7CisrICBDb25uZWN0aW9uQXR0ZW1wdCAqYXR0ZW1wdDsKKysgIGNvbnN0IGdj aGFyICpwcm90b2NvbDsKKysgIEdQcm94eSAqcHJveHk7CisrCisrICBpZiAoZGF0YS0+Y29ubmVj dGlvbl9pbl9wcm9ncmVzcykKKysgICAgcmV0dXJuIEZBTFNFOworKworKyAgZ19hc3NlcnQgKGRh dGEtPnN1Y2Nlc3NmdWxfY29ubmVjdGlvbnMgIT0gTlVMTCk7CisrICBhdHRlbXB0ID0gZGF0YS0+ c3VjY2Vzc2Z1bF9jb25uZWN0aW9ucy0+ZGF0YTsKKysgIGdfYXNzZXJ0IChhdHRlbXB0ICE9IE5V TEwpOworKyAgZGF0YS0+c3VjY2Vzc2Z1bF9jb25uZWN0aW9ucyA9IGdfc2xpc3RfcmVtb3ZlIChk YXRhLT5zdWNjZXNzZnVsX2Nvbm5lY3Rpb25zLCBhdHRlbXB0KTsKKysgIGRhdGEtPmNvbm5lY3Rp b25faW5fcHJvZ3Jlc3MgPSBUUlVFOworKworKyAgZ19kZWJ1ZyAoIkdTb2NrZXRDbGllbnQ6IFN0 YXJ0aW5nIGFwcGxpY2F0aW9uIGxheWVyIGNvbm5lY3Rpb24iKTsKKysKKysgIGlmICghYXR0ZW1w dC0+cHJveHlfYWRkcikKKysgICAgeworKyAgICAgIGdfc29ja2V0X2NsaWVudF90bHNfaGFuZHNo YWtlIChnX3N0ZWFsX3BvaW50ZXIgKCZhdHRlbXB0KSk7CisrICAgICAgcmV0dXJuIFRSVUU7Cisr ICAgIH0KKysKKysgIHByb3RvY29sID0gZ19wcm94eV9hZGRyZXNzX2dldF9wcm90b2NvbCAoYXR0 ZW1wdC0+cHJveHlfYWRkcik7CisrCisrICAvKiBUaGUgY29ubmVjdGlvbiBzaG91bGQgbm90IGJl IGFueXRoaW5nIG90aGVyIHRoYW4gVENQLAorKyAgICogYnV0IGxldCdzIHB1dCBhIHNhZmV0eSBn dWFyZCBpbiBjYXNlCisrICAgKi8KKysgIGlmICghR19JU19UQ1BfQ09OTkVDVElPTiAoYXR0ZW1w dC0+Y29ubmVjdGlvbikpCisrICAgIHsKKysgICAgICBnX2NyaXRpY2FsICgiVHJ5aW5nIHRvIHBy b3h5IG92ZXIgbm9uLVRDUCBjb25uZWN0aW9uLCB0aGlzIGlzICIKKysgICAgICAgICAgIm1vc3Qg bGlrZWx5IGEgYnVnIGluIEdMaWIgSU8gbGlicmFyeS4iKTsKKysKKysgICAgICBnX3NldF9lcnJv cl9saXRlcmFsICgmZGF0YS0+bGFzdF9lcnJvciwKKysgICAgICAgICAgR19JT19FUlJPUiwgR19J T19FUlJPUl9OT1RfU1VQUE9SVEVELAorKyAgICAgICAgICBfKCJQcm94eWluZyBvdmVyIGEgbm9u LVRDUCBjb25uZWN0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuIikpOworKyAgICB9CisrICBlbHNlIGlm IChnX2hhc2hfdGFibGVfY29udGFpbnMgKGRhdGEtPmNsaWVudC0+cHJpdi0+YXBwX3Byb3hpZXMs IHByb3RvY29sKSkKKysgICAgeworKyAgICAgIC8qIFNpbXBseSBjb21wbGV0ZSB0aGUgY29ubmVj dGlvbiwgd2UgZG9uJ3Qgd2FudCB0byBkbyBUTFMgaGFuZHNoYWtlCisrICAgICAgICogYXMgdGhl IGFwcGxpY2F0aW9uIHByb3h5IGhhbmRsaW5nIG1heSBuZWVkIHByb3h5IGhhbmRzaGFrZSBmaXJz dCAqLworKyAgICAgIGdfc29ja2V0X2NsaWVudF9hc3luY19jb25uZWN0X2NvbXBsZXRlIChnX3N0 ZWFsX3BvaW50ZXIgKCZhdHRlbXB0KSk7CisrICAgICAgcmV0dXJuIFRSVUU7CisrICAgIH0KKysg IGVsc2UgaWYgKChwcm94eSA9IGdfcHJveHlfZ2V0X2RlZmF1bHRfZm9yX3Byb3RvY29sIChwcm90 b2NvbCkpKQorKyAgICB7CisrICAgICAgR0lPU3RyZWFtICpjb25uZWN0aW9uID0gYXR0ZW1wdC0+ Y29ubmVjdGlvbjsKKysgICAgICBHUHJveHlBZGRyZXNzICpwcm94eV9hZGRyID0gYXR0ZW1wdC0+ cHJveHlfYWRkcjsKKysKKysgICAgICBnX3NvY2tldF9jbGllbnRfZW1pdF9ldmVudCAoZGF0YS0+ Y2xpZW50LCBHX1NPQ0tFVF9DTElFTlRfUFJPWFlfTkVHT1RJQVRJTkcsIGRhdGEtPmNvbm5lY3Rh YmxlLCBhdHRlbXB0LT5jb25uZWN0aW9uKTsKKysgICAgICBnX2RlYnVnICgiR1NvY2tldENsaWVu dDogU3RhcnRpbmcgcHJveHkgY29ubmVjdGlvbiIpOworKyAgICAgIGdfcHJveHlfY29ubmVjdF9h c3luYyAocHJveHksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9uLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJveHlfYWRkciwKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGdfdGFza19nZXRfY2FuY2VsbGFibGUgKGRhdGEtPnRhc2spLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19zb2NrZXRfY2xpZW50X3Byb3h5X2Nvbm5lY3Rf Y2FsbGJhY2ssCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3N0ZWFsX3BvaW50ZXIg KCZhdHRlbXB0KSk7CisrICAgICAgZ19vYmplY3RfdW5yZWYgKHByb3h5KTsKKysgICAgICByZXR1 cm4gVFJVRTsKKysgICAgfQorKyAgZWxzZQorKyAgICB7CisrICAgICAgZ19jbGVhcl9lcnJvciAo JmRhdGEtPmxhc3RfZXJyb3IpOworKworKyAgICAgIGdfc2V0X2Vycm9yICgmZGF0YS0+bGFzdF9l cnJvciwgR19JT19FUlJPUiwgR19JT19FUlJPUl9OT1RfU1VQUE9SVEVELAorKyAgICAgICAgICBf KCJQcm94eSBwcm90b2NvbCDigJwlc+KAnSBpcyBub3Qgc3VwcG9ydGVkLiIpLAorKyAgICAgICAg ICBwcm90b2NvbCk7CisrICAgIH0KKysKKysgIGRhdGEtPmNvbm5lY3Rpb25faW5fcHJvZ3Jlc3Mg PSBGQUxTRTsKKysgIGdfY2xlYXJfcG9pbnRlciAoJmF0dGVtcHQsIGNvbm5lY3Rpb25fYXR0ZW1w dF91bnJlZik7CisrICByZXR1cm4gRkFMU0U7IC8qIEFsbCBub24tcmV0dXJuIHBhdGhzIGFyZSBm YWlsdXJlcyAqLworK30KKysKKytzdGF0aWMgdm9pZAorK3RyeV9uZXh0X2Nvbm5lY3Rpb25fb3Jf ZmluaXNoIChHU29ja2V0Q2xpZW50QXN5bmNDb25uZWN0RGF0YSAqZGF0YSwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZ2Jvb2xlYW4gICAgICAgICAgICAgICAgICAgICAgIGVuZF9j dXJyZW50X2Nvbm5lY3Rpb24pCisreworKyAgaWYgKGVuZF9jdXJyZW50X2Nvbm5lY3Rpb24pCisr ICAgIGRhdGEtPmNvbm5lY3Rpb25faW5fcHJvZ3Jlc3MgPSBGQUxTRTsKKysKKysgIGlmIChkYXRh LT5jb25uZWN0aW9uX2luX3Byb2dyZXNzKQorKyAgICByZXR1cm47CisrCisrICAvKiBLZWVwIHRy eWluZyBzdWNjZXNzZnVsIGNvbm5lY3Rpb25zIHVudGlsIG9uZSB3b3JrcywgZWFjaCBpdGVyYXRp b24gcG9wcyBvbmUgKi8KKysgIHdoaWxlIChkYXRhLT5zdWNjZXNzZnVsX2Nvbm5lY3Rpb25zKQor KyAgICB7CisrICAgICAgaWYgKHRyeV9uZXh0X3N1Y2Nlc3NmdWxfY29ubmVjdGlvbiAoZGF0YSkp CisrICAgICAgICByZXR1cm47CisrICAgIH0KKysKKysgIGlmICghZGF0YS0+ZW51bWVyYXRpb25f Y29tcGxldGVkKQorKyAgICB7CisrICAgICAgZW51bWVyYXRvcl9uZXh0X2FzeW5jIChkYXRhLCBG QUxTRSk7CisrICAgICAgcmV0dXJuOworKyAgICB9CisrCisrICBjb21wbGV0ZV9jb25uZWN0aW9u X3dpdGhfZXJyb3IgKGRhdGEsIGRhdGEtPmxhc3RfZXJyb3IpOworK30KKysKKyBzdGF0aWMgdm9p ZAorIGdfc29ja2V0X2NsaWVudF9jb25uZWN0ZWRfY2FsbGJhY2sgKEdPYmplY3QgICAgICAqc291 cmNlLAorIAkJCQkgICAgR0FzeW5jUmVzdWx0ICpyZXN1bHQsCitAQCAtMTU5MywxMCArMTczNyw3 IEBAIGdfc29ja2V0X2NsaWVudF9jb25uZWN0ZWRfY2FsbGJhY2sgKEdPYmplY3QgICAgICAqc291 cmNlLAorIHsKKyAgIENvbm5lY3Rpb25BdHRlbXB0ICphdHRlbXB0ID0gdXNlcl9kYXRhOworICAg R1NvY2tldENsaWVudEFzeW5jQ29ubmVjdERhdGEgKmRhdGEgPSBhdHRlbXB0LT5kYXRhOworLSAg R1NMaXN0ICpsOworICAgR0Vycm9yICplcnJvciA9IE5VTEw7CistICBHUHJveHkgKnByb3h5Owor LSAgY29uc3QgZ2NoYXIgKnByb3RvY29sOworIAorICAgaWYgKHRhc2tfY29tcGxldGVkX29yX2Nh bmNlbGxlZCAoZGF0YSkgfHwgZ19jYW5jZWxsYWJsZV9pc19jYW5jZWxsZWQgKGF0dGVtcHQtPmNh bmNlbGxhYmxlKSkKKyAgICAgeworQEAgLTE2MTgsMTEgKzE3NTksMTIgQEAgZ19zb2NrZXRfY2xp ZW50X2Nvbm5lY3RlZF9jYWxsYmFjayAoR09iamVjdCAgICAgICpzb3VyY2UsCisgICAgICAgICB7 CisgICAgICAgICAgIGNsYXJpZnlfY29ubmVjdF9lcnJvciAoZXJyb3IsIGRhdGEtPmNvbm5lY3Rh YmxlLCBhdHRlbXB0LT5hZGRyZXNzKTsKKyAgICAgICAgICAgc2V0X2xhc3RfZXJyb3IgKGRhdGEs IGVycm9yKTsKKysgICAgICAgICAgZ19kZWJ1ZyAoIkdTb2NrZXRDbGllbnQ6IENvbm5lY3Rpb24g YXR0ZW1wdCBmYWlsZWQ6ICVzIiwgZXJyb3ItPm1lc3NhZ2UpOworICAgICAgICAgICBjb25uZWN0 aW9uX2F0dGVtcHRfcmVtb3ZlIChhdHRlbXB0KTsKKy0gICAgICAgICAgZW51bWVyYXRvcl9uZXh0 X2FzeW5jIChkYXRhLCBGQUxTRSk7CisgICAgICAgICAgIGNvbm5lY3Rpb25fYXR0ZW1wdF91bnJl ZiAoYXR0ZW1wdCk7CisrICAgICAgICAgIHRyeV9uZXh0X2Nvbm5lY3Rpb25fb3JfZmluaXNoIChk YXRhLCBGQUxTRSk7CisgICAgICAgICB9CistICAgICAgZWxzZQorKyAgICAgIGVsc2UgLyogU2ls ZW50bHkgaWdub3JlIGNhbmNlbGxlZCBhdHRlbXB0cyAqLworICAgICAgICAgeworICAgICAgICAg ICBnX2NsZWFyX2Vycm9yICgmZXJyb3IpOworICAgICAgICAgICBnX29iamVjdF91bnJlZiAoZGF0 YS0+dGFzayk7CitAQCAtMTYzMiw3NCArMTc3NCwyMSBAQCBnX3NvY2tldF9jbGllbnRfY29ubmVj dGVkX2NhbGxiYWNrIChHT2JqZWN0ICAgICAgKnNvdXJjZSwKKyAgICAgICByZXR1cm47CisgICAg IH0KKyAKKy0gIGRhdGEtPnNvY2tldCA9IGdfc3RlYWxfcG9pbnRlciAoJmF0dGVtcHQtPnNvY2tl dCk7CistICBkYXRhLT5jb25uZWN0aW9uID0gZ19zdGVhbF9wb2ludGVyICgmYXR0ZW1wdC0+Y29u bmVjdGlvbik7CistCistICBmb3IgKGwgPSBkYXRhLT5jb25uZWN0aW9uX2F0dGVtcHRzOyBsOyBs ID0gZ19zbGlzdF9uZXh0IChsKSkKKy0gICAgeworLSAgICAgIENvbm5lY3Rpb25BdHRlbXB0ICph dHRlbXB0X2VudHJ5ID0gbC0+ZGF0YTsKKy0gICAgICBnX2NhbmNlbGxhYmxlX2NhbmNlbCAoYXR0 ZW1wdF9lbnRyeS0+Y2FuY2VsbGFibGUpOworLSAgICAgIGNvbm5lY3Rpb25fYXR0ZW1wdF91bnJl ZiAoYXR0ZW1wdF9lbnRyeSk7CistICAgIH0KKy0gIGdfc2xpc3RfZnJlZSAoZGF0YS0+Y29ubmVj dGlvbl9hdHRlbXB0cyk7CistICBkYXRhLT5jb25uZWN0aW9uX2F0dGVtcHRzID0gTlVMTDsKKy0g IGNvbm5lY3Rpb25fYXR0ZW1wdF91bnJlZiAoYXR0ZW1wdCk7CistCistICBnX3NvY2tldF9jb25u ZWN0aW9uX3NldF9jYWNoZWRfcmVtb3RlX2FkZHJlc3MgKChHU29ja2V0Q29ubmVjdGlvbiopZGF0 YS0+Y29ubmVjdGlvbiwgTlVMTCk7CistICBnX3NvY2tldF9jbGllbnRfZW1pdF9ldmVudCAoZGF0 YS0+Y2xpZW50LCBHX1NPQ0tFVF9DTElFTlRfQ09OTkVDVEVELCBkYXRhLT5jb25uZWN0YWJsZSwg ZGF0YS0+Y29ubmVjdGlvbik7CisrICBnX3NvY2tldF9jb25uZWN0aW9uX3NldF9jYWNoZWRfcmVt b3RlX2FkZHJlc3MgKChHU29ja2V0Q29ubmVjdGlvbiopYXR0ZW1wdC0+Y29ubmVjdGlvbiwgTlVM TCk7CisrICBnX2RlYnVnICgiR1NvY2tldENsaWVudDogVENQIGNvbm5lY3Rpb24gc3VjY2Vzc2Z1 bCIpOworKyAgZ19zb2NrZXRfY2xpZW50X2VtaXRfZXZlbnQgKGRhdGEtPmNsaWVudCwgR19TT0NL RVRfQ0xJRU5UX0NPTk5FQ1RFRCwgZGF0YS0+Y29ubmVjdGFibGUsIGF0dGVtcHQtPmNvbm5lY3Rp b24pOworIAorICAgLyogd3JvbmcsIGJ1dCBiYWNrd2FyZCBjb21wYXRpYmxlICovCistICBnX3Nv Y2tldF9zZXRfYmxvY2tpbmcgKGRhdGEtPnNvY2tldCwgVFJVRSk7CisrICBnX3NvY2tldF9zZXRf YmxvY2tpbmcgKGF0dGVtcHQtPnNvY2tldCwgVFJVRSk7CisgCistICBpZiAoIWRhdGEtPnByb3h5 X2FkZHIpCistICAgIHsKKy0gICAgICBnX3NvY2tldF9jbGllbnRfdGxzX2hhbmRzaGFrZSAoZGF0 YSk7CistICAgICAgcmV0dXJuOworLSAgICB9CistCistICBwcm90b2NvbCA9IGdfcHJveHlfYWRk cmVzc19nZXRfcHJvdG9jb2wgKGRhdGEtPnByb3h5X2FkZHIpOworLQorLSAgLyogVGhlIGNvbm5l Y3Rpb24gc2hvdWxkIG5vdCBiZSBhbnl0aGluZyBvdGhlciB0aGFuIFRDUCwKKy0gICAqIGJ1dCBs ZXQncyBwdXQgYSBzYWZldHkgZ3VhcmQgaW4gY2FzZQorKyAgLyogVGhpcyBlbmRzIHRoZSBwYXJh bGxlbCAiaGFwcHkgZXllYmFsbHMiIHBvcnRpb24gb2YgY29ubmVjdGluZy4KKysgICAgIE5vdyB0 aGF0IHdlIGhhdmUgYSBzdWNjZXNzZnVsIHRjcCBjb25uZWN0aW9uIHdlIHdpbGwgYXR0ZW1wdCB0 byBjb25uZWN0CisrICAgICBhdCB0aGUgVExTL1Byb3h5IGxheWVyLiBJZiB0aG9zZSBsYXllcnMg ZmFpbCB3ZSB3aWxsIG1vdmUgb24gdG8gdGhlIG5leHQKKysgICAgIGNvbm5lY3Rpb24uCisgICAg Ki8KKy0gIGlmICghR19JU19UQ1BfQ09OTkVDVElPTiAoZGF0YS0+Y29ubmVjdGlvbikpCistICAg IHsKKy0gICAgICBnX2NyaXRpY2FsICgiVHJ5aW5nIHRvIHByb3h5IG92ZXIgbm9uLVRDUCBjb25u ZWN0aW9uLCB0aGlzIGlzICIKKy0gICAgICAgICAgIm1vc3QgbGlrZWx5IGEgYnVnIGluIEdMaWIg SU8gbGlicmFyeS4iKTsKKy0KKy0gICAgICBnX3NldF9lcnJvcl9saXRlcmFsICgmZGF0YS0+bGFz dF9lcnJvciwKKy0gICAgICAgICAgR19JT19FUlJPUiwgR19JT19FUlJPUl9OT1RfU1VQUE9SVEVE LAorLSAgICAgICAgICBfKCJQcm94eWluZyBvdmVyIGEgbm9uLVRDUCBjb25uZWN0aW9uIGlzIG5v dCBzdXBwb3J0ZWQuIikpOworLQorLSAgICAgIGVudW1lcmF0b3JfbmV4dF9hc3luYyAoZGF0YSwg RkFMU0UpOworLSAgICB9CistICBlbHNlIGlmIChnX2hhc2hfdGFibGVfY29udGFpbnMgKGRhdGEt PmNsaWVudC0+cHJpdi0+YXBwX3Byb3hpZXMsIHByb3RvY29sKSkKKy0gICAgeworLSAgICAgIC8q IFNpbXBseSBjb21wbGV0ZSB0aGUgY29ubmVjdGlvbiwgd2UgZG9uJ3Qgd2FudCB0byBkbyBUTFMg aGFuZHNoYWtlCistICAgICAgICogYXMgdGhlIGFwcGxpY2F0aW9uIHByb3h5IGhhbmRsaW5nIG1h eSBuZWVkIHByb3h5IGhhbmRzaGFrZSBmaXJzdCAqLworLSAgICAgIGdfc29ja2V0X2NsaWVudF9h c3luY19jb25uZWN0X2NvbXBsZXRlIChkYXRhKTsKKy0gICAgfQorLSAgZWxzZSBpZiAoKHByb3h5 ID0gZ19wcm94eV9nZXRfZGVmYXVsdF9mb3JfcHJvdG9jb2wgKHByb3RvY29sKSkpCistICAgIHsK Ky0gICAgICBnX3NvY2tldF9jbGllbnRfZW1pdF9ldmVudCAoZGF0YS0+Y2xpZW50LCBHX1NPQ0tF VF9DTElFTlRfUFJPWFlfTkVHT1RJQVRJTkcsIGRhdGEtPmNvbm5lY3RhYmxlLCBkYXRhLT5jb25u ZWN0aW9uKTsKKy0gICAgICBnX3Byb3h5X2Nvbm5lY3RfYXN5bmMgKHByb3h5LAorLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZGF0YS0+Y29ubmVjdGlvbiwKKy0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGRhdGEtPnByb3h5X2FkZHIsCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBnX3Rhc2tfZ2V0X2NhbmNlbGxhYmxlIChkYXRhLT50YXNrKSwKKy0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGdfc29ja2V0X2NsaWVudF9wcm94eV9jb25uZWN0X2NhbGxiYWNrLAor LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSk7CistICAgICAgZ19vYmplY3RfdW5y ZWYgKHByb3h5KTsKKy0gICAgfQorLSAgZWxzZQorLSAgICB7CistICAgICAgZ19jbGVhcl9lcnJv ciAoJmRhdGEtPmxhc3RfZXJyb3IpOworLQorLSAgICAgIGdfc2V0X2Vycm9yICgmZGF0YS0+bGFz dF9lcnJvciwgR19JT19FUlJPUiwgR19JT19FUlJPUl9OT1RfU1VQUE9SVEVELAorLSAgICAgICAg ICBfKCJQcm94eSBwcm90b2NvbCDigJwlc+KAnSBpcyBub3Qgc3VwcG9ydGVkLiIpLAorLSAgICAg ICAgICBwcm90b2NvbCk7CistCistICAgICAgZW51bWVyYXRvcl9uZXh0X2FzeW5jIChkYXRhLCBG QUxTRSk7CistICAgIH0KKysgIGNvbm5lY3Rpb25fYXR0ZW1wdF9yZW1vdmUgKGF0dGVtcHQpOwor KyAgZGF0YS0+c3VjY2Vzc2Z1bF9jb25uZWN0aW9ucyA9IGdfc2xpc3RfYXBwZW5kIChkYXRhLT5z dWNjZXNzZnVsX2Nvbm5lY3Rpb25zLCBnX3N0ZWFsX3BvaW50ZXIgKCZhdHRlbXB0KSk7CisrICB0 cnlfbmV4dF9jb25uZWN0aW9uX29yX2ZpbmlzaCAoZGF0YSwgRkFMU0UpOworIH0KKyAKKyBzdGF0 aWMgZ2Jvb2xlYW4KK0BAIC0xNzA3LDcgKzE3OTYsMTEgQEAgb25fY29ubmVjdGlvbl9hdHRlbXB0 X3RpbWVvdXQgKGdwb2ludGVyIGRhdGEpCisgeworICAgQ29ubmVjdGlvbkF0dGVtcHQgKmF0dGVt cHQgPSBkYXRhOworIAorLSAgZW51bWVyYXRvcl9uZXh0X2FzeW5jIChhdHRlbXB0LT5kYXRhLCBU UlVFKTsKKysgIGlmICghYXR0ZW1wdC0+ZGF0YS0+ZW51bWVyYXRpb25fY29tcGxldGVkKQorKyAg ICB7CisrICAgICAgZ19kZWJ1ZyAoIkdTb2NrZXRDbGllbnQ6IFRpbWVvdXQgcmVhY2hlZCwgdHJ5 aW5nIGFub3RoZXIgZW51bWVyYXRpb24iKTsKKysgICAgICBlbnVtZXJhdG9yX25leHRfYXN5bmMg KGF0dGVtcHQtPmRhdGEsIFRSVUUpOworKyAgICB9CisgCisgICBnX2NsZWFyX3BvaW50ZXIgKCZh dHRlbXB0LT50aW1lb3V0X3NvdXJjZSwgZ19zb3VyY2VfdW5yZWYpOworICAgcmV0dXJuIEdfU09V UkNFX1JFTU9WRTsKK0BAIC0xNzE3LDkgKzE4MTAsOSBAQCBzdGF0aWMgdm9pZAorIG9uX2Nvbm5l Y3Rpb25fY2FuY2VsbGVkIChHQ2FuY2VsbGFibGUgKmNhbmNlbGxhYmxlLAorICAgICAgICAgICAg ICAgICAgICAgICAgICBncG9pbnRlciAgICAgIGRhdGEpCisgeworLSAgR0NhbmNlbGxhYmxlICph dHRlbXB0X2NhbmNlbGxhYmxlID0gZGF0YTsKKysgIEdDYW5jZWxsYWJsZSAqbGlua2VkX2NhbmNl bGxhYmxlID0gR19DQU5DRUxMQUJMRSAoZGF0YSk7CisgCistICBnX2NhbmNlbGxhYmxlX2NhbmNl bCAoYXR0ZW1wdF9jYW5jZWxsYWJsZSk7CisrICBnX2NhbmNlbGxhYmxlX2NhbmNlbCAobGlua2Vk X2NhbmNlbGxhYmxlKTsKKyB9CisgCisgc3RhdGljIHZvaWQKK0BAIC0xNzQzLDM5ICsxODM2LDQ5 IEBAIGdfc29ja2V0X2NsaWVudF9lbnVtZXJhdG9yX2NhbGxiYWNrIChHT2JqZWN0ICAgICAgKm9i amVjdCwKKyAJCQkJCQkgICAgIHJlc3VsdCwgJmVycm9yKTsKKyAgIGlmIChhZGRyZXNzID09IE5V TEwpCisgICAgIHsKKy0gICAgICBpZiAoZGF0YS0+Y29ubmVjdGlvbl9hdHRlbXB0cykKKysgICAg ICBpZiAoR19VTkxJS0VMWSAoZGF0YS0+ZW51bWVyYXRpb25fY29tcGxldGVkKSkKKysgICAgICAg IHJldHVybjsKKysKKysgICAgICBkYXRhLT5lbnVtZXJhdGlvbl9jb21wbGV0ZWQgPSBUUlVFOwor KyAgICAgIGdfZGVidWcgKCJHU29ja2V0Q2xpZW50OiBBZGRyZXNzIGVudW1lcmF0aW9uIGNvbXBs ZXRlZCAob3V0IG9mIGFkZHJlc3NlcykiKTsKKysKKysgICAgICAvKiBBcyBwZXIgQVBJIGRvY3M6 IFdlIG9ubHkgY2FyZSBhYm91dCBlcnJvciBpZiBpdHMgdGhlIGZpcnN0IGNhbGwsCisrICAgICAg ICAgYWZ0ZXIgdGhhdCB0aGUgZW51bWVyYXRvciBpcyBkb25lLgorKworKyAgICAgICAgIE5vdGUg dGhhdCB3ZSBkb24ndCBjYXJlIGFib3V0IGNhbmNlbGxhdGlvbiBlcnJvcnMgYmVjYXVzZQorKyAg ICAgICAgIHRhc2tfY29tcGxldGVkX29yX2NhbmNlbGxlZCgpIGFib3ZlIHNob3VsZCBoYW5kbGUg dGhhdC4KKysKKysgICAgICAgICBJZiB0aGlzIGZhaWxzIGFuZCBub3RoaW5nIGlzIGluIHByb2dy ZXNzIHRoZW4gd2Ugd2lsbCBjb21wbGV0ZSB0YXNrIGhlcmUuCisrICAgICAgICovCisrICAgICAg aWYgKChkYXRhLT5lbnVtZXJhdGVkX2F0X2xlYXN0X29uY2UgJiYgIWRhdGEtPmNvbm5lY3Rpb25f YXR0ZW1wdHMgJiYgIWRhdGEtPmNvbm5lY3Rpb25faW5fcHJvZ3Jlc3MpIHx8CisrICAgICAgICAg ICFkYXRhLT5lbnVtZXJhdGVkX2F0X2xlYXN0X29uY2UpCisgICAgICAgICB7CistICAgICAgICAg IGdfb2JqZWN0X3VucmVmIChkYXRhLT50YXNrKTsKKy0gICAgICAgICAgcmV0dXJuOworKyAgICAg ICAgICBnX2RlYnVnICgiR1NvY2tldENsaWVudDogQWRkcmVzcyBlbnVtZXJhdGlvbiBmYWlsZWQ6 ICVzIiwgZXJyb3IgPyBlcnJvci0+bWVzc2FnZSA6IE5VTEwpOworKyAgICAgICAgICBpZiAoZGF0 YS0+bGFzdF9lcnJvcikKKysgICAgICAgICAgICB7CisrICAgICAgICAgICAgICBnX2NsZWFyX2Vy cm9yICgmZXJyb3IpOworKyAgICAgICAgICAgICAgZXJyb3IgPSBkYXRhLT5sYXN0X2Vycm9yOwor KyAgICAgICAgICAgICAgZGF0YS0+bGFzdF9lcnJvciA9IE5VTEw7CisrICAgICAgICAgICAgfQor KyAgICAgICAgICBlbHNlIGlmICghZXJyb3IpCisrICAgICAgICAgICAgeworKyAgICAgICAgICAg ICAgZ19zZXRfZXJyb3JfbGl0ZXJhbCAoJmVycm9yLCBHX0lPX0VSUk9SLCBHX0lPX0VSUk9SX0ZB SUxFRCwKKysgICAgICAgICAgICAgICAgXygiVW5rbm93biBlcnJvciBvbiBjb25uZWN0IikpOwor KyAgICAgICAgICAgIH0KKysKKysgICAgICAgICAgY29tcGxldGVfY29ubmVjdGlvbl93aXRoX2Vy cm9yIChkYXRhLCBlcnJvcik7CisgICAgICAgICB9CisgCistICAgICAgZ19zb2NrZXRfY2xpZW50 X2VtaXRfZXZlbnQgKGRhdGEtPmNsaWVudCwgR19TT0NLRVRfQ0xJRU5UX0NPTVBMRVRFLCBkYXRh LT5jb25uZWN0YWJsZSwgTlVMTCk7CistICAgICAgZGF0YS0+Y29tcGxldGVkID0gVFJVRTsKKy0g ICAgICBpZiAoIWVycm9yKQorLQl7CistCSAgaWYgKGRhdGEtPmxhc3RfZXJyb3IpCistCSAgICB7 CistCSAgICAgIGVycm9yID0gZGF0YS0+bGFzdF9lcnJvcjsKKy0JICAgICAgZGF0YS0+bGFzdF9l cnJvciA9IE5VTEw7CistCSAgICB9CistCSAgZWxzZQorLQkgICAgeworLQkgICAgICBnX3NldF9l cnJvcl9saXRlcmFsICgmZXJyb3IsIEdfSU9fRVJST1IsIEdfSU9fRVJST1JfRkFJTEVELAorLQkJ CQkgICBfKCJVbmtub3duIGVycm9yIG9uIGNvbm5lY3QiKSk7CistCSAgICB9CistCX0KKy0gICAg ICBnX3Rhc2tfcmV0dXJuX2Vycm9yIChkYXRhLT50YXNrLCBlcnJvcik7CisrICAgICAgLyogRW51 bWVyYXRpb24gc2hvdWxkIG5ldmVyIHRyaWdnZXIgYWdhaW4sIGRyb3Agb3VyIHJlZiAqLworICAg ICAgIGdfb2JqZWN0X3VucmVmIChkYXRhLT50YXNrKTsKKyAgICAgICByZXR1cm47CisgICAgIH0K KyAKKysgIGRhdGEtPmVudW1lcmF0ZWRfYXRfbGVhc3Rfb25jZSA9IFRSVUU7CisrICBnX2RlYnVn ICgiR1NvY2tldENsaWVudDogQWRkcmVzcyBlbnVtZXJhdGlvbiBzdWNjZWVkZWQiKTsKKyAgIGdf c29ja2V0X2NsaWVudF9lbWl0X2V2ZW50IChkYXRhLT5jbGllbnQsIEdfU09DS0VUX0NMSUVOVF9S RVNPTFZFRCwKKyAJCQkgICAgICBkYXRhLT5jb25uZWN0YWJsZSwgTlVMTCk7CisgCistICBpZiAo R19JU19QUk9YWV9BRERSRVNTIChhZGRyZXNzKSAmJgorLSAgICAgIGRhdGEtPmNsaWVudC0+cHJp di0+ZW5hYmxlX3Byb3h5KQorLSAgICBkYXRhLT5wcm94eV9hZGRyID0gZ19vYmplY3RfcmVmIChH X1BST1hZX0FERFJFU1MgKGFkZHJlc3MpKTsKKy0KKyAgIGdfY2xlYXJfZXJyb3IgKCZkYXRhLT5s YXN0X2Vycm9yKTsKKyAKKyAgIHNvY2tldCA9IGNyZWF0ZV9zb2NrZXQgKGRhdGEtPmNsaWVudCwg YWRkcmVzcywgJmRhdGEtPmxhc3RfZXJyb3IpOworQEAgLTE3OTMsNiArMTg5NiwxMCBAQCBnX3Nv Y2tldF9jbGllbnRfZW51bWVyYXRvcl9jYWxsYmFjayAoR09iamVjdCAgICAgICpvYmplY3QsCisg ICBhdHRlbXB0LT5jYW5jZWxsYWJsZSA9IGdfY2FuY2VsbGFibGVfbmV3ICgpOworICAgYXR0ZW1w dC0+Y29ubmVjdGlvbiA9IChHSU9TdHJlYW0gKilnX3NvY2tldF9jb25uZWN0aW9uX2ZhY3Rvcnlf Y3JlYXRlX2Nvbm5lY3Rpb24gKHNvY2tldCk7CisgICBhdHRlbXB0LT50aW1lb3V0X3NvdXJjZSA9 IGdfdGltZW91dF9zb3VyY2VfbmV3IChIQVBQWV9FWUVCQUxMU19DT05ORUNUSU9OX0FUVEVNUFRf VElNRU9VVF9NUyk7CisrCisrICBpZiAoR19JU19QUk9YWV9BRERSRVNTIChhZGRyZXNzKSAmJiBk YXRhLT5jbGllbnQtPnByaXYtPmVuYWJsZV9wcm94eSkKKysgICAgYXR0ZW1wdC0+cHJveHlfYWRk ciA9IGdfb2JqZWN0X3JlZiAoR19QUk9YWV9BRERSRVNTIChhZGRyZXNzKSk7CisrCisgICBnX3Nv dXJjZV9zZXRfY2FsbGJhY2sgKGF0dGVtcHQtPnRpbWVvdXRfc291cmNlLCBvbl9jb25uZWN0aW9u X2F0dGVtcHRfdGltZW91dCwgYXR0ZW1wdCwgTlVMTCk7CisgICBnX3NvdXJjZV9hdHRhY2ggKGF0 dGVtcHQtPnRpbWVvdXRfc291cmNlLCBnX3Rhc2tfZ2V0X2NvbnRleHQgKGRhdGEtPnRhc2spKTsK KyAgIGRhdGEtPmNvbm5lY3Rpb25fYXR0ZW1wdHMgPSBnX3NsaXN0X2FwcGVuZCAoZGF0YS0+Y29u bmVjdGlvbl9hdHRlbXB0cywgYXR0ZW1wdCk7CitAQCAtMTgwMiw2ICsxOTA5LDcgQEAgZ19zb2Nr ZXRfY2xpZW50X2VudW1lcmF0b3JfY2FsbGJhY2sgKEdPYmplY3QgICAgICAqb2JqZWN0LAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGdfb2JqZWN0X3JlZiAoYXR0ZW1wdC0+Y2FuY2VsbGFi bGUpLCBnX29iamVjdF91bnJlZik7CisgCisgICBnX3NvY2tldF9jb25uZWN0aW9uX3NldF9jYWNo ZWRfcmVtb3RlX2FkZHJlc3MgKChHU29ja2V0Q29ubmVjdGlvbiAqKWF0dGVtcHQtPmNvbm5lY3Rp b24sIGFkZHJlc3MpOworKyAgZ19kZWJ1ZyAoIkdTb2NrZXRDbGllbnQ6IFN0YXJ0aW5nIFRDUCBj b25uZWN0aW9uIGF0dGVtcHQiKTsKKyAgIGdfc29ja2V0X2NsaWVudF9lbWl0X2V2ZW50IChkYXRh LT5jbGllbnQsIEdfU09DS0VUX0NMSUVOVF9DT05ORUNUSU5HLCBkYXRhLT5jb25uZWN0YWJsZSwg YXR0ZW1wdC0+Y29ubmVjdGlvbik7CisgICBnX3NvY2tldF9jb25uZWN0aW9uX2Nvbm5lY3RfYXN5 bmMgKEdfU09DS0VUX0NPTk5FQ1RJT04gKGF0dGVtcHQtPmNvbm5lY3Rpb24pLAorIAkJCQkgICAg IGFkZHJlc3MsCitAQCAtMTg1NCwyNCArMTk2Miw0OCBAQCBnX3NvY2tldF9jbGllbnRfY29ubmVj dF9hc3luYyAoR1NvY2tldENsaWVudCAgICAgICAqY2xpZW50LAorICAgZWxzZQorICAgICBkYXRh LT5lbnVtZXJhdG9yID0gZ19zb2NrZXRfY29ubmVjdGFibGVfZW51bWVyYXRlIChjb25uZWN0YWJs ZSk7CisgCistICAvKiBUaGUgZmxvdyBhbmQgb3duZXJzaGlwIGhlcmUgaXNuJ3QgcXVpdGUgb2J2 aW91czoKKy0gICAgLSBUaGUgdGFzayBzdGFydHMgYW4gYXN5bmMgYXR0ZW1wdCB0byBjb25uZWN0 LgorLSAgICAgIC0gRWFjaCBhdHRlbXB0IGhvbGRzIGEgc2luZ2xlIHJlZiBvbiB0YXNrLgorLSAg ICAgIC0gRWFjaCBhdHRlbXB0IG1heSBjcmVhdGUgbmV3IGF0dGVtcHRzIGJ5IHRpbWluZyBvdXQg KG5vdCBhIGZhaWx1cmUpIHNvCistICAgICAgICB0aGVyZSBhcmUgbXVsdGlwbGUgYXR0ZW1wdHMg aGFwcGVuaW5nIGluIHBhcmFsbGVsLgorLSAgICAgIC0gVXBvbiBmYWlsdXJlIGFuIGF0dGVtcHQg d2lsbCBzdGFydCBhIG5ldyBhdHRlbXB0IHRoYXQgc3RlYWxzIGl0cyByZWYKKy0gICAgICAgIHVu dGlsIHRoZXJlIGFyZSBubyBtb3JlIGF0dGVtcHRzIGxlZnQgYW5kIGl0IGRyb3BzIGl0cyByZWYu CistICAgICAgLSBVcG9uIHN1Y2Nlc3MgaXQgd2lsbCBjYW5jZWwgYWxsIG90aGVyIGF0dGVtcHRz IGFuZCBjb250aW51ZSBvbgorLSAgICAgICAgdG8gdGhlIHJlc3Qgb2YgdGhlIGNvbm5lY3Rpb24g KHRscywgcHJveGllcywgZXRjKSB3aGljaCBkbyBub3QKKy0gICAgICAgIGhhcHBlbiBpbiBwYXJh bGxlbCBhbmQgYXQgdGhlIHZlcnkgZW5kIGRyb3AgaXRzIHJlZi4KKy0gICAgICAtIFVwb24gY2Fu Y2VsbGF0aW9uIGFuIGF0dGVtcHQgZHJvcHMgaXRzIHJlZi4KKy0gICAqLworKyAgLyogVGhpcyBm dW5jdGlvbiB0cmllcyB0byBtYXRjaCB0aGUgYmVoYXZpb3Igb2YgZ19zb2NrZXRfY2xpZW50X2Nv bm5lY3QgKCkKKysgICAgIHdoaWNoIGlzIHNpbXBsZSBlbm91Z2ggYnV0IG11Y2ggb2YgaXQgaXMg ZG9uZSBpbiBwYXJhbGxlbCB0byBiZSBhcyByZXNwb25zaXZlCisrICAgICBhcyBwb3NzaWJsZSBh cyBwZXIgSGFwcHkgRXllYmFsbHMgKFJGQyA4MzA1KS4gVGhpcyBjb21wbGljYXRlcyBmbG93IHF1 aXRlIGEKKysgICAgIGJpdCBidXQgd2UgY2FuIGRlc2NyaWJlIGl0IGluIDMgc2VjdGlvbnM6Cisr CisrICAgICBGaXJzdGx5IHdlIGhhdmUgYWRkcmVzcyBlbnVtZXJhdGlvbiAoRE5TKToKKysgICAg ICAgLSBUaGlzIG1heSBiZSB0cmlnZ2VyZWQgbXVsdGlwbGUgdGltZXMgYnkgZW51bWVyYXRvcl9u ZXh0X2FzeW5jKCkuCisrICAgICAgIC0gSXQgYWxzbyBoYXMgaXRzIG93biBjYW5jZWxsYWJsZSAo ZGF0YS0+ZW51bWVyYXRpb25fY2FuY2VsbGFibGUpLgorKyAgICAgICAtIEVudW1lcmF0aW9uIGlz IGRvbmUgbGF6aWx5IGJlY2F1c2UgR05ldHdvcmtBZGRyZXNzQWRkcmVzc0VudW1lcmF0b3IKKysg ICAgICAgICBhbHNvIGRvZXMgd29yayBpbiBwYXJhbGxlbCBhbmQgbWF5IGxhemlseSBhZGQgbmV3 IGFkZHJlc3Nlcy4KKysgICAgICAgLSBJZiB0aGUgZmlyc3QgZW51bWVyYXRpb24gZXJyb3JzIHRo ZW4gdGhlIHRhc2sgZXJyb3JzLiBPdGhlcndpc2UgYWxsIGVudW1lcmF0aW9ucworKyAgICAgICAg IHdpbGwgcG90ZW50aWFsbHkgYmUgdXNlZCAodW50aWwgdGFzayBvciBlbnVtZXJhdGlvbiBpcyBj YW5jZWxsZWQpLgorKworKyAgICAgIFRoZW4gd2Ugc3RhcnQgYXR0ZW1wdGluZyBjb25uZWN0aW9u cyAoVENQKToKKysgICAgICAgIC0gRWFjaCBjb25uZWN0aW9uIGlzIGluZGVwZW5kZW50IGFuZCBr ZXB0IGluIGEgQ29ubmVjdGlvbkF0dGVtcHQgb2JqZWN0LgorKyAgICAgICAgICAtIFRoZXkgZWFj aCBob2xkIGEgcmVmIG9uIHRoZSBtYWluIHRhc2sgYW5kIGhhdmUgdGhlaXIgb3duIGNhbmNlbGxh YmxlLgorKyAgICAgICAgLSBNdWx0aXBsZSBhdHRlbXB0cyBtYXkgaGFwcGVuIGluIHBhcmFsbGVs IGFzIHBlciBIYXBweSBFeWViYWxscy4KKysgICAgICAgIC0gVXBvbiBmYWlsdXJlIG9yIHRpbWVv dXRzIG1vcmUgY29ubmVjdGlvbiBhdHRlbXB0cyBhcmUgbWFkZS4KKysgICAgICAgICAgLSBJZiBu byBjb25uZWN0aW9ucyBzdWNjZWVkIHRoZSB0YXNrIGVycm9ycy4KKysgICAgICAgIC0gVXBvbiBz dWNjZXNzIHRoZXkgYXJlIGtlcHQgaW4gYSBsaXN0IG9mIHN1Y2Nlc3NmdWwgY29ubmVjdGlvbnMu CisrCisrICAgICAgTGFzdGx5IHdlIGNvbm5lY3QgYXQgdGhlIGFwcGxpY2F0aW9uIGxheWVyIChU TFMsIFByb3hpZXMpOgorKyAgICAgICAgLSBUaGVzZSBhcmUgZG9uZSBpbiBzZXJpYWwuCisrICAg ICAgICAgIC0gVGhlIHJlYXNvbmluZyBoZXJlIGlzIHRoYXQgSGFwcHkgRXllYmFsbHMgaXMgYWJv dXQgbWFraW5nIGJhZCBjb25uZWN0aW9ucyByZXNwb25zaXZlCisrICAgICAgICAgICAgYXQgdGhl IElQL1RDUCBsYXllcnMuIElzc3VlcyBhdCB0aGUgYXBwbGljYXRpb24gbGF5ZXIgYXJlIGdlbmVy YWxseSBub3QgZHVlIHRvCisrICAgICAgICAgICAgY29ubmVjdGl2aXR5IGlzc3VlcyBidXQgcmF0 aGVyIG1pc2NvbmZpZ3VyYXRpb24uCisrICAgICAgICAtIFVwb24gZmFpbHVyZSBpdCB3aWxsIHRy eSB0aGUgbmV4dCBUQ1AgY29ubmVjdGlvbiB1bnRpbCBpdCBydW5zIG91dCBhbmQKKysgICAgICAg ICAgdGhlIHRhc2sgZXJyb3JzLgorKyAgICAgICAgLSBVcG9uIHN1Y2Nlc3MgaXQgY2FuY2VscyBl dmVyeXRoaW5nIHJlbWFpbmluZyAoZW51bWVyYXRpb24gYW5kIGNvbm5lY3Rpb25zKQorKyAgICAg ICAgICBhbmQgcmV0dXJucyB0aGUgY29ubmVjdGlvbi4KKysgICovCisgCisgICBkYXRhLT50YXNr ID0gZ190YXNrX25ldyAoY2xpZW50LCBjYW5jZWxsYWJsZSwgY2FsbGJhY2ssIHVzZXJfZGF0YSk7 CisgICBnX3Rhc2tfc2V0X2NoZWNrX2NhbmNlbGxhYmxlIChkYXRhLT50YXNrLCBGQUxTRSk7IC8q IFdlIGhhbmRsZSB0aGlzIG1hbnVhbGx5ICovCisgICBnX3Rhc2tfc2V0X3NvdXJjZV90YWcgKGRh dGEtPnRhc2ssIGdfc29ja2V0X2NsaWVudF9jb25uZWN0X2FzeW5jKTsKKyAgIGdfdGFza19zZXRf dGFza19kYXRhIChkYXRhLT50YXNrLCBkYXRhLCAoR0Rlc3Ryb3lOb3RpZnkpZ19zb2NrZXRfY2xp ZW50X2FzeW5jX2Nvbm5lY3RfZGF0YV9mcmVlKTsKKyAKKysgIGRhdGEtPmVudW1lcmF0aW9uX2Nh bmNlbGxhYmxlID0gZ19jYW5jZWxsYWJsZV9uZXcgKCk7CisrICBpZiAoY2FuY2VsbGFibGUpCisr ICAgIGdfY2FuY2VsbGFibGVfY29ubmVjdCAoY2FuY2VsbGFibGUsIEdfQ0FMTEJBQ0sgKG9uX2Nv bm5lY3Rpb25fY2FuY2VsbGVkKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBnX29iamVj dF9yZWYgKGRhdGEtPmVudW1lcmF0aW9uX2NhbmNlbGxhYmxlKSwgZ19vYmplY3RfdW5yZWYpOwor KworICAgZW51bWVyYXRvcl9uZXh0X2FzeW5jIChkYXRhLCBGQUxTRSk7CisgfQorIAorQEAgLTE5 OTAsNiArMjEyMiw3IEBAIGdfc29ja2V0X2NsaWVudF9jb25uZWN0X3RvX3VyaV9hc3luYyAoR1Nv Y2tldENsaWVudCAgICAgICAgKmNsaWVudCwKKyAgICAgfQorICAgZWxzZQorICAgICB7CisrICAg ICAgZ19kZWJ1ZygiZ19zb2NrZXRfY2xpZW50X2Nvbm5lY3RfdG9fdXJpX2FzeW5jIik7CisgICAg ICAgZ19zb2NrZXRfY2xpZW50X2Nvbm5lY3RfYXN5bmMgKGNsaWVudCwKKyAJCQkJICAgICBjb25u ZWN0YWJsZSwgY2FuY2VsbGFibGUsCisgCQkJCSAgICAgY2FsbGJhY2ssIHVzZXJfZGF0YSk7Cist LSAKKzIuMjQuMQorCgpkaWZmIC0tZ2l0IGEvZ2xpYjIuc3BlYyBiL2dsaWIyLnNwZWMKaW5kZXgg N2VmZDdjMi4uZGUzYmY0ZCAxMDA2NDQKLS0tIGEvZ2xpYjIuc3BlYworKysgYi9nbGliMi5zcGVj CkBAIC0yLDEzICsyLDE2IEBACiAKIE5hbWU6IGdsaWIyCiBWZXJzaW9uOiAyLjYzLjUKLVJlbGVh c2U6IDElez9kaXN0fQorUmVsZWFzZTogMiV7P2Rpc3R9CiBTdW1tYXJ5OiBBIGxpYnJhcnkgb2Yg aGFuZHkgdXRpbGl0eSBmdW5jdGlvbnMKIAogTGljZW5zZTogTEdQTHYyKwogVVJMOiBodHRwOi8v d3d3Lmd0ay5vcmcKIFNvdXJjZTA6IGh0dHA6Ly9kb3dubG9hZC5nbm9tZS5vcmcvc291cmNlcy9n bGliLzIuNjMvZ2xpYi0le3ZlcnNpb259LnRhci54egogCisjIGh0dHBzOi8vZ2l0bGFiLmdub21l Lm9yZy9HTk9NRS9nbGliL21lcmdlX3JlcXVlc3RzLzEzMzkKK1BhdGNoMDogQ1ZFLTIwMjAtNjc1 MC5wYXRjaAorCiBCdWlsZFJlcXVpcmVzOiBjaHJwYXRoCiBCdWlsZFJlcXVpcmVzOiBnY2MKIEJ1 aWxkUmVxdWlyZXM6IGdjYy1jKysKQEAgLTIxNiw2ICsyMTksOSBAQCBnbGliLWNvbXBpbGUtc2No ZW1hcyAle19kYXRhZGlyfS9nbGliLTIuMC9zY2hlbWFzICY+IC9kZXYvbnVsbCB8fCA6CiAle19k YXRhZGlyfS9pbnN0YWxsZWQtdGVzdHMKIAogJWNoYW5nZWxvZworKiBGcmkgRmViIDA3IDIwMjAg TWljaGFlbCBDYXRhbnphcm8gPG1jYXRhbnphcm9AcmVkaGF0LmNvbT4gLSAyLjYzLjUtMgorLSBB ZGQgcGF0Y2ggZm9yIENWRS0yMDIwLTY3NTAgYW5kIHJlbGF0ZWQgaXNzdWVzLgorCiAqIE1vbiBG ZWIgMDMgMjAyMCBLYWxldiBMZW1iZXIgPGtsZW1iZXJAcmVkaGF0LmNvbT4gLSAyLjYzLjUtMQog LSBVcGRhdGUgdG8gMi42My41CiAK