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?UGV0ciBNZW7FocOtayA8cGVtZW5zaWtAcmVkaGF0LmNvbT4=?= To: git-commits@fedoraproject.org Subject: [rpms/dnsmasq] rawhide: Update to 2.93 (rbhz#2484748) Date: Fri, 03 Jul 2026 16:54:06 GMT Message-ID: <178309764629.1.5909744253002727923.rpms-dnsmasq-0cf59fd963af@fedoraproject.org> List-ID: X-Git-Repo: rpms/dnsmasq X-Git-Branch: rawhide X-Git-Rev: 0cf59fd963af677c2277d467feb052dcf6ab00c2 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZG5zbWFzcQogICAgICAgICAgICBCcmFuY2ggOiByYXdoaWRlCiAgICAgICAg ICAgIENvbW1pdCA6IDBjZjU5ZmQ5NjNhZjY3N2MyMjc3ZDQ2N2ZlYjA1MmRjZjZhYjAwYzIKICAg ICAgICAgICAgQXV0aG9yIDogUGV0ciBNZW7FocOtayA8cGVtZW5zaWtAcmVkaGF0LmNvbT4KICAg ICAgICAgICAgRGF0ZSAgIDogMjAyNi0wNy0wMlQxNjo0NTowMiswMjowMAogICAgICAgICAgICBT dGF0cyAgOiArOS8tNjAwIGluIDYgZmlsZShzKQogICAgICAgICAgICBVUkwgICAgOiBodHRwczov L3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2Ruc21hc3EvYy8wY2Y1OWZkOTYzYWY2NzdjMjI3 N2Q0NjdmZWIwNTJkY2Y2YWIwMGMyP2JyYW5jaD1yYXdoaWRlCgogICAgICAgICAgICBMb2c6CiAg ICAgICAgICAgIFVwZGF0ZSB0byAyLjkzIChyYmh6IzI0ODQ3NDgpCgp2ZXJzaW9uIDIuOTMKCUZp eCBhIGNvcm5lci1jYXNlIGluIEROU1NFQyB2YWxpZGF0aW9uIHdpdGggd2lsZGNhcmRzLiBJZiB3 ZSBoYXZlCglhIHdpbGRjYXJkIHJlY29yZCAqLmV4YW1wbGUuY29tIGFuZCByZWNlaXZlIGEgcXVl cnkgZm9yCglhLmV4YW1wbGUuY29tIHRoZW4gdGhhdCdzIE9LLCBidXQgd2UgaGF2ZSB0byBjaGVj ayB0aGF0IHRoZXJlIGlzbid0CglhbiBhY3R1YWwgYS5leGFtcGxlLmNvbSByZWNvcmQuIFRoZSBj b3JuZXIgY2FzZSBpcyB3aGVuIHdlIGdldCBhCglxdWVyeSBmb3IgKi5leGFtcGxlLmNvbSBpbiB0 aGF0IGNhc2UgdGhlIG5vbi1leGlzdGVuY2UgY2hlY2sKCWlzIG5vdCByZXF1aXJlZCwgd2FzIGJl aW5nIGRvbmUuIFRoYW5rcyB0byBKYW4gQnJlaWcgZm9yCglzcG90dGluZyB0aGlzLgoKCUVuYWJs ZSBzdXBwb3J0IGZvciBpbm90aWZ5IG9uIEZyZWVCU0QgMTUuMC1SRUxFQVNFLCB3aGljaCBhZGRl ZAoJTGludXgtY29tcGF0aWJsZSBpbm90aWZ5IHN1cHBvcnQuCgoJRml4IEROU1NFQyBmYWlsdXJl IHdpdGggc3B1cmlvdXMgUlJTSUdzLiBUaGUgcHJlc2VuY2Ugb2Ygd3JvbmcKCVJSU0lHIFJScyBp biByZXBsaWVzIGNhdXNlZCBETlNTRUMgdmFsaWRhdGlvbiB0byBmYWlsIGV2ZW4KCXdoZW4gdGhl IFJScyBkbyBub3QgcmVxdWlyZSB2YWxpZGF0aW9uIGJlY2F1c2UgdGhlIHpvbmUgaXMKCXVuc2ln bmVkLiBOb3RlIHRoYXQsIGF0IHRoZSB0aW1lIG9mIHRoaXMgY29tbWl0LCBHb29nbGUKCUROUyBh cHBlYXJzIHRvIGhhdmUgdGhlIHNhbWUgYnVnLCBzbyBpZiB5b3UncmUgdXNpbmcgOC44LjguOAoJ b3IgZnJpZW5kcyBhcyB1cHN0cmVhbSwgcmVzb2x2aW5nIHRoZSBicm9rZW4gem9uZXMKCShlZyBy aXZjb2VkLm9yZykgd2lsbCBzdGlsbCBmYWlsLiBUaGFua3MgdG8gUGV0ciBNZW7FocOtawoJZm9y IHRoZSBidWcgcmVwb3J0LgoKCUZpeCBETlNTRUMgZmFpbCB3aXRoIENOQU1FIHJlcGxpZXMgdG8g RFMgcXVlcmllcy4gQSBDTkFNRSByZXBseQoJdG8gYSBETlNTRUMgcXVlcnkgd2FzIGNvbmZ1c2lu ZyB0aGUgdmFsaWRhdGlvbiBsb2dpYy4gSXQgbm93CglhY2NlcHRzIGEgc2lnbmVkIENOQU1FIHJl cGx5IHRvIGEgRFMgcXVlcnkgYXMgcHJvb2YgdGhhdCBubyBEUwoJZXhpc3RzIGF0IHRoZSBkb21h aW4uIFRoaXMgZml4ZXMgdGhlIERTL3pvbmUgYnJlYWsgZGV0ZWN0aW9uIGxvZ2ljLgoKCUZpeCBy ZWdyZXNzaW9uIGluIDIuOTIgcmVsZWFzZSB3aGljaCBicm9rZSBESENQdjYgd2hlbiBhIERIQ1AK CXJlbGF5IGlzIGluIHVzZS4gTWFueSB0aGFua3MgdG8gSsO4cmdlbiBTw7h2aWsgZm9yIGhlbHAK CWZpbmRpbmcgdGhpcyBidWcuCgoJTW9kaWZ5IHRoZSBpbm90aWZ5IGltcGxlbWVudGF0aW9uIHNv IHRoYXQgaW5vdGlmeSB3YXRjaGVzIGFyZQoJb25seSBjcmVhdGVkIGFmdGVyIGRuc21hc3EgaGFz IGNoYW5nZWQgcGVybWlzc2lvbnMgYW5kIHVzZXJpZC4KCVRoaXMgbWVhbnMgdGhhdCB0aGUgcGVy bWlzc2lvbnMgdXNlZCB3aGVuIGNyZWF0aW5nIHRoZSB3YXRjaGVzCglhcmUgdGhlIHNhbWUgYXMg dXNlZCBmb3IgYWNjZXNzaW5nIHdhdGNoZWQgZmlsZXMsIHdoaWNoIG1ha2VzCgltb3JlIHNlbnNl IGFuZCBhdm9pZHMgb2RkIGFuZCBjb25mdXNpbmcgZXJyb3IgY29uZGl0aW9ucy4KCglSZXdvcmsg c3RvcmFnZSBhbGxvY2F0aW9uIGZvciBkb21haW4gbmFtZXMuICBUaGlzIGZpeGVzIGEgc2VjdXJp dHkKCWJ1ZyB0aGF0IGNhbiBjYXVzZSBoZWFwLW92ZXJ3cml0ZSB3aXRoIGxvbmcgZG9tYWluIG5h bWVzLgoJQ1ZFLTIwMjYtMjI5MSBjb3ZlcnMgdGhpcyBhbmQgYSBzaW1wbGUgcGF0Y2ggZm9yIGV4 aXN0aW5nCglyZWxlYXNlcyB3YXMgcmVsZWFzZWQgd2l0aCB0aGUgQ1ZFLiBUaGlzIHBhdGNoIHJl d29ya3MgdGhlIHdob2xlCgljb2RlIGJhc2UgdG8gbWFrZSBpdCBjbGVhbmVyIGFuZCBsZXNzIGxp YWJsZSB0byBmdXR1cmUKCWNvbmZ1c2lvbnMuIEVpdGhlciB1cGdyYWRpbmcgdG8gMi45MyBvciBh cHBseWluZyB0aGUgcGF0Y2gKCXRvIGVhcmxpZXIgdmVyc2lvbnMgaXMgc3VmZmljaWVudCB0byBj bG9zZSB0aGUgc2VjdXJpdHkgaG9sZS4KCVRoYW5rcyB0byBBbmRyZXcgUy4gRmFzYW5vIGZvciBz cG90dGluZyB0aGlzIHByb2JsZW0gaW4gdGhlCglmaXJzdCBwbGFjZS4KCi0tLQpkaWZmIC0tZ2l0 IGEvMDAwMS1NYWtlLWlub3RpZnktaW5pdGlhbGl6YXRpb24tbm9uLWZhdGFsLWVycm9yLnBhdGNo IGIvMDAwMS1NYWtlLWlub3RpZnktaW5pdGlhbGl6YXRpb24tbm9uLWZhdGFsLWVycm9yLnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1OGI5MzkwLi4wMDAwMDAwCi0tLSBhLzAw MDEtTWFrZS1pbm90aWZ5LWluaXRpYWxpemF0aW9uLW5vbi1mYXRhbC1lcnJvci5wYXRjaAorKysg L2Rldi9udWxsCkBAIC0xLDEyMSArMCwwIEBACi1Gcm9tIGY1NTY5ODI3MmEyM2JkY2JiOTkzNzEy YTRmN2NhYjNmYTY2MDIwN2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04 P3E/UGV0cj0yME1lbj1DNT1BMT1DMz1BRGs/PSA8cGVtZW5zaWtAcmVkaGF0LmNvbT4KLURhdGU6 IFdlZCwgMTEgRmViIDIwMjYgMjI6MDI6NDggKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gTWFrZSBp bm90aWZ5IGluaXRpYWxpemF0aW9uIG5vbi1mYXRhbCBlcnJvcgotTUlNRS1WZXJzaW9uOiAxLjAK LUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zl ci1FbmNvZGluZzogOGJpdAotCi1XaGVuIGlub3RpZnkgd2F0Y2ggY3JlYXRpb24gaXMgbm90IHN1 Y2Nlc3NmdWwsIHByaW50IG9ubHkgd2FybmluZy4gUmV0cnkKLWFmdGVyIGRyb3BwaW5nIHByaXZp bGVnZXMgYmVjYXVzZSB0aGF0IG1pZ2h0IGhlbHAgdG9vLiBMb2cgd2FybmluZyBvbmx5Ci10aGUg c2Vjb25kIHRpbWUsIHdoZW4gbG9nZ2luZyBpcyBwcm9wZXJseSBpbml0aWFsaXplZC4KLQotU2ln bmVkLW9mZi1ieTogUGV0ciBNZW7FocOtayA8cGVtZW5zaWtAcmVkaGF0LmNvbT4KLS0tLQotIHNy Yy9kbnNtYXNxLmMgfCAxMyArKysrKysrKysrKy0tCi0gc3JjL2Ruc21hc3EuaCB8ICAyICstCi0g c3JjL2lub3RpZnkuYyB8IDIyICsrKysrKysrKysrKysrKystLS0tLS0KLSAzIGZpbGVzIGNoYW5n ZWQsIDI4IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMv ZG5zbWFzcS5jIGIvc3JjL2Ruc21hc3EuYwotaW5kZXggNjM2OWExNC4uOTFmNGVmZCAxMDA2NDQK LS0tLSBhL3NyYy9kbnNtYXNxLmMKLSsrKyBiL3NyYy9kbnNtYXNxLmMKLUBAIC00NDEsNyArNDQx LDcgQEAgaW50IG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKLSAjaWZkZWYgSEFWRV9JTk9U SUZZCi0gICBpZiAoKGRhZW1vbi0+cG9ydCAhPSAwICYmICFvcHRpb25fYm9vbChPUFRfTk9fUkVT T0xWKSkgfHwKLSAgICAgICBkYWVtb24tPmR5bmFtaWNfZGlycykKLS0gICAgaW5vdGlmeV9kbnNt YXNxX2luaXQoKTsKLSsgICAgaW5vdGlmeV9kbnNtYXNxX2luaXQoMCk7Ci0gICBlbHNlCi0gICAg IGRhZW1vbi0+aW5vdGlmeWZkID0gLTE7Ci0gI2VuZGlmCi1AQCAtODY1LDYgKzg2NSwxNSBAQCBp bnQgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQotICAgICB9Ci0gI2VuZGlmCi0gCi0rI2lm ZGVmIEhBVkVfSU5PVElGWQotKyAgLyogaW5vdGlmeSBjcmVhdGlvbiBmYWlsZWQgZm9yIHRoZSBy b290IHVzZXIuCi0rICAgKiBSZXRyeSB3aXRoIHVucHJpdmlsZWdlZCB1c2VyLCBsb2cgd2Fybmlu Z3MgdGhpcyB0aW1lLiAqLwotKyAgaWYgKGRhZW1vbi0+aW5vdGlmeWZkID09IC0xICYmCi0rICAg ICAgKChkYWVtb24tPnBvcnQgIT0gMCAmJiAhb3B0aW9uX2Jvb2woT1BUX05PX1JFU09MVikpIHx8 Ci0rICAgICAgIGRhZW1vbi0+ZHluYW1pY19kaXJzKSkKLSsgICAgaW5vdGlmeV9kbnNtYXNxX2lu aXQoMSk7Ci0rI2VuZGlmCi0rCi0gICBpZiAoZGFlbW9uLT5wb3J0ID09IDApCi0gICAgIG15X3N5 c2xvZyhMT0dfSU5GTywgXygic3RhcnRlZCwgdmVyc2lvbiAlcyBETlMgZGlzYWJsZWQiKSwgVkVS U0lPTik7Ci0gICBlbHNlIAotQEAgLTEyOTYsNyArMTMwNSw3IEBAIGludCBtYWluIChpbnQgYXJn YywgY2hhciAqKmFyZ3YpCi0gCSAgY2hlY2tfdWJ1c19saXN0ZW5lcnMoKTsKLSAJfQotICNlbmRp ZgotLSAgICAgIAotKwotICAgICAgIGlmIChkYWVtb24tPnBvcnQgIT0gMCkKLSAJY2hlY2tfZG5z X2xpc3RlbmVycyhub3cpOwotIAotZGlmZiAtLWdpdCBhL3NyYy9kbnNtYXNxLmggYi9zcmMvZG5z bWFzcS5oCi1pbmRleCAzZDE3NmJhLi42Y2ViNjk3IDEwMDY0NAotLS0tIGEvc3JjL2Ruc21hc3Eu aAotKysrIGIvc3JjL2Ruc21hc3EuaAotQEAgLTE4ODksNyArMTg4OSw3IEBAIGludCBkZXRlY3Rf bG9vcChjaGFyICpxdWVyeSwgaW50IHR5cGUpOwotIAotIC8qIGlub3RpZnkuYyAqLwotICNpZmRl ZiBIQVZFX0lOT1RJRlkKLS12b2lkIGlub3RpZnlfZG5zbWFzcV9pbml0KHZvaWQpOwotK3ZvaWQg aW5vdGlmeV9kbnNtYXNxX2luaXQoaW50IGxvZ193YXJuKTsKLSBpbnQgaW5vdGlmeV9jaGVjayh0 aW1lX3Qgbm93KTsKLSB2b2lkIHNldF9keW5hbWljX2lub3RpZnkoaW50IGZsYWcsIGludCB0b3Rh bF9zaXplLCBzdHJ1Y3QgY3JlYyAqKnJoYXNoLCBpbnQgcmV2aGFzaHN6KTsKLSAjZW5kaWYKLWRp ZmYgLS1naXQgYS9zcmMvaW5vdGlmeS5jIGIvc3JjL2lub3RpZnkuYwotaW5kZXggZjcwZGFlYS4u ZDAxYjQxNiAxMDA2NDQKLS0tLSBhL3NyYy9pbm90aWZ5LmMKLSsrKyBiL3NyYy9pbm90aWZ5LmMK LUBAIC04NSwxOCArODUsMjIgQEAgc3RhdGljIGNoYXIgKm15X3JlYWRsaW5rKGNoYXIgKnBhdGgp Ci0gICAgIH0KLSB9Ci0gCi0tdm9pZCBpbm90aWZ5X2Ruc21hc3FfaW5pdCgpCi0rdm9pZCBpbm90 aWZ5X2Ruc21hc3FfaW5pdChpbnQgbG9nX3dhcm4pCi0gewotICAgc3RydWN0IHJlc29sdmMgKnJl czsKLSAgIGlub3RpZnlfYnVmZmVyID0gc2FmZV9tYWxsb2MoSU5PVElGWV9TWik7Ci0gICBkYWVt b24tPmlub3RpZnlmZCA9IGlub3RpZnlfaW5pdDEoSU5fTk9OQkxPQ0sgfCBJTl9DTE9FWEVDKTsK LS0gIAotKwotICAgaWYgKGRhZW1vbi0+aW5vdGlmeWZkID09IC0xKQotLSAgICBkaWUoXygiZmFp bGVkIHRvIGNyZWF0ZSBpbm90aWZ5OiAlcyIpLCBOVUxMLCBFQ19NSVNDKTsKLSsgICAgewotKyAg ICAgIGlmIChsb2dfd2FybikKLSsgICAgICAgIG15X3N5c2xvZyhMT0dfV0FSTklORywgXygiZmFp bGVkIHRvIGNyZWF0ZSBpbm90aWZ5OiAlcyIpLCBzdHJlcnJvcihlcnJubykpOwotKyAgICAgIHJl dHVybjsKLSsgICAgfQotIAotICAgaWYgKGRhZW1vbi0+cG9ydCA9PSAwIHx8IG9wdGlvbl9ib29s KE9QVF9OT19SRVNPTFYpKQotICAgICByZXR1cm47Ci0tICAKLSsKLSAgIGZvciAocmVzID0gZGFl bW9uLT5yZXNvbHZfZmlsZXM7IHJlczsgcmVzID0gcmVzLT5uZXh0KQotICAgICB7Ci0gICAgICAg Y2hhciAqZCwgKm5ld19wYXRoLCAqcGF0aCA9IHNhZmVfbWFsbG9jKHN0cmxlbihyZXMtPm5hbWUp ICsgMSk7Ci1AQCAtMTI3LDggKzEzMSwxNCBAQCB2b2lkIGlub3RpZnlfZG5zbWFzcV9pbml0KCkK LSAJICAgIGRpZShfKCJkaXJlY3RvcnkgJXMgZm9yIHJlc29sdi1maWxlIGlzIG1pc3NpbmcsIGNh bm5vdCBwb2xsIiksIHJlcy0+bmFtZSwgRUNfTUlTQyk7Ci0gCX0JICAKLSAJIAotLSAgICAgIGlm IChyZXMtPndkID09IC0xKQotLQlkaWUoXygiZmFpbGVkIHRvIGNyZWF0ZSBpbm90aWZ5IGZvciAl czogJXMiKSwgcmVzLT5uYW1lLCBFQ19NSVNDKTsKLSsgICAgICBpZiAocmVzLT53ZCA9PSAtMSkg ewotKwlmcmVlKHBhdGgpOwotKwlpZiAobG9nX3dhcm4pCi0rCSAgbXlfc3lzbG9nKExPR19XQVJO SU5HLCBfKCJmYWlsZWQgdG8gY3JlYXRlIGlub3RpZnkgd2F0Y2ggZm9yICVzOiAlcyIpLCByZXMt Pm5hbWUsIHN0cmVycm9yKGVycm5vKSk7Ci0rCWNsb3NlKGRhZW1vbi0+aW5vdGlmeWZkKTsKLSsJ ZGFlbW9uLT5pbm90aWZ5ZmQgPSAtMTsKLSsJcmV0dXJuOwotKyAgICAgIH0KLSAJCi0gICAgIH0K LSB9Ci0tLSAKLTIuNTMuMAotCgpkaWZmIC0tZ2l0IGEvZG5zbWFzcS0yLjkyLWRuc3NlYy13aWxk Y2FyZC5wYXRjaCBiL2Ruc21hc3EtMi45Mi1kbnNzZWMtd2lsZGNhcmQucGF0Y2gKZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2YWQ2ZDkuLjAwMDAwMDAKLS0tIGEvZG5zbWFzcS0yLjky LWRuc3NlYy13aWxkY2FyZC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIwMyArMCwwIEBACi1G cm9tIDMyZjEwY2RhNjRiOTJiMzU1OWNjM2I4YjQ0NzkzOTk0OTZiZGRiNjQgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCi1Gcm9tOiBTaW1vbiBLZWxsZXkgPHNpbW9uQHRoZWtlbGxleXMub3JnLnVr PgotRGF0ZTogTW9uLCAxMiBKYW4gMjAyNiAyMTo1NTo0MSArMDAwMAotU3ViamVjdDogW1BBVENI XSBGaXggYSBjb3JuZXItY2FzZSBpbiBETlNTRUMgdmFsaWRhdGlvbiB3aXRoIHdpbGRjYXJkcy4K LQotSWYgd2UgaGF2ZSBhIHdpbGRjYXJkIHJlY29yZCAqLmV4YW1wbGUuY29tIGFuZCByZWNpZXZl IGEgcXVlcnkgZm9yCi1hLmV4YW1wbGUuY29tIHRoZW4gdGhhdCdzIE9LLCBidXQgd2UgaGF2ZSB0 byBjaGVjayB0aGF0IHRoZXJlIGlzbid0Ci1hbiBhY3R1YWwgYS5leGFtcGxlLmNvbSByZWNvcmQu IFRoZSBjb3JuZXIgY2FzZSBpcyB3aGVuIHdlIGdldCBhCi1xdWVyeSBmb3IgKi5leGFtcGxlLmNv bSBpbiB0aGF0IGNhc2UgdGhlIG5vbi1leGlzdGVuY2UgY2hlY2sKLWlzIG5vdCByZXF1aXJlZCwg YnV0IHdhcyBiZWluZyBkb25lLgotCi1UaGFua3MgdG8gSmFuIEJyZWlnIGZvciBzcG90dGluZyB0 aGlzLgotLS0tCi0gc3JjL2Ruc21hc3EuaCB8ICA3ICsrKy0tLS0KLSBzcmMvZG5zc2VjLmMgIHwg NDcgKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAyIGZp bGVzIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDI4IGRlbGV0aW9ucygtKQotCi1kaWZmIC0t Z2l0IGEvc3JjL2Ruc21hc3EuaCBiL3NyYy9kbnNtYXNxLmgKLWluZGV4IDU4YmUwOWYuLjkzNDUx N2YgMTAwNjQ0Ci0tLS0gYS9zcmMvZG5zbWFzcS5oCi0rKysgYi9zcmMvZG5zbWFzcS5oCi1AQCAt NzYwLDEwICs3NjAsOSBAQCBzdHJ1Y3QgZHluZGlyIHsKLSAjZGVmaW5lIFNUQVRfTkVFRF9EUyAg ICAgICAgICAgIDB4NDAwMDAKLSAjZGVmaW5lIFNUQVRfTkVFRF9LRVkgICAgICAgICAgIDB4NTAw MDAKLSAjZGVmaW5lIFNUQVRfVFJVTkNBVEVEICAgICAgICAgIDB4NjAwMDAKLS0jZGVmaW5lIFNU QVRfU0VDVVJFX1dJTERDQVJEICAgIDB4NzAwMDAKLS0jZGVmaW5lIFNUQVRfT0sgICAgICAgICAg ICAgICAgIDB4ODAwMDAKLS0jZGVmaW5lIFNUQVRfQUJBTkRPTkVEICAgICAgICAgIDB4OTAwMDAK LS0jZGVmaW5lIFNUQVRfQVNZTkMgICAgICAgICAgICAgIDB4YTAwMDAKLSsjZGVmaW5lIFNUQVRf T0sgICAgICAgICAgICAgICAgIDB4NzAwMDAKLSsjZGVmaW5lIFNUQVRfQUJBTkRPTkVEICAgICAg ICAgIDB4ODAwMDAKLSsjZGVmaW5lIFNUQVRfQVNZTkMgICAgICAgICAgICAgIDB4OTAwMDAKLSAK LSAjZGVmaW5lIEROU1NFQ19GQUlMX05ZViAgICAgICAgIDB4MDAwMSAvKiBrZXkgbm90IHlldCB2 YWxpZCAqLwotICNkZWZpbmUgRE5TU0VDX0ZBSUxfRVhQICAgICAgICAgMHgwMDAyIC8qIGtleSBl eHBpcmVkICovCi1kaWZmIC0tZ2l0IGEvc3JjL2Ruc3NlYy5jIGIvc3JjL2Ruc3NlYy5jCi1pbmRl eCAzOTUxNjIwLi5iNWU2YjM1IDEwMDY0NAotLS0tIGEvc3JjL2Ruc3NlYy5jCi0rKysgYi9zcmMv ZG5zc2VjLmMKLUBAIC00MzgsOCArNDM4LDYgQEAgaW50IGRlY19jb3VudGVyKGludCAqY291bnRl ciwgY2hhciAqbWVzc2FnZSkKLSAvKiBWYWxpZGF0ZSBhIHNpbmdsZSBSUnNldCAoY2xhc3MsIHR5 cGUsIG5hbWUpIGluIHRoZSBzdXBwbGllZCBETlMgcmVwbHkgCi0gICAgUmV0dXJuIGNvZGU6Ci0g ICAgU1RBVF9TRUNVUkUgICBpZiBpdCB2YWxpZGF0ZXMuCi0tICAgU1RBVF9TRUNVUkVfV0lMRENB UkQgaWYgaXQgdmFsaWRhdGVzIGFuZCBpcyB0aGUgcmVzdWx0IG9mIHdpbGRjYXJkIGV4cGFuc2lv bi4KLS0gICAoSW4gdGhpcyBjYXNlICp3aWxkY2FyZF9vdXQgcG9pbnRzIHRvIHRoZSAiYm9keSIg b2YgdGhlIHdpbGRjYXJkIHdpdGhpbiBuYW1lLikgCi0gICAgU1RBVF9CT0dVUyAgICBzaWduYXR1 cmUgaXMgd3JvbmcsIGJhZCBwYWNrZXQuCi0gICAgU1RBVF9BQkFORE9ORUQgdmFsaWRhdGlvbiBh YmFuZG9uZWQgZG8gdG8gZXhjZXNzIHJlc291cmNlIHVzYWdlLgotICAgIFNUQVRfTkVFRF9LRVkg bmVlZCBETlNLRVkgdG8gY29tcGxldGUgdmFsaWRhdGlvbiAobmFtZSBpcyByZXR1cm5lZCBpbiBr ZXluYW1lKQotQEAgLTQ1NSw3ICs0NTMsNyBAQCBpbnQgZGVjX2NvdW50ZXIoaW50ICpjb3VudGVy LCBjaGFyICptZXNzYWdlKQotICAgIHR0bF9vdXQgaXMgdGhlIGZsb29yIG9uIFRUTCwgYmFzZWQg b24gVFRMIGFuZCBvcmlnX3R0bCBhbmQgZXhwaXJhdGlvbiBvZiBzaWcgdXNlZCB0byB2YWxpZGF0 ZS4KLSAqLwotIHN0YXRpYyBpbnQgdmFsaWRhdGVfcnJzZXQodGltZV90IG5vdywgc3RydWN0IGRu c19oZWFkZXIgKmhlYWRlciwgc2l6ZV90IHBsZW4sIGludCBjbGFzcywgaW50IHR5cGUsIGludCBz aWdpZHgsIGludCBycnNldGlkeCwgCi0tCQkJICBjaGFyICpuYW1lLCBjaGFyICprZXluYW1lLCBj aGFyICoqd2lsZGNhcmRfb3V0LCBzdHJ1Y3QgYmxvY2tkYXRhICprZXksIGludCBrZXlsZW4sCi0r CQkJICBjaGFyICpuYW1lLCBjaGFyICprZXluYW1lLCBpbnQgKndpbGRjYXJkX29mZnNldF9vdXQs IHN0cnVjdCBibG9ja2RhdGEgKmtleSwgaW50IGtleWxlbiwKLSAJCQkgIGludCBhbGdvX2luLCBp bnQga2V5dGFnX2luLCB1bnNpZ25lZCBsb25nICp0dGxfb3V0LCBpbnQgKnZhbGlkYXRlX2NvdW50 ZXIpCi0gewotICAgdW5zaWduZWQgY2hhciAqcDsKLUBAIC00NjgsOCArNDY2LDggQEAgc3RhdGlj IGludCB2YWxpZGF0ZV9ycnNldCh0aW1lX3Qgbm93LCBzdHJ1Y3QgZG5zX2hlYWRlciAqaGVhZGVy LCBzaXplX3QgcGxlbiwgaW4KLSAgIHVuc2lnbmVkIGxvbmcgY3VydGltZSA9IHRpbWUoMCk7Ci0g ICBpbnQgdGltZV9jaGVjayA9IGlzX2NoZWNrX2RhdGUoY3VydGltZSk7Ci0gICAKLS0gIGlmICh3 aWxkY2FyZF9vdXQpCi0tICAgICp3aWxkY2FyZF9vdXQgPSBOVUxMOwotKyAgaWYgKHdpbGRjYXJk X29mZnNldF9vdXQpCi0rICAgICp3aWxkY2FyZF9vZmZzZXRfb3V0ID0gMDsKLSAgIAotICAgbmFt ZV9sYWJlbHMgPSBjb3VudF9sYWJlbHMobmFtZSk7IC8qIEZvciA0MDM1IDUuMy4yIGNoZWNrICov Ci0gCi1AQCAtNTc4LDcgKzU3Niw5IEBAIHN0YXRpYyBpbnQgdmFsaWRhdGVfcnJzZXQodGltZV90 IG5vdywgc3RydWN0IGRuc19oZWFkZXIgKmhlYWRlciwgc2l6ZV90IHBsZW4sIGluCi0gCSAgbmFt ZV9zdGFydCA9IG5hbWU7Ci0gCSAgCi0gCSAgLyogaWYgbW9yZSBsYWJlbHMgdGhhbiBpbiBSUnNp ZyBuYW1lLCBoYXNoICouPG5vIGxhYmVscyBpbiBycnNpZyBsYWJlbHMgZmllbGQ+ICA0MDM1IDUu My4yICovCi0tCSAgaWYgKGxhYmVscyA8IG5hbWVfbGFiZWxzKQotKwkgIC8qIElmIHRoZSBuYW1l IGlzIGFscmVhZHkgdGhlIHdpbGRjYXJkLCB3ZSdyZSBub3QgZ29pbmcgdG8gY2hhbmdlIGl0LiAq LwotKwkgIGlmIChsYWJlbHMgPCBuYW1lX2xhYmVscyAmJgotKwkgICAgICAhKG5hbWVfbGFiZWxz IC0gbGFiZWxzID09IDEgJiYgbmFtZV9zdGFydFswXSA9PSAnKicgJiYgbmFtZV9zdGFydFsxXSA9 PSAnLicpKQotIAkgICAgewotIAkgICAgICBmb3IgKGogPSBuYW1lX2xhYmVscyAtIGxhYmVsczsg aiAhPSAwOyBqLS0pCi0gCQl7Ci1AQCAtNTg4LDExICs1ODgsMTEgQEAgc3RhdGljIGludCB2YWxp ZGF0ZV9ycnNldCh0aW1lX3Qgbm93LCBzdHJ1Y3QgZG5zX2hlYWRlciAqaGVhZGVyLCBzaXplX3Qg cGxlbiwgaW4KLSAJCSAgICBuYW1lX3N0YXJ0Kys7Ci0gCQl9Ci0gCSAgICAgIAotLQkgICAgICBp ZiAod2lsZGNhcmRfb3V0KQotLQkJKndpbGRjYXJkX291dCA9IG5hbWVfc3RhcnQrMTsKLS0KLSsJ ICAgICAgaWYgKHdpbGRjYXJkX29mZnNldF9vdXQpCi0rCQkqd2lsZGNhcmRfb2Zmc2V0X291dCA9 IG5hbWVfc3RhcnQgLSBuYW1lICsgMTsKLSsJICAgICAgCi0gCSAgICAgIG5hbWVfc3RhcnQtLTsK LS0JICAgICAgKm5hbWVfc3RhcnQgPSAnKic7Ci0rCSAgICAgICpuYW1lX3N0YXJ0ID0gJyonOwkg ICAgICAKLSAJICAgIH0KLSAJICAKLSAJICB3aXJlX2xlbiA9IHRvX3dpcmUobmFtZV9zdGFydCk7 Ci1AQCAtNjkxLDcgKzY5MSw3IEBAIHN0YXRpYyBpbnQgdmFsaWRhdGVfcnJzZXQodGltZV90IG5v dywgc3RydWN0IGRuc19oZWFkZXIgKmhlYWRlciwgc2l6ZV90IHBsZW4sIGluCi0gCQkgIHJldHVy biBTVEFUX0FCQU5ET05FRDsKLSAJCQotIAkJaWYgKHZlcmlmeShjcmVjcC0+YWRkci5rZXkua2V5 ZGF0YSwgY3JlY3AtPmFkZHIua2V5LmtleWxlbiwgc2lnLCBzaWdfbGVuLCBkaWdlc3QsIGhhc2gt PmRpZ2VzdF9zaXplLCBhbGdvKSkKLS0JCSAgcmV0dXJuIChsYWJlbHMgPCBuYW1lX2xhYmVscykg PyBTVEFUX1NFQ1VSRV9XSUxEQ0FSRCA6IFNUQVRfU0VDVVJFOwotKwkJICByZXR1cm4gU1RBVF9T RUNVUkU7Ci0gCQkKLSAJCS8qIEFuIGF0dGFja2VyIGNhbiB3YXN0ZSBhIGxvdCBvZiBvdXIgQ1BV IGJ5IHNldHRpbmcgdXAgYSBnaWFudCBETlNLRVkgUlJTRVQgZnVsbCBvZiBmYWlsaW5nCi0gCQkg ICBrZXlzLCBhbGwgb2Ygd2hpY2ggd2UgaGF2ZSB0byB0cnkuIFNpbmNlIG1hbnkgZmFpbGluZyBr ZXlzIGlzIG5vdCBsaWtlbHkgZm9yCi1AQCAtMTU0OSw3ICsxNTQ5LDcgQEAgc3RhdGljIGludCBj aGVja19uc2VjM19jb3ZlcmFnZShzdHJ1Y3QgZG5zX2hlYWRlciAqaGVhZGVyLCBzaXplX3QgcGxl biwgaW50IGRpZ2UKLSAKLSAvKiByZXR1cm5zIDAgb24gc3VjY2Vzcywgb3IgRE5TU0VDX0ZBSUxf KiB2YWx1ZSBvbiBmYWlsdXJlLiAqLwotIHN0YXRpYyBpbnQgcHJvdmVfbm9uX2V4aXN0ZW5jZV9u c2VjMyhzdHJ1Y3QgZG5zX2hlYWRlciAqaGVhZGVyLCBzaXplX3QgcGxlbiwgdW5zaWduZWQgY2hh ciAqKm5zZWNzLCBpbnQgbnNlY19jb3VudCwgY2hhciAqd29ya3NwYWNlMSwKLS0JCQkJICAgICBj aGFyICp3b3Jrc3BhY2UyLCBjaGFyICpuYW1lLCBpbnQgdHlwZSwgY2hhciAqd2lsZG5hbWUsIGlu dCAqbm9ucywgaW50ICp2YWxpZGF0ZV9jb3VudGVyKQotKwkJCQkgICAgIGNoYXIgKndvcmtzcGFj ZTIsIGNoYXIgKm5hbWUsIGludCB0eXBlLCBpbnQgd2lsZF9vZmZzZXQsIGludCAqbm9ucywgaW50 ICp2YWxpZGF0ZV9jb3VudGVyKQotIHsKLSAgIHVuc2lnbmVkIGNoYXIgKnNhbHQsICpwLCAqZGln ZXN0OwotICAgaW50IGRpZ2VzdF9sZW4sIGksIGl0ZXJhdGlvbnMsIHNhbHRfbGVuLCBiYXNlMzJf bGVuLCBhbGdvID0gMDsKLUBAIC0xNjQ3LDkgKzE2NDcsOSBAQCBzdGF0aWMgaW50IHByb3ZlX25v bl9leGlzdGVuY2VfbnNlYzMoc3RydWN0IGRuc19oZWFkZXIgKmhlYWRlciwgc2l6ZV90IHBsZW4s IHVucwotICAgICAgIGlmICgqY2xvc2VzdF9lbmNsb3NlciA9PSAnLicpCi0gCWNsb3Nlc3RfZW5j bG9zZXIrKzsKLSAKLS0gICAgICBpZiAod2lsZG5hbWUgJiYgaG9zdG5hbWVfaXNlcXVhbChjbG9z ZXN0X2VuY2xvc2VyLCB3aWxkbmFtZSkpCi0rICAgICAgaWYgKHdpbGRfb2Zmc2V0ICE9IDAgJiYg bmFtZSAtIGNsb3Nlc3RfZW5jbG9zZXIgPT0gd2lsZF9vZmZzZXQpCi0gCWJyZWFrOwotLQotKyAg ICAgIAotICAgICAgIGlmIChkZWNfY291bnRlcih2YWxpZGF0ZV9jb3VudGVyLCBOVUxMKSkKLSAJ cmV0dXJuIEROU1NFQ19GQUlMX1dPUks7Ci0gICAgICAgCi1AQCAtMTY5MSw3ICsxNjkxLDcgQEAg c3RhdGljIGludCBwcm92ZV9ub25fZXhpc3RlbmNlX25zZWMzKHN0cnVjdCBkbnNfaGVhZGVyICpo ZWFkZXIsIHNpemVfdCBwbGVuLCB1bnMKLSAgICAgcmV0dXJuIEROU1NFQ19GQUlMX05PTlNFQzsK LSAgIAotICAgLyogRmluYWxseSwgY2hlY2sgdGhhdCB0aGVyZSdzIG5vIHNlYXQgb2Ygd2lsZGNh cmQgc3ludGhlc2lzICovCi0tICBpZiAoIXdpbGRuYW1lKQotKyAgaWYgKHdpbGRfb2Zmc2V0ID09 IDApCi0gICAgIHsKLSAgICAgICBpZiAoISh3aWxkY2FyZCA9IHN0cmNocihuZXh0X2Nsb3Nlc3Qs ICcuJykpIHx8IHdpbGRjYXJkID09IG5leHRfY2xvc2VzdCkKLSAJcmV0dXJuIEROU1NFQ19GQUlM X05PTlNFQzsKLUBAIC0xNzE0LDcgKzE3MTQsNyBAQCBzdGF0aWMgaW50IHByb3ZlX25vbl9leGlz dGVuY2VfbnNlYzMoc3RydWN0IGRuc19oZWFkZXIgKmhlYWRlciwgc2l6ZV90IHBsZW4sIHVucwot IAotIC8qIHJldHVybnMgMCBvbiBzdWNjZXNzLCBvciBETlNTRUNfRkFJTF8qIHZhbHVlIG9uIGZh aWx1cmUuICovCi0gc3RhdGljIGludCBwcm92ZV9ub25fZXhpc3RlbmNlKHN0cnVjdCBkbnNfaGVh ZGVyICpoZWFkZXIsIHNpemVfdCBwbGVuLCBjaGFyICprZXluYW1lLCBjaGFyICpuYW1lLCBpbnQg cXR5cGUsIGludCBxY2xhc3MsCi0tCQkJICAgICAgIGNoYXIgKndpbGRuYW1lLCBpbnQgKm5vbnMs IGludCAqbnNlY190dGwsIGludCAqdmFsaWRhdGVfY291bnRlcikKLSsJCQkgICAgICBpbnQgd2ls ZF9vZmZzZXQsIGludCAqbm9ucywgaW50ICpuc2VjX3R0bCwgaW50ICp2YWxpZGF0ZV9jb3VudGVy KQotIHsKLSAgIHN0YXRpYyB1bnNpZ25lZCBjaGFyICoqbnNlY3NldCA9IE5VTEwsICoqcnJzaWdf bGFiZWxzID0gTlVMTDsKLSAgIHN0YXRpYyBpbnQgbnNlY3NldF9zeiA9IDAsIHJyc2lnX2xhYmVs c19zeiA9IDA7Ci1AQCAtMTg2Miw3ICsxODYyLDcgQEAgc3RhdGljIGludCBwcm92ZV9ub25fZXhp c3RlbmNlKHN0cnVjdCBkbnNfaGVhZGVyICpoZWFkZXIsIHNpemVfdCBwbGVuLCBjaGFyICprZXkK LSAgIGlmICh0eXBlX2ZvdW5kID09IFRfTlNFQykKLSAgICAgcmV0dXJuIHByb3ZlX25vbl9leGlz dGVuY2VfbnNlYyhoZWFkZXIsIHBsZW4sIG5zZWNzZXQsIHJyc2lnX2xhYmVscywgbnNlY3NfZm91 bmQsIGRhZW1vbi0+d29ya3NwYWNlbmFtZSwga2V5bmFtZSwgbmFtZSwgcXR5cGUsIG5vbnMpOwot ICAgZWxzZSBpZiAodHlwZV9mb3VuZCA9PSBUX05TRUMzKQotLSAgICByZXR1cm4gcHJvdmVfbm9u X2V4aXN0ZW5jZV9uc2VjMyhoZWFkZXIsIHBsZW4sIG5zZWNzZXQsIG5zZWNzX2ZvdW5kLCBkYWVt b24tPndvcmtzcGFjZW5hbWUsIGtleW5hbWUsIG5hbWUsIHF0eXBlLCB3aWxkbmFtZSwgbm9ucywg dmFsaWRhdGVfY291bnRlcik7Ci0rICAgIHJldHVybiBwcm92ZV9ub25fZXhpc3RlbmNlX25zZWMz KGhlYWRlciwgcGxlbiwgbnNlY3NldCwgbnNlY3NfZm91bmQsIGRhZW1vbi0+d29ya3NwYWNlbmFt ZSwga2V5bmFtZSwgbmFtZSwgcXR5cGUsIHdpbGRfb2Zmc2V0LCBub25zLCB2YWxpZGF0ZV9jb3Vu dGVyKTsKLSAgIGVsc2UKLSAgICAgcmV0dXJuIEROU1NFQ19GQUlMX05PTlNFQzsKLSB9Ci1AQCAt MjE4Nyw4ICsyMTg3LDcgQEAgaW50IGRuc3NlY192YWxpZGF0ZV9yZXBseSh0aW1lX3Qgbm93LCBz dHJ1Y3QgZG5zX2hlYWRlciAqaGVhZGVyLCBzaXplX3QgcGxlbiwgY2gKLSAgICAgICBlbHNlCi0g CXsKLSAJICAvKiBOb3QgZG9uZSwgdmFsaWRhdGUgbm93ICovCi0tCSAgaW50IHNpZ2NudCwgcnJj bnQ7Ci0tCSAgY2hhciAqd2lsZG5hbWU7Ci0rCSAgaW50IHNpZ2NudCwgcnJjbnQsIHdpbGRfb2Zm c2V0OwotIAkgIAotIAkgIGlmICghZXhwbG9yZV9ycnNldChoZWFkZXIsIHBsZW4sIGNsYXNzMSwg dHlwZTEsIG5hbWUsIGtleW5hbWUsICZzaWdjbnQsICZycmNudCkpCi0gCSAgICByZXR1cm4gU1RB VF9CT0dVUzsKLUBAIC0yMjQyLDcgKzIyNDEsNyBAQCBpbnQgZG5zc2VjX3ZhbGlkYXRlX3JlcGx5 KHRpbWVfdCBub3csIHN0cnVjdCBkbnNfaGVhZGVyICpoZWFkZXIsIHNpemVfdCBwbGVuLCBjaAot IAkJewotIAkJICB1bnNpZ25lZCBsb25nIHNpZ190dGw7Ci0gCQkgIHJjID0gdmFsaWRhdGVfcnJz ZXQobm93LCBoZWFkZXIsIHBsZW4sIGNsYXNzMSwgdHlwZTEsIHNpZ2NudCwKLS0JCQkJICAgICAg cnJjbnQsIG5hbWUsIGtleW5hbWUsICZ3aWxkbmFtZSwgTlVMTCwgMCwgMCwgMCwgJnNpZ190dGws IHZhbGlkYXRlX2NvdW50ZXIpOwotKwkJCQkgICAgICBycmNudCwgbmFtZSwga2V5bmFtZSwgJndp bGRfb2Zmc2V0LCBOVUxMLCAwLCAwLCAwLCAmc2lnX3R0bCwgdmFsaWRhdGVfY291bnRlcik7Ci0g CQkgIAotIAkJICBpZiAoU1RBVF9JU0VRVUFMKHJjLCBTVEFUX0JPR1VTKSB8fCBTVEFUX0lTRVFV QUwocmMsIFNUQVRfTkVFRF9LRVkpIHx8IFNUQVRfSVNFUVVBTChyYywgU1RBVF9ORUVEX0RTKSB8 fCBTVEFUX0lTRVFVQUwocmMsIFNUQVRfQUJBTkRPTkVEKSkKLSAJCSAgICB7Ci1AQCAtMjI1MSw3 ICsyMjUwLDcgQEAgaW50IGRuc3NlY192YWxpZGF0ZV9yZXBseSh0aW1lX3Qgbm93LCBzdHJ1Y3Qg ZG5zX2hlYWRlciAqaGVhZGVyLCBzaXplX3QgcGxlbiwgY2gKLSAJCSAgICAgIHJldHVybiByYzsK LSAJCSAgICB9IAotIAkJICAKLS0JCSAgLyogcmMgaXMgbm93IFNUQVRfU0VDVVJFIG9yIFNUQVRf U0VDVVJFX1dJTERDQVJEICovCi0rCQkgIC8qIHJjIGlzIG5vdyBTVEFUX1NFQ1VSRSAgKi8KLSAJ CSAgCi0gCQkgIC8qIE5vdGUgdGhhdCBSUiBpcyB2YWxpZGF0ZWQgKi8KLSAJCSAgZGFlbW9uLT5y cl9zdGF0dXNbaV0gPSBzaWdfdHRsOwotQEAgLTIyNzcsOCArMjI3Niw4IEBAIGludCBkbnNzZWNf dmFsaWRhdGVfcmVwbHkodGltZV90IG5vdywgc3RydWN0IGRuc19oZWFkZXIgKmhlYWRlciwgc2l6 ZV90IHBsZW4sIGNoCi0gCQkgICAgIE5vdGUgdGhhdCB3ZSBtYXkgbm90IHlldCBoYXZlIHZhbGlk YXRlZCB0aGUgTlNFQy9OU0VDMyBSUnNldHMuIAotIAkJICAgICBUaGF0J3Mgbm90IGEgcHJvYmxl bSBzaW5jZSBpZiB0aGUgUlJzZXRzIGxhdGVyIGZhaWwKLSAJCSAgICAgd2UnbGwgcmV0dXJuIEJP R1VTIHRoZW4uICovCi0tCQkgIGlmIChTVEFUX0lTRVFVQUwocmMsIFNUQVRfU0VDVVJFX1dJTERD QVJEKSAmJgotLQkJICAgICAgKChyY19uc2VjID0gcHJvdmVfbm9uX2V4aXN0ZW5jZShoZWFkZXIs IHBsZW4sIGtleW5hbWUsIG5hbWUsIHR5cGUxLCBjbGFzczEsIHdpbGRuYW1lLCBOVUxMLCBOVUxM LCB2YWxpZGF0ZV9jb3VudGVyKSkpICE9IDApCi0rCQkgIGlmICh3aWxkX29mZnNldCAhPSAwICYm Ci0rCQkgICAgICAoKHJjX25zZWMgPSBwcm92ZV9ub25fZXhpc3RlbmNlKGhlYWRlciwgcGxlbiwg a2V5bmFtZSwgbmFtZSwgdHlwZTEsIGNsYXNzMSwgd2lsZF9vZmZzZXQsIE5VTEwsIE5VTEwsIHZh bGlkYXRlX2NvdW50ZXIpKSkgIT0gMCkKLSAJCSAgICByZXR1cm4gIChyY19uc2VjICYgRE5TU0VD X0ZBSUxfV09SSykgPyBTVEFUX0FCQU5ET05FRCA6IChTVEFUX0JPR1VTIHwgcmNfbnNlYyk7Ci0g Ci0gCQkgIHJjID0gU1RBVF9TRUNVUkU7Ci1AQCAtMjMwNiw3ICsyMzA1LDcgQEAgaW50IGRuc3Nl Y192YWxpZGF0ZV9yZXBseSh0aW1lX3Qgbm93LCBzdHJ1Y3QgZG5zX2hlYWRlciAqaGVhZGVyLCBz aXplX3QgcGxlbiwgY2gKLSAJICAgdGhlIGFuc3dlciBpcyBpbiBhbiB1bnNpZ25lZCB6b25lLCBv ciB0aGVyZSdzIE5TRUMgcmVjb3Jkcy4KLSAJICAgRm9yIGEgRFMgcmVjb3JkLCB3ZSByZXR1cm4g SU5TRUNVUkUsIHdoaWNoIGFsbW9zdCBhbHdheXMgdHVybnMKLSAJICAgaW50byBCT0dVUyBpbiB0 aGUgY2FsbGVyLiAqLwotLQlpZiAoKHJjX25zZWMgPSBwcm92ZV9ub25fZXhpc3RlbmNlKGhlYWRl ciwgcGxlbiwga2V5bmFtZSwgbmFtZSwgcXR5cGUsIHFjbGFzcywgTlVMTCwgbm9ucywgbnNlY190 dGwsIHZhbGlkYXRlX2NvdW50ZXIpKSAhPSAwKQotKwlpZiAoKHJjX25zZWMgPSBwcm92ZV9ub25f ZXhpc3RlbmNlKGhlYWRlciwgcGxlbiwga2V5bmFtZSwgbmFtZSwgcXR5cGUsIHFjbGFzcywgMCwg bm9ucywgbnNlY190dGwsIHZhbGlkYXRlX2NvdW50ZXIpKSAhPSAwKQotIAkgIHsKLSAJICAgIGlm IChyY19uc2VjICYgRE5TU0VDX0ZBSUxfV09SSykKLSAJICAgICAgcmV0dXJuIFNUQVRfQUJBTkRP TkVEOwotLS0gCi0yLjU0LjAKLQoKZGlmZiAtLWdpdCBhL2Ruc21hc3EtMi45My1DVkUtMjAyNi02 NTA3LnBhdGNoIGIvZG5zbWFzcS0yLjkzLUNWRS0yMDI2LTY1MDcucGF0Y2gKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDU1MzIyNTUuLjAwMDAwMDAKLS0tIGEvZG5zbWFzcS0yLjkzLUNW RS0yMDI2LTY1MDcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1Gcm9tIDlh ZDc0OTI2ZDRmN2YzNGZmOTAyZTFkYjUyMzU1MzVhYTgxM2MzM2YgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCi1Gcm9tOiBTaW1vbiBLZWxsZXkgPHNpbW9uQHRoZWtlbGxleXMub3JnLnVrPgotRGF0 ZTogTW9uLCA2IEFwciAyMDI2IDIyOjIyOjQzICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIEZpeCAx LWJ5dGUgYnVmZmVyIG92ZXJmbG93IGluIHJlbGF5X3JlcGx5NCgpCi0KLVBvdGVudGlhbCBTSUdT RUdWIHdoZW4gdXNpbmcgREhDUHY0LXJlbGF5LgotCi1UaGFua3MgdG8gQXNpbSBWaWxhZGkgT2ds dSBNYW5pemFkYSBmb3IgZmluZGluZyB0aGlzLgotLS0tCi0gc3JjL3JmYzIxMzEuYyB8IDIgKy0K LSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAt LWdpdCBhL3NyYy9yZmMyMTMxLmMgYi9zcmMvcmZjMjEzMS5jCi1pbmRleCA3YmRmZWZkMy4uNTVh YWQwMzAgMTAwNjQ0Ci0tLS0gYS9zcmMvcmZjMjEzMS5jCi0rKysgYi9zcmMvcmZjMjEzMS5jCi1A QCAtMzI0OCw3ICszMjQ4LDcgQEAgdW5zaWduZWQgaW50IHJlbGF5X3JlcGx5NChzdHJ1Y3QgZGhj cF9wYWNrZXQgKm1lc3MsIHNpemVfdCBzeiwgY2hhciAqYXJyaXZhbF9pbnQKLSAKLSAJICAgICAg LyogZGVsZXRlIGFnZW50IGluZm8gYmVmb3JlIHJldHVybiBSRkMgMzA0NiBwYXJhIDIuMSAqLwot IAkgICAgICAqb3B0ID0gT1BUSU9OX0VORDsKLS0JICAgICAgbWVtc2V0KG9wdCArIDEsIDAsIG9w dGlvbl9sZW4ob3B0KSArIDIpOwotKwkgICAgICBtZW1zZXQob3B0ICsgMSwgMCwgb3B0aW9uX2xl bihvcHQpICsgMSk7Ci0gCSAgICB9Ci0gCX0KLSAgICAgICBlbHNlIGlmIChtZXNzLT5naWFkZHIu c19hZGRyID09IHJlbGF5LT5sb2NhbC5hZGRyNC5zX2FkZHIpCi0tLSAKLTIuNTMuMAotCgpkaWZm IC0tZ2l0IGEvZG5zbWFzcS0yLjkzLWRuc3NlYy1ycnNpZy1vd25lci5wYXRjaCBiL2Ruc21hc3Et Mi45My1kbnNzZWMtcnJzaWctb3duZXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDRkODVhMjcuLjAwMDAwMDAKLS0tIGEvZG5zbWFzcS0yLjkzLWRuc3NlYy1ycnNpZy1vd25l ci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIzNiArMCwwIEBACi1Gcm9tIGRkN2VmNjhjY2Iz ZjQzMDNhYzhlNThhNDJjYzVjYjZlMDIyM2NiZTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1G cm9tOiBTaW1vbiBLZWxsZXkgPHNpbW9uQHRoZWtlbGxleXMub3JnLnVrPgotRGF0ZTogVGh1LCAx NSBKYW4gMjAyNiAxNDozMDowNSArMDAwMAotU3ViamVjdDogW1BBVENIXSBGaXggRE5TU0VDIGZh aWx1cmUgd2l0aCBzcHVyaW91cyBSUlNJR3MuCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1U eXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5n OiA4Yml0Ci0KLVRoZSBwcmVzZW5jZSBvZiB3cm9uZyBSUlNJRyBSUnMgaW4gcmVwbGllcyBjYXVz ZXMgRE5TU0VDCi12YWxpZGF0aW9uIHRvIGZhaWwgZXZlbiB3aGVuIHRoZSBSUnMgZG8gbm90IHJl cXVpcmUgdmFsaWRhdGlvbgotYmVjYXVzZSB0aGUgem9uZSBpcyB1bnNpZ25lZC4KLQotVGhpcyBw YXRjaCBzb2x2ZXMgdGhlIHByb2JsZW0gYW5kIHRpZGllcyB1cCB0aGUgbG9naWMuCi0KLUluY2x1 ZGVkIGlzIHNvbWUgZml4ZXMgZm9yIGhvc3RuYW1lX2lzc3ViZG9tYWluKCkgd2hpY2ggc3VmZmVy ZWQKLXNvbWUgY29uZnVzaW9ucyBhYm91dCBhcmd1bWVudCBvcmRlciA6KSBJJ3ZlIGNsYXJpZmll ZCB0aGF0IGFuZAotY2hlY2tlZCBldmVyeSB0byB0aGUgZnVuY3Rpb24gdG8gbWFrZSBzdXJlIHRo ZXkgYXJlIHVzaW5nIHRoZQotY29ycmVjdCBhcmd1bWVudCBvcmRlci4KLQotTm90ZSB0aGF0LCBh dCB0aGUgdGltZSBvZiB0aGlzIGNvbW1pdCwgR29vZ2xlIEROUyBhcHBlYXJzIHRvIGhhdmUKLXRo ZSBzYW1lIGJ1Zywgc28gaWYgeW91J3JlIHVzaW5nIDguOC44Ljggb3IgZnJpZW5kcyBhcyB1cHN0 cmVhbSwKLXJlc29sdmluZyB0aGUgYnJva2VuIHpvbmVzIChlZyByaXZjb2VkLm9yZykgd2lsbCBz dGlsbCBmYWlsLgotCi1UaGFua3MgdG8gUGV0ciBNZW7DhcKhw4PCrWsgZm9yIHRoZSBidWcgcmVw b3J0LgotLS0tCi0gc3JjL2Ruc3NlYy5jIHwgMTE5ICsrKysrKysrKysrKysrKysrKysrKystLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIHNyYy91dGlsLmMgICB8ICAxMCArKy0tLQotIDIg ZmlsZXMgY2hhbmdlZCwgNTcgaW5zZXJ0aW9ucygrKSwgNzIgZGVsZXRpb25zKC0pCi0KLWRpZmYg LS1naXQgYS9zcmMvZG5zc2VjLmMgYi9zcmMvZG5zc2VjLmMKLWluZGV4IGVmNjdlYjYuLjgxYTZm Y2UgMTAwNjQ0Ci0tLS0gYS9zcmMvZG5zc2VjLmMKLSsrKyBiL3NyYy9kbnNzZWMuYwotQEAgLTM3 MCw0NSArMzcwLDQyIEBAIHN0YXRpYyBpbnQgZXhwbG9yZV9ycnNldChzdHJ1Y3QgZG5zX2hlYWRl ciAqaGVhZGVyLCBzaXplX3QgcGxlbiwgaW50IGNsYXNzLCBpbnQKLSAJICAgICAgCi0gCSAgICAg IEdFVFNIT1JUKHR5cGVfY292ZXJlZCwgcCk7Ci0gCSAgICAgIHAgKz0gMTY7IC8qIGFsZ28sIGxh YmVscywgb3JpZ190dGwsIHNpZ19leHBpcmF0aW9uLCBzaWdfaW5jZXB0aW9uLCBrZXlfdGFnICov Ci0tCSAgICAgIAotLQkgICAgICBpZiAoZ290a2V5KQotLQkJewotLQkJICAvKiBJZiB0aGVyZSdz IG1vcmUgdGhhbiBvbmUgU0lHLCBlbnN1cmUgdGhleSBhbGwgaGF2ZSBzYW1lIGtleW5hbWUgKi8K LS0JCSAgaWYgKGV4dHJhY3RfbmFtZShoZWFkZXIsIHBsZW4sICZwLCBrZXluYW1lLCBFWFRSX05B TUVfQ09NUEFSRSwgMCkgIT0gMSkKLS0JCSAgICByZXR1cm4gMDsKLS0JCX0KLS0JICAgICAgZWxz ZQotKwotKwkgICAgICBpZiAodHlwZV9jb3ZlcmVkID09IHR5cGUpCi0gCQl7Ci0tCQkgIGdvdGtl eSA9IDE7Ci0tCQkgIAotLQkJICBpZiAoIWV4dHJhY3RfbmFtZShoZWFkZXIsIHBsZW4sICZwLCBr ZXluYW1lLCBFWFRSX05BTUVfRVhUUkFDVCwgMCkpCi0rCQkgIGlmICghZXh0cmFjdF9uYW1lKGhl YWRlciwgcGxlbiwgJnAsIGRhZW1vbi0+d29ya3NwYWNlbmFtZSwgRVhUUl9OQU1FX0VYVFJBQ1Qs IDApKQotIAkJICAgIHJldHVybiAwOwotLQkJICAKLSsKLSAJCSAgLyogUkZDIDQwMzUgNS4zLjEg c2F5cyB0aGF0IHRoZSBTaWduZXIncyBOYW1lIGZpZWxkIE1VU1QgZXF1YWwKLSAJCSAgICAgdGhl IG5hbWUgb2YgdGhlIHpvbmUgY29udGFpbmluZyB0aGUgUlJzZXQuIFdlIGNhbid0IHRlbGwgdGhh dAotIAkJICAgICBmb3IgY2VydGFpbiwgYnV0IHdlIGNhbiBjaGVjayB0aGF0ICB0aGUgUlJzZXQg bmFtZSBpcyBlcXVhbCB0bwotIAkJICAgICBvciBlbmNsb3NlcyB0aGUgc2lnbmVycyBuYW1lLCB3 aGljaCBzaG91bGQgYmUgZW5vdWdoIHRvIHN0b3AgCi0gCQkgICAgIGFuIGF0dGFja2VyIHVzaW5n IHNpZ25hdHVyZXMgbWFkZSB3aXRoIHRoZSBrZXkgb2YgYW4gdW5yZWxhdGVkIAotLQkJICAgICB6 b25lIGhlIGNvbnRyb2xzLiBOb3RlIHRoYXQgdGhlIHJvb3Qga2V5IGlzIGFsd2F5cyBhbGxvd2Vk LiAqLwotLQkJICBpZiAoKmtleW5hbWUgIT0gMCkKLSsJCSAgICAgem9uZSBoZSBjb250cm9scy4g Tm90ZSB0aGF0IHRoZSByb290IGtleSBpcyBhbHdheXMgYWxsb3dlZC4KLSsJCSAgICAgSWdub3Jl IHNpZ3Mgd2hpY2ggYXJlbid0IHZhbGlkICovCi0rCQkgIGlmICgqZGFlbW9uLT53b3Jrc3BhY2Vu YW1lID09IDAgfHwgaG9zdG5hbWVfaXNzdWJkb21haW4obmFtZSwgZGFlbW9uLT53b3Jrc3BhY2Vu YW1lKSAhPSAwKQotIAkJICAgIHsKLS0JCSAgICAgIGNoYXIgKm5hbWVfc3RhcnQ7Ci0tCQkgICAg ICBmb3IgKG5hbWVfc3RhcnQgPSBuYW1lOyAhaG9zdG5hbWVfaXNlcXVhbChuYW1lX3N0YXJ0LCBr ZXluYW1lKTsgKQotLQkJCWlmICgobmFtZV9zdGFydCA9IHN0cmNocihuYW1lX3N0YXJ0LCAnLicp KSkKLS0JCQkgIG5hbWVfc3RhcnQrKzsgLyogY2hvcCBhIGxhYmVsIG9mZiBhbmQgdHJ5IGFnYWlu ICovCi0tCQkJZWxzZQotLQkJCSAgcmV0dXJuIDA7Ci0rCQkgICAgICBpZiAoZ290a2V5KQotKwkJ CXsKLSsJCQkgIC8qIElmIHRoZXJlJ3MgbW9yZSB0aGFuIG9uZSB2YWxpZCBTSUcsIHRoZXkgbXVz dCBhbGwgaGF2ZSBzYW1lIGtleW5hbWUgKi8KLSsJCQkgIGlmICghaG9zdG5hbWVfaXNlcXVhbChr ZXluYW1lLCBkYWVtb24tPndvcmtzcGFjZW5hbWUpKQotKwkJCSAgICByZXR1cm4gMDsKLSsJCQl9 Ci0rCQkgICAgICBlbHNlCi0rCQkJewotKwkJCSAgc3RyY3B5KGtleW5hbWUsIGRhZW1vbi0+d29y a3NwYWNlbmFtZSk7Ci0rCQkJICBnb3RrZXkgPSAxOwotKwkJCX0KLSsJCSAgICAgIAotKwkJICAg ICAgaWYgKGdvdGtleSkKLSsJCQl7Ci0rCQkJICBpZiAoIWV4cGFuZF93b3Jrc3BhY2UoJnNpZ3Ms ICZzaWdfc3osIHNpZ2lkeCkpCi0rCQkJICAgIHJldHVybiAwOyAKLSsJCSAgICAgIAotKwkJCSAg c2lnc1tzaWdpZHgrK10gPSBwZGF0YTsKLSsJCQl9Ci0gCQkgICAgfQotIAkJfQotLQkJICAKLS0J ICAgICAgCi0tCSAgICAgIGlmICh0eXBlX2NvdmVyZWQgPT0gdHlwZSkKLS0JCXsKLS0JCSAgaWYg KCFleHBhbmRfd29ya3NwYWNlKCZzaWdzLCAmc2lnX3N6LCBzaWdpZHgpKQotLQkJICAgIHJldHVy biAwOyAKLS0JCSAgCi0tCQkgIHNpZ3Nbc2lnaWR4KytdID0gcGRhdGE7Ci0tCQl9IAotIAkgICAg ICAKLSAJICAgICAgcCA9IHBkYXRhICsgNjsgLyogcmVzdG9yZSBmb3IgQUREX1JETEVOICovCi0g CSAgICB9Ci1AQCAtNDYxLDExICs0NTgsMTMgQEAgc3RhdGljIGludCB2YWxpZGF0ZV9ycnNldCh0 aW1lX3Qgbm93LCBzdHJ1Y3QgZG5zX2hlYWRlciAqaGVhZGVyLCBzaXplX3QgcGxlbiwgaW4KLSAg IHN0cnVjdCBjcmVjICpjcmVjcCA9IE5VTEw7Ci0gICBzaG9ydCAqcnJfZGVzYyA9IHJyZmlsdGVy X2Rlc2ModHlwZSk7Ci0gICB1MzIgc2lnX2V4cGlyYXRpb24sIHNpZ19pbmNlcHRpb247Ci0tICBp bnQgZmFpbGZsYWdzID0gRE5TU0VDX0ZBSUxfTk9TSUcgfCBETlNTRUNfRkFJTF9OWVYgfCBETlNT RUNfRkFJTF9FWFAgfCBETlNTRUNfRkFJTF9OT0tFWVNVUDsKLS0gIAotLSAgdW5zaWduZWQgbG9u ZyBjdXJ0aW1lID0gdGltZSgwKTsKLSsgICAgdW5zaWduZWQgbG9uZyBjdXJ0aW1lID0gdGltZSgw KTsKLSAgIGludCB0aW1lX2NoZWNrID0gaXNfY2hlY2tfZGF0ZShjdXJ0aW1lKTsKLSsgIGludCBm YWlsZmxhZ3MgPSBETlNTRUNfRkFJTF9OT1NJRzsKLSAgIAotKyAgaWYgKHNpZ2lkeCAhPSAwKQot KyAgICBmYWlsZmxhZ3MgfD0gRE5TU0VDX0ZBSUxfTllWIHwgRE5TU0VDX0ZBSUxfRVhQIHwgRE5T U0VDX0ZBSUxfTk9LRVlTVVA7Ci0rCi0gICBpZiAod2lsZGNhcmRfb2Zmc2V0X291dCkKLSAgICAg KndpbGRjYXJkX29mZnNldF9vdXQgPSAwOwotICAgCi1AQCAtMjEwMyw4ICsyMTAyLDggQEAgaW50 IGRuc3NlY192YWxpZGF0ZV9yZXBseSh0aW1lX3Qgbm93LCBzdHJ1Y3QgZG5zX2hlYWRlciAqaGVh ZGVyLCBzaXplX3QgcGxlbiwgY2gKLSAJCSAgICAgICBDTkFNRSBtdXN0IGJlIDxzdWJkb21haW4+ LjxkbmFtZT4KLSAJCSAgICAgICBDTkFNRSB0YXJnZXQgbXVzdCBiZSA8c3ViZG9tYWluPi48ZG5h bWVfdGFyZ2V0PgotIAkJICAgICAgIDxzdWJkb21haW4+cyBtdXN0IG1hdGNoIGZvciBuYW1lIGFu ZCB0YXJnZXQuICovIAotLQkJICAgIGlmIChob3N0bmFtZV9pc3N1YmRvbWFpbihuYW1lLCBkYWVt b24tPmNuYW1lKSA9PSAxICYmCi0tCQkJaG9zdG5hbWVfaXNzdWJkb21haW4oa2V5bmFtZSwgZGFl bW9uLT53b3Jrc3BhY2VuYW1lKSA9PSAxICYmCi0rCQkgICAgaWYgKGhvc3RuYW1lX2lzc3ViZG9t YWluKGRhZW1vbi0+Y25hbWUsIG5hbWUpID09IDEgJiYKLSsJCQlob3N0bmFtZV9pc3N1YmRvbWFp bihkYWVtb24tPndvcmtzcGFjZW5hbWUsIGtleW5hbWUpID09IDEgJiYKLSAJCQluYW1lX3ByZWZp eF9sZW4gPT0gc3RybGVuKGRhZW1vbi0+d29ya3NwYWNlbmFtZSkgLSBzdHJsZW4oa2V5bmFtZSkp Ci0gCQkgICAgICB7Ci0gCQkJY2hhciBzYXZlID0gZGFlbW9uLT5jbmFtZVtuYW1lX3ByZWZpeF9s ZW5dOwotQEAgLTIxODgsNDEgKzIxODcsMjcgQEAgaW50IGRuc3NlY192YWxpZGF0ZV9yZXBseSh0 aW1lX3Qgbm93LCBzdHJ1Y3QgZG5zX2hlYWRlciAqaGVhZGVyLCBzaXplX3QgcGxlbiwgY2gKLSAJ ICBpZiAoIWV4cGxvcmVfcnJzZXQoaGVhZGVyLCBwbGVuLCBjbGFzczEsIHR5cGUxLCBuYW1lLCBr ZXluYW1lLCAmc2lnY250LCAmcnJjbnQpKQotIAkgICAgcmV0dXJuIFNUQVRfQk9HVVM7Ci0gCSAg Ci0tCSAgLyogTm8gc2lnbmF0dXJlcyBmb3IgUlJzZXQuIFdlIGNhbiBiZSBjb25maWd1cmVkIHRv IGFzc3VtZSB0aGlzIGlzIE9LIGFuZCByZXR1cm4gYW4gSU5TRUNVUkUgcmVzdWx0LiAqLwotLQkg IGlmIChzaWdjbnQgPT0gMCkKLS0JICAgIHsKLS0JICAgICAgLyogTlNFQyBhbmQgTlNFQzMgcmVj b3JkcyBtdXN0IGJlIHNpZ25lZC4gV2UgbWFrZSB0aGlzIGFzc3VtcHRpb24gZWxzZXdoZXJlLiAq LwotLQkgICAgICBpZiAodHlwZTEgPT0gVF9OU0VDIHx8IHR5cGUxID09IFRfTlNFQzMpCi0tCQly ZXR1cm4gU1RBVF9CT0dVUyB8IEROU1NFQ19GQUlMX05PU0lHOwotLQkgICAgICBlbHNlIGlmIChu b25zICYmIGkgPj0gbnRvaHMoaGVhZGVyLT5hbmNvdW50KSkKLS0JCS8qIElmIHdlJ3JlIHZhbGlk YXRpbmcgYSBEUyByZXBseSwgcmF0aGVyIHRoYW4gbG9va2luZyBmb3IgdGhlIHZhbHVlIG9mIEFE IGJpdCwKLS0JCSAgIHdlIG9ubHkgY2FyZSB0aGF0IE5TRUMgYW5kIE5TRUMzIFJScyBpbiB0aGUg YXV0aCBzZWN0aW9uIGFyZSBzaWduZWQuIAotLQkJICAgUmV0dXJuIFNFQ1VSRSBldmVuIGlmIG90 aGVycyAoU09BLi4uLikgYXJlIG5vdC4gKi8KLS0JCXJjID0gU1RBVF9TRUNVUkU7Ci0tCSAgICAg IGVsc2UKLS0JCXsKLS0JCSAgLyogdW5zaWduZWQgUlJzZXRzIGluIGF1dGggc2VjdGlvbiBhcmUg bm90IEJPR1VTLCBidXQgZG8gbWFrZSByZXBseSBpbnNlY3VyZS4gKi8KLS0JCSAgaWYgKGNoZWNr X3Vuc2lnbmVkICYmIGkgPCBudG9ocyhoZWFkZXItPmFuY291bnQpKQotLQkJICAgIHsKLS0JCSAg ICAgIHJjID0gem9uZV9zdGF0dXMobmFtZSwgY2xhc3MxLCBrZXluYW1lLCBub3cpOwotLQkJICAg ICAgaWYgKFNUQVRfSVNFUVVBTChyYywgU1RBVF9TRUNVUkUpKQotLQkJCXJjID0gU1RBVF9CT0dV UyB8IEROU1NFQ19GQUlMX05PU0lHOwotLQkJICAgICAgCi0tCQkgICAgICBpZiAoY2xhc3MpCi0t CQkJKmNsYXNzID0gY2xhc3MxOyAvKiBDbGFzcyBmb3IgTkVFRF9EUyBvciBORUVEX0tFWSAqLwot LQkJICAgIH0KLS0JCSAgZWxzZSAKLS0JCSAgICByYyA9IFNUQVRfSU5TRUNVUkU7IAotLQkJICAK LS0JCSAgaWYgKCFTVEFUX0lTRVFVQUwocmMsIFNUQVRfSU5TRUNVUkUpKQotLQkJICAgIHJldHVy biByYzsKLS0JCX0KLS0JICAgIH0KLSsJICAvKiBOU0VDIGFuZCBOU0VDMyByZWNvcmRzIG11c3Qg YmUgc2lnbmVkLiBXZSBtYWtlIHRoaXMgYXNzdW1wdGlvbiBlbHNld2hlcmUuICovCi0rCSAgaWYg KHNpZ2NudCA9PSAwICYmICh0eXBlMSA9PSBUX05TRUMgfHwgdHlwZTEgPT0gVF9OU0VDMykpCi0r CSAgICByZXR1cm4gU1RBVF9CT0dVUyB8IEROU1NFQ19GQUlMX05PU0lHOwotKwkgIGVsc2UgaWYg KHNpZ2NudCA9PSAwICYmIG5vbnMgJiYgaSA+PSBudG9ocyhoZWFkZXItPmFuY291bnQpKQotKwkg ICAgLyogSWYgd2UncmUgdmFsaWRhdGluZyBhIERTIHJlcGx5LCByYXRoZXIgdGhhbiBsb29raW5n IGZvciB0aGUgdmFsdWUgb2YgQUQgYml0LAotKwkgICAgICAgd2Ugb25seSBjYXJlIHRoYXQgTlNF QyBhbmQgTlNFQzMgUlJzIGluIHRoZSBhdXRoIHNlY3Rpb24gYXJlIHNpZ25lZC4gCi0rCSAgICAg ICBSZXR1cm4gU0VDVVJFIGV2ZW4gaWYgb3RoZXJzIChTT0EuLi4uKSBhcmUgbm90LiAqLwotKwkg ICAgcmMgPSBTVEFUX1NFQ1VSRTsKLSsJICBlbHNlIGlmIChzaWdjbnQgPT0gMCAmJiAoIWNoZWNr X3Vuc2lnbmVkIHx8IGkgPj0gbnRvaHMoaGVhZGVyLT5hbmNvdW50KSkpCi0rCSAgICAvKiB1bnNp Z25lZCBSUnNldHMgaW4gYXV0aCBzZWN0aW9uIGFyZSBub3QgQk9HVVMsIGJ1dCBkbyBtYWtlIHJl cGx5IGluc2VjdXJlLiAqLwotKwkgICAgcmMgPSBTVEFUX0lOU0VDVVJFOwotIAkgIGVsc2UKLSAJ ICAgIHsKLS0JICAgICAgLyogZXhwbG9yZV9ycnNldCgpIGdpdmVzIHVzIGtleSBuYW1lIGZyb20g c2lncyBpbiBrZXluYW1lLgotKwkgICAgICAvKiBleHBsb3JlX3Jyc2V0KCkgZ2l2ZXMgdXMgem9u ZSBuYW1lIGZyb20gc2lncyBpbiBrZXluYW1lLCBpZgotKwkJIGl0IGRpZG4ndCBmaW5kIGEga2V5 LCB1c2UgdGhlIG5hbWUgd2UncmUgdmFsaWRhdGluZy4KLSAJCSBDYW4ndCBvdmVyd3JpdGUgbmFt ZSBoZXJlLiAqLwotLQkgICAgICBzdHJjcHkoZGFlbW9uLT53b3Jrc3BhY2VuYW1lLCBrZXluYW1l KTsKLSsJICAgICAgaWYgKHNpZ2NudCA9PSAwKQotKwkJc3RyY3B5KGRhZW1vbi0+d29ya3NwYWNl bmFtZSwgbmFtZSk7Ci0rCSAgICAgIGVsc2UKLSsJCXN0cmNweShkYWVtb24tPndvcmtzcGFjZW5h bWUsIGtleW5hbWUpOwotKwkgICAgICAKLSAJICAgICAgcmMgPSB6b25lX3N0YXR1cyhkYWVtb24t PndvcmtzcGFjZW5hbWUsIGNsYXNzMSwga2V5bmFtZSwgbm93KTsKLSAJICAgICAgCi0gCSAgICAg IGlmIChTVEFUX0lTRVFVQUwocmMsIFNUQVRfQk9HVVMpIHx8IFNUQVRfSVNFUVVBTChyYywgU1RB VF9ORUVEX0tFWSkgfHwgU1RBVF9JU0VRVUFMKHJjLCBTVEFUX05FRURfRFMpKQotQEAgLTIyMzIs NyArMjIxNyw3IEBAIGludCBkbnNzZWNfdmFsaWRhdGVfcmVwbHkodGltZV90IG5vdywgc3RydWN0 IGRuc19oZWFkZXIgKmhlYWRlciwgc2l6ZV90IHBsZW4sIGNoCi0gCQkgIHJldHVybiByYzsKLSAJ CX0KLSAJICAgICAgCi0tCSAgICAgIC8qIFpvbmUgaXMgaW5zZWN1cmUsIGRvbid0IG5lZWQgdG8g dmFsaWRhdGUgUlJzZXQgKi8KLSsJICAgICAgLyogSWYgem9uZSBpcyBpbnNlY3VyZSwgZG9uJ3Qg bmVlZCB0byB2YWxpZGF0ZSBSUnNldCwgYW5kIHJjIHJlbWFpbnMgYXMgU1RBVF9JTlNFQ1VSRSov Ci0gCSAgICAgIGlmIChTVEFUX0lTRVFVQUwocmMsIFNUQVRfU0VDVVJFKSkKLSAJCXsKLSAJCSAg dW5zaWduZWQgbG9uZyBzaWdfdHRsOwotZGlmZiAtLWdpdCBhL3NyYy91dGlsLmMgYi9zcmMvdXRp bC5jCi1pbmRleCAyMWRiYjY2Li5lNGQ3NGU2IDEwMDY0NAotLS0tIGEvc3JjL3V0aWwuYwotKysr IGIvc3JjL3V0aWwuYwotQEAgLTQ0Myw4ICs0NDMsOCBAQCBpbnQgaG9zdG5hbWVfaXNzdWJkb21h aW4oY2hhciAqYSwgY2hhciAqYikKLSAgIGZvciAoYXAgPSBhOyAqYXA7IGFwKyspOyAKLSAgIGZv ciAoYnAgPSBiOyAqYnA7IGJwKyspOwotIAotLSAgLyogYSBzaG9ydGVyIHRoYW4gYiBvciBhIGVt cHR5LiAqLwotLSAgaWYgKChicCAtIGIpIDwgKGFwIC0gYSkgfHwgYXAgPT0gYSkKLSsgIC8qIGEg c2hvcnRlciB0aGFuIGIgKi8KLSsgIGlmICgoYXAgLSBhKSA8IChicCAtIGIpKQotICAgICByZXR1 cm4gMDsKLSAKLSAgIGRvCi1AQCAtNDU5LDEyICs0NTksMTIgQEAgaW50IGhvc3RuYW1lX2lzc3Vi ZG9tYWluKGNoYXIgKmEsIGNoYXIgKmIpCi0gCi0gICAgICAgIGlmIChjMSAhPSBjMikKLSAJIHJl dHVybiAwOwotLSAgICB9IHdoaWxlIChhcCAhPSBhKTsKLSsgICAgfSB3aGlsZSAoYnAgIT0gYik7 Ci0gCi0tICBpZiAoYnAgPT0gYikKLSsgIGlmIChhcCA9PSBhKQotICAgICByZXR1cm4gMjsKLSAK LS0gIGlmICgqKC0tYnApID09ICcuJykKLSsgIGlmICgqKC0tYXApID09ICcuJykKLSAgICAgcmV0 dXJuIDE7Ci0gCi0gICByZXR1cm4gMDsKLS0tIAotMi41Mi4wCi0KCmRpZmYgLS1naXQgYS9kbnNt YXNxLnNwZWMgYi9kbnNtYXNxLnNwZWMKaW5kZXggOGEzZjBkYy4uYTExN2JiOSAxMDA2NDQKLS0t IGEvZG5zbWFzcS5zcGVjCisrKyBiL2Ruc21hc3Euc3BlYwpAQCAtMjAsNiArMjAsOCBAQAogIyBC dXQgdXBzdHJlYW0gZ2l0d2ViIHNlZW1zIHRvIGJsb2NrIGRpcmVjdCBsaW5rcyBsaWtlIHRoaXMs IHRoZXkgYXJlIG5vdCB1c2FibGUgYW55bW9yZS4KICVkZWZpbmUgdXBfcGF0Y2hfdXJsKCkgaHR0 cHM6Ly90aGVrZWxsZXlzLm9yZy51ay9naXR3ZWIvP3A9ZG5zbWFzcS5naXQ7YT1wYXRjaDtoPSV7 MX0KICVnbG9iYWwgdXBzdHJlYW1fc291cmNlcyAwIDMKKyVnbG9iYWwgcGdwX3NpZ25hdHVyZV9z b3VyY2VzIDMKKyVnbG9iYWwgcGdwX2tleXJpbmdfc291cmNlcyA0CiAKIAogIyBBdHRlbXB0IHRv IHByZXBhcmUgc291cmNlLWdpdCB3aXRoIGRvd25zdHJlYW0gcmVwb3MKQEAgLTMzLDggKzM1LDgg QEAKICVlbmRpZgogCiBOYW1lOiAgICAgICAgICAgZG5zbWFzcQotVmVyc2lvbjogICAgICAgIDIu OTJyZWwyCi1SZWxlYXNlOiAgICAgICAgOSV7P2V4dHJhdmVyc2lvbjouJXtleHRyYXZlcnNpb259 fSV7P2V4dHJhYnVpbGQ6LiV7ZXh0cmFidWlsZH19JXs/ZGlzdH0KK1ZlcnNpb246ICAgICAgICAy LjkzCitSZWxlYXNlOiAgICAgICAgMSV7P2V4dHJhdmVyc2lvbjouJXtleHRyYXZlcnNpb259fSV7 P2V4dHJhYnVpbGQ6LiV7ZXh0cmFidWlsZH19JXs/ZGlzdH0KIFN1bW1hcnk6ICAgICAgICBBIGxp Z2h0d2VpZ2h0IERIQ1AvY2FjaGluZyBETlMgc2VydmVyCiAKICMgU1BEWCBpZGVudGlmaWVycyBh bHJlYWR5CkBAIC01OSwxNCArNjEsNiBAQCBQYXRjaDE6ICAgICAgICAgZG5zbWFzcS0yLjc3LXVu ZGVyZmxvdy5wYXRjaAogUGF0Y2gyOiAgICAgICAgIGRuc21hc3EtMi44MS1jb25maWd1cmF0aW9u LnBhdGNoCiBQYXRjaDM6ICAgICAgICAgZG5zbWFzcS0yLjc4LWZpcHMucGF0Y2gKIFBhdGNoNzog ICAgICAgICBkbnNtYXNxLTIuOTAtZGJ1cy1pbnRlcmZhY2VzLnBhdGNoCi0jIGh0dHBzOi8vbGlz dHMudGhla2VsbGV5cy5vcmcudWsvcGlwZXJtYWlsL2Ruc21hc3EtZGlzY3Vzcy8yMDI2cTEvMDE4 Mzc4Lmh0bWwKLVBhdGNoODogICAgICAgICAle3VwX3BhdGNoX3VybCBmNjAzYTRmOTIwZTY5NTNi MTE2NjdkNDI0OTU2ZmQ0NzM3Mzg3MGU5fSMvZG5zbWFzcS0yLjkyLWRuc3NlYy13aWxkY2FyZC5w YXRjaAotIyBodHRwczovL2xpc3RzLnRoZWtlbGxleXMub3JnLnVrL3BpcGVybWFpbC9kbnNtYXNx LWRpc2N1c3MvMjAyNnExLzAxODM4My5odG1sCi1QYXRjaDk6ICAgICAgICAgJXt1cF9wYXRjaF91 cmwgMTI2OWYwNzRmODZiYjk1OTg2MzAxMjA2MzA2MGEzYTA4MmQzN2RjNH0jL2Ruc21hc3EtMi45 My1kbnNzZWMtcnJzaWctb3duZXIucGF0Y2gKLSMgaHR0cHM6Ly9saXN0cy50aGVrZWxsZXlzLm9y Zy51ay9waXBlcm1haWwvZG5zbWFzcS1kaXNjdXNzLzIwMjZxMS8wMTg0MDkuaHRtbAotUGF0Y2gx MDogICAgICAgIDAwMDEtTWFrZS1pbm90aWZ5LWluaXRpYWxpemF0aW9uLW5vbi1mYXRhbC1lcnJv ci5wYXRjaAotIyBodHRwOi8vdGhla2VsbGV5cy5vcmcudWsvZ2l0d2ViLz9wPWRuc21hc3EuZ2l0 O2E9Y29tbWl0O2g9OWFkNzQ5MjZkNGY3ZjM0ZmY5MDJlMWRiNTIzNTUzNWFhODEzYzMzZgotUGF0 Y2gxMTogICAgICAgICV7dXBfcGF0Y2hfdXJsIDlhZDc0OTI2ZDRmN2YzNGZmOTAyZTFkYjUyMzU1 MzVhYTgxM2MzM2Z9Iy9kbnNtYXNxLTIuOTMtQ1ZFLTIwMjYtNjUwNy5wYXRjaAogCiAKIFJlcXVp cmVzOiAgICAgICBuZXR0bGUKQEAgLTI2Myw2ICsyNTcsOSBAQCBmaQogJWVuZGlmCiAKICVjaGFu Z2Vsb2cKKyogVGh1IEp1bCAwMiAyMDI2IFBldHIgTWVuxaHDrWsgPHBlbWVuc2lrQHJlZGhhdC5j b20+IC0gMi45My0xCistIFVwZGF0ZSB0byAyLjkzIChyYmh6IzI0ODQ3NDgpCisKICogVHVlIE1h eSAxMiAyMDI2IFBldHIgTWVuxaHDrWsgPHBlbWVuc2lrQHJlZGhhdC5jb20+IC0gMi45MnJlbDIt OQogLSBVcGRhdGUgdG8gMi45MnJlbDIgKHJoYnojMjQ2OTI0NSkKIAoKZGlmZiAtLWdpdCBhL3Nv dXJjZXMgYi9zb3VyY2VzCmluZGV4IDk3MTA1YmQuLjZhMTVjZjYgMTAwNjQ0Ci0tLSBhL3NvdXJj ZXMKKysrIGIvc291cmNlcwpAQCAtMSwyICsxLDIgQEAKLVNIQTUxMiAoZG5zbWFzcS0yLjkycmVs Mi50YXIueHopID0gNjA3YWJmMzNkNmVhYzI0ZWFmZGZmOWNkMjkxZDg0YjA2NTM1NDMwM2Q1ZTFk OTUxNGQ3OTA4NWIyNDdmYjM4NjFhYzU3ODUxY2ExZGZjNGE1Y2RkZDMxNGY4Yjk3MGQxN2U5M2I5 ODdiMTU3NmU5ZjZiYTFkNmJmZmQ0MmZmZjEKLVNIQTUxMiAoZG5zbWFzcS0yLjkycmVsMi50YXIu eHouYXNjKSA9IDE0MDE2MWQ4OTI4N2FiNDZmZTE1ZjdiNjgyNjRhMTY2ZTFhMWYxYTAxOWNjNzgx YjAwMTNhNjM0NTc5MGUzZjc1MTg2YTAyM2IzMmU1MjZlN2I1YzA1NTg0NzM0ZGZhZmY3ZTNiNzZi M2MwMTg3OGMwZDIyZDlmNmEwMzlmY2RlCitTSEE1MTIgKGRuc21hc3EtMi45My50YXIueHopID0g ZWU0NDJjNjM0YzU0ZjEwM2UwMzRlZTUyNTlmMTgwMjg5NWY5ZTlkMTcyODkxZjE0YzY0NGUyNjA1 MTlkYTczZjVkZDZmMjhiNzVjYjg0YzBiMWNjNWY5ZWM0NjRiYThmNDBjODcwOTVmYTk2NzE5Y2Iw ZGY4MzFlYWUwODg3ZWUKK1NIQTUxMiAoZG5zbWFzcS0yLjkzLnRhci54ei5hc2MpID0gMTNiMzQx MDJkODU5M2ZhYjhjODU5Y2E4MzllYzI0MDQ3OGUyMzgyYzM1MjUxYWZiM2Q2OWI3MzEyNGE0ODI2 MDMxZDg5NDVmZTMzYzkyZjliNTMwMmU0OWIxNzg5ZjNkYjVjMGQ3YWU5ODExOGFlYmE0ZWUzMTc3 NjdjNDZkZDkK