From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9457 invoked by alias); 1 May 2017 12:58:52 -0000 Mailing-List: contact cygwin-apps-help@cygwin.com; run by ezmlm Precedence: bulk Sender: cygwin-apps-owner@cygwin.com List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Mail-Followup-To: cygwin-apps@cygwin.com Received: (qmail 9430 invoked by uid 89); 1 May 2017 12:58:50 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.3 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 spammy=minds, anyhow, 2737, happening X-HELO: out4-smtp.messagingengine.com Received: from out4-smtp.messagingengine.com (HELO out4-smtp.messagingengine.com) (66.111.4.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 01 May 2017 12:58:47 +0000 Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 003B820905; Mon, 1 May 2017 08:58:47 -0400 (EDT) Received: from frontend1 ([10.202.2.160]) by compute6.internal (MEProxy); Mon, 01 May 2017 08:58:47 -0400 X-ME-Sender: Received: from [192.168.1.102] (host31-51-207-210.range31-51.btcentralplus.com [31.51.207.210]) by mail.messagingengine.com (Postfix) with ESMTPA id 6E29A7E354; Mon, 1 May 2017 08:58:47 -0400 (EDT) Subject: Re: [PATCH setup 11/11] Use wininet for fetching URLs in direct (non-proxy) case (DO NOT APPLY) References: <20170428121205.12240-1-jon.turney@dronecode.org.uk> <20170428121205.12240-12-jon.turney@dronecode.org.uk> <3d79b33e-e067-c1df-9b90-084fb10dd272@dronecode.org.uk> From: Jon Turney To: cygwin-apps@cygwin.com Cc: =?UTF-8?Q?=c3=85ke_Rehnman?= Message-ID: <9452ab7f-986c-2394-8c24-6208e042787e@dronecode.org.uk> Date: Mon, 01 May 2017 12:58:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <3d79b33e-e067-c1df-9b90-084fb10dd272@dronecode.org.uk> Content-Type: multipart/mixed; boundary="------------F6FF5B746BBC8C94C70077C2" X-SW-Source: 2017-05/txt/msg00000.txt.bz2 This is a multi-part message in MIME format. --------------F6FF5B746BBC8C94C70077C2 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-length: 730 On 29/04/2017 11:53, Jon Turney wrote: > On 28/04/2017 16:33, Åke Rehnman wrote: >> On 2017-04-28 14:12, Jon Turney wrote: >>> From the discussion in [1], I was somewhat surprised to learn >>> that setup doesn't support https or ftps. >> For the same exact reason I've just recently patched in curl.... > > I'd be very interested to see that patch :) Thanks very much for the patch. So... I'm in two minds about this. Your patch seems good, but perhaps the problems with using wininet aren't insurmountable, and avoiding another dependency would also be good. Anyhow, I had another go the wininet patch, attached. I guess you have some use case for this, so perhaps you could give it a try and see if it works for you? --------------F6FF5B746BBC8C94C70077C2 Content-Type: text/plain; charset=UTF-8; name="0001-Use-wininet-for-fetching-URLs-in-direct-non-proxy-ca.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-Use-wininet-for-fetching-URLs-in-direct-non-proxy-ca.pa"; filename*1="tch" Content-length: 15775 RnJvbSBiMTE5MzJjYWNhYTE3NDNiM2RjNjBjMTQ5ZjI2OGQ3NjdlOTliZjlm IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb24gVHVybmV5IDxq b24udHVybmV5QGRyb25lY29kZS5vcmcudWs+CkRhdGU6IFRodSwgMzAgTWFy IDIwMTcgMTE6NDg6NDQgKzAxMDAKU3ViamVjdDogW1BBVENIIHNldHVwXSBV c2Ugd2luaW5ldCBmb3IgZmV0Y2hpbmcgVVJMcyBpbiBkaXJlY3QgKG5vbi1w cm94eSkKIGNhc2UKCkZyb20gdGhlIGRpc2N1c3Npb24gaW4gWzFdLCBJIHdh cyBzb21ld2hhdCBzdXJwcmlzZWQgdG8gbGVhcm4gdGhhdCBzZXR1cApkb2Vz bid0IHN1cHBvcnQgaHR0cHMgb3IgZnRwcy4KClN3aXRjaCB0byB1c2luZyB3 aW5pbmV0IGZvciBmZXRjaGluZyBVUkxzIGluIHRoZSBkaXJlY3QgKG5vbi1w cm94eSkgY2FzZSwgYXMKd2VsbC4gKEl0J3MgYWxyZWFkeSB1c2VkIGluIHBy b3h5IGNhc2UpLiBUaGlzIGFsbG93cyBodHRwcyBhbmQgZnRwcwpwcm90b2Nv bHMgdG8gYmUgdXNlZC4KCkZvciB0aGUgbW9tZW50LCB3ZSBrZWVwIGFyb3Vu ZCB0aGUgZXhpc3RpbmcsIGhhbmQtYnVpbHQgVVJMIGZldGNoaW5nIGFzCidE aXJlY3QgKGxlZ2FjeSknLgoKQXJyYW5nZSBmb3IgbWlycm9ycy5sc3QgYW5k IHNldHVwLmluaSB0byBiZSBjYWNoZWQgYnkgd2luaW5ldCwgYnV0IG5vdApw YWNrYWdlIGFyY2hpdmVzIChhcyBzZXR1cCBtYWludGFpbnMgaXQncyBvd24g Y2FjaGUgb2YgdGhvc2UpCgpSZWFkIGZyb20gd2luaW5ldCBpbiBjaHVua3Mg cmF0aGVyIHRoYW4gdGhlIHdob2xlIGZpbGUsIHNvIHdlIGNhbiByZXBvcnQK cHJvZ3Jlc3MgZmVlZGJhY2sgYXMgd2UgZG93bmxvYWQuCgpBbHNvIGZpeCB1 cCBzb21lIGJhZCBpbmRlbnRhdGlvbi4KCkkgdGhpbmsgdGhlIHJlYXNvbiB3 ZSBoYXZlIGEgaGFuZGJ1aWx0IEhUVFAgY2xpZW50IGlzIHRoYXQgYmFjayBp biAyMDAwIG9yCnNvLCB3ZSB3ZXJlIGNvbmNlcm5lZCBhYm91dCB0aGUgY2Fz ZSB3aGVyZSBJRTUgd2Fzbid0IGluc3RhbGxlZCBhbmQgc28Kd2luaW5ldCB3 YXNuJ3QgYXZhaWxhYmxlLiAgQnV0IHdobyBrbm93cy4uLgoKWzFdIGh0dHBz Oi8vY3lnd2luLmNvbS9tbC9jeWd3aW4vMjAxNy0wMy9tc2cwMDM4NC5odG1s CgpTaWduZWQtb2ZmLWJ5OiBKb24gVHVybmV5IDxqb24udHVybmV5QGRyb25l Y29kZS5vcmcudWs+Ci0tLQogQ29ubmVjdGlvblNldHRpbmcuY2MgfCAgNSAr KysrKwogZ2V0dXJsLmNjICAgICAgICAgICAgfCAgOCArKysrLS0tLQogbmV0 LmNjICAgICAgICAgICAgICAgfCAzNCArKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLS0tCiBuZXRpby5jYyAgICAgICAgICAgICB8IDM0ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KIG5ldGlvLmggICAgICAg ICAgICAgIHwgIDQgKysrLQogbmlvLWllNS5jYyAgICAgICAgICAgfCAzMyAr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KIG5pby1pZTUuaCAg ICAgICAgICAgIHwgIDQgKystLQogcmVzLnJjICAgICAgICAgICAgICAgfCAg MiArKwogcmVzb3VyY2UuaCAgICAgICAgICAgfCAgMSArCiA5IGZpbGVzIGNo YW5nZWQsIDg4IGluc2VydGlvbnMoKyksIDM3IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL0Nvbm5lY3Rpb25TZXR0aW5nLmNjIGIvQ29ubmVjdGlvblNl dHRpbmcuY2MKaW5kZXggNWJhZjc2Yy4uMTE1NGQ5NCAxMDA2NDQKLS0tIGEv Q29ubmVjdGlvblNldHRpbmcuY2MKKysrIGIvQ29ubmVjdGlvblNldHRpbmcu Y2MKQEAgLTQ5LDYgKzQ5LDkgQEAgQ29ubmVjdGlvblNldHRpbmc6On5Db25u ZWN0aW9uU2V0dGluZyAoKQogICAgICAgc3ByaW50Zihwb3J0X3N0ciwgIiVk IiwgTmV0SU86Om5ldF9wcm94eV9wb3J0KTsKICAgICAgIFVzZXJTZXR0aW5n czo6aW5zdGFuY2UoKS5zZXQoIm5ldC1wcm94eS1wb3J0IiwgcG9ydF9zdHIp OwogICAgICAgYnJlYWs7CisgICAgY2FzZSBJRENfTkVUX0RJUkVDVF9MRUdB Q1k6CisgICAgICBVc2VyU2V0dGluZ3M6Omluc3RhbmNlKCkuc2V0KCJuZXQt bWV0aG9kIiwgIkxlZ2FjeSIpOworICAgICAgYnJlYWs7CiAgICAgZGVmYXVs dDoKIAlicmVhazsKICAgICB9CkBAIC02Myw2ICs2Niw4IEBAIENvbm5lY3Rp b25TZXR0aW5nOjp0eXBlRnJvbVN0cmluZyhjb25zdCBzdGQ6OnN0cmluZyYg YVR5cGUpCiAgICAgcmV0dXJuIElEQ19ORVRfSUU1OwogICBpZiAoIWNhc2Vj b21wYXJlKGFUeXBlLCAiUHJveHkiKSkKICAgICByZXR1cm4gSURDX05FVF9Q Uk9YWTsKKyAgaWYgKCFjYXNlY29tcGFyZShhVHlwZSwgIkxlZ2FjeSIpKQor ICAgIHJldHVybiBJRENfTkVUX0RJUkVDVF9MRUdBQ1k7CiAKICAgLyogQSBz YW5pc2ggZGVmYXVsdCAqLwogICByZXR1cm4gSURDX05FVF9JRTU7CmRpZmYg LS1naXQgYS9nZXR1cmwuY2MgYi9nZXR1cmwuY2MKaW5kZXggMTdhZDhlOS4u NWFiZDM5YSAxMDA2NDQKLS0tIGEvZ2V0dXJsLmNjCisrKyBiL2dldHVybC5j YwpAQCAtMTA2LDEyICsxMDYsMTIgQEAgcHJvZ3Jlc3MgKGludCBieXRlcykK IH0KIAogc3RhdGljIHZvaWQKLWdldFVybFRvU3RyZWFtIChjb25zdCBzdHJp bmcgJl91cmwsIGlvX3N0cmVhbSAqb3V0cHV0KQorZ2V0VXJsVG9TdHJlYW0g KGNvbnN0IHN0cmluZyAmX3VybCwgaW9fc3RyZWFtICpvdXRwdXQsIGJvb2wg Y2FjaGFibGUpCiB7CiAgIExvZyAoTE9HX0JBQkJMRSkgPDwgImdldFVybFRv U3RyZWFtICIgPDwgX3VybCA8PCBlbmRMb2c7CiAgIGlzX2xvY2FsX2luc3Rh bGwgPSAoc291cmNlID09IElEQ19TT1VSQ0VfTE9DQUxESVIpOwogICBpbml0 X2RpYWxvZyAoX3VybCwgMCk7Ci0gIE5ldElPICpuID0gTmV0SU86Om9wZW4g KF91cmwuY19zdHIoKSk7CisgIE5ldElPICpuID0gTmV0SU86Om9wZW4gKF91 cmwuY19zdHIoKSwgY2FjaGFibGUpOwogICBpZiAoIW4gfHwgIW4tPm9rICgp KQogICAgIHsKICAgICAgIGRlbGV0ZSBuOwpAQCAtMTUzLDcgKzE1Myw3IEBA IGdldF91cmxfdG9fbWVtYnVmIChjb25zdCBzdHJpbmcgJl91cmwsIEhXTkQg b3duZXIpCiAgIHRyeSAKICAgICB7CiAgICAgICBMb2cgKExPR19CQUJCTEUp IDw8ICJnZXRfdXJsX3RvX21lbWJ1ZiAiIDw8IF91cmwgPDwgZW5kTG9nOwot ICAgICAgZ2V0VXJsVG9TdHJlYW0gKF91cmwsIG1lbWJ1Zik7CisgICAgICBn ZXRVcmxUb1N0cmVhbSAoX3VybCwgbWVtYnVmLCB0cnVlKTsKICAgICAgIAog ICAgICAgaWYgKG1lbWJ1Zi0+c2VlayAoMCwgSU9fU0VFS19TRVQpKQogICAg IAl7CkBAIC0yMTMsNyArMjEzLDcgQEAgZ2V0X3VybF90b19maWxlIChjb25z dCBzdHJpbmcgJl91cmwsCiAKICAgcmVtb3ZlIChfZmlsZW5hbWUuY19zdHIo KSk7CQkvKiBidXQgaWdub3JlIGVycm9ycyAqLwogCi0gIE5ldElPICpuID0g TmV0SU86Om9wZW4gKF91cmwuY19zdHIoKSk7CisgIE5ldElPICpuID0gTmV0 SU86Om9wZW4gKF91cmwuY19zdHIoKSwgZmFsc2UpOwogICBpZiAoIW4gfHwg IW4tPm9rICgpKQogICAgIHsKICAgICAgIGRlbGV0ZSBuOwpkaWZmIC0tZ2l0 IGEvbmV0LmNjIGIvbmV0LmNjCmluZGV4IDY1OWNmOWIuLjkwM2YwOTYgMTAw NjQ0Ci0tLSBhL25ldC5jYworKysgYi9uZXQuY2MKQEAgLTM3LDMwICszNywz MSBAQCBleHRlcm4gVGhyZWVCYXJQcm9ncmVzc1BhZ2UgUHJvZ3Jlc3M7CiAK IHN0YXRpYyBTdHJpbmdPcHRpb24gUHJveHlPcHRpb24gKCIiLCAncCcsICJw cm94eSIsICJIVFRQL0ZUUCBwcm94eSAoaG9zdDpwb3J0KSIsIGZhbHNlKTsK IAotc3RhdGljIGludCByYltdID0geyBJRENfTkVUX0lFNSwgSURDX05FVF9E SVJFQ1QsIElEQ19ORVRfUFJPWFksIDAgfTsKK3N0YXRpYyBpbnQgcmJbXSA9 IHsgSURDX05FVF9JRTUsIElEQ19ORVRfRElSRUNULCBJRENfTkVUX1BST1hZ LCBJRENfTkVUX0RJUkVDVF9MRUdBQ1ksIDAgfTsKIHN0YXRpYyBib29sIGRv aW5nX2xvYWRpbmcgPSBmYWxzZTsKIAogdm9pZAogTmV0UGFnZTo6Q2hlY2tJ ZkVuYWJsZU5leHQgKCkKIHsKLSAgaW50IGUgPSAwLCBwID0gMCwgcHUgPSAw OworICBpbnQgZSA9IDAsIHAgPSAwOwogICBEV09SRCBCdXR0b25GbGFncyA9 IFBTV0laQl9CQUNLOwogCi0gIGlmIChOZXRJTzo6bmV0X21ldGhvZCA9PSBJ RENfTkVUX0lFNSkKLSAgICBwdSA9IDE7Ci0gIGlmIChOZXRJTzo6bmV0X21l dGhvZCA9PSBJRENfTkVUX0lFNSB8fCBOZXRJTzo6bmV0X21ldGhvZCA9PSBJ RENfTkVUX0RJUkVDVCkKKyAgaWYgKE5ldElPOjpuZXRfbWV0aG9kID09IElE Q19ORVRfSUU1IHx8CisgICAgICBOZXRJTzo6bmV0X21ldGhvZCA9PSBJRENf TkVUX0RJUkVDVCB8fAorICAgICAgTmV0SU86Om5ldF9tZXRob2QgPT0gSURD X05FVF9ESVJFQ1RfTEVHQUNZKQogICAgIGUgPSAxOwogICBlbHNlIGlmIChO ZXRJTzo6bmV0X21ldGhvZCA9PSBJRENfTkVUX1BST1hZKQogICAgIHsKLSAg ICAgIHAgPSBwdSA9IDE7CisgICAgICBwID0gMTsKICAgICAgIGlmIChOZXRJ Tzo6bmV0X3Byb3h5X2hvc3QgJiYgTmV0SU86Om5ldF9wcm94eV9wb3J0KQot CWUgPSAxOworICAgICAgICBlID0gMTsKKyAgICB9CisKKyAgaWYgKGUpCisg ICAgeworICAgICAgLy8gVGhlcmUncyBzb21ldGhpbmcgaW4gdGhlIHByb3h5 IGFuZCBwb3J0IGJveGVzLCBlbmFibGUgIk5leHQiLgorICAgICAgQnV0dG9u RmxhZ3MgfD0gUFNXSVpCX05FWFQ7CiAgICAgfQotCWlmIChlKQotCXsKLQkJ Ly8gVGhlcmUncyBzb21ldGhpbmcgaW4gdGhlIHByb3h5IGFuZCBwb3J0IGJv eGVzLCBlbmFibGUgIk5leHQiLgotCQlCdXR0b25GbGFncyB8PSBQU1dJWkJf TkVYVDsKLQl9CiAKICAgR2V0T3duZXIgKCktPlNldEJ1dHRvbnMgKEJ1dHRv bkZsYWdzKTsKIApAQCAtMTMxLDggKzEzMiw4IEBAIE5ldFBhZ2U6Ok9uSW5p dCAoKQogCiAgIC8vIENoZWNrIHRvIHNlZSBpZiBhbnkgcmFkaW8gYnV0dG9u cyBhcmUgc2VsZWN0ZWQuIElmIG5vdCwgc2VsZWN0IGEgZGVmYXVsdC4KICAg aWYgKFNlbmRNZXNzYWdlIChHZXREbGdJdGVtIChJRENfTkVUX0lFNSksIEJN X0dFVENIRUNLLCAwLCAwKSAhPSBCU1RfQ0hFQ0tFRAotICAgICAgJiYgU2Vu ZE1lc3NhZ2UgKEdldERsZ0l0ZW0gKElEQ19ORVRfUFJPWFkpLCBCTV9HRVRD SEVDSywgMCwgMCkKLQkgIT0gQlNUX0NIRUNLRUQpCisgICAgICAmJiBTZW5k TWVzc2FnZSAoR2V0RGxnSXRlbSAoSURDX05FVF9QUk9YWSksIEJNX0dFVENI RUNLLCAwLCAwKSAhPSBCU1RfQ0hFQ0tFRAorICAgICAgJiYgU2VuZE1lc3Nh Z2UgKEdldERsZ0l0ZW0gKElEQ19ORVRfRElSRUNUX0xFR0FDWSksIEJNX0dF VENIRUNLLCAwLCAwKSAhPSBCU1RfQ0hFQ0tFRCkKICAgICBTZW5kTWVzc2Fn ZSAoR2V0RGxnSXRlbSAoSURDX05FVF9ESVJFQ1QpLCBCTV9DTElDSywgMCwg MCk7CiB9CiAKQEAgLTE0MSw5ICsxNDIsNyBAQCBOZXRQYWdlOjpPbk5leHQg KCkKIHsKICAgc2F2ZV9kaWFsb2cgKEdldEhXTkQgKCkpOwogCi0gIExvZyAo TE9HX1BMQUlOKSA8PCAibmV0OiAiCi0gICAgPDwgKChOZXRJTzo6bmV0X21l dGhvZCA9PSBJRENfTkVUX0lFNSkgPyAiSUU1IiA6Ci0gICAgICAgIChOZXRJ Tzo6bmV0X21ldGhvZCA9PSBJRENfTkVUX0RJUkVDVCkgPyAiRGlyZWN0IiA6 ICJQcm94eSIpIDw8IGVuZExvZzsKKyAgTG9nIChMT0dfUExBSU4pIDw8ICJu ZXQ6ICIgPDwgTmV0SU86Om5ldF9tZXRob2RfbmFtZSgpICA8PCBlbmRMb2c7 CiAKICAgUHJvZ3Jlc3MuU2V0QWN0aXZhdGVUYXNrIChXTV9BUFBfU1RBUlRf U0lURV9JTkZPX0RPV05MT0FEKTsKICAgcmV0dXJuIElERF9JTlNUQVRVUzsK QEAgLTE3MCw2ICsxNjksNyBAQCBOZXRQYWdlOjpPbk1lc3NhZ2VDbWQgKGlu dCBpZCwgSFdORCBod25kY3RsLCBVSU5UIGNvZGUpCiAgICAgY2FzZSBJRENf TkVUX0lFNToKICAgICBjYXNlIElEQ19ORVRfRElSRUNUOgogICAgIGNhc2Ug SURDX05FVF9QUk9YWToKKyAgICBjYXNlIElEQ19ORVRfRElSRUNUX0xFR0FD WToKICAgICBjYXNlIElEQ19QUk9YWV9IT1NUOgogICAgIGNhc2UgSURDX1BS T1hZX1BPUlQ6CiAgICAgICBzYXZlX2RpYWxvZyAoR2V0SFdORCgpKTsKZGlm ZiAtLWdpdCBhL25ldGlvLmNjIGIvbmV0aW8uY2MKaW5kZXggNWVjMGI5YS4u Y2Y2MzRjMSAxMDA2NDQKLS0tIGEvbmV0aW8uY2MKKysrIGIvbmV0aW8uY2MK QEAgLTEyMiwyNiArMTIyLDMyIEBAIE5ldElPOjpyZWFkIChjaGFyICpidWYs IGludCBuYnl0ZXMpCiB9CiAKIE5ldElPICoKLU5ldElPOjpvcGVuIChjaGFy IGNvbnN0ICp1cmwpCitOZXRJTzo6b3BlbiAoY2hhciBjb25zdCAqdXJsLCBi b29sIGNhY2hhYmxlKQogewogICBOZXRJTyAqcnYgPSAwOwogICBlbnVtCi0g IHsgaHR0cCwgZnRwLCBmaWxlIH0KKyAgeyBodHRwLCBodHRwcywgZnRwLCBm dHBzLCBmaWxlIH0KICAgcHJvdG87CiAgIGlmIChzdHJuY21wICh1cmwsICJo dHRwOi8vIiwgNykgPT0gMCkKICAgICBwcm90byA9IGh0dHA7CisgIGVsc2Ug aWYgKHN0cm5jbXAgKHVybCwgImh0dHBzOi8vIiwgOCkgPT0gMCkKKyAgICBw cm90byA9IGh0dHBzOwogICBlbHNlIGlmIChzdHJuY21wICh1cmwsICJmdHA6 Ly8iLCA2KSA9PSAwKQogICAgIHByb3RvID0gZnRwOworICBlbHNlIGlmIChz dHJuY21wICh1cmwsICJmdHBzOi8vIiwgNykgPT0gMCkKKyAgICBwcm90byA9 IGZ0cHM7CiAgIGVsc2UKICAgICBwcm90byA9IGZpbGU7CiAKICAgaWYgKHBy b3RvID09IGZpbGUpCiAgICAgcnYgPSBuZXcgTmV0SU9fRmlsZSAodXJsKTsK ICAgZWxzZSBpZiAobmV0X21ldGhvZCA9PSBJRENfTkVUX0lFNSkKLSAgICBy diA9IG5ldyBOZXRJT19JRTUgKHVybCk7CisgICAgcnYgPSBuZXcgTmV0SU9f SUU1ICh1cmwsIGZhbHNlLCBjYWNoYWJsZSk7CiAgIGVsc2UgaWYgKG5ldF9t ZXRob2QgPT0gSURDX05FVF9QUk9YWSkKICAgICBydiA9IG5ldyBOZXRJT19I VFRQICh1cmwpOwogICBlbHNlIGlmIChuZXRfbWV0aG9kID09IElEQ19ORVRf RElSRUNUKQorICAgIHJ2ID0gbmV3IE5ldElPX0lFNSAodXJsLCB0cnVlLCBj YWNoYWJsZSk7CisgIGVsc2UgaWYgKG5ldF9tZXRob2QgPT0gSURDX05FVF9E SVJFQ1RfTEVHQUNZKQogICAgIHsKICAgICAgIHN3aXRjaCAocHJvdG8pCiAJ ewpAQCAtMTU0LDEwICsxNjAsMTIgQEAgTmV0SU86Om9wZW4gKGNoYXIgY29u c3QgKnVybCkKIAljYXNlIGZpbGU6CiAJICBydiA9IG5ldyBOZXRJT19GaWxl ICh1cmwpOwogCSAgYnJlYWs7CisJZGVmYXVsdDoKKwkgIG1ib3ggKE5VTEws ICJQcm90b2NvbCBub3QgaGFuZGxlZCBieSBsZWdhY3kgVVJMIGhhbmRsZXIi LCAiQ3lnd2luIFNldHVwIiwgTUJfT0spOwogCX0KICAgICB9CiAKLSAgaWYg KCFydi0+b2sgKCkpCisgIGlmIChydiAmJiAhcnYtPm9rICgpKQogICAgIHsK ICAgICAgIGRlbGV0ZSBydjsKICAgICAgIHJldHVybiAwOwpAQCAtMjg0LDMg KzI5MiwyMSBAQCBOZXRJTzo6Z2V0X2Z0cF9hdXRoIChIV05EIG93bmVyKQog ICBwYXNzd2QgPSAmbmV0X2Z0cF9wYXNzd2Q7CiAgIHJldHVybiBhdXRoX2Nv bW1vbiAoaGluc3RhbmNlLCBJRERfRlRQX0FVVEgsIG93bmVyKTsKIH0KKwor Y29uc3QgY2hhciAqCitOZXRJTzo6bmV0X21ldGhvZF9uYW1lICgpCit7Cisg IHN3aXRjaCAobmV0X21ldGhvZCkKKyAgICB7CisgICAgY2FzZSBJRENfTkVU X0lFNToKKyAgICAgIHJldHVybiAiSUU1IjsKKyAgICBjYXNlIElEQ19ORVRf RElSRUNUOgorICAgICAgcmV0dXJuICJEaXJlY3QiOworICAgIGNhc2UgSURD X05FVF9QUk9YWToKKyAgICAgIHJldHVybiAiUHJveHkiOworICAgIGNhc2Ug SURDX05FVF9ESVJFQ1RfTEVHQUNZOgorICAgICAgcmV0dXJuICJEaXJlY3Qg KGxlZ2FjeSkiOworICAgIGRlZmF1bHQ6CisgICAgICByZXR1cm4gIlVua25v d24iOworICAgIH0KK30KZGlmZiAtLWdpdCBhL25ldGlvLmggYi9uZXRpby5o CmluZGV4IGFhMDZlZGIuLjdiN2QxM2YgMTAwNjQ0Ci0tLSBhL25ldGlvLmgK KysrIGIvbmV0aW8uaApAQCAtNTEsNyArNTEsNyBAQCBwdWJsaWM6CiAgICAg IHRoZSBnaXZlbiBVUkwuICBJdCB1c2VzIHRoZSBuZXR3b3JrIHNldHVwIHN0 YXRlIGluIHN0YXRlLmguICBJZgogICAgICBhbnl0aGluZyBmYWlscywgZWl0 aGVyIHRoZSByZXR1cm4gdmFsdWVzIGlzIE5VTEwgb3IgdGhlIHJldHVybmVk CiAgICAgIG9iamVjdCBpcyAhb2soKSAqLwotICBzdGF0aWMgTmV0SU8gKm9w ZW4gKGNoYXIgY29uc3QgKnVybCk7CisgIHN0YXRpYyBOZXRJTyAqb3BlbiAo Y2hhciBjb25zdCAqdXJsLCBib29sIGNhY2hhYmxlKTsKIAogICAvKiBJZiAh b2soKSB0aGF0IG1lYW5zIHRoZSB0cmFuc2ZlciBpc24ndCBoYXBwZW5pbmcu ICovCiAgIHZpcnR1YWwgaW50IG9rICgpOwpAQCAtNjQsNiArNjQsOCBAQCBw dWJsaWM6CiAgIHN0YXRpYyBjaGFyICpuZXRfcHJveHlfaG9zdDsKICAgc3Rh dGljIGludCBuZXRfcHJveHlfcG9ydDsKIAorICBzdGF0aWMgY29uc3QgY2hh ciAqbmV0X21ldGhvZF9uYW1lKCk7CisKICAgLyogSGVscGVyIGZ1bmN0aW9u cyBmb3IgaHR0cC9mdHAgcHJvdG9jb2xzLiAgQm90aCByZXR1cm4gbm9uemVy byBmb3IKICAgICAgImNhbmNlbCIsIHplcm8gZm9yICJvayIuICBUaGV5IHNl dCBuZXRfcHJveHlfdXNlciwgZXRjLCBpbgogICAgICBzdGF0ZS5oICovCmRp ZmYgLS1naXQgYS9uaW8taWU1LmNjIGIvbmlvLWllNS5jYwppbmRleCAyMzZj NDU5Li4zMzc1YzA0IDEwMDY0NAotLS0gYS9uaW8taWU1LmNjCisrKyBiL25p by1pZTUuY2MKQEAgLTI3LDI4ICsyNywzNyBAQAogI2luY2x1ZGUgIm5ldGlv LmgiCiAjaW5jbHVkZSAibmlvLWllNS5oIgogCi1zdGF0aWMgSElOVEVSTkVU IGludGVybmV0ID0gMDsKK3N0YXRpYyBISU5URVJORVQgaW50ZXJuZXRfZGly ZWN0ID0gMDsKK3N0YXRpYyBISU5URVJORVQgaW50ZXJuZXRfcHJlY29uZmln ID0gMDsKIAotTmV0SU9fSUU1OjpOZXRJT19JRTUgKGNoYXIgY29uc3QgKl91 cmwpOgorTmV0SU9fSUU1OjpOZXRJT19JRTUgKGNoYXIgY29uc3QgKl91cmws IGJvb2wgZGlyZWN0LCBib29sIGNhY2hhYmxlKToKIE5ldElPIChfdXJsKQog ewogICBpbnQgcmVzZW5kID0gMDsKKyAgSElOVEVSTkVUICppbnRlcm5ldDsK IAotICBpZiAoaW50ZXJuZXQgPT0gMCkKKyAgaWYgKGRpcmVjdCkKKyAgICBp bnRlcm5ldCA9ICZpbnRlcm5ldF9kaXJlY3Q7CisgIGVsc2UKKyAgICBpbnRl cm5ldCA9ICZpbnRlcm5ldF9wcmVjb25maWc7CisKKyAgaWYgKCppbnRlcm5l dCA9PSAwKQogICAgIHsKICAgICAgIEludGVybmV0QXR0ZW1wdENvbm5lY3Qg KDApOwotICAgICAgaW50ZXJuZXQgPSBJbnRlcm5ldE9wZW4gKCJDeWd3aW4g U2V0dXAiLCBJTlRFUk5FVF9PUEVOX1RZUEVfUFJFQ09ORklHLAotCQkJICAg ICAgIE5VTEwsIE5VTEwsIDApOworICAgICAgKmludGVybmV0ID0gSW50ZXJu ZXRPcGVuICgiQ3lnd2luIFNldHVwIiwKKwkJCQlkaXJlY3QgPyBJTlRFUk5F VF9PUEVOX1RZUEVfRElSRUNUIDogSU5URVJORVRfT1BFTl9UWVBFX1BSRUNP TkZJRywKKwkJCQlOVUxMLCBOVUxMLCAwKTsKICAgICB9CiAKICAgRFdPUkQg ZmxhZ3MgPQotIC8vICAgIElOVEVSTkVUX0ZMQUdfRE9OVF9DQUNIRSB8CiAg ICAgSU5URVJORVRfRkxBR19LRUVQX0NPTk5FQ1RJT04gfAotIC8vICAgSU5U RVJORVRfRkxBR19QUkFHTUFfTk9DQUNIRSB8Ci0gLy8gICBJTlRFUk5FVF9G TEFHX1JFTE9BRCB8CiAgICAgSU5URVJORVRfRkxBR19FWElTVElOR19DT05O RUNUIHwgSU5URVJORVRfRkxBR19QQVNTSVZFOwogCi0gIGNvbm5lY3Rpb24g PSBJbnRlcm5ldE9wZW5VcmwgKGludGVybmV0LCB1cmwsIE5VTEwsIDAsIGZs YWdzLCAwKTsKKyAgaWYgKCFjYWNoYWJsZSkgeworICAgIGZsYWdzIHw9IElO VEVSTkVUX0ZMQUdfTk9fQ0FDSEVfV1JJVEU7CisgIH0KKworICBjb25uZWN0 aW9uID0gSW50ZXJuZXRPcGVuVXJsICgqaW50ZXJuZXQsIHVybCwgTlVMTCwg MCwgZmxhZ3MsIDApOwogCiB0cnlfYWdhaW46CiAKQEAgLTE0Nyw4ICsxNTYs MTQgQEAgTmV0SU9fSUU1OjpvayAoKQogaW50CiBOZXRJT19JRTU6OnJlYWQg KGNoYXIgKmJ1ZiwgaW50IG5ieXRlcykKIHsKKyAgLyogUmVhZCBpbiBjaHVu a3MgcmF0aGVyIHRoYW4gdGhlIHdob2xlIGZpbGUgYXQgb25jZSwgc28gd2Ug Y2FuIGRvIHByb2dyZXNzCisgICAgIHJlcG9ydGluZyAqLworICBpZiAobmJ5 dGVzID4gNDA5NikKKyAgICBuYnl0ZXMgPSA0MDk2OworCiAgIERXT1JEIGFj dHVhbDsKICAgaWYgKEludGVybmV0UmVhZEZpbGUgKGNvbm5lY3Rpb24sIGJ1 ZiwgbmJ5dGVzLCAmYWN0dWFsKSkKICAgICByZXR1cm4gYWN0dWFsOworCiAg IHJldHVybiAtMTsKIH0KZGlmZiAtLWdpdCBhL25pby1pZTUuaCBiL25pby1p ZTUuaAppbmRleCA4MDFjZjhhLi45YTY2ZTJhIDEwMDY0NAotLS0gYS9uaW8t aWU1LmgKKysrIGIvbmlvLWllNS5oCkBAIC0yMiw4ICsyMiw4IEBAIGNsYXNz IE5ldElPX0lFNTpwdWJsaWMgTmV0SU8KIHsKICAgSElOVEVSTkVUIGNvbm5l Y3Rpb247CiBwdWJsaWM6Ci0gICAgTmV0SU9fSUU1IChjaGFyIGNvbnN0ICp1 cmwpOwotICAgfk5ldElPX0lFNSAoKTsKKyAgTmV0SU9fSUU1IChjaGFyIGNv bnN0ICp1cmwsIGJvb2wgZGlyZWN0LCBib29sIGNhY2hlYWJsZSk7CisgIH5O ZXRJT19JRTUgKCk7CiAgIHZpcnR1YWwgaW50IG9rICgpOwogICB2aXJ0dWFs IGludCByZWFkIChjaGFyICpidWYsIGludCBuYnl0ZXMpOwogICB2b2lkIGZs dXNoX2lvICgpOwpkaWZmIC0tZ2l0IGEvcmVzLnJjIGIvcmVzLnJjCmluZGV4 IGFhZDc0YWMuLjhmMWFiMTAgMTAwNjQ0Ci0tLSBhL3Jlcy5yYworKysgYi9y ZXMucmMKQEAgLTE2Myw2ICsxNjMsOCBAQCBCRUdJTgogICAgICAgICAgICAg ICAgICAgICBCU19BVVRPUkFESU9CVVRUT04gfCBXU19UQUJTVE9QLDYwLDcw LDE4NSwxMAogICAgIENPTlRST0wgICAgICAgICAiVXNlIEhUVFAvRlRQICZQ cm94eToiLElEQ19ORVRfUFJPWFksIkJ1dHRvbiIsCiAgICAgICAgICAgICAg ICAgICAgIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX1RBQlNUT1AsNjAsODUs ODgsMTAKKyAgICBDT05UUk9MICAgICAgICAgIiZEaXJlY3QgQ29ubmVjdGlv biAobGVnYWN5KSIsSURDX05FVF9ESVJFQ1RfTEVHQUNZLCJCdXR0b24iLAor ICAgICAgICAgICAgICAgICAgICBCU19BVVRPUkFESU9CVVRUT04gfCBXU19U QUJTVE9QLDYwLDE1MCw5NCwxMAogICAgIEVESVRURVhUICAgICAgICBJRENf UFJPWFlfSE9TVCwxMjAsMTA1LDEyMCwxMixFU19BVVRPSFNDUk9MTCB8IAog ICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX0dST1VQCiAg ICAgRURJVFRFWFQgICAgICAgIElEQ19QUk9YWV9QT1JULDEyMCwxMjUsMzAs MTIsRVNfQVVUT0hTQ1JPTEwgfCAKZGlmZiAtLWdpdCBhL3Jlc291cmNlLmgg Yi9yZXNvdXJjZS5oCmluZGV4IDY4ZTgwMjMuLjViYmI2NjggMTAwNjQ0Ci0t LSBhL3Jlc291cmNlLmgKKysrIGIvcmVzb3VyY2UuaApAQCAtMTc1LDMgKzE3 NSw0IEBACiAjZGVmaW5lIElEQ19GSUxFX0lOVVNFX0VESVQgICAgICAgICAg ICAgICA1OTAKICNkZWZpbmUgSURDX0ZJTEVfSU5VU0VfTVNHICAgICAgICAg ICAgICAgIDU5MQogI2RlZmluZSBJRENfRklMRV9JTlVTRV9IRUxQICAgICAg ICAgICAgICAgNTkyCisjZGVmaW5lIElEQ19ORVRfRElSRUNUX0xFR0FDWSAg ICAgICAgICAgICA1OTMKLS0gCjIuMTIuMgoK --------------F6FF5B746BBC8C94C70077C2--