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: =?utf-8?b?UGF2b2wgxb3DocSNaWsgPHB6YWNpa0ByZWRoYXQuY29tPg==?= To: git-commits@fedoraproject.org Subject: [rpms/squid] f44: Fix OpenSSL 4.0 compatibility Date: Tue, 21 Jul 2026 13:59:13 GMT Message-ID: <178464235317.1.962698116894513370.rpms-squid-ca80c83e17a7@fedoraproject.org> List-ID: X-Git-Repo: rpms/squid X-Git-Branch: f44 X-Git-Rev: ca80c83e17a7b89d1af2f3ed0fba072d4d396b29 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvc3F1aWQKQnJhbmNo IDogZjQ0CkNvbW1pdCA6IGNhODBjODNlMTdhN2I4OWQxYWYyZjNlZDBmYmEwNzJkNGQzOTZiMjkK QXV0aG9yIDogUGF2b2wgxb3DocSNaWsgPHB6YWNpa0ByZWRoYXQuY29tPgpEYXRlICAgOiAyMDI2 LTA1LTA3VDE3OjQ5OjU0KzAyOjAwClN0YXRzICA6ICszNjYvLTEgaW4gMiBmaWxlKHMpClVSTCAg ICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvc3F1aWQvYy9jYTgwYzgzZTE3 YTdiODlkMWFmMmYzZWQwZmJhMDcyZDRkMzk2YjI5P2JyYW5jaD1mNDQKCkxvZzoKRml4IE9wZW5T U0wgNC4wIGNvbXBhdGliaWxpdHkKCi0tLQpkaWZmIC0tZ2l0IGEvc3F1aWQtNy41LW9wZW5zc2w0 LnBhdGNoIGIvc3F1aWQtNy41LW9wZW5zc2w0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAuLjhhZjY4MTgKLS0tIC9kZXYvbnVsbAorKysgYi9zcXVpZC03LjUtb3BlbnNz bDQucGF0Y2gKQEAgLTAsMCArMSwzNjEgQEAKK0Zyb20gMDBhODkzOGE1NTYxYWUxMWM2ZTRkNTYz YzY3ZWU4NTYyMTQ5OWUxOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/ cT9QYXZvbD0yMD1DNT1CRD1DMz1BMT1DND04RGlrPz0gPHB6YWNpa0ByZWRoYXQuY29tPgorRGF0 ZTogV2VkLCA2IE1heSAyMDI2IDE3OjE4OjU4ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBP cGVuU1NMIDQuMCBjb21wYXRpYmlsaXR5CisKK1JlcGxhY2UgZGlyZWN0IEFTTjEgc3RydWN0dXJl IGZpZWxkIGFjY2VzcyB3aXRoIGFjY2Vzc29yIGZ1bmN0aW9ucy4KK2FuZCB1c2UgQVNOMV9TVFJJ Tkdfc2V0KCkgaW5zdGVhZCBvZiBkaXJlY3QgZmllbGQgYXNzaWdubWVudC4KKworRml4IGlzc3Vl cyBjYXVzZWQgYnkgWDUwOSogQVBJIGNvbnN0bmVzcyBjaGFuZ2VzOyBpbiBzb21lIGNhc2VzLAor Y2FzdGluZyB0aGUgY29uc3QgYXdheSBpcyBuZWNlc3NhcnkgdG8ga2VlcCBjb21wYXRpYmlsaXR5 IHdpdGgKK09wZW5TU0wgMy4KKy0tLQorIC4uLi9jZXJ0X2dlbmVyYXRvcnMvZmlsZS9jZXJ0aWZp Y2F0ZV9kYi5jYyAgICB8ICAyICstCisgc3JjL3NzbC9nYWRnZXRzLmNjICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgOTIgKysrKysrKysrKystLS0tLS0tLQorIHNyYy9zc2wvZ2FkZ2V0cy5o ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICstCisgc3JjL3NzbC9zdXBwb3J0LmNj ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTggKystLQorIDQgZmlsZXMgY2hhbmdlZCwg NjYgaW5zZXJ0aW9ucygrKSwgNTAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvc2Vj dXJpdHkvY2VydF9nZW5lcmF0b3JzL2ZpbGUvY2VydGlmaWNhdGVfZGIuY2MgYi9zcmMvc2VjdXJp dHkvY2VydF9nZW5lcmF0b3JzL2ZpbGUvY2VydGlmaWNhdGVfZGIuY2MKK2luZGV4IDRiNzI5YjMu LjM1ODQ5YWEgMTAwNjQ0CistLS0gYS9zcmMvc2VjdXJpdHkvY2VydF9nZW5lcmF0b3JzL2ZpbGUv Y2VydGlmaWNhdGVfZGIuY2MKKysrKyBiL3NyYy9zZWN1cml0eS9jZXJ0X2dlbmVyYXRvcnMvZmls ZS9jZXJ0aWZpY2F0ZV9kYi5jYworQEAgLTMzNSw3ICszMzUsNyBAQCBTc2w6OkNlcnRpZmljYXRl RGI6OmFkZENlcnRBbmRQcml2YXRlS2V5KHN0ZDo6c3RyaW5nIGNvbnN0ICZ1c2VLZXksIGNvbnN0 IFNlY3VyaQorICAgICB9CisgCisgICAgIGNvbnN0IGF1dG8gdG0gPSBYNTA5X2dldG1fbm90QWZ0 ZXIoY2VydC5nZXQoKSk7CistICAgIHJvdy5zZXRWYWx1ZShjbmxFeHBfZGF0ZSwgc3RkOjpzdHJp bmcocmVpbnRlcnByZXRfY2FzdDxjaGFyICo+KHRtLT5kYXRhKSwgdG0tPmxlbmd0aCkuY19zdHIo KSk7CisrICAgIHJvdy5zZXRWYWx1ZShjbmxFeHBfZGF0ZSwgc3RkOjpzdHJpbmcocmVpbnRlcnBy ZXRfY2FzdDxjb25zdCBjaGFyICo+KEFTTjFfU1RSSU5HX2dldDBfZGF0YSh0bSkpLCBBU04xX1NU UklOR19sZW5ndGgodG0pKS5jX3N0cigpKTsKKyAgICAgY29uc3QgYXV0byBzdWJqZWN0ID0gT25l TGluZVN1bW1hcnkoKlg1MDlfZ2V0X3N1YmplY3RfbmFtZShjZXJ0LmdldCgpKSk7CisgICAgIHJv dy5zZXRWYWx1ZShjbmxOYW1lLCBzdWJqZWN0LmdldCgpKTsKKyAgICAgcm93LnNldFZhbHVlKGNu bEtleSwgdXNlS2V5LmNfc3RyKCkpOworZGlmZiAtLWdpdCBhL3NyYy9zc2wvZ2FkZ2V0cy5jYyBi L3NyYy9zc2wvZ2FkZ2V0cy5jYworaW5kZXggMDZiOGI3OS4uMTAwZWU2YSAxMDA2NDQKKy0tLSBh L3NyYy9zc2wvZ2FkZ2V0cy5jYworKysrIGIvc3JjL3NzbC9nYWRnZXRzLmNjCitAQCAtMjU5LDIw ICsyNTksMzEgQEAgc3RhdGljIGJvb2wgcmVwbGFjZUNvbW1vbk5hbWUoU2VjdXJpdHk6OkNlcnRQ b2ludGVyICYgY2VydCwgc3RkOjpzdHJpbmcgY29uc3QgJnIKKyAgICAgaWYgKGNuLmxlbmd0aCgp ID4gMiAmJiAqY24uYmVnaW4oKSA9PSAnWycgJiYgKmNuLnJiZWdpbigpID09ICddJykKKyAgICAg ICAgIGNuID0gY24uc3Vic3RyKDEsIGNuLnNpemUoKS0yKTsKKyAKKy0gICAgWDUwOV9OQU1FICpu YW1lID0gWDUwOV9nZXRfc3ViamVjdF9uYW1lKGNlcnQuZ2V0KCkpOworKyAgICBjb25zdCBYNTA5 X05BTUUgKnN1YmplY3QgPSBYNTA5X2dldF9zdWJqZWN0X25hbWUoY2VydC5nZXQoKSk7CisrICAg IGlmICghc3ViamVjdCkKKysgICAgICAgIHJldHVybiBmYWxzZTsKKysKKysgICAgWDUwOV9OQU1F ICpuYW1lID0gWDUwOV9OQU1FX2R1cChzdWJqZWN0KTsKKyAgICAgaWYgKCFuYW1lKQorICAgICAg ICAgcmV0dXJuIGZhbHNlOworKworICAgICAvLyBSZW1vdmUgdGhlIENOIHBhcnQ6CisgICAgIGlu dCBsb2MgPSBYNTA5X05BTUVfZ2V0X2luZGV4X2J5X05JRChuYW1lLCBOSURfY29tbW9uTmFtZSwg LTEpOworLSAgICBpZiAobG9jID49MCkgeworLSAgICAgICAgWDUwOV9OQU1FX0VOVFJZICp0bXAg PSBYNTA5X05BTUVfZ2V0X2VudHJ5KG5hbWUsIGxvYyk7CistICAgICAgICBYNTA5X05BTUVfZGVs ZXRlX2VudHJ5KG5hbWUsIGxvYyk7CisrICAgIGlmIChsb2MgPj0gMCkgeworKyAgICAgICAgWDUw OV9OQU1FX0VOVFJZICp0bXAgPSBYNTA5X05BTUVfZGVsZXRlX2VudHJ5KG5hbWUsIGxvYyk7Cisg ICAgICAgICBYNTA5X05BTUVfRU5UUllfZnJlZSh0bXApOworICAgICB9CisgCisgICAgIC8vIEFk ZCBhIG5ldyBDTgorLSAgICByZXR1cm4gWDUwOV9OQU1FX2FkZF9lbnRyeV9ieV9OSUQobmFtZSwg TklEX2NvbW1vbk5hbWUsIE1CU1RSSU5HX0FTQywKKy0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICh1bnNpZ25lZCBjaGFyICopKGNuLmNfc3RyKCkpLCAtMSwgLTEsIDApOwor KyAgICBpZiAoIVg1MDlfTkFNRV9hZGRfZW50cnlfYnlfTklEKG5hbWUsIE5JRF9jb21tb25OYW1l LCBNQlNUUklOR19BU0MsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1 bnNpZ25lZCBjaGFyICopKGNuLmNfc3RyKCkpLCAtMSwgLTEsIDApKSB7CisrICAgICAgICBYNTA5 X05BTUVfZnJlZShuYW1lKTsKKysgICAgICAgIHJldHVybiBmYWxzZTsKKysgICAgfQorKworKyAg ICBpbnQgcmV0ID0gWDUwOV9zZXRfc3ViamVjdF9uYW1lKGNlcnQuZ2V0KCksIG5hbWUpOworKyAg ICBYNTA5X05BTUVfZnJlZShuYW1lKTsKKysgICAgcmV0dXJuIHJldDsKKyB9CisgCisgY29uc3Qg Y2hhciAqU3NsOjpDZXJ0U2lnbkFsZ29yaXRobVN0cltdID0geworQEAgLTMwMSw5ICszMTIsOSBA QCBzdGF0aWMgdm9pZAorIHByaW50WDUwOVNpZ25hdHVyZShjb25zdCBTZWN1cml0eTo6Q2VydFBv aW50ZXIgJmNlcnQsIHN0ZDo6c3RyaW5nICZvdXQpCisgeworICAgICBjb25zdCBBU04xX0JJVF9T VFJJTkcgKnNpZyA9IFNzbDo6WDUwOV9nZXRfc2lnbmF0dXJlKGNlcnQpOworLSAgICBpZiAoc2ln ICYmIHNpZy0+ZGF0YSkgeworLSAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqcyA9IHNpZy0+ ZGF0YTsKKy0gICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgc2lnLT5sZW5ndGg7ICsraSkgewor KyAgICBpZiAoc2lnICYmIEFTTjFfU1RSSU5HX2dldDBfZGF0YShzaWcpKSB7CisrICAgICAgICBj b25zdCB1bnNpZ25lZCBjaGFyICpzID0gQVNOMV9TVFJJTkdfZ2V0MF9kYXRhKHNpZyk7CisrICAg ICAgICBmb3IgKGludCBpID0gMDsgaSA8IEFTTjFfU1RSSU5HX2xlbmd0aChzaWcpOyArK2kpIHsK KyAgICAgICAgICAgICBjaGFyIGhleFszXTsKKyAgICAgICAgICAgICBzbnByaW50ZihoZXgsIHNp emVvZihoZXgpLCAiJTAyeCIsIHNbaV0pOworICAgICAgICAgICAgIG91dC5hcHBlbmQoaGV4KTsK K0BAIC0zNzcsNyArMzg4LDcgQEAgbWltaWNBdXRob3JpdHlLZXlJZChTZWN1cml0eTo6Q2VydFBv aW50ZXIgJmNlcnQsIFNlY3VyaXR5OjpDZXJ0UG9pbnRlciBjb25zdCAmbWkKKyAgICAgICAgIFg1 MDlfRVhURU5TSU9OICpleHQ7CisgICAgICAgICAvLyBDaGVjayBpZiB0aGUgaXNzdWVyIGhhcyB0 aGUgU3ViamVjdCBLZXkgSWRlbnRpZmllciBleHRlbnNpb24KKyAgICAgICAgIGNvbnN0IGludCBp bmR4ID0gWDUwOV9nZXRfZXh0X2J5X05JRChpc3N1ZXJDZXJ0LmdldCgpLCBOSURfc3ViamVjdF9r ZXlfaWRlbnRpZmllciwgLTEpOworLSAgICAgICAgaWYgKGluZHggPj0gMCAmJiAoZXh0ID0gWDUw OV9nZXRfZXh0KGlzc3VlckNlcnQuZ2V0KCksIGluZHgpKSkgeworKyAgICAgICAgaWYgKGluZHgg Pj0gMCAmJiAoZXh0ID0gY29uc3RfY2FzdDxYNTA5X0VYVEVOU0lPTiAqPihYNTA5X2dldF9leHQo aXNzdWVyQ2VydC5nZXQoKSwgaW5keCkpKSkgeworICAgICAgICAgICAgIGlzc3VlcktleUlkLnJl c2V0KChBU04xX09DVEVUX1NUUklORyAqKVg1MDlWM19FWFRfZDJpKGV4dCkpOworICAgICAgICAg fQorICAgICB9CitAQCAtNDE4LDggKzQyOSw3IEBAIG1pbWljQXV0aG9yaXR5S2V5SWQoU2VjdXJp dHk6OkNlcnRQb2ludGVyICZjZXJ0LCBTZWN1cml0eTo6Q2VydFBvaW50ZXIgY29uc3QgJm1pCisg ICAgIHVuc2lnbmVkIGNoYXIgKmV4dF9kZXIgPSBudWxscHRyOworICAgICBpbnQgZXh0X2xlbiA9 IEFTTjFfaXRlbV9pMmQoKEFTTjFfVkFMVUUgKil0aGVBdXRoS2V5SWQuZ2V0KCksICZleHRfZGVy LCBBU04xX0lURU1fcHRyKG1ldGhvZC0+aXQpKTsKKyAgICAgU3NsOjpBU04xX09DVEVUX1NUUklO R19Qb2ludGVyIGV4dE9jdChBU04xX09DVEVUX1NUUklOR19uZXcoKSk7CistICAgIGV4dE9jdC5n ZXQoKS0+ZGF0YSA9IGV4dF9kZXI7CistICAgIGV4dE9jdC5nZXQoKS0+bGVuZ3RoID0gZXh0X2xl bjsKKysgICAgQVNOMV9TVFJJTkdfc2V0KGV4dE9jdC5nZXQoKSwgZXh0X2RlciwgZXh0X2xlbik7 CisgICAgIFNzbDo6WDUwOV9FWFRFTlNJT05fUG9pbnRlciBleHRBdXRoS2V5SWQoWDUwOV9FWFRF TlNJT05fY3JlYXRlX2J5X05JRChudWxscHRyLCBOSURfYXV0aG9yaXR5X2tleV9pZGVudGlmaWVy LCAwLCBleHRPY3QuZ2V0KCkpKTsKKyAgICAgaWYgKCFleHRBdXRoS2V5SWQuZ2V0KCkpCisgICAg ICAgICByZXR1cm4gZmFsc2U7CitAQCAtNDcxLDcgKzQ4MSw3IEBAIG1pbWljRXh0ZW5zaW9ucyhT ZWN1cml0eTo6Q2VydFBvaW50ZXIgJiBjZXJ0LCBTZWN1cml0eTo6Q2VydFBvaW50ZXIgY29uc3Qg Jm1pbWljCisgICAgIGludCBuaWQ7CisgICAgIGZvciAoaW50IGkgPSAwOyAobmlkID0gZXh0ZW5z aW9uc1tpXSkgIT0gMDsgKytpKSB7CisgICAgICAgICBjb25zdCBpbnQgcG9zID0gWDUwOV9nZXRf ZXh0X2J5X05JRChtaW1pY0NlcnQuZ2V0KCksIG5pZCwgLTEpOworLSAgICAgICAgaWYgKFg1MDlf RVhURU5TSU9OICpleHQgPSBYNTA5X2dldF9leHQobWltaWNDZXJ0LmdldCgpLCBwb3MpKSB7Cisr ICAgICAgICBpZiAoWDUwOV9FWFRFTlNJT04gKmV4dCA9IGNvbnN0X2Nhc3Q8WDUwOV9FWFRFTlNJ T04gKj4oWDUwOV9nZXRfZXh0KG1pbWljQ2VydC5nZXQoKSwgcG9zKSkpIHsKKyAgICAgICAgICAg ICAvLyBNaW1pYyBleHRlbnNpb24gZXhhY3RseS4KKyAgICAgICAgICAgICBpZiAoWDUwOV9hZGRf ZXh0KGNlcnQuZ2V0KCksIGV4dCwgLTEpKQorICAgICAgICAgICAgICAgICArK2FkZGVkOworQEAg LTQ4Miw3ICs0OTIsNyBAQCBtaW1pY0V4dGVuc2lvbnMoU2VjdXJpdHk6OkNlcnRQb2ludGVyICYg Y2VydCwgU2VjdXJpdHk6OkNlcnRQb2ludGVyIGNvbnN0ICZtaW1pYworICAgICAgICAgICAgICAg ICAvLyB0aGF0IHRoZSBtb3JlIHN0cmluZ2VudCByZXF1aXJlbWVudHMgYXJlIG1ldC4KKyAKKyAg ICAgICAgICAgICAgICAgY29uc3QgaW50IHAgPSBYNTA5X2dldF9leHRfYnlfTklEKGNlcnQuZ2V0 KCksIE5JRF9rZXlfdXNhZ2UsIC0xKTsKKy0gICAgICAgICAgICAgICAgaWYgKChleHQgPSBYNTA5 X2dldF9leHQoY2VydC5nZXQoKSwgcCkpICE9IG51bGxwdHIpIHsKKysgICAgICAgICAgICAgICAg aWYgKChleHQgPSBjb25zdF9jYXN0PFg1MDlfRVhURU5TSU9OICo+KFg1MDlfZ2V0X2V4dChjZXJ0 LmdldCgpLCBwKSkpICE9IG51bGxwdHIpIHsKKyAgICAgICAgICAgICAgICAgICAgIEFTTjFfQklU X1NUUklORyAqa2V5dXNhZ2UgPSAoQVNOMV9CSVRfU1RSSU5HICopWDUwOVYzX0VYVF9kMmkoZXh0 KTsKKyAgICAgICAgICAgICAgICAgICAgIEFTTjFfQklUX1NUUklOR19zZXRfYml0KGtleXVzYWdl LCBLZXlFbmNpcGhlcm1lbnQsIDEpOworIAorQEAgLTQ5NSw4ICs1MDUsNyBAQCBtaW1pY0V4dGVu c2lvbnMoU2VjdXJpdHk6OkNlcnRQb2ludGVyICYgY2VydCwgU2VjdXJpdHk6OkNlcnRQb2ludGVy IGNvbnN0ICZtaW1pYworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChjb25zdCBBU04xX0lURU0gKilBU04xX0lURU1fcHRyKG1ldGhvZC0+aXQpKTsKKyAK KyAgICAgICAgICAgICAgICAgICAgIEFTTjFfT0NURVRfU1RSSU5HICpleHRfb2N0ID0gQVNOMV9P Q1RFVF9TVFJJTkdfbmV3KCk7CistICAgICAgICAgICAgICAgICAgICBleHRfb2N0LT5kYXRhID0g ZXh0X2RlcjsKKy0gICAgICAgICAgICAgICAgICAgIGV4dF9vY3QtPmxlbmd0aCA9IGV4dF9sZW47 CisrICAgICAgICAgICAgICAgICAgICBBU04xX1NUUklOR19zZXQoZXh0X29jdCwgZXh0X2Rlciwg ZXh0X2xlbik7CisgICAgICAgICAgICAgICAgICAgICBYNTA5X0VYVEVOU0lPTl9zZXRfZGF0YShl eHQsIGV4dF9vY3QpOworIAorICAgICAgICAgICAgICAgICAgICAgQVNOMV9PQ1RFVF9TVFJJTkdf ZnJlZShleHRfb2N0KTsKK0BAIC01MTgsNyArNTI3LDcgQEAgbWltaWNFeHRlbnNpb25zKFNlY3Vy aXR5OjpDZXJ0UG9pbnRlciAmIGNlcnQsIFNlY3VyaXR5OjpDZXJ0UG9pbnRlciBjb25zdCAmbWlt aWMKKyBTQnVmCisgU3NsOjpBc25Ub1NCdWYoY29uc3QgQVNOMV9TVFJJTkcgJmJ1ZmZlcikKKyB7 CistICAgIHJldHVybiBTQnVmKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhciAqPihidWZmZXIu ZGF0YSksIGJ1ZmZlci5sZW5ndGgpOworKyAgICByZXR1cm4gU0J1ZihyZWludGVycHJldF9jYXN0 PGNvbnN0IGNoYXIgKj4oQVNOMV9TVFJJTkdfZ2V0MF9kYXRhKCZidWZmZXIpKSwgQVNOMV9TVFJJ TkdfbGVuZ3RoKCZidWZmZXIpKTsKKyB9CisgCisgLy8vIE9wZW5TU0wgQVNOMV9TVFJJTkdfdG9f VVRGOCgpIHdyYXBwZXIKK0BAIC01NDcsNyArNTU2LDcgQEAgU3NsOjpQYXJzZUFzU2ltcGxlRG9t YWluTmFtZU9ySXAoY29uc3QgU0J1ZiAmdGV4dCkKKyB9CisgCisgc3RkOjpvcHRpb25hbDxBbnlQ OjpIb3N0PgorLVNzbDo6UGFyc2VDb21tb25OYW1lQXQoWDUwOV9OQU1FICZuYW1lLCBjb25zdCBp bnQgY25JbmRleCkKKytTc2w6OlBhcnNlQ29tbW9uTmFtZUF0KGNvbnN0IFg1MDlfTkFNRSAmbmFt ZSwgY29uc3QgaW50IGNuSW5kZXgpCisgeworICAgICBjb25zdCBhdXRvIGNuID0gWDUwOV9OQU1F X0VOVFJZX2dldF9kYXRhKFg1MDlfTkFNRV9nZXRfZW50cnkoJm5hbWUsIGNuSW5kZXgpKTsKKyAg ICAgaWYgKCFjbikgeworQEAgLTU3Niw3ICs1ODUsNyBAQCBTc2w6OlBhcnNlQ29tbW9uTmFtZUF0 KFg1MDlfTkFNRSAmbmFtZSwgY29uc3QgaW50IGNuSW5kZXgpCisgc3RhdGljIGJvb2wKKyBhZGRB bHROYW1lV2l0aFN1YmplY3RDbihTZWN1cml0eTo6Q2VydFBvaW50ZXIgJmNlcnQpCisgeworLSAg ICBYNTA5X05BTUUgKm5hbWUgPSBYNTA5X2dldF9zdWJqZWN0X25hbWUoY2VydC5nZXQoKSk7Cisr ICAgIGNvbnN0IFg1MDlfTkFNRSAqbmFtZSA9IFg1MDlfZ2V0X3N1YmplY3RfbmFtZShjZXJ0Lmdl dCgpKTsKKyAgICAgaWYgKCFuYW1lKQorICAgICAgICAgcmV0dXJuIGZhbHNlOworIAorQEAgLTYx MCw3ICs2MTksNyBAQCBzdGF0aWMgYm9vbCBidWlsZENlcnRpZmljYXRlKFNlY3VyaXR5OjpDZXJ0 UG9pbnRlciAmIGNlcnQsIFNzbDo6Q2VydGlmaWNhdGVQcm9wZQorICAgICAvLyByZXR1cm5zIGEg cG9pbnRlciB0byB0aGUgZXhpc3Rpbmcgc3ViamVjdCBuYW1lLiBOb3RoaW5nIHRvIGNsZWFuIGhl cmUuCisgICAgIGlmIChwcm9wZXJ0aWVzLm1pbWljQ2VydC5nZXQoKSkgeworICAgICAgICAgLy8g TGVhdmUgc3ViamVjdCBlbXB0eSBpZiB3ZSBjYW5ub3QgZXh0cmFjdCBpdCBmcm9tIHRydWUgY2Vy dC4KKy0gICAgICAgIGlmIChYNTA5X05BTUUgKm5hbWUgPSBYNTA5X2dldF9zdWJqZWN0X25hbWUo cHJvcGVydGllcy5taW1pY0NlcnQuZ2V0KCkpKSB7CisrICAgICAgICBpZiAoY29uc3QgWDUwOV9O QU1FICpuYW1lID0gWDUwOV9nZXRfc3ViamVjdF9uYW1lKHByb3BlcnRpZXMubWltaWNDZXJ0Lmdl dCgpKSkgeworICAgICAgICAgICAgIC8vIFg1MDlfc2V0X3N1YmplY3RfbmFtZSB3aWxsIGNhbGwg WDUwOV9kdXAgZm9yIG5hbWUKKyAgICAgICAgICAgICBYNTA5X3NldF9zdWJqZWN0X25hbWUoY2Vy dC5nZXQoKSwgbmFtZSk7CisgICAgICAgICB9CitAQCAtNjU2LDcgKzY2NSw3IEBAIHN0YXRpYyBi b29sIGJ1aWxkQ2VydGlmaWNhdGUoU2VjdXJpdHk6OkNlcnRQb2ludGVyICYgY2VydCwgU3NsOjpD ZXJ0aWZpY2F0ZVByb3BlCisgICAgIGJvb2wgdXNlQ29tbW9uTmFtZUFzQWx0TmFtZSA9IHRydWU7 CisgICAgIC8vIG1pbWljIHRoZSBhbGlhcyBhbmQgcG9zc2libHkgc3ViamVjdEFsdE5hbWUKKyAg ICAgaWYgKHByb3BlcnRpZXMubWltaWNDZXJ0LmdldCgpKSB7CistICAgICAgICB1bnNpZ25lZCBj aGFyICphbFN0cjsKKysgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmFsU3RyOworICAgICAg ICAgaW50IGFsTGVuOworICAgICAgICAgYWxTdHIgPSBYNTA5X2FsaWFzX2dldDAocHJvcGVydGll cy5taW1pY0NlcnQuZ2V0KCksICZhbExlbik7CisgICAgICAgICBpZiAoYWxTdHIpIHsKK0BAIC02 NjcsNyArNjc2LDcgQEAgc3RhdGljIGJvb2wgYnVpbGRDZXJ0aWZpY2F0ZShTZWN1cml0eTo6Q2Vy dFBvaW50ZXIgJiBjZXJ0LCBTc2w6OkNlcnRpZmljYXRlUHJvcGUKKyAgICAgICAgIC8vIGNlcnRp ZmljYXRlcyB3aXRoIENOIHVucmVsYXRlZCB0byBzdWJqZWN0QWx0TmFtZXMuCisgICAgICAgICBp ZiAoIXByb3BlcnRpZXMuc2V0Q29tbW9uTmFtZSkgeworICAgICAgICAgICAgIGludCBwb3MgPSBY NTA5X2dldF9leHRfYnlfTklEKHByb3BlcnRpZXMubWltaWNDZXJ0LmdldCgpLCBOSURfc3ViamVj dF9hbHRfbmFtZSwgLTEpOworLSAgICAgICAgICAgIFg1MDlfRVhURU5TSU9OICpleHQ9WDUwOV9n ZXRfZXh0KHByb3BlcnRpZXMubWltaWNDZXJ0LmdldCgpLCBwb3MpOworKyAgICAgICAgICAgIFg1 MDlfRVhURU5TSU9OICpleHQgPSBjb25zdF9jYXN0PFg1MDlfRVhURU5TSU9OICo+KFg1MDlfZ2V0 X2V4dChwcm9wZXJ0aWVzLm1pbWljQ2VydC5nZXQoKSwgcG9zKSk7CisgICAgICAgICAgICAgaWYg KGV4dCkgeworICAgICAgICAgICAgICAgICBpZiAoWDUwOV9hZGRfZXh0KGNlcnQuZ2V0KCksIGV4 dCwgLTEpKQorICAgICAgICAgICAgICAgICAgICAgKythZGRlZEV4dGVuc2lvbnM7CitAQCAtOTIy LDIwICs5MzEsMjMgQEAgU3NsOjpXcml0ZVByaXZhdGVLZXkoU3NsOjpCSU9fUG9pbnRlciAmYmlv LCBjb25zdCBTZWN1cml0eTo6UHJpdmF0ZUtleVBvaW50ZXIgJnAKKyB9CisgCisgU3NsOjpVbmlx dWVDU3RyaW5nCistU3NsOjpPbmVMaW5lU3VtbWFyeShYNTA5X05BTUUgJm5hbWUpCisrU3NsOjpP bmVMaW5lU3VtbWFyeShjb25zdCBYNTA5X05BTUUgJm5hbWUpCisgeworICAgICByZXR1cm4gU3Ns OjpVbmlxdWVDU3RyaW5nKFg1MDlfTkFNRV9vbmVsaW5lKCZuYW1lLCBudWxscHRyLCAwKSk7Cisg fQorIAorIGJvb2wgU3NsOjpzc2xEYXRlSXNJblRoZUZ1dHVyZShjaGFyIGNvbnN0ICogZGF0ZSkK KyB7CistICAgIEFTTjFfVVRDVElNRSB0bTsKKy0gICAgdG0uZmxhZ3MgPSAwOworLSAgICB0bS50 eXBlID0gMjM7CistICAgIHRtLmRhdGEgPSAodW5zaWduZWQgY2hhciAqKWRhdGU7CistICAgIHRt Lmxlbmd0aCA9IHN0cmxlbihkYXRlKTsKKy0KKy0gICAgcmV0dXJuIChYNTA5X2NtcF9jdXJyZW50 X3RpbWUoJnRtKSA+IDApOworKyAgICBBU04xX1VUQ1RJTUUgKnRtID0gQVNOMV9VVENUSU1FX25l dygpOworKyAgICBpZiAoIXRtKQorKyAgICAgICAgcmV0dXJuIGZhbHNlOworKyAgICBpZiAoIUFT TjFfVVRDVElNRV9zZXRfc3RyaW5nKHRtLCBkYXRlKSkgeworKyAgICAgICAgQVNOMV9VVENUSU1F X2ZyZWUodG0pOworKyAgICAgICAgcmV0dXJuIGZhbHNlOworKyAgICB9CisrICAgIGludCByZXN1 bHQgPSBYNTA5X2NtcF9jdXJyZW50X3RpbWUodG0pOworKyAgICBBU04xX1VUQ1RJTUVfZnJlZSh0 bSk7CisrICAgIHJldHVybiAocmVzdWx0ID4gMCk7CisgfQorIAorIC8vLyBQcmludCB0aGUgdGlt ZSByZXByZXNlbnRlZCBieSBhIEFTTjFfVElNRSBzdHJ1Y3QgdG8gYSBzdHJpbmcgdXNpbmcgR2Vu ZXJhbGl6ZWRUaW1lIGZvcm1hdAorQEAgLTk0NSwxNCArOTU3LDE4IEBAIHN0YXRpYyBib29sIGFz bjF0aW1lVG9HZW5lcmFsaXplZFRpbWVTdHIoQVNOMV9USU1FICphVGltZSwgY2hhciAqYnVmLCBp bnQgYnVmTGVuCisgICAgIC8vIFVUQ1RpbWUgaGFzIHRoZSBmb3JtIFlZTU1EREhITU1TU1taIHwg Wyt8LV1vZmZzZXRdCisgICAgIC8vIEdlbmVyYWxpemVkVGltZSBoYXMgdGhlIGZvcm0gWVlZWU1N RERISE1NU1NbWiB8IFsrfC1dIG9mZnNldF0KKyAKKysgICAgY29uc3QgdW5zaWduZWQgY2hhciAq ZGF0YSA9IEFTTjFfU1RSSU5HX2dldDBfZGF0YShhVGltZSk7CisrICAgIGludCBsZW5ndGggPSBB U04xX1NUUklOR19sZW5ndGgoYVRpbWUpOworKyAgICBpbnQgdHlwZSA9IEFTTjFfU1RSSU5HX3R5 cGUoYVRpbWUpOworKworICAgICAvLyBsZW5ndGggc2hvdWxkIGhhdmUgc3BhY2UgZm9yIGRhdGEg cGx1cyAyIGV4dHJhIGJ5dGVzIGZvciB0aGUgdHdvIGV4dHJhIHllYXIgZmllbGRzCisgICAgIC8v IHBsdXMgdGhlICdcMCcgY2hhci4KKy0gICAgaWYgKChhVGltZS0+bGVuZ3RoICsgMykgPiBidWZM ZW4pCisrICAgIGlmICgobGVuZ3RoICsgMykgPiBidWZMZW4pCisgICAgICAgICByZXR1cm4gZmFs c2U7CisgCisgICAgIGNoYXIgKnN0cjsKKy0gICAgaWYgKGFUaW1lLT50eXBlID09IFZfQVNOMV9V VENUSU1FKSB7CistICAgICAgICBpZiAoYVRpbWUtPmRhdGFbMF0gPiAnNScpIHsgLy8gUkZDIDI0 NTksIHNlY3Rpb24gNC4xLjIuNS4xCisrICAgIGlmICh0eXBlID09IFZfQVNOMV9VVENUSU1FKSB7 CisrICAgICAgICBpZiAoZGF0YVswXSA+ICc1JykgeyAvLyBSRkMgMjQ1OSwgc2VjdGlvbiA0LjEu Mi41LjEKKyAgICAgICAgICAgICBidWZbMF0gPSAnMSc7CisgICAgICAgICAgICAgYnVmWzFdID0g JzknOworICAgICAgICAgfSBlbHNlIHsKK0BAIC05NjAsMTEgKzk3NiwxMSBAQCBzdGF0aWMgYm9v bCBhc24xdGltZVRvR2VuZXJhbGl6ZWRUaW1lU3RyKEFTTjFfVElNRSAqYVRpbWUsIGNoYXIgKmJ1 ZiwgaW50IGJ1ZkxlbgorICAgICAgICAgICAgIGJ1ZlsxXSA9ICcwJzsKKyAgICAgICAgIH0KKyAg ICAgICAgIHN0ciA9IGJ1ZiArMjsKKy0gICAgfSBlbHNlIC8vIGlmIChhVGltZS0+dHlwZSA9PSBW X0FTTjFfR0VORVJBTElaRURUSU1FKQorKyAgICB9IGVsc2UgLy8gaWYgKHR5cGUgPT0gVl9BU04x X0dFTkVSQUxJWkVEVElNRSkKKyAgICAgICAgIHN0ciA9IGJ1ZjsKKyAKKy0gICAgbWVtY3B5KHN0 ciwgYVRpbWUtPmRhdGEsIGFUaW1lLT5sZW5ndGgpOworLSAgICBzdHJbYVRpbWUtPmxlbmd0aF0g PSAnXDAnOworKyAgICBtZW1jcHkoc3RyLCBkYXRhLCBsZW5ndGgpOworKyAgICBzdHJbbGVuZ3Ro XSA9ICdcMCc7CisgICAgIHJldHVybiB0cnVlOworIH0KKyAKK0BAIC05OTYsOCArMTAxMiw4IEBA IGJvb2wgU3NsOjpjZXJ0aWZpY2F0ZU1hdGNoZXNQcm9wZXJ0aWVzKFg1MDkgKmNlcnQsIENlcnRp ZmljYXRlUHJvcGVydGllcyBjb25zdCAmCisgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAKKyAgICAg aWYgKCFwcm9wZXJ0aWVzLnNldENvbW1vbk5hbWUpIHsKKy0gICAgICAgIFg1MDlfTkFNRSAqY2Vy dDFfbmFtZSA9IFg1MDlfZ2V0X3N1YmplY3RfbmFtZShjZXJ0KTsKKy0gICAgICAgIFg1MDlfTkFN RSAqY2VydDJfbmFtZSA9IFg1MDlfZ2V0X3N1YmplY3RfbmFtZShjZXJ0Mik7CisrICAgICAgICBj b25zdCBYNTA5X05BTUUgKmNlcnQxX25hbWUgPSBYNTA5X2dldF9zdWJqZWN0X25hbWUoY2VydCk7 CisrICAgICAgICBjb25zdCBYNTA5X05BTUUgKmNlcnQyX25hbWUgPSBYNTA5X2dldF9zdWJqZWN0 X25hbWUoY2VydDIpOworICAgICAgICAgaWYgKFg1MDlfTkFNRV9jbXAoY2VydDFfbmFtZSwgY2Vy dDJfbmFtZSkgIT0gMCkKKyAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgIH0gZWxzZSBp ZiAocHJvcGVydGllcy5jb21tb25OYW1lICE9IENvbW1vbkhvc3ROYW1lKGNlcnQpKQorZGlmZiAt LWdpdCBhL3NyYy9zc2wvZ2FkZ2V0cy5oIGIvc3JjL3NzbC9nYWRnZXRzLmgKK2luZGV4IGUwYzYw YzMuLjRjNDg3NTkgMTAwNjQ0CistLS0gYS9zcmMvc3NsL2dhZGdldHMuaAorKysrIGIvc3JjL3Nz bC9nYWRnZXRzLmgKK0BAIC0xNjAsNyArMTYwLDcgQEAgYm9vbCBXcml0ZVg1MDlDZXJ0aWZpY2F0 ZShCSU9fUG9pbnRlciAmYmlvLCBjb25zdCBTZWN1cml0eTo6Q2VydFBvaW50ZXIgJiBjZXJ0KTsK KyBib29sIFdyaXRlUHJpdmF0ZUtleShCSU9fUG9pbnRlciAmYmlvLCBjb25zdCBTZWN1cml0eTo6 UHJpdmF0ZUtleVBvaW50ZXIgJnBrZXkpOworIAorIC8vLyBhIFJBSUkgd3JhcHBlciBmb3IgdGhl IG1lbW9yeS1hbGxvY2F0aW5nIGZsYXZvciBvZiBYNTA5X05BTUVfb25lbGluZSgpCistVW5pcXVl Q1N0cmluZyBPbmVMaW5lU3VtbWFyeShYNTA5X05BTUUgJik7CisrVW5pcXVlQ1N0cmluZyBPbmVM aW5lU3VtbWFyeShjb25zdCBYNTA5X05BTUUgJik7CisgCisgLyoqCisgICBcaW5ncm91cCBTc2xD cnRkU3NsQVBJCitAQCAtMjg1LDcgKzI4NSw3IEBAIGNvbnN0IGNoYXIgKkNvbW1vbkhvc3ROYW1l KFg1MDkgKng1MDkpOworIFNCdWYgQXNuVG9TQnVmKGNvbnN0IEFTTjFfU1RSSU5HICYpOworIAor IC8vLyBpbnRlcnByZXRzIFguNTA5IFN1YmplY3Qgb3IgSXNzdWVyIG5hbWUgZW50cnkgKGF0IHRo ZSBnaXZlbiBwb3NpdGlvbikgYXMgQ04KKy1zdGQ6Om9wdGlvbmFsPEFueVA6Okhvc3Q+IFBhcnNl Q29tbW9uTmFtZUF0KFg1MDlfTkFNRSAmLCBpbnQpOworK3N0ZDo6b3B0aW9uYWw8QW55UDo6SG9z dD4gUGFyc2VDb21tb25OYW1lQXQoY29uc3QgWDUwOV9OQU1FICYsIGludCk7CisgCisgLy8vIGlu dGVycHJldHMgdGhlIGdpdmVuIGJ1ZmZlciBhcyBlaXRoZXIgYSB0ZXh0dWFsIHJlcHJlc2VudGF0 aW9uIG9mIGFuIElQCisgLy8vIGFkZHJlc3MgKGlmIHBvc3NpYmxlKSBvciBhIGRvbWFpbiBuYW1l IHdpdGhvdXQgd2lsZGNhcmQgc3VwcG9ydCAob3RoZXJ3aXNlKQorZGlmZiAtLWdpdCBhL3NyYy9z c2wvc3VwcG9ydC5jYyBiL3NyYy9zc2wvc3VwcG9ydC5jYworaW5kZXggZTc4NzIwMy4uMDlmMjY4 YSAxMDA2NDQKKy0tLSBhL3NyYy9zc2wvc3VwcG9ydC5jYworKysrIGIvc3JjL3NzbC9zdXBwb3J0 LmNjCitAQCAtMjcyLDIzICsyNzIsMjMgQEAgUGFyc2VTdWJqZWN0QWx0TmFtZShjb25zdCBHRU5F UkFMX05BTUUgJnNhbikKKyAKKyAgICAgICAgIC8vIFJGQyA1MjgwIHNlY3Rpb24gNC4yLjEuNiBz aWduYWxzIElQdjQvSVB2NiBhZGRyZXNzIGZhbWlseSB1c2luZyBkYXRhIGxlbmd0aAorIAorLSAg ICAgICAgaWYgKHNhbi5kLmlQQWRkcmVzcy0+bGVuZ3RoID09IDQpIHsKKysgICAgICAgIGlmIChB U04xX1NUUklOR19sZW5ndGgoc2FuLmQuaVBBZGRyZXNzKSA9PSA0KSB7CisgICAgICAgICAgICAg c3RydWN0IGluX2FkZHIgYWRkcjsKKyAgICAgICAgICAgICBzdGF0aWNfYXNzZXJ0KHNpemVvZihh ZGRyLnNfYWRkcikgPT0gNCk7CistICAgICAgICAgICAgbWVtY3B5KCZhZGRyLnNfYWRkciwgc2Fu LmQuaVBBZGRyZXNzLT5kYXRhLCBzaXplb2YoYWRkci5zX2FkZHIpKTsKKysgICAgICAgICAgICBt ZW1jcHkoJmFkZHIuc19hZGRyLCBBU04xX1NUUklOR19nZXQwX2RhdGEoc2FuLmQuaVBBZGRyZXNz KSwgc2l6ZW9mKGFkZHIuc19hZGRyKSk7CisgICAgICAgICAgICAgY29uc3QgSXA6OkFkZHJlc3Mg aXAoYWRkcik7CisgICAgICAgICAgICAgcmV0dXJuIEFueVA6Okhvc3Q6OlBhcnNlSXAoaXApOwor ICAgICAgICAgfQorIAorLSAgICAgICAgaWYgKHNhbi5kLmlQQWRkcmVzcy0+bGVuZ3RoID09IDE2 KSB7CisrICAgICAgICBpZiAoQVNOMV9TVFJJTkdfbGVuZ3RoKHNhbi5kLmlQQWRkcmVzcykgPT0g MTYpIHsKKyAgICAgICAgICAgICBzdHJ1Y3QgaW42X2FkZHIgYWRkcjsKKyAgICAgICAgICAgICBz dGF0aWNfYXNzZXJ0KHNpemVvZihhZGRyLnM2X2FkZHIpID09IDE2KTsKKy0gICAgICAgICAgICBt ZW1jcHkoJmFkZHIuczZfYWRkciwgc2FuLmQuaVBBZGRyZXNzLT5kYXRhLCBzaXplb2YoYWRkci5z Nl9hZGRyKSk7CisrICAgICAgICAgICAgbWVtY3B5KCZhZGRyLnM2X2FkZHIsIEFTTjFfU1RSSU5H X2dldDBfZGF0YShzYW4uZC5pUEFkZHJlc3MpLCBzaXplb2YoYWRkci5zNl9hZGRyKSk7CisgICAg ICAgICAgICAgY29uc3QgSXA6OkFkZHJlc3MgaXAoYWRkcik7CisgICAgICAgICAgICAgcmV0dXJu IEFueVA6Okhvc3Q6OlBhcnNlSXAoaXApOworICAgICAgICAgfQorIAorLSAgICAgICAgZGVidWdz KDgzLCAzLCAidW5leHBlY3RlZCBsZW5ndGggb2YgYW4gSVAgYWRkcmVzcyBTQU46ICIgPDwgc2Fu LmQuaVBBZGRyZXNzLT5sZW5ndGgpOworKyAgICAgICAgZGVidWdzKDgzLCAzLCAidW5leHBlY3Rl ZCBsZW5ndGggb2YgYW4gSVAgYWRkcmVzcyBTQU46ICIgPDwgQVNOMV9TVFJJTkdfbGVuZ3RoKHNh bi5kLmlQQWRkcmVzcykpOworICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICAgfQor IAorQEAgLTg1Niw3ICs4NTYsNyBAQCBTc2w6OkluaXRDbGllbnRDb250ZXh0KFNlY3VyaXR5OjpD b250ZXh0UG9pbnRlciAmY3R4LCBTZWN1cml0eTo6UGVlck9wdGlvbnMgJnBlZQorIAorIC8vLyBc aW5ncm91cCBTZXJ2ZXJQcm90b2NvbFNTTEludGVybmFsCisgc3RhdGljIGNvbnN0IGNoYXIgKgor LXNzbF9nZXRfYXR0cmlidXRlKFg1MDlfTkFNRSAqIG5hbWUsIGNvbnN0IGNoYXIgKmF0dHJpYnV0 ZV9uYW1lKQorK3NzbF9nZXRfYXR0cmlidXRlKGNvbnN0IFg1MDlfTkFNRSAqIG5hbWUsIGNvbnN0 IGNoYXIgKmF0dHJpYnV0ZV9uYW1lKQorIHsKKyAgICAgc3RhdGljIGNoYXIgYnVmZmVyWzEwMjRd OworICAgICBidWZmZXJbMF0gPSAnXDAnOworQEAgLTg3OSw3ICs4NzksNyBAQCBzc2xfZ2V0X2F0 dHJpYnV0ZShYNTA5X05BTUUgKiBuYW1lLCBjb25zdCBjaGFyICphdHRyaWJ1dGVfbmFtZSkKKyBj b25zdCBjaGFyICoKKyBTc2w6OkdldFg1MDlVc2VyQXR0cmlidXRlKFg1MDkgKiBjZXJ0LCBjb25z dCBjaGFyICphdHRyaWJ1dGVfbmFtZSkKKyB7CistICAgIFg1MDlfTkFNRSAqbmFtZTsKKysgICAg Y29uc3QgWDUwOV9OQU1FICpuYW1lOworICAgICBjb25zdCBjaGFyICpyZXQ7CisgCisgICAgIGlm ICghY2VydCkKK0BAIC05MzMsNyArOTMzLDcgQEAgY29uc3QgY2hhciAqCisgU3NsOjpHZXRYNTA5 Q0FBdHRyaWJ1dGUoWDUwOSAqIGNlcnQsIGNvbnN0IGNoYXIgKmF0dHJpYnV0ZV9uYW1lKQorIHsK KyAKKy0gICAgWDUwOV9OQU1FICpuYW1lOworKyAgICBjb25zdCBYNTA5X05BTUUgKm5hbWU7Cisg ICAgIGNvbnN0IGNoYXIgKnJldDsKKyAKKyAgICAgaWYgKCFjZXJ0KQorQEAgLTE0ODQsNyArMTQ4 NCw3IEBAIHZvaWQgU3NsOjpJblJhbUNlcnRpZmljYXRlRGJLZXkoY29uc3QgU3NsOjpDZXJ0aWZp Y2F0ZVByb3BlcnRpZXMgJmNlcnRQcm9wZXJ0aWVzCisgICAgIGlmIChjZXJ0UHJvcGVydGllcy5t aW1pY0NlcnQpIHsKKyAgICAgICAgIGlmIChhdXRvICpzaWcgPSBTc2w6Olg1MDlfZ2V0X3NpZ25h dHVyZShjZXJ0UHJvcGVydGllcy5taW1pY0NlcnQpKSB7CisgICAgICAgICAgICAgb3JpZ1NpZ25h dHVyZUFzS2V5ID0gdHJ1ZTsKKy0gICAgICAgICAgICBrZXkuYXBwZW5kKChjb25zdCBjaGFyICop c2lnLT5kYXRhLCBzaWctPmxlbmd0aCk7CisrICAgICAgICAgICAga2V5LmFwcGVuZCgoY29uc3Qg Y2hhciAqKUFTTjFfU1RSSU5HX2dldDBfZGF0YShzaWcpLCBBU04xX1NUUklOR19sZW5ndGgoc2ln KSk7CisgICAgICAgICB9CisgICAgIH0KKyAKKy0tIAorMi41My4wCisKCmRpZmYgLS1naXQgYS9z cXVpZC5zcGVjIGIvc3F1aWQuc3BlYwppbmRleCBiOWQ5ODA0Li41ODRkMWZlIDEwMDY0NAotLS0g YS9zcXVpZC5zcGVjCisrKyBiL3NxdWlkLnNwZWMKQEAgLTMsNyArMyw3IEBACiAKIE5hbWU6ICAg ICBzcXVpZAogVmVyc2lvbjogIDcuNQotUmVsZWFzZTogIDElez9kaXN0fQorUmVsZWFzZTogIDIl ez9kaXN0fQogU3VtbWFyeTogIFRoZSBTcXVpZCBwcm94eSBjYWNoaW5nIHNlcnZlcgogRXBvY2g6 ICAgIDcKICMgU2VlIENSRURJVFMgZm9yIGJyZWFrZG93biBvZiBub24gR1BMdjIrIGNvZGUKQEAg LTM4LDYgKzM4LDcgQEAgUGF0Y2gyMDM6IHNxdWlkLTYuMS1wZXJscGF0aC5wYXRjaAogIyByZXZl cnQgdGhpcyB1cHN0cmVhbSBwYXRjaCAtIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93 X2J1Zy5jZ2k/aWQ9MTkzNjQyMgogIyB3b3JrYXJvdW5kIGZvciAjMTkzNDkxOQogUGF0Y2gyMDQ6 IHNxdWlkLTYuMS1zeW1saW5rLWxhbmctZXJyLnBhdGNoCitQYXRjaDIwNTogc3F1aWQtNy41LW9w ZW5zc2w0LnBhdGNoCiAKICMgY2FjaGVfc3dhcC5zaAogUmVxdWlyZXM6IGJhc2ggZ2F3awpAQCAt MzEyLDYgKzMxMyw5IEBAIGZpCiAKIAogJWNoYW5nZWxvZworKiBXZWQgTWF5IDA2IDIwMjYgUGF2 b2wgxb3DocSNaWsgPHB6YWNpa0ByZWRoYXQuY29tPiAtIDc6Ny41LTIKKy0gQWRkIHBhdGNoIHRv IGZpeCBPcGVuU1NMIDQuMCBjb21wYXRpYmlsaXR5CisKICogTW9uIEFwciAyNyAyMDI2IEx1Ym/F oSBVaGxpYXJpayA8bHVobGlhcmlAcmVkaGF0LmNvbT4gLSA3OjcuNS0xCiAtIG5ldyB2ZXJzaW9u IDcuNQogLSBBZGQgdG1wZmlsZXMuZCBydWxlcyBmb3IgL3ZhciBkaXJlY3RvcmllcyAoYm9vdGMg Y29tcGF0aWJpbGl0eSkK