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: Fix timezone-related bugs in many applications caused by new glib timezone cache Date: Tue, 11 Aug 2026 10:37:06 GMT Message-ID: <178644462687.1.7361245533199828236.rpms-glib2-ce0559a03597@fedoraproject.org> List-ID: X-Git-Repo: rpms/glib2 X-Git-Branch: cve-2026-58016-f44 X-Git-Rev: ce0559a035979db6fcc75a816197a65b140757ce QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2xpYjIKQnJhbmNo IDogY3ZlLTIwMjYtNTgwMTYtZjQ0CkNvbW1pdCA6IGNlMDU1OWEwMzU5NzlkYjZmY2M3NWE4MTYx OTdhNjViMTQwNzU3Y2UKQXV0aG9yIDogTWljaGFlbCBDYXRhbnphcm8gPG1jYXRhbnphcm9AZ25v bWUub3JnPgpEYXRlICAgOiAyMDIwLTEwLTE0VDE0OjQyOjU2LTA1OjAwClN0YXRzICA6ICs2MDYv LTEgaW4gMiBmaWxlKHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3Jw bXMvZ2xpYjIvYy9jZTA1NTlhMDM1OTc5ZGI2ZmNjNzVhODE2MTk3YTY1YjE0MDc1N2NlP2JyYW5j aD1jdmUtMjAyNi01ODAxNi1mNDQKCkxvZzoKRml4IHRpbWV6b25lLXJlbGF0ZWQgYnVncyBpbiBt YW55IGFwcGxpY2F0aW9ucyBjYXVzZWQgYnkgbmV3IGdsaWIgdGltZXpvbmUgY2FjaGUKCi0tLQpk aWZmIC0tZ2l0IGEvZ2xpYjIuc3BlYyBiL2dsaWIyLnNwZWMKaW5kZXggZmM3YzkyYy4uYmFlYTZi YyAxMDA2NDQKLS0tIGEvZ2xpYjIuc3BlYworKysgYi9nbGliMi5zcGVjCkBAIC0xLDYgKzEsNiBA QAogTmFtZTogZ2xpYjIKIFZlcnNpb246IDIuNjYuMQotUmVsZWFzZTogMSV7P2Rpc3R9CitSZWxl YXNlOiAyJXs/ZGlzdH0KIFN1bW1hcnk6IEEgbGlicmFyeSBvZiBoYW5keSB1dGlsaXR5IGZ1bmN0 aW9ucwogCiBMaWNlbnNlOiBMR1BMdjIrCkBAIC0xMCw2ICsxMCw5IEBAIFNvdXJjZTA6IGh0dHA6 Ly9kb3dubG9hZC5nbm9tZS5vcmcvc291cmNlcy9nbGliLzIuNjYvZ2xpYi0le3ZlcnNpb259LnRh ci54egogIyBBdm9pZCByZXF1aXJpbmcgYSB0b28gbmV3IGd0ay1kb2MgdmVyc2lvbiBmb3IgYnVp bGRpbmcgZ2xpYgogUGF0Y2gwOiBndGstZG9jLTEtMzIucGF0Y2gKIAorIyBodHRwczovL2dpdGxh Yi5nbm9tZS5vcmcvR05PTUUvZ2xpYi8tL21lcmdlX3JlcXVlc3RzLzE2NjEKK1BhdGNoMTogdGlt ZXpvbmUtbWFkbmVzcy5wYXRjaAorCiBCdWlsZFJlcXVpcmVzOiBjaHJwYXRoCiBCdWlsZFJlcXVp cmVzOiBnY2MKIEJ1aWxkUmVxdWlyZXM6IGdjYy1jKysKQEAgLTIxNyw2ICsyMjAsOSBAQCBnbGli LWNvbXBpbGUtc2NoZW1hcyAle19kYXRhZGlyfS9nbGliLTIuMC9zY2hlbWFzICY+IC9kZXYvbnVs bCB8fCA6CiAle19kYXRhZGlyfS9pbnN0YWxsZWQtdGVzdHMKIAogJWNoYW5nZWxvZworKiBXZWQg T2N0IDE0IDIwMjAgTWljaGFlbCBDYXRhbnphcm8gPG1jYXRhbnphcm9AcmVkaGF0LmNvbT4gLSAy LjY2LjEtMgorLSBGaXggdGltZXpvbmUtcmVsYXRlZCBidWdzIGluIG1hbnkgYXBwbGljYXRpb25z IGNhdXNlZCBieSBuZXcgZ2xpYiB0aW1lem9uZSBjYWNoZQorCiAqIFRodSBPY3QgIDEgMjAyMCBL YWxldiBMZW1iZXIgPGtsZW1iZXJAcmVkaGF0LmNvbT4gLSAyLjY2LjEtMQogLSBVcGRhdGUgdG8g Mi42Ni4xCiAKCmRpZmYgLS1naXQgYS90aW1lem9uZS1tYWRuZXNzLnBhdGNoIGIvdGltZXpvbmUt bWFkbmVzcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MmI5NDVh Ci0tLSAvZGV2L251bGwKKysrIGIvdGltZXpvbmUtbWFkbmVzcy5wYXRjaApAQCAtMCwwICsxLDU5 OSBAQAorRnJvbSBiNDEzOGJkNGFjYzA0YWQ1NzJkZmEwNDJhMzg0YWFhYTZlNDYyMWFkIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FudD1DMz1CM25pbz0yMEZlcm5h bmRlcz89IDxhbnRvbmlvZkBnbm9tZS5vcmc+CitEYXRlOiBXZWQsIDIzIFNlcCAyMDIwIDE4OjEz OjQ3ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMS80XSBndGltZXpvbmU6IFNwbGl0IG91dCBmYWxs YmFjayB0aW1lem9uZSBpZGVudGlmaWNhdGlvbiBmb3IKKyB1bml4CisKK1doZW4gdGhlIFRaIGVu dmlyb25tZW50IHZhcmlhYmxlIGlzIG5vdCBzZXQsIHdlIGdldCB0aGUgbG9jYWwgdGltZXpvbmUK K2lkZW50aWZpZXIgYnkgcmVhZGluZyBzcGVjaWZpYyBmaWxlcy4KKworV2UgYXJlIGdvaW5nIHRv IG5lZWQgdGhlc2UgaWRlbnRpZmllcnMgZWFybGllciwgc28gc3BsaXQgdGhpcyBsb2dpYyBpbnRv CitpdHMgb3duIGZ1bmN0aW9uLCBpbiBwcmVwYXJhdGlvbiBmb3IgdGhlIG5leHQgY29tbWl0Lgor CitCYXNlZCBvbiBpZGVhIHByb3Bvc2VkIGJ5IFNlYmFzdGlhbiBLZWxsZXIgPHNrZWxsZXJAZ25v bWUub3JnPi4KKy0tLQorIGdsaWIvZ3RpbWV6b25lLmMgfCAxMjcgKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNzMgaW5zZXJ0 aW9ucygrKSwgNTQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9nbGliL2d0aW1lem9uZS5j IGIvZ2xpYi9ndGltZXpvbmUuYworaW5kZXggZWY2N2VjNTBiLi5kOTBhOWJiNzMgMTAwNjQ0Cist LS0gYS9nbGliL2d0aW1lem9uZS5jCisrKysgYi9nbGliL2d0aW1lem9uZS5jCitAQCAtNDM4LDEx ICs0MzgsODAgQEAgem9uZV9mb3JfY29uc3RhbnRfb2Zmc2V0IChHVGltZVpvbmUgKmd0eiwgY29u c3QgZ2NoYXIgKm5hbWUpCisgfQorIAorICNpZmRlZiBHX09TX1VOSVgKKytzdGF0aWMgZ2NoYXIg KgorK3pvbmVfaWRlbnRpZmllcl91bml4ICh2b2lkKQorK3sKKysgIGdjaGFyICpyZXNvbHZlZF9p ZGVudGlmaWVyID0gTlVMTDsKKysgIGdzaXplIHByZWZpeF9sZW4gPSAwOworKyAgZ2NoYXIgKmNh bm9uaWNhbF9wYXRoID0gTlVMTDsKKysgIEdFcnJvciAqcmVhZF9saW5rX2VyciA9IE5VTEw7Cisr ICBjb25zdCBnY2hhciAqdHpkaXI7CisrCisrICAvKiBSZXNvbHZlIHRoZSBhY3R1YWwgdGltZXpv bmUgcG9pbnRlZCB0byBieSAvZXRjL2xvY2FsdGltZS4gKi8KKysgIHJlc29sdmVkX2lkZW50aWZp ZXIgPSBnX2ZpbGVfcmVhZF9saW5rICgiL2V0Yy9sb2NhbHRpbWUiLCAmcmVhZF9saW5rX2Vycik7 CisrICBpZiAocmVzb2x2ZWRfaWRlbnRpZmllciA9PSBOVUxMKQorKyAgICB7CisrICAgICAgZ2Jv b2xlYW4gbm90X2Ffc3ltbGluayA9IGdfZXJyb3JfbWF0Y2hlcyAocmVhZF9saW5rX2VyciwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX0ZJTEVfRVJS T1IsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19G SUxFX0VSUk9SX0lOVkFMKTsKKysgICAgICBnX2NsZWFyX2Vycm9yICgmcmVhZF9saW5rX2Vycik7 CisrCisrICAgICAgLyogRmFsbGJhY2sgdG8gdGhlIGNvbnRlbnQgb2YgL3Zhci9kYi96b25laW5m byBvciAvZXRjL3RpbWV6b25lCisrICAgICAgICogaWYgL2V0Yy9sb2NhbHRpbWUgaXMgbm90IGEg c3ltbGluay4gL3Zhci9kYi96b25laW5mbyBpcworKyAgICAgICAqIHdoZXJlICd0enNldHVwJyBw cm9ncmFtIG9uIEZyZWVCU0QgYW5kIERyYWdvbmZseUJTRCBzdG9yZXMKKysgICAgICAgKiB0aGUg dGltZXpvbmUgY2hvc2VuIGJ5IHRoZSB1c2VyLiAvZXRjL3RpbWV6b25lIGlzIHdoZXJlIHVzZXIK KysgICAgICAgKiBjaG9pY2UgaXMgZXhwcmVzc2VkIG9uIEdlbnRvbyBPcGVuUkMgYW5kIG90aGVy cy4gKi8KKysgICAgICBpZiAobm90X2Ffc3ltbGluayAmJiAoZ19maWxlX2dldF9jb250ZW50cyAo Ii92YXIvZGIvem9uZWluZm8iLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmcmVzb2x2ZWRfaWRlbnRpZmllciwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCkgfHwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZ19maWxlX2dldF9jb250ZW50cyAoIi9ldGMvdGltZXpvbmUiLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcmVzb2x2 ZWRfaWRlbnRpZmllciwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTlVMTCwgTlVMTCkpKQorKyAgICAgICAgZ19zdHJjaG9tcCAocmVzb2x2ZWRfaWRl bnRpZmllcik7CisrICAgICAgZWxzZQorKyAgICAgICAgeworKyAgICAgICAgICAvKiBFcnJvciAq LworKyAgICAgICAgICBnX2Fzc2VydCAocmVzb2x2ZWRfaWRlbnRpZmllciA9PSBOVUxMKTsKKysg ICAgICAgICAgZ290byBvdXQ7CisrICAgICAgICB9CisrICAgIH0KKysgIGVsc2UKKysgICAgewor KyAgICAgIC8qIFJlc29sdmUgcmVsYXRpdmUgcGF0aCAqLworKyAgICAgIGNhbm9uaWNhbF9wYXRo ID0gZ19jYW5vbmljYWxpemVfZmlsZW5hbWUgKHJlc29sdmVkX2lkZW50aWZpZXIsICIvZXRjIik7 CisrICAgICAgZ19mcmVlIChyZXNvbHZlZF9pZGVudGlmaWVyKTsKKysgICAgICByZXNvbHZlZF9p ZGVudGlmaWVyID0gZ19zdGVhbF9wb2ludGVyICgmY2Fub25pY2FsX3BhdGgpOworKyAgICB9Cisr CisrICB0emRpciA9IGdfZ2V0ZW52ICgiVFpESVIiKTsKKysgIGlmICh0emRpciA9PSBOVUxMKQor KyAgICB0emRpciA9ICIvdXNyL3NoYXJlL3pvbmVpbmZvIjsKKysKKysgIC8qIFN0cmlwIHRoZSBw cmVmaXggYW5kIHNsYXNoZXMgaWYgcG9zc2libGUuICovCisrICBpZiAoZ19zdHJfaGFzX3ByZWZp eCAocmVzb2x2ZWRfaWRlbnRpZmllciwgdHpkaXIpKQorKyAgICB7CisrICAgICAgcHJlZml4X2xl biA9IHN0cmxlbiAodHpkaXIpOworKyAgICAgIHdoaWxlICgqKHJlc29sdmVkX2lkZW50aWZpZXIg KyBwcmVmaXhfbGVuKSA9PSAnLycpCisrICAgICAgICBwcmVmaXhfbGVuKys7CisrICAgIH0KKysK KysgIGlmIChwcmVmaXhfbGVuID4gMCkKKysgICAgbWVtbW92ZSAocmVzb2x2ZWRfaWRlbnRpZmll ciwgcmVzb2x2ZWRfaWRlbnRpZmllciArIHByZWZpeF9sZW4sCisrICAgICAgICAgICAgIHN0cmxl biAocmVzb2x2ZWRfaWRlbnRpZmllcikgLSBwcmVmaXhfbGVuICsgMSAgLyogbnVsIHRlcm1pbmF0 b3IgKi8pOworKworKyAgZ19hc3NlcnQgKHJlc29sdmVkX2lkZW50aWZpZXIgIT0gTlVMTCk7Cisr Cisrb3V0OgorKyAgZ19mcmVlIChjYW5vbmljYWxfcGF0aCk7CisrCisrICByZXR1cm4gcmVzb2x2 ZWRfaWRlbnRpZmllcjsKKyt9CisrCisgc3RhdGljIEdCeXRlcyoKKyB6b25lX2luZm9fdW5peCAo Y29uc3QgZ2NoYXIgICppZGVudGlmaWVyLAorICAgICAgICAgICAgICAgICBnY2hhciAgICAgICAq Km91dF9pZGVudGlmaWVyKQorIHsKKy0gIGdjaGFyICpmaWxlbmFtZTsKKysgIGdjaGFyICpmaWxl bmFtZSA9IE5VTEw7CisgICBHTWFwcGVkRmlsZSAqZmlsZSA9IE5VTEw7CisgICBHQnl0ZXMgKnpv bmVpbmZvID0gTlVMTDsKKyAgIGdjaGFyICpyZXNvbHZlZF9pZGVudGlmaWVyID0gTlVMTDsKK0BA IC00NzAsNjEgKzUzOSwxMSBAQCB6b25lX2luZm9fdW5peCAoY29uc3QgZ2NoYXIgICppZGVudGlm aWVyLAorICAgICB9CisgICBlbHNlCisgICAgIHsKKy0gICAgICBnc2l6ZSBwcmVmaXhfbGVuID0g MDsKKy0gICAgICBnY2hhciAqY2Fub25pY2FsX3BhdGggPSBOVUxMOworLSAgICAgIEdFcnJvciAq cmVhZF9saW5rX2VyciA9IE5VTEw7CistCistICAgICAgZmlsZW5hbWUgPSBnX3N0cmR1cCAoIi9l dGMvbG9jYWx0aW1lIik7CistCistICAgICAgLyogUmVzb2x2ZSB0aGUgYWN0dWFsIHRpbWV6b25l IHBvaW50ZWQgdG8gYnkgL2V0Yy9sb2NhbHRpbWUuICovCistICAgICAgcmVzb2x2ZWRfaWRlbnRp ZmllciA9IGdfZmlsZV9yZWFkX2xpbmsgKGZpbGVuYW1lLCAmcmVhZF9saW5rX2Vycik7CisrICAg ICAgcmVzb2x2ZWRfaWRlbnRpZmllciA9IHpvbmVfaWRlbnRpZmllcl91bml4ICgpOworICAgICAg IGlmIChyZXNvbHZlZF9pZGVudGlmaWVyID09IE5VTEwpCistICAgICAgICB7CistICAgICAgICAg IGdib29sZWFuIG5vdF9hX3N5bWxpbmsgPSBnX2Vycm9yX21hdGNoZXMgKHJlYWRfbGlua19lcnIs CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdf RklMRV9FUlJPUiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgR19GSUxFX0VSUk9SX0lOVkFMKTsKKy0gICAgICAgICAgZ19jbGVhcl9lcnJvciAo JnJlYWRfbGlua19lcnIpOworLQorLSAgICAgICAgICAvKiBGYWxsYmFjayB0byB0aGUgY29udGVu dCBvZiAvdmFyL2RiL3pvbmVpbmZvIG9yIC9ldGMvdGltZXpvbmUKKy0gICAgICAgICAgICogaWYg L2V0Yy9sb2NhbHRpbWUgaXMgbm90IGEgc3ltbGluay4gL3Zhci9kYi96b25laW5mbyBpcworLSAg ICAgICAgICAgKiB3aGVyZSAndHpzZXR1cCcgcHJvZ3JhbSBvbiBGcmVlQlNEIGFuZCBEcmFnb25m bHlCU0Qgc3RvcmVzCistICAgICAgICAgICAqIHRoZSB0aW1lem9uZSBjaG9zZW4gYnkgdGhlIHVz ZXIuIC9ldGMvdGltZXpvbmUgaXMgd2hlcmUgdXNlcgorLSAgICAgICAgICAgKiBjaG9pY2UgaXMg ZXhwcmVzc2VkIG9uIEdlbnRvbyBPcGVuUkMgYW5kIG90aGVycy4gKi8KKy0gICAgICAgICAgaWYg KG5vdF9hX3N5bWxpbmsgJiYgKGdfZmlsZV9nZXRfY29udGVudHMgKCIvdmFyL2RiL3pvbmVpbmZv IiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZyZXNvbHZlZF9pZGVudGlmaWVyLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCkgfHwKKy0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGdfZmlsZV9nZXRfY29udGVudHMgKCIvZXRjL3RpbWV6b25lIiwKKy0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZyZXNvbHZl ZF9pZGVudGlmaWVyLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTlVMTCwgTlVMTCkpKQorLSAgICAgICAgICAgIGdfc3RyY2hvbXAgKHJlc29s dmVkX2lkZW50aWZpZXIpOworLSAgICAgICAgICBlbHNlCistICAgICAgICAgICAgeworLSAgICAg ICAgICAgICAgLyogRXJyb3IgKi8KKy0gICAgICAgICAgICAgIGdfYXNzZXJ0IChyZXNvbHZlZF9p ZGVudGlmaWVyID09IE5VTEwpOworLSAgICAgICAgICAgICAgZ290byBvdXQ7CistICAgICAgICAg ICAgfQorLSAgICAgICAgfQorLSAgICAgIGVsc2UKKy0gICAgICAgIHsKKy0gICAgICAgICAgLyog UmVzb2x2ZSByZWxhdGl2ZSBwYXRoICovCistICAgICAgICAgIGNhbm9uaWNhbF9wYXRoID0gZ19j YW5vbmljYWxpemVfZmlsZW5hbWUgKHJlc29sdmVkX2lkZW50aWZpZXIsICIvZXRjIik7CistICAg ICAgICAgIGdfZnJlZSAocmVzb2x2ZWRfaWRlbnRpZmllcik7CistICAgICAgICAgIHJlc29sdmVk X2lkZW50aWZpZXIgPSBnX3N0ZWFsX3BvaW50ZXIgKCZjYW5vbmljYWxfcGF0aCk7CistICAgICAg ICB9CisrICAgICAgICBnb3RvIG91dDsKKyAKKy0gICAgICAvKiBTdHJpcCB0aGUgcHJlZml4IGFu ZCBzbGFzaGVzIGlmIHBvc3NpYmxlLiAqLworLSAgICAgIGlmIChnX3N0cl9oYXNfcHJlZml4IChy ZXNvbHZlZF9pZGVudGlmaWVyLCB0emRpcikpCistICAgICAgICB7CistICAgICAgICAgIHByZWZp eF9sZW4gPSBzdHJsZW4gKHR6ZGlyKTsKKy0gICAgICAgICAgd2hpbGUgKCoocmVzb2x2ZWRfaWRl bnRpZmllciArIHByZWZpeF9sZW4pID09ICcvJykKKy0gICAgICAgICAgICBwcmVmaXhfbGVuKys7 CistICAgICAgICB9CistCistICAgICAgaWYgKHByZWZpeF9sZW4gPiAwKQorLSAgICAgICAgbWVt bW92ZSAocmVzb2x2ZWRfaWRlbnRpZmllciwgcmVzb2x2ZWRfaWRlbnRpZmllciArIHByZWZpeF9s ZW4sCistICAgICAgICAgICAgICAgICBzdHJsZW4gKHJlc29sdmVkX2lkZW50aWZpZXIpIC0gcHJl Zml4X2xlbiArIDEgIC8qIG51bCB0ZXJtaW5hdG9yICovKTsKKy0KKy0gICAgICBnX2ZyZWUgKGNh bm9uaWNhbF9wYXRoKTsKKysgICAgICBmaWxlbmFtZSA9IGdfc3RyZHVwICgiL2V0Yy9sb2NhbHRp bWUiKTsKKyAgICAgfQorIAorICAgZmlsZSA9IGdfbWFwcGVkX2ZpbGVfbmV3IChmaWxlbmFtZSwg RkFMU0UsIE5VTEwpOworLS0gCitHaXRMYWIKKworCitGcm9tIDdlNTlhNGMwZDVhYjhlMDhmZTJj ZjU5NmZiOTUxMjcwOGUxODNkZTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VU Ri04P3E/QW50PUMzPUIzbmlvPTIwRmVybmFuZGVzPz0gPGFudG9uaW9mQGdub21lLm9yZz4KK0Rh dGU6IFdlZCwgMjMgU2VwIDIwMjAgMTg6Mjg6NDAgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAyLzRd IGd0aW1lem9uZTogU2V0IHJlc29sdmVkX2lkZW50aWZpZXIgZWFybGllcgorCitXZSBoYXZlIGJl ZW4gcGFzc2luZyBhICZyZXNvbHZlZF9pZGVudGlmaWVyIGFkZHJlc3MgYXJvdW5kIGZvciBtdWx0 aXBsZQorZnVuY3Rpb25zIHRvIHNldCBpdC4gRWFjaCBmdW5jdGlvbiBtYXkgZWl0aGVyOgorCisg ICAgMS4gIGxlYXZpbmcgaXQgZm9yIHRoZSBuZXh0IGZ1bmN0aW9uIHRvIHNldCwgaWYgcmV0dXJu aW5nIGVhcmx5OworICAgIDIuICBzZXQgaXQgdG8gYSBkdXBsaWNhdGUgb2YgdGhlIHBhc3NlZCBp ZGVudGlmaWVyLCBpZiBub3QgTlVMTDsKKyAgICAzLiAgZ2V0IGEgZmFsbGJhY2sgdmFsdWUgYW5k IHNldCBpdCwgb3RoZXJ3aXNlLgorCitUaGlzIGNhbiBiZSBzaW1wbGlmaWVkIGJ5IHNldHRpbmcg aXQgZWFybHkgdG8gZWl0aGVyOgorCisgICAgMS4gIGEgZHVwbGljYXRlIG9mIHRoZSBwYXNzZWQg aWRlbnRpZmllciwgaWYgbm90IE5VTEw7CisgICAgMi4gIGEgZmFsbGJhY2sgdmFsdWUsIG90aGVy d2lzZS4KKworVGhpcyB3YXkgd2UgY2FuIGF2b2lkIHNvbWUgdW5uZWNlc3Nhcnkgc3RyaW5nIGR1 cGxpY2F0aW9uIGFuZCBmcmVlaW5nLgorQWxzbywgb24gV2luZG93cywgd2UgYXZvaWQgY2FsbGlu ZyB3aW5kb3dzX2RlZmF1bHRfdHpuYW1lKCkgdHdpY2UuCisKK0J1dCB0aGUgbWFpbiBtb3RpdmF0 aW9uIGZvciB0aGlzIGNoYW5nZSBpcyBlbmFibGluZyB0aGUgcGVyZm9ybWFuY2UKK29wdGltaXph dGlvbiBpbiB0aGUgbmV4dCBjb21taXQuCistLS0KKyBnbGliL2d0aW1lem9uZS5jIHwgNzYgKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNo YW5nZWQsIDI1IGluc2VydGlvbnMoKyksIDUxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEv Z2xpYi9ndGltZXpvbmUuYyBiL2dsaWIvZ3RpbWV6b25lLmMKK2luZGV4IGQ5MGE5YmI3My4uNDAw NjRjOWFiIDEwMDY0NAorLS0tIGEvZ2xpYi9ndGltZXpvbmUuYworKysrIGIvZ2xpYi9ndGltZXpv bmUuYworQEAgLTUwOCwxMyArNTA4LDEyIEBAIG91dDoKKyB9CisgCisgc3RhdGljIEdCeXRlcyoK Ky16b25lX2luZm9fdW5peCAoY29uc3QgZ2NoYXIgICppZGVudGlmaWVyLAorLSAgICAgICAgICAg ICAgICBnY2hhciAgICAgICAqKm91dF9pZGVudGlmaWVyKQorK3pvbmVfaW5mb191bml4IChjb25z dCBnY2hhciAqaWRlbnRpZmllciwKKysgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgKnJlc29s dmVkX2lkZW50aWZpZXIpCisgeworICAgZ2NoYXIgKmZpbGVuYW1lID0gTlVMTDsKKyAgIEdNYXBw ZWRGaWxlICpmaWxlID0gTlVMTDsKKyAgIEdCeXRlcyAqem9uZWluZm8gPSBOVUxMOworLSAgZ2No YXIgKnJlc29sdmVkX2lkZW50aWZpZXIgPSBOVUxMOworICAgY29uc3QgZ2NoYXIgKnR6ZGlyOwor IAorICAgdHpkaXIgPSBnX2dldGVudiAoIlRaRElSIik7CitAQCAtNTI3LDggKzUyNiw2IEBAIHpv bmVfaW5mb191bml4IChjb25zdCBnY2hhciAgKmlkZW50aWZpZXIsCisgICAgICBnbGliYyBhbGxv d3MgYm90aCBzeW50YXhlcywgc28gd2Ugc2hvdWxkIHRvbyAqLworICAgaWYgKGlkZW50aWZpZXIg IT0gTlVMTCkKKyAgICAgeworLSAgICAgIHJlc29sdmVkX2lkZW50aWZpZXIgPSBnX3N0cmR1cCAo aWRlbnRpZmllcik7CistCisgICAgICAgaWYgKCppZGVudGlmaWVyID09ICc6JykKKyAgICAgICAg IGlkZW50aWZpZXIgKys7CisgCitAQCAtNTM5LDcgKzUzNiw2IEBAIHpvbmVfaW5mb191bml4IChj b25zdCBnY2hhciAgKmlkZW50aWZpZXIsCisgICAgIH0KKyAgIGVsc2UKKyAgICAgeworLSAgICAg IHJlc29sdmVkX2lkZW50aWZpZXIgPSB6b25lX2lkZW50aWZpZXJfdW5peCAoKTsKKyAgICAgICBp ZiAocmVzb2x2ZWRfaWRlbnRpZmllciA9PSBOVUxMKQorICAgICAgICAgZ290byBvdXQ7CisgCitA QCAtNTU5LDEwICs1NTUsNiBAQCB6b25lX2luZm9fdW5peCAoY29uc3QgZ2NoYXIgICppZGVudGlm aWVyLAorICAgZ19hc3NlcnQgKHJlc29sdmVkX2lkZW50aWZpZXIgIT0gTlVMTCk7CisgCisgb3V0 OgorLSAgaWYgKG91dF9pZGVudGlmaWVyICE9IE5VTEwpCistICAgICpvdXRfaWRlbnRpZmllciA9 IGdfc3RlYWxfcG9pbnRlciAoJnJlc29sdmVkX2lkZW50aWZpZXIpOworLQorLSAgZ19mcmVlIChy ZXNvbHZlZF9pZGVudGlmaWVyKTsKKyAgIGdfZnJlZSAoZmlsZW5hbWUpOworIAorICAgcmV0dXJu IHpvbmVpbmZvOworQEAgLTgzNCwxNCArODI2LDEzIEBAIHJlZ2lzdGVyX3R6aV90b190emkgKFJl Z1RaSSAqcmVnLCBUSU1FX1pPTkVfSU5GT1JNQVRJT04gKnR6aSkKKyAKKyBzdGF0aWMgZ3VpbnQK KyBydWxlc19mcm9tX3dpbmRvd3NfdGltZV96b25lIChjb25zdCBnY2hhciAgICppZGVudGlmaWVy LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdjaGFyICAgICAgICAqKm91dF9pZGVu dGlmaWVyLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRpbWVab25lUnVsZSAqKnJ1 bGVzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdib29sZWFuICAgICAgIGNvcHlf aWRlbnRpZmllcikKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAg ICpyZXNvbHZlZF9pZGVudGlmaWVyLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRp bWVab25lUnVsZSAqKnJ1bGVzKQorIHsKKyAgIEhLRVkga2V5OworICAgZ2NoYXIgKnN1YmtleSA9 IE5VTEw7CisgICBnY2hhciAqc3Via2V5X2R5bmFtaWMgPSBOVUxMOworLSAgZ2NoYXIgKmtleV9u YW1lID0gTlVMTDsKKysgIGNvbnN0IGdjaGFyICprZXlfbmFtZTsKKyAgIGNvbnN0IGdjaGFyICpy ZWdfa2V5ID0KKyAgICAgIlNPRlRXQVJFXFxNaWNyb3NvZnRcXFdpbmRvd3MgTlRcXEN1cnJlbnRW ZXJzaW9uXFxUaW1lIFpvbmVzXFwiOworICAgVElNRV9aT05FX0lORk9STUFUSU9OIHR6aTsKK0BA IC04NTYsMTkgKzg0NywxNSBAQCBydWxlc19mcm9tX3dpbmRvd3NfdGltZV96b25lIChjb25zdCBn Y2hhciAgICppZGVudGlmaWVyLAorICAgaWYgKEdldFN5c3RlbURpcmVjdG9yeVcgKHdpbnN5c3Bh dGgsIE1BWF9QQVRIKSA9PSAwKQorICAgICByZXR1cm4gMDsKKyAKKy0gIGdfYXNzZXJ0IChjb3B5 X2lkZW50aWZpZXIgPT0gRkFMU0UgfHwgb3V0X2lkZW50aWZpZXIgIT0gTlVMTCk7CisgICBnX2Fz c2VydCAocnVsZXMgIT0gTlVMTCk7CisgCistICBpZiAoY29weV9pZGVudGlmaWVyKQorLSAgICAq b3V0X2lkZW50aWZpZXIgPSBOVUxMOworLQorICAgKnJ1bGVzID0gTlVMTDsKKyAgIGtleV9uYW1l ID0gTlVMTDsKKyAKKyAgIGlmICghaWRlbnRpZmllcikKKy0gICAga2V5X25hbWUgPSB3aW5kb3dz X2RlZmF1bHRfdHpuYW1lICgpOworKyAgICBrZXlfbmFtZSA9IHJlc29sdmVkX2lkZW50aWZpZXI7 CisgICBlbHNlCistICAgIGtleV9uYW1lID0gZ19zdHJkdXAgKGlkZW50aWZpZXIpOworKyAgICBr ZXlfbmFtZSA9IGlkZW50aWZpZXI7CisgCisgICBpZiAoIWtleV9uYW1lKQorICAgICByZXR1cm4g MDsKK0BAIC0xMDExLDE2ICs5OTgsOSBAQCB1dGYxNl9jb252X2ZhaWxlZDoKKyAgICAgICBlbHNl CisgICAgICAgICAoKnJ1bGVzKVtydWxlc19udW0gLSAxXS5zdGFydF95ZWFyID0gKCpydWxlcylb cnVsZXNfbnVtIC0gMl0uc3RhcnRfeWVhciArIDE7CisgCistICAgICAgaWYgKGNvcHlfaWRlbnRp ZmllcikKKy0gICAgICAgICpvdXRfaWRlbnRpZmllciA9IGdfc3RlYWxfcG9pbnRlciAoJmtleV9u YW1lKTsKKy0gICAgICBlbHNlCistICAgICAgICBnX2ZyZWUgKGtleV9uYW1lKTsKKy0KKyAgICAg ICByZXR1cm4gcnVsZXNfbnVtOworICAgICB9CisgCistICBnX2ZyZWUgKGtleV9uYW1lKTsKKy0K KyAgIHJldHVybiAwOworIH0KKyAKK0BAIC0xNTIxLDE2ICsxNTAxLDEzIEBAIHBhcnNlX2lkZW50 aWZpZXJfYm91bmRhcmllcyAoZ2NoYXIgKipwb3MsIFRpbWVab25lUnVsZSAqdHpyKQorICAqLwor IHN0YXRpYyBndWludAorIHJ1bGVzX2Zyb21faWRlbnRpZmllciAoY29uc3QgZ2NoYXIgICAqaWRl bnRpZmllciwKKy0gICAgICAgICAgICAgICAgICAgICAgIGdjaGFyICAgICAgICAqKm91dF9pZGVu dGlmaWVyLAorICAgICAgICAgICAgICAgICAgICAgICAgVGltZVpvbmVSdWxlICoqcnVsZXMpCisg eworICAgZ2NoYXIgKnBvczsKKyAgIFRpbWVab25lUnVsZSB0enI7CisgCistICBnX2Fzc2VydCAo b3V0X2lkZW50aWZpZXIgIT0gTlVMTCk7CisgICBnX2Fzc2VydCAocnVsZXMgIT0gTlVMTCk7Cisg CistICAqb3V0X2lkZW50aWZpZXIgPSBOVUxMOworICAgKnJ1bGVzID0gTlVMTDsKKyAKKyAgIGlm ICghaWRlbnRpZmllcikKK0BAIC0xNTQ1LDcgKzE1MjIsNiBAQCBydWxlc19mcm9tX2lkZW50aWZp ZXIgKGNvbnN0IGdjaGFyICAgKmlkZW50aWZpZXIsCisgCisgICBpZiAoKnBvcyA9PSAwKQorICAg ICB7CistICAgICAgKm91dF9pZGVudGlmaWVyID0gZ19zdHJkdXAgKGlkZW50aWZpZXIpOworICAg ICAgIHJldHVybiBjcmVhdGVfcnVsZXNldF9mcm9tX3J1bGUgKHJ1bGVzLCAmdHpyKTsKKyAgICAg fQorIAorQEAgLTE1NjYsMTQgKzE1NDIsOCBAQCBydWxlc19mcm9tX2lkZW50aWZpZXIgKGNvbnN0 IGdjaGFyICAgKmlkZW50aWZpZXIsCisgICAgICAgLyogVXNlIFVTIHJ1bGVzLCBXaW5kb3dzJyBk ZWZhdWx0IGlzIFBhY2lmaWMgU3RhbmRhcmQgVGltZSAqLworICAgICAgIGlmICgocnVsZXNfbnVt ID0gcnVsZXNfZnJvbV93aW5kb3dzX3RpbWVfem9uZSAoIlBhY2lmaWMgU3RhbmRhcmQgVGltZSIs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBO VUxMLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcnVsZXMsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBGQUxTRSkpKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcnVsZXMpKSkKKyAgICAgICAgIHsKKy0gICAgICAgICAgLyogV2UgZG9u J3Qgd2FudCB0byBoYXJkY29kZSBvdXIgaWRlbnRpZmllciBoZXJlIGFzCistICAgICAgICAgICAq ICJQYWNpZmljIFN0YW5kYXJkIFRpbWUiLCB1c2Ugd2hhdCB3YXMgcGFzc2VkIGluCistICAgICAg ICAgICAqLworLSAgICAgICAgICAqb3V0X2lkZW50aWZpZXIgPSBnX3N0cmR1cCAoaWRlbnRpZmll cik7CistCisgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBydWxlc19udW0gLSAxOyBpKyspCisg ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgKCpydWxlcylbaV0uc3RkX29mZnNldCA9IC0g dHpyLnN0ZF9vZmZzZXQ7CitAQCAtMTU5NCw3ICsxNTY0LDYgQEAgcnVsZXNfZnJvbV9pZGVudGlm aWVyIChjb25zdCBnY2hhciAgICppZGVudGlmaWVyLAorICAgaWYgKCFwYXJzZV9pZGVudGlmaWVy X2JvdW5kYXJpZXMgKCZwb3MsICZ0enIpKQorICAgICByZXR1cm4gMDsKKyAKKy0gICpvdXRfaWRl bnRpZmllciA9IGdfc3RyZHVwIChpZGVudGlmaWVyKTsKKyAgIHJldHVybiBjcmVhdGVfcnVsZXNl dF9mcm9tX3J1bGUgKHJ1bGVzLCAmdHpyKTsKKyB9CisgCitAQCAtMTYwNSwxNyArMTU3NCwxMyBA QCBwYXJzZV9mb290ZXJ0eiAoY29uc3QgZ2NoYXIgKmZvb3Rlciwgc2l6ZV90IGZvb3RlcmxlbikK KyAgIGdjaGFyICp0enN0cmluZyA9IGdfc3RybmR1cCAoZm9vdGVyICsgMSwgZm9vdGVybGVuIC0g Mik7CisgICBHVGltZVpvbmUgKmZvb3RlcnR6ID0gTlVMTDsKKyAKKy0gIC8qIEZJWE1FOiBpdCBt aWdodCBtYWtlIHNlbnNlIHRvIG1vZGlmeSBydWxlc19mcm9tX2lkZW50aWZpZXIgdG8KKy0gICAg IGFsbG93IE5VTEwgdG8gYmUgcGFzc2VkIGluc3RlYWQgb2YgJmlkZW50LCBzYXZpbmcgdGhlIHN0 cmR1cC9mcmVlCistICAgICBwYWlyLiAgVGhlIGFsbG9jYXRpb24gZm9yIHR6c3RyaW5nIGNvdWxk IGFsc28gYmUgYXZvaWRlZCBieQorKyAgLyogRklYTUU6IFRoZSBhbGxvY2F0aW9uIGZvciB0enN0 cmluZyBjb3VsZCBiZSBhdm9pZGVkIGJ5CisgICAgICBwYXNzaW5nIGEgZ3NpemUgaWRlbnRpZmll cl9sZW4gYXJndW1lbnQgdG8gcnVsZXNfZnJvbV9pZGVudGlmaWVyCisgICAgICBhbmQgY2hhbmdp bmcgdGhlIGNvZGUgaW4gdGhhdCBmdW5jdGlvbiB0byBzdG9wIGFzc3VtaW5nIHRoYXQKKyAgICAg IGlkZW50aWZpZXIgaXMgbnVsLXRlcm1pbmF0ZWQuICAqLworLSAgZ2NoYXIgKmlkZW50OworICAg VGltZVpvbmVSdWxlICpydWxlczsKKy0gIGd1aW50IHJ1bGVzX251bSA9IHJ1bGVzX2Zyb21faWRl bnRpZmllciAodHpzdHJpbmcsICZpZGVudCwgJnJ1bGVzKTsKKysgIGd1aW50IHJ1bGVzX251bSA9 IHJ1bGVzX2Zyb21faWRlbnRpZmllciAodHpzdHJpbmcsICZydWxlcyk7CisgCistICBnX2ZyZWUg KGlkZW50KTsKKyAgIGdfZnJlZSAodHpzdHJpbmcpOworICAgaWYgKHJ1bGVzX251bSA+IDEpCisg ICAgIHsKK0BAIC0xNzIzLDYgKzE2ODgsMTYgQEAgZ190aW1lX3pvbmVfbmV3IChjb25zdCBnY2hh ciAqaWRlbnRpZmllcikKKyAgICAgICAgICAgR19VTkxPQ0sgKHRpbWVfem9uZXMpOworICAgICAg ICAgICByZXR1cm4gdHo7CisgICAgICAgICB9CisrICAgICAgZWxzZQorKyAgICAgICAgcmVzb2x2 ZWRfaWRlbnRpZmllciA9IGdfc3RyZHVwIChpZGVudGlmaWVyKTsKKysgICAgfQorKyAgZWxzZQor KyAgICB7CisrI2lmZGVmIEdfT1NfVU5JWAorKyAgICAgIHJlc29sdmVkX2lkZW50aWZpZXIgPSB6 b25lX2lkZW50aWZpZXJfdW5peCAoKTsKKysjZWxpZiBkZWZpbmVkIChHX09TX1dJTjMyKQorKyAg ICAgIHJlc29sdmVkX2lkZW50aWZpZXIgPSB3aW5kb3dzX2RlZmF1bHRfdHpuYW1lICgpOworKyNl bmRpZgorICAgICB9CisgCisgICB0eiA9IGdfc2xpY2VfbmV3MCAoR1RpbWVab25lKTsKK0BAIC0x NzMxLDcgKzE3MDYsNyBAQCBnX3RpbWVfem9uZV9uZXcgKGNvbnN0IGdjaGFyICppZGVudGlmaWVy KQorICAgem9uZV9mb3JfY29uc3RhbnRfb2Zmc2V0ICh0eiwgaWRlbnRpZmllcik7CisgCisgICBp ZiAodHotPnRfaW5mbyA9PSBOVUxMICYmCistICAgICAgKHJ1bGVzX251bSA9IHJ1bGVzX2Zyb21f aWRlbnRpZmllciAoaWRlbnRpZmllciwgJnJlc29sdmVkX2lkZW50aWZpZXIsICZydWxlcykpKQor KyAgICAgIChydWxlc19udW0gPSBydWxlc19mcm9tX2lkZW50aWZpZXIgKGlkZW50aWZpZXIsICZy dWxlcykpKQorICAgICB7CisgICAgICAgaW5pdF96b25lX2Zyb21fcnVsZXMgKHR6LCBydWxlcywg cnVsZXNfbnVtLCBnX3N0ZWFsX3BvaW50ZXIgKCZyZXNvbHZlZF9pZGVudGlmaWVyKSk7CisgICAg ICAgZ19mcmVlIChydWxlcyk7CitAQCAtMTc0MCw3ICsxNzE1LDcgQEAgZ190aW1lX3pvbmVfbmV3 IChjb25zdCBnY2hhciAqaWRlbnRpZmllcikKKyAgIGlmICh0ei0+dF9pbmZvID09IE5VTEwpCisg ICAgIHsKKyAjaWZkZWYgR19PU19VTklYCistICAgICAgR0J5dGVzICp6b25laW5mbyA9IHpvbmVf aW5mb191bml4IChpZGVudGlmaWVyLCAmcmVzb2x2ZWRfaWRlbnRpZmllcik7CisrICAgICAgR0J5 dGVzICp6b25laW5mbyA9IHpvbmVfaW5mb191bml4IChpZGVudGlmaWVyLCByZXNvbHZlZF9pZGVu dGlmaWVyKTsKKyAgICAgICBpZiAoem9uZWluZm8gIT0gTlVMTCkKKyAgICAgICAgIHsKKyAgICAg ICAgICAgaW5pdF96b25lX2Zyb21faWFuYV9pbmZvICh0eiwgem9uZWluZm8sIGdfc3RlYWxfcG9p bnRlciAoJnJlc29sdmVkX2lkZW50aWZpZXIpKTsKK0BAIC0xNzQ4LDkgKzE3MjMsOCBAQCBnX3Rp bWVfem9uZV9uZXcgKGNvbnN0IGdjaGFyICppZGVudGlmaWVyKQorICAgICAgICAgfQorICNlbGlm IGRlZmluZWQgKEdfT1NfV0lOMzIpCisgICAgICAgaWYgKChydWxlc19udW0gPSBydWxlc19mcm9t X3dpbmRvd3NfdGltZV96b25lIChpZGVudGlmaWVyLAorLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnJlc29sdmVkX2lkZW50aWZpZXIsCistICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcnVsZXMs CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBU UlVFKSkpCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICByZXNvbHZlZF9pZGVudGlmaWVyLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJnJ1bGVzKSkpCisgICAgICAgICB7CisgICAgICAgICAg IGluaXRfem9uZV9mcm9tX3J1bGVzICh0eiwgcnVsZXMsIHJ1bGVzX251bSwgZ19zdGVhbF9wb2lu dGVyICgmcmVzb2x2ZWRfaWRlbnRpZmllcikpOworICAgICAgICAgICBnX2ZyZWUgKHJ1bGVzKTsK K0BAIC0xNzc3LDcgKzE3NTEsNyBAQCBnX3RpbWVfem9uZV9uZXcgKGNvbnN0IGdjaGFyICppZGVu dGlmaWVyKQorICAgICAgICAgICAgICAgICAgIHJ1bGVzWzBdLnN0YXJ0X3llYXIgPSBNSU5fVFpZ RUFSOworICAgICAgICAgICAgICAgICAgIHJ1bGVzWzFdLnN0YXJ0X3llYXIgPSBNQVhfVFpZRUFS OworIAorLSAgICAgICAgICAgICAgICAgIGluaXRfem9uZV9mcm9tX3J1bGVzICh0eiwgcnVsZXMs IDIsIHdpbmRvd3NfZGVmYXVsdF90em5hbWUgKCkpOworKyAgICAgICAgICAgICAgICAgIGluaXRf em9uZV9mcm9tX3J1bGVzICh0eiwgcnVsZXMsIDIsIGdfc3RlYWxfcG9pbnRlciAoJnJlc29sdmVk X2lkZW50aWZpZXIpKTsKKyAgICAgICAgICAgICAgICAgfQorIAorICAgICAgICAgICAgICAgZ19m cmVlIChydWxlcyk7CistLSAKK0dpdExhYgorCisKK0Zyb20gNTIzN2I0OTg0MzA2ODQ3ZGZmMDVk YjU0YjVjMTJjODM2NjJmMmYxZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRG LTg/cT9BbnQ9QzM9QjNuaW89MjBGZXJuYW5kZXM/PSA8YW50b25pb2ZAZ25vbWUub3JnPgorRGF0 ZTogVGh1LCAxIE9jdCAyMDIwIDIxOjExOjQ0ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMy80XSBn dGltZXpvbmU6IENhY2hlIGRlZmF1bHQgdGltZXpvbmUgaW5kZWZpbml0ZWx5CisKK1dlIGNhY2hl IEdUaW1lWm9uZSBpbnN0YW5jZXMgdG8gYXZvaWQgZXhwZW5zaXZlIGNvbnN0cnVjdGlvbiB3aGVu IHRoZQorc2FtZSBpZCBpcyByZXF1ZXN0ZWQgYWdhaW4uCisKK0hvd2V2ZXIsIGlmIHRoZSBOVUxM IGlkIGlzIHBhc3NlZCB0byBnX3RpbWVfem9uZV9uZXcoKSwgd2UgYWx3YXlzCitjb25zdHJ1Y3Qg YSBuZXcgaW5zdGFuY2UgZm9yIHRoZSBkZWZhdWx0L2ZhbGxiYWNrIHRpbWV6b25lLgorCitXaXRo IHRoZSByZWNlbnQgaW50cm9kdWN0aW9uIG9mIHNvbWUgaGVhdnkgY2FsY3VsYXRpb25zWzFdLCBy ZXBlYXRlZAoraW5zdGFuY2UgY29uc3RydWN0aW9uIGluIHN1Y2ggY2FzZXMgaGFzIHZpc2libGUg cGVyZm9ybWFuY2UgaW1wYWN0IGluCituYXV0aWx1cyBsaXN0IHZpZXcgYW5kIG90aGVyIHN1Y2gg R3RrVHJlZVZpZXcgY29uc3VtZXJzLgorCitUbyBhdm9pZCB0aGlzLCBjYWNoZSByZWZlcmVuY2Ug dG8gYSBjb25zdHJ1Y3RlZCBkZWZhdWx0IHRpbWV6b25lIGFuZAordXNlIGl0IHRoZSBuZXh0IHRp bWUgZ190aW1lX3pvbmVfbmV3KCkgaXMgY2FsbGVkIHdpdGggTlVMTCBhcmd1bWVudCwKK2FzIGxv bmcgYXMgdGhlIGRlZmF1bHQgaWRlbnRpZmllciBkb2Vzbid0IGNoYW5nZS4gV2UgYWxyZWFkeSBk aWQgdGhlCitzYW1lIGZvciB0aGUgbG9jYWwgdGltZXpvbmVbMl0uCisKK0ZpeGVzOiBodHRwczov L2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ2xpYi8tL2lzc3Vlcy8yMjA0CisKK0Jhc2VkIG9uIGlk ZWEgcHJvcG9zZWQgYnkgU2ViYXN0aWFuIEtlbGxlciA8c2tlbGxlckBnbm9tZS5vcmc+LgorCitb MV0gMjVkOTUwYjYxZjkyZjI1Y2M5YWIyMGQ2ODNhYTRkNjk2OWY5MzA5OAorWzJdIDU1MWU4MzY2 MmRlOTgxNWQxNjFhODJjNzYwY2ZhNzc5OTU5MDU3NDAKKy0tLQorIGdsaWIvZ3RpbWV6b25lLmMg fCAzNyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCisgMSBmaWxlIGNoYW5n ZWQsIDMyIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9nbGli L2d0aW1lem9uZS5jIGIvZ2xpYi9ndGltZXpvbmUuYworaW5kZXggNDAwNjRjOWFiLi4wMzVkYTJm NDUgMTAwNjQ0CistLS0gYS9nbGliL2d0aW1lem9uZS5jCisrKysgYi9nbGliL2d0aW1lem9uZS5j CitAQCAtMTk1LDYgKzE5NSw4IEBAIHN0cnVjdCBfR1RpbWVab25lCisgCisgR19MT0NLX0RFRklO RV9TVEFUSUMgKHRpbWVfem9uZXMpOworIHN0YXRpYyBHSGFzaFRhYmxlLyo8c3RyaW5nPywgR1Rp bWVab25lPiovICp0aW1lX3pvbmVzOworK0dfTE9DS19ERUZJTkVfU1RBVElDICh0el9kZWZhdWx0 KTsKKytzdGF0aWMgR1RpbWVab25lICp0el9kZWZhdWx0ID0gTlVMTDsKKyBHX0xPQ0tfREVGSU5F X1NUQVRJQyAodHpfbG9jYWwpOworIHN0YXRpYyBnY2hhciAqdHplbnZfY2FjaGVkID0gTlVMTDsK KyBzdGF0aWMgR1RpbWVab25lICp0el9sb2NhbCA9IE5VTEw7CitAQCAtMTY3NSwxMiArMTY3Nywx MiBAQCBnX3RpbWVfem9uZV9uZXcgKGNvbnN0IGdjaGFyICppZGVudGlmaWVyKQorICAgZ2ludCBy dWxlc19udW07CisgICBnY2hhciAqcmVzb2x2ZWRfaWRlbnRpZmllciA9IE5VTEw7CisgCistICBH X0xPQ0sgKHRpbWVfem9uZXMpOworLSAgaWYgKHRpbWVfem9uZXMgPT0gTlVMTCkKKy0gICAgdGlt ZV96b25lcyA9IGdfaGFzaF90YWJsZV9uZXcgKGdfc3RyX2hhc2gsIGdfc3RyX2VxdWFsKTsKKy0K KyAgIGlmIChpZGVudGlmaWVyKQorICAgICB7CisrICAgICAgR19MT0NLICh0aW1lX3pvbmVzKTsK KysgICAgICBpZiAodGltZV96b25lcyA9PSBOVUxMKQorKyAgICAgICAgdGltZV96b25lcyA9IGdf aGFzaF90YWJsZV9uZXcgKGdfc3RyX2hhc2gsIGdfc3RyX2VxdWFsKTsKKysKKyAgICAgICB0eiA9 IGdfaGFzaF90YWJsZV9sb29rdXAgKHRpbWVfem9uZXMsIGlkZW50aWZpZXIpOworICAgICAgIGlm ICh0eikKKyAgICAgICAgIHsKK0BAIC0xNjkzLDExICsxNjk1LDI2IEBAIGdfdGltZV96b25lX25l dyAoY29uc3QgZ2NoYXIgKmlkZW50aWZpZXIpCisgICAgIH0KKyAgIGVsc2UKKyAgICAgeworKyAg ICAgIEdfTE9DSyAodHpfZGVmYXVsdCk7CisgI2lmZGVmIEdfT1NfVU5JWAorICAgICAgIHJlc29s dmVkX2lkZW50aWZpZXIgPSB6b25lX2lkZW50aWZpZXJfdW5peCAoKTsKKyAjZWxpZiBkZWZpbmVk IChHX09TX1dJTjMyKQorICAgICAgIHJlc29sdmVkX2lkZW50aWZpZXIgPSB3aW5kb3dzX2RlZmF1 bHRfdHpuYW1lICgpOworICNlbmRpZgorKyAgICAgIGlmICh0el9kZWZhdWx0KQorKyAgICAgICAg eworKyAgICAgICAgICAvKiBGbHVzaCBkZWZhdWx0IGlmIGNoYW5nZWQgKi8KKysgICAgICAgICAg aWYgKGdfc3RyY21wMCAodHpfZGVmYXVsdC0+bmFtZSwgcmVzb2x2ZWRfaWRlbnRpZmllcikpCisr ICAgICAgICAgICAgZ19jbGVhcl9wb2ludGVyICgmdHpfZGVmYXVsdCwgZ190aW1lX3pvbmVfdW5y ZWYpOworKyAgICAgICAgICBlbHNlCisrICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgdHog PSBnX3RpbWVfem9uZV9yZWYgKHR6X2RlZmF1bHQpOworKyAgICAgICAgICAgICAgR19VTkxPQ0sg KHR6X2RlZmF1bHQpOworKworKyAgICAgICAgICAgICAgZ19mcmVlIChyZXNvbHZlZF9pZGVudGlm aWVyKTsKKysgICAgICAgICAgICAgIHJldHVybiB0ejsKKysgICAgICAgICAgICB9CisrICAgICAg ICB9CisgICAgIH0KKyAKKyAgIHR6ID0gZ19zbGljZV9uZXcwIChHVGltZVpvbmUpOworQEAgLTE3 NzMsOSArMTc5MCwxOSBAQCBnX3RpbWVfem9uZV9uZXcgKGNvbnN0IGdjaGFyICppZGVudGlmaWVy KQorICAgICB7CisgICAgICAgaWYgKGlkZW50aWZpZXIpCisgICAgICAgICBnX2hhc2hfdGFibGVf aW5zZXJ0ICh0aW1lX3pvbmVzLCB0ei0+bmFtZSwgdHopOworKyAgICAgIGVsc2UgaWYgKHR6LT5u YW1lKQorKyAgICAgICAgeworKyAgICAgICAgICAvKiBDYWNoaW5nIHJlZmVyZW5jZSAqLworKyAg ICAgICAgICBnX2F0b21pY19pbnRfaW5jICgmdHotPnJlZl9jb3VudCk7CisrICAgICAgICAgIHR6 X2RlZmF1bHQgPSB0ejsKKysgICAgICAgIH0KKyAgICAgfQorICAgZ19hdG9taWNfaW50X2luYyAo JnR6LT5yZWZfY291bnQpOworLSAgR19VTkxPQ0sgKHRpbWVfem9uZXMpOworKworKyAgaWYgKGlk ZW50aWZpZXIpCisrICAgIEdfVU5MT0NLICh0aW1lX3pvbmVzKTsKKysgIGVsc2UKKysgICAgR19V TkxPQ0sgKHR6X2RlZmF1bHQpOworIAorICAgcmV0dXJuIHR6OworIH0KKy0tIAorR2l0TGFiCisK KworRnJvbSAwMjc1MzY0NGIzMzY2MGExNzVkMWE5YjFlYTllODcxN2MzMTRlZjIzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FudD1DMz1CM25pbz0yMEZlcm5hbmRl cz89IDxhbnRvbmlvZkBnbm9tZS5vcmc+CitEYXRlOiBXZWQsIDIzIFNlcCAyMDIwIDE5OjM2OjQ5 ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggNC80XSBSZXZlcnQgImd0aW1lem9uZTogQ2FjaGUgdGlt ZXpvbmVzIGJhc2VkIG9uIHRoZQorIGlkZW50aWZpZXIgdGhleSB3ZXJlIGNyZWF0ZWQgYnkiCisK K1RoaXMgcmV2ZXJ0cyBjb21taXQgODUxMjQxZjE5YTNmZDllYzY5M2IzZGQ4ZjM3YTg0YzdmOTcw OTg0YS4KKworVGhhdCBjb21taXQgYXZvaWRzIGEgcGVyZm9ybWFuY2UgcmVncmVzc2lvbiBidXQg aW50cm9kdWNlcyBhIGJlaGF2aW9yIHJlZ3Jlc3Npb246CitjaGFuZ2VzIHRvIC9ldGMvbG9jYWx0 aW1lIGhhdmUgbm8gZWZmZWN0IGZvciB0aGUgcmVtYWluaW5nIG9mIHRoZSBhcHBsaWNhdGlvbidz CitydW50aW1lLgorCitXaXRoIHRoZSBvcHRpbWl6YXRpb24gaW50cm9kdWNlZCBieSB0aGUgcHJl dmlvdXMgY29tbWl0LCB3ZSBjYW4gcGFzcyBOVUxMIHRvCitnX3RpbWVfem9uZV9uZXcoKSByZXBl YXRlZGx5IHdpdGggbm8gcGVyZm9ybWFuY2UgZHJhd2JhY2ssIHNvIHdlIG5vIGxvbmdlciBoYXZl Cit0byB3b3JrYXJvdW5kIHRoaXMgY2FzZS4KKy0tLQorIGdsaWIvZ3RpbWV6b25lLmMgfCAxMyAr KystLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRp b25zKC0pCisKK2RpZmYgLS1naXQgYS9nbGliL2d0aW1lem9uZS5jIGIvZ2xpYi9ndGltZXpvbmUu YworaW5kZXggMDM1ZGEyZjQ1Li44ZTM4YmI1NDkgMTAwNjQ0CistLS0gYS9nbGliL2d0aW1lem9u ZS5jCisrKysgYi9nbGliL2d0aW1lem9uZS5jCitAQCAtMTk4LDcgKzE5OCw2IEBAIHN0YXRpYyBH SGFzaFRhYmxlLyo8c3RyaW5nPywgR1RpbWVab25lPiovICp0aW1lX3pvbmVzOworIEdfTE9DS19E RUZJTkVfU1RBVElDICh0el9kZWZhdWx0KTsKKyBzdGF0aWMgR1RpbWVab25lICp0el9kZWZhdWx0 ID0gTlVMTDsKKyBHX0xPQ0tfREVGSU5FX1NUQVRJQyAodHpfbG9jYWwpOworLXN0YXRpYyBnY2hh ciAqdHplbnZfY2FjaGVkID0gTlVMTDsKKyBzdGF0aWMgR1RpbWVab25lICp0el9sb2NhbCA9IE5V TEw7CisgCisgI2RlZmluZSBNSU5fVFpZRUFSIDE5MTYgLyogRGF5bGlnaHQgU2F2aW5ncyBzdGFy dGVkIGluIFdXSSAqLworQEAgLTE4NjMsMTcgKzE4NjIsMTEgQEAgZ190aW1lX3pvbmVfbmV3X2xv Y2FsICh2b2lkKQorICAgR19MT0NLICh0el9sb2NhbCk7CisgCisgICAvKiBJcyB0aW1lIHpvbmUg Y2hhbmdlZCBhbmQgbXVzdCBiZSBmbHVzaGVkPyAqLworLSAgaWYgKHR6X2xvY2FsICYmIGdfc3Ry Y21wMCAodHplbnYsIHR6ZW52X2NhY2hlZCkgIT0gMCkKKy0gICAgeworLSAgICAgIGdfY2xlYXJf cG9pbnRlciAoJnR6X2xvY2FsLCBnX3RpbWVfem9uZV91bnJlZik7CistICAgICAgZ19jbGVhcl9w b2ludGVyICgmdHplbnZfY2FjaGVkLCBnX2ZyZWUpOworLSAgICB9CisrICBpZiAodHpfbG9jYWwg JiYgZ19zdHJjbXAwIChnX3RpbWVfem9uZV9nZXRfaWRlbnRpZmllciAodHpfbG9jYWwpLCB0emVu dikpCisrICAgIGdfY2xlYXJfcG9pbnRlciAoJnR6X2xvY2FsLCBnX3RpbWVfem9uZV91bnJlZik7 CisgCisgICBpZiAodHpfbG9jYWwgPT0gTlVMTCkKKy0gICAgeworLSAgICAgIHR6X2xvY2FsID0g Z190aW1lX3pvbmVfbmV3ICh0emVudik7CistICAgICAgdHplbnZfY2FjaGVkID0gZ19zdHJkdXAg KHR6ZW52KTsKKy0gICAgfQorKyAgICB0el9sb2NhbCA9IGdfdGltZV96b25lX25ldyAodHplbnYp OworIAorICAgdHogPSBnX3RpbWVfem9uZV9yZWYgKHR6X2xvY2FsKTsKKyAKKy0tIAorR2l0TGFi CisK