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: Pavel Cahyna To: git-commits@fedoraproject.org Subject: [rpms/tar] f44: Fix a regression with --one-top-level=/absolute Date: Mon, 07 Sep 2026 17:57:18 GMT Message-ID: <178880383837.1.2386869887287242740.rpms-tar-f4b2efc9a092@fedoraproject.org> List-ID: X-Git-Repo: rpms/tar X-Git-Branch: f44 X-Git-Rev: f4b2efc9a09256eb3297c3db4e41e5421f8a7fc4 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvdGFyCiAgICAgICAgICAgIEJyYW5jaCA6IGY0NAogICAgICAgICAgICBDb21t aXQgOiBmNGIyZWZjOWEwOTI1NmViMzI5N2MzZGI0ZTQxZTU0MjFmOGE3ZmM0CiAgICAgICAgICAg IEF1dGhvciA6IFBhdmVsIENhaHluYSA8cGNhaHluYUByZWRoYXQuY29tPgogICAgICAgICAgICBE YXRlICAgOiAyMDI2LTA5LTA3VDE3OjIyOjIyKzAyOjAwCiAgICAgICAgICAgIFN0YXRzICA6ICs4 MDcvLTAgaW4gMiBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9y YXByb2plY3Qub3JnL3JwbXMvdGFyL2MvZjRiMmVmYzlhMDkyNTZlYjMyOTdjM2RiNGU0MWU1NDIx ZjhhN2ZjND9icmFuY2g9ZjQ0CgogICAgICAgICAgICBMb2c6CiAgICAgICAgICAgIEZpeCBhIHJl Z3Jlc3Npb24gd2l0aCAtLW9uZS10b3AtbGV2ZWw9L2Fic29sdXRlCgpJbnRyb2R1Y2VkIHdpdGgg dGhlIGZpeCBvZiBiejIzODAwMDcgKENWRS0yMDI1LTQ1NTgyKQoKQWxzbywgZml4IENWRS0yMDI2 LTE4NTA4LgoKUmVzb2x2ZXM6IGZlZG9yYSMyNDk4MDYxClJlc29sdmVzOiBDVkUtMjAyNi0xODUw OApSZXNvbHZlczogZmVkb3JhIzI1MDk4NDUKCi0tLQpkaWZmIC0tZ2l0IGEvdGFyLTEuMzUtZml4 LWFic29sdXRlLW9uZS10b3AtbGV2ZWwucGF0Y2ggYi90YXItMS4zNS1maXgtYWJzb2x1dGUtb25l LXRvcC1sZXZlbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYTIx YTkyCi0tLSAvZGV2L251bGwKKysrIGIvdGFyLTEuMzUtZml4LWFic29sdXRlLW9uZS10b3AtbGV2 ZWwucGF0Y2gKQEAgLTAsMCArMSw3OTMgQEAKK2RpZmYgLS1naXQgYS9ORVdTIGIvTkVXUworaW5k ZXggZmZiNGY1NGYuLjQ1ZmVkYmY1IDEwMDY0NAorLS0tIGEvTkVXUworKysrIGIvTkVXUworQEAg LTEsMTIgKzEsMTIgQEAKKy1HTlUgdGFyIE5FV1MgLSBVc2VyIHZpc2libGUgY2hhbmdlcy4gMjAy Ni0wMS0zMAorK0dOVSB0YXIgTkVXUyAtIFVzZXIgdmlzaWJsZSBjaGFuZ2VzLiAyMDI2LTA3LTIy CisgUGxlYXNlIHNlbmQgR05VIHRhciBidWcgcmVwb3J0cyB0byA8YnVnLXRhckBnbnUub3JnPgor IAwKKyB2ZXJzaW9uIDEuMzUuOTAgKGdpdCkKKyAKKyAqIENoYW5nZXMgdG8gYmVoYXZpb3IKKyAK Ky0qKiAtLW9uZS10b3AtbGV2ZWw9RElSIG5vdyByZXF1aXJlcyBESVIgdG8gYmUgcmVsYXRpdmUu CistICAgUHJldmlvdXNseSB0aGlzIHJlc3RyaWN0aW9uIHdhcyBhbGx1ZGVkIHRvIGluIHRoZSBt YW51YWwgYnV0IG5vdCBlbmZvcmNlZC4KKysqKiBUaGUgLS1vbmUtdG9wLWxldmVsIG9wdGlvbiBu b3cgcmVxdWlyZXMgZWl0aGVyIC14IG9yIC1kIG1vZGUuCisrICAgUHJldmlvdXNseSB0aGUgYmVo YXZpb3Igd2FzIHVuc3BlY2lmaWVkIGluIG90aGVyIG9wZXJhdGlvbiBtb2Rlcy4KKyAKKyAqIEJ1 ZyBmaXhlcworIAorZGlmZiAtLWdpdCBhL2RvYy90YXIudGV4aSBiL2RvYy90YXIudGV4aQoraW5k ZXggOWIwNGI5NGIuLjkxMzAyZjA1IDEwMDY0NAorLS0tIGEvZG9jL3Rhci50ZXhpCisrKysgYi9k b2MvdGFyLnRleGkKK0BAIC0zMjcxLDE0ICszMjcxLDE0IEBAIGRpcmVjdG9yeS4KKyAKKyBAb3Bz dW1tYXJ5e29uZS10b3AtbGV2ZWx9CisgQGl0ZW0gLS1vbmUtdG9wLWxldmVsWz1AdmFye2Rpcn1d CistVGVsbHMgQGNvbW1hbmR7dGFyfSB0byBjcmVhdGUgYSBuZXcgZGlyZWN0b3J5IGJlbmVhdGgg dGhlIGV4dHJhY3Rpb24gZGlyZWN0b3J5CistKG9yIHRoZSBvbmUgcGFzc2VkIHRvIEBvcHRpb257 LUN9KSBhbmQgdXNlIGl0IHRvIHByZXZlbnQgQGNvbW1hbmR7dGFyfQorLWZyb20gbW9kaWZ5aW5n IGZpbGVzIG91dHNpZGUgdGhhdCBkaXJlY3RvcnkuCistSWYgQHZhcntkaXJ9IGlzIHByZXNlbnQs IGl0IG11c3QgYmUgYSByZWxhdGl2ZSBmaWxlIG5hbWUuCistSWYgaXQgaXMgYWJzZW50LCB0aGUg bmFtZSBvZiB0aGUgbmV3IGRpcmVjdG9yeQorK1RlbGxzIEBjb21tYW5ke3Rhcn0gdG8gdXNlIGEg ZGlyZWN0b3J5IGJlbmVhdGggdGhlIGV4dHJhY3Rpb24gZGlyZWN0b3J5CisrKG9yIHRoZSBvbmUg cGFzc2VkIHRvIEBvcHRpb257LUN9KSB0byBwcmV2ZW50IEBjb21tYW5ke3Rhcn0KKytmcm9tIGFj Y2Vzc2luZyBmaWxlcyBvdXRzaWRlIHRoYXQgZGlyZWN0b3J5LgorK0lmIEB2YXJ7ZGlyfSBpcyBh YnNlbnQsIHRoZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkKKyBpcyB0aGUgYmFzZSBuYW1lIG9mIHRo ZSBhcmNoaXZlIG1pbnVzIGFueSByZWNvZ25pemVkIGFyY2hpdmUgc3VmZml4LgorLUlmIG11bHRp cGxlIEBvcHRpb257LUN9IG9wdGlvbnMgYXJlIHByZXNlbnQsCistZWFjaCBoYXMgaXRzIG93biBz dWJkaXJlY3Rvcnkgd2l0aCB0aGUgc2FtZSBuYW1lLgorK0lmIEB2YXJ7ZGlyfSBpcyBhbiBhYnNv bHV0ZSBmaWxlIG5hbWUsIHRoYXQgaXMgdGhlIG9ubHkgc3VjaCBkaXJlY3Rvcnk7Cisrb3RoZXJ3 aXNlLCB0aGUgd29ya2luZyBkaXJlY3RvcnkgYW5kIHRoZSBkaXJlY3RvcmllcyBzcGVjaWZpZWQg YnkKKythbnkgQG9wdGlvbnstQ30gb3B0aW9ucyBlYWNoIGhhdmUgdGhlIG5hbWVkIHN1YmRpcmVj dG9yeS4KKyBBbnkgbWVtYmVyIG5hbWVzIHRoYXQgZG8gbm90IGJlZ2luCisgd2l0aCB0aGF0IGRp cmVjdG9yeSBuYW1lIChhZnRlcgorIHRyYW5zZm9ybWF0aW9ucyBmcm9tIEBvcHRpb257LS10cmFu c2Zvcm19IGFuZAorQEAgLTMyODYsNiArMzI4Niw5IEBAIHRyYW5zZm9ybWF0aW9ucyBmcm9tIEBv cHRpb257LS10cmFuc2Zvcm19IGFuZAorIGZpbGUgbmFtZSBzdWZmaXhlcyBhcmUgQHNhbXB7LnRh cn0sIGFuZCBhbnkgY29tcHJlc3Npb24gc3VmZml4ZXMKKyByZWNvZ25pemFibGUgYnkgQHhyZWZ7 LS1hdXRvLWNvbXByZXNzfS4KKyAKKytUaGlzIG9wdGlvbiBjYW4gYmUgdXNlZCBvbmx5IHdoZW4g ZXh0cmFjdGluZywgY29tcGFyaW5nLCBvciByZWFkaW5nCisrZnJvbSB0aGUgYXJjaGl2ZS4KKysK KyBAb3BzdW1tYXJ5e292ZXJ3cml0ZX0KKyBAaXRlbSAtLW92ZXJ3cml0ZQorIAorZGlmZiAtLWdp dCBhL3NyYy9jb21tb24uaCBiL3NyYy9jb21tb24uaAoraW5kZXggYWMwZTdlZWYuLmZiNzMyZjBi IDEwMDY0NAorLS0tIGEvc3JjL2NvbW1vbi5oCisrKysgYi9zcmMvY29tbW9uLmgKK0BAIC0yNDYs NyArMjQ2LDYgQEAgR0xPQkFMIGJvb2wgbnVtZXJpY19vd25lcl9vcHRpb247CisgR0xPQkFMIGJv b2wgb25lX2ZpbGVfc3lzdGVtX29wdGlvbjsKKyAKKyAvKiBDcmVhdGUgYSB0b3AtbGV2ZWwgZGly ZWN0b3J5IGZvciBleHRyYWN0aW5nIGJhc2VkIG9uIHRoZSBhcmNoaXZlIG5hbWUuICAqLworLUdM T0JBTCBib29sIG9uZV90b3BfbGV2ZWxfb3B0aW9uOworIEdMT0JBTCBjaGFyICpvbmVfdG9wX2xl dmVsX2RpcjsKKyAKKyAvKiBTcGVjaWZpZWQgdmFsdWUgdG8gYmUgcHV0IGludG8gdGFyIGZpbGUg aW4gcGxhY2Ugb2Ygc3RhdCAoKSByZXN1bHRzLCBvcgorQEAgLTU0NSw2ICs1NDQsNyBAQCB2b2lk IHZlcmlmeV92b2x1bWUgKHZvaWQpOworIC8qIE1vZHVsZSBleHRyYWN0LmMuICAqLworIAorIHZv aWQgZXh0cl9pbml0ICh2b2lkKTsKKytpbnQgbWFrZV9kaXJlY3RvcmllcyAoY2hhciAqZmlsZV9u YW1lLCBib29sICppbnRlcmRpcl9tYWRlKTsKKyB2b2lkIGV4dHJhY3RfYXJjaGl2ZSAodm9pZCk7 Cisgdm9pZCBleHRyYWN0X2ZpbmlzaCAodm9pZCk7CisgYm9vbCByZW5hbWVfZGlyZWN0b3J5IChj aGFyICpzcmMsIGNoYXIgKmRzdCk7CitAQCAtNjM1LDYgKzYzNSwyMCBAQCB2b2lkIHNraW1fbWVt YmVyIChib29sIG11c3RfY29weSk7CisgI2RlZmluZSBtaW4oYSwgYikgKChhKSA8IChiKSA/IChh KSA6IChiKSkKKyAjZGVmaW5lIG1heChhLCBiKSAoKGEpIDwgKGIpID8gKGIpIDogKGEpKQorIAor Ky8qIEEgZGlyZWN0b3J5IEZELCBhbmQgYSBmaWxlIG5hbWUgQkFTRSB0aGF0IG1hdGNoZXMgdGhl IHJlZ2V4cCAiW14vXSpbL10qIi4KKysgICBJZiBCQVNFIGlzIGFic29sdXRlIChpLmUuLCBtYXRj aGVzICIvKyIpLCBGRCBpcyB2YWxpZCBidXQgaXJyZWxldmFudC4KKysgICBPdGhlcndpc2UgaWYg RkQgPT0gQVRfRkRDV0QsIEJBU0UgaXMgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgZGlyZWN0b3J5 LgorKyAgIE90aGVyd2lzZSBpZiBGRCA9PSBCQURGRCwgdGhlIHBhcmVudCBkaXJlY3RvcnkgY291 bGQgbm90IGJlIG9wZW5lZAorKyAgIGFuZCBCQVNFIGlzIG1lcmVseSB0aGUgb3JpZ2luYWwgZmls ZSBuYW1lJ3MgYmFzZW5hbWUuCisrICAgT3RoZXJ3aXNlLCBGRCBpcyBvcGVuIHRvIGEgcGFyZW50 IGRpcmVjdG9yeSwKKysgICBhbmQgQkFTRSBpcyByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS4K KysgICBCQVNFIHBvaW50cyB0byBzdG9yYWdlIG1hbmFnZWQgZWxzZXdoZXJlOyBkbyBub3QgZnJl ZSBpdCBkaXJlY3RseS4gICovCisrc3RydWN0IGZkYmFzZQorKyAgeworKyAgICBpbnQgZmQ7Cisr ICAgIGNoYXIgY29uc3QgKmJhc2U7CisrICB9OworKworIGNoYXIgY29uc3QgKnF1b3RlX25fY29s b24gKGludCBuLCBjaGFyIGNvbnN0ICphcmcpOworIHZvaWQgYXNzaWduX3N0cmluZ19vcl9udWxs IChjaGFyICoqZGVzdCwgY29uc3QgY2hhciAqc3JjKQorICAgQVRUUklCVVRFX05PTk5VTEwgKCgx KSk7CitAQCAtNjU3LDYgKzY3MSw4IEBAIHZvaWQgbmFtZWJ1Zl9mcmVlIChuYW1lYnVmX3QgYnVm KTsKKyBjaGFyICpuYW1lYnVmX25hbWUgKG5hbWVidWZfdCBidWYsIGNvbnN0IGNoYXIgKm5hbWUp OworIAorIGNvbnN0IGNoYXIgKnRhcl9kaXJuYW1lICh2b2lkKTsKKytjaGFyICp0cmFuc2Zvcm1f dG9wX2xldmVsIChjb25zdCBjaGFyICpuYW1lKQorKyAgX0dMX0FUVFJJQlVURV9NQUxMT0MgX0dM X0FUVFJJQlVURV9ERUFMTE9DX0ZSRUU7CisgCisgLyogUmVwcmVzZW50IE4gdXNpbmcgYSBzaWdu ZWQgaW50ZWdlciBJIHN1Y2ggdGhhdCAodWludG1heF90KSBJID09IE4uCisgICAgV2l0aCBhIGdv b2Qgb3B0aW1pemluZyBjb21waWxlciwgdGhpcyBpcyBlcXVpdmFsZW50IHRvIChpbnRtYXhfdCkg aQorQEAgLTcyOCwxMCArNzQ0LDEwIEBAIHNpemVfdCBibG9ja2luZ193cml0ZSAoaW50IGZkLCB2 b2lkIGNvbnN0ICpidWYsIHNpemVfdCBjb3VudCk7CisgZW51bSB7IEJBREZEID0gQVRfRkRDV0Qg PT0gLTEgPyAtMiA6IC0xIH07CisgCisgZXh0ZXJuIGludCBjaGRpcl9jdXJyZW50OworLWludCBj aGRpcl9hcmcgKGNoYXIgY29uc3QgKmRpcik7Cistdm9pZCBjaGRpcl9kbyAoaW50IGRpcik7Cisr aW50IGNoZGlyX2FyZyAoY2hhciBjb25zdCAqZGlyLCBib29sIG9uZV90b3BfbGV2ZWwpOworK3Zv aWQgY2hkaXJfZG8gKGludCBkaXIsIGJvb2wgY3JlYXRlKTsKKyBzdHJ1Y3QgY2hkaXJfaWQgeyBp bnQgZXJyOyBkZXZfdCBzdF9kZXY7IGlub190IHN0X2lubzsgfSBjaGRpcl9pZCAodm9pZCk7Cist c3RydWN0IGZkYmFzZSB7IGludCBmZDsgY2hhciBjb25zdCAqYmFzZTsgfSBmZGJhc2UgKGNoYXIg Y29uc3QgKik7Cisrc3RydWN0IGZkYmFzZSBmZGJhc2UgKGNoYXIgY29uc3QgKik7Cisgc3RydWN0 IGZkYmFzZSBmZGJhc2UxIChjaGFyIGNvbnN0ICopOworIHZvaWQgZmRiYXNlX2NsZWFyICh2b2lk KTsKKyBpbnQgY2hkaXJfY291bnQgKHZvaWQpOworZGlmZiAtLWdpdCBhL3NyYy9jcmVhdGUuYyBi L3NyYy9jcmVhdGUuYworaW5kZXggNTFjM2YyMTMuLjU4MmNhNGM2IDEwMDY0NAorLS0tIGEvc3Jj L2NyZWF0ZS5jCisrKysgYi9zcmMvY3JlYXRlLmMKK0BAIC0xMjY2LDcgKzEyNjYsNyBAQCBlbnN1 cmVfc2xhc2ggKGNoYXIgKipwc3RyKQorIC8qIElmIHdlIGp1c3QgcmFuIG91dCBvZiBmaWxlIGRl c2NyaXB0b3JzLCByZWxlYXNlIGEgZmlsZSBkZXNjcmlwdG9yCisgICAgaW4gdGhlIGRpcmVjdG9y eSBjaGFpbiBzb21ld2hlcmUgbGVhZGluZyBmcm9tIERJUi0+cGFyZW50LT5wYXJlbnQKKyAgICB1 cCB0aHJvdWdoIHRoZSByb290LiAgUmV0dXJuIHRydWUgaWYgc3VjY2Vzc2Z1bCwgZmFsc2UgKHBy ZXNlcnZpbmcKKy0gICBlcnJubyA9PSBFTUZJTEUpIG90aGVyd2lzZS4KKysgICBlcnJubykgb3Ro ZXJ3aXNlLgorIAorICAgIERvIG5vdCByZWxlYXNlIERJUidzIGZpbGUgZGVzY3JpcHRvciwgb3Ig RElSJ3MgcGFyZW50LCBhcyBvdGhlcgorICAgIGNvZGUgYXNzdW1lcyB0aGF0IHRoZXkgd29yay4g IE9uIHNvbWUgb3BlcmF0aW5nIHN5c3RlbXMsIGFub3RoZXIKK0BAIC0xMjc3LDcgKzEyNzcsOCBA QCBlbnN1cmVfc2xhc2ggKGNoYXIgKipwc3RyKQorIHN0YXRpYyBib29sCisgb3Blbl9mYWlsdXJl X3JlY292ZXIgKHN0cnVjdCB0YXJfc3RhdF9pbmZvIGNvbnN0ICpkaXIpCisgeworLSAgaWYgKGVy cm5vID09IEVNRklMRSAmJiBkaXIgJiYgZGlyLT5wYXJlbnQpCisrICBpbnQgZXJyID0gZXJybm87 CisrICBpZiAoKGVyciA9PSBFTUZJTEUgfHwgZXJyID09IEVORklMRSkgJiYgZGlyICYmIGRpci0+ cGFyZW50KQorICAgICB7CisgICAgICAgc3RydWN0IHRhcl9zdGF0X2luZm8gKnA7CisgICAgICAg Zm9yIChwID0gZGlyLT5wYXJlbnQtPnBhcmVudDsgcDsgcCA9IHAtPnBhcmVudCkKK0BAIC0xMjg2 LDcgKzEyODcsNyBAQCBvcGVuX2ZhaWx1cmVfcmVjb3ZlciAoc3RydWN0IHRhcl9zdGF0X2luZm8g Y29uc3QgKmRpcikKKyAJICAgIHRhcl9zdGF0X2Nsb3NlIChwKTsKKyAJICAgIHJldHVybiB0cnVl OworIAkgIH0KKy0gICAgICBlcnJubyA9IEVNRklMRTsKKysgICAgICBlcnJubyA9IGVycjsKKyAg ICAgfQorIAorICAgcmV0dXJuIGZhbHNlOworZGlmZiAtLWdpdCBhL3NyYy9leHRyYWN0LmMgYi9z cmMvZXh0cmFjdC5jCitpbmRleCA0Njg1ZjgzYy4uYTMxZjU2MGIgMTAwNjQ0CistLS0gYS9zcmMv ZXh0cmFjdC5jCisrKysgYi9zcmMvZXh0cmFjdC5jCitAQCAtNjk4LDcgKzY5OCw3IEBAIGZpeHVw X2RlbGF5ZWRfc2V0X3N0YXQgKGNoYXIgY29uc3QgKnNyYywgY2hhciBjb25zdCAqZHN0KQorICAg IGNyZWF0ZSBhbGwgcmVxdWlyZWQgZGlyZWN0b3JpZXMuICBSZXR1cm4gemVybyBpZiBhbGwgdGhl IHJlcXVpcmVkCisgICAgZGlyZWN0b3JpZXMgd2VyZSBjcmVhdGVkLCBub256ZXJvIChpc3N1aW5n IGEgZGlhZ25vc3RpYykgb3RoZXJ3aXNlLgorICAgIFNldCAqSU5URVJESVJfTUFERSAodW5sZXNz IE5VTEwpIGlmIGF0IGxlYXN0IG9uZSBkaXJlY3Rvcnkgd2FzIGNyZWF0ZWQuICovCistc3RhdGlj IGludAorK2ludAorIG1ha2VfZGlyZWN0b3JpZXMgKGNoYXIgKmZpbGVfbmFtZSwgYm9vbCAqaW50 ZXJkaXJfbWFkZSkKKyB7CisgICBjaGFyICpjdXJzb3IwID0gZmlsZV9uYW1lICsgRklMRV9TWVNU RU1fUFJFRklYX0xFTiAoZmlsZV9uYW1lKTsKK0BAIC03NDEsNyArNzQxLDcgQEAgbWFrZV9kaXJl Y3RvcmllcyAoY2hhciAqZmlsZV9uYW1lLCBib29sICppbnRlcmRpcl9tYWRlKQorIAkgICAgIHJl cGFpcl9kZWxheWVkX3NldF9zdGF0IG1heSBuZWVkIHRvIHVwZGF0ZSB0aGUgc3RydWN0LiAgKi8K KyAJICBkZWxheV9zZXRfc3RhdCAoZmlsZV9uYW1lLAorIAkJCSAgMCwgbW9kZSAmIH4gY3VycmVu dF91bWFzaywgTU9ERV9SV1gsCistCQkJICBkZXNpcmVkX21vZGUsIEFUX1NZTUxJTktfTk9GT0xM T1cpOworKwkJCSAgICBkZXNpcmVkX21vZGUsIEFUX1NZTUxJTktfTk9GT0xMT1cpOworIAkgIGlm IChpbnRlcmRpcl9tYWRlKQorIAkgICAgKmludGVyZGlyX21hZGUgPSB0cnVlOworIAkgIHByaW50 X2Zvcl9ta2RpciAoZmlsZV9uYW1lLCBkZXNpcmVkX21vZGUpOworQEAgLTk3NCw3ICs5NzQsNyBA QCBhcHBseV9ub25hbmNlc3Rvcl9kZWxheWVkX3NldF9zdGF0IChjaGFyIGNvbnN0ICpmaWxlX25h bWUsIGJvb2wgYWZ0ZXJfbGlua3MpCisgCSAgICAgICYmIG1lbWNtcCAoZmlsZV9uYW1lLCBkYXRh LT5maWxlX25hbWUsIGRhdGEtPmZpbGVfbmFtZV9sZW4pID09IDApKQorIAlicmVhazsKKyAKKy0g ICAgICBjaGRpcl9kbyAoZGF0YS0+Y2hhbmdlX2Rpcik7CisrICAgICAgY2hkaXJfZG8gKGRhdGEt PmNoYW5nZV9kaXIsIGZhbHNlKTsKKyAKKyAgICAgICBpZiAoY2hlY2tfZm9yX3JlbmFtZWRfZGly ZWN0b3JpZXMpCisgCXsKK0BAIC0xODQ0LDcgKzE4NDQsNyBAQCBleHRyYWN0X2FyY2hpdmUgKHZv aWQpCisgICAgIHsKKyAgICAgICBpbnQgZGlyID0gY2hkaXJfY3VycmVudDsKKyAgICAgICBhcHBs eV9ub25hbmNlc3Rvcl9kZWxheWVkX3NldF9zdGF0IChjdXJyZW50X3N0YXRfaW5mby5maWxlX25h bWUsIDApOworLSAgICAgIGNoZGlyX2RvIChkaXIpOworKyAgICAgIGNoZGlyX2RvIChkaXIsIGZh bHNlKTsKKyAgICAgfQorIAorICAgLyogVGFrZSBhIHNhZmV0eSBiYWNrdXAgb2YgYSBwcmV2aW91 c2x5IGV4aXN0aW5nIGZpbGUuICAqLworQEAgLTE4NjQsOCArMTg2NCwzNSBAQCBleHRyYWN0X2Fy Y2hpdmUgKHZvaWQpCisgICB0eXBlZmxhZyA9IHNwYXJzZV9tZW1iZXJfcCAoJmN1cnJlbnRfc3Rh dF9pbmZvKSA/CisgICAgICAgICAgICAgICAgICAgR05VVFlQRV9TUEFSU0UgOiBjdXJyZW50X2hl YWRlci0+aGVhZGVyLnR5cGVmbGFnOworIAorLSAgYm9vbCBvayA9IHByZXBhcmVfdG9fZXh0cmFj dCAoY3VycmVudF9zdGF0X2luZm8uZmlsZV9uYW1lLCB0eXBlZmxhZywgJmZ1bikKKy0gICAgICAg ICAgICAmJiBmdW4gKGN1cnJlbnRfc3RhdF9pbmZvLmZpbGVfbmFtZSwgdHlwZWZsYWcpID09IDA7 CisrICBib29sIG9rID0gZmFsc2U7CisrICBpZiAocHJlcGFyZV90b19leHRyYWN0IChjdXJyZW50 X3N0YXRfaW5mby5maWxlX25hbWUsIHR5cGVmbGFnLCAmZnVuKSkKKysgICAgeworKyAgICAgIGlm IChvbmVfdG9wX2xldmVsX2RpcikKKysJeworKwkgIC8qIENyZWF0ZSBvbmVfdG9wX2xldmVsIGRp ciBpZiBpdCBkb2VzIG5vdCBleGlzdC4gICovCisrCSAgY2hkaXJfZG8gKGNoZGlyX2N1cnJlbnQs IHRydWUpOworKwkgIC8qIEZsdXNoIGRlbGF5ZWQgc3RhdCB0byBtaXJyb3IgdGhlIGNvZGUgYWJv dmUgdGhhdCBkb2VzIGl0CisrCSAgICAgYmVmb3JlIGV4dHJhY3RpbmcgYSBuZXcgZW50cnkuIENy ZWF0aW5nIHRoZSBvbmVfdG9wX2xldmVsCisrCSAgICAgZGlyIG1heSBoYXZlIGNyZWF0ZWQgbmV3 IGRlbGF5ZWRfc2V0X3N0YXQgaW50ZXJkaXIKKysJICAgICBlbnRyaWVzLCBzbyByZXBlYXQgdGhl IG9wZXJhdGlvbi4gSWRlYWxseSB0aGlzIHNob3VsZCBub3QKKysJICAgICBiZSBuZWVkZWQsIGJ1 dCB0aGUgbmV3bHktY3JlYXRlZCBpbnRlcmRpciBlbnRyaWVzIGhhdmUKKysJICAgICBzdF9kZXYv c3RfaW5vIHVuaW5pdGlhbGl6ZWQsIHdoaWNoIHdvdWxkIGJlIGEgcHJvYmxlbSBpZgorKwkgICAg IHRoZXJlIGlzIGEgIi4iIGVudHJ5IGFmdGVyd2FyZHM6CisrCSAgICAgYXBwbHlfbm9uYW5jZXN0 b3JfZGVsYXllZF9zZXRfc3RhdCB3b3VsZCB1c2UgdGhlCisrCSAgICAgdW5pbml0aWFsaXplZCB2 YWx1ZXMuIElkZWFsbHksIHN0X2Rldi9zdF9pbm8gd291bGQgYmUKKysJICAgICBpbml0aWFsaXpl ZCBieSBtYXJrX21ldGFkYXRhX3NldCwgYnV0IHRoaXMgb25lIGRvZXMgbm90CisrCSAgICAgdGFr ZSBjaGRpciBpbnRvIGFjY291bnQsIHNvIGl0IHN0YXRzIGEgd3JvbmcgZmlsZS4gKi8KKysJICBp ZiAoIWRlbGF5X2RpcmVjdG9yeV9yZXN0b3JlX29wdGlvbikKKysJICAgIHsKKysJICAgICAgaW50 IGRpciA9IGNoZGlyX2N1cnJlbnQ7CisrCSAgICAgIGFwcGx5X25vbmFuY2VzdG9yX2RlbGF5ZWRf c2V0X3N0YXQgKGN1cnJlbnRfc3RhdF9pbmZvLmZpbGVfbmFtZSwKKysJCQkJCQkgIGZhbHNlKTsK KysJICAgICAgY2hkaXJfZG8gKGRpciwgZmFsc2UpOworKwkgICAgfQorKwl9CisrICAgICAgaWYg KGZ1biAoY3VycmVudF9zdGF0X2luZm8uZmlsZV9uYW1lLCB0eXBlZmxhZykgPT0gMCkKKysJb2sg PSB0cnVlOworKyAgICB9CisgICBza2lwX21lbWJlciAoKTsKKyAgIGlmICghb2sgJiYgYmFja3Vw X29wdGlvbikKKyAgICAgdW5kb19sYXN0X2JhY2t1cCAoKTsKK0BAIC0xODc4LDcgKzE5MDUsNyBA QCBhcHBseV9kZWxheWVkX2xpbmsgKHN0cnVjdCBkZWxheWVkX2xpbmsgKmRzKQorICAgc3RydWN0 IHN0cmluZ19saXN0ICpzb3VyY2VzID0gZHMtPnNvdXJjZXM7CisgICBjaGFyIGNvbnN0ICp2YWxp ZF9zb3VyY2UgPSBOVUxMOworIAorLSAgY2hkaXJfZG8gKGRzLT5jaGFuZ2VfZGlyKTsKKysgIGNo ZGlyX2RvIChkcy0+Y2hhbmdlX2RpciwgZmFsc2UpOworIAorICAgZm9yIChzb3VyY2VzID0gZHMt PnNvdXJjZXM7IHNvdXJjZXM7IHNvdXJjZXMgPSBzb3VyY2VzLT5uZXh0KQorICAgICB7CitkaWZm IC0tZ2l0IGEvc3JjL2xpc3QuYyBiL3NyYy9saXN0LmMKK2luZGV4IDdkN2NkZTVhLi4wNjhjYTVm YiAxMDA2NDQKKy0tLSBhL3NyYy9saXN0LmMKKysrKyBiL3NyYy9saXN0LmMKK0BAIC0xMjgsMTYg KzEyOCwyOCBAQCBlbmZvcmNlX29uZV90b3BfbGV2ZWwgKGNoYXIgKipwZmlsZV9uYW1lKQorICAg ICAgIGludCBwb3MgPSBzdHJsZW4gKG9uZV90b3BfbGV2ZWxfZGlyKTsKKyAgICAgICBpZiAoc3Ry bmNtcCAocCwgb25lX3RvcF9sZXZlbF9kaXIsIHBvcykgPT0gMCkKKyAJeworLQkgIGlmIChJU1NM QVNIIChwW3Bvc10pIHx8IHBbcG9zXSA9PSAwKQorLQkgICAgcmV0dXJuOworKwkgIC8qIFJlbW92 ZSB0aGUgb25lX3RvcF9sZXZlbF9kaXIgcHJlZml4IGlmIGl0IGVuZHMgYXQKKysJICAgICBjb21w b25lbnQgYm91bmRhcnkuICAqLworKwkgIGlmIChJU1NMQVNIIChwW3Bvc10pKQorKwkgICAgewor KwkgICAgICAqcGZpbGVfbmFtZSA9IHhzdHJkdXAgKHBbcG9zKzFdID8gJnBbcG9zKzFdIDogIi4i KTsKKysJICAgICAgZnJlZSAoZmlsZV9uYW1lKTsKKysJICAgICAgcmV0dXJuOworKwkgICAgfQor KwkgIGVsc2UgaWYgKHBbcG9zXSA9PSAwKQorKwkgICAgeworKwkgICAgICAqcGZpbGVfbmFtZSA9 IHhzdHJkdXAgKCIuIik7CisrCSAgICAgIGZyZWUgKGZpbGVfbmFtZSk7CisrCSAgICAgIHJldHVy bjsKKysJICAgIH0KKyAJfQorLQorLSAgICAgICpwZmlsZV9uYW1lID0gbWFrZV9maWxlX25hbWUg KG9uZV90b3BfbGV2ZWxfZGlyLCBmaWxlX25hbWUpOworLSAgICAgIG5vcm1hbGl6ZV9maWxlbmFt ZV94ICgqcGZpbGVfbmFtZSk7CisrICAgICAgLyogSWYgdGhlIHByZWZpeCBkb2VzIG5vdCBtYXRj aCwgZG8gbm90aGluZy4gICovCisgICAgIH0KKyAgIGVsc2UKKy0gICAgKnBmaWxlX25hbWUgPSB4 c3RyZHVwIChvbmVfdG9wX2xldmVsX2Rpcik7CistICBmcmVlIChmaWxlX25hbWUpOworKyAgICB7 CisrICAgICAgKnBmaWxlX25hbWUgPSB4c3RyZHVwICgiLiIpOworKyAgICAgIGZyZWUgKGZpbGVf bmFtZSk7CisrICAgIH0KKyB9CisgCisgdm9pZAorQEAgLTE1OCw4ICsxNzAsMTUgQEAgdHJhbnNm b3JtX3N0YXRfaW5mbyAoaW50IHR5cGVmbGFnLCBzdHJ1Y3QgdGFyX3N0YXRfaW5mbyAqc3RhdF9p bmZvKQorICAgICAgIHRyYW5zZm9ybV9tZW1iZXJfbmFtZSAoJnN0YXRfaW5mby0+bGlua19uYW1l LCBYRk9STV9MSU5LKTsKKyAgICAgfQorIAorLSAgaWYgKG9uZV90b3BfbGV2ZWxfb3B0aW9uKQor LSAgICBlbmZvcmNlX29uZV90b3BfbGV2ZWwgKCZjdXJyZW50X3N0YXRfaW5mby5maWxlX25hbWUp OworKyAgaWYgKG9uZV90b3BfbGV2ZWxfZGlyKQorKyAgICB7CisrICAgICAgZW5mb3JjZV9vbmVf dG9wX2xldmVsICgmc3RhdF9pbmZvLT5maWxlX25hbWUpOworKyAgICAgIC8qIEhhcmQgbGlua3Mg YXJlIGludGVycHJldGVkIHJlbGF0aXZlIHRvIGN3ZCwgYW5kIC0tb25lLXRvcC1sZXZlbAorKwkg d29ya3MgYnkgbWVhbnMgb2YgYSBoaWRkZW4gY2hhbmdlIG9mIGN3ZCB0byB0aGUgcmVxdWVzdGVk IGRpcmVjdG9yeS4KKysJIEFkanVzdCBoYXJkIGxpbmsgdGFyZ2V0cyBhcyB3ZWxsLiAgKi8KKysg ICAgICBpZiAodHlwZWZsYWcgPT0gTE5LVFlQRSkKKysJZW5mb3JjZV9vbmVfdG9wX2xldmVsICgm c3RhdF9pbmZvLT5saW5rX25hbWUpOworKyAgICB9CisgfQorIAorIC8qIE1haW4gbG9vcCBmb3Ig cmVhZGluZyBhbiBhcmNoaXZlLiAgKi8KK0BAIC0xMTU5LDkgKzExNzgsOSBAQCBzaW1wbGVfcHJp bnRfaGVhZGVyIChzdHJ1Y3QgdGFyX3N0YXRfaW5mbyAqc3QsIHVuaW9uIGJsb2NrICpibGssCisg ICBpbnQgc2l6ZWxlbjsKKyAKKyAgIGlmIChzaG93X3RyYW5zZm9ybWVkX25hbWVzX29wdGlvbikK Ky0gICAgdGVtcF9uYW1lID0gc3QtPmZpbGVfbmFtZSA/IHN0LT5maWxlX25hbWUgOiBzdC0+b3Jp Z19maWxlX25hbWU7CisrICAgIHRlbXBfbmFtZSA9IHRyYW5zZm9ybV90b3BfbGV2ZWwgKHN0LT5m aWxlX25hbWUgPyBzdC0+ZmlsZV9uYW1lIDogc3QtPm9yaWdfZmlsZV9uYW1lKTsKKyAgIGVsc2UK Ky0gICAgdGVtcF9uYW1lID0gc3QtPm9yaWdfZmlsZV9uYW1lID8gc3QtPm9yaWdfZmlsZV9uYW1l IDogc3QtPmZpbGVfbmFtZTsKKysgICAgdGVtcF9uYW1lID0geHN0cmR1cCAoc3QtPm9yaWdfZmls ZV9uYW1lID8gc3QtPm9yaWdfZmlsZV9uYW1lIDogc3QtPmZpbGVfbmFtZSk7CisgCisgICBpZiAo YmxvY2tfbnVtYmVyX29wdGlvbikKKyAgICAgeworQEAgLTEzNTQsNiArMTM3Myw3IEBAIHNpbXBs ZV9wcmludF9oZWFkZXIgKHN0cnVjdCB0YXJfc3RhdF9pbmZvICpzdCwgdW5pb24gYmxvY2sgKmJs aywKKyAgICAgfQorICAgZmZsdXNoIChzdGRsaXMpOworICAgeGF0dHJzX3ByaW50IChzdCk7Cisr ICBmcmVlICh0ZW1wX25hbWUpOworIH0KKyAKKyAKK2RpZmYgLS1naXQgYS9zcmMvbWlzYy5jIGIv c3JjL21pc2MuYworaW5kZXggNTc1ZDEzZDkuLmY2YzlhODE5IDEwMDY0NAorLS0tIGEvc3JjL21p c2MuYworKysrIGIvc3JjL21pc2MuYworQEAgLTIzLDYgKzIzLDcgQEAKKyAjaW5jbHVkZSA8eGdl dGN3ZC5oPgorICNpbmNsdWRlIDx1bmxpbmtkaXIuaD4KKyAjaW5jbHVkZSA8dXRpbWVucy5oPgor KyNpbmNsdWRlIDxhc3NlcnQuaD4KKyAKKyAjaWZuZGVmIERPVUJMRV9TTEFTSF9JU19ESVNUSU5D VF9ST09UCisgIyBkZWZpbmUgRE9VQkxFX1NMQVNIX0lTX0RJU1RJTkNUX1JPT1QgMAorQEAgLTk0 Niw2ICs5NDcsNyBAQCBzdHJ1Y3Qgd2QKKyAgICAgIHRvIGJlIHVzZWQuICAqLworICAgaW50IGZk OworIAorKyAgYm9vbCBvbmVfdG9wX2xldmVsOworICAgLyogSWYgSUQuZXJyIGlzIHplcm8sIHRo ZSBkaXJlY3RvcnkncyBpZGVudGl0eTsKKyAgICAgIGlmIHBvc2l0aXZlLCBhIGZhaWx1cmUgaW5k aWNhdGlvbiB3aXRoIGVycm5vID0gSUQuZXJyOworICAgICAgaWYgbmVnYXRpdmUsIG5vIGF0dGVt cHQgaGFzIGJlZW4gbWFkZSB5ZXQgdG8gZ2V0IHRoZSBpZGVudGl0eS4gICovCitAQCAtOTc3LDkg Kzk3OSwxNyBAQCBzdGF0aWMgc2l6ZV90IHdkY2FjaGVfY291bnQ7CisgaW50CisgY2hkaXJfY291 bnQgKHZvaWQpCisgeworLSAgaWYgKHdkX2NvdW50ID09IDApCistICAgIHJldHVybiB3ZF9jb3Vu dDsKKy0gIHJldHVybiB3ZF9jb3VudCAtIDE7CisrICBpbnQgY291bnQgPSAwOworKyAgaWYgKHdk X2NvdW50KQorKyAgICB7CisrICAgICAgLyogRG8gbm90IGNvdW50IHRoZSBpbml0aWFsIENXRCBl bnRyeSAtPiBzdGFydCBhdCAxLiAgKi8KKysgICAgICBmb3IgKGludCBpID0gMTsgaSA8IHdkX2Nv dW50OyBpKyspCisrCXsKKysJICBpZiAoISB3ZFtpXS5vbmVfdG9wX2xldmVsKQorKwkgICAgY291 bnQrKzsKKysJfQorKyAgICB9CisrICByZXR1cm4gY291bnQ7CisgfQorIAorIC8qIEdyb3cgdGhl IFdEIHRhYmxlIGJ5IGF0IGxlYXN0IG9uZSBlbnRyeS4gICovCitAQCAtOTk2LDE1ICsxMDA2LDI3 IEBAIGdyb3dfd2QgKHZvaWQpCisgICAgICAgd2Rbd2RfY291bnRdLmFic3BhdGggPSBOVUxMOwor ICAgICAgIHdkW3dkX2NvdW50XS5mZCA9IEFUX0ZEQ1dEOworICAgICAgIHdkW3dkX2NvdW50XS5p ZC5lcnIgPSAtMTsKKysgICAgICB3ZFt3ZF9jb3VudF0ub25lX3RvcF9sZXZlbCA9IGZhbHNlOwor ICAgICAgIHdkX2NvdW50Kys7CisrICAgICAgaWYgKG9uZV90b3BfbGV2ZWxfZGlyKQorKwl7Cisr CSAgd2Rbd2RfY291bnRdLm5hbWUgPSBvbmVfdG9wX2xldmVsX2RpcjsKKysJICB3ZFt3ZF9jb3Vu dF0uYWJzcGF0aCA9IE5VTEw7CisrCSAgd2Rbd2RfY291bnRdLmZkID0gMDsKKysJICB3ZFt3ZF9j b3VudF0uaWQuZXJyID0gLTE7CisrCSAgd2Rbd2RfY291bnRdLm9uZV90b3BfbGV2ZWwgPSB0cnVl OworKwkgIHdkX2NvdW50Kys7CisrCX0KKyAgICAgfQorIH0KKyAKKyAvKiBESVIgaXMgdGhlIG9w ZXJhbmQgb2YgYSAtQyBvcHRpb247IGFkZCBpdCB0byB2ZWN0b3Igb2YgY2hkaXIgdGFyZ2V0cywK KyAgICBhbmQgcmV0dXJuIHRoZSBpbmRleCBvZiBpdHMgbG9jYXRpb24uICAqLworIGludAorLWNo ZGlyX2FyZyAoY2hhciBjb25zdCAqZGlyKQorK2NoZGlyX2FyZyAoY2hhciBjb25zdCAqZGlyLCBi b29sIG9uZV90b3BfbGV2ZWwpCisgeworKyAgaWYgKG9uZV90b3BfbGV2ZWwpCisrICAgIGNoZGly X2FyZyAoZGlyLCBmYWxzZSk7CisgICBpZiAod2RfY291bnQgPT0gd2RfYWxsb2MpCisgICAgIGdy b3dfd2QgKCk7CisgCitAQCAtMTAxNCwxMyArMTAzNiwyMiBAQCBjaGRpcl9hcmcgKGNoYXIgY29u c3QgKmRpcikKKyAgICAgeworICAgICAgIGRpciArPSBkb3RzbGFzaGxlbiAoZGlyKTsKKyAgICAg ICBpZiAoISBkaXJbZGlyWzBdID09ICcuJ10pCistCXJldHVybiB3ZF9jb3VudCAtIDE7CisrCXsK KysJICBpZiAod2Rbd2RfY291bnQgLSAxXS5vbmVfdG9wX2xldmVsID09IG9uZV90b3BfbGV2ZWwp CisrCSAgICByZXR1cm4gd2RfY291bnQgLSAxOworKwkgIGVsc2UKKysJICAgIHJldHVybiB3ZF9j b3VudCAtIDI7CisrCX0KKyAgICAgfQorIAorKyAgaWYgKG9uZV90b3BfbGV2ZWwpCisrICAgIGRp ciA9IG9uZV90b3BfbGV2ZWxfZGlyOworKworICAgd2Rbd2RfY291bnRdLm5hbWUgPSBkaXI7Cisg ICB3ZFt3ZF9jb3VudF0uYWJzcGF0aCA9IE5VTEw7CisgICB3ZFt3ZF9jb3VudF0uZmQgPSAwOwor ICAgd2Rbd2RfY291bnRdLmlkLmVyciA9IC0xOworKyAgd2Rbd2RfY291bnRdLm9uZV90b3BfbGV2 ZWwgPSBvbmVfdG9wX2xldmVsOworICAgcmV0dXJuIHdkX2NvdW50Kys7CisgfQorIAorQEAgLTEw MzksMjEgKzEwNzAsNzQgQEAgc3RhdGljIGludCBjaGRpcl9mZCA9IEFUX0ZEQ1dEOworICAgIHdv cmtpbmcgZGlyZWN0b3J5OyBvdGhlcndpc2UsIEkgbXVzdCBiZSBhIHZhbHVlIHJldHVybmVkIGJ5 CisgICAgY2hkaXJfYXJnLiAgKi8KKyB2b2lkCistY2hkaXJfZG8gKGludCBpKQorK2NoZGlyX2Rv IChpbnQgaSwgYm9vbCBjcmVhdGUpCisgeworLSAgaWYgKGNoZGlyX2N1cnJlbnQgIT0gaSkKKy0g ICAgeworLSAgICAgIHN0cnVjdCB3ZCAqY3VyciA9ICZ3ZFtpXTsKKy0gICAgICBpbnQgZmQgPSBj dXJyLT5mZDsKKysgIHN0cnVjdCB3ZCAqY3VyciA9ICZ3ZFtpXTsKKysgIGludCBmZCA9IGN1cnIt PmZkOworIAorLSAgICAgIGlmICghIGZkKQorKyAgLyogTm90aGluZyB0byBjcmVhdGUgdW5sZXNz IHdlIGFyZSBhdCB0aGUgb25lX3RvcF9sZXZlbCBkaXIgdGhhdCBoYXMKKysgICAgIG5vdCBiZWVu IGNyZWF0ZWQgeWV0LiAgKi8KKysgIGNyZWF0ZSA9IGNyZWF0ZSAmJiBjdXJyLT5vbmVfdG9wX2xl dmVsICYmIChmZCA9PSBCQURGRCB8fCBmZCA9PSAwKTsKKysKKysgIGlmIChjaGRpcl9jdXJyZW50 ICE9IGkgfHwgY3JlYXRlKQorKyAgICB7CisrICAgICAgaWYgKCEgZmQgfHwgY3JlYXRlKQorIAl7 CisgCSAgaWYgKCEgSVNfQUJTT0xVVEVfRklMRV9OQU1FIChjdXJyLT5uYW1lKSkKKy0JICAgIGNo ZGlyX2RvIChpIC0gMSk7CisrCSAgICB7CisrCSAgICAgIGludCBqID0gaSAtIDE7CisrCSAgICAg IGlmICh3ZFtqXS5vbmVfdG9wX2xldmVsKQorKwkJeworKwkJICBqLS07CisrCQkgIGFzc2VydCAo ISB3ZFtqXS5vbmVfdG9wX2xldmVsKTsKKysJCX0KKysJICAgICAgY2hkaXJfZG8gKGosIGZhbHNl KTsKKysJICAgIH0KKyAJICBmZCA9IG9wZW5hdCAoY2hkaXJfZmQsIGN1cnItPm5hbWUsCisgCQkg ICAgICAgb3Blbl9zZWFyY2hkaXJfaG93LmZsYWdzICYgfk9fTk9GT0xMT1cpOworIAkgIGlmIChm ZCA8IDApCistCSAgICBvcGVuX2ZhdGFsIChjdXJyLT5uYW1lKTsKKysJICAgIHsKKysJICAgICAg aWYgKGNyZWF0ZSkKKysJCXsKKysJCSAgY2hhciAqZGlyX3dpdGhfZG90OworKwkJICBzdHJ1Y3Qg b3Blbl9ob3cgc2F2ZWRfb3Blbl9zZWFyY2hkaXJfaG93ID0gb3Blbl9zZWFyY2hkaXJfaG93Owor KwkJICAvKiBEb24ndCB1c2UgT19CRU5FQVRIIGR1cmluZyBjcmVhdGlvbiBvZiB0aGUKKysJCSAg ICAgZGlyZWN0b3J5LiBUaGUgb25lLXRvcC1sZXZlbCBkaXJlY3RvcnkgaXMKKysJCSAgICAgYWxs b3dlZCB0byBiZSBnaXZlbiBhcyBhbiBhYnNvbHV0ZSBwYXRoLiAgKi8KKysJCSAgb3Blbl9zZWFy Y2hkaXJfaG93LnJlc29sdmUgPSAwOworKwkJICAvKiBBcHBlbmQgYSBkb3QuIG1ha2VfZGlyZWN0 b3JpZXMgY3JlYXRlcworKwkJICAgICBkaXJlY3RvcmllcyB1cCB0byBhbmQgZXhjbHVkaW5nIHRo ZSBsYXN0CisrCQkgICAgIGNvbXBvbmVudCBvZiB0aGUgcGF0aC4gU28sIGluIG9yZGVyIHRvIGNy ZWF0ZQorKwkJICAgICAiYS9iIiwgd2UgbmVlZCB0byBwYXNzICJhL2IvLiIgdG8gaXQuICovCisr CQkgIHsKKysJCSAgICBuYW1lYnVmX3QgbmJ1ZiA9IG5hbWVidWZfY3JlYXRlIChjdXJyLT5uYW1l KTsKKysJCSAgICBuYW1lYnVmX2FkZF9kaXIgKG5idWYsICIuIik7CisrCQkgICAgZGlyX3dpdGhf ZG90ID0gbmFtZWJ1Zl9maW5pc2ggKG5idWYpOworKwkJICB9CisrCQkgIGlmIChtYWtlX2RpcmVj dG9yaWVzIChkaXJfd2l0aF9kb3QsIE5VTEwpID09IDApCisrCQkgICAgLyogRGlyZWN0b3J5IGNy ZWF0ZWQsIHJldHJ5ICovCisrCQkgICAgZmQgPSBvcGVuYXQgKGNoZGlyX2ZkLCBjdXJyLT5uYW1l LAorKwkJCQkgb3Blbl9zZWFyY2hkaXJfaG93LmZsYWdzICYgfk9fTk9GT0xMT1cpOworKwkJICBv cGVuX3NlYXJjaGRpcl9ob3cgPSBzYXZlZF9vcGVuX3NlYXJjaGRpcl9ob3c7CisrCQkgIGZyZWUg KGRpcl93aXRoX2RvdCk7CisrCQkgIC8qIEVpdGhlciB0aGUgY3JlYXRpb24gb3Igb3BlbiBmYWls ZWQgKi8KKysJCSAgaWYgKGZkIDwgMCkKKysJCSAgICBvcGVuX2ZhdGFsIChjdXJyLT5uYW1lKTsK KysJCX0KKysJICAgICAgZWxzZSBpZiAoZXJybm8gPT0gRU5PRU5UICYmIGN1cnItPm9uZV90b3Bf bGV2ZWwpCisrCQl7CisrCQkgIC8qIFdlIGFyZSByZXF1ZXN0ZWQgdG8gbm90IGNyZWF0ZSB0aGUg ZGlyZWN0b3J5IG5vdy4gTWFyayBpdAorKwkJICAgICBhcyB0byBiZSBjcmVhdGVkIGxhdGVyIHdo ZW4gY2FsbGVkIHdpdGggY3JlYXRlID09IHRydWUuICovCisrCQkgIGNoZGlyX2ZkID0gY3Vyci0+ ZmQgPSBCQURGRDsKKysJCSAgY2hkaXJfY3VycmVudCA9IGk7CisrCQkgIC8qIERvIG5vdCBhZGQg aXQgdG8gdGhlIGNhY2hlICovCisrCQkgIHJldHVybjsKKysJCX0KKysJICAgICAgZWxzZQorKwkJ eworKwkJICBvcGVuX2ZhdGFsIChjdXJyLT5uYW1lKTsKKysJCX0KKysJICAgIH0KKyAKKyAJICBj dXJyLT5mZCA9IGZkOworIAorQEAgLTEwNzEsNyArMTE1NSw3IEBAIGNoZGlyX2RvIChpbnQgaSkK KyAJICAgIH0KKyAJfQorIAorLSAgICAgIGlmICgwIDwgZmQpCisrICAgICAgaWYgKDAgPCBmZCAm JiAvKiBubyBhc3N1bXB0aW9uIGFib3V0IHNpZ24gb2YgQkFERkQgKi8gZmQgIT0gQkFERkQpCisg CXsKKyAJICAvKiBNb3ZlIHRoZSBpIHZhbHVlIHRvIHRoZSBmcm9udCBvZiB0aGUgY2FjaGUuICBU aGlzIGlzCisgCSAgICAgTyhDSERJUl9DQUNIRV9TSVpFKSwgYnV0IHRoZSBjYWNoZSBpcyBzbWFs bC4gICovCitAQCAtMTE3NSw2ICsxMjU5LDE0IEBAIGZkYmFzZV9vcGVuZGlyIChjaGFyIGNvbnN0 ICpmaWxlX25hbWUsIGJvb2wgYWx0ZXJuYXRlKQorIHsKKyAgIGNoYXIgY29uc3QgKm5hbWUgPSBm aWxlX25hbWU7CisgCisrICBpZiAoY2hkaXJfZmQgPT0gQkFERkQgJiYgISBJU19BQlNPTFVURV9G SUxFX05BTUUgKGZpbGVfbmFtZSkpCisrICAgIHsKKysgICAgICAvKiBCQURGRCBpcyBhIHNlbnRp bmVsIHZhbHVlIG1lYW5pbmcgdGhhdCB0aGUgY2hkaXIgZGlyZWN0b3J5CisrCSBuZWVkcyB0byBi ZSBjcmVhdGVkIGxhemlseSwgdGhlcmVmb3JlIGlmIHdlIGVuY291bnRlciBpdCwgdGhlCisrCSBk aXJlY3RvcnkgZG9lcyBub3QgZXhpc3QgeWV0LiAqLworKyAgICAgIGVycm5vID0gRU5PRU5UOwor KyAgICAgIHJldHVybiAoc3RydWN0IGZkYmFzZSkgeyAuZmQgPSBjaGRpcl9mZCwgLmJhc2UgPSBu YW1lIH07CisrICAgIH0KKyAgIC8qIFNraXAgcGFzdCBsZWFkaW5nICIuLyJzLAorICAgICAgYnV0 IG5vdCBwYXN0IHRoZSBsYXN0ICIuLyIgaWYgdGhhdCBlbmRzIHRoZSBuYW1lLiAgKi8KKyAgIGlk eF90IGRzbGVuID0gZG90c2xhc2hsZW4gKG5hbWUpOworQEAgLTEyMTksMTMgKzEzMTEsMTMgQEAg ZmRiYXNlX29wZW5kaXIgKGNoYXIgY29uc3QgKmZpbGVfbmFtZSwgYm9vbCBhbHRlcm5hdGUpCisg CSAgaWYgKHN1YmZkIDwgMCkKKyAJICAgIHsKKyAJICAgICAgLyogS2VlcCB0aGUgb2xkIGRpcmVj dG9yeSBjYWNoZWQgYW5kIHJlcG9ydCBvcGVuIGZhaWx1cmUsCistCQkgdW5sZXNzIEVNRklMRSBt ZWFucyBpdCdzIHBvc3NpYmxlIHRoYXQgZmFsbGluZworKwkJIHVubGVzcyBFTUZJTEUvRU5GSUxF IG1lYW5zIGl0J3MgcG9zc2libGUgdGhhdCBmYWxsaW5nCisgCQkgdGhyb3VnaCB0byBjbG9zZSB0 aGUgb2xkIGRpcmVjdG9yeSB3b3VsZCBtZWFuIHdlCisgCQkgY291bGQgc3VjY2Vzc2Z1bGx5IHJl dHJ5IGZyb20gdGhlIGNoZGlyX2ZkIGxldmVsLgorIAkgICAgICAgICBXaGVuIHJlcG9ydGluZyBm YWlsdXJlLCB0aGVyZSBpcyBubyBuZWVkIHRvCisgCSAgICAgICAgIG51bGwtdGVybWluYXRlIHRo ZSBvbGQgZGlyZWN0b3J5LCBzaW5jZSB0aGUgY29kZSBkb2VzCisgCSAgICAgICAgIG5vdCBhc3N1 bWUgbnVsbCB0ZXJtaW5hdGlvbi4gICovCistCSAgICAgIGlmIChlcnJubyAhPSBFTUZJTEUpCisr CSAgICAgIGlmIChlcnJubyAhPSBFTUZJTEUgJiYgZXJybm8gIT0gRU5GSUxFKQorIAkJcmV0dXJu IChzdHJ1Y3QgZmRiYXNlKSB7IC5mZCA9IEJBREZELCAuYmFzZSA9IGJhc2UgfTsKKyAJICAgIH0K KyAJICBlbHNlCitAQCAtMTI3OSw2ICsxMzcxLDI5IEBAIHRhcl9kaXJuYW1lICh2b2lkKQorICAg cmV0dXJuIHdkW2NoZGlyX2N1cnJlbnRdLm5hbWU7CisgfQorIAorKy8qIFJldHVybiBhIG5ld2x5 IGFsbG9jYXRlZCBzdHJpbmcgdGhhdCBzaG93cyBOQU1FIGZyb20gdGhlIHVzZXIncworKyAgIHZp ZXdwb2ludCwgZ2l2ZW4gdGhhdCAtLW9uZS10b3AtbGV2ZWwgbWF5IGJlIGluIGVmZmVjdC4gICov CisrY2hhciAqCisrdHJhbnNmb3JtX3RvcF9sZXZlbCAoY29uc3QgY2hhciAqbmFtZSkKKyt7Cisr ICBpZiAod2RbY2hkaXJfY3VycmVudF0ub25lX3RvcF9sZXZlbCkKKysgICAgeworKyAgICAgIGlm IChzdHJjbXAgKG5hbWUsICIuIikgPT0gMCkKKysJeworKwkgIC8qIG5vdGhpbmcgdG8gYXBwZW5k IC0gLi4uLy4gaXMgdGhlIHNhbWUgYXMgLi4uICovCisrCSAgcmV0dXJuIHhzdHJkdXAgKHdkW2No ZGlyX2N1cnJlbnRdLm5hbWUpOworKwl9CisrICAgICAgZWxzZQorKwl7CisrCSAgbmFtZWJ1Zl90 IG5idWYgPSBuYW1lYnVmX2NyZWF0ZSAod2RbY2hkaXJfY3VycmVudF0ubmFtZSk7CisrCSAgbmFt ZWJ1Zl9hZGRfZGlyIChuYnVmLCBuYW1lKTsKKysJICByZXR1cm4gbmFtZWJ1Zl9maW5pc2ggKG5i dWYpOworKwl9CisrICAgIH0KKysgIGVsc2UKKysgICAgcmV0dXJuIHhzdHJkdXAgKG5hbWUpOwor K30KKysKKyAvKiBSZXR1cm4gdGhlIGFic29sdXRlIHBhdGggdGhhdCByZXByZXNlbnRzIHRoZSB3 b3JraW5nCisgICAgZGlyZWN0b3J5IHJlZmVyZW5jZWQgYnkgSURYLgorIAorQEAgLTEzMDcsMTIg KzE0MjIsMTMgQEAgdGFyX2dldGNkcGF0aCAoaW50IGlkeCkKKyAgICAgICBpbnQgc2F2ZV9jd2Rp ID0gY2hkaXJfY3VycmVudDsKKyAKKyAgICAgICBmb3IgKGkgPSBpZHg7IGkgPj0gMDsgaS0tKQor LQlpZiAod2RbaV0uYWJzcGF0aCkKKysJaWYgKHdkW2ldLmFic3BhdGggJiYgIXdkW2ldLm9uZV90 b3BfbGV2ZWwpCisgCSAgYnJlYWs7CisgCisgICAgICAgd2hpbGUgKCsraSA8PSBpZHgpCisgCXsK Ky0JICBjaGRpcl9kbyAoaSk7CisrCSAgaWYgKCF3ZFtpXS5vbmVfdG9wX2xldmVsKQorKwkgICAg Y2hkaXJfZG8gKGksIGZhbHNlKTsKKyAJICBpZiAoaSA9PSAwKQorIAkgICAgeworIAkgICAgICBp ZiAoKHdkW2ldLmFic3BhdGggPSB4Z2V0Y3dkICgpKSA9PSBOVUxMKQorQEAgLTEzMjUsMTMgKzE0 NDEsMTggQEAgdGFyX2dldGNkcGF0aCAoaW50IGlkeCkKKyAJICAgIHdkW2ldLmFic3BhdGggPSB4 c3RyZHVwICh3ZFtpXS5uYW1lKTsKKyAJICBlbHNlCisgCSAgICB7CistCSAgICAgIG5hbWVidWZf dCBuYnVmID0gbmFtZWJ1Zl9jcmVhdGUgKHdkW2kgLSAxXS5hYnNwYXRoKTsKKysJICAgICAgaW50 IGogPSBpIC0gMTsKKysJICAgICAgaWYgKHdkW2pdLm9uZV90b3BfbGV2ZWwpCisrCQl7CisrCQkg IGotLTsKKysJCSAgYXNzZXJ0ICghIHdkW2pdLm9uZV90b3BfbGV2ZWwpOworKwkJfQorKwkgICAg ICBuYW1lYnVmX3QgbmJ1ZiA9IG5hbWVidWZfY3JlYXRlICh3ZFtqXS5hYnNwYXRoKTsKKyAJICAg ICAgbmFtZWJ1Zl9hZGRfZGlyIChuYnVmLCB3ZFtpXS5uYW1lKTsKKyAJICAgICAgd2RbaV0uYWJz cGF0aCA9IG5hbWVidWZfZmluaXNoIChuYnVmKTsKKyAJICAgIH0KKyAJfQorLQorLSAgICAgIGNo ZGlyX2RvIChzYXZlX2N3ZGkpOworKyAgICAgIGNoZGlyX2RvIChzYXZlX2N3ZGksIGZhbHNlKTsK KyAgICAgfQorIAorICAgcmV0dXJuIHdkW2lkeF0uYWJzcGF0aDsKK2RpZmYgLS1naXQgYS9zcmMv bmFtZXMuYyBiL3NyYy9uYW1lcy5jCitpbmRleCA0MDMxOTJiZS4uNTZjZWU2M2MgMTAwNjQ0Cist LS0gYS9zcmMvbmFtZXMuYworKysrIGIvc3JjL25hbWVzLmMKK0BAIC04NjcsNiArODY3LDcgQEAg bmFtZV9pbml0ICh2b2lkKQorIHsKKyAgIG5hbWVfYnVmZmVyID0geG1hbGxvYyAoTkFNRV9GSUVM RF9TSVpFICsgMik7CisgICBuYW1lX2J1ZmZlcl9sZW5ndGggPSBOQU1FX0ZJRUxEX1NJWkU7Cisr ICBjaGRpcl9kbyAoY2hkaXJfYXJnICgiLiIsICEhb25lX3RvcF9sZXZlbF9kaXIpLCBmYWxzZSk7 CisgICBuYW1lX2xpc3RfYWRqdXN0ICgpOworIH0KKyAKK0BAIC0xMTE5LDcgKzExMjAsOCBAQCBu YW1lX25leHRfZWx0IChpbnQgY2hhbmdlX2RpcnMpCisgCWNhc2UgTkVMVF9DSERJUjoKKyAJICBp ZiAoY2hhbmdlX2RpcnMpCisgCSAgICB7CistCSAgICAgIGNoZGlyX2RvIChjaGRpcl9hcmcgKHhz dHJkdXAgKGVwLT52Lm5hbWUpKSk7CisrCSAgICAgIGNoZGlyX2RvIChjaGRpcl9hcmcgKHhzdHJk dXAgKGVwLT52Lm5hbWUpLCAhIW9uZV90b3BfbGV2ZWxfZGlyKSwKKysJCQlmYWxzZSk7CisgCSAg ICAgIG5hbWVfbGlzdF9hZHZhbmNlICgpOworIAkgICAgICBicmVhazsKKyAJICAgIH0KK0BAIC0x MTgyLDcgKzExODQsNyBAQCBuYW1lX2dhdGhlciAodm9pZCkKKyAgICAgICBzdGF0aWMgaW50IGNo YW5nZV9kaXI7CisgCisgICAgICAgd2hpbGUgKChlcCA9IG5hbWVfbmV4dF9lbHQgKDApKSAmJiBl cC0+dHlwZSA9PSBORUxUX0NIRElSKQorLQljaGFuZ2VfZGlyID0gY2hkaXJfYXJnICh4c3RyZHVw IChlcC0+di5uYW1lKSk7CisrCWNoYW5nZV9kaXIgPSBjaGRpcl9hcmcgKHhzdHJkdXAgKGVwLT52 Lm5hbWUpLCAhIW9uZV90b3BfbGV2ZWxfZGlyKTsKKyAKKyAgICAgICBpZiAoZXApCisgCXsKK0BA IC0xMjExLDcgKzEyMTMsNyBAQCBuYW1lX2dhdGhlciAodm9pZCkKKyAJeworIAkgIGludCBjaGFu Z2VfZGlyMCA9IGNoYW5nZV9kaXI7CisgCSAgd2hpbGUgKChlcCA9IG5hbWVfbmV4dF9lbHQgKDAp KSAmJiBlcC0+dHlwZSA9PSBORUxUX0NIRElSKQorLQkgICAgY2hhbmdlX2RpciA9IGNoZGlyX2Fy ZyAoeHN0cmR1cCAoZXAtPnYubmFtZSkpOworKwkgICAgY2hhbmdlX2RpciA9IGNoZGlyX2FyZyAo eHN0cmR1cCAoZXAtPnYubmFtZSksICEhb25lX3RvcF9sZXZlbF9kaXIpOworIAorIAkgIGlmIChl cCkKKyAJICAgIGFkZG5hbWUgKGVwLT52Lm5hbWUsIGNoYW5nZV9kaXIsIHRydWUsIE5VTEwpOwor QEAgLTEzMjYsNyArMTMyOCw3IEBAIG5hbWVfbWF0Y2ggKGNvbnN0IGNoYXIgKmZpbGVfbmFtZSkK KyAKKyAgICAgICBpZiAoY3Vyc29yLT5uYW1lWzBdID09IDApCisgCXsKKy0JICBjaGRpcl9kbyAo Y3Vyc29yLT5jaGFuZ2VfZGlyKTsKKysJICBjaGRpcl9kbyAoY3Vyc29yLT5jaGFuZ2VfZGlyLCBm YWxzZSk7CisgCSAgbmFtZWxpc3QgPSBOVUxMOworIAkgIG5hbWV0YWlsID0gTlVMTDsKKyAJICBy ZXR1cm4gdHJ1ZTsKK0BAIC0xMzQ4LDcgKzEzNTAsNyBAQCBuYW1lX21hdGNoIChjb25zdCBjaGFy ICpmaWxlX25hbWUpCisgCSAgaWYgKCEoSVNTTEFTSCAoZmlsZV9uYW1lW2N1cnNvci0+bGVuZ3Ro XSkgJiYgcmVjdXJzaW9uX29wdGlvbikKKyAJICAgICAgfHwgY3Vyc29yLT5mb3VuZF9jb3VudCA9 PSAwKQorIAkgICAgY3Vyc29yLT5mb3VuZF9jb3VudCsrOyAvKiByZW1lbWJlciBpdCBtYXRjaGVk ICovCistCSAgY2hkaXJfZG8gKGN1cnNvci0+Y2hhbmdlX2Rpcik7CisrCSAgY2hkaXJfZG8gKGN1 cnNvci0+Y2hhbmdlX2RpciwgZmFsc2UpOworIAkgIC8qIFdlIGdvdCBhIG1hdGNoLiAgKi8KKyAJ ICByZXR1cm4gSVNGT1VORCAoY3Vyc29yKTsKKyAJfQorQEAgLTE3NzgsNyArMTc4MCw3IEBAIGNv bGxlY3RfYW5kX3NvcnRfbmFtZXMgKHZvaWQpCisgICAgICAgaWYgKG5hbWUtPmZvdW5kX2NvdW50 IHx8IG5hbWUtPmRpcmVjdG9yeSkKKyAJY29udGludWU7CisgCistICAgICAgY2hkaXJfZG8gKG5h bWUtPmNoYW5nZV9kaXIpOworKyAgICAgIGNoZGlyX2RvIChuYW1lLT5jaGFuZ2VfZGlyLCBmYWxz ZSk7CisgCisgICAgICAgaWYgKG5hbWUtPm5hbWVbMF0gPT0gMCkKKyAJY29udGludWU7CitAQCAt MTkyNCw3ICsxOTI2LDcgQEAgbmFtZV9mcm9tX2xpc3QgKHZvaWQpCisgICAgIHsKKyAgICAgICBp ZiAoIWdudV9saXN0X25hbWUtPmlzX3dpbGRjYXJkKQorIAlnbnVfbGlzdF9uYW1lLT5mb3VuZF9j b3VudCsrOworLSAgICAgIGNoZGlyX2RvIChnbnVfbGlzdF9uYW1lLT5jaGFuZ2VfZGlyKTsKKysg ICAgICBjaGRpcl9kbyAoZ251X2xpc3RfbmFtZS0+Y2hhbmdlX2RpciwgZmFsc2UpOworICAgICAg IHJldHVybiBnbnVfbGlzdF9uYW1lOworICAgICB9CisgICByZXR1cm4gTlVMTDsKK2RpZmYgLS1n aXQgYS9zcmMvdGFyLmMgYi9zcmMvdGFyLmMKK2luZGV4IDlhNWZiZDBiLi41NmM5ZWQyYSAxMDA2 NDQKKy0tLSBhL3NyYy90YXIuYworKysrIGIvc3JjL3Rhci5jCitAQCAtMTU3Miw3ICsxNTcyLDYg QEAgcGFyc2Vfb3B0IChpbnQga2V5LCBjaGFyICphcmcsIHN0cnVjdCBhcmdwX3N0YXRlICpzdGF0 ZSkKKyAKKyAgICAgY2FzZSBPTkVfVE9QX0xFVkVMX09QVElPTjoKKyAgICAgICBvcHRsb2Nfc2F2 ZSAoT0NfT05FX1RPUF9MRVZFTCwgYXJncy0+bG9jKTsKKy0gICAgICBvbmVfdG9wX2xldmVsX29w dGlvbiA9IHRydWU7CisgICAgICAgb25lX3RvcF9sZXZlbF9kaXIgPSBhcmc7CisgICAgICAgYnJl YWs7CisgCitAQCAtMjU3Niw5ICsyNTc1LDExIEBAIGRlY29kZV9vcHRpb25zIChpbnQgYXJnYywg Y2hhciAqKmFyZ3YpCisgCXNhbWVfb3JkZXJfb3B0aW9uID0gZmFsc2U7CisgICAgIH0KKyAKKy0g IGlmIChvbmVfdG9wX2xldmVsX29wdGlvbikKKysgIGlmIChvcHRsb2NfbG9va3VwIChPQ19PTkVf VE9QX0xFVkVMKSkKKyAgICAgeworLSAgICAgIGNoYXIgKmJhc2U7CisrICAgICAgaWYgKCFJU19T VUJDT01NQU5EX0NMQVNTIChTVUJDTF9SRUFEKSkKKysJb3B0aW9uX2NvbmZsaWN0X2Vycm9yICgi LS1vbmUtdG9wLWxldmVsIiwKKysJCQkgICAgICAgc3ViY29tbWFuZF9zdHJpbmcgKHN1YmNvbW1h bmRfb3B0aW9uKSk7CisgCisgICAgICAgaWYgKGFic29sdXRlX25hbWVzX29wdGlvbikKKyAJewor QEAgLTI1ODksMTcgKzI1OTAsMTggQEAgZGVjb2RlX29wdGlvbnMgKGludCBhcmdjLCBjaGFyICoq YXJndikKKyAKKyAJICBpZiAob3B0bG9jX2VxIChvbmVfdG9wX2xldmVsX2xvYywgYWJzb2x1dGVf bmFtZXNfbG9jKSkKKyAJICAgIG9wdGlvbl9jb25mbGljdF9lcnJvciAoIi0tb25lLXRvcC1sZXZl bCIsICItLWFic29sdXRlLW5hbWVzIik7CistCSAgZWxzZSBpZiAob25lX3RvcF9sZXZlbF9sb2Mt PnNvdXJjZSA9PSBPUFRTX0NPTU1BTkRfTElORSkKKysJICBpZiAob25lX3RvcF9sZXZlbF9sb2Mt PnNvdXJjZSA9PSBPUFRTX0NPTU1BTkRfTElORSkKKyAJICAgIGFic29sdXRlX25hbWVzX29wdGlv biA9IGZhbHNlOworIAkgIGVsc2UKKy0JICAgIG9uZV90b3BfbGV2ZWxfb3B0aW9uID0gZmFsc2U7 CisrCSAgICBvbmVfdG9wX2xldmVsX2RpciA9IE5VTEw7CisgCX0KKyAKKy0gICAgICBpZiAoIW9u ZV90b3BfbGV2ZWxfZGlyICYmIG9uZV90b3BfbGV2ZWxfb3B0aW9uKQorKyAgICAgIGlmICghYWJz b2x1dGVfbmFtZXNfb3B0aW9uICYmICFvbmVfdG9wX2xldmVsX2RpcikKKyAJeworLQkgIC8qIElm IHRoZSB1c2VyIHdhbnRzIHRvIGd1YXJhbnRlZSB0aGF0IGV2ZXJ5dGhpbmcgaXMgdW5kZXIgb25l CistCSAgICAgZGlyZWN0b3J5LCBkZXRlcm1pbmUgaXRzIG5hbWUgbm93IGFuZCBsZXQgaXQgYmUg Y3JlYXRlZCBsYXRlci4gICovCistCSAgYmFzZSA9IGJhc2VfbmFtZSAoYXJjaGl2ZV9uYW1lX2Fy cmF5WzBdKTsKKysJICAvKiBEZXRlcm1pbmUgbmFtZSBub3c7IHRoZSBkaXJlY3RvcnkgKG9yIGRp cmVjdG9yaWVzLCBpZiAtQworKwkgICAgIG1lYW5zIHRoZXJlIGFyZSBtdWx0aXBsZSB0b3AtbGV2 ZWwgZGlyZWN0b3JpZXMpIGFyZQorKwkgICAgIGNyZWF0ZWQgbGF0ZXIgaWYgbmVlZGVkLiAgKi8K KysJICBjaGFyICpiYXNlID0gYmFzZV9uYW1lIChhcmNoaXZlX25hbWVfYXJyYXlbMF0pOworIAkg IG9uZV90b3BfbGV2ZWxfZGlyID0gc3RyaXBfY29tcHJlc3Npb25fc3VmZml4IChiYXNlKTsKKyAJ ICBmcmVlIChiYXNlKTsKKyAKK0BAIC0yNjA5LDkgKzI2MTEsNyBAQCBkZWNvZGVfb3B0aW9ucyAo aW50IGFyZ2MsIGNoYXIgKiphcmd2KQorIAkJCSAgICAicGxlYXNlIHNldCBpdCBleHBsaWNpdGx5 IHdpdGggLS1vbmUtdG9wLWxldmVsPURJUiIpKSk7CisgCX0KKyAKKy0gICAgICBpZiAob25lX3Rv cF9sZXZlbF9kaXIgJiYgIUlTX1JFTEFUSVZFX0ZJTEVfTkFNRSAob25lX3RvcF9sZXZlbF9kaXIp KQorLQlVU0FHRV9FUlJPUiAoKDAsIDAsCistCQkgICAgIF8oIi0tb25lLXRvcC1sZXZlbD1ESVIg bXVzdCB1c2UgYSByZWxhdGl2ZSBmaWxlIG5hbWUiKSkpOworKyAgICAgIG5vcm1hbGl6ZV9maWxl bmFtZV94IChvbmVfdG9wX2xldmVsX2Rpcik7CisgICAgIH0KKyAKKyAgIC8qIElmIHJlYWR5IHRv IHVubGluayBoaWVyYXJjaGllcywgc28gd2UgYXJlIGZvciBzaW1wbGVyIGZpbGVzLiAgKi8KK2Rp ZmYgLS1naXQgYS9zcmMvdW5saW5rLmMgYi9zcmMvdW5saW5rLmMKK2luZGV4IDMzZDJjY2QxLi5l MTk5YmFiMyAxMDA2NDQKKy0tLSBhL3NyYy91bmxpbmsuYworKysrIGIvc3JjL3VubGluay5jCitA QCAtMTAzLDcgKzEwMyw3IEBAIGZsdXNoX2RlZmVycmVkX3VubGlua3MgKGJvb2wgZm9yY2UpCisg ICAgICAgaWYgKGZvcmNlCisgCSAgfHwgcmVjb3Jkc193cml0dGVuID4gcC0+cmVjb3Jkc193cml0 dGVuICsgZGVmZXJyZWRfdW5saW5rX2RlbGF5KQorIAl7CistCSAgY2hkaXJfZG8gKHAtPmRpcl9p ZHgpOworKwkgIGNoZGlyX2RvIChwLT5kaXJfaWR4LCBmYWxzZSk7CisgCSAgaWYgKHAtPmlzX2Rp cikKKyAJICAgIHsKKyAJICAgICAgY29uc3QgY2hhciAqZm5hbWU7CitAQCAtMTc1LDExICsxNzUs MTEgQEAgZmx1c2hfZGVmZXJyZWRfdW5saW5rcyAoYm9vbCBmb3JjZSkKKyAJICBzdHJ1Y3QgZGVm ZXJyZWRfdW5saW5rICpuZXh0ID0gcC0+bmV4dDsKKyAJICBjb25zdCBjaGFyICpmbmFtZTsKKyAK Ky0JICBjaGRpcl9kbyAocC0+ZGlyX2lkeCk7CisrCSAgY2hkaXJfZG8gKHAtPmRpcl9pZHgsIGZh bHNlKTsKKyAJICBpZiAocC0+ZGlyX2lkeCAmJiBJU19DV0QgKHApKQorIAkgICAgeworIAkgICAg ICBmbmFtZSA9IHRhcl9kaXJuYW1lICgpOworLQkgICAgICBjaGRpcl9kbyAocC0+ZGlyX2lkeCAt IDEpOworKwkgICAgICBjaGRpcl9kbyAocC0+ZGlyX2lkeCAtIDEsIGZhbHNlKTsKKyAJICAgIH0K KyAJICBlbHNlCisgCSAgICBmbmFtZSA9IHAtPmZpbGVfbmFtZTsKK0BAIC0xOTUsOSArMTk1LDkg QEAgZmx1c2hfZGVmZXJyZWRfdW5saW5rcyAoYm9vbCBmb3JjZSkKKyAJICBwID0gbmV4dDsKKyAJ fQorICAgICAgIGR1bmxpbmtfaGVhZCA9IGR1bmxpbmtfdGFpbCA9IE5VTEw7CistICAgIH0JICAK Ky0JICAgIAorLSAgY2hkaXJfZG8gKHNhdmVkX2NoZGlyKTsKKysgICAgfQorKworKyAgY2hkaXJf ZG8gKHNhdmVkX2NoZGlyLCBmYWxzZSk7CisgfQorIAorIHZvaWQKK2RpZmYgLS1naXQgYS9zcmMv dXBkYXRlLmMgYi9zcmMvdXBkYXRlLmMKK2luZGV4IDJiYzM4MjA3Li4yNDE2Nzc3OCAxMDA2NDQK Ky0tLSBhL3NyYy91cGRhdGUuYworKysrIGIvc3JjL3VwZGF0ZS5jCitAQCAtMTQxLDcgKzE0MSw3 IEBAIHVwZGF0ZV9hcmNoaXZlICh2b2lkKQorIAkgICAgICB7CisgCQlzdHJ1Y3Qgc3RhdCBzOwor IAorLQkJY2hkaXJfZG8gKG5hbWUtPmNoYW5nZV9kaXIpOworKwkJY2hkaXJfZG8gKG5hbWUtPmNo YW5nZV9kaXIsIGZhbHNlKTsKKyAJCWlmIChkZXJlZl9zdGF0IChjdXJyZW50X3N0YXRfaW5mby5m aWxlX25hbWUsICZzKSA9PSAwKQorIAkJICB7CisgCQkgICAgaWYgKFNfSVNESVIgKHMuc3RfbW9k ZSkpCgpkaWZmIC0tZ2l0IGEvdGFyLnNwZWMgYi90YXIuc3BlYwppbmRleCAwMWYzMzQ5Li4yZTZi M2E1IDEwMDY0NAotLS0gYS90YXIuc3BlYworKysgYi90YXIuc3BlYwpAQCAtNTgsNiArNTgsNyBA QCBQYXRjaDIyOiB0YXItMS4zNS1uby1vdmVyd3JpdGUtZGlyLW5vLW92ZXJ3cml0ZS1ldmVuLXRl bXBvcmFyaWx5LnBhdGNoCiAjIGQxYWViNzM4ODkyNmUwNDViZGVjMGY3OTM0YzU1MjJjNDc0NWYw MmMKICMgNDViNmU2ODk4ZDFmOTMxYmZjYTQxZDk2MTI4OWJkNmFjMzMyMzhlNQogUGF0Y2gyMzog dGFyLTEuMzUtQ1ZFLTIwMjUtNDU1ODIucGF0Y2gKKyMgbWVyZWx5IGEgcHJlcGFyYXRpb24gdG8g YXBwbHkgUGF0Y2gyNywgdGhlIGNoYW5nZSBpcyBvYnNvbGV0ZWQgYnkgaXQKIFBhdGNoMjQ6IHRh ci0xLjM1LXRhci1vbmUtdG9wLWxldmVsLURJUi1tdXN0LWJlLXJlbGF0aXZlLnBhdGNoCiAjIFNv dXJjZTogaHR0cHM6Ly9jZ2l0LmdpdC5zYXZhbm5haC5nbnUub3JnL2NnaXQvdGFyLmdpdC9jb21t aXQvP2lkPTA4YzNmYzJlOTMzNzA5NGFmZjAxYTUxMTE3MGZkMzVmZGI4ZjFlZTMKICMgRml4ZXMg YnVpbGQgd2l0aCBhY2wgMi40LjAKQEAgLTY4LDYgKzY5LDE5IEBAIFBhdGNoMjU6IHRhci0xLjM1 LUF2b2lkLWFjbF8tcHJlZml4LWZvci1mdW5jdGlvbnMucGF0Y2gKICMgNjc5ODFiYmIxNTg3ODAz YmIxZTAyOTM5M2QyMjI4NDkyY2VmOGM0ZgogIyAxOWEzYTczZThjNDhiZDNjNTljYmVhOWI1ZWQ2 NzgwZmM2ODM2YzZkCiBQYXRjaDI2OiB0YXItMS4zNS1DVkUtMjAyNi01NzA0LnBhdGNoCisjVXBz dHJlYW0gY29tbWl0cworIyBiZmMzMzQ2Mzk0MjA2MDMxNmY3MGYyNzU0NzFlZDIwMmIwMDc2OTcy CisjIGI0ZmM5Y2ExMzYxNzQxMWM1ZGI1NzI4NmEzZmY1MzRiZDQwYWNkYzEKKyMgNjdjOGRmZjY5 NjhhYWU1OGZjZGZiMDUyNjhlYjFiNGMwNzMwOGYxYQorIyA1NWU4MjMzNDM4YjNjMTMyOTQxMDlk ZjUwMmE5YjIyMGE5YTNmNGY1CisjIDA0NzBjMTA5YzA4ZjQ2NmQ4MzMyYmEzMzI2MDcwNTU0YjRk ODFhYTEKKyMgMWI5MWY1ZjY2ZjhlNmM0OTBlZWYwZmRlZTUwZjY1MmNmZTE1NTg0NAorIyAzMjVi ODk5MjE0YWMxMzUxOTE1MzMxOGU2NmM4ODlhMzFjMTUzNDJkCisjIDE5ODBlMDMyYWZlNjBjNWZl MGU1ZGY1NzM0NTc4ODVlY2U0ZTY5ZDUKKyMgZTMzNWUyYzhiMTAyZjgzYjYzZmZkMzczZjBiODg0 MDFkYTNlYmU2YworIyBwYXJ0IG9mIDk0MWY2MmIyCisjIEFsc28gImJ5IHRoZSB3YXkiIGZpeGVz IENWRS0yMDI2LTE4NTA4LgorUGF0Y2gyNzogdGFyLTEuMzUtZml4LWFic29sdXRlLW9uZS10b3At bGV2ZWwucGF0Y2gKIAogQnVpbGRSZXF1aXJlczogYXV0b2NvbmYKIEJ1aWxkUmVxdWlyZXM6IGF1 dG9tYWtlCg==