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] rawhide: cifs.upcall: fix regression with kerberos mounts Date: Mon, 06 Jul 2026 21:52:11 GMT Message-ID: <178337473139.1.7816237338167025180.rpms-cifs-utils-83b4c38609d8@fedoraproject.org> List-ID: X-Git-Repo: rpms/cifs-utils X-Git-Branch: rawhide X-Git-Rev: 83b4c38609d837565e93fbda29f206ccc795926f ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvY2lmcy11dGlscwogICAgICAgICAgICBCcmFuY2ggOiByYXdoaWRlCiAgICAg ICAgICAgIENvbW1pdCA6IDgzYjRjMzg2MDlkODM3NTY1ZTkzZmJkYTI5ZjIwNmNjYzc5NTkyNmYK ICAgICAgICAgICAgQXV0aG9yIDogUGF1bG8gQWxjYW50YXJhIDxwYWFsY2FudEByZWRoYXQuY29t PgogICAgICAgICAgICBEYXRlICAgOiAyMDI2LTA3LTA2VDE4OjUxOjA3LTAzOjAwCiAgICAgICAg ICAgIFN0YXRzICA6ICszOTIvLTAgaW4gMiBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6IGh0 dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvY2lmcy11dGlscy9jLzgzYjRjMzg2MDlk ODM3NTY1ZTkzZmJkYTI5ZjIwNmNjYzc5NTkyNmY/YnJhbmNoPXJhd2hpZGUKCiAgICAgICAgICAg IExvZzoKICAgICAgICAgICAgY2lmcy51cGNhbGw6IGZpeCByZWdyZXNzaW9uIHdpdGgga2VyYmVy b3MgbW91bnRzCgogLSBSZXNvbHZlczogcmhieiMyNDk3NDQ2CiAtIFJlc29sdmVzOiByaGJ6IzI0 OTY5NjMKIC0gUmVzb2x2ZXM6IHJoYnojMjQ4OTgwOCAtIENWRS0yMDI2LTEyNTA1CgpTaWduZWQt b2ZmLWJ5OiBQYXVsbyBBbGNhbnRhcmEgPHBhYWxjYW50QHJlZGhhdC5jb20+CgotLS0KZGlmZiAt LWdpdCBhL2NpZnMtdXRpbHMuc3BlYyBiL2NpZnMtdXRpbHMuc3BlYwppbmRleCBlYjM1NGNmLi40 ODdmZjJlIDEwMDY0NAotLS0gYS9jaWZzLXV0aWxzLnNwZWMKKysrIGIvY2lmcy11dGlscy5zcGVj CkBAIC0yNSw2ICsyNSw3IEBAIFJlY29tbWVuZHM6ICV7bmFtZX0taW5mbyV7P19pc2F9ID0gJXt2 ZXJzaW9ufS0le3JlbGVhc2V9CiBTb3VyY2UwOiAgICAgICAgIGh0dHBzOi8vZG93bmxvYWQuc2Ft YmEub3JnL3B1Yi9saW51eC1jaWZzL2NpZnMtdXRpbHMvJXtuYW1lfS0le3ZlcnNpb259LnRhci5i ejIKIAogUGF0Y2gwOiBjaWZzLnVwY2FsbC1maXgtY29tcGlsZXItd2FybmluZy13aXRoLVd2bGEu cGF0Y2gKK1BhdGNoMTogY2lmcy51cGNhbGwtZml4LXJlZ3Jlc3Npb24td2l0aC1rcmI1LWNyZWR1 aWQucGF0Y2gKIAogJWRlc2NyaXB0aW9uCiBUaGUgU01CL0NJRlMgcHJvdG9jb2wgaXMgYSBzdGFu ZGFyZCBmaWxlIHNoYXJpbmcgcHJvdG9jb2wgd2lkZWx5IGRlcGxveWVkCgpkaWZmIC0tZ2l0IGEv Y2lmcy51cGNhbGwtZml4LXJlZ3Jlc3Npb24td2l0aC1rcmI1LWNyZWR1aWQucGF0Y2ggYi9jaWZz LnVwY2FsbC1maXgtcmVncmVzc2lvbi13aXRoLWtyYjUtY3JlZHVpZC5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NDZjMzliCi0tLSAvZGV2L251bGwKKysrIGIvY2lm cy51cGNhbGwtZml4LXJlZ3Jlc3Npb24td2l0aC1rcmI1LWNyZWR1aWQucGF0Y2gKQEAgLTAsMCAr MSwzOTEgQEAKK0Zyb20gZTk0OTU5NjNlMGQ1YzI2ZjdkMDEzNzgyOWQ4ZGM2MjUxMzBiNTNjYyBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEVuem8gTWF0c3VtaXlhIDxlbWF0c3VtaXlh QHN1c2UuZGU+CitEYXRlOiBNb24sIDYgSnVsIDIwMjYgMTA6NTU6NTUgLTAzMDAKK1N1YmplY3Q6 IFtQQVRDSF0gY2lmcy51cGNhbGw6IGZpeCByZWdyZXNzaW9uIHdpdGgga3JiNSArIGNyZWR1aWQK KworQ29tbWl0IDk3MmM1YjVmZjk1ZSAoImNpZnMudXBjYWxsOiByZW1vdmUgZ2V0cHd1aWQoKSBk ZXBlbmRlbmN5IikKK2ludHJvZHVjZWQgYSByZWdyZXNzaW9uIHdoZW4gdXNpbmcgY3JlZHVpZCAh PSB1aWQgKGUuZy4KKyJtb3VudC5jaWZzIC1vIHNlYz1rcmI1LGNydWlkPVgiKSwgc28gJ3VpZCcg bG9jYWwgdmFyIGlzIHJlcGxhY2VkCit3aXRoIHByb2NmcyAiVWlkIiB2YWx1ZSAoaW4gdGhlIGV4 YW1wbGUsIHRoZSBvbmUgZnJvbSBtb3VudC5jaWZzKS4KKworVGhhdCBjb21taXQgaWdub3JlZCB0 aGUgZmFjdCB0aGF0OgorICBtb3VudCBVSUQgY2FuIGJlIGRpZmZlcmVudCBmcm9tIGNyZWRzIFVJ RCwgYW5kIHRoYXQgY2FsbGluZy1hcHAKKyAgcHJvY2VzcyAocG9zdC1tb3VudCkgY2FuIGJlIGRp ZmZlcmVudCBmcm9tIGJvdGgKKworVGhpcyBwYXRjaCAicmV2ZXJ0cyIgOTcyYzViNWZmOTVlICgi Y2lmcy51cGNhbGw6IHJlbW92ZSBnZXRwd3VpZCgpCitkZXBlbmRlbmN5Iik7IHRyYW5zZm9ybSB0 aGUgImVtZXJnZW5jeSItYWRkZWQgZnVuY3Rpb24gZ2V0X3VpZGdpZCgpCitpbnRvIG1hcF91aWRn aWQoKSwgbm93IG9ubHkgdXNlZCB0byBkbyBOUyBVSUQvR0lEIG1hcHBpbmcuCisKK0Fsc28gYWRk IGdldHB3dWlkKCkgYmFjaywgYnV0IHRoaXMgdGltZSBjYWxsZWQgd2hpbGUgc3RpbGwgb24gaG9z dAorbmFtZXNwYWNlLCBzbyBhbnkgcG9zc2libGUgY3VzdG9tIE5TUyBtb2R1bGUgaXMgcmFuIGFz IGFsbG93ZWQgYnkKK3N5c2FkbWluLgorCitBbnkgc2NlbmFyaW8gaW52b2x2aW5nIHVubWFwcGVk IFVJRHMgb3IgR0lEcyBpcyB1bnN1cHBvcnRlZDsgdGhpcworbWVhbnMgdGhhdCBhbnkgVUlEOkdJ RCBpbiBhIGNoaWxkIHVzZXIgbmFtZXNwYWNlIF9tdXN0XyBtYXAgYmFjayB0bworYSB2YWxpZCBh bmQgZXhpc3RpbmcgaG9zdCBVSUQ6R0lELgorCitGaXhlczogOTcyYzViNWZmOTVlICgiY2lmcy51 cGNhbGw6IHJlbW92ZSBnZXRwd3VpZCgpIGRlcGVuZGVuY3kiKQorUmVwb3J0ZWQtYnk6IFBhdWxv IEFsY2FudGFyYSAoUmVkIEhhdCkgPHBjQG1hbmd1ZWJpdC5vcmc+CitTaWduZWQtb2ZmLWJ5OiBF bnpvIE1hdHN1bWl5YSA8ZW1hdHN1bWl5YUBzdXNlLmRlPgorU2lnbmVkLW9mZi1ieTogUGF1bG8g QWxjYW50YXJhIChSZWQgSGF0KSA8cGNAbWFuZ3VlYml0Lm9yZz4KK1NpZ25lZC1vZmYtYnk6IFN0 ZXZlIEZyZW5jaCA8c3RmcmVuY2hAbWljcm9zb2Z0LmNvbT4KKy0tLQorIGNpZnMudXBjYWxsLmMg fCAyNzkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0K KyAxIGZpbGUgY2hhbmdlZCwgMTc3IGluc2VydGlvbnMoKyksIDEwMiBkZWxldGlvbnMoLSkKKwor ZGlmZiAtLWdpdCBhL2NpZnMudXBjYWxsLmMgYi9jaWZzLnVwY2FsbC5jCitpbmRleCA3NDc2MTc3 OTA1NzYuLjQyMjA1ZTY2YTY3NiAxMDA2NDQKKy0tLSBhL2NpZnMudXBjYWxsLmMKKysrKyBiL2Np ZnMudXBjYWxsLmMKK0BAIC01Miw2ICs1Miw3IEBACisgI2luY2x1ZGUgPGFycGEvaW5ldC5oPgor ICNpbmNsdWRlIDxjdHlwZS5oPgorICNpbmNsdWRlIDxncnAuaD4KKysjaW5jbHVkZSA8cHdkLmg+ CisgI2luY2x1ZGUgPHN0ZGJvb2wuaD4KKyAjaW5jbHVkZSA8ZXJybm8uaD4KKyAjaW5jbHVkZSA8 c2NoZWQuaD4KK0BAIC0xMzc1LDExOCArMTM3NiwxNzAgQEAgc3RhdGljIGludCBpcF90b19mcWRu KGNvbnN0IGNoYXIgKmFkZHJzdHIsIGNoYXIgKmhvc3QsIHNpemVfdCBob3N0bGVuKQorIAlyZXR1 cm4gMDsKKyB9CisgCistLyogY292ZXIgd29yc3QgY2FzZS9pbXBvc3NpYmxlIHNjZW5hcmlvcyAq LworLSNkZWZpbmUgUFJPQ19QSURfUEFUSF9NQVhMRU4JKChpbnQpc2l6ZW9mKCIvcHJvYy8yMTQ3 NDgzNjQ3L3N0YXR1cyIpKQorLS8qIG1heCB2YWxpZCBVSUQvR0lEIGlzIChVSU5UX01BWCAtIDEp ICovCistI2RlZmluZSBJTlZBTElEX1VJREdJRAkJVUlOVF9NQVgKKysjZGVmaW5lIElEX01BUF9Q QVRIX01BWCAoKGludClzaXplb2YoIi9wcm9jLzIxNDc0ODM2NDcvdWlkX21hcCIpKQorIAorLS8q CistICogZ2V0X3VpZGdpZCAtIEdldCBAcGlkJ3MgKHJlYWwpIFVJRCBhbmQvb3IgR0lELgorLSAq IEBwaWQ6IHByb2Nlc3MgdG8gZ2V0IFVJRC9HSUQgZnJvbQorLSAqIEB1aWRwOiBwb2ludGVyIHRv IHN0b3JlIEBwaWQncyBVSUQgKGNhbiBiZSBOVUxMKQorLSAqIEBnaWRwOiBwb2ludGVyIHRvIHN0 b3JlIEBwaWQncyBHSUQgKGNhbiBiZSBOVUxMKQorLSAqCistICogRXh0cmFjdCAiVWlkOiIgYW5k ICJHaWQ6IiBmaWVsZHMgZnJvbSAvcHJvYy9AcGlkL3N0YXR1cy4KKy0gKiBEbyBzbyBiYXNlZCBv biB3aGV0aGVyIEB1aWRwIG9yIEBnaWRwIGFyZSBOVUxMLgorLSAqCistICogVGhpcyBmdW5jdGlv biBhc3N1bWVzIHdlJ3JlIG9uIHRoZSBzYW1lIG5hbWVzcGFjZSBhcyBAcGlkLgorLSAqCistICog UmV0dXJuOiAwIG9uIHN1Y2Nlc3MsIC0xIG90aGVyd2lzZSAoZXJybm8gc2V0KS4KKy0gKgorLSAq IE9uIGVycm9ycywgKkB1aWRwIGFuZCAqQGdpZHAgYXJlIHNldCB0byBJTlZBTElEX1VJREdJRC4K Ky0gKi8KKy1zdGF0aWMgaW50IGdldF91aWRnaWQocGlkX3QgcGlkLCB1aWRfdCAqdWlkcCwgZ2lk X3QgKmdpZHApCisrc3RhdGljIGludCBtYXBfaWQocGlkX3QgcGlkLCBjb25zdCBjaGFyICptYXAs IHVuc2lnbmVkIGludCAqaWRwKQorIHsKKy0JY2hhciBwYXRoW1BST0NfUElEX1BBVEhfTUFYTEVO XSA9IHt9LCBidWZbMjU2XTsKKysJdW5zaWduZWQgbG9uZyBsb25nIG5zX3N0YXJ0LCBob3N0X3N0 YXJ0LCByYW5nZTsKKysJY2hhciBtYXBfcGF0aFtJRF9NQVBfUEFUSF9NQVhdOworKwlpbnQgbWFw X3BhdGhfc2l6ZSA9IHNpemVvZihtYXBfcGF0aCk7CisrCXVuc2lnbmVkIGludCBpZDsKKyAJRklM RSAqZnAgPSBOVUxMOworLQlpbnQgcmV0OworKwlpbnQgcmV0ID0gMTsKKyAKKy0JZXJybm8gPSAw OworLQlpZiAocGlkIDwgMCB8fCAoIXVpZHAgJiYgIWdpZHApKSB7CistCQllcnJubyA9IEVJTlZB TDsKKy0JCXJldHVybiAtMTsKKy0JfQorKwllcnJubyA9IEVJTlZBTDsKKysJaWYgKHBpZCA8IDAg fHwgIW1hcCB8fCAhaWRwIHx8ICppZHAgPT0gVUlOVF9NQVgpCisrCQlnb3RvIG91dDsKKyAKKy0J aWYgKHVpZHApCistCQkqdWlkcCA9IElOVkFMSURfVUlER0lEOworLQorLQlpZiAoZ2lkcCkKKy0J CSpnaWRwID0gSU5WQUxJRF9VSURHSUQ7CistCistCXJldCA9IHNucHJpbnRmKHBhdGgsIFBST0Nf UElEX1BBVEhfTUFYTEVOLCAiL3Byb2MvJWQvc3RhdHVzIiwgcGlkKTsKKy0JaWYgKHJldCA8IDAg fHwgcmV0ID49IFBST0NfUElEX1BBVEhfTUFYTEVOKSB7CistCQlpZiAoIWVycm5vKQorKwlyZXQg PSBzbnByaW50ZihtYXBfcGF0aCwgbWFwX3BhdGhfc2l6ZSwgIi9wcm9jLyVkLyVzIiwgcGlkLCBt YXApOworKwlpZiAocmV0IDwgMCB8fCByZXQgPj0gbWFwX3BhdGhfc2l6ZSkgeworKwkJaWYgKHJl dCA+PSBtYXBfcGF0aF9zaXplKQorIAkJCWVycm5vID0gRU5BTUVUT09MT05HOworLQkJcmV0dXJu IC0xOworKwkJcmV0ID0gMTsKKysJCWdvdG8gb3V0OworIAl9CisgCistCWZwID0gZm9wZW4ocGF0 aCwgInIiKTsKKy0JaWYgKCFmcCkgeworLQkJcmV0ID0gLTE7CisrCXJldCA9IDE7CisrCWZwID0g Zm9wZW4obWFwX3BhdGgsICJyIik7CisrCWlmICghZnApCisgCQlnb3RvIG91dDsKKy0JfQorIAor LQkvKiBQYXJzZSAvcHJvYy9waWQvc3RhdHVzIGZpZWxkcyAqLworLQllcnJubyA9IDA7CistCXJl dCA9IC0xOworLQl3aGlsZSAoZmdldHMoYnVmLCAyNTYsIGZwKSkgeworLQkJdW5zaWduZWQgbG9u ZyBsb25nIHZhbDsKKysJLyoKKysJICogVGhlIG1hcCBmaWxlcyBoYXZlIHRoZSBzYW1lIGZvcm1h dDoKKysJICogICA8TlMgSUQgc3RhcnQ+IDxob3N0IElEIHN0YXJ0PiA8cmFuZ2U+CisrCSAqICAg Li4uICg8bXVsdGlwbGUgZW50cmllcyBhcmUgc3VwcG9ydGVkKSAuLi4KKysJICoKKysJICogRm9y bXVsYSBhbmQgdmFsaWRhdGlvbjoKKysJICogICA8ZmluYWwgTlMgSUQ+ID0gKCpAaWRwIC0gPGhv c3QgSUQgc3RhcnQ+KSArIDxOUyBJRCBzdGFydD4KKysJICoKKysJICogLSBJRHM6IFswLCBVSU5U X01BWCAtIDFdCisrCSAqIC0gcmFuZ2U6IFsxLCBVSU5UX01BWF0sIHdoZXJlIHJhbmdlID09IFVJ TlRfTUFYIHJlcXVpcmVzIGJvdGggSUQgcmFuZ2VzIHRvIHN0YXJ0IGF0IDAsCisrCSAqICAgd2hp Y2ggdGhlbiBtZWFucyB0aGlzIGlzIGFuIGluaXQgaG9zdCBOUyBtYXBwaW5nIChhbmQgdGhhdCdz IG9rKQorKwkgKgorKwkgKiBUaGUgZm9ybXVsYSBpdHNlbGYgd291bGQgYmUgZW5vdWdoIHRvICJ2 YWxpZGF0ZSIgYSBtYXRjaGluZyBOUyBJRCwgYnV0IHdlIGRvbid0IHdhbnQgdG8KKysJICoga2Vl cCBwYXJzaW5nIGEgbWFsZm9ybWVkIG1hcCBmaWxlLCBubyBtYXR0ZXIgaG93IHVubGlrZWx5L2lt cG9zc2libGUgaXQgaXMgdG8gaGFwcGVuLgorKwkgKiBTYW1lIHJlYXNvbiB2YWx1ZXMgYXJlIHBh cnNlZCBhcyAndW5zaWduZWQgbG9uZyBsb25nJywgc28gd2UgY2FuIGNoZWNrIGZvciBib2d1cyBk YXRhLgorKwkgKi8KKysJaWQgPSBVSU5UX01BWDsKKysJZXJybm8gPSBFTk9EQVRBOworKwl3aGls ZSAoZnNjYW5mKGZwLCAiJWxsdSAlbGx1ICVsbHUiLCAmbnNfc3RhcnQsICZob3N0X3N0YXJ0LCAm cmFuZ2UpID09IDMpIHsKKysJCWlmIChuc19zdGFydCA+PSBVSU5UX01BWCB8fCBob3N0X3N0YXJ0 ID49IFVJTlRfTUFYIHx8CisrCQkgICAgcmFuZ2UgPiBVSU5UX01BWCB8fCByYW5nZSA9PSAwKSB7 CisrCQkJZXJybm8gPSBFSU5WQUw7CisrCQkJcmV0ID0gMTsKKysJCQlicmVhazsKKysJCX0KKyAK Ky0JCWVycm5vID0gRU5PREFUQTsKKy0JCWlmICgoIXVpZHAgfHwgc3RybmNtcChidWYsICJVaWQ6 IiwgNCkpICYmICghZ2lkcCB8fCBzdHJuY21wKGJ1ZiwgIkdpZDoiLCA0KSkpCistCQkJY29udGlu dWU7CisrCQlpZiAocmFuZ2UgPT0gVUlOVF9NQVggJiYgKG5zX3N0YXJ0ICE9IDAgfHwgaG9zdF9z dGFydCAhPSAwKSkgeworKwkJCWVycm5vID0gRUlOVkFMOworKwkJCXJldCA9IDE7CisrCQkJYnJl YWs7CisrCQl9CisgCistCQllcnJubyA9IDA7CisrCQlpZiAoaG9zdF9zdGFydCArIHJhbmdlID4g VUlOVF9NQVggfHwgbnNfc3RhcnQgKyByYW5nZSA+IFVJTlRfTUFYKSB7CisrCQkJZXJybm8gPSBF SU5WQUw7CisrCQkJcmV0ID0gMTsKKysJCQlicmVhazsKKysJCX0KKyAKKyAJCS8qCistCQkgKiBF eGFtcGxlIGxpbmUgZm9ybWF0IChzYW1lIGZvciBib3RoIFVpZC9HaWQpOgorLQkJICogIlVpZDpc dCV1XHQldVwldVwldSIKKysJCSAqIENoZWNrIGlmIGhvc3QgSUQgZml0cyB0aGlzIGxpbmUuCisr CQkgKiBPdXIgZGVzaXJlZCBOUyBJRCBtYXkgYmUgaW4gYW55IGxpbmUgb2YgdGhlIGZpbGUuCisg CQkgKgorLQkJICogV2hlcmUgdGhlIG51bWJlcnMgcmVwcmVzZW50czoKKy0JCSAqIDxyZWFsPiA8 ZWZmZWN0aXZlPiA8c2F2ZWQ+IDxmc3VpZD4KKysJCSAqIE5vdGU6IG5ld3t1aWQsZ2lkfW1hcCB0 b29scyAodGhhdCBjcmVhdGVzIHRoZSBtYXAgZmlsZXMpIGRvbid0IGFsbG93IG11bHRpcGxlCisr CQkgKiBtYXBzIChOUyBJRHMpIHRvIHRoZSBzYW1lIGhvc3QgSUQuCisgCQkgKgorLQkJICogV2Un cmUgb25seSBpbnRlcmVzdGVkIGluIHRoZSA8cmVhbD4gdmFsdWUuCisrCQkgKiBJZiB3ZSBnZXQg YSBtYXRjaCBoZXJlLCB3ZSdsbCBzYXZlIGl0LCBidXQgd2UgY29udGludWUgcGFyc2luZyB0aGUg ZmlsZS4KKysJCSAqIElmIHdlIGhhcHBlbiB0byBmaW5kIGEgZHVwbGljYXRlLCBpdCdzIHBvc3Np YmxlIHRoaXMgaXMgYSByb2d1ZSBmaWxlIHRyeWluZyB0bworKwkJICogYnlwYXNzIHRoZXNlIGNo ZWNrcy4KKyAJCSAqCistCQkgKiAoZmllbGQgbmFtZXMgIlVpZDoiLyJHaWQ6IiBwYXJzZWQgYWJv dmUsIHNraXAgaXQpCisrCQkgKiBJbiBzdWNoIGNhc2VzLCBkaXNjYXJkIHRoZSBtYXRjaCBhbmQg cmV0dXJuIEVPUE5PVFNVUFAsIGFzIHJldHVybmluZyBhCisrCQkgKiBzdWNjZXNzZnVsIG1hdGNo IGNvdWxkIGxlYWQgdG8gZGlzYXN0cm91cyByZXN1bHRzLgorIAkJICovCistCQlyZXQgPSBzc2Nh bmYoJmJ1ZlswXSArIDQsICIlbGx1IiwgJnZhbCk7CistCQlpZiAocmV0ICE9IDEpIHsKKy0JCQly ZXQgPSAtMTsKKy0JCQlpZiAoZXJybm8pCisrCQlpZiAoKmlkcCA+PSBob3N0X3N0YXJ0ICYmICpp ZHAgPCBob3N0X3N0YXJ0ICsgcmFuZ2UpIHsKKysJCQkvKiBUaGlzIG1lYW5zIHdlIGZvdW5kIGEg ZHVwbGljYXRlICovCisrCQkJaWYgKCFyZXQpIHsKKysJCQkJcmV0ID0gMTsKKysJCQkJZXJybm8g PSBFT1BOT1RTVVBQOworKwkJCQlzeXNsb2coTE9HX0VSUiwgIiVzIGhhcyBtdWx0aXBsZSBtYXBw ZWQgSURzIGZvciAldSAodW5zdXBwb3J0ZWQpIiwKKysJCQkJICAgICAgIG1hcCwgKmlkcCk7Cisg CQkJCWJyZWFrOworLQkJCWNvbnRpbnVlOworLQkJfQorKwkJCX0KKyAKKy0JCXJldCA9IC0xOwor LQkJaWYgKHZhbCA+PSBVSU5UX01BWCkgeworLQkJCWVycm5vID0gRUlOVkFMOworLQkJCWJyZWFr OworLQkJfQorLQorLQkJaWYgKHVpZHAgJiYgIXN0cm5jbXAoYnVmLCAiVWlkOiIsIDQpKQorLQkJ CSp1aWRwID0gKHVpZF90KXZhbDsKKy0JCWVsc2UKKy0JCQkqZ2lkcCA9IChnaWRfdCl2YWw7Cist CistCQlpZiAoKCF1aWRwIHx8ICp1aWRwICE9IElOVkFMSURfVUlER0lEKSAmJiAoIWdpZHAgfHwg KmdpZHAgIT0gSU5WQUxJRF9VSURHSUQpKSB7CistCQkJZXJybm8gPSAwOworKwkJCWlkID0gKCpp ZHAgLSBob3N0X3N0YXJ0KSArIG5zX3N0YXJ0OworIAkJCXJldCA9IDA7CistCQkJYnJlYWs7Cisr CQkJZXJybm8gPSAwOworIAkJfQorIAl9CisrCisrCS8qIFRoaXMgbWVhbnMgZXJybm8gd2FzIHJl c2V0IGJ5IGZzY2FuZigpIHdpdGhvdXQgZmluZGluZyBhbnl0aGluZyAqLworKwlpZiAocmV0ICYm IGVycm5vID09IDApCisrCQllcnJubyA9IEVOT0RBVEE7Cisgb3V0OgorLQlpZiAoZnApCisrCWlm IChmcCkgeworKwkJaW50IGVyciA9IGVycm5vOworKworIAkJZmNsb3NlKGZwKTsKKysJCS8qIEln bm9yZSBmY2xvc2UoKSBlcnJvcnMgKi8KKysJCWVycm5vID0gZXJyOworKwl9CisgCisrCWlmICgh cmV0KSB7CisrCQkqaWRwID0gaWQ7CisrCQllcnJubyA9IDA7CisrCX0gZWxzZSB7CisrCQlzeXNs b2coTE9HX0RFQlVHLCAiJXMocGlkPSVkLCBtYXA9JXMsIGlkPSV1KTogJXMiLCBfX2Z1bmNfXywg cGlkLCBtYXAsICppZHAsCisrCQkgICAgICAgc3RyZXJyb3IoZXJybm8pKTsKKysJfQorKworKwly ZXR1cm4gcmV0OworK30KKysKKysvKgorKyAqIG1hcF91aWRnaWQoKSAtIE1hcCAocmVhbCkgVUlE L0dJRCBmcm9tIGluaXQgaG9zdCBOUyB0byB1c2VyIE5TLgorKyAqIEBwaWQ6IGhvc3QgTlMgUElE CisrICogQHVpZHA6IChpbikgaG9zdCBVSUQsIChvdXQpIE5TIFVJRAorKyAqIEBnaWRwOiAoaW4p IGhvc3QgR0lELCAob3V0KSBOUyBHSUQKKysgKgorKyAqIFBhcnNlIC9wcm9jL0BwaWQve3VpZCxn aWR9X21hcCBmaWxlcyB0byBnZXQgTlMgVUlEL0dJRCB2YWx1ZXMuCisrICogU2luY2UgQHBpZCBp cyBleHBlY3RlZCB0byBiZSBhIGhvc3QgTlMgUElELCB0aGlzIG11c3QgYmUgY2FsbGVkIGJlZm9y ZSBzd2l0Y2hpbmcgbmFtZXNwYWNlcy4KKysgKgorKyAqIE5vdGU6IHdlIGNhbid0IHVzZSAvcHJv Yy9zZWxmIGhlcmUgYmVjYXVzZSB3ZSBoYXZlbid0IHN3aXRjaGVkIE5TIHlldCwgc28ge3VpZCxn aWR9X21hcCBmaWxlcworKyAqIHdvdWxkIGNvbnRhaW4gaG9zdCBOUyB2YWx1ZXMuCisrICoKKysg KiBSZXR1cm46IDAgb24gc3VjY2VzcywgMSBvdGhlcndpc2UgKGVycm5vIHNldCkuCisrICovCisr c3RhdGljIGludCBtYXBfdWlkZ2lkKHBpZF90IHBpZCwgdWlkX3QgKnVpZHAsIGdpZF90ICpnaWRw KQorK3sKKysJdWlkX3Qgb3JpZ191aWQ7CisrCWdpZF90IG9yaWdfZ2lkOworKwlpbnQgcmV0ID0g MTsKKysKKysJZXJybm8gPSBFSU5WQUw7CisrCWlmICghdWlkcCB8fCAhZ2lkcCkKKysJCWdvdG8g b3V0OworKworKwlvcmlnX3VpZCA9ICp1aWRwOworKwlvcmlnX2dpZCA9ICpnaWRwOworKworKwly ZXQgPSBtYXBfaWQocGlkLCAidWlkX21hcCIsIHVpZHApOworIAlpZiAocmV0KSB7CistCQlzeXNs b2coTE9HX0RFQlVHLCAiJXMocGlkPSVkKTogJXMiLCBfX2Z1bmNfXywgcGlkLCBzdHJlcnJvcihl cnJubykpOworLQkJaWYgKHVpZHApCistCQkJKnVpZHAgPSBJTlZBTElEX1VJREdJRDsKKy0KKy0J CWlmIChnaWRwKQorLQkJCSpnaWRwID0gSU5WQUxJRF9VSURHSUQ7CisrCQlpZiAoZXJybm8gPT0g RU5PREFUQSkKKysJCQlzeXNsb2coTE9HX0VSUiwgIlVJRCAldSBub3QgbWFwcGVkIGluIHRoaXMg bmFtZXNwYWNlICh1bnN1cHBvcnRlZCkiLAorKwkJCSAgICAgICBvcmlnX3VpZCk7CisrCQlnb3Rv IG91dDsKKyAJfQorIAorKwlyZXQgPSBtYXBfaWQocGlkLCAiZ2lkX21hcCIsIGdpZHApOworKwlp ZiAocmV0ICYmIGVycm5vID09IEVOT0RBVEEpCisrCQlzeXNsb2coTE9HX0VSUiwgIkdJRCAldSBu b3QgbWFwcGVkIGluIHRoaXMgbmFtZXNwYWNlICh1bnN1cHBvcnRlZCkiLAorKwkJICAgICAgIG9y aWdfZ2lkKTsKKytvdXQ6CisrCWlmIChyZXQgJiYgZXJybm8gIT0gRU5PREFUQSkKKysJCXN5c2xv ZyhMT0dfRVJSLCAiJXM6ICVzIiwgX19mdW5jX18sIHN0cmVycm9yKGVycm5vKSk7CisrCWVsc2Ug aWYgKCFyZXQpCisrCQlzeXNsb2coTE9HX0RFQlVHLCAiaG9zdCAldToldSAtPiBOUyAldToldSIs IG9yaWdfdWlkLCBvcmlnX2dpZCwgKnVpZHAsICpnaWRwKTsKKysKKyAJcmV0dXJuIHJldDsKKyB9 CisgCitAQCAtMTUzNCw2ICsxNTg3LDcgQEAgaW50IG1haW4oY29uc3QgaW50IGFyZ2MsIGNoYXIg KmNvbnN0IGFyZ3ZbXSkKKyAJY29uc3QgY2hhciAqb2lkOworIAl1aWRfdCB1aWQ7CisgCWdpZF90 IGdpZDsKKysJc3RydWN0IHBhc3N3ZCAqcHc7CisgCWNoYXIgKmtleXRhYl9uYW1lID0gTlVMTDsK KyAJY2hhciAqZW52X2NhY2hlbmFtZSA9IE5VTEw7CisgCWtyYjVfY2NhY2hlIGNjYWNoZSA9IE5V TEw7CitAQCAtMTY4MCwxMiArMTczNCw1MiBAQCBpbnQgbWFpbihjb25zdCBpbnQgYXJnYywgY2hh ciAqY29uc3QgYXJndltdKQorIAkJZ290byBvdXQ7CisgCX0KKyAKKysJLyoKKysJICogJ3VpZCcg YWx3YXlzIHBvaW50cyB0byBhIGhvc3QgVUlELCBzbyB3ZSBtdXN0IGdldCB0aGUgY29ycmVzcG9u ZGluZyBob3N0IEdJRC4KKysJICogSXQncyBzYWZlIHRvIGNhbGwgZ2V0cHd1aWQoKSBoZXJlIGJl Y2F1c2Ugd2UncmUgc3RpbGwgb24gaG9zdCBOUywgaS5lLiBjYWxsZXIKKysJICogYXBwbGljYXRp b24gaGFzIG5vIGNvbnRyb2wgb3ZlciBjdXN0b20gTlNTIG1vZHVsZXMuCisrCSAqCisrCSAqIEZJ WE1FOiBpZiBVSUQgaXMgZnJvbSBhbm90aGVyIE5TLCBvciBhIHN1YnVpZCwgdGhpcyB3aWxsIGZh aWwgb24gbW91bnQuCisrCSAqLworKwllcnJubyA9IDA7CisrCXB3ID0gZ2V0cHd1aWQodWlkKTsK KysJaWYgKCFwdykgeworKwkJc3lzbG9nKExPR19FUlIsICJmYWlsZWQgdG8gcmV0cmlldmUgR0lE IGZyb20gVUlEICV1OiAlcyIsIHVpZCwKKysJCSAgICAgICBzdHJlcnJvcihlcnJubyA/IGVycm5v IDogRU5PRU5UKSk7CisrCQlyYyA9IDE7CisrCQlnb3RvIG91dDsKKysJfQorKworKwlnaWQgPSBw dy0+cHdfZ2lkOworKworKwkvKgorKwkgKiBXZSBjYW4ndCByZWFzb25hYmx5IGRvIHRoaXMgZm9y IHJvb3QuIFdoZW4gbW91bnRpbmcgYSBERlMgc2hhcmUsCisrCSAqIGZvciBpbnN0YW5jZSB3ZSBj YW4gZW5kIHVwIHdpdGggY3JlZHMgYmVpbmcgb3ZlcnJpZGRlbiwgYnV0IHRoZSBlbnYKKysJICog dmFyaWFibGUgbGVmdCBpbnRhY3QuCisrCSAqCisrCSAqIEFsd2F5cyBjaGVjayB0aGlzIGJlZm9y ZSBOUyBVSUQgbWFwcGluZy4KKysJICovCisrCWlmICh1aWQgPT0gMCkKKysJCWVudl9wcm9iZSA9 IGZhbHNlOworKworIAkvKgorIAkgKiBDaGFuZ2UgdG8gdGhlIHByb2Nlc3MncyBuYW1lc3BhY2Uu IFRoaXMgbWVhbnMgdGhhdCB0aGluZ3Mgd2lsbCB3b3JrCisgCSAqIGFjY2VwdGFibHkgaW4gY29u dGFpbmVycywgYmVjYXVzZSB3ZSdsbCBiZSBsb29raW5nIGF0IHRoZSBjb3JyZWN0CisgCSAqIGZp bGVzeXN0ZW0gYW5kIGhhdmUgdGhlIGNvcnJlY3QgbmV0d29yayBjb25maWd1cmF0aW9uLgorIAkg Ki8KKyAJaWYgKGFyZy0+dXBjYWxsX3RhcmdldCA9PSBVUFRBUkdFVF9BUFAgfHwgYXJnLT51cGNh bGxfdGFyZ2V0ID09IFVQVEFSR0VUX1VOU1BFQ0lGSUVEKSB7CisrCQkvKgorKwkJICogTWFwIGhv c3QgJ3VpZCcgYW5kICdnaWQnIHRvIHRoZSB0YXJnZXQgdXNlciBOUy4KKysJCSAqCisrCQkgKiBB bnkgc2NlbmFyaW8gdGhhdCBpbnZvbHZlcyB1bm1hcHBlZCBVSURzIG9yIHByaW1hcnkgR0lEcyBp cyBub3Qgc3VwcG9ydGVkIC0tIHdlCisrCQkgKiBkb24ndCBoYXZlLCBhbmQgY2FuJ3QgZmluZCwg YWxsIHRoZSBpbmZvIHRoYXQgd291bGQgYmUgbmVjZXNzYXJ5IHRvIGZpbmQgYQorKwkJICogVUlE L0dJRCB3aXRoaW4gYWxsIHRoZSBwb3NzaWJsZSBOUyBjb21iaW5hdGlvbnMuCisrCQkgKi8KKysJ CWlmICghaW5fc2FtZV91c2VyX25zKGFyZy0+cGlkLCBnZXRwaWQoKSkpIHsKKysJCQlyYyA9IG1h cF91aWRnaWQoYXJnLT5waWQsICZ1aWQsICZnaWQpOworKwkJCWlmIChyYykKKysJCQkJZ290byBv dXQ7CisrCQl9CisgCQlzeXNsb2coTE9HX0lORk8sICJ1cGNhbGxfdGFyZ2V0PWFwcCwgc3dpdGNo aW5nIG5hbWVzcGFjZXMgdG8gYXBwbGljYXRpb24gdGhyZWFkIik7CisgCQlhcmctPnVwY2FsbF90 YXJnZXQgPSBVUFRBUkdFVF9BUFA7CisgCQlyYyA9IHN3aXRjaF90b19wcm9jZXNzX25zKGFyZy0+ cGlkKTsKK0BAIC0xNzAwLDI1ICsxNzk0LDYgQEAgaW50IG1haW4oY29uc3QgaW50IGFyZ2MsIGNo YXIgKmNvbnN0IGFyZ3ZbXSkKKyAJCXN5c2xvZyhMT0dfSU5GTywgInVwY2FsbF90YXJnZXQ9bW91 bnQsIG5vdCBzd2l0Y2hpbmcgbmFtZXNwYWNlcyB0byBhcHBsaWNhdGlvbiB0aHJlYWQiKTsKKyAJ fQorIAorLQkvKgorLQkgKiBXZSBjYW4ndCByZWFzb25hYmx5IGRvIHRoaXMgZm9yIHJvb3QuIFdo ZW4gbW91bnRpbmcgYSBERlMgc2hhcmUsCistCSAqIGZvciBpbnN0YW5jZSB3ZSBjYW4gZW5kIHVw IHdpdGggY3JlZHMgYmVpbmcgb3ZlcnJpZGRlbiwgYnV0IHRoZSBlbnYKKy0JICogdmFyaWFibGUg bGVmdCBpbnRhY3QuCistCSAqLworLQlpZiAodWlkID09IDApCistCQllbnZfcHJvYmUgPSBmYWxz ZTsKKy0KKy0JLyoKKy0JICogRklYTUU6IHRoaXMgb25seSB3b3JrcyBpZiB3ZSBoYXZlbid0IHN3 aXRjaGVkIFBJRCBuYW1lc3BhY2VzLgorLQkgKiBJZiB3ZSBkaWQsIC9wcm9jL2FyZy0+cGlkLyBt aWdodCBub3QgZXhpc3QsIG9yIHdvcnNlLCBwb2ludCB0byBzb21ldGhpbmcgZWxzZS4KKy0JICov CistCXJjID0gZ2V0X3VpZGdpZChhcmctPnBpZCwgJnVpZCwgJmdpZCk7CistCWlmIChyYykgewor LQkJc3lzbG9nKExPR19FUlIsICJnZXRfdWlkZ2lkIChOUyk6ICVzIiwgc3RyZXJyb3IoZXJybm8p KTsKKy0JCXJjID0gMTsKKy0JCWdvdG8gb3V0OworLQl9CistCisgCXJjID0gc2V0Z2lkKGdpZCk7 CisgCWlmIChyYykgeworIAkJc3lzbG9nKExPR19FUlIsICJzZXRnaWQ6ICVzIiwgc3RyZXJyb3Io ZXJybm8pKTsKKy0tIAorMi41NC4wCisK