From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.bugs Subject: bug#23982: [master] Treat errno EINPROGRESS and ENOTCONN as EAGAIN for async connection Date: Wed, 3 Aug 2016 02:02:11 -0700 Organization: UCLA Computer Science Department Message-ID: <8e870d1c-d548-0e34-5a9b-961b1773706c@cs.ucla.edu> References: <14f6e684-04ee-4c65-b673-767fcf1a5ead@cs.ucla.edu> <8737mwihfn.fsf@lifelogs.com> <8360rstp2l.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------7C11DDA71CDCC0EF73AE927D" X-Trace: blaine.gmane.org 1470215011 4061 195.159.176.226 (3 Aug 2016 09:03:31 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 3 Aug 2016 09:03:31 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 Cc: jun_hao@aol.com, 23982-done@debbugs.gnu.org, npostavs@users.sourceforge.net To: Eli Zaretskii , Ted Zlatanov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Aug 03 11:03:26 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bUs5F-0000SI-Nm for geb-bug-gnu-emacs@m.gmane.org; Wed, 03 Aug 2016 11:03:26 +0200 Original-Received: from localhost ([::1]:32798 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bUs5C-0007Su-Bp for geb-bug-gnu-emacs@m.gmane.org; Wed, 03 Aug 2016 05:03:22 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36096) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bUs4y-0007Gd-AM for bug-gnu-emacs@gnu.org; Wed, 03 Aug 2016 05:03:13 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bUs4s-0006aW-L1 for bug-gnu-emacs@gnu.org; Wed, 03 Aug 2016 05:03:07 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:56773) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bUs4s-0006aQ-HY for bug-gnu-emacs@gnu.org; Wed, 03 Aug 2016 05:03:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1bUs4s-00024v-58 for bug-gnu-emacs@gnu.org; Wed, 03 Aug 2016 05:03:02 -0400 Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-To: bug-gnu-emacs@gnu.org Resent-Date: Wed, 03 Aug 2016 09:03:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: cc-closed 23982 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Mail-Followup-To: 23982@debbugs.gnu.org, eggert@cs.ucla.edu, jun_hao@aol.com Original-Received: via spool by 23982-done@debbugs.gnu.org id=D23982.14702149457945 (code D ref 23982); Wed, 03 Aug 2016 09:03:01 +0000 Original-Received: (at 23982-done) by debbugs.gnu.org; 3 Aug 2016 09:02:25 +0000 Original-Received: from localhost ([127.0.0.1]:54068 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bUs4F-000243-V5 for submit@debbugs.gnu.org; Wed, 03 Aug 2016 05:02:25 -0400 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:55551) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bUs4D-00023p-JM for 23982-done@debbugs.gnu.org; Wed, 03 Aug 2016 05:02:22 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id C37A41610DB; Wed, 3 Aug 2016 02:02:15 -0700 (PDT) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id 1SnZ-gZd0r4R; Wed, 3 Aug 2016 02:02:12 -0700 (PDT) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 16D10161118; Wed, 3 Aug 2016 02:02:12 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id aqBMbWtixUBA; Wed, 3 Aug 2016 02:02:11 -0700 (PDT) Original-Received: from [192.168.1.9] (unknown [100.32.155.148]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id DD9DB1610DB; Wed, 3 Aug 2016 02:02:11 -0700 (PDT) In-Reply-To: <8360rstp2l.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:121798 Archived-At: This is a multi-part message in MIME format. --------------7C11DDA71CDCC0EF73AE927D Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Eli Zaretskii wrote: > I'm building Emacs with GnuTLS 3.3.11 since many moons ago. OK, I installed the attached patches to GNU Emacs master. The first one requires GnuTLS 2.12.2 or later. The second one uses the GNUTLS_NONBLOCK flag, and works around the apparent GnuTLS bug with EINPROGRESS and ENOTCONN. --------------7C11DDA71CDCC0EF73AE927D Content-Type: text/plain; charset=UTF-8; name="0001-Require-GnuTLS-2.12.2-or-later.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-Require-GnuTLS-2.12.2-or-later.txt" RnJvbSBiMjgzYzYwM2I1NDZmNjc4YzNlYjdkMzFiMDZjMjhiN2RhMjg1OTYyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBXZWQsIDMgQXVnIDIwMTYgMDQ6MzM6MjEgLTA0MDAKU3ViamVjdDogW1BBVENI IDEvMl0gUmVxdWlyZSBHbnVUTFMgMi4xMi4yIG9yIGxhdGVyCk1JTUUtVmVyc2lvbjogMS4w CkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5z ZmVyLUVuY29kaW5nOiA4Yml0CgoqIGNvbmZpZ3VyZS5hYywgZXRjL05FV1M6IFJlcXVpcmUg R251VExTIDIuMTIuMiBvciBsYXRlciwKaW5zdGVhZCBvZiBtZXJlbHkgMi42LjYgb3IgbGF0 ZXIgKEJ1ZyMyMzk4MiMyMCkuCiogc3JjL2dudXRscy5jIChpbml0X2dudXRsc19mdW5jdGlv bnMsIGVtYWNzX2dudXRsc19oYW5kc2hha2UpCltXSU5ET1dTTlRdOiBEb27igJl0IGJvdGhl ciB3aXRoIGdudXRsc19jaGVja192ZXJzaW9uIG9yCmdudXRsc190cmFuc3BvcnRfc2V0X2xv d2F0LCBhcyB0aGV5IGFyZSBubyBsb25nZXIgbmVlZGVkIG5vdyB0aGF0CndlIHJlcXVpcmUg Z251dGxzIDIuMTIuMiBvciBsYXRlci4KLS0tCiBjb25maWd1cmUuYWMgfCAgMiArLQogZXRj L05FV1MgICAgIHwgIDMgKysrCiBzcmMvZ251dGxzLmMgfCAyMyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwppbmRleCBj Y2E1NTVjLi5lOGFlYWUyIDEwMDY0NAotLS0gYS9jb25maWd1cmUuYWMKKysrIGIvY29uZmln dXJlLmFjCkBAIC0yNzQ4LDcgKzI3NDgsNyBAQCBBQ19ERUZVTgogCiBIQVZFX0dOVVRMUz1u bwogaWYgdGVzdCAiJHt3aXRoX2dudXRsc30iID0gInllcyIgOyB0aGVuCi0gIEVNQUNTX0NI RUNLX01PRFVMRVMoW0xJQkdOVVRMU10sIFtnbnV0bHMgPj0gMi42LjZdLAorICBFTUFDU19D SEVDS19NT0RVTEVTKFtMSUJHTlVUTFNdLCBbZ251dGxzID49IDIuMTIuMl0sCiAgICAgW0hB VkVfR05VVExTPXllc10sIFtIQVZFX0dOVVRMUz1ub10pCiAgIGlmIHRlc3QgIiR7SEFWRV9H TlVUTFN9IiA9ICJ5ZXMiOyB0aGVuCiAgICAgQUNfREVGSU5FKEhBVkVfR05VVExTLCAxLCBb RGVmaW5lIGlmIHVzaW5nIEdudVRMUy5dKQpkaWZmIC0tZ2l0IGEvZXRjL05FV1MgYi9ldGMv TkVXUwppbmRleCA2NDYyZWZmLi5mYWRmNGMyIDEwMDY0NAotLS0gYS9ldGMvTkVXUworKysg Yi9ldGMvTkVXUwpAQCAtMjgsNiArMjgsOSBAQCBvdGhlcndpc2UgbGVhdmUgaXQgdW5tYXJr ZWQuCiAqKiBCeSBkZWZhdWx0IGxpYmdudXRscyBpcyBub3cgcmVxdWlyZWQgd2hlbiBidWls ZGluZyBFbWFjcy4KIFVzZSAnY29uZmlndXJlIC0td2l0aC1nbnV0bHM9bm8nIHRvIGJ1aWxk IGV2ZW4gd2hlbiBHbnVUTFMgaXMgbWlzc2luZy4KIAorKiogR251VExTIHZlcnNpb24gMi4x Mi4yIG9yIGxhdGVyIGlzIG5vdyByZXF1aXJlZCwgaW5zdGVhZCBvZiBtZXJlbHkKK3ZlcnNp b24gMi42LjYgb3IgbGF0ZXIuCisKICoqIFRoZSBuZXcgb3B0aW9uICdjb25maWd1cmUgLS1l bmFibGUtZ2NjLXdhcm5pbmdzPXdhcm4tb25seScgY2F1c2VzCiBHQ0MgdG8gaXNzdWUgd2Fy bmluZ3Mgd2l0aG91dCBzdG9wcGluZyB0aGUgYnVpbGQuICBUaGlzIGJlaGF2aW9yIGlzCiBu b3cgdGhlIGRlZmF1bHQgaW4gZGV2ZWxvcGVyIGJ1aWxkcy4gIEFzIGJlZm9yZSwgdXNlCmRp ZmYgLS1naXQgYS9zcmMvZ251dGxzLmMgYi9zcmMvZ251dGxzLmMKaW5kZXggN2YwNWFjNC4u NjgxZTI5OCAxMDA2NDQKLS0tIGEvc3JjL2dudXRscy5jCisrKyBiL3NyYy9nbnV0bHMuYwpA QCAtMTEwLDggKzExMCw2IEBAIERFRl9ETExfRk4gKHNzaXplX3QsIGdudXRsc19yZWNvcmRf c2VuZCwKIAkgICAgKGdudXRsc19zZXNzaW9uX3QsIGNvbnN0IHZvaWQgKiwgc2l6ZV90KSk7 CiBERUZfRExMX0ZOIChjb25zdCBjaGFyICosIGdudXRsc19zdHJlcnJvciwgKGludCkpOwog REVGX0RMTF9GTiAodm9pZCwgZ251dGxzX3RyYW5zcG9ydF9zZXRfZXJybm8sIChnbnV0bHNf c2Vzc2lvbl90LCBpbnQpKTsKLURFRl9ETExfRk4gKGNvbnN0IGNoYXIgKiwgZ251dGxzX2No ZWNrX3ZlcnNpb24sIChjb25zdCBjaGFyICopKTsKLURFRl9ETExfRk4gKHZvaWQsIGdudXRs c190cmFuc3BvcnRfc2V0X2xvd2F0LCAoZ251dGxzX3Nlc3Npb25fdCwgaW50KSk7CiBERUZf RExMX0ZOICh2b2lkLCBnbnV0bHNfdHJhbnNwb3J0X3NldF9wdHIyLAogCSAgICAoZ251dGxz X3Nlc3Npb25fdCwgZ251dGxzX3RyYW5zcG9ydF9wdHJfdCwKIAkgICAgIGdudXRsc190cmFu c3BvcnRfcHRyX3QpKTsKQEAgLTIyNSwxMSArMjIzLDYgQEAgaW5pdF9nbnV0bHNfZnVuY3Rp b25zICh2b2lkKQogICBMT0FEX0RMTF9GTiAobGlicmFyeSwgZ251dGxzX3JlY29yZF9zZW5k KTsKICAgTE9BRF9ETExfRk4gKGxpYnJhcnksIGdudXRsc19zdHJlcnJvcik7CiAgIExPQURf RExMX0ZOIChsaWJyYXJ5LCBnbnV0bHNfdHJhbnNwb3J0X3NldF9lcnJubyk7Ci0gIExPQURf RExMX0ZOIChsaWJyYXJ5LCBnbnV0bHNfY2hlY2tfdmVyc2lvbik7Ci0gIC8qIFdlIGRvbid0 IG5lZWQgdG8gY2FsbCBnbnV0bHNfdHJhbnNwb3J0X3NldF9sb3dhdCBpbiBHbnVUTFMgMi4x MS4xCi0gICAgIGFuZCBsYXRlciwgYW5kIHRoZSBmdW5jdGlvbiB3YXMgcmVtb3ZlZCBlbnRp cmVseSBpbiAzLjAuMC4gICovCi0gIGlmICghZm5fZ251dGxzX2NoZWNrX3ZlcnNpb24gKCIy LjExLjEiKSkKLSAgICBMT0FEX0RMTF9GTiAobGlicmFyeSwgZ251dGxzX3RyYW5zcG9ydF9z ZXRfbG93YXQpOwogICBMT0FEX0RMTF9GTiAobGlicmFyeSwgZ251dGxzX3RyYW5zcG9ydF9z ZXRfcHRyMik7CiAgIExPQURfRExMX0ZOIChsaWJyYXJ5LCBnbnV0bHNfdHJhbnNwb3J0X3Nl dF9wdWxsX2Z1bmN0aW9uKTsKICAgTE9BRF9ETExfRk4gKGxpYnJhcnksIGdudXRsc190cmFu c3BvcnRfc2V0X3B1c2hfZnVuY3Rpb24pOwpAQCAtMjkwLDcgKzI4Myw2IEBAIGluaXRfZ251 dGxzX2Z1bmN0aW9ucyAodm9pZCkKICMgZGVmaW5lIGdudXRsc19jZXJ0aWZpY2F0ZV9zZXRf eDUwOV90cnVzdF9maWxlIGZuX2dudXRsc19jZXJ0aWZpY2F0ZV9zZXRfeDUwOV90cnVzdF9m aWxlCiAjIGRlZmluZSBnbnV0bHNfY2VydGlmaWNhdGVfdHlwZV9nZXQgZm5fZ251dGxzX2Nl cnRpZmljYXRlX3R5cGVfZ2V0CiAjIGRlZmluZSBnbnV0bHNfY2VydGlmaWNhdGVfdmVyaWZ5 X3BlZXJzMiBmbl9nbnV0bHNfY2VydGlmaWNhdGVfdmVyaWZ5X3BlZXJzMgotIyBkZWZpbmUg Z251dGxzX2NoZWNrX3ZlcnNpb24gZm5fZ251dGxzX2NoZWNrX3ZlcnNpb24KICMgZGVmaW5l IGdudXRsc19jaXBoZXJfZ2V0IGZuX2dudXRsc19jaXBoZXJfZ2V0CiAjIGRlZmluZSBnbnV0 bHNfY2lwaGVyX2dldF9uYW1lIGZuX2dudXRsc19jaXBoZXJfZ2V0X25hbWUKICMgZGVmaW5l IGdudXRsc19jcmVkZW50aWFsc19zZXQgZm5fZ251dGxzX2NyZWRlbnRpYWxzX3NldApAQCAt MzIxLDcgKzMxMyw2IEBAIGluaXRfZ251dGxzX2Z1bmN0aW9ucyAodm9pZCkKICMgZGVmaW5l IGdudXRsc19zaWduX2dldF9uYW1lIGZuX2dudXRsc19zaWduX2dldF9uYW1lCiAjIGRlZmlu ZSBnbnV0bHNfc3RyZXJyb3IgZm5fZ251dGxzX3N0cmVycm9yCiAjIGRlZmluZSBnbnV0bHNf dHJhbnNwb3J0X3NldF9lcnJubyBmbl9nbnV0bHNfdHJhbnNwb3J0X3NldF9lcnJubwotIyBk ZWZpbmUgZ251dGxzX3RyYW5zcG9ydF9zZXRfbG93YXQgZm5fZ251dGxzX3RyYW5zcG9ydF9z ZXRfbG93YXQKICMgZGVmaW5lIGdudXRsc190cmFuc3BvcnRfc2V0X3B0cjIgZm5fZ251dGxz X3RyYW5zcG9ydF9zZXRfcHRyMgogIyBkZWZpbmUgZ251dGxzX3RyYW5zcG9ydF9zZXRfcHVs bF9mdW5jdGlvbiBmbl9nbnV0bHNfdHJhbnNwb3J0X3NldF9wdWxsX2Z1bmN0aW9uCiAjIGRl ZmluZSBnbnV0bHNfdHJhbnNwb3J0X3NldF9wdXNoX2Z1bmN0aW9uIGZuX2dudXRsc190cmFu c3BvcnRfc2V0X3B1c2hfZnVuY3Rpb24KQEAgLTQzOSwyMCArNDMwLDYgQEAgZW1hY3NfZ251 dGxzX2hhbmRzaGFrZSAoc3RydWN0IExpc3BfUHJvY2VzcyAqcHJvYykKIAkJCQkgKGdudXRs c190cmFuc3BvcnRfcHRyX3QpIHByb2MpOwogICAgICAgZ251dGxzX3RyYW5zcG9ydF9zZXRf cHVzaF9mdW5jdGlvbiAoc3RhdGUsICZlbWFjc19nbnV0bHNfcHVzaCk7CiAgICAgICBnbnV0 bHNfdHJhbnNwb3J0X3NldF9wdWxsX2Z1bmN0aW9uIChzdGF0ZSwgJmVtYWNzX2dudXRsc19w dWxsKTsKLQotICAgICAgLyogRm9yIG5vbiBibG9ja2luZyBzb2NrZXRzIG9yIG90aGVyIGN1 c3RvbSBtYWRlIHB1bGwvcHVzaAotCSBmdW5jdGlvbnMgdGhlIGdudXRsc190cmFuc3BvcnRf c2V0X2xvd2F0IG11c3QgYmUgY2FsbGVkLCB3aXRoCi0JIGEgemVybyBsb3cgd2F0ZXIgbWFy ayB2YWx1ZS4gKEdudVRMUyAyLjEwLjQgZG9jdW1lbnRhdGlvbikKLQotCSAoTm90ZTogdGhp cyBpcyBwcm9iYWJseSBub3Qgc3RyaWN0bHkgbmVjZXNzYXJ5IGFzIHRoZSBsb3dhdAotCSAg dmFsdWUgaXMgb25seSB1c2VkIHdoZW4gbm8gY3VzdG9tIHB1bGwvcHVzaCBmdW5jdGlvbnMg YXJlCi0JICBzZXQuKSAgKi8KLSAgICAgIC8qIEFjY29yZGluZyB0byBHbnVUTFMgTkVXUyBm aWxlLCBsb3dhdCBsZXZlbCBoYXMgYmVlbiBzZXQgdG8KLQkgemVybyBieSBkZWZhdWx0IGlu IHZlcnNpb24gMi4xMS4xLCBhbmQgdGhlIGZ1bmN0aW9uCi0JIGdudXRsc190cmFuc3BvcnRf c2V0X2xvd2F0IHdhcyByZW1vdmVkIGZyb20gdGhlIGxpYnJhcnkgaW4KLQkgdmVyc2lvbiAy Ljk5LjAuICAqLwotICAgICAgaWYgKCFnbnV0bHNfY2hlY2tfdmVyc2lvbiAoIjIuMTEuMSIp KQotCWdudXRsc190cmFuc3BvcnRfc2V0X2xvd2F0IChzdGF0ZSwgMCk7CiAjZWxzZQogICAg ICAgLyogVGhpcyBpcyBob3cgR251VExTIHRha2VzIHNvY2tldHM6IGFzIGZpbGUgZGVzY3Jp cHRvcnMgcGFzc2VkCiAJIGluLiAgRm9yIGFuIEVtYWNzIHByb2Nlc3Mgc29ja2V0LCBpbmZk IGFuZCBvdXRmZCBhcmUgdGhlCi0tIAoyLjUuNQoK --------------7C11DDA71CDCC0EF73AE927D Content-Type: text/plain; charset=UTF-8; name="0002-Fix-non-blocking-GnuTLS-with-slow-connection.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0002-Fix-non-blocking-GnuTLS-with-slow-connection.txt" RnJvbSAzMDI5Zjc0YWQ1YjhmOTg5ZTI2NjczYTMxYzI1N2ZhMmFhOGQ3MzA0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBXZWQsIDMgQXVnIDIwMTYgMDE6NTQ6MjAgLTA3MDAKU3ViamVjdDogW1BBVENI IDIvMl0gRml4IG5vbi1ibG9ja2luZyBHbnVUTFMgd2l0aCBzbG93IGNvbm5lY3Rpb24KCkFs dGhvdWdoIHRoZSBwcm9ibGVtIGlzIHJlcG9ydGVkIGZvciBPUyBYIChCdWcjMjM5ODIpLCBp dCBzZWVtcyB0bwpiZSBwb3NzaWJsZSBvbiBvdGhlciBQT1NJWGlzaCBwbGF0Zm9ybXMuCiog c3JjL2dudXRscy5jIChlbWFjc19nbnV0bHNfbm9uYmxvY2tfZXJybm8pIFshV0lORE9XU05U XToKTmV3IGZ1bmN0aW9uLgooZW1hY3NfZ251dGxzX2hhbmRzaGFrZSkgWyFXSU5ET1dTTlRd OgpVc2UgaXQgYXMgdGhlIGVycm5vIGZ1bmN0aW9uLCBpZiBub24tYmxvY2tpbmcuCihGZ251 dGxzX2Jvb3QpOiBVc2UgR05VVExTX05PTkJMT0NLIGlmIG5vbi1ibG9ja2luZy4KLS0tCiBz cmMvZ251dGxzLmMgfCAzMSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiAxIGZp bGUgY2hhbmdlZCwgMzAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdp dCBhL3NyYy9nbnV0bHMuYyBiL3NyYy9nbnV0bHMuYwppbmRleCA2ODFlMjk4Li5lM2U5MzEx IDEwMDY0NAotLS0gYS9zcmMvZ251dGxzLmMKKysrIGIvc3JjL2dudXRscy5jCkBAIC00MTEs NiArNDExLDMxIEBAIGdudXRsc190cnlfaGFuZHNoYWtlIChzdHJ1Y3QgTGlzcF9Qcm9jZXNz ICpwcm9jKQogICByZXR1cm4gcmV0OwogfQogCisjaWZuZGVmIFdJTkRPV1NOVAorc3RhdGlj IGludAorZW1hY3NfZ251dGxzX25vbmJsb2NrX2Vycm5vIChnbnV0bHNfdHJhbnNwb3J0X3B0 cl90IHB0cikKK3sKKyAgaW50IGVyciA9IGVycm5vOworCisgIHN3aXRjaCAoZXJyKQorICAg IHsKKyMgaWZkZWYgX0FJWAorICAgICAgLyogVGhpcyBpcyB0YWtlbiBmcm9tIHRoZSBHbnVU TFMgc3lzdGVtX2Vycm5vIGZ1bmN0aW9uIGNpcmNhIDIwMTY7CisJIHNlZSA8aHR0cDovL3Nh dmFubmFoLmdudS5vcmcvc3VwcG9ydC8/MTA3NDY0Pi4gICovCisgICAgY2FzZSAwOgorICAg ICAgZXJybm8gPSBFQUdBSU47CisgICAgICAvKiBGYWxsIHRocm91Z2guICAqLworIyBlbmRp ZgorICAgIGNhc2UgRUlOUFJPR1JFU1M6CisgICAgY2FzZSBFTk9UQ09OTjoKKyAgICAgIHJl dHVybiBFQUdBSU47CisKKyAgICBkZWZhdWx0OgorICAgICAgcmV0dXJuIGVycjsKKyAgICB9 Cit9CisjZW5kaWYKKwogc3RhdGljIGludAogZW1hY3NfZ251dGxzX2hhbmRzaGFrZSAoc3Ry dWN0IExpc3BfUHJvY2VzcyAqcHJvYykKIHsKQEAgLTQzNyw2ICs0NjIsOSBAQCBlbWFjc19n bnV0bHNfaGFuZHNoYWtlIChzdHJ1Y3QgTGlzcF9Qcm9jZXNzICpwcm9jKQogICAgICAgZ251 dGxzX3RyYW5zcG9ydF9zZXRfcHRyMiAoc3RhdGUsCiAJCQkJICh2b2lkICopIChpbnRwdHJf dCkgcHJvYy0+aW5mZCwKIAkJCQkgKHZvaWQgKikgKGludHB0cl90KSBwcm9jLT5vdXRmZCk7 CisgICAgICBpZiAocHJvYy0+aXNfbm9uX2Jsb2NraW5nX2NsaWVudCkKKwlnbnV0bHNfdHJh bnNwb3J0X3NldF9lcnJub19mdW5jdGlvbiAoc3RhdGUsCisJCQkJCSAgICAgZW1hY3NfZ251 dGxzX25vbmJsb2NrX2Vycm5vKTsKICNlbmRpZgogCiAgICAgICBwcm9jLT5nbnV0bHNfaW5p dHN0YWdlID0gR05VVExTX1NUQUdFX1RSQU5TUE9SVF9QT0lOVEVSU19TRVQ7CkBAIC0xNTc0 LDcgKzE2MDIsOCBAQCBvbmUgdHJ1c3RmaWxlICh1c3VhbGx5IGEgQ0EgYnVuZGxlKS4gICov KQogICAvKiBDYWxsIGdudXRsc19pbml0IGhlcmU6ICovCiAKICAgR05VVExTX0xPRyAoMSwg bWF4X2xvZ19sZXZlbCwgImdudXRsc19pbml0Iik7Ci0gIHJldCA9IGdudXRsc19pbml0ICgm c3RhdGUsIEdOVVRMU19DTElFTlQpOworICBpbnQgbm9uYmxvY2sgPSBYUFJPQ0VTUyAocHJv YyktPmlzX25vbl9ibG9ja2luZ19jbGllbnQgPyBHTlVUTFNfTk9OQkxPQ0sgOiAwOworICBy ZXQgPSBnbnV0bHNfaW5pdCAoJnN0YXRlLCBHTlVUTFNfQ0xJRU5UIHwgbm9uYmxvY2spOwog ICBYUFJPQ0VTUyAocHJvYyktPmdudXRsc19zdGF0ZSA9IHN0YXRlOwogICBpZiAocmV0IDwg R05VVExTX0VfU1VDQ0VTUykKICAgICByZXR1cm4gZ251dGxzX21ha2VfZXJyb3IgKHJldCk7 Ci0tIAoyLjUuNQoK --------------7C11DDA71CDCC0EF73AE927D--