From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: util-linux-owner@vger.kernel.org Received: from out1-smtp.messagingengine.com ([66.111.4.25]:43014 "EHLO out1-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965553Ab3E2SX7 (ORCPT ); Wed, 29 May 2013 14:23:59 -0400 Received: from compute5.internal (compute5.nyi.mail.srv.osa [10.202.2.45]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id CCAC1209AB for ; Wed, 29 May 2013 14:23:53 -0400 (EDT) Message-Id: <1369851833.16416.140661237259173.1F6E43AA@webmail.messagingengine.com> From: Benno Schulenberg To: "Util-Linux" MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="_----------=_1369851833164160"; charset="utf-8" Subject: [patches] small textual fixes and comment tweaks Date: Wed, 29 May 2013 20:23:53 +0200 Sender: util-linux-owner@vger.kernel.org List-ID: This is a multi-part message in MIME format. --_----------=_1369851833164160 Content-Transfer-Encoding: 7bit Content-Type: text/plain Hi, The first patch standardizes the usage message of 'login' to the use of angular brackets, the second standardizes the spelling of "super-user" to the more common "superuser", the third makes a minor tweak, and in the fourth patch I got carried away and reviewed all the comments in login.c -- if this is too much, I can redo the patch to contain just the grammar and typo fixes ("accout", "reinilizalize", ...). Regards, Benno -- http://www.fastmail.fm - Accessible with your email software or over the web --_----------=_1369851833164160 Content-Disposition: attachment; filename="0001-textual-standardize-synopsis-for-login-and-improve-a.patch" Content-Id: <1369851760.16238.e24e3a9337d088818cde50084713bcdcc199e224.7239F61E@messagingengine.com> Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0001-textual-standardize-synopsis-for-login-and-improve-a.patch" RnJvbSBkMmYxYTY4ZDRlMjZiMWNiMzQxOTYwZTZmNDQ0YmJiNmYyNzA5ODg4 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBCZW5ubyBTY2h1bGVu YmVyZyA8YmVuc2JlcmdAanVzdGVtYWlsLm5ldD4KRGF0ZTogV2VkLCAyOSBN YXkgMjAxMyAxOTo0NjoyMyArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMS80XSB0 ZXh0dWFsOiBzdGFuZGFyZGl6ZSBzeW5vcHNpcyBmb3IgbG9naW4sIGFuZCBp bXByb3ZlIGFuIGVycm9yIG1lc3NhZ2UKClNpZ25lZC1vZmYtYnk6IEJlbm5v IFNjaHVsZW5iZXJnIDxiZW5zYmVyZ0BqdXN0ZW1haWwubmV0PgotLS0KIGxv Z2luLXV0aWxzL2xvZ2luLmMgfCAgICA0ICsrLS0KIDEgZmlsZXMgY2hhbmdl ZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2xvZ2luLXV0aWxzL2xvZ2luLmMgYi9sb2dpbi11dGlscy9sb2dpbi5j CmluZGV4IDQ0MmFkNDAuLjM3ZGM5ZDAgMTAwNjQ0Ci0tLSBhL2xvZ2luLXV0 aWxzL2xvZ2luLmMKKysrIGIvbG9naW4tdXRpbHMvbG9naW4uYwpAQCAtMTI3 Nyw3ICsxMjc3LDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2 KQogCQljYXNlICdoJzoKIAkJCWlmIChnZXR1aWQoKSkgewogCQkJCWZwcmlu dGYoc3RkZXJyLAotCQkJCQlfKCJsb2dpbjogLWggZm9yIHN1cGVyLXVzZXIg b25seS5cbiIpKTsKKwkJCQkJXygibG9naW46IC1oIGlzIGZvciBzdXBlcnVz ZXIgb25seVxuIikpOwogCQkJCWV4aXQoRVhJVF9GQUlMVVJFKTsKIAkJCX0K IAkJCWluaXRfcmVtb3RlX2luZm8oJmN4dCwgb3B0YXJnKTsKQEAgLTEyOTIs NyArMTI5Miw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikK IAkJCXJldHVybiBFWElUX1NVQ0NFU1M7CiAJCWNhc2UgJz8nOgogCQlkZWZh dWx0OgotCQkJZnByaW50ZihzdGRlcnIsIF8oInVzYWdlOiBsb2dpbiBbIC1w IF0gWyAtaCBob3N0IF0gWyAtSCBdIFsgLWYgdXNlcm5hbWUgfCB1c2VybmFt ZSBdXG4iKSk7CisJCQlmcHJpbnRmKHN0ZGVyciwgXygiVXNhZ2U6IGxvZ2lu IFstcF0gWy1oIDxob3N0Pl0gWy1IXSBbWy1mXSA8dXNlcm5hbWU+XVxuIikp OwogCQkJZXhpdChFWElUX0ZBSUxVUkUpOwogCQl9CiAJYXJnYyAtPSBvcHRp bmQ7Ci0tIAoxLjcuMC40Cgo= --_----------=_1369851833164160 Content-Disposition: attachment; filename="0002-textual-standardize-the-spelling-of-superuser.patch" Content-Id: <1369851770.16256.0f931bba4ff1916a821b18cf133c52fe52934b31.7311F1C0@messagingengine.com> Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0002-textual-standardize-the-spelling-of-superuser.patch" RnJvbSBjMzRiNWJhOWZhNmNhMTZhOTlmY2Q0NjkyNmRiZjkwOTVlMTYzZDZl IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBCZW5ubyBTY2h1bGVu YmVyZyA8YmVuc2JlcmdAanVzdGVtYWlsLm5ldD4KRGF0ZTogV2VkLCAyOSBN YXkgMjAxMyAxOTo0Nzo0OCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMi80XSB0 ZXh0dWFsOiBzdGFuZGFyZGl6ZSB0aGUgc3BlbGxpbmcgb2YgInN1cGVydXNl ciIKClNpZ25lZC1vZmYtYnk6IEJlbm5vIFNjaHVsZW5iZXJnIDxiZW5zYmVy Z0BqdXN0ZW1haWwubmV0PgotLS0KIGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5j IHwgICAgMiArLQogc3lzLXV0aWxzL3JlbmljZS4xICAgICAgfCAgICA2ICsr Ky0tLQogdGVybS11dGlscy93YWxsLjEgICAgICAgfCAgICAyICstCiB0ZXJt LXV0aWxzL3dyaXRlLjEgICAgICB8ICAgIDIgKy0KIDQgZmlsZXMgY2hhbmdl ZCwgNiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2xvZ2luLXV0aWxzL3N1LWNvbW1vbi5jIGIvbG9naW4tdXRpbHMvc3Ut Y29tbW9uLmMKaW5kZXggYTQxZDAxNS4uZWUzNDA1MyAxMDA2NDQKLS0tIGEv bG9naW4tdXRpbHMvc3UtY29tbW9uLmMKKysrIGIvbG9naW4tdXRpbHMvc3Ut Y29tbW9uLmMKQEAgLTQ5OSw3ICs0OTksNyBAQCBtb2RpZnlfZW52aXJvbm1l bnQgKGNvbnN0IHN0cnVjdCBwYXNzd2QgKnB3LCBjb25zdCBjaGFyICpzaGVs bCkKICAgICB9CiAgIGVsc2UKICAgICB7Ci0gICAgICAvKiBTZXQgSE9NRSwg U0hFTEwsIGFuZCBpZiBub3QgYmVjb21pbmcgYSBzdXBlci11c2VyLAorICAg ICAgLyogU2V0IEhPTUUsIFNIRUxMLCBhbmQgKGlmIG5vdCBiZWNvbWluZyBh IHN1cGVydXNlcikKIAkgVVNFUiBhbmQgTE9HTkFNRS4gICovCiAgICAgICBp ZiAoY2hhbmdlX2Vudmlyb25tZW50KQogICAgICAgICB7CmRpZmYgLS1naXQg YS9zeXMtdXRpbHMvcmVuaWNlLjEgYi9zeXMtdXRpbHMvcmVuaWNlLjEKaW5k ZXggNzA1MTM4Yy4uZjkwZWJlMiAxMDA2NDQKLS0tIGEvc3lzLXV0aWxzL3Jl bmljZS4xCisrKyBiL3N5cy11dGlscy9yZW5pY2UuMQpAQCAtODMsMTIgKzgz LDEyIEBAIFBJRHMgOTg3IGFuZCAzMiwgcGx1cyBhbGwgcHJvY2Vzc2VzIG93 bmVkIGJ5IHRoZSB1c2VycyBkYWVtb24gYW5kIHJvb3Q6CiAuVFAKIC5CICIg ICAgICAgcmVuaWNlIiArMSA5ODcgLXUgZGFlbW9uIHJvb3QgLXAgMzIKIC5T SCBOT1RFUwotVXNlcnMgb3RoZXIgdGhhbiB0aGUgc3VwZXItdXNlciBtYXkg b25seSBhbHRlciB0aGUgcHJpb3JpdHkgb2YgcHJvY2Vzc2VzIHRoZXkKK1Vz ZXJzIG90aGVyIHRoYW4gdGhlIHN1cGVydXNlciBtYXkgb25seSBhbHRlciB0 aGUgcHJpb3JpdHkgb2YgcHJvY2Vzc2VzIHRoZXkKIG93biwgYW5kIGNhbiBv bmx5IG1vbm90b25pY2FsbHkgaW5jcmVhc2UgdGhlaXIgYGBuaWNlIHZhbHVl JycgKGZvciBzZWN1cml0eQogcmVhc29ucykgd2l0aGluIHRoZSByYW5nZSAw IHRvCiAuQlIgUFJJT19NQVggXCAoMjApLAogdW5sZXNzIGEgbmljZSByZXNv dXJjZSBsaW1pdCBpcyBzZXQgKExpbnV4IDIuNi4xMiBhbmQgaGlnaGVyKS4g IFRoZQotc3VwZXItdXNlciBtYXkgYWx0ZXIgdGhlIHByaW9yaXR5IG9mIGFu eSBwcm9jZXNzIGFuZCBzZXQgdGhlIHByaW9yaXR5IHRvIGFueQorc3VwZXJ1 c2VyIG1heSBhbHRlciB0aGUgcHJpb3JpdHkgb2YgYW55IHByb2Nlc3MgYW5k IHNldCB0aGUgcHJpb3JpdHkgdG8gYW55CiB2YWx1ZSBpbiB0aGUgcmFuZ2UK IC5CUiBQUklPX01JTiBcIChcLTIwKQogdG8KQEAgLTEwNCw3ICsxMDQsNyBA QCB0byBtYXAgdXNlciBuYW1lcyB0byB1c2VyIElEcwogLkJSIGdldHByaW9y aXR5ICgyKSwKIC5CUiBzZXRwcmlvcml0eSAoMikKIC5TSCBCVUdTCi1Ob24g c3VwZXItdXNlcnMgY2FuIG5vdCBpbmNyZWFzZSBzY2hlZHVsaW5nIHByaW9y aXRpZXMgb2YgdGhlaXIgb3duIHByb2Nlc3NlcywKK05vbi1zdXBlcnVzZXJz IGNhbm5vdCBpbmNyZWFzZSBzY2hlZHVsaW5nIHByaW9yaXRpZXMgb2YgdGhl aXIgb3duIHByb2Nlc3NlcywKIGV2ZW4gaWYgdGhleSB3ZXJlIHRoZSBvbmVz IHRoYXQgZGVjcmVhc2VkIHRoZSBwcmlvcml0aWVzIGluIHRoZSBmaXJzdCBw bGFjZS4KIC5QUAogVGhlIExpbnV4IGtlcm5lbCAoYXQgbGVhc3QgdmVyc2lv biAyLjAuMCkgYW5kIGxpbnV4IGxpYmMgKGF0IGxlYXN0IHZlcnNpb24KZGlm ZiAtLWdpdCBhL3Rlcm0tdXRpbHMvd2FsbC4xIGIvdGVybS11dGlscy93YWxs LjEKaW5kZXggODhlODE2Yy4uNGQyYTlmNyAxMDA2NDQKLS0tIGEvdGVybS11 dGlscy93YWxsLjEKKysrIGIvdGVybS11dGlscy93YWxsLjEKQEAgLTQ4LDcg KzQ4LDcgQEAgaW4gdXNlcnMuICBUaGUgY29tbWFuZCB3aWxsIGN1dCBvdmVy IDc5IGNoYXJhY3RlciBsb25nIGxpbmVzIHRvIG5ldyBsaW5lcy4KIFNob3J0 IGxpbmVzIGFyZSB3aGl0ZSBzcGFjZSBwYWRkZWQgdG8gaGF2ZSA3OSBjaGFy YWN0ZXJzLiAgVGhlIGNvbW1hbmQgd2lsbAogYWx3YXlzIHB1dCBjYXJyaWFn ZSByZXR1cm4gYW5kIG5ldyBsaW5lIGF0IHRoZSBlbmQgb2YgZWFjaCBsaW5l LgogLlBQCi1Pbmx5IHRoZSBzdXBlci11c2VyIGNhbiB3cml0ZSBvbiB0aGUg dGVybWluYWxzIG9mIHVzZXJzIHdobyBoYXZlIGNob3NlbiB0bworT25seSB0 aGUgc3VwZXJ1c2VyIGNhbiB3cml0ZSBvbiB0aGUgdGVybWluYWxzIG9mIHVz ZXJzIHdobyBoYXZlIGNob3NlbiB0bwogZGVueSBtZXNzYWdlcyBvciBhcmUg dXNpbmcgYSBwcm9ncmFtIHdoaWNoIGF1dG9tYXRpY2FsbHkgZGVuaWVzIG1l c3NhZ2VzLgogLlBQCiBSZWFkaW5nIGZyb20gYSBmaWxlIGlzIHJlZnVzZWQg d2hlbiB0aGUgaW52b2tlciBpcyBub3Qgc3VwZXJ1c2VyIGFuZCB0aGUKZGlm ZiAtLWdpdCBhL3Rlcm0tdXRpbHMvd3JpdGUuMSBiL3Rlcm0tdXRpbHMvd3Jp dGUuMQppbmRleCBiNjA2NTc1Li4zM2ViOTE0IDEwMDY0NAotLS0gYS90ZXJt LXV0aWxzL3dyaXRlLjEKKysrIGIvdGVybS11dGlscy93cml0ZS4xCkBAIC02 Niw3ICs2Niw3IEBAIHVzZXIgd2lsbCBzZWUgdGhlIG1lc3NhZ2UKIC5CIEVP RgogaW5kaWNhdGluZyB0aGF0IHRoZSBjb252ZXJzYXRpb24gaXMgb3Zlci4K IC5QUAotWW91IGNhbiBwcmV2ZW50IHBlb3BsZSAob3RoZXIgdGhhbiB0aGUg c3VwZXItdXNlcikgZnJvbSB3cml0aW5nIHRvIHlvdSB3aXRoCitZb3UgY2Fu IHByZXZlbnQgcGVvcGxlIChvdGhlciB0aGFuIHRoZSBzdXBlcnVzZXIpIGZy b20gd3JpdGluZyB0byB5b3Ugd2l0aAogdGhlCiAuQlIgbWVzZyAoMSkKIGNv bW1hbmQuICBTb21lIGNvbW1hbmRzLCBmb3IgZXhhbXBsZQotLSAKMS43LjAu NAoK --_----------=_1369851833164160 Content-Disposition: attachment; filename="0003-textual-tiny-alphabetical-and-grammatical-tweak.patch" Content-Id: <1369851780.16291.d52e03f46edf73a1e974bcae9f686991042f6460.53B05D1D@messagingengine.com> Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0003-textual-tiny-alphabetical-and-grammatical-tweak.patch" RnJvbSBkYWVkZmY5OTJkMTZjMzlhMGQ2NTdkYjEwOWRjOTYzZGRjMGM0ZWIy IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBCZW5ubyBTY2h1bGVu YmVyZyA8YmVuc2JlcmdAanVzdGVtYWlsLm5ldD4KRGF0ZTogV2VkLCAyOSBN YXkgMjAxMyAxOTo1MzozOCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMy80XSB0 ZXh0dWFsOiB0aW55IGFscGhhYmV0aWNhbCBhbmQgZ3JhbW1hdGljYWwgdHdl YWsKClNpZ25lZC1vZmYtYnk6IEJlbm5vIFNjaHVsZW5iZXJnIDxiZW5zYmVy Z0BqdXN0ZW1haWwubmV0PgotLS0KIGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5j IHwgICAgMiArLQogMSBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbnMoKyks IDEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvc3Ut Y29tbW9uLmMgYi9sb2dpbi11dGlscy9zdS1jb21tb24uYwppbmRleCBlZTM0 MDUzLi44YjA4ZGYxIDEwMDY0NAotLS0gYS9sb2dpbi11dGlscy9zdS1jb21t b24uYworKysgYi9sb2dpbi11dGlscy9zdS1jb21tb24uYwpAQCAtNjMyLDcg KzYzMiw3IEBAIHVzYWdlIChpbnQgc3RhdHVzKQogICAgIGZwdXRzIChfKCJc biIKICAgICAiUnVuIDxjb21tYW5kPiB3aXRoIHRoZSBlZmZlY3RpdmUgdXNl ciBJRCBhbmQgZ3JvdXAgSUQgb2YgPHVzZXI+LiAgSWYgLXUgaXNcbiIKICAg ICAibm90IGdpdmVuLCBmYWxsIGJhY2sgdG8gc3UoMSktY29tcGF0aWJsZSBz ZW1hbnRpY3MgYW5kIGV4ZWN1dGUgc3RhbmRhcmQgc2hlbGwuXG4iCi0gICAg IlRoZSBvcHRpb25zIC1sLCAtYywgLWYsIC1zIGFyZSBtdXR1YWxseSBleGNs dXNpdmUgdG8gLXUuXG4iKSwgc3Rkb3V0KTsKKyAgICAiVGhlIG9wdGlvbnMg LWMsIC1mLCAtbCwgYW5kIC1zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUgd2l0 aCAtdS5cbiIpLCBzdGRvdXQpOwogCiAgICAgZnB1dHMoVVNBR0VfT1BUSU9O Uywgc3Rkb3V0KTsKIAotLSAKMS43LjAuNAoK --_----------=_1369851833164160 Content-Disposition: attachment; filename="0004-docs-improve-grammar-and-consistency-of-comments-in-.patch" Content-Id: <1369851788.16290.854eaa7906b7baf73964fc7d946008858ad7d051.2461719C@messagingengine.com> Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0004-docs-improve-grammar-and-consistency-of-comments-in-.patch" RnJvbSA0MzZkNzdlZGE5YzE0ZjEwMzAwYzViYmExNzZmYTYwMTI1YWMwYmE3 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBCZW5ubyBTY2h1bGVu YmVyZyA8YmVuc2JlcmdAanVzdGVtYWlsLm5ldD4KRGF0ZTogV2VkLCAyOSBN YXkgMjAxMyAyMDowOToyMCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggNC80XSBk b2NzOiBpbXByb3ZlIGdyYW1tYXIgYW5kIGNvbnNpc3RlbmN5IG9mIGNvbW1l bnRzIGluIGxvZ2luLmMKClNpZ25lZC1vZmYtYnk6IEJlbm5vIFNjaHVsZW5i ZXJnIDxiZW5zYmVyZ0BqdXN0ZW1haWwubmV0PgotLS0KIGxvZ2luLXV0aWxz L2xvZ2luLmMgfCAgMTYyICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlcyBjaGFuZ2VkLCA3NyBp bnNlcnRpb25zKCspLCA4NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9s b2dpbi11dGlscy9sb2dpbi5jIGIvbG9naW4tdXRpbHMvbG9naW4uYwppbmRl eCAzN2RjOWQwLi42ZGYyOTEwIDEwMDY0NAotLS0gYS9sb2dpbi11dGlscy9s b2dpbi5jCisrKyBiL2xvZ2luLXV0aWxzL2xvZ2luLmMKQEAgLTExMCwxMyAr MTEwLDEzIEBAIHN0cnVjdCBsb2dpbl9jb250ZXh0IHsKIAljaGFyCQl2Y3Nh bltWQ1NfUEFUSF9NQVhdOwogI2VuZGlmCiAKLQljaGFyCQkqdGhpc2hvc3Q7 CQkJLyogdGhpcyBtYWNoaW5lICovCi0JY2hhcgkJKnRoaXNkb21haW47CQkJ LyogdGhpcyBtYWNoaW5lIGRvbWFpbiAqLwotCWNoYXIJCSpob3N0bmFtZTsJ CQkvKiByZW1vdGUgbWFjaGluZSAqLwotCWNoYXIJCWhvc3RhZGRyZXNzWzE2 XTsJCS8qIHJlbW90ZSBhZGRyZXNzICovCisJY2hhcgkJKnRoaXNob3N0OwkJ LyogdGhpcyBtYWNoaW5lICovCisJY2hhcgkJKnRoaXNkb21haW47CQkvKiB0 aGlzIG1hY2hpbmUncyBkb21haW4gKi8KKwljaGFyCQkqaG9zdG5hbWU7CQkv KiByZW1vdGUgbWFjaGluZSAqLworCWNoYXIJCWhvc3RhZGRyZXNzWzE2XTsJ LyogcmVtb3RlIGFkZHJlc3MgKi8KIAogCXBpZF90CQlwaWQ7Ci0JaW50CQlx dWlldDsJCS8qIDEgaXMgaHVzaCBmaWxlIGV4aXN0cyAqLworCWludAkJcXVp ZXQ7CQkvKiAxIGlmIGh1c2ggZmlsZSBleGlzdHMgKi8KIAogCXVuc2lnbmVk IGludAlyZW1vdGU6MSwJLyogbG9naW4gLWggKi8KIAkJCW5vaG9zdDoxLAkv KiBsb2dpbiAtSCAqLwpAQCAtMTI1LDcgKzEyNSw3IEBAIHN0cnVjdCBsb2dp bl9jb250ZXh0IHsKIH07CiAKIC8qCi0gKiBUaGlzIGJvdW5kcyB0aGUgdGlt ZSBnaXZlbiB0byBsb2dpbi4gIE5vdCBhIGRlZmluZSBzbyBpdCBjYW4KKyAq IFRoaXMgYm91bmRzIHRoZSB0aW1lIGdpdmVuIHRvIGxvZ2luLiAgTm90IGEg ZGVmaW5lLCBzbyBpdCBjYW4KICAqIGJlIHBhdGNoZWQgb24gbWFjaGluZXMg d2hlcmUgaXQncyB0b28gc21hbGwuCiAgKi8KIHN0YXRpYyB1bnNpZ25lZCBp bnQgdGltZW91dCA9IExPR0lOX1RJTUVPVVQ7CkBAIC0xNTQsNyArMTU0LDcg QEAgc3RhdGljIGludCBpc19jb25zb2xldHR5KGludCBmZCkKICAqIHNvYWtp bmcgdXAgcHRzJ3MuICBXaGF0IHRoZXkgc2VlbSB0byBodW5nIHVwIG9uIGlz IHRyeWluZyB0byB3cml0ZSBvdXQgdGhlCiAgKiBtZXNzYWdlICdMb2dpbiB0 aW1lZCBvdXQgYWZ0ZXIgJWQgc2Vjb25kcycgd2hlbiB0aGUgY29ubmVjdGlv biBoYXMgYWxyZWFkeQogICogYmVlbiBkcm9wcGVkLgotICogV2hhdCBJIGRp ZCB3YXMgYWRkIGEgc2Vjb25kIHRpbWVvdXQgd2hpbGUgdHJ5aW5nIHRvIHdy aXRlIHRoZSBtZXNzYWdlIHNvCisgKiBXaGF0IEkgZGlkIHdhcyBhZGQgYSBz ZWNvbmQgdGltZW91dCB3aGlsZSB0cnlpbmcgdG8gd3JpdGUgdGhlIG1lc3Nh Z2UsIHNvCiAgKiB0aGUgcHJvY2VzcyBqdXN0IGV4aXRzIGlmIHRoZSBzZWNv bmQgdGltZW91dCBleHBpcmVzLgogICovCiBzdGF0aWMgdm9pZCBfX2F0dHJp YnV0ZV9fICgoX19ub3JldHVybl9fKSkKQEAgLTE4MiwxMSArMTgyLDExIEBA IHN0YXRpYyB2b2lkIHRpbWVkb3V0KGludCBzaWcgX19hdHRyaWJ1dGVfXyAo KF9fdW51c2VkX18pKSkKIAogLyoKICAqIFRoaXMgaGFuZGxlciBhbGxvd3Mg dG8gaW5mb3JtIGEgc2hlbGwgYWJvdXQgc2lnbmFscyB0byBsb2dpbi4gSWYg eW91IGhhdmUKLSAqIChyb290KSBwZXJtaXNzaW9ucyB5b3UgY2FuIGtpbGwg YWxsIGxvZ2luIGNoaWxkcmVudCBieSBvbmUgc2lnbmFsIHRvIGxvZ2luCi0g KiBwcm9jZXNzLgorICogKHJvb3QpIHBlcm1pc3Npb25zLCB5b3UgY2FuIGtp bGwgYWxsIGxvZ2luIGNoaWxkcmVuIGJ5IG9uZSBzaWduYWwgdG8gdGhlCisg KiBsb2dpbiBwcm9jZXNzLgogICoKLSAqIEFsc28sIHBhcmVudCB3aG8gaXMg c2Vzc2lvbiBsZWFkZXIgaXMgYWJsZSAoYmVmb3JlIHNldHNpZCgpIGluIGNo aWxkKSB0bwotICogaW5mb3JtIGNoaWxkIHdoZW4gY29udHJvbGxpbmcgdHR5 IGdvZXMgYXdheSAoZS5nLiBtb2RlbSBoYW5ndXAsIFNJR0hVUCkuCisgKiBB bHNvLCBhIHBhcmVudCB3aG8gaXMgc2Vzc2lvbiBsZWFkZXIgaXMgYWJsZSAo YmVmb3JlIHNldHNpZCgpIGluIHRoZSBjaGlsZCkKKyAqIHRvIGluZm9ybSB0 aGUgY2hpbGQgd2hlbiB0aGUgY29udHJvbGxpbmcgdHR5IGdvZXMgYXdheSAo ZS5nLiBtb2RlbSBoYW5ndXApLgogICovCiBzdGF0aWMgdm9pZCBzaWdfaGFu ZGxlcihpbnQgc2lnbmFsKQogewpAQCAtMTk5LDggKzE5OSw4IEBAIHN0YXRp YyB2b2lkIHNpZ19oYW5kbGVyKGludCBzaWduYWwpCiB9CiAKIC8qCi0gKiBM ZXQgdXNlIGRlbGF5IGZvciBhbGwgZXhpdCgpIGNhbGxzIHdoZW4gdXNlciBp cyBub3QgYXV0aGVudGljYXRlZCBvcgotICogc2Vzc2lvbiBmdWxseSBpbml0 aWFsaXplZCAobG9naW5wYW1fc2Vzc2lvbigpKS4KKyAqIExldCB1cyBkZWxh eSBhbGwgZXhpdCgpIGNhbGxzIHdoZW4gdGhlIHVzZXIgaXMgbm90IGF1dGhl bnRpY2F0ZWQKKyAqIG9yIHRoZSBzZXNzaW9uIG5vdCBmdWxseSBpbml0aWFs aXplZCAobG9naW5wYW1fc2Vzc2lvbigpKS4KICAqLwogc3RhdGljIHZvaWQg X19hdHRyaWJ1dGVfXyAoKF9fbm9yZXR1cm5fXykpIHNsZWVwZXhpdChpbnQg ZXZhbCkKIHsKQEAgLTIyOCwxMiArMjI4LDEyIEBAIHN0YXRpYyBjb25zdCBj aGFyICpnZXRfdGhpc2hvc3Qoc3RydWN0IGxvZ2luX2NvbnRleHQgKmN4dCwg Y29uc3QgY2hhciAqKmRvbWFpbikKIH0KIAogLyoKLSAqIE91dHB1dCB0aGUg L2V0Yy9tb3RkIGZpbGUKKyAqIE91dHB1dCB0aGUgL2V0Yy9tb3RkIGZpbGUu CiAgKgotICogbW90ZCgpIGRldGVybWluZXMgdGhlIG5hbWUgb2YgYSBsb2dp biBhbm5vdW5jZW1lbnQgZmlsZSBhbmQgb3V0cHV0cyBpdCB0bwotICogdGhl IHVzZXIncyB0ZXJtaW5hbCBhdCBsb2dpbiB0aW1lLiAgVGhlIE1PVERfRklM RSBjb25maWd1cmF0aW9uIG9wdGlvbiBpcyBhCi0gKiBjb2xvbi1kZWxpbWl0 ZWQgbGlzdCBvZiBmaWxlbmFtZXMuIFRoZSBlbXB0eSBNT1REX0ZJTEUgb3B0 aW9uIGRpc2FibGVzIG1vdGQKLSAqIHByaW50aW5nIGF0IGFsbC4KKyAqIEl0 IGRldGVybWluZXMgdGhlIG5hbWUgb2YgYSBsb2dpbiBhbm5vdW5jZW1lbnQg ZmlsZSBhbmQgb3V0cHV0cyBpdCB0byB0aGUKKyAqIHVzZXIncyB0ZXJtaW5h bCBhdCBsb2dpbiB0aW1lLiAgVGhlIE1PVERfRklMRSBjb25maWd1cmF0aW9u IG9wdGlvbiBpcyBhCisgKiBjb2xvbi1kZWxpbWl0ZWQgbGlzdCBvZiBmaWxl bmFtZXMuICBBbiBlbXB0eSBNT1REX0ZJTEUgb3B0aW9uIGRpc2FibGVzCisg KiBtZXNzYWdlLW9mLXRoZS1kYXkgcHJpbnRpbmcgY29tcGxldGVseS4KICAq Lwogc3RhdGljIHZvaWQgbW90ZCh2b2lkKQogewpAQCAtMjY2LDE1ICsyNjYs MTUgQEAgc3RhdGljIHZvaWQgbW90ZCh2b2lkKQogfQogCiAvKgotICogTmlj ZSBhbmQgc2ltcGxlIGNvZGUgcHJvdmlkZWQgYnkgTGludXMgVG9ydmFsZHMg MTYtRmViLTkzCi0gKiBOb25ibG9ja2luZyBzdHVmZiBieSBNYWNpZWogVy4g Um96eWNraSwgbWFjcm9AZHMyLnBnLmdkYS5wbCwgMTk5OS4KKyAqIE5pY2Ug YW5kIHNpbXBsZSBjb2RlIHByb3ZpZGVkIGJ5IExpbnVzIFRvcnZhbGRzIDE2 LUZlYi05My4KKyAqIE5vbi1ibG9ja2luZyBzdHVmZiBieSBNYWNpZWogVy4g Um96eWNraSwgbWFjcm9AZHMyLnBnLmdkYS5wbCwgMTk5OS4KICAqCiAgKiBI ZSB3cml0ZXM6ICJMb2dpbiBwZXJmb3JtcyBvcGVuKCkgb24gYSB0dHkgaW4g YSBibG9ja2luZyBtb2RlLgogICogSW4gc29tZSBjYXNlcyBpdCBtYXkgbWFr ZSBsb2dpbiB3YWl0IGluIG9wZW4oKSBmb3IgY2FycmllciBpbmZpbml0ZWx5 LAogICogZm9yIGV4YW1wbGUgaWYgdGhlIGxpbmUgaXMgYSBzaW1wbGlzdGlj IGNhc2Ugb2YgYSB0aHJlZS13aXJlIHNlcmlhbAotICogY29ubmVjdGlvbi4g SSBiZWxpZXZlIGxvZ2luIHNob3VsZCBvcGVuIHRoZSBsaW5lIGluIHRoZSBu b24tYmxvY2tpbmcgbW9kZQorICogY29ubmVjdGlvbi4gSSBiZWxpZXZlIGxv Z2luIHNob3VsZCBvcGVuIHRoZSBsaW5lIGluIG5vbi1ibG9ja2luZyBtb2Rl LAogICogbGVhdmluZyB0aGUgZGVjaXNpb24gdG8gbWFrZSBhIGNvbm5lY3Rp b24gdG8gZ2V0dHkgKHdoZXJlIGl0IGFjdHVhbGx5Ci0gKiBiZWxvbmdzKS4K KyAqIGJlbG9uZ3MpLiIKICAqLwogc3RhdGljIHZvaWQgb3Blbl90dHkoY29u c3QgY2hhciAqdHR5KQogewpAQCAtMzM4LDcgKzMzOCw3IEBAIHN0YXRpYyB2 b2lkIGNob3duX3R0eShzdHJ1Y3QgbG9naW5fY29udGV4dCAqY3h0KQogCQlp ZiAoY2htb2QoY3h0LT52Y3NuLCBjeHQtPnR0eV9tb2RlKSkKIAkJCWNobW9k X2VycihjeHQtPnZjc24sIGN4dC0+dHR5X21vZGUpOwogCi0JCWlmIChjaG93 bihjeHQtPnZjc2FuLCB1aWQsIGdpZCkpCQkJLyogdmNzYSAqLworCQlpZiAo Y2hvd24oY3h0LT52Y3NhbiwgdWlkLCBnaWQpKQkJLyogdmNzYSAqLwogCQkJ Y2hvd25fZXJyKGN4dC0+dmNzYW4sIHVpZCwgZ2lkKTsKIAkJaWYgKGNobW9k KGN4dC0+dmNzYW4sIGN4dC0+dHR5X21vZGUpKQogCQkJY2htb2RfZXJyKGN4 dC0+dmNzYW4sIGN4dC0+dHR5X21vZGUpOwpAQCAtMzQ3LDcgKzM0Nyw3IEBA IHN0YXRpYyB2b2lkIGNob3duX3R0eShzdHJ1Y3QgbG9naW5fY29udGV4dCAq Y3h0KQogfQogCiAvKgotICogUmVhZHMgdGhlIGN1cnJlY3QgdGVybWluYWwg cGF0aCBhbmQgaW5pdGlhbGl6ZSBjeHQtPnR0eV8qIHZhcmlhYmxlcy4KKyAq IFJlYWRzIHRoZSBjdXJyZWN0IHRlcm1pbmFsIHBhdGggYW5kIGluaXRpYWxp emVzIGN4dC0+dHR5XyogdmFyaWFibGVzLgogICovCiBzdGF0aWMgdm9pZCBp bml0X3R0eShzdHJ1Y3QgbG9naW5fY29udGV4dCAqY3h0KQogewpAQCAtNDE4 LDcgKzQxOCw3IEBAIHN0YXRpYyB2b2lkIGluaXRfdHR5KHN0cnVjdCBsb2dp bl9jb250ZXh0ICpjeHQpCiAKIAogLyoKLSAqIExvZyBmYWlsZWQgbG9naW4g YXR0ZW1wdHMgaW4gX1BBVEhfQlRNUCBpZiB0aGF0IGV4aXN0cy4KKyAqIExv Z3MgZmFpbGVkIGxvZ2luIGF0dGVtcHRzIGluIF9QQVRIX0JUTVAsIGlmIGl0 IGV4aXN0cy4KICAqIE11c3QgYmUgY2FsbGVkIG9ubHkgd2l0aCB1c2VybmFt ZSB0aGUgbmFtZSBvZiBhbiBhY3R1YWwgdXNlci4KICAqIFRoZSBtb3N0IGNv bW1vbiBsb2dpbiBmYWlsdXJlIGlzIHRvIGdpdmUgcGFzc3dvcmQgaW5zdGVh ZCBvZiB1c2VybmFtZS4KICAqLwpAQCAtNTEwLDcgKzUxMCw3IEBAIHN0YXRp YyB2b2lkIGxvZ19sYXN0bG9nKHN0cnVjdCBsb2dpbl9jb250ZXh0ICpjeHQp CiAJCWdvdG8gZG9uZTsKIAogCS8qCi0JICogUHJpbnQgbGFzdCBsb2cgbWVz c2FnZQorCSAqIFByaW50IGxhc3QgbG9nIG1lc3NhZ2UuCiAJICovCiAJaWYg KCFjeHQtPnF1aWV0KSB7CiAJCWlmIChyZWFkKGZkLCAoY2hhciAqKSZsbCwg c2l6ZW9mKGxsKSkgPT0gc2l6ZW9mKGxsKSAmJgpAQCAtNTQ2LDcgKzU0Niw3 IEBAIGRvbmU6CiB9CiAKIC8qCi0gKiBVcGRhdGUgd3RtcCBhbmQgdXRtcCBs b2dzCisgKiBVcGRhdGUgd3RtcCBhbmQgdXRtcCBsb2dzLgogICovCiBzdGF0 aWMgdm9pZCBsb2dfdXRtcChzdHJ1Y3QgbG9naW5fY29udGV4dCAqY3h0KQog ewpAQCAtNTYyLDcgKzU2Miw3IEBAIHN0YXRpYyB2b2lkIGxvZ191dG1wKHN0 cnVjdCBsb2dpbl9jb250ZXh0ICpjeHQpCiAJICogbG9naW4gc29tZXRpbWVz IG92ZXJ3cml0ZXMgdGhlIHJ1bmxldmVsIGVudHJ5IGluIC92YXIvcnVuL3V0 bXAsCiAJICogY29uZnVzaW5nIHN5c3Zpbml0LiBJIGFkZGVkIGEgdGVzdCBm b3IgdGhlIGVudHJ5IHR5cGUsIGFuZCB0aGUKIAkgKiBwcm9ibGVtIHdhcyBn b25lLiAoSW4gYSBydW5sZXZlbCBlbnRyeSwgc3RfcGlkIGlzIG5vdCByZWFs bHkgYSBwaWQKLQkgKiBidXQgc29tZSBudW1iZXIgY2FsY3VsYXRlZCBmcm9t IHRoZSBwcmV2aW91cyBhbmQgY3VycmVudCBydW5sZXZlbCkuCisJICogYnV0 IHNvbWUgbnVtYmVyIGNhbGN1bGF0ZWQgZnJvbSB0aGUgcHJldmlvdXMgYW5k IGN1cnJlbnQgcnVubGV2ZWwuKQogCSAqIC0tIE1pY2hhZWwgUmllcGUgPG1p Y2hhZWxAc3R1ZC51bmktaGFubm92ZXIuZGU+CiAJICovCiAJd2hpbGUgKCh1 dHAgPSBnZXR1dGVudCgpKSkKQEAgLTU3Miw4ICs1NzIsNyBAQCBzdGF0aWMg dm9pZCBsb2dfdXRtcChzdHJ1Y3QgbG9naW5fY29udGV4dCAqY3h0KQogCQkJ YnJlYWs7CiAKIAkvKiBJZiB3ZSBjYW4ndCBmaW5kIGEgcHJlLWV4aXN0aW5n IGVudHJ5IGJ5IHBpZCwgdHJ5IGJ5IGxpbmUuCi0JICogQlNEIG5ldHdvcmsg ZGFlbW9ucyBtYXkgcmVseSBvbiB0aGlzLgotCSAqLworCSAqIEJTRCBuZXR3 b3JrIGRhZW1vbnMgbWF5IHJlbHkgb24gdGhpcy4gKi8KIAlpZiAodXRwID09 IE5VTEwgJiYgY3h0LT50dHlfbmFtZSkgewogCQlzZXR1dGVudCgpOwogCQl1 dC51dF90eXBlID0gTE9HSU5fUFJPQ0VTUzsKQEAgLTU4Miw3ICs1ODEsNyBA QCBzdGF0aWMgdm9pZCBsb2dfdXRtcChzdHJ1Y3QgbG9naW5fY29udGV4dCAq Y3h0KQogCX0KIAogCS8qIElmIHdlIGNhbid0IGZpbmQgYSBwcmUtZXhpc3Rp bmcgZW50cnkgYnkgcGlkIGFuZCBsaW5lLCB0cnkgaXQgYnkgaWQuCi0JICog VmVyeSBzdHVwaWQgdGVsbmV0ZCBkZWFtb25zIGRvbid0IHNldCB1cCB1dG1w IGF0IGFsbCAoa3phaykgKi8KKwkgKiBWZXJ5IHN0dXBpZCB0ZWxuZXRkIGRh ZW1vbnMgZG9uJ3Qgc2V0IHVwIHV0bXAgYXQgYWxsLiAoa3phaykgKi8KIAlp ZiAodXRwID09IE5VTEwgJiYgY3h0LT50dHlfbnVtYmVyKSB7CiAJICAgICBz ZXR1dGVudCgpOwogCSAgICAgdXQudXRfdHlwZSA9IERFQURfUFJPQ0VTUzsK QEAgLTcwOCw3ICs3MDcsNyBAQCBzdGF0aWMgdm9pZCBsb2dpbnBhbV9lcnIo cGFtX2hhbmRsZV90ICpwYW1oLCBpbnQgcmV0Y29kZSkKIH0KIAogLyoKLSAq IENvbXBvc2VzICI8aG9zdD4gbG9naW46ICIgc3RyaW5nOyBvciByZXR1cm5z ICJsb2dpbjogIiBpcyAtSCBpcyBnaXZlbgorICogQ29tcG9zZXMgIjxob3N0 PiBsb2dpbjogIiBzdHJpbmc7IG9yIHJldHVybnMgImxvZ2luOiAiIGlmIC1I IGlzIGdpdmVuLgogICovCiBzdGF0aWMgY29uc3QgY2hhciAqbG9naW5wYW1f Z2V0X3Byb21wdChzdHJ1Y3QgbG9naW5fY29udGV4dCAqY3h0KQogewpAQCAt NzM0LDcgKzczMyw3IEBAIHN0YXRpYyBwYW1faGFuZGxlX3QgKmluaXRfbG9n aW5wYW0oc3RydWN0IGxvZ2luX2NvbnRleHQgKmN4dCkKIAogCS8qCiAJICog dXNlcm5hbWUgaXMgaW5pdGlhbGl6ZWQgdG8gTlVMTCBhbmQgaWYgc3BlY2lm aWVkIG9uIHRoZSBjb21tYW5kIGxpbmUKLQkgKiBpdCBpcyBzZXQuICBUaGVy ZWZvcmUsIHdlIGFyZSBzYWZlIG5vdCBzZXR0aW5nIGl0IHRvIGFueXRoaW5n CisJICogaXQgaXMgc2V0LiAgVGhlcmVmb3JlLCB3ZSBhcmUgc2FmZSBub3Qg c2V0dGluZyBpdCB0byBhbnl0aGluZy4KIAkgKi8KIAlyYyA9IHBhbV9zdGFy dChjeHQtPnJlbW90ZSA/ICJyZW1vdGUiIDogImxvZ2luIiwKIAkJICAgICAg IGN4dC0+dXNlcm5hbWUsICZjeHQtPmNvbnYsICZwYW1oKTsKQEAgLTc0Niw4 ICs3NDUsNyBAQCBzdGF0aWMgcGFtX2hhbmRsZV90ICppbml0X2xvZ2lucGFt KHN0cnVjdCBsb2dpbl9jb250ZXh0ICpjeHQpCiAJfQogCiAJLyogaG9zdG5h bWUgJiB0dHkgYXJlIGVpdGhlciBzZXQgdG8gTlVMTCBvciB0aGVpciBjb3Jy ZWN0IHZhbHVlcywKLQkgKiBkZXBlbmRpbmcgb24gaG93IG11Y2ggd2Uga25v dwotCSAqLworCSAqIGRlcGVuZGluZyBvbiBob3cgbXVjaCB3ZSBrbm93LiAq LwogCXJjID0gcGFtX3NldF9pdGVtKHBhbWgsIFBBTV9SSE9TVCwgY3h0LT5o b3N0bmFtZSk7CiAJaWYgKGlzX3BhbV9mYWlsdXJlKHJjKSkKIAkJbG9naW5w YW1fZXJyKHBhbWgsIHJjKTsKQEAgLTc2NSw3ICs3NjMsNyBAQCBzdGF0aWMg cGFtX2hhbmRsZV90ICppbml0X2xvZ2lucGFtKHN0cnVjdCBsb2dpbl9jb250 ZXh0ICpjeHQpCiAJaWYgKGlzX3BhbV9mYWlsdXJlKHJjKSkKIAkJbG9naW5w YW1fZXJyKHBhbWgsIHJjKTsKIAotCS8qIHdlIG5lZWQndCB0aGUgb3JpZ2lu YWwgdXNlcm5hbWUuIFdlIGhhdmUgdG8gZm9sbG93IFBBTS4gKi8KKwkvKiBX ZSBkb24ndCBuZWVkIHRoZSBvcmlnaW5hbCB1c2VybmFtZS4gV2UgaGF2ZSB0 byBmb2xsb3cgUEFNLiAqLwogCWZyZWUoY3h0LT51c2VybmFtZSk7CiAJY3h0 LT51c2VybmFtZSA9IE5VTEw7CiAJY3h0LT5wYW1oID0gcGFtaDsKQEAgLTgw NCw4ICs4MDIsOCBAQCBzdGF0aWMgdm9pZCBsb2dpbnBhbV9hdXRoKHN0cnVj dCBsb2dpbl9jb250ZXh0ICpjeHQpCiAKIAkJaWYgKHJjID09IFBBTV9VU0VS X1VOS05PV04gJiYgIXNob3dfdW5rbm93bikKIAkJCS8qCi0JCQkgKiBsb2dn aW5nIHVua25vd24gdXNlcm5hbWVzIG1heSBiZSBhIHNlY3VyaXR5IGlzc3Vl IGlmCi0JCQkgKiBhbiB1c2VyIGVudGVyIGhlciBwYXNzd29yZCBpbnN0ZWFk IG9mIGhlciBsb2dpbiBuYW1lCisJCQkgKiBMb2dnaW5nIHVua25vd24gdXNl cm5hbWVzIG1heSBiZSBhIHNlY3VyaXR5IGlzc3VlIGlmCisJCQkgKiBhIHVz ZXIgZW50ZXJzIGhlciBwYXNzd29yZCBpbnN0ZWFkIG9mIGhlciBsb2dpbiBu YW1lLgogCQkJICovCiAJCQljeHQtPnVzZXJuYW1lID0gTlVMTDsKIAkJZWxz ZQpAQCAtODY5LDcgKzg2Nyw3IEBAIHN0YXRpYyB2b2lkIGxvZ2lucGFtX2Fj Y3Qoc3RydWN0IGxvZ2luX2NvbnRleHQgKmN4dCkKIAkJbG9naW5wYW1fZXJy KHBhbWgsIHJjKTsKIAogCS8qCi0JICogR3JhYiB0aGUgdXNlciBpbmZvcm1h dGlvbiBvdXQgb2YgdGhlIHBhc3N3b3JkIGZpbGUgZm9yIGZ1dHVyZSB1c2Fn ZQorCSAqIEdyYWIgdGhlIHVzZXIgaW5mb3JtYXRpb24gb3V0IG9mIHRoZSBw YXNzd29yZCBmaWxlIGZvciBmdXR1cmUgdXNlLgogCSAqIEZpcnN0IGdldCB0 aGUgdXNlcm5hbWUgdGhhdCB3ZSBhcmUgYWN0dWFsbHkgdXNpbmcsIHRob3Vn aC4KIAkgKi8KIAlyYyA9IGxvZ2lucGFtX2dldF91c2VybmFtZShwYW1oLCAm Y3h0LT51c2VybmFtZSk7CkBAIC04ODYsMTUgKzg4NCwxNSBAQCBzdGF0aWMg dm9pZCBsb2dpbnBhbV9hY2N0KHN0cnVjdCBsb2dpbl9jb250ZXh0ICpjeHQp CiB9CiAKIC8qCi0gKiBOb3RlIHRoYXQgcG9zaXRpb24gb2YgdGhlIHBhbV9z ZXRjcmVkKCkgY2FsbCBpcyBkaXNjdXNzYWJsZToKKyAqIE5vdGUgdGhhdCB0 aGUgcG9zaXRpb24gb2YgdGhlIHBhbV9zZXRjcmVkKCkgY2FsbCBpcyBkaXNj dXNzYWJsZToKICAqCi0gKiAgLSB0aGUgUEFNIGRvY3MgcmVjb21tZW5kcyBw YW1fc2V0Y3JlZCgpIGJlZm9yZSBwYW1fb3Blbl9zZXNzaW9uKCkKKyAqICAt IHRoZSBQQU0gZG9jcyByZWNvbW1lbmQgcGFtX3NldGNyZWQoKSBiZWZvcmUg cGFtX29wZW5fc2Vzc2lvbigpCiAgKiAgLSBidXQgdGhlIG9yaWdpbmFsIFJG QyBodHRwOi8vd3d3Lm9wZW5ncm91cC5vcmcvcmZjL21pcnJvci1yZmMvcmZj ODYuMC50eHQKICAqICAgIHVzZXMgcGFtX3NldGNyZWQoKSBhZnRlciBwYW1f b3Blbl9zZXNzaW9uKCkKICAqCiAgKiBUaGUgb2xkIGxvZ2luIHZlcnNpb25z IChiZWZvcmUgeWVhciAyMDExKSBmb2xsb3dlZCB0aGUgUkZDLiBUaGlzIGlz IHByb2JhYmx5Ci0gKiBub3Qgb3B0aW1hbCwgYmVjYXVzZSB0aGVyZSBjb3Vs ZCBiZSBkZXBlbmRlbmNlIGJldHdlZW4gc29tZSBzZXNzaW9uIG1vZHVsZXMK LSAqIGFuZCB1c2VyJ3MgY3JlZGVudGlhbHMuCisgKiBub3Qgb3B0aW1hbCwg YmVjYXVzZSB0aGVyZSBjb3VsZCBiZSBhIGRlcGVuZGVuY2UgYmV0d2VlbiBz b21lIHNlc3Npb24gbW9kdWxlcworICogYW5kIHRoZSB1c2VyJ3MgY3JlZGVu dGlhbHMuCiAgKgogICogVGhlIGJlc3QgaXMgcHJvYmFibHkgdG8gZm9sbG93 IG9wZW5zc2ggYW5kIGNhbGwgcGFtX3NldGNyZWQoKSBiZWZvcmUgYW5kCiAg KiBhZnRlciBwYW1fb3Blbl9zZXNzaW9uKCkuICAgICAgICAgICAgICAgIC0t IGt6YWtAcmVkaGF0LmNvbSAoMTgtTm92LTIwMTEpCkBAIC05MjMsOSArOTIx LDkgQEAgc3RhdGljIHZvaWQgbG9naW5wYW1fc2Vzc2lvbihzdHJ1Y3QgbG9n aW5fY29udGV4dCAqY3h0KQogfQogCiAvKgotICogV2UgbmVlZCB0byBjaGVj ayBlZmZlY3RpdmUgVUlEL0dJRC4gRm9yIGV4YW1wbGUgJEhPTUUgY291bGQg YmUgb24gcm9vdAotICogc3F1YXNoZWQgTkZTIG9yIG9uIE5GUyB3aXRoIFVJ RCBtYXBwaW5nIGFuZCBhY2Nlc3MoMikgdXNlcyByZWFsIFVJRC9HSUQuCi0g KiBUaGUgb3BlbigyKSBzZWVtcyBhcyB0aGUgc3VyZXN0IHNvbHV0aW9uLgor ICogV2UgbmVlZCB0byBjaGVjayB0aGUgZWZmZWN0aXZlIFVJRC9HSUQuIEZv ciBleGFtcGxlLCAkSE9NRSBjb3VsZCBiZSBvbiBhCisgKiByb290LXNxdWFz aGVkIE5GUyBvciBvbiBhbiBORlMgd2l0aCBVSUQgbWFwcGluZywgYW5kIGFj Y2VzcygyKSB1c2VzIHRoZQorICogcmVhbCBVSUQvR0lELiAgVGhlbiBvcGVu KDIpIHNlZW1zIGFzIHRoZSBzdXJlc3Qgc29sdXRpb24uCiAgKiAtLSBremFr QHJlZGhhdC5jb20gKDEwLUFwci0yMDA5KQogICovCiBzdGF0aWMgaW50IGVm ZmVjdGl2ZV9hY2Nlc3MoY29uc3QgY2hhciAqcGF0aCwgaW50IG1vZGUpCkBA IC05MzcsMTkgKzkzNSwxOSBAQCBzdGF0aWMgaW50IGVmZmVjdGl2ZV9hY2Nl c3MoY29uc3QgY2hhciAqcGF0aCwgaW50IG1vZGUpCiB9CiAKIC8qCi0gKiBD aGVjayBwZXIgYWNjb3V0IG9yIGdsb2JhbCBodXNoLWxvZ2luIHNldHRpbmcu CisgKiBDaGVjayB0aGUgcGVyLWFjY291bnQgb3IgdGhlIGdsb2JhbCBodXNo LWxvZ2luIHNldHRpbmcuCiAgKgogICogSHVzaGVkIG1vZGUgaXMgZW5hYmxl ZDoKICAqCi0gKiBhKSBpZiBnbG9iYWwgKGUuZy4gL2V0Yy9odXNobG9naW5z KSBodXNoIGZpbGUgZXhpc3RzOgorICogYSkgaWYgYSBnbG9iYWwgKGUuZy4g L2V0Yy9odXNobG9naW5zKSBodXNoIGZpbGUgZXhpc3RzOgogICogICAgIDEp IGZvciBBTEwgQUNDT1VOVFMgaWYgdGhlIGZpbGUgaXMgZW1wdHkKLSAqICAg ICAyKSBmb3IgdGhlIGN1cnJlbnQgdXNlciBpZiB0aGUgdXNlcm5hbWUgb3Ig c2hlbGwgYXJlIGZvdW5kIGluIHRoZSBmaWxlCisgKiAgICAgMikgZm9yIHRo ZSBjdXJyZW50IHVzZXIgaWYgdGhlIHVzZXJuYW1lIG9yIHNoZWxsIGlzIGZv dW5kIGluIHRoZSBmaWxlCiAgKgotICogYikgaWYgfi8uaHVzaGxvZ2luIGZp bGUgZXhpc3RzCisgKiBiKSBpZiBhIH4vLmh1c2hsb2dpbiBmaWxlIGV4aXN0 cwogICoKLSAqIFRoZSB+Ly5odXNobG9naW4gaXMgaWdub3JlZCBpZiB0aGUg Z2xvYmFsIGh1c2ggZmlsZSBleGlzdHMuCisgKiBUaGUgfi8uaHVzaGxvZ2lu IGZpbGUgaXMgaWdub3JlZCBpZiB0aGUgZ2xvYmFsIGh1c2ggZmlsZSBleGlz dHMuCiAgKgotICogVGhlIEhVU0hMT0dJTl9GSUxFIGxvZ2luLmRlZiB2YXJp YWJsZSBvdmVyd3JpdGVzIHRoZSBkZWZhdWx0IGh1c2ggZmlsZW5hbWUuCisg KiBUaGUgSFVTSExPR0lOX0ZJTEUgbG9naW4uZGVmIHZhcmlhYmxlIG92ZXJy aWRlcyB0aGUgZGVmYXVsdCBodXNoIGZpbGVuYW1lLgogICoKICAqIE5vdGUg dGhhdCBzaGFkb3ctdXRpbHMgbG9naW4oMSkgZG9lcyBub3Qgc3VwcG9ydCAi YTEpIi4gVGhlICJhMSkiIGlzCiAgKiBuZWNlc3NhcnkgaWYgeW91IHdhbnQg dG8gdXNlIFBBTSBmb3IgIkxhc3QgbG9naW4iIG1lc3NhZ2UuCkBAIC05NTcs MTMgKzk1NSwxMyBAQCBzdGF0aWMgaW50IGVmZmVjdGl2ZV9hY2Nlc3MoY29u c3QgY2hhciAqcGF0aCwgaW50IG1vZGUpCiAgKiAtLSBLYXJlbCBaYWsgPGt6 YWtAcmVkaGF0LmNvbT4gKDI2LUF1Zy0yMDExKQogICoKICAqCi0gKiBQZXIt YWNjb3VudCBjaGVjayByZXF1aXJlcyBzb21lIGV4cGxhbmF0aW9uOiBBcyBy b290IHdlIG1heSBub3QgYmUgYWJsZSB0bwotICogcmVhZCB0aGUgZGlyZWN0 b3J5IG9mIHRoZSB1c2VyIGlmIGl0IGlzIG9uIGFuIE5GUyBtb3VudGVkIGZp bGVzeXN0ZW0uIFdlCi0gKiB0ZW1wb3JhcmlseSBzZXQgb3VyIGVmZmVjdGl2 ZSB1aWQgdG8gdGhlIHVzZXItdWlkIG1ha2luZyBzdXJlIHRoYXQgd2Uga2Vl cAotICogcm9vdCBwcml2cy4gaW4gdGhlIHJlYWwgdWlkLgorICogVGhlIHBl ci1hY2NvdW50IGNoZWNrIHJlcXVpcmVzIHNvbWUgZXhwbGFuYXRpb246IEFz IHJvb3Qgd2UgbWF5IG5vdCBiZSBhYmxlCisgKiB0byByZWFkIHRoZSBkaXJl Y3Rvcnkgb2YgdGhlIHVzZXIgaWYgaXQgaXMgb24gYW4gTkZTLW1vdW50ZWQg ZmlsZXN5c3RlbS4gV2UKKyAqIHRlbXBvcmFyaWx5IHNldCBvdXIgZWZmZWN0 aXZlIHVpZCB0byB0aGUgdXNlci11aWQsIG1ha2luZyBzdXJlIHRoYXQgd2Ug a2VlcAorICogcm9vdCBwcml2aWxlZ2VzIGluIHRoZSByZWFsIHVpZC4KICAq CiAgKiBBIHBvcnRhYmxlIHNvbHV0aW9uIHdvdWxkIHJlcXVpcmUgYSBmb3Jr KCksIGJ1dCB3ZSByZWx5IG9uIExpbnV4IGhhdmluZyB0aGUKLSAqIEJTRCBz ZXRyZXVpZCgpCisgKiBCU0Qgc2V0cmV1aWQoKS4KICAqLwogc3RhdGljIGlu dCBnZXRfaHVzaGxvZ2luX3N0YXR1cyhzdHJ1Y3QgcGFzc3dkICpwd2QpCiB7 CkBAIC05ODYsNyArOTg0LDcgQEAgc3RhdGljIGludCBnZXRfaHVzaGxvZ2lu X3N0YXR1cyhzdHJ1Y3QgcGFzc3dkICpwd2QpCiAKIAkJZmlsZSA9IGZpbGVz W2ldOwogCi0JCS8qIEdsb2JhbCBodXNoLWZpbGUqLworCQkvKiBnbG9iYWwg aHVzaC1maWxlICovCiAJCWlmICgqZmlsZSA9PSAnLycpIHsKIAkJCXN0cnVj dCBzdGF0IHN0OwogCQkJRklMRSAqZjsKQEAgLTEwMTMsNyArMTAxMSw3IEBA IHN0YXRpYyBpbnQgZ2V0X2h1c2hsb2dpbl9zdGF0dXMoc3RydWN0IHBhc3N3 ZCAqcHdkKQogCQkJcmV0dXJuIDA7CQkvKiBpZ25vcmUgcGVyLWFjY291bnQg ZmlsZXMgKi8KIAkJfQogCi0JCS8qIFBlci1hY2NvdW50IHNldHRpbmcgKi8K KwkJLyogcGVyLWFjY291bnQgc2V0dGluZyAqLwogCQlpZiAoc3RybGVuKHB3 ZC0+cHdfZGlyKSArIHNpemVvZihmaWxlKSArIDIgPiBzaXplb2YoYnVmKSkK IAkJCWNvbnRpbnVlOwogCQllbHNlIHsKQEAgLTEwNDEsOCArMTAzOSw4IEBA IHN0YXRpYyBpbnQgZ2V0X2h1c2hsb2dpbl9zdGF0dXMoc3RydWN0IHBhc3N3 ZCAqcHdkKQogfQogCiAvKgotICogRGV0YWNoIHRoZSBjb250cm9sbGluZyB0 ZXJtaW5hbCwgZm9yaywgcmVzdG9yZSBzeXNsb2cgc3R1ZmYgYW5kIGNyZWF0 ZSBhIG5ldwotICogc2Vzc2lvbi4KKyAqIERldGFjaCB0aGUgY29udHJvbGxp bmcgdGVybWluYWwsIGZvcmssIHJlc3RvcmUgc3lzbG9nIHN0dWZmLCBhbmQg Y3JlYXRlCisgKiBhIG5ldyBzZXNzaW9uLgogICovCiBzdGF0aWMgdm9pZCBm b3JrX3Nlc3Npb24oc3RydWN0IGxvZ2luX2NvbnRleHQgKmN4dCkKIHsKQEAg LTEwNTksMTUgKzEwNTcsMTUgQEAgc3RhdGljIHZvaWQgZm9ya19zZXNzaW9u KHN0cnVjdCBsb2dpbl9jb250ZXh0ICpjeHQpCiAJc2lnYWN0aW9uKFNJR0hV UCwgJnNhLCAmb2xkc2FfaHVwKTsJLyogaWdub3JlIHdoZW4gVElPQ05PVFRZ ICovCiAKIAkvKgotCSAqIGRldGFjaCB0aGUgY29udHJvbGxpbmcgdHR5Ci0J ICogLS0gd2UgbmVlZG4ndCB0aGUgdHR5IGluIHBhcmVudCB3aG8gd2FpdHMg Zm9yIGNoaWxkIG9ubHkuCi0JICogICAgVGhlIGNoaWxkIGNhbGxzIHNldHNp ZCgpIHRoYXQgZGV0YWNoIGZyb20gdGhlIHR0eSBhcyB3ZWxsLgorCSAqIERl dGFjaCB0aGUgY29udHJvbGxpbmcgdHR5LgorCSAqIFdlIGRvbid0IG5lZWQg dGhlIHR0eSBpbiBhIHBhcmVudCB3aG8gb25seSB3YWl0cyBmb3IgYSBjaGls ZC4KKwkgKiBUaGUgY2hpbGQgY2FsbHMgc2V0c2lkKCkgdGhhdCBkZXRhY2hl cyBmcm9tIHRoZSB0dHkgYXMgd2VsbC4KIAkgKi8KIAlpb2N0bCgwLCBUSU9D Tk9UVFksIE5VTEwpOwogCiAJLyoKLQkgKiBXZSBoYXZlIGNhcmUgYWJvdXQg U0lHVEVSTSwgYmVjYXVzZSBsZWF2ZSBQQU0gc2Vzc2lvbiB3aXRob3V0Ci0J ICogcGFtX2Nsb3NlX3Nlc3Npb24oKSBpcyBwcmV0dHkgYmFkIHRoaW5nLgor CSAqIFdlIGhhdmUgdG8gYmV3YXJlIG9mIFNJR1RFUk0sIGJlY2F1c2UgbGVh dmluZyBhIFBBTSBzZXNzaW9uCisJICogd2l0aG91dCBwYW1fY2xvc2Vfc2Vz c2lvbigpIGlzIGEgcHJldHR5IGJhZCB0aGluZy4KIAkgKi8KIAlzYS5zYV9o YW5kbGVyID0gc2lnX2hhbmRsZXI7CiAJc2lnYWN0aW9uKFNJR0hVUCwgJnNh LCBOVUxMKTsKQEAgLTEwNzYsMTQgKzEwNzQsMTEgQEAgc3RhdGljIHZvaWQg Zm9ya19zZXNzaW9uKHN0cnVjdCBsb2dpbl9jb250ZXh0ICpjeHQpCiAJY2xv c2Vsb2coKTsKIAogCS8qCi0JICogV2UgbXVzdCBmb3JrIGJlZm9yZSBzZXR1 aWQoKSBiZWNhdXNlIHdlIG5lZWQgdG8gY2FsbAorCSAqIFdlIG11c3QgZm9y ayBiZWZvcmUgc2V0dWlkKCksIGJlY2F1c2Ugd2UgbmVlZCB0byBjYWxsCiAJ ICogcGFtX2Nsb3NlX3Nlc3Npb24oKSBhcyByb290LgogCSAqLwogCWNoaWxk X3BpZCA9IGZvcmsoKTsKIAlpZiAoY2hpbGRfcGlkIDwgMCkgewotCQkvKgot CQkgKiBmb3JrKCkgZXJyb3IKLQkJICovCiAJCXdhcm4oXygiZm9yayBmYWls ZWQiKSk7CiAKIAkJcGFtX3NldGNyZWQoY3h0LT5wYW1oLCBQQU1fREVMRVRF X0NSRUQpOwpAQCAtMTA5Myw3ICsxMDg4LDcgQEAgc3RhdGljIHZvaWQgZm9y a19zZXNzaW9uKHN0cnVjdCBsb2dpbl9jb250ZXh0ICpjeHQpCiAKIAlpZiAo Y2hpbGRfcGlkKSB7CiAJCS8qCi0JCSAqIHBhcmVudCAtIHdhaXQgZm9yIGNo aWxkIHRvIGZpbmlzaCwgdGhlbiBjbGVhbnVwIHNlc3Npb24KKwkJICogcGFy ZW50IC0gd2FpdCBmb3IgY2hpbGQgdG8gZmluaXNoLCB0aGVuIGNsZWFuIHVw IHNlc3Npb24KIAkJICovCiAJCWNsb3NlKDApOwogCQljbG9zZSgxKTsKQEAg LTExODYsNyArMTE4MSw3IEBAIHN0YXRpYyB2b2lkIGluaXRfZW52aXJvbihz dHJ1Y3QgbG9naW5fY29udGV4dCAqY3h0KQogfQogCiAvKgotICogQ2FsbGVk IGZvciAtaCBvcHRpb24sIGluaXRpYWxpemUgY3h0LT57aG9zdG5hbWUsaG9z dGFkZHJlc3N9CisgKiBUaGlzIGlzIGNhbGxlZCBmb3IgdGhlIC1oIG9wdGlv biwgaW5pdGlhbGl6ZXMgY3h0LT57aG9zdG5hbWUsaG9zdGFkZHJlc3N9Lgog ICovCiBzdGF0aWMgdm9pZCBpbml0X3JlbW90ZV9pbmZvKHN0cnVjdCBsb2dp bl9jb250ZXh0ICpjeHQsIGNoYXIgKnJlbW90ZWhvc3QpCiB7CkBAIC0xMzAy LDggKzEyOTcsOCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3Yp CiAJCWNoYXIgKnAgPSAqYXJndjsKIAkJY3h0LnVzZXJuYW1lID0geHN0cmR1 cChwKTsKIAotCQkvKiB3aXBlIG5hbWUgLSBzb21lIHBlb3BsZSBtaXN0eXBl IHRoZWlyIHBhc3N3b3JkIGhlcmUgKi8KLQkJLyogKG9mIGNvdXJzZSB3ZSBh cmUgdG9vIGxhdGUsIGJ1dCBwZXJoYXBzIHRoaXMgaGVscHMgYSBsaXR0bGUg Li4pICovCisJCS8qIFdpcGUgdGhlIG5hbWUgLSBzb21lIHBlb3BsZSBtaXN0 eXBlIHRoZWlyIHBhc3N3b3JkIGhlcmUuICovCisJCS8qIChPZiBjb3Vyc2Ug d2UgYXJlIHRvbyBsYXRlLCBidXQgcGVyaGFwcyB0aGlzIGhlbHBzIGEgbGl0 dGxlLi4uKSAqLwogCQl3aGlsZSAoKnApCiAJCQkqcCsrID0gJyAnOwogCX0K QEAgLTEzMjcsOCArMTMyMiw4IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFy ICoqYXJndikKIAkvKgogCSAqIEF1dGhlbnRpY2F0aW9uIG1heSBiZSBza2lw cGVkIChmb3IgZXhhbXBsZSwgZHVyaW5nIGtybG9naW4sIHJsb2dpbiwKIAkg KiBldGMuLi4pLCBidXQgaXQgZG9lc24ndCBtZWFuIHRoYXQgd2UgY2FuIHNr aXAgb3RoZXIgYWNjb3VudCBjaGVja3MuCi0JICogVGhlIGFjY291bnQgY291 bGQgYmUgZGlzYWJsZWQgb3IgcGFzc3dvcmQgZXhwaXJlZCAoYWx0aG91Z2gK LQkgKiBrZXJiZXJvcyB0aWNrZXQgaXMgdmFsaWQpLiAgICAgICAgIC0tIGt6 YWtAcmVkaGF0LmNvbSAoMjItRmViLTIwMDYpCisJICogVGhlIGFjY291bnQg Y291bGQgYmUgZGlzYWJsZWQgb3IgdGhlIHBhc3N3b3JkIGhhcyBleHBpcmVk IChhbHRob3VnaAorCSAqIHRoZSBrZXJiZXJvcyB0aWNrZXQgaXMgdmFsaWQp LiAgICAgIC0tIGt6YWtAcmVkaGF0LmNvbSAoMjItRmViLTIwMDYpCiAJICov CiAJbG9naW5wYW1fYWNjdCgmY3h0KTsKIApAQCAtMTM0NSwxMCArMTM0MCw5 IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKIAogCS8qCiAJ ICogSW5pdGlhbGl6ZSB0aGUgc3VwcGxlbWVudGFyeSBncm91cCBsaXN0LiBU aGlzIHNob3VsZCBiZSBkb25lIGJlZm9yZQotCSAqIHBhbV9zZXRjcmVkIGJl Y2F1c2UgdGhlIFBBTSBtb2R1bGVzIG1pZ2h0IGFkZCBncm91cHMgZHVyaW5n Ci0JICogcGFtX3NldGNyZWQuCisJICogcGFtX3NldGNyZWQsIGJlY2F1c2Ug UEFNIG1vZHVsZXMgbWlnaHQgYWRkIGdyb3VwcyBkdXJpbmcgdGhhdCBjYWxs LgogCSAqCi0gICAgICAgICAqIEZvciByb290IHdlIGRvbid0IGNhbGwgaW5p dGdyb3VwcywgaW5zdGVhZCB3ZSBjYWxsIHNldGdyb3VwcyB3aXRoCisJICog Rm9yIHJvb3Qgd2UgZG9uJ3QgY2FsbCBpbml0Z3JvdXBzLCBpbnN0ZWFkIHdl IGNhbGwgc2V0Z3JvdXBzIHdpdGgKIAkgKiBncm91cCAwLiBUaGlzIGF2b2lk cyB0aGUgbmVlZCB0byBzdGVwIHRocm91Z2ggdGhlIHdob2xlIGdyb3VwIGZp bGUsCiAJICogd2hpY2ggY2FuIGNhdXNlIHByb2JsZW1zIGlmIE5JUywgTklT KywgTERBUCBvciBzb21ldGhpbmcgc2ltaWxhcgogCSAqIGlzIHVzZWQgYW5k IHRoZSBtYWNoaW5lIGhhcyBuZXR3b3JrIHByb2JsZW1zLgpAQCAtMTM2Myw3 ICsxMzU3LDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQog CX0KIAogCS8qCi0JICogT3BlbiBQQU0gc2Vzc2lvbiAoYWZ0ZXIgc3VjY2Vz c2Z1bCBhdXRoZW50aWNhdGlvbiBhbmQgYWNjb3VudCBjaGVjaykKKwkgKiBP cGVuIFBBTSBzZXNzaW9uIChhZnRlciBzdWNjZXNzZnVsIGF1dGhlbnRpY2F0 aW9uIGFuZCBhY2NvdW50IGNoZWNrKS4KIAkgKi8KIAlsb2dpbnBhbV9zZXNz aW9uKCZjeHQpOwogCkBAIC0xNDIwLDEyICsxNDE0LDEyIEBAIGludCBtYWlu KGludCBhcmdjLCBjaGFyICoqYXJndikKIAl9CiAKIAkvKgotCSAqIERldGFj aCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwsIGZvcmsoKSBhbmQgY3JlYXRl LCBuZXcgc2Vzc2lvbgotCSAqIGFuZCByZWluaWxpemFsaXplIHN5c2xvZyBz dHVmZi4KKwkgKiBEZXRhY2ggdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsLCBm b3JrLCBhbmQgY3JlYXRlIGEgbmV3IHNlc3Npb24KKwkgKiBhbmQgcmVpbml0 aWFsaXplIHN5c2xvZyBzdHVmZi4KIAkgKi8KIAlmb3JrX3Nlc3Npb24oJmN4 dCk7CiAKLQkvKiBkaXNjYXJkIHBlcm1pc3Npb25zIGxhc3Qgc28gY2FuJ3Qg Z2V0IGtpbGxlZCBhbmQgZHJvcCBjb3JlICovCisJLyogZGlzY2FyZCBwZXJt aXNzaW9ucyBsYXN0IHNvIHdlIGNhbid0IGdldCBraWxsZWQgYW5kIGRyb3Ag Y29yZSAqLwogCWlmIChzZXR1aWQocHdkLT5wd191aWQpIDwgMCAmJiBwd2Qt PnB3X3VpZCkgewogCQlzeXNsb2coTE9HX0FMRVJULCBfKCJzZXR1aWQoKSBm YWlsZWQiKSk7CiAJCWV4aXQoRVhJVF9GQUlMVVJFKTsKQEAgLTE0NzUsNSAr MTQ2OSwzIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKIAog CWV4aXQoRVhJVF9TVUNDRVNTKTsKIH0KLQotCi0tIAoxLjcuMC40Cgo= --_----------=_1369851833164160--