From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 29409 invoked from network); 22 Oct 2021 14:47:27 -0000 Received: from 4ess.inri.net (216.126.196.42) by inbox.vuxu.org with ESMTPUTF8; 22 Oct 2021 14:47:27 -0000 Received: from mail-yb1-f175.google.com ([209.85.219.175]) by 4ess; Fri Oct 22 10:38:31 -0400 2021 Received: by mail-yb1-f175.google.com with SMTP id i9so7411759ybi.8 for <9front@9front.org>; Fri, 22 Oct 2021 07:38:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=kLmd8sNX5fLL/CRRvDST8sichYK+KVpKqsiuCYwlkV0=; b=nE+2pdABSl+raObh1VPhlbiykYJupeFrD2w+vu9FAZRQSqjRumFduJsh6rJZC8kFk3 zPuV/+maWlJrszGhoJNI0rgWSBQQA1HpV6pEQ2kqudzbuwFSIhif4c2hIHmtEDGO3CYk Nn61oerbQ6rAP2w1pn13818fjTzXzk+BMLy05R9/XHOf0mYKlTFaVUplpGGnwFGZ1zkS wAyd9bcHoc+ZHZyRCoQmw1dLJt+g6cSsNenR++KWK/VIxYkcbrwJB8EAVH9PZTnshS72 qvxCzEnhm07CHFu/1N1rLR2TtrEHsUDo7BSVmEsTdZssqlV4s/14GsRPjW8p5Oj0fhFC Tu4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=kLmd8sNX5fLL/CRRvDST8sichYK+KVpKqsiuCYwlkV0=; b=At3F1hMeZ3DvsT75caxjDqhVmBZsG0Q3yNIvUJqrYw8bwNkh2lNLjkRa68mvYm3L0r TJ2T6Zkk76RK0UQq3RBaAC9y/Bo4YrmhxA9uNwV7z1Z8fIEn8m73xrWan1j9XGI5V5Zo /c++bccHayqhUDf3lbqHhHulnW1ZpjuCB/hCG9XSN9BZehqGJbor8znB7ylpMDhEdUWa kwt4wACRF1i6ONr23KLtlb21CFQr5//YOBf6IcIGJVk7i6hUB29Gp/FizCN+L1jyVOE4 /W797nITNdGe2Pg5SRgdEspfKEC03LMsQ63GZdFhdd4Vi8f1pDC9mcUQ1NqTgyZQklPv 0JYA== X-Gm-Message-State: AOAM531szS/JMI43+x2eNQs2LZV+y37PrcGhSEs/TASfY4TaRtEAkrEE B1QH342GrNAMPeCwk7+XVmT5LbjowwpjzYkBwqxn6igu7aw= X-Google-Smtp-Source: ABdhPJwbgrttcUbq3w9I92bS7fBDyZhKSmI9l3i8ih8yNFjdJLB0rnCzvTQEJwYZFA/vhxM/FrS7E0N3RGymcgYdsQY= X-Received: by 2002:a25:32cd:: with SMTP id y196mr25194yby.337.1634913093241; Fri, 22 Oct 2021 07:31:33 -0700 (PDT) MIME-Version: 1.0 References: <7648813BD190663018940ABF1A7326C8@eigenstate.org> In-Reply-To: From: kemal Date: Fri, 22 Oct 2021 17:31:18 +0300 Message-ID: To: 9front@9front.org Content-Type: multipart/mixed; boundary="0000000000002997c405cef1de55" List-ID: <9front.9front.org> List-Help: X-Glyph: ➈ X-Bullshit: open self-healing information app NoSQL interface Subject: Re: [9front] intent to delete: devssl, cpu, oexportfs, import Reply-To: 9front@9front.org Precedence: bulk --0000000000002997c405cef1de55 Content-Type: text/plain; charset="UTF-8" > > SSL 3.0 is implemented by devssl. > > also by devtls and tlshand. we have to scrap SSL3 from there first. > oops, i didn't see that you mentioned libsec in the mail, i read the mail too quickly. sorry. also, i made a diff that removes SSL3 from devtls and tlshand. it's attached. i didn't test the diff throughly, so it might be buggy. i hope not. --0000000000002997c405cef1de55 Content-Type: text/plain; charset="US-ASCII"; name="diff.txt" Content-Disposition: attachment; filename="diff.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kv2gv3im0 ZGlmZiBlNTRiNmM2Y2JkNGQ4MmQ3MGRkYjQ5MzJhZWFmYjBiMDI4Y2Q3MWY1IHVuY29tbWl0dGVk Ci0tLSBhLy9zeXMvbWFuLzIvcHVzaHRscworKysgYi8vc3lzL21hbi8yL3B1c2h0bHMKQEAgLTEs NiArMSw2IEBACiAuVEggUFVTSFRMUyAyCiAuU0ggTkFNRQotcHVzaHRscywgdGxzQ2xpZW50LCB0 bHNTZXJ2ZXIsIGluaXRUaHVtYnByaW50cywgZnJlZVRodW1icHJpbnRzLCBva1RodW1icHJpbnQs IG9rQ2VydGlmaWNhdGUsIHJlYWRjZXJ0LCByZWFkY2VydGNoYWluIFwtIGF0dGFjaCBUTFMxIG9y IFNTTDMgZW5jcnlwdGlvbiB0byBhIGNvbW11bmljYXRpb24gY2hhbm5lbAorcHVzaHRscywgdGxz Q2xpZW50LCB0bHNTZXJ2ZXIsIGluaXRUaHVtYnByaW50cywgZnJlZVRodW1icHJpbnRzLCBva1Ro dW1icHJpbnQsIG9rQ2VydGlmaWNhdGUsIHJlYWRjZXJ0LCByZWFkY2VydGNoYWluIFwtIGF0dGFj aCBUTFMgZW5jcnlwdGlvbiB0byBhIGNvbW11bmljYXRpb24gY2hhbm5lbAogLlNIIFNZTk9QU0lT CiAuQiAjaW5jbHVkZSA8dS5oPgogLmJyCkBAIC00NSw4ICs0NSw2IEBACiBhbmQgYSBoYW5kc2hh a2UgcHJvdG9jb2wsCiBkb2luZyBpbml0aWFsIGF1dGhlbnRpY2F0aW9uIGFuZCBzZWNyZXQgY3Jl YXRpb24gYXQKIHVzZXIgbGV2ZWwgYW5kIHRoZW4gc3RhcnRpbmcgYSBkYXRhIGNoYW5uZWwgaW4g dGhlIHJlY29yZCBwcm90b2NvbC4KLVRMUyBpcyBuZWFybHkgdGhlIHNhbWUgYXMgU1NMIDMuMCwg YW5kIHRoZSBzb2Z0d2FyZSBzaG91bGQgaW50ZXJvcGVyYXRlCi13aXRoIGltcGxlbWVudGF0aW9u cyBvZiBlaXRoZXIgc3RhbmRhcmQuCiAuUFAKIFRvIHVzZSBqdXN0IHRoZSByZWNvcmQgbGF5ZXIs IGFzIGRlc2NyaWJlZCBpbgogLklSIHRscyAoMyksCi0tLSBhLy9zeXMvbWFuLzMvdGxzCisrKyBi Ly9zeXMvbWFuLzMvdGxzCkBAIC0xLDYgKzEsNiBAQAogLlRIIFRMUyAzIAogLlNIIE5BTUUKLXRs cyBcLSBUTFMgYW5kIFNTTDMgcmVjb3JkIGxheWVyCit0bHMgXC0gVExTIHJlY29yZCBsYXllcgog LlNIIFNZTk9QU0lTCiAubmYKIC5CIGJpbmQgLWEgI2EgL25ldApAQCAtMTYsMTAgKzE2LDkgQEAK IC5CSSAvbmV0L3Rscy8gbiAvc3RhdHVzCiAuZmkKIC5TSCBERVNDUklQVElPTgotVGhlIFRMUyBk ZXZpY2UgaW1wbGVtZW50cyB0aGUgcmVjb3JkIGxheWVyIHByb3RvY29scwotb2YgVHJhbnNwb3J0 IExheWVyIFNlY3VyaXR5IHZlcnNpb24gMS4wLTEuMiBhbmQgU2VjdXJlIFNvY2tldHMgTGF5ZXIg dmVyc2lvbiAzLjAuCi1JdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGhhbmRzaGFrZSBwcm90b2Nv bHMsIHdoaWNoIGFyZSByZXNwb25zaWJsZSBmb3IKLW11dHVhbCBhdXRoZW50aWNhdGlvbiBhbmQg a2V5IGV4Y2hhbmdlLgorVGhlIFRMUyBkZXZpY2UgaW1wbGVtZW50cyB0aGUgcmVjb3JkIGxheWVy IHByb3RvY29scyBvZiBUcmFuc3BvcnQgTGF5ZXIgU2VjdXJpdHkKK3ZlcnNpb24gMS4wLTEuMi4g SXQgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBoYW5kc2hha2UgcHJvdG9jb2xzLCB3aGljaCBhcmUg cmVzcG9uc2libGUKK2ZvciBtdXR1YWwgYXV0aGVudGljYXRpb24gYW5kIGtleSBleGNoYW5nZS4K IFRoZQogLkkgdGxzCiBkZXZpY2UgY2FuIGJlIHRob3VnaHQgb2YgYXMgZmlsdGVycyBwcm92aWRp bmcgb3B0aW9uYWwgZW5jcnlwdGlvbiBhbmQgYW50aS10YW1wZXJpbmcuCkBAIC01MywxMyArNTIs MTEgQEAKIC5JIHZlcnMKIGZvcm1hdCByZWNvcmRzLCBidXQgaW5jb21pbmcgbWVzc2FnZXMgb2Yg ZWl0aGVyIHZlcnNpb24gYXJlIGFjY2VwdGVkLgogVmFsaWQgdmVyc2lvbnMgYXJlCi0uQiAweDMw MAotZm9yIFNTTHYzLjAgYW5kCiAuQlIgMHgzMDEgLAogLkIgMHgzMDIKIGFuZAogLkIgMHgzMDMK LWZvciBUTFN2MS4wICh3aGljaCBjb3VsZCBiZSBrbm93biBhcyBTU0x2My4wMSksIFRMU3YxLjEg YW5kIFRMU3YxLjIuCitmb3IgVExTdjEuMCwgVExTdjEuMSBhbmQgVExTdjEuMi4KIFRoaXMgY29t bWFuZCBtdXN0IGJlIGlzc3VlZCBiZWZvcmUgYW55IG90aGVyIGNvbW1hbmQKIGFuZCBiZWZvcmUg cmVhZGluZyBvciB3cml0aW5nIGFueSBtZXNzYWdlczsKIGl0IG1heSBvbmx5IGJlIGV4ZWN1dGVk IG9uY2UuCkBAIC0xMjAsMTAgKzExNyw5IEBACiAuVFAKIC5CSSBhbGVydCBcIGFsZXJ0bm8KIFNl bmQgYW4gYWxlcnQgbWVzc2FnZS4KLS5JIEFsZXJ0bm8KLW1heSBiZSBhIHZhbGlkIGFsZXJ0IGNv ZGUgZm9yIGVpdGhlciBTU0x2My4wIG9yIFRMUywKLWFuZCBpcyBtYXBwZWQgdG8gYW4gYXBwcm9w cmlhdGUgY29kZSBmb3IgdGhlIHByb3RvY29sIGluIHVzZS4KLUlmIGl0IGlzIGEgZmF0YWwgYWxl cnQsIHRoZSBmaWx0ZXIgaXMgc2V0IGludG8gYW4gZXJyb3Igc3RhdGUuCitJZgorLkkgYWxlcnRu bworaXMgYSBmYXRhbCBhbGVydCwgdGhlIGZpbHRlciBpcyBzZXQgaW50byBhbiBlcnJvciBzdGF0 ZS4KIC5QUAogQXBwbGljYXRpb24gbWVzc2FnZXMgYW5kIGhhbmRzaGFrZSBtZXNzYWdlcyBhcmUg Y29tbXVuaWNhdGVkIHVzaW5nCiAuSSBkYXRhCi0tLSBhLy9zeXMvc3JjL2xpYnNlYy9wb3J0L3Rs c2hhbmQuYworKysgYi8vc3lzL3NyYy9saWJzZWMvcG9ydC90bHNoYW5kLmMKQEAgLTgsMTQgKzgs MTMgQEAKIC8vCQljbGllbnQvc2VydmVyIC0gbWFpbiBoYW5kc2hha2UgcHJvdG9jb2wgZGVmaW5p dGlvbgogLy8JCW1lc3NhZ2UgZnVuY3Rpb25zIC0gZm9ybWF0aW5nIGhhbmRzaGFrZSBtZXNzYWdl cwogLy8JCWNpcGhlciBjaG9pY2VzIC0gY2F0YWxvZyBvZiBkaWdlc3QgYW5kIGVuY3J5cHQgYWxn b3JpdGhtcwotLy8JCXNlY3VyaXR5IGZ1bmN0aW9ucyAtIFBLQ1MjMSwgc3NsSE1BQywgc2Vzc2lv biBrZXlnZW4KKy8vCQlzZWN1cml0eSBmdW5jdGlvbnMgLSBQS0NTIzEsIHNlc3Npb24ga2V5Z2Vu CiAvLwkJZ2VuZXJhbCB1dGlsaXR5IGZ1bmN0aW9ucyAtIG1hbGxvYywgc2VyaWFsaXphdGlvbgot Ly8gVGhlIGhhbmRzaGFrZSBwcm90b2NvbCBidWlsZHMgb24gdGhlIFRMUy9TU0wzIHJlY29yZCBs YXllciBwcm90b2NvbCwKLS8vIHdoaWNoIGlzIGltcGxlbWVudGVkIGluIGtlcm5lbCBkZXZpY2Ug I2EuICBTZWUgYWxzbyAvbGliL3JmYy9yZmMyMjQ2LgorLy8gVGhlIGhhbmRzaGFrZSBwcm90b2Nv bCBidWlsZHMgb24gdGhlIFRMUyByZWNvcmQgbGF5ZXIgcHJvdG9jb2wsCisvLyB3aGljaCBpcyBp bXBsZW1lbnRlZCBpbiBrZXJuZWwgZGV2aWNlICNhLiAgU2VlIGFsc28gL2xpYi9yZmMvcmZjNTI0 Ni4KIAogZW51bSB7Ci0JVExTRmluaXNoZWRMZW4gPSAxMiwKLQlTU0wzRmluaXNoZWRMZW4gPSBN RDVkbGVuK1NIQTFkbGVuLAorCUZpbmlzaGVkTGVuID0gMTIsCiAJTWF4S2V5RGF0YSA9IDE2MCwJ Ly8gYW1vdW50IG9mIHNlY3JldCB3ZSBtYXkgbmVlZAogCU1BWGRsZW4gPSBTSEEyXzUxMmRsZW4s CiAJUmFuZG9tU2l6ZSA9IDMyLApAQCAtNDcsMTEgKzQ2LDYgQEAKIAl2b2lkICgqaW5pdCkobXBp bnQgKnAsIG1waW50ICphLCBtcGludCAqYiwgbXBpbnQgKngsIG1waW50ICp5LCBtcGludCAqbiwg bXBpbnQgKmgpOwogfSBOYW1lZGN1cnZlOwogCi10eXBlZGVmIHN0cnVjdCBGaW5pc2hlZHsKLQl1 Y2hhciB2ZXJpZnlbU1NMM0ZpbmlzaGVkTGVuXTsKLQlpbnQgbjsKLX0gRmluaXNoZWQ7Ci0KIHR5 cGVkZWYgc3RydWN0IEhhbmRzaGFrZUhhc2ggewogCU1ENXN0YXRlCW1kNTsKIAlTSEFzdGF0ZQlz aGExOwpAQCAtODEsNyArNzUsNiBAQAogCS8vIGJ5dGUgZ2VuZXJhdGlvbiBhbmQgaGFuZHNoYWtl IGNoZWNrc3VtCiAJdm9pZCAoKnByZikodWNoYXIqLCBpbnQsIHVjaGFyKiwgaW50LCBjaGFyKiwg dWNoYXIqLCBpbnQpOwogCXZvaWQgKCpzZXRGaW5pc2hlZCkoVGxzU2VjKiwgSGFuZHNoYWtlSGFz aCwgdWNoYXIqLCBpbnQpOwotCWludCBuZmluOwogfTsKIAogdHlwZWRlZiBzdHJ1Y3QgVGxzQ29u bmVjdGlvbnsKQEAgLTk5LDcgKzkyLDcgQEAKIAogCS8vIGZvciBmaW5pc2hlZCBtZXNzYWdlcwog CUhhbmRzaGFrZUhhc2gJaGFuZGhhc2g7Ci0JRmluaXNoZWQJZmluaXNoZWQ7CisJdWNoYXIJCWZp bmlzaGVkW0ZpbmlzaGVkTGVuXTsKIAogCXVjaGFyICpzZW5kcDsKIAl1Y2hhciBidWZbMTw8MTZd OwpAQCAtMTUyLDE4ICsxNDUsMTcgQEAKIAkJCWludCBzaWdhbGc7CiAJCQlCeXRlcyAqc2lnbmF0 dXJlOwogCQl9IGNlcnRpZmljYXRlVmVyaWZ5OwkJCi0JCUZpbmlzaGVkIGZpbmlzaGVkOworCQl1 Y2hhciBmaW5pc2hlZFtGaW5pc2hlZExlbl07CiAJfSB1OwogfSBNc2c7CiAKIAogZW51bSB7Ci0J U1NMM1ZlcnNpb24JPSAweDAzMDAsCiAJVExTMTBWZXJzaW9uCT0gMHgwMzAxLAogCVRMUzExVmVy c2lvbgk9IDB4MDMwMiwKIAlUTFMxMlZlcnNpb24JPSAweDAzMDMsCiAJUHJvdG9jb2xWZXJzaW9u CT0gVExTMTJWZXJzaW9uLAkvLyBtYXhpbXVtIHZlcnNpb24gd2Ugc3BlYWsKLQlNaW5Qcm90b1Zl cnNpb24JPSAweDAzMDAsCS8vIGxpbWl0cyBvbiB2ZXJzaW9uIHdlIGFjY2VwdAorCU1pblByb3Rv VmVyc2lvbgk9IDB4MDMwMSwJLy8gbGltaXRzIG9uIHZlcnNpb24gd2UgYWNjZXB0CiAJTWF4UHJv dG9WZXJzaW9uCT0gMHgwM2ZmLAogfTsKIApAQCAtMTcyLDcgKzE2NCw2IEBACiAJSEhlbGxvUmVx dWVzdCwKIAlIQ2xpZW50SGVsbG8sCiAJSFNlcnZlckhlbGxvLAotCUhTU0wyQ2xpZW50SGVsbG8g PSA5LCAgLyogbG9jYWwgY29udmVudGlvbjsgIHNlZSBkZXZ0bHMuYyAqLwogCUhDZXJ0aWZpY2F0 ZSA9IDExLAogCUhTZXJ2ZXJLZXlFeGNoYW5nZSwKIAlIQ2VydGlmaWNhdGVSZXF1ZXN0LApAQCAt MTkyLDcgKzE4Myw2IEBACiAJRVJlY29yZE92ZXJmbG93ID0gMjIsCiAJRURlY29tcHJlc3Npb25G YWlsdXJlID0gMzAsCiAJRUhhbmRzaGFrZUZhaWx1cmUgPSA0MCwKLQlFTm9DZXJ0aWZpY2F0ZSA9 IDQxLAogCUVCYWRDZXJ0aWZpY2F0ZSA9IDQyLAogCUVVbnN1cHBvcnRlZENlcnRpZmljYXRlID0g NDMsCiAJRUNlcnRpZmljYXRlUmV2b2tlZCA9IDQ0LApAQCAtMzY3LDcgKzM1Nyw2IEBACiAjcHJh Z21hCXZhcmFyZ2NrIGFyZ3Bvcwl0bHNFcnJvciAzCiBzdGF0aWMgaW50IHNldFZlcnNpb24oVGxz Q29ubmVjdGlvbiAqYywgaW50IHZlcnNpb24pOwogc3RhdGljIGludCBzZXRTZWNyZXRzKFRsc0Nv bm5lY3Rpb24gKmMsIGludCBpc2NsaWVudCk7Ci1zdGF0aWMgaW50IGZpbmlzaGVkTWF0Y2goVGxz Q29ubmVjdGlvbiAqYywgRmluaXNoZWQgKmYpOwogc3RhdGljIHZvaWQgdGxzQ29ubmVjdGlvbkZy ZWUoVGxzQ29ubmVjdGlvbiAqYyk7CiAKIHN0YXRpYyBpbnQgaXNESEUoaW50IHRsc2lkKTsKQEAg LTM5NCw3ICszODMsNiBAQAogc3RhdGljIEJ5dGVzKgl0bHNTZWNESEVjKFRsc1NlYyAqc2VjLCBC eXRlcyAqcCwgQnl0ZXMgKmcsIEJ5dGVzICpZcyk7CiBzdGF0aWMgQnl0ZXMqCXRsc1NlY0VDREhF YyhUbHNTZWMgKnNlYywgaW50IGN1cnZlLCBCeXRlcyAqWXMpOwogc3RhdGljIHZvaWQJdGxzU2Vj VmVycyhUbHNTZWMgKnNlYywgaW50IHYpOwotc3RhdGljIGludAl0bHNTZWNGaW5pc2hlZChUbHNT ZWMgKnNlYywgSGFuZHNoYWtlSGFzaCBoc2gsIHVjaGFyICpmaW4sIGludCBuZmluLCBpbnQgaXNj bGllbnQpOwogc3RhdGljIHZvaWQJc2V0TWFzdGVyU2VjcmV0KFRsc1NlYyAqc2VjLCBCeXRlcyAq cG0pOwogc3RhdGljIGludAlkaWdlc3RESHBhcmFtcyhUbHNTZWMgKnNlYywgQnl0ZXMgKnBhciwg dWNoYXIgZGlnZXN0W01BWGRsZW5dLCBpbnQgc2lnYWxnKTsKIHN0YXRpYyBjaGFyKgl2ZXJpZnlE SHBhcmFtcyhUbHNTZWMgKnNlYywgQnl0ZXMgKnBhciwgQnl0ZXMgKmNlcnQsIEJ5dGVzICpzaWcs IGludCBzaWdhbGcpOwpAQCAtNTExLDI4ICs0OTksMjYgQEAKIAl9CiAKIAkvLyBFbGxpcHRpYyBD dXJ2ZXMgKGFsc28gY2FsbGVkIFN1cHBvcnRlZCBHcm91cHMpCi0JaWYoUHJvdG9jb2xWZXJzaW9u ID49IFRMUzEwVmVyc2lvbil7Ci0JCW0gPSBwIC0gYjsKLQkJYiA9IGVyZWFsbG9jKGIsIG0gKyAy KzIrMituZWxlbShuYW1lZGN1cnZlcykqMiArIDIrMisxK25lbGVtKHBvaW50Zm9ybWF0cykpOwot CQlwID0gYiArIG07CisJbSA9IHAgLSBiOworCWIgPSBlcmVhbGxvYyhiLCBtICsgMisyKzIrbmVs ZW0obmFtZWRjdXJ2ZXMpKjIgKyAyKzIrMStuZWxlbShwb2ludGZvcm1hdHMpKTsKKwlwID0gYiAr IG07CiAKLQkJbiA9IG5lbGVtKG5hbWVkY3VydmVzKTsKLQkJcHV0MTYocCwgRXh0ZWMpLCBwICs9 IDI7CS8qIFR5cGU6IGVsbGlwdGljX2N1cnZlcyAvIHN1cHBvcnRlZF9ncm91cHMgKi8KLQkJcHV0 MTYocCwgKG4rMSkqMiksIHAgKz0gMjsJLyogTGVuZ3RoICovCi0JCXB1dDE2KHAsIG4qMiksIHAg Kz0gMjsJCS8qIEVsbGlwdGljIEN1cnZlcyBMZW5ndGggKi8KLQkJZm9yKGk9MDsgaSA8IG47IGkr Kyl7CQkvKiBFbGxpcHRpYyBDdXJ2ZXMgKi8KLQkJCXB1dDE2KHAsIG5hbWVkY3VydmVzW2ldLnRs c2lkKTsKLQkJCXAgKz0gMjsKLQkJfQotCi0JCW4gPSBuZWxlbShwb2ludGZvcm1hdHMpOwotCQlw dXQxNihwLCBFeHRlY3ApLCBwICs9IDI7CS8qIFR5cGU6IGVjX3BvaW50X2Zvcm1hdHMgKi8KLQkJ cHV0MTYocCwgbisxKSwgcCArPSAyOwkJLyogTGVuZ3RoICovCi0JCSpwKysgPSBuOwkJCS8qIEVD IHBvaW50IGZvcm1hdHMgTGVuZ3RoICovCi0JCWZvcihpPTA7IGkgPCBuOyBpKyspCQkvKiBFQyBw b2ludCBmb3JtYXRzICovCi0JCQkqcCsrID0gcG9pbnRmb3JtYXRzW2ldOworCW4gPSBuZWxlbShu YW1lZGN1cnZlcyk7CisJcHV0MTYocCwgRXh0ZWMpLCBwICs9IDI7CS8qIFR5cGU6IGVsbGlwdGlj X2N1cnZlcyAvIHN1cHBvcnRlZF9ncm91cHMgKi8KKwlwdXQxNihwLCAobisxKSoyKSwgcCArPSAy OwkvKiBMZW5ndGggKi8KKwlwdXQxNihwLCBuKjIpLCBwICs9IDI7CQkvKiBFbGxpcHRpYyBDdXJ2 ZXMgTGVuZ3RoICovCisJZm9yKGk9MDsgaSA8IG47IGkrKyl7CQkvKiBFbGxpcHRpYyBDdXJ2ZXMg Ki8KKwkJcHV0MTYocCwgbmFtZWRjdXJ2ZXNbaV0udGxzaWQpOworCQlwICs9IDI7CiAJfQogCisJ biA9IG5lbGVtKHBvaW50Zm9ybWF0cyk7CisJcHV0MTYocCwgRXh0ZWNwKSwgcCArPSAyOwkvKiBU eXBlOiBlY19wb2ludF9mb3JtYXRzICovCisJcHV0MTYocCwgbisxKSwgcCArPSAyOwkJLyogTGVu Z3RoICovCisJKnArKyA9IG47CQkJLyogRUMgcG9pbnQgZm9ybWF0cyBMZW5ndGggKi8KKwlmb3Io aT0wOyBpIDwgbjsgaSsrKQkJLyogRUMgcG9pbnQgZm9ybWF0cyAqLworCQkqcCsrID0gcG9pbnRm b3JtYXRzW2ldOworCiAJLy8gc2lnbmF0dXJlIGFsZ29yaXRobXMKIAlpZihQcm90b2NvbFZlcnNp b24gPj0gVExTMTJWZXJzaW9uKXsKIAkJbiA9IG5lbGVtKHNpZ2FsZ3MpOwpAQCAtODQ5LDEwICs4 MzUsNyBAQAogCX0KIAogCS8qIG5vIENlcnRpZmljYXRlVmVyaWZ5OyBza2lwIHRvIEZpbmlzaGVk ICovCi0JaWYodGxzU2VjRmluaXNoZWQoYy0+c2VjLCBjLT5oYW5kaGFzaCwgYy0+ZmluaXNoZWQu dmVyaWZ5LCBjLT5maW5pc2hlZC5uLCAxKSA8IDApewotCQl0bHNFcnJvcihjLCBFSW50ZXJuYWxF cnJvciwgImNhbid0IHNldCBmaW5pc2hlZDogJXIiKTsKLQkJZ290byBFcnI7Ci0JfQorCSgqYy0+ c2VjLT5zZXRGaW5pc2hlZCkoYy0+c2VjLCBjLT5oYW5kaGFzaCwgYy0+ZmluaXNoZWQsIDEpOwog CWlmKCFtc2dSZWN2KGMsICZtKSkKIAkJZ290byBFcnI7CiAJaWYobS50YWcgIT0gSEZpbmlzaGVk KSB7CkBAIC04NTksNyArODQyLDcgQEAKIAkJdGxzRXJyb3IoYywgRVVuZXhwZWN0ZWRNZXNzYWdl LCAiZXhwZWN0ZWQgYSBmaW5pc2hlZCIpOwogCQlnb3RvIEVycjsKIAl9Ci0JaWYoIWZpbmlzaGVk TWF0Y2goYywgJm0udS5maW5pc2hlZCkpIHsKKwlpZih0c21lbWNtcChjLT5maW5pc2hlZCwgbS51 LmZpbmlzaGVkLCBGaW5pc2hlZExlbikgIT0gMCkgewogCQl0bHNFcnJvcihjLCBFSGFuZHNoYWtl RmFpbHVyZSwgImZpbmlzaGVkIHZlcmlmaWNhdGlvbiBmYWlsZWQiKTsKIAkJZ290byBFcnI7CiAJ fQpAQCAtODcxLDEyICs4NTQsOSBAQAogCQlnb3RvIEVycjsKIAl9CiAKLQlpZih0bHNTZWNGaW5p c2hlZChjLT5zZWMsIGMtPmhhbmRoYXNoLCBjLT5maW5pc2hlZC52ZXJpZnksIGMtPmZpbmlzaGVk Lm4sIDApIDwgMCl7Ci0JCXRsc0Vycm9yKGMsIEVJbnRlcm5hbEVycm9yLCAiY2FuJ3Qgc2V0IGZp bmlzaGVkOiAlciIpOwotCQlnb3RvIEVycjsKLQl9CisJKCpjLT5zZWMtPnNldEZpbmlzaGVkKShj LT5zZWMsIGMtPmhhbmRoYXNoLCBjLT5maW5pc2hlZCwgMCk7CiAJbS50YWcgPSBIRmluaXNoZWQ7 Ci0JbS51LmZpbmlzaGVkID0gYy0+ZmluaXNoZWQ7CisJbWVtbW92ZShtLnUuZmluaXNoZWQsIGMt PmZpbmlzaGVkLCBGaW5pc2hlZExlbik7CiAJaWYoIW1zZ1NlbmQoYywgJm0sIEFGbHVzaCkpCiAJ CWdvdG8gRXJyOwogCWlmKHRyYWNlKQpAQCAtMTIyMCwyMSArMTIwMCwxNSBAQAogCiAJLy8gQ2lw aGVyY2hhbmdlIG11c3Qgb2NjdXIgaW1tZWRpYXRlbHkgYmVmb3JlIEZpbmlzaGVkIHRvIGF2b2lk CiAJLy8gcG90ZW50aWFsIGhvbGU7ICBzZWUgc2VjdGlvbiA0LjMgb2YgV2FnbmVyIFNjaG5laWVy IDE5OTYuCi0JaWYodGxzU2VjRmluaXNoZWQoYy0+c2VjLCBjLT5oYW5kaGFzaCwgYy0+ZmluaXNo ZWQudmVyaWZ5LCBjLT5maW5pc2hlZC5uLCAxKSA8IDApewotCQl0bHNFcnJvcihjLCBFSW50ZXJu YWxFcnJvciwgImNhbid0IHNldCBmaW5pc2hlZCAxOiAlciIpOwotCQlnb3RvIEVycjsKLQl9CisJ KCpjLT5zZWMtPnNldEZpbmlzaGVkKShjLT5zZWMsIGMtPmhhbmRoYXNoLCBjLT5maW5pc2hlZCwg MSk7CiAJbS50YWcgPSBIRmluaXNoZWQ7Ci0JbS51LmZpbmlzaGVkID0gYy0+ZmluaXNoZWQ7CisJ bWVtbW92ZShtLnUuZmluaXNoZWQsIGMtPmZpbmlzaGVkLCBGaW5pc2hlZExlbik7CiAJaWYoIW1z Z1NlbmQoYywgJm0sIEFGbHVzaCkpIHsKIAkJdGxzRXJyb3IoYywgRUludGVybmFsRXJyb3IsICJj YW4ndCBmbHVzaCBhZnRlciBjbGllbnQgRmluaXNoZWQ6ICVyIik7CiAJCWdvdG8gRXJyOwogCX0K IAotCWlmKHRsc1NlY0ZpbmlzaGVkKGMtPnNlYywgYy0+aGFuZGhhc2gsIGMtPmZpbmlzaGVkLnZl cmlmeSwgYy0+ZmluaXNoZWQubiwgMCkgPCAwKXsKLQkJdGxzRXJyb3IoYywgRUludGVybmFsRXJy b3IsICJjYW4ndCBzZXQgZmluaXNoZWQgMDogJXIiKTsKLQkJZ290byBFcnI7Ci0JfQorCSgqYy0+ c2VjLT5zZXRGaW5pc2hlZCkoYy0+c2VjLCBjLT5oYW5kaGFzaCwgYy0+ZmluaXNoZWQsIDApOwog CWlmKCFtc2dSZWN2KGMsICZtKSkgewogCQl0bHNFcnJvcihjLCBFSW50ZXJuYWxFcnJvciwgImNh bid0IHJlYWQgc2VydmVyIEZpbmlzaGVkOiAlciIpOwogCQlnb3RvIEVycjsKQEAgLTEyNDQsNyAr MTIxOCw3IEBACiAJCWdvdG8gRXJyOwogCX0KIAotCWlmKCFmaW5pc2hlZE1hdGNoKGMsICZtLnUu ZmluaXNoZWQpKSB7CisJaWYodHNtZW1jbXAoYy0+ZmluaXNoZWQsIG0udS5maW5pc2hlZCwgRmlu aXNoZWRMZW4pICE9IDApIHsKIAkJdGxzRXJyb3IoYywgRUhhbmRzaGFrZUZhaWx1cmUsICJmaW5p c2hlZCB2ZXJpZmljYXRpb24gZmFpbGVkIik7CiAJCWdvdG8gRXJyOwogCX0KQEAgLTE0MTgsMTYg KzEzOTIsMTYgQEAKIAkJCWdvdG8gT3ZlcmZsb3c7CiAJCWlmKGlzRUNESEUoYy0+Y2lwaGVyKSkK IAkJCSpwKysgPSBuOwotCQllbHNlIGlmKGlzREhFKGMtPmNpcGhlcikgfHwgYy0+dmVyc2lvbiAh PSBTU0wzVmVyc2lvbikKKwkJZWxzZSBpZihpc0RIRShjLT5jaXBoZXIpKQogCQkJcHV0MTYocCwg biksIHAgKz0gMjsKIAkJbWVtbW92ZShwLCBtLT51LmNsaWVudEtleUV4Y2hhbmdlLmtleS0+ZGF0 YSwgbik7CiAJCXAgKz0gbjsKIAkJYnJlYWs7CiAJY2FzZSBIRmluaXNoZWQ6Ci0JCWlmKHArbS0+ dS5maW5pc2hlZC5uID4gZSkKKwkJaWYocCtGaW5pc2hlZExlbiA+IGUpCiAJCQlnb3RvIE92ZXJm bG93OwotCQltZW1tb3ZlKHAsIG0tPnUuZmluaXNoZWQudmVyaWZ5LCBtLT51LmZpbmlzaGVkLm4p OwotCQlwICs9IG0tPnUuZmluaXNoZWQubjsKKwkJbWVtbW92ZShwLCBtLT51LmZpbmlzaGVkLCBG aW5pc2hlZExlbik7CisJCXAgKz0gRmluaXNoZWRMZW47CiAJCWJyZWFrOwogCX0KIApAQCAtMTQ5 NSw1MCArMTQ2OSw2IEBACiAJCX0KIAl9CiAKLQlpZih0eXBlID09IEhTU0wyQ2xpZW50SGVsbG8p ewotCQkvKiBDb3BlIHdpdGggYW4gU1NMMyBDbGllbnRIZWxsbyBleHByZXNzZWQgaW4gU1NMMiBy ZWNvcmQgZm9ybWF0LgotCQkJVGhpcyBpcyBzZW50IGJ5IHNvbWUgY2xpZW50cyB0aGF0IHdlIG11 c3QgaW50ZXJvcGVyYXRlCi0JCQl3aXRoLCBzdWNoIGFzIEphdmEncyBKU1NFIGFuZCBNaWNyb3Nv ZnQncyBJbnRlcm5ldCBFeHBsb3Jlci4gKi8KLQkJaW50IG5zaWQsIG5yYW5kb20sIG5jaXBoOwot Ci0JCXAgPSB0bHNSZWFkTihjLCBuKTsKLQkJaWYocCA9PSBuaWwpCi0JCQlyZXR1cm4gMDsKLQkJ bXNnSGFzaChjLCBwLCBuKTsKLQkJbS0+dGFnID0gSENsaWVudEhlbGxvOwotCQlpZihuIDwgMjIp Ci0JCQlnb3RvIFNob3J0OwotCQltLT51LmNsaWVudEhlbGxvLnZlcnNpb24gPSBnZXQxNihwKzEp OwotCQlwICs9IDM7Ci0JCW4gLT0gMzsKLQkJbm4gPSBnZXQxNihwKTsgLyogY2lwaGVyX3NwZWNf bGVuICovCi0JCW5zaWQgPSBnZXQxNihwICsgMik7Ci0JCW5yYW5kb20gPSBnZXQxNihwICsgNCk7 Ci0JCXAgKz0gNjsKLQkJbiAtPSA2OwotCQlpZihuc2lkICE9IDAgCS8qIG5vIHNpZCdzLCBzaW5j ZSBzaG91bGRuJ3QgcmVzdGFydCB1c2luZyBzc2wyIGhlYWRlciAqLwotCQl8fCBucmFuZG9tIDwg MTYgfHwgbm4gJSAzIHx8IG4gLSBucmFuZG9tIDwgbm4pCi0JCQlnb3RvIEVycjsKLQkJLyogaWdu b3JlIHNzbDIgY2lwaGVycyBhbmQgbG9vayBmb3IgezB4MDAsIHNzbDMgY2lwaGVyfSAqLwotCQlu Y2lwaCA9IDA7Ci0JCWZvcihpID0gMDsgaSA8IG5uOyBpICs9IDMpCi0JCQlpZihwW2ldID09IDAp Ci0JCQkJbmNpcGgrKzsKLQkJbS0+dS5jbGllbnRIZWxsby5jaXBoZXJzID0gbmV3aW50cyhuY2lw aCk7Ci0JCW5jaXBoID0gMDsKLQkJZm9yKGkgPSAwOyBpIDwgbm47IGkgKz0gMykKLQkJCWlmKHBb aV0gPT0gMCkKLQkJCQltLT51LmNsaWVudEhlbGxvLmNpcGhlcnMtPmRhdGFbbmNpcGgrK10gPSBn ZXQxNigmcFtpICsgMV0pOwotCQlwICs9IG5uOwotCQltLT51LmNsaWVudEhlbGxvLnNpZCA9IG1h a2VieXRlcyhuaWwsIDApOwotCQlpZihucmFuZG9tID4gUmFuZG9tU2l6ZSkKLQkJCW5yYW5kb20g PSBSYW5kb21TaXplOwotCQltZW1zZXQobS0+dS5jbGllbnRIZWxsby5yYW5kb20sIDAsIFJhbmRv bVNpemUgLSBucmFuZG9tKTsKLQkJbWVtbW92ZSgmbS0+dS5jbGllbnRIZWxsby5yYW5kb21bUmFu ZG9tU2l6ZSAtIG5yYW5kb21dLCBwLCBucmFuZG9tKTsKLQkJbS0+dS5jbGllbnRIZWxsby5jb21w cmVzc29ycyA9IG5ld2J5dGVzKDEpOwotCQltLT51LmNsaWVudEhlbGxvLmNvbXByZXNzb3JzLT5k YXRhWzBdID0gQ29tcHJlc3Npb25OdWxsOwotCQlnb3RvIE9rOwotCX0KIAltc2dIYXNoKGMsIHAs IDQpOwogCiAJcCA9IHRsc1JlYWROKGMsIG4pOwpAQCAtMTc5MCw3ICsxNzIwLDcgQEAKIAkJCWdv dG8gU2hvcnQ7CiAJCWlmKGlzRUNESEUoYy0+Y2lwaGVyKSkKIAkJCW5uID0gKnArKywgbi0tOwot CQllbHNlIGlmKGlzREhFKGMtPmNpcGhlcikgfHwgYy0+dmVyc2lvbiAhPSBTU0wzVmVyc2lvbikK KwkJZWxzZSBpZihpc0RIRShjLT5jaXBoZXIpKQogCQkJbm4gPSBnZXQxNihwKSwgcCArPSAyLCBu IC09IDI7CiAJCWVsc2UKIAkJCW5uID0gbjsKQEAgLTE4MDAsMTcgKzE3MzAsMTYgQEAKIAkJbiAt PSBubjsKIAkJYnJlYWs7CiAJY2FzZSBIRmluaXNoZWQ6Ci0JCW0tPnUuZmluaXNoZWQubiA9IGMt PmZpbmlzaGVkLm47Ci0JCWlmKG4gPCBtLT51LmZpbmlzaGVkLm4pCisJCWlmKG4gPCBGaW5pc2hl ZExlbikKIAkJCWdvdG8gU2hvcnQ7Ci0JCW1lbW1vdmUobS0+dS5maW5pc2hlZC52ZXJpZnksIHAs IG0tPnUuZmluaXNoZWQubik7Ci0JCW4gLT0gbS0+dS5maW5pc2hlZC5uOworCQltZW1tb3ZlKG0t PnUuZmluaXNoZWQsIHAsIEZpbmlzaGVkTGVuKTsKKwkJbiAtPSBGaW5pc2hlZExlbjsKIAkJYnJl YWs7CiAJfQogCiAJaWYobiAhPSAwICYmIHR5cGUgIT0gSENsaWVudEhlbGxvICYmIHR5cGUgIT0g SFNlcnZlckhlbGxvKQogCQlnb3RvIFNob3J0OwotT2s6CisKIAlpZihjLT50cmFjZSkKIAkJYy0+ dHJhY2UoInJlY3YgJXMiLCBtc2dQcmludCgoY2hhciopYy0+c2VuZHAsICZjLT5idWZbc2l6ZW9m KGMtPmJ1ZildIC0gYy0+c2VuZHAsIG0pKTsKIAlyZXR1cm4gMTsKQEAgLTIwMDAsOCArMTkyOSw4 IEBACiAJCWJyZWFrOwogCWNhc2UgSEZpbmlzaGVkOgogCQlicyA9IHNlcHJpbnQoYnMsIGJlLCAi SEZpbmlzaGVkXG4iKTsKLQkJZm9yKGk9MDsgaTxtLT51LmZpbmlzaGVkLm47IGkrKykKLQkJCWJz ID0gc2VwcmludChicywgYmUsICIlLjJ4IiwgbS0+dS5maW5pc2hlZC52ZXJpZnlbaV0pOworCQlm b3IoaT0wOyBpPEZpbmlzaGVkTGVuOyBpKyspCisJCQlicyA9IHNlcHJpbnQoYnMsIGJlLCAiJS4y eCIsIG0tPnUuZmluaXNoZWRbaV0pOwogCQlicyA9IHNlcHJpbnQoYnMsIGJlLCAiXG4iKTsKIAkJ YnJlYWs7CiAJfQpAQCAtMjAzNiwyMyArMTk2NSwxMSBAQAogCQlyZXR1cm4gLTE7CiAJaWYodmVy c2lvbiA+IGMtPnZlcnNpb24pCiAJCXZlcnNpb24gPSBjLT52ZXJzaW9uOwotCWlmKHZlcnNpb24g PT0gU1NMM1ZlcnNpb24pIHsKKwllbHNlCiAJCWMtPnZlcnNpb24gPSB2ZXJzaW9uOwotCQljLT5m aW5pc2hlZC5uID0gU1NMM0ZpbmlzaGVkTGVuOwotCX1lbHNlIHsKLQkJYy0+dmVyc2lvbiA9IHZl cnNpb247Ci0JCWMtPmZpbmlzaGVkLm4gPSBUTFNGaW5pc2hlZExlbjsKLQl9CiAJcmV0dXJuIGZw cmludChjLT5jdGwsICJ2ZXJzaW9uIDB4JXgiLCB2ZXJzaW9uKTsKIH0KIAotLy8gY29uZmlybSB0 aGF0IHJlY2VpdmVkIEZpbmlzaGVkIG1lc3NhZ2UgbWF0Y2hlcyB0aGUgZXhwZWN0ZWQgdmFsdWUK LXN0YXRpYyBpbnQKLWZpbmlzaGVkTWF0Y2goVGxzQ29ubmVjdGlvbiAqYywgRmluaXNoZWQgKmYp Ci17Ci0JcmV0dXJuIHRzbWVtY21wKGYtPnZlcmlmeSwgYy0+ZmluaXNoZWQudmVyaWZ5LCBmLT5u KSA9PSAwOwotfQotCiAvLyBmcmVlIG1lbW9yeSBhc3NvY2lhdGVkIHdpdGggVGxzQ29ubmVjdGlv biBzdHJ1Y3QKIC8vCQkoYnV0IGRvbid0IGNsb3NlIHRoZSBUTFMgY2hhbm5lbCBpdHNlbGYpCiBz dGF0aWMgdm9pZApAQCAtMjM5MCw2OCArMjMwNyw2IEBACiAJCWhtYWNfc2hhMl8yNTYsIFNIQTJf MjU2ZGxlbik7CiB9CiAKLXN0YXRpYyB2b2lkCi1zc2xQUkYodWNoYXIgKmJ1ZiwgaW50IG5idWYs IHVjaGFyICprZXksIGludCBua2V5LCBjaGFyICpsYWJlbCwgdWNoYXIgKnNlZWQsIGludCBuc2Vl ZCkKLXsKLQl1Y2hhciBzaGExZGlnW1NIQTFkbGVuXSwgbWQ1ZGlnW01ENWRsZW5dLCB0bXBbMjZd OwotCURpZ2VzdFN0YXRlICpzOwotCWludCBpLCBuLCBsZW47Ci0KLQlVU0VEKGxhYmVsKTsKLQls ZW4gPSAxOwotCXdoaWxlKG5idWYgPiAwKXsKLQkJaWYobGVuID4gMjYpCi0JCQlyZXR1cm47Ci0J CWZvcihpID0gMDsgaSA8IGxlbjsgaSsrKQotCQkJdG1wW2ldID0gJ0EnIC0gMSArIGxlbjsKLQkJ cyA9IHNoYTEodG1wLCBsZW4sIG5pbCwgbmlsKTsKLQkJcyA9IHNoYTEoa2V5LCBua2V5LCBuaWws IHMpOwotCQlzaGExKHNlZWQsIG5zZWVkLCBzaGExZGlnLCBzKTsKLQkJcyA9IG1kNShrZXksIG5r ZXksIG5pbCwgbmlsKTsKLQkJbWQ1KHNoYTFkaWcsIFNIQTFkbGVuLCBtZDVkaWcsIHMpOwotCQlu ID0gTUQ1ZGxlbjsKLQkJaWYobiA+IG5idWYpCi0JCQluID0gbmJ1ZjsKLQkJbWVtbW92ZShidWYs IG1kNWRpZywgbik7Ci0JCWJ1ZiArPSBuOwotCQluYnVmIC09IG47Ci0JCWxlbisrOwotCX0KLX0K LQotc3RhdGljIHZvaWQKLXNzbFNldEZpbmlzaGVkKFRsc1NlYyAqc2VjLCBIYW5kc2hha2VIYXNo IGhzaCwgdWNoYXIgKmZpbmlzaGVkLCBpbnQgaXNjbGllbnQpCi17Ci0JRGlnZXN0U3RhdGUgKnM7 Ci0JdWNoYXIgaDBbTUQ1ZGxlbl0sIGgxW1NIQTFkbGVuXSwgcGFkWzQ4XTsKLQljaGFyICpsYWJl bDsKLQotCWlmKGlzY2xpZW50KQotCQlsYWJlbCA9ICJDTE5UIjsKLQllbHNlCi0JCWxhYmVsID0g IlNSVlIiOwotCi0JbWQ1KCh1Y2hhciopbGFiZWwsIDQsIG5pbCwgJmhzaC5tZDUpOwotCW1kNShz ZWMtPnNlYywgTWFzdGVyU2VjcmV0U2l6ZSwgbmlsLCAmaHNoLm1kNSk7Ci0JbWVtc2V0KHBhZCwg MHgzNiwgNDgpOwotCW1kNShwYWQsIDQ4LCBuaWwsICZoc2gubWQ1KTsKLQltZDUobmlsLCAwLCBo MCwgJmhzaC5tZDUpOwotCW1lbXNldChwYWQsIDB4NUMsIDQ4KTsKLQlzID0gbWQ1KHNlYy0+c2Vj LCBNYXN0ZXJTZWNyZXRTaXplLCBuaWwsIG5pbCk7Ci0JcyA9IG1kNShwYWQsIDQ4LCBuaWwsIHMp OwotCW1kNShoMCwgTUQ1ZGxlbiwgZmluaXNoZWQsIHMpOwotCi0Jc2hhMSgodWNoYXIqKWxhYmVs LCA0LCBuaWwsICZoc2guc2hhMSk7Ci0Jc2hhMShzZWMtPnNlYywgTWFzdGVyU2VjcmV0U2l6ZSwg bmlsLCAmaHNoLnNoYTEpOwotCW1lbXNldChwYWQsIDB4MzYsIDQwKTsKLQlzaGExKHBhZCwgNDAs IG5pbCwgJmhzaC5zaGExKTsKLQlzaGExKG5pbCwgMCwgaDEsICZoc2guc2hhMSk7Ci0JbWVtc2V0 KHBhZCwgMHg1QywgNDApOwotCXMgPSBzaGExKHNlYy0+c2VjLCBNYXN0ZXJTZWNyZXRTaXplLCBu aWwsIG5pbCk7Ci0JcyA9IHNoYTEocGFkLCA0MCwgbmlsLCBzKTsKLQlzaGExKGgxLCBTSEExZGxl biwgZmluaXNoZWQgKyBNRDVkbGVuLCBzKTsKLX0KLQogLy8gZmlsbCAiZmluaXNoZWQiIGFyZyB3 aXRoIG1kNShhcmdzKV5zaGExKGFyZ3MpCiBzdGF0aWMgdm9pZAogdGxzMTBTZXRGaW5pc2hlZChU bHNTZWMgKnNlYywgSGFuZHNoYWtlSGFzaCBoc2gsIHVjaGFyICpmaW5pc2hlZCwgaW50IGlzY2xp ZW50KQpAQCAtMjQ2MCw2ICsyMzE1LDggQEAKIAljaGFyICpsYWJlbDsKIAogCS8vIGdldCBjdXJy ZW50IGhhc2ggdmFsdWUsIGJ1dCBhbGxvdyBmdXJ0aGVyIG1lc3NhZ2VzIHRvIGJlIGhhc2hlZCBp bgorCWhzaC5tZDUubWFsbG9jZWQgPSAwOworCWhzaC5zaGExLm1hbGxvY2VkID0gMDsKIAltZDUo bmlsLCAwLCBoLCAmaHNoLm1kNSk7CiAJc2hhMShuaWwsIDAsIGgrTUQ1ZGxlbiwgJmhzaC5zaGEx KTsKIApAQCAtMjQ2Nyw3ICsyMzI0LDcgQEAKIAkJbGFiZWwgPSAiY2xpZW50IGZpbmlzaGVkIjsK IAllbHNlCiAJCWxhYmVsID0gInNlcnZlciBmaW5pc2hlZCI7Ci0JdGxzMTBQUkYoZmluaXNoZWQs IFRMU0ZpbmlzaGVkTGVuLCBzZWMtPnNlYywgTWFzdGVyU2VjcmV0U2l6ZSwgbGFiZWwsIGgsIHNp emVvZihoKSk7CisJdGxzMTBQUkYoZmluaXNoZWQsIEZpbmlzaGVkTGVuLCBzZWMtPnNlYywgTWFz dGVyU2VjcmV0U2l6ZSwgbGFiZWwsIGgsIHNpemVvZihoKSk7CiB9CiAKIHN0YXRpYyB2b2lkCkBA IC0yNDc3LDYgKzIzMzQsNyBAQAogCWNoYXIgKmxhYmVsOwogCiAJLy8gZ2V0IGN1cnJlbnQgaGFz aCB2YWx1ZSwgYnV0IGFsbG93IGZ1cnRoZXIgbWVzc2FnZXMgdG8gYmUgaGFzaGVkIGluCisJaHNo LnNoYTJfMjU2Lm1hbGxvY2VkID0gMDsKIAlzaGEyXzI1NihuaWwsIDAsIHNlZWQsICZoc2guc2hh Ml8yNTYpOwogCiAJaWYoaXNjbGllbnQpCkBAIC0yNDgzLDcgKzIzNDEsNyBAQAogCQlsYWJlbCA9 ICJjbGllbnQgZmluaXNoZWQiOwogCWVsc2UKIAkJbGFiZWwgPSAic2VydmVyIGZpbmlzaGVkIjsK LQl0bHMxMlBSRihmaW5pc2hlZCwgVExTRmluaXNoZWRMZW4sIHNlYy0+c2VjLCBNYXN0ZXJTZWNy ZXRTaXplLCBsYWJlbCwgc2VlZCwgU0hBMl8yNTZkbGVuKTsKKwl0bHMxMlBSRihmaW5pc2hlZCwg RmluaXNoZWRMZW4sIHNlYy0+c2VjLCBNYXN0ZXJTZWNyZXRTaXplLCBsYWJlbCwgc2VlZCwgU0hB Ml8yNTZkbGVuKTsKIH0KIAogc3RhdGljIHZvaWQKQEAgLTI2MzAsMzQgKzI0ODgsMTQgQEAKIAly ZXR1cm4gZXBtOwogfQogCi1zdGF0aWMgaW50Ci10bHNTZWNGaW5pc2hlZChUbHNTZWMgKnNlYywg SGFuZHNoYWtlSGFzaCBoc2gsIHVjaGFyICpmaW4sIGludCBuZmluLCBpbnQgaXNjbGllbnQpCi17 Ci0JaWYoc2VjLT5uZmluICE9IG5maW4pewotCQl3ZXJyc3RyKCJpbnZhbGlkIGZpbmlzaGVkIGV4 Y2hhbmdlIik7Ci0JCXJldHVybiAtMTsKLQl9Ci0JaHNoLm1kNS5tYWxsb2NlZCA9IDA7Ci0JaHNo LnNoYTEubWFsbG9jZWQgPSAwOwotCWhzaC5zaGEyXzI1Ni5tYWxsb2NlZCA9IDA7Ci0JKCpzZWMt PnNldEZpbmlzaGVkKShzZWMsIGhzaCwgZmluLCBpc2NsaWVudCk7Ci0JcmV0dXJuIDA7Ci19Ci0K IHN0YXRpYyB2b2lkCiB0bHNTZWNWZXJzKFRsc1NlYyAqc2VjLCBpbnQgdikKIHsKLQlpZih2ID09 IFNTTDNWZXJzaW9uKXsKLQkJc2VjLT5zZXRGaW5pc2hlZCA9IHNzbFNldEZpbmlzaGVkOwotCQlz ZWMtPm5maW4gPSBTU0wzRmluaXNoZWRMZW47Ci0JCXNlYy0+cHJmID0gc3NsUFJGOwotCX1lbHNl IGlmKHYgPCBUTFMxMlZlcnNpb24pIHsKKwlpZih2IDwgVExTMTJWZXJzaW9uKXsKIAkJc2VjLT5z ZXRGaW5pc2hlZCA9IHRsczEwU2V0RmluaXNoZWQ7Ci0JCXNlYy0+bmZpbiA9IFRMU0ZpbmlzaGVk TGVuOwogCQlzZWMtPnByZiA9IHRsczEwUFJGOwotCX1lbHNlIHsKKwl9ZWxzZXsKIAkJc2VjLT5z ZXRGaW5pc2hlZCA9IHRsczEyU2V0RmluaXNoZWQ7Ci0JCXNlYy0+bmZpbiA9IFRMU0ZpbmlzaGVk TGVuOwogCQlzZWMtPnByZiA9IHRsczEyUFJGOwogCX0KIH0K --0000000000002997c405cef1de55--