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: Paulo Alcantara To: git-commits@fedoraproject.org Subject: [rpms/cifs-utils] f43: cifs.upcall: fix regression with kerberos mounts Date: Mon, 06 Jul 2026 22:15:14 GMT Message-ID: <178337611490.1.15418076230128843032.rpms-cifs-utils-a054f54b8530@fedoraproject.org> List-ID: X-Git-Repo: rpms/cifs-utils X-Git-Branch: f43 X-Git-Rev: a054f54b8530b3fbaedfbc9821f23991d82143c5 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvY2lmcy11dGlscwogICAgICAgICAgICBCcmFuY2ggOiBmNDMKICAgICAgICAg ICAgQ29tbWl0IDogYTA1NGY1NGI4NTMwYjNmYmFlZGZiYzk4MjFmMjM5OTFkODIxNDNjNQogICAg ICAgICAgICBBdXRob3IgOiBQYXVsbyBBbGNhbnRhcmEgPHBhYWxjYW50QHJlZGhhdC5jb20+CiAg ICAgICAgICAgIERhdGUgICA6IDIwMjYtMDctMDZUMTk6MDQ6MzctMDM6MDAKICAgICAgICAgICAg U3RhdHMgIDogKzM5Mi8tMCBpbiAyIGZpbGUocykKICAgICAgICAgICAgVVJMICAgIDogaHR0cHM6 Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9jaWZzLXV0aWxzL2MvYTA1NGY1NGI4NTMwYjNm YmFlZGZiYzk4MjFmMjM5OTFkODIxNDNjNT9icmFuY2g9ZjQzCgogICAgICAgICAgICBMb2c6CiAg ICAgICAgICAgIGNpZnMudXBjYWxsOiBmaXggcmVncmVzc2lvbiB3aXRoIGtlcmJlcm9zIG1vdW50 cwoKIC0gUmVzb2x2ZXM6IHJoYnojMjQ5NzQ0NgogLSBSZXNvbHZlczogcmhieiMyNDk2OTYzCiAt IFJlc29sdmVzOiByaGJ6IzI0ODk4MDggLSBDVkUtMjAyNi0xMjUwNQoKU2lnbmVkLW9mZi1ieTog UGF1bG8gQWxjYW50YXJhIDxwYWFsY2FudEByZWRoYXQuY29tPgoKLS0tCmRpZmYgLS1naXQgYS9j aWZzLXV0aWxzLnNwZWMgYi9jaWZzLXV0aWxzLnNwZWMKaW5kZXggZWIzNTRjZi4uNDg3ZmYyZSAx MDA2NDQKLS0tIGEvY2lmcy11dGlscy5zcGVjCisrKyBiL2NpZnMtdXRpbHMuc3BlYwpAQCAtMjUs NiArMjUsNyBAQCBSZWNvbW1lbmRzOiAle25hbWV9LWluZm8lez9faXNhfSA9ICV7dmVyc2lvbn0t JXtyZWxlYXNlfQogU291cmNlMDogICAgICAgICBodHRwczovL2Rvd25sb2FkLnNhbWJhLm9yZy9w dWIvbGludXgtY2lmcy9jaWZzLXV0aWxzLyV7bmFtZX0tJXt2ZXJzaW9ufS50YXIuYnoyCiAKIFBh dGNoMDogY2lmcy51cGNhbGwtZml4LWNvbXBpbGVyLXdhcm5pbmctd2l0aC1XdmxhLnBhdGNoCitQ YXRjaDE6IGNpZnMudXBjYWxsLWZpeC1yZWdyZXNzaW9uLXdpdGgta3JiNS1jcmVkdWlkLnBhdGNo CiAKICVkZXNjcmlwdGlvbgogVGhlIFNNQi9DSUZTIHByb3RvY29sIGlzIGEgc3RhbmRhcmQgZmls ZSBzaGFyaW5nIHByb3RvY29sIHdpZGVseSBkZXBsb3llZAoKZGlmZiAtLWdpdCBhL2NpZnMudXBj YWxsLWZpeC1yZWdyZXNzaW9uLXdpdGgta3JiNS1jcmVkdWlkLnBhdGNoIGIvY2lmcy51cGNhbGwt Zml4LXJlZ3Jlc3Npb24td2l0aC1rcmI1LWNyZWR1aWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uNDQ2YzM5YgotLS0gL2Rldi9udWxsCisrKyBiL2NpZnMudXBjYWxs LWZpeC1yZWdyZXNzaW9uLXdpdGgta3JiNS1jcmVkdWlkLnBhdGNoCkBAIC0wLDAgKzEsMzkxIEBA CitGcm9tIGU5NDk1OTYzZTBkNWMyNmY3ZDAxMzc4MjlkOGRjNjI1MTMwYjUzY2MgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiBFbnpvIE1hdHN1bWl5YSA8ZW1hdHN1bWl5YUBzdXNlLmRl PgorRGF0ZTogTW9uLCA2IEp1bCAyMDI2IDEwOjU1OjU1IC0wMzAwCitTdWJqZWN0OiBbUEFUQ0hd IGNpZnMudXBjYWxsOiBmaXggcmVncmVzc2lvbiB3aXRoIGtyYjUgKyBjcmVkdWlkCisKK0NvbW1p dCA5NzJjNWI1ZmY5NWUgKCJjaWZzLnVwY2FsbDogcmVtb3ZlIGdldHB3dWlkKCkgZGVwZW5kZW5j eSIpCitpbnRyb2R1Y2VkIGEgcmVncmVzc2lvbiB3aGVuIHVzaW5nIGNyZWR1aWQgIT0gdWlkIChl LmcuCisibW91bnQuY2lmcyAtbyBzZWM9a3JiNSxjcnVpZD1YIiksIHNvICd1aWQnIGxvY2FsIHZh ciBpcyByZXBsYWNlZAord2l0aCBwcm9jZnMgIlVpZCIgdmFsdWUgKGluIHRoZSBleGFtcGxlLCB0 aGUgb25lIGZyb20gbW91bnQuY2lmcykuCisKK1RoYXQgY29tbWl0IGlnbm9yZWQgdGhlIGZhY3Qg dGhhdDoKKyAgbW91bnQgVUlEIGNhbiBiZSBkaWZmZXJlbnQgZnJvbSBjcmVkcyBVSUQsIGFuZCB0 aGF0IGNhbGxpbmctYXBwCisgIHByb2Nlc3MgKHBvc3QtbW91bnQpIGNhbiBiZSBkaWZmZXJlbnQg ZnJvbSBib3RoCisKK1RoaXMgcGF0Y2ggInJldmVydHMiIDk3MmM1YjVmZjk1ZSAoImNpZnMudXBj YWxsOiByZW1vdmUgZ2V0cHd1aWQoKQorZGVwZW5kZW5jeSIpOyB0cmFuc2Zvcm0gdGhlICJlbWVy Z2VuY3kiLWFkZGVkIGZ1bmN0aW9uIGdldF91aWRnaWQoKQoraW50byBtYXBfdWlkZ2lkKCksIG5v dyBvbmx5IHVzZWQgdG8gZG8gTlMgVUlEL0dJRCBtYXBwaW5nLgorCitBbHNvIGFkZCBnZXRwd3Vp ZCgpIGJhY2ssIGJ1dCB0aGlzIHRpbWUgY2FsbGVkIHdoaWxlIHN0aWxsIG9uIGhvc3QKK25hbWVz cGFjZSwgc28gYW55IHBvc3NpYmxlIGN1c3RvbSBOU1MgbW9kdWxlIGlzIHJhbiBhcyBhbGxvd2Vk IGJ5CitzeXNhZG1pbi4KKworQW55IHNjZW5hcmlvIGludm9sdmluZyB1bm1hcHBlZCBVSURzIG9y IEdJRHMgaXMgdW5zdXBwb3J0ZWQ7IHRoaXMKK21lYW5zIHRoYXQgYW55IFVJRDpHSUQgaW4gYSBj aGlsZCB1c2VyIG5hbWVzcGFjZSBfbXVzdF8gbWFwIGJhY2sgdG8KK2EgdmFsaWQgYW5kIGV4aXN0 aW5nIGhvc3QgVUlEOkdJRC4KKworRml4ZXM6IDk3MmM1YjVmZjk1ZSAoImNpZnMudXBjYWxsOiBy ZW1vdmUgZ2V0cHd1aWQoKSBkZXBlbmRlbmN5IikKK1JlcG9ydGVkLWJ5OiBQYXVsbyBBbGNhbnRh cmEgKFJlZCBIYXQpIDxwY0BtYW5ndWViaXQub3JnPgorU2lnbmVkLW9mZi1ieTogRW56byBNYXRz dW1peWEgPGVtYXRzdW1peWFAc3VzZS5kZT4KK1NpZ25lZC1vZmYtYnk6IFBhdWxvIEFsY2FudGFy YSAoUmVkIEhhdCkgPHBjQG1hbmd1ZWJpdC5vcmc+CitTaWduZWQtb2ZmLWJ5OiBTdGV2ZSBGcmVu Y2ggPHN0ZnJlbmNoQG1pY3Jvc29mdC5jb20+CistLS0KKyBjaWZzLnVwY2FsbC5jIHwgMjc5ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxl IGNoYW5nZWQsIDE3NyBpbnNlcnRpb25zKCspLCAxMDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1n aXQgYS9jaWZzLnVwY2FsbC5jIGIvY2lmcy51cGNhbGwuYworaW5kZXggNzQ3NjE3NzkwNTc2Li40 MjIwNWU2NmE2NzYgMTAwNjQ0CistLS0gYS9jaWZzLnVwY2FsbC5jCisrKysgYi9jaWZzLnVwY2Fs bC5jCitAQCAtNTIsNiArNTIsNyBAQAorICNpbmNsdWRlIDxhcnBhL2luZXQuaD4KKyAjaW5jbHVk ZSA8Y3R5cGUuaD4KKyAjaW5jbHVkZSA8Z3JwLmg+CisrI2luY2x1ZGUgPHB3ZC5oPgorICNpbmNs dWRlIDxzdGRib29sLmg+CisgI2luY2x1ZGUgPGVycm5vLmg+CisgI2luY2x1ZGUgPHNjaGVkLmg+ CitAQCAtMTM3NSwxMTggKzEzNzYsMTcwIEBAIHN0YXRpYyBpbnQgaXBfdG9fZnFkbihjb25zdCBj aGFyICphZGRyc3RyLCBjaGFyICpob3N0LCBzaXplX3QgaG9zdGxlbikKKyAJcmV0dXJuIDA7Cisg fQorIAorLS8qIGNvdmVyIHdvcnN0IGNhc2UvaW1wb3NzaWJsZSBzY2VuYXJpb3MgKi8KKy0jZGVm aW5lIFBST0NfUElEX1BBVEhfTUFYTEVOCSgoaW50KXNpemVvZigiL3Byb2MvMjE0NzQ4MzY0Ny9z dGF0dXMiKSkKKy0vKiBtYXggdmFsaWQgVUlEL0dJRCBpcyAoVUlOVF9NQVggLSAxKSAqLworLSNk ZWZpbmUgSU5WQUxJRF9VSURHSUQJCVVJTlRfTUFYCisrI2RlZmluZSBJRF9NQVBfUEFUSF9NQVgg KChpbnQpc2l6ZW9mKCIvcHJvYy8yMTQ3NDgzNjQ3L3VpZF9tYXAiKSkKKyAKKy0vKgorLSAqIGdl dF91aWRnaWQgLSBHZXQgQHBpZCdzIChyZWFsKSBVSUQgYW5kL29yIEdJRC4KKy0gKiBAcGlkOiBw cm9jZXNzIHRvIGdldCBVSUQvR0lEIGZyb20KKy0gKiBAdWlkcDogcG9pbnRlciB0byBzdG9yZSBA cGlkJ3MgVUlEIChjYW4gYmUgTlVMTCkKKy0gKiBAZ2lkcDogcG9pbnRlciB0byBzdG9yZSBAcGlk J3MgR0lEIChjYW4gYmUgTlVMTCkKKy0gKgorLSAqIEV4dHJhY3QgIlVpZDoiIGFuZCAiR2lkOiIg ZmllbGRzIGZyb20gL3Byb2MvQHBpZC9zdGF0dXMuCistICogRG8gc28gYmFzZWQgb24gd2hldGhl ciBAdWlkcCBvciBAZ2lkcCBhcmUgTlVMTC4KKy0gKgorLSAqIFRoaXMgZnVuY3Rpb24gYXNzdW1l cyB3ZSdyZSBvbiB0aGUgc2FtZSBuYW1lc3BhY2UgYXMgQHBpZC4KKy0gKgorLSAqIFJldHVybjog MCBvbiBzdWNjZXNzLCAtMSBvdGhlcndpc2UgKGVycm5vIHNldCkuCistICoKKy0gKiBPbiBlcnJv cnMsICpAdWlkcCBhbmQgKkBnaWRwIGFyZSBzZXQgdG8gSU5WQUxJRF9VSURHSUQuCistICovCist c3RhdGljIGludCBnZXRfdWlkZ2lkKHBpZF90IHBpZCwgdWlkX3QgKnVpZHAsIGdpZF90ICpnaWRw KQorK3N0YXRpYyBpbnQgbWFwX2lkKHBpZF90IHBpZCwgY29uc3QgY2hhciAqbWFwLCB1bnNpZ25l ZCBpbnQgKmlkcCkKKyB7CistCWNoYXIgcGF0aFtQUk9DX1BJRF9QQVRIX01BWExFTl0gPSB7fSwg YnVmWzI1Nl07CisrCXVuc2lnbmVkIGxvbmcgbG9uZyBuc19zdGFydCwgaG9zdF9zdGFydCwgcmFu Z2U7CisrCWNoYXIgbWFwX3BhdGhbSURfTUFQX1BBVEhfTUFYXTsKKysJaW50IG1hcF9wYXRoX3Np emUgPSBzaXplb2YobWFwX3BhdGgpOworKwl1bnNpZ25lZCBpbnQgaWQ7CisgCUZJTEUgKmZwID0g TlVMTDsKKy0JaW50IHJldDsKKysJaW50IHJldCA9IDE7CisgCistCWVycm5vID0gMDsKKy0JaWYg KHBpZCA8IDAgfHwgKCF1aWRwICYmICFnaWRwKSkgeworLQkJZXJybm8gPSBFSU5WQUw7CistCQly ZXR1cm4gLTE7CistCX0KKysJZXJybm8gPSBFSU5WQUw7CisrCWlmIChwaWQgPCAwIHx8ICFtYXAg fHwgIWlkcCB8fCAqaWRwID09IFVJTlRfTUFYKQorKwkJZ290byBvdXQ7CisgCistCWlmICh1aWRw KQorLQkJKnVpZHAgPSBJTlZBTElEX1VJREdJRDsKKy0KKy0JaWYgKGdpZHApCistCQkqZ2lkcCA9 IElOVkFMSURfVUlER0lEOworLQorLQlyZXQgPSBzbnByaW50ZihwYXRoLCBQUk9DX1BJRF9QQVRI X01BWExFTiwgIi9wcm9jLyVkL3N0YXR1cyIsIHBpZCk7CistCWlmIChyZXQgPCAwIHx8IHJldCA+ PSBQUk9DX1BJRF9QQVRIX01BWExFTikgeworLQkJaWYgKCFlcnJubykKKysJcmV0ID0gc25wcmlu dGYobWFwX3BhdGgsIG1hcF9wYXRoX3NpemUsICIvcHJvYy8lZC8lcyIsIHBpZCwgbWFwKTsKKysJ aWYgKHJldCA8IDAgfHwgcmV0ID49IG1hcF9wYXRoX3NpemUpIHsKKysJCWlmIChyZXQgPj0gbWFw X3BhdGhfc2l6ZSkKKyAJCQllcnJubyA9IEVOQU1FVE9PTE9ORzsKKy0JCXJldHVybiAtMTsKKysJ CXJldCA9IDE7CisrCQlnb3RvIG91dDsKKyAJfQorIAorLQlmcCA9IGZvcGVuKHBhdGgsICJyIik7 CistCWlmICghZnApIHsKKy0JCXJldCA9IC0xOworKwlyZXQgPSAxOworKwlmcCA9IGZvcGVuKG1h cF9wYXRoLCAiciIpOworKwlpZiAoIWZwKQorIAkJZ290byBvdXQ7CistCX0KKyAKKy0JLyogUGFy c2UgL3Byb2MvcGlkL3N0YXR1cyBmaWVsZHMgKi8KKy0JZXJybm8gPSAwOworLQlyZXQgPSAtMTsK Ky0Jd2hpbGUgKGZnZXRzKGJ1ZiwgMjU2LCBmcCkpIHsKKy0JCXVuc2lnbmVkIGxvbmcgbG9uZyB2 YWw7CisrCS8qCisrCSAqIFRoZSBtYXAgZmlsZXMgaGF2ZSB0aGUgc2FtZSBmb3JtYXQ6CisrCSAq ICAgPE5TIElEIHN0YXJ0PiA8aG9zdCBJRCBzdGFydD4gPHJhbmdlPgorKwkgKiAgIC4uLiAoPG11 bHRpcGxlIGVudHJpZXMgYXJlIHN1cHBvcnRlZCkgLi4uCisrCSAqCisrCSAqIEZvcm11bGEgYW5k IHZhbGlkYXRpb246CisrCSAqICAgPGZpbmFsIE5TIElEPiA9ICgqQGlkcCAtIDxob3N0IElEIHN0 YXJ0PikgKyA8TlMgSUQgc3RhcnQ+CisrCSAqCisrCSAqIC0gSURzOiBbMCwgVUlOVF9NQVggLSAx XQorKwkgKiAtIHJhbmdlOiBbMSwgVUlOVF9NQVhdLCB3aGVyZSByYW5nZSA9PSBVSU5UX01BWCBy ZXF1aXJlcyBib3RoIElEIHJhbmdlcyB0byBzdGFydCBhdCAwLAorKwkgKiAgIHdoaWNoIHRoZW4g bWVhbnMgdGhpcyBpcyBhbiBpbml0IGhvc3QgTlMgbWFwcGluZyAoYW5kIHRoYXQncyBvaykKKysJ ICoKKysJICogVGhlIGZvcm11bGEgaXRzZWxmIHdvdWxkIGJlIGVub3VnaCB0byAidmFsaWRhdGUi IGEgbWF0Y2hpbmcgTlMgSUQsIGJ1dCB3ZSBkb24ndCB3YW50IHRvCisrCSAqIGtlZXAgcGFyc2lu ZyBhIG1hbGZvcm1lZCBtYXAgZmlsZSwgbm8gbWF0dGVyIGhvdyB1bmxpa2VseS9pbXBvc3NpYmxl IGl0IGlzIHRvIGhhcHBlbi4KKysJICogU2FtZSByZWFzb24gdmFsdWVzIGFyZSBwYXJzZWQgYXMg J3Vuc2lnbmVkIGxvbmcgbG9uZycsIHNvIHdlIGNhbiBjaGVjayBmb3IgYm9ndXMgZGF0YS4KKysJ ICovCisrCWlkID0gVUlOVF9NQVg7CisrCWVycm5vID0gRU5PREFUQTsKKysJd2hpbGUgKGZzY2Fu ZihmcCwgIiVsbHUgJWxsdSAlbGx1IiwgJm5zX3N0YXJ0LCAmaG9zdF9zdGFydCwgJnJhbmdlKSA9 PSAzKSB7CisrCQlpZiAobnNfc3RhcnQgPj0gVUlOVF9NQVggfHwgaG9zdF9zdGFydCA+PSBVSU5U X01BWCB8fAorKwkJICAgIHJhbmdlID4gVUlOVF9NQVggfHwgcmFuZ2UgPT0gMCkgeworKwkJCWVy cm5vID0gRUlOVkFMOworKwkJCXJldCA9IDE7CisrCQkJYnJlYWs7CisrCQl9CisgCistCQllcnJu byA9IEVOT0RBVEE7CistCQlpZiAoKCF1aWRwIHx8IHN0cm5jbXAoYnVmLCAiVWlkOiIsIDQpKSAm JiAoIWdpZHAgfHwgc3RybmNtcChidWYsICJHaWQ6IiwgNCkpKQorLQkJCWNvbnRpbnVlOworKwkJ aWYgKHJhbmdlID09IFVJTlRfTUFYICYmIChuc19zdGFydCAhPSAwIHx8IGhvc3Rfc3RhcnQgIT0g MCkpIHsKKysJCQllcnJubyA9IEVJTlZBTDsKKysJCQlyZXQgPSAxOworKwkJCWJyZWFrOworKwkJ fQorIAorLQkJZXJybm8gPSAwOworKwkJaWYgKGhvc3Rfc3RhcnQgKyByYW5nZSA+IFVJTlRfTUFY IHx8IG5zX3N0YXJ0ICsgcmFuZ2UgPiBVSU5UX01BWCkgeworKwkJCWVycm5vID0gRUlOVkFMOwor KwkJCXJldCA9IDE7CisrCQkJYnJlYWs7CisrCQl9CisgCisgCQkvKgorLQkJICogRXhhbXBsZSBs aW5lIGZvcm1hdCAoc2FtZSBmb3IgYm90aCBVaWQvR2lkKToKKy0JCSAqICJVaWQ6XHQldVx0JXVc JXVcJXUiCisrCQkgKiBDaGVjayBpZiBob3N0IElEIGZpdHMgdGhpcyBsaW5lLgorKwkJICogT3Vy IGRlc2lyZWQgTlMgSUQgbWF5IGJlIGluIGFueSBsaW5lIG9mIHRoZSBmaWxlLgorIAkJICoKKy0J CSAqIFdoZXJlIHRoZSBudW1iZXJzIHJlcHJlc2VudHM6CistCQkgKiA8cmVhbD4gPGVmZmVjdGl2 ZT4gPHNhdmVkPiA8ZnN1aWQ+CisrCQkgKiBOb3RlOiBuZXd7dWlkLGdpZH1tYXAgdG9vbHMgKHRo YXQgY3JlYXRlcyB0aGUgbWFwIGZpbGVzKSBkb24ndCBhbGxvdyBtdWx0aXBsZQorKwkJICogbWFw cyAoTlMgSURzKSB0byB0aGUgc2FtZSBob3N0IElELgorIAkJICoKKy0JCSAqIFdlJ3JlIG9ubHkg aW50ZXJlc3RlZCBpbiB0aGUgPHJlYWw+IHZhbHVlLgorKwkJICogSWYgd2UgZ2V0IGEgbWF0Y2gg aGVyZSwgd2UnbGwgc2F2ZSBpdCwgYnV0IHdlIGNvbnRpbnVlIHBhcnNpbmcgdGhlIGZpbGUuCisr CQkgKiBJZiB3ZSBoYXBwZW4gdG8gZmluZCBhIGR1cGxpY2F0ZSwgaXQncyBwb3NzaWJsZSB0aGlz IGlzIGEgcm9ndWUgZmlsZSB0cnlpbmcgdG8KKysJCSAqIGJ5cGFzcyB0aGVzZSBjaGVja3MuCisg CQkgKgorLQkJICogKGZpZWxkIG5hbWVzICJVaWQ6Ii8iR2lkOiIgcGFyc2VkIGFib3ZlLCBza2lw IGl0KQorKwkJICogSW4gc3VjaCBjYXNlcywgZGlzY2FyZCB0aGUgbWF0Y2ggYW5kIHJldHVybiBF T1BOT1RTVVBQLCBhcyByZXR1cm5pbmcgYQorKwkJICogc3VjY2Vzc2Z1bCBtYXRjaCBjb3VsZCBs ZWFkIHRvIGRpc2FzdHJvdXMgcmVzdWx0cy4KKyAJCSAqLworLQkJcmV0ID0gc3NjYW5mKCZidWZb MF0gKyA0LCAiJWxsdSIsICZ2YWwpOworLQkJaWYgKHJldCAhPSAxKSB7CistCQkJcmV0ID0gLTE7 CistCQkJaWYgKGVycm5vKQorKwkJaWYgKCppZHAgPj0gaG9zdF9zdGFydCAmJiAqaWRwIDwgaG9z dF9zdGFydCArIHJhbmdlKSB7CisrCQkJLyogVGhpcyBtZWFucyB3ZSBmb3VuZCBhIGR1cGxpY2F0 ZSAqLworKwkJCWlmICghcmV0KSB7CisrCQkJCXJldCA9IDE7CisrCQkJCWVycm5vID0gRU9QTk9U U1VQUDsKKysJCQkJc3lzbG9nKExPR19FUlIsICIlcyBoYXMgbXVsdGlwbGUgbWFwcGVkIElEcyBm b3IgJXUgKHVuc3VwcG9ydGVkKSIsCisrCQkJCSAgICAgICBtYXAsICppZHApOworIAkJCQlicmVh azsKKy0JCQljb250aW51ZTsKKy0JCX0KKysJCQl9CisgCistCQlyZXQgPSAtMTsKKy0JCWlmICh2 YWwgPj0gVUlOVF9NQVgpIHsKKy0JCQllcnJubyA9IEVJTlZBTDsKKy0JCQlicmVhazsKKy0JCX0K Ky0KKy0JCWlmICh1aWRwICYmICFzdHJuY21wKGJ1ZiwgIlVpZDoiLCA0KSkKKy0JCQkqdWlkcCA9 ICh1aWRfdCl2YWw7CistCQllbHNlCistCQkJKmdpZHAgPSAoZ2lkX3QpdmFsOworLQorLQkJaWYg KCghdWlkcCB8fCAqdWlkcCAhPSBJTlZBTElEX1VJREdJRCkgJiYgKCFnaWRwIHx8ICpnaWRwICE9 IElOVkFMSURfVUlER0lEKSkgeworLQkJCWVycm5vID0gMDsKKysJCQlpZCA9ICgqaWRwIC0gaG9z dF9zdGFydCkgKyBuc19zdGFydDsKKyAJCQlyZXQgPSAwOworLQkJCWJyZWFrOworKwkJCWVycm5v ID0gMDsKKyAJCX0KKyAJfQorKworKwkvKiBUaGlzIG1lYW5zIGVycm5vIHdhcyByZXNldCBieSBm c2NhbmYoKSB3aXRob3V0IGZpbmRpbmcgYW55dGhpbmcgKi8KKysJaWYgKHJldCAmJiBlcnJubyA9 PSAwKQorKwkJZXJybm8gPSBFTk9EQVRBOworIG91dDoKKy0JaWYgKGZwKQorKwlpZiAoZnApIHsK KysJCWludCBlcnIgPSBlcnJubzsKKysKKyAJCWZjbG9zZShmcCk7CisrCQkvKiBJZ25vcmUgZmNs b3NlKCkgZXJyb3JzICovCisrCQllcnJubyA9IGVycjsKKysJfQorIAorKwlpZiAoIXJldCkgewor KwkJKmlkcCA9IGlkOworKwkJZXJybm8gPSAwOworKwl9IGVsc2UgeworKwkJc3lzbG9nKExPR19E RUJVRywgIiVzKHBpZD0lZCwgbWFwPSVzLCBpZD0ldSk6ICVzIiwgX19mdW5jX18sIHBpZCwgbWFw LCAqaWRwLAorKwkJICAgICAgIHN0cmVycm9yKGVycm5vKSk7CisrCX0KKysKKysJcmV0dXJuIHJl dDsKKyt9CisrCisrLyoKKysgKiBtYXBfdWlkZ2lkKCkgLSBNYXAgKHJlYWwpIFVJRC9HSUQgZnJv bSBpbml0IGhvc3QgTlMgdG8gdXNlciBOUy4KKysgKiBAcGlkOiBob3N0IE5TIFBJRAorKyAqIEB1 aWRwOiAoaW4pIGhvc3QgVUlELCAob3V0KSBOUyBVSUQKKysgKiBAZ2lkcDogKGluKSBob3N0IEdJ RCwgKG91dCkgTlMgR0lECisrICoKKysgKiBQYXJzZSAvcHJvYy9AcGlkL3t1aWQsZ2lkfV9tYXAg ZmlsZXMgdG8gZ2V0IE5TIFVJRC9HSUQgdmFsdWVzLgorKyAqIFNpbmNlIEBwaWQgaXMgZXhwZWN0 ZWQgdG8gYmUgYSBob3N0IE5TIFBJRCwgdGhpcyBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgc3dpdGNo aW5nIG5hbWVzcGFjZXMuCisrICoKKysgKiBOb3RlOiB3ZSBjYW4ndCB1c2UgL3Byb2Mvc2VsZiBo ZXJlIGJlY2F1c2Ugd2UgaGF2ZW4ndCBzd2l0Y2hlZCBOUyB5ZXQsIHNvIHt1aWQsZ2lkfV9tYXAg ZmlsZXMKKysgKiB3b3VsZCBjb250YWluIGhvc3QgTlMgdmFsdWVzLgorKyAqCisrICogUmV0dXJu OiAwIG9uIHN1Y2Nlc3MsIDEgb3RoZXJ3aXNlIChlcnJubyBzZXQpLgorKyAqLworK3N0YXRpYyBp bnQgbWFwX3VpZGdpZChwaWRfdCBwaWQsIHVpZF90ICp1aWRwLCBnaWRfdCAqZ2lkcCkKKyt7Cisr CXVpZF90IG9yaWdfdWlkOworKwlnaWRfdCBvcmlnX2dpZDsKKysJaW50IHJldCA9IDE7CisrCisr CWVycm5vID0gRUlOVkFMOworKwlpZiAoIXVpZHAgfHwgIWdpZHApCisrCQlnb3RvIG91dDsKKysK KysJb3JpZ191aWQgPSAqdWlkcDsKKysJb3JpZ19naWQgPSAqZ2lkcDsKKysKKysJcmV0ID0gbWFw X2lkKHBpZCwgInVpZF9tYXAiLCB1aWRwKTsKKyAJaWYgKHJldCkgeworLQkJc3lzbG9nKExPR19E RUJVRywgIiVzKHBpZD0lZCk6ICVzIiwgX19mdW5jX18sIHBpZCwgc3RyZXJyb3IoZXJybm8pKTsK Ky0JCWlmICh1aWRwKQorLQkJCSp1aWRwID0gSU5WQUxJRF9VSURHSUQ7CistCistCQlpZiAoZ2lk cCkKKy0JCQkqZ2lkcCA9IElOVkFMSURfVUlER0lEOworKwkJaWYgKGVycm5vID09IEVOT0RBVEEp CisrCQkJc3lzbG9nKExPR19FUlIsICJVSUQgJXUgbm90IG1hcHBlZCBpbiB0aGlzIG5hbWVzcGFj ZSAodW5zdXBwb3J0ZWQpIiwKKysJCQkgICAgICAgb3JpZ191aWQpOworKwkJZ290byBvdXQ7Cisg CX0KKyAKKysJcmV0ID0gbWFwX2lkKHBpZCwgImdpZF9tYXAiLCBnaWRwKTsKKysJaWYgKHJldCAm JiBlcnJubyA9PSBFTk9EQVRBKQorKwkJc3lzbG9nKExPR19FUlIsICJHSUQgJXUgbm90IG1hcHBl ZCBpbiB0aGlzIG5hbWVzcGFjZSAodW5zdXBwb3J0ZWQpIiwKKysJCSAgICAgICBvcmlnX2dpZCk7 Cisrb3V0OgorKwlpZiAocmV0ICYmIGVycm5vICE9IEVOT0RBVEEpCisrCQlzeXNsb2coTE9HX0VS UiwgIiVzOiAlcyIsIF9fZnVuY19fLCBzdHJlcnJvcihlcnJubykpOworKwllbHNlIGlmICghcmV0 KQorKwkJc3lzbG9nKExPR19ERUJVRywgImhvc3QgJXU6JXUgLT4gTlMgJXU6JXUiLCBvcmlnX3Vp ZCwgb3JpZ19naWQsICp1aWRwLCAqZ2lkcCk7CisrCisgCXJldHVybiByZXQ7CisgfQorIAorQEAg LTE1MzQsNiArMTU4Nyw3IEBAIGludCBtYWluKGNvbnN0IGludCBhcmdjLCBjaGFyICpjb25zdCBh cmd2W10pCisgCWNvbnN0IGNoYXIgKm9pZDsKKyAJdWlkX3QgdWlkOworIAlnaWRfdCBnaWQ7Cisr CXN0cnVjdCBwYXNzd2QgKnB3OworIAljaGFyICprZXl0YWJfbmFtZSA9IE5VTEw7CisgCWNoYXIg KmVudl9jYWNoZW5hbWUgPSBOVUxMOworIAlrcmI1X2NjYWNoZSBjY2FjaGUgPSBOVUxMOworQEAg LTE2ODAsMTIgKzE3MzQsNTIgQEAgaW50IG1haW4oY29uc3QgaW50IGFyZ2MsIGNoYXIgKmNvbnN0 IGFyZ3ZbXSkKKyAJCWdvdG8gb3V0OworIAl9CisgCisrCS8qCisrCSAqICd1aWQnIGFsd2F5cyBw b2ludHMgdG8gYSBob3N0IFVJRCwgc28gd2UgbXVzdCBnZXQgdGhlIGNvcnJlc3BvbmRpbmcgaG9z dCBHSUQuCisrCSAqIEl0J3Mgc2FmZSB0byBjYWxsIGdldHB3dWlkKCkgaGVyZSBiZWNhdXNlIHdl J3JlIHN0aWxsIG9uIGhvc3QgTlMsIGkuZS4gY2FsbGVyCisrCSAqIGFwcGxpY2F0aW9uIGhhcyBu byBjb250cm9sIG92ZXIgY3VzdG9tIE5TUyBtb2R1bGVzLgorKwkgKgorKwkgKiBGSVhNRTogaWYg VUlEIGlzIGZyb20gYW5vdGhlciBOUywgb3IgYSBzdWJ1aWQsIHRoaXMgd2lsbCBmYWlsIG9uIG1v dW50LgorKwkgKi8KKysJZXJybm8gPSAwOworKwlwdyA9IGdldHB3dWlkKHVpZCk7CisrCWlmICgh cHcpIHsKKysJCXN5c2xvZyhMT0dfRVJSLCAiZmFpbGVkIHRvIHJldHJpZXZlIEdJRCBmcm9tIFVJ RCAldTogJXMiLCB1aWQsCisrCQkgICAgICAgc3RyZXJyb3IoZXJybm8gPyBlcnJubyA6IEVOT0VO VCkpOworKwkJcmMgPSAxOworKwkJZ290byBvdXQ7CisrCX0KKysKKysJZ2lkID0gcHctPnB3X2dp ZDsKKysKKysJLyoKKysJICogV2UgY2FuJ3QgcmVhc29uYWJseSBkbyB0aGlzIGZvciByb290LiBX aGVuIG1vdW50aW5nIGEgREZTIHNoYXJlLAorKwkgKiBmb3IgaW5zdGFuY2Ugd2UgY2FuIGVuZCB1 cCB3aXRoIGNyZWRzIGJlaW5nIG92ZXJyaWRkZW4sIGJ1dCB0aGUgZW52CisrCSAqIHZhcmlhYmxl IGxlZnQgaW50YWN0LgorKwkgKgorKwkgKiBBbHdheXMgY2hlY2sgdGhpcyBiZWZvcmUgTlMgVUlE IG1hcHBpbmcuCisrCSAqLworKwlpZiAodWlkID09IDApCisrCQllbnZfcHJvYmUgPSBmYWxzZTsK KysKKyAJLyoKKyAJICogQ2hhbmdlIHRvIHRoZSBwcm9jZXNzJ3MgbmFtZXNwYWNlLiBUaGlzIG1l YW5zIHRoYXQgdGhpbmdzIHdpbGwgd29yaworIAkgKiBhY2NlcHRhYmx5IGluIGNvbnRhaW5lcnMs IGJlY2F1c2Ugd2UnbGwgYmUgbG9va2luZyBhdCB0aGUgY29ycmVjdAorIAkgKiBmaWxlc3lzdGVt IGFuZCBoYXZlIHRoZSBjb3JyZWN0IG5ldHdvcmsgY29uZmlndXJhdGlvbi4KKyAJICovCisgCWlm IChhcmctPnVwY2FsbF90YXJnZXQgPT0gVVBUQVJHRVRfQVBQIHx8IGFyZy0+dXBjYWxsX3Rhcmdl dCA9PSBVUFRBUkdFVF9VTlNQRUNJRklFRCkgeworKwkJLyoKKysJCSAqIE1hcCBob3N0ICd1aWQn IGFuZCAnZ2lkJyB0byB0aGUgdGFyZ2V0IHVzZXIgTlMuCisrCQkgKgorKwkJICogQW55IHNjZW5h cmlvIHRoYXQgaW52b2x2ZXMgdW5tYXBwZWQgVUlEcyBvciBwcmltYXJ5IEdJRHMgaXMgbm90IHN1 cHBvcnRlZCAtLSB3ZQorKwkJICogZG9uJ3QgaGF2ZSwgYW5kIGNhbid0IGZpbmQsIGFsbCB0aGUg aW5mbyB0aGF0IHdvdWxkIGJlIG5lY2Vzc2FyeSB0byBmaW5kIGEKKysJCSAqIFVJRC9HSUQgd2l0 aGluIGFsbCB0aGUgcG9zc2libGUgTlMgY29tYmluYXRpb25zLgorKwkJICovCisrCQlpZiAoIWlu X3NhbWVfdXNlcl9ucyhhcmctPnBpZCwgZ2V0cGlkKCkpKSB7CisrCQkJcmMgPSBtYXBfdWlkZ2lk KGFyZy0+cGlkLCAmdWlkLCAmZ2lkKTsKKysJCQlpZiAocmMpCisrCQkJCWdvdG8gb3V0OworKwkJ fQorIAkJc3lzbG9nKExPR19JTkZPLCAidXBjYWxsX3RhcmdldD1hcHAsIHN3aXRjaGluZyBuYW1l c3BhY2VzIHRvIGFwcGxpY2F0aW9uIHRocmVhZCIpOworIAkJYXJnLT51cGNhbGxfdGFyZ2V0ID0g VVBUQVJHRVRfQVBQOworIAkJcmMgPSBzd2l0Y2hfdG9fcHJvY2Vzc19ucyhhcmctPnBpZCk7CitA QCAtMTcwMCwyNSArMTc5NCw2IEBAIGludCBtYWluKGNvbnN0IGludCBhcmdjLCBjaGFyICpjb25z dCBhcmd2W10pCisgCQlzeXNsb2coTE9HX0lORk8sICJ1cGNhbGxfdGFyZ2V0PW1vdW50LCBub3Qg c3dpdGNoaW5nIG5hbWVzcGFjZXMgdG8gYXBwbGljYXRpb24gdGhyZWFkIik7CisgCX0KKyAKKy0J LyoKKy0JICogV2UgY2FuJ3QgcmVhc29uYWJseSBkbyB0aGlzIGZvciByb290LiBXaGVuIG1vdW50 aW5nIGEgREZTIHNoYXJlLAorLQkgKiBmb3IgaW5zdGFuY2Ugd2UgY2FuIGVuZCB1cCB3aXRoIGNy ZWRzIGJlaW5nIG92ZXJyaWRkZW4sIGJ1dCB0aGUgZW52CistCSAqIHZhcmlhYmxlIGxlZnQgaW50 YWN0LgorLQkgKi8KKy0JaWYgKHVpZCA9PSAwKQorLQkJZW52X3Byb2JlID0gZmFsc2U7CistCist CS8qCistCSAqIEZJWE1FOiB0aGlzIG9ubHkgd29ya3MgaWYgd2UgaGF2ZW4ndCBzd2l0Y2hlZCBQ SUQgbmFtZXNwYWNlcy4KKy0JICogSWYgd2UgZGlkLCAvcHJvYy9hcmctPnBpZC8gbWlnaHQgbm90 IGV4aXN0LCBvciB3b3JzZSwgcG9pbnQgdG8gc29tZXRoaW5nIGVsc2UuCistCSAqLworLQlyYyA9 IGdldF91aWRnaWQoYXJnLT5waWQsICZ1aWQsICZnaWQpOworLQlpZiAocmMpIHsKKy0JCXN5c2xv ZyhMT0dfRVJSLCAiZ2V0X3VpZGdpZCAoTlMpOiAlcyIsIHN0cmVycm9yKGVycm5vKSk7CistCQly YyA9IDE7CistCQlnb3RvIG91dDsKKy0JfQorLQorIAlyYyA9IHNldGdpZChnaWQpOworIAlpZiAo cmMpIHsKKyAJCXN5c2xvZyhMT0dfRVJSLCAic2V0Z2lkOiAlcyIsIHN0cmVycm9yKGVycm5vKSk7 CistLSAKKzIuNTQuMAorCg==