From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1PC4f3-0007zh-V3 for garchives@archives.gentoo.org; Sat, 30 Oct 2010 06:11:30 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id F4239E087C; Sat, 30 Oct 2010 06:11:24 +0000 (UTC) Received: from mail-vw0-f53.google.com (mail-vw0-f53.google.com [209.85.212.53]) by pigeon.gentoo.org (Postfix) with ESMTP id 40D53E087C for ; Sat, 30 Oct 2010 06:11:24 +0000 (UTC) Received: by vws19 with SMTP id 19so1152936vws.40 for ; Fri, 29 Oct 2010 23:11:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:sender:received:from:date :x-google-sender-auth:message-id:subject:to:content-type; bh=ALlzNb0e0/ONTqgO/IN9LYcBmekV0Ol/DXx5gQziAMc=; b=ibZCTrCblekWrCMdX+7OIxwPB98dwukY61af6JNAxiM8tH9Mb003PE0WBSLcF57N3I UrldAT4IQyOemhbS3O9mrRmqHRiHX8iIcgw0uRoea9DgygtO/n4DzXV7nliWCJ2SkWxj vTYEFOITqy7rcRW76DrYDz4zvfIHDuw5mI13U= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:from:date:x-google-sender-auth:message-id :subject:to:content-type; b=dTkPxTKvA93/GzMdwbR8YY9zCpAM7dD5VwHTl0kcrHV05B6/u91aJsr18acv5Ak63D TRKhWcm6hmsIWcnl+7t4WXeWjYWdspk85Yx4R4cU5aFvtvX5h6fZ7Vl5Orof7/1t2tcv 5bhA149hE8nB208qgO4wTrMW/kswdMBe+h9Oo= Received: by 10.229.237.129 with SMTP id ko1mr4548816qcb.4.1288419081745; Fri, 29 Oct 2010 23:11:21 -0700 (PDT) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo SCM discussions X-BeenThere: gentoo-scm@gentoo.org X-BeenThere: gentoo-scm@lists.gentoo.org MIME-Version: 1.0 Sender: arunissatan@gmail.com Received: by 10.220.186.135 with HTTP; Fri, 29 Oct 2010 23:11:01 -0700 (PDT) From: Arun Raghavan Date: Sat, 30 Oct 2010 11:41:01 +0530 X-Google-Sender-Auth: q8Dp5vjb5FyS2tFXUVXBvEETPdE Message-ID: Subject: [gentoo-scm] Updated upload-pack patches To: gentoo-scm@lists.gentoo.org Content-Type: multipart/mixed; boundary=0016364ec9bcb07a280493cf71fe X-Archives-Salt: 587c2e6c-644d-4309-8ba0-c227c98815a0 X-Archives-Hash: 0dca50731c4c23a17e2f5fe43d64eb4c --0016364ec9bcb07a280493cf71fe Content-Type: text/plain; charset=ISO-8859-1 Hey folks, Robin asked me to mail in the current set of patches (updated with a --allow-insecure-hooks argument to upload-pack up). I've not been able to actually test with this new argument, but it should work just fine. Pending items: 1. Decide whether we want to drop the ALLOW_INSECURE_HOOKS define and just let this be an off-by-default option that you worry about in git-daemon/gitosis/gitolite config. I vote for extra paranoia, but the git ML is probably the best place to get an answer to this. 2. Add support to gitosis/gitolite to pass in the option to upload-pack and test 3. Update the automated tests to also use the hooks somehow (I've yet to figure out how to do this) Cheers, -- Arun Raghavan http://arunraghavan.net/ (Ford_Prefect | Gentoo) & (arunsr | GNOME) --0016364ec9bcb07a280493cf71fe Content-Type: application/octet-stream; name="0001-upload-pack-Reinstate-the-post-upload-pack-hook.patch" Content-Disposition: attachment; filename="0001-upload-pack-Reinstate-the-post-upload-pack-hook.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gfw3g5840 RnJvbSBmZGUwNmJjMzUxMTdlM2Y5NzYxZDE4YzVhMzU3NTdhODI4MmYxYTE4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBcnVuIFJhZ2hhdmFuIDxmb3JkX3ByZWZlY3RAZ2VudG9vLm9y Zz4KRGF0ZTogU3VuLCAxNyBKYW4gMjAxMCAwOTo1MjoyMyArMDUzMApTdWJqZWN0OiBbUEFUQ0gg MS8yXSB1cGxvYWQtcGFjazogUmVpbnN0YXRlIHRoZSBwb3N0LXVwbG9hZC1wYWNrIGhvb2sKClRo aXMgdGltZSwgd2UgaW50cm9kdWNlIGEgYnVpbGQtdGltZSBmbGFnIChBTExPV19JTlNFQ1VSRV9I T09LUykgdG8gbWFrZQpzdXJlIHRoYXQgYW55Ym9keSB3aG8gd2FudHMgdG8gdXNlIHRoZXNlIGhv b2tzIGlzIGFkZXF1YXRlbHkgd2FybmVkLgotLS0KIERvY3VtZW50YXRpb24vZ2l0LXVwbG9hZC1w YWNrLnR4dCB8ICAgIDIgKwogRG9jdW1lbnRhdGlvbi9naXRob29rcy50eHQgICAgICAgIHwgICAz NCArKysrKysrKysrKysrKysKIE1ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg IDggKysrKwogY29uZmlnLm1hay5pbiAgICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiB0L01h a2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA0ICsrCiB0L3Q1NTAxLXBvc3QtdXBs b2FkLXBhY2suc2ggICAgICAgfCAgIDY5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwog dXBsb2FkLXBhY2suYyAgICAgICAgICAgICAgICAgICAgIHwgICA4NSArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKystCiA3IGZpbGVzIGNoYW5nZWQsIDIwMiBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHQvdDU1MDEtcG9zdC11cGxvYWQt cGFjay5zaAoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0LXVwbG9hZC1wYWNrLnR4dCBi L0RvY3VtZW50YXRpb24vZ2l0LXVwbG9hZC1wYWNrLnR4dAppbmRleCA3MWNhNGVmLi5jZjUzOTM3 IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dpdC11cGxvYWQtcGFjay50eHQKKysrIGIvRG9j dW1lbnRhdGlvbi9naXQtdXBsb2FkLXBhY2sudHh0CkBAIC0yMCw2ICsyMCw4IEBAIFRoZSBVSSBm b3IgdGhlIHByb3RvY29sIGlzIG9uIHRoZSAnZ2l0IGZldGNoLXBhY2snIHNpZGUsIGFuZCB0aGUK IHByb2dyYW0gcGFpciBpcyBtZWFudCB0byBiZSB1c2VkIHRvIHB1bGwgdXBkYXRlcyBmcm9tIGEg cmVtb3RlCiByZXBvc2l0b3J5LiAgRm9yIHB1c2ggb3BlcmF0aW9ucywgc2VlICdnaXQgc2VuZC1w YWNrJy4KIAorQWZ0ZXIgZmluaXNoaW5nIHRoZSBvcGVyYXRpb24gc3VjY2Vzc2Z1bGx5LCBgcG9z dC11cGxvYWQtcGFja2AKK2hvb2sgaXMgY2FsbGVkIChzZWUgbGlua2dpdDpnaXRob29rc1s1XSku CiAKIE9QVElPTlMKIC0tLS0tLS0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ2l0aG9va3Mu dHh0IGIvRG9jdW1lbnRhdGlvbi9naXRob29rcy50eHQKaW5kZXggNzE4M2FhOS4uNmI1NzNhNiAx MDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXRob29rcy50eHQKKysrIGIvRG9jdW1lbnRhdGlv bi9naXRob29rcy50eHQKQEAgLTMxMCw2ICszMTAsNDAgQEAgQm90aCBzdGFuZGFyZCBvdXRwdXQg YW5kIHN0YW5kYXJkIGVycm9yIG91dHB1dCBhcmUgZm9yd2FyZGVkIHRvCiAnZ2l0IHNlbmQtcGFj aycgb24gdGhlIG90aGVyIGVuZCwgc28geW91IGNhbiBzaW1wbHkgYGVjaG9gIG1lc3NhZ2VzCiBm b3IgdGhlIHVzZXIuCiAKK3Bvc3QtdXBsb2FkLXBhY2sKKy0tLS0tLS0tLS0tLS0tLS0KKworTm90 ZSB0aGF0IHRoaXMgaG9vayBpcyBQT1RFTlRJQUxMWSBJTlNFQ1VSRS4gSXQgaXMgcnVuIGFzIHRo ZSB1c2VyIHdobworaXMgcHVsbGluZywgc28gYW4gYXR0YWNrZXIgY2FuIG1ha2UgYSB2aWN0aW0g cnVuIGFyYml0cmFyeSBjb2RlIGJ5Citjb252aW5jaW5nIGhpbSB0byBjbG9uZSBhIHJlcG9zaXRv cnkuIFRvIGVuYWJsZSB0aGlzIGhvb2ssIGdpdCBtdXN0IGJlCitjb21waWxlZCB3aXRoIHRoZSBB TExPV19JTlNFQ1VSRV9IT09LUyBvcHRpb24uCisKK0FmdGVyIHVwbG9hZC1wYWNrIHN1Y2Nlc3Nm dWxseSBmaW5pc2hlcyBpdHMgb3BlcmF0aW9uLCB0aGlzIGhvb2sgaXMgY2FsbGVkCitmb3IgbG9n Z2luZyBwdXJwb3Nlcy4KKworVGhlIGhvb2sgaXMgcGFzc2VkIHZhcmlvdXMgcGllY2VzIG9mIGlu Zm9ybWF0aW9uLCBvbmUgcGVyIGxpbmUsIGZyb20gaXRzCitzdGFuZGFyZCBpbnB1dC4gIEN1cnJl bnRseSB0aGUgZm9sbG93aW5nIGl0ZW1zIGNhbiBiZSBmZWQgdG8gdGhlIGhvb2ssIGJ1dAorbW9y ZSB0eXBlcyBvZiBpbmZvcm1hdGlvbiBtYXkgYmUgYWRkZWQgaW4gdGhlIGZ1dHVyZToKKword2Fu dCBTSEEtMTo6CisgICAgNDAtYnl0ZSBoZXhhZGVjaW1hbCBvYmplY3QgbmFtZSB0aGUgY2xpZW50 IGFza2VkIHRvIGluY2x1ZGUgaW4gdGhlCisgICAgcmVzdWx0aW5nIHBhY2suICBDYW4gb2NjdXIg b25lIG9yIG1vcmUgdGltZXMgaW4gdGhlIGlucHV0LgorCitoYXZlIFNIQS0xOjoKKyAgICA0MC1i eXRlIGhleGFkZWNpbWFsIG9iamVjdCBuYW1lIHRoZSBjbGllbnQgYXNrZWQgdG8gZXhjbHVkZSBm cm9tCisgICAgdGhlIHJlc3VsdGluZyBwYWNrLCBjbGFpbWluZyB0byBoYXZlIHRoZW0gYWxyZWFk eS4gIENhbiBvY2N1ciB6ZXJvCisgICAgb3IgbW9yZSB0aW1lcyBpbiB0aGUgaW5wdXQuCisKK3Rp bWUgZmxvYXQ6OgorICAgIE51bWJlciBvZiBzZWNvbmRzIHNwZW50IGZvciBjcmVhdGluZyB0aGUg cGFja2ZpbGUuCisKK3NpemUgZGVjaW1hbDo6CisgICAgU2l6ZSBvZiB0aGUgcmVzdWx0aW5nIHBh Y2tmaWxlIGluIGJ5dGVzLgorCitraW5kIHN0cmluZzoKKyAgICBFaXRoZXIgImNsb25lIiAod2hl biB0aGUgY2xpZW50IGRpZCBub3QgZ2l2ZSB1cyBhbnkgImhhdmUiLCBhbmQgYXNrZWQKKyAgICBm b3IgYWxsIG91ciByZWZzIHdpdGggIndhbnQiKSwgb3IgImZldGNoIiAob3RoZXJ3aXNlKS4KKwog cHJlLWF1dG8tZ2MKIH5+fn5+fn5+fn5+CiAKZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZp bGUKaW5kZXggMWYxY2UwNC4uZDY1ZTkyMyAxMDA2NDQKLS0tIGEvTWFrZWZpbGUKKysrIGIvTWFr ZWZpbGUKQEAgLTIxNyw2ICsyMTcsMTAgQEAgYWxsOjoKICMgRGVmaW5lIENTU01JTiB0byBwb2lu dCB0byBhIENTUyBtaW5pZmllciBpbiBvcmRlciB0byBnZW5lcmF0ZSBhIG1pbmlmaWVkCiAjIHZl cnNpb24gb2YgZ2l0d2ViLmNzcwogIworIyBEZWZpbmUgQUxMT1dfSU5TRUNVUkVfSE9PS1MgdG8g ZW5hYmxlIGhvb2tzIHRoYXQgaGF2ZSBzZWN1cml0eSBpbXBsaWNhdGlvbnMKKyMgaW4gc29tZSBz ZXR1cHMgKHN1Y2ggYXMgcHJlLS9wb3N0LXVwbG9hZCBob29rcyB0aGF0IHJ1biB3aXRoIHRoZSB1 c2VyIGlkIG9mCisjIHRoZSB1c2VyIHdobyBpcyBwdWxsaW5nKS4KKyMKICMgRGVmaW5lIERFRkFV TFRfUEFHRVIgdG8gYSBzZW5zaWJsZSBwYWdlciBjb21tYW5kIChkZWZhdWx0cyB0byAibGVzcyIp IGlmCiAjIHlvdSB3YW50IHRvIHVzZSBzb21ldGhpbmcgZGlmZmVyZW50LiAgVGhlIHZhbHVlIHdp bGwgYmUgaW50ZXJwcmV0ZWQgYnkgdGhlCiAjIHNoZWxsIGF0IHJ1bnRpbWUgd2hlbiBpdCBpcyB1 c2VkLgpAQCAtMTQ3OSw2ICsxNDgzLDEwIEBAIGlmZGVmIEdJVF9URVNUX0NNUF9VU0VfQ09QSUVE X0NPTlRFWFQKIAlleHBvcnQgR0lUX1RFU1RfQ01QX1VTRV9DT1BJRURfQ09OVEVYVAogZW5kaWYK IAoraWZkZWYgQUxMT1dfSU5TRUNVUkVfSE9PS1MKKwlCQVNJQ19DRkxBR1MgKz0gLURBTExPV19J TlNFQ1VSRV9IT09LUworZW5kaWYKKwogaWZlcSAoJChUQ0xUS19QQVRIKSwpCiBOT19UQ0xUSz1O b1RoYW5rcwogZW5kaWYKZGlmZiAtLWdpdCBhL2NvbmZpZy5tYWsuaW4gYi9jb25maWcubWFrLmlu CmluZGV4IGEwYzM0ZWUuLmI1OTY2OTIgMTAwNjQ0Ci0tLSBhL2NvbmZpZy5tYWsuaW4KKysrIGIv Y29uZmlnLm1hay5pbgpAQCAtNjgsMyArNjgsNCBAQCBTTlBSSU5URl9SRVRVUk5TX0JPR1VTPUBT TlBSSU5URl9SRVRVUk5TX0JPR1VTQAogTk9fUFRIUkVBRFM9QE5PX1BUSFJFQURTQAogUFRIUkVB RF9DRkxBR1M9QFBUSFJFQURfQ0ZMQUdTQAogUFRIUkVBRF9MSUJTPUBQVEhSRUFEX0xJQlNACitB TExPV19JTlNFQ1VSRV9IT09LUz1AQUxMT1dfSU5TRUNVUkVfSE9PS1NACmRpZmYgLS1naXQgYS90 L01ha2VmaWxlIGIvdC9NYWtlZmlsZQppbmRleCBjN2JhZWZiLi41OTg4MTZhIDEwMDY0NAotLS0g YS90L01ha2VmaWxlCisrKyBiL3QvTWFrZWZpbGUKQEAgLTE4LDYgKzE4LDEwIEBAIFNIRUxMX1BB VEhfU1EgPSAkKHN1YnN0ICcsJ1wnJywkKFNIRUxMX1BBVEgpKQogVCA9ICQod2lsZGNhcmQgdFsw LTldWzAtOV1bMC05XVswLTldLSouc2gpCiBUU1ZOID0gJCh3aWxkY2FyZCB0OTFbMC05XVswLTld LSouc2gpCiAKK2lmbmRlZiBBTExPV19JTlNFQ1VSRV9IT09LUworCVQgOj0gJChmaWx0ZXItb3V0 IHQ1NTAxLXBvc3QtdXBsb2FkLXBhY2suc2gsJChUKSkKK2VuZGlmCisKIGFsbDogcHJlLWNsZWFu CiAJJChNQUtFKSBhZ2dyZWdhdGUtcmVzdWx0cy1hbmQtY2xlYW51cAogCmRpZmYgLS1naXQgYS90 L3Q1NTAxLXBvc3QtdXBsb2FkLXBhY2suc2ggYi90L3Q1NTAxLXBvc3QtdXBsb2FkLXBhY2suc2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDg5ZmI1MQotLS0gL2Rldi9udWxs CisrKyBiL3QvdDU1MDEtcG9zdC11cGxvYWQtcGFjay5zaApAQCAtMCwwICsxLDY5IEBACisjIS9i aW4vc2gKKwordGVzdF9kZXNjcmlwdGlvbj0ncG9zdCB1cGxvYWQtaG9vaycKKworLiAuL3Rlc3Qt bGliLnNoCisKK0xPR0ZJTEU9Ii5naXQvcG9zdC11cGxvYWQtcGFjay1sb2ciCisKK3Rlc3RfZXhw ZWN0X3N1Y2Nlc3Mgc2V0dXAgJworCXRlc3RfY29tbWl0IEEgJiYKKwl0ZXN0X2NvbW1pdCBCICYm CisJZ2l0IHJlc2V0IC0taGFyZCBBICYmCisJdGVzdF9jb21taXQgQyAmJgorCWdpdCBicmFuY2gg cHJldiBCICYmCisJbWtkaXIgLXAgLmdpdC9ob29rcyAmJgorCXsKKwkJZWNobyAiIyEkU0hFTExf UEFUSCIgJiYKKwkJZWNobyAiY2F0ID5wb3N0LXVwbG9hZC1wYWNrLWxvZyIKKwl9ID4iLmdpdC9o b29rcy9wb3N0LXVwbG9hZC1wYWNrIiAmJgorCWNobW9kICt4IC5naXQvaG9va3MvcG9zdC11cGxv YWQtcGFjaworJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIGluaXRpYWwgJworCXJtIC1mciBzdWIg JiYKKwlnaXQgaW5pdCBzdWIgJiYKKwkoCisJCWNkIHN1YiAmJgorCQlnaXQgZmV0Y2ggLS1uby10 YWdzIC4uIHByZXYKKwkpICYmCisJd2FudD0kKHNlZCAtbiAicy9ed2FudCAvL3AiICIkTE9HRklM RSIpICYmCisJdGVzdCAiJHdhbnQiID0gIiQoZ2l0IHJldi1wYXJzZSAtLXZlcmlmeSBCKSIgJiYK KwkhIGdyZXAgIl5oYXZlICIgIiRMT0dGSUxFIiAmJgorCWtpbmQ9JChzZWQgLW4gInMvXmtpbmQg Ly9wIiAiJExPR0ZJTEUiKSAmJgorCXRlc3QgIiRraW5kIiA9IGZldGNoCisnCisKK3Rlc3RfZXhw ZWN0X3N1Y2Nlc3Mgc2Vjb25kICcKKwlybSAtZnIgc3ViICYmCisJZ2l0IGluaXQgc3ViICYmCisJ KAorCQljZCBzdWIgJiYKKwkJZ2l0IGZldGNoIC0tbm8tdGFncyAuLiBwcmV2OnJlZnMvcmVtb3Rl cy9wcmV2ICYmCisJCWdpdCBmZXRjaCAtLW5vLXRhZ3MgLi4gbWFzdGVyCisJKSAmJgorCXdhbnQ9 JChzZWQgLW4gInMvXndhbnQgLy9wIiAiJExPR0ZJTEUiKSAmJgorCXRlc3QgIiR3YW50IiA9ICIk KGdpdCByZXYtcGFyc2UgLS12ZXJpZnkgQykiICYmCisJaGF2ZT0kKHNlZCAtbiAicy9eaGF2ZSAv L3AiICIkTE9HRklMRSIpICYmCisJdGVzdCAiJGhhdmUiID0gIiQoZ2l0IHJldi1wYXJzZSAtLXZl cmlmeSBCKSIgJiYKKwlraW5kPSQoc2VkIC1uICJzL15raW5kIC8vcCIgIiRMT0dGSUxFIikgJiYK Kwl0ZXN0ICIka2luZCIgPSBmZXRjaAorJworCit0ZXN0X2V4cGVjdF9zdWNjZXNzIGFsbCAnCisJ cm0gLWZyIHN1YiAmJgorCUhFUkU9JChwd2QpICYmCisJZ2l0IGluaXQgc3ViICYmCisJKAorCQlj ZCBzdWIgJiYKKwkJZ2l0IGNsb25lICJmaWxlOi8vJEhFUkUvLmdpdCIgbmV3CisJKSAmJgorCXNl ZCAtbiAicy9ed2FudCAvL3AiICIkTE9HRklMRSIgfCBzb3J0ID5hY3R1YWwgJiYKKwlnaXQgcmV2 LXBhcnNlIEEgQiBDIHwgc29ydCA+ZXhwZWN0ICYmCisJdGVzdF9jbXAgZXhwZWN0IGFjdHVhbCAm JgorCSEgZ3JlcCAiXmhhdmUgIiAiJExPR0ZJTEUiICYmCisJa2luZD0kKHNlZCAtbiAicy9ea2lu ZCAvL3AiICIkTE9HRklMRSIpICYmCisJdGVzdCAiJGtpbmQiID0gY2xvbmUKKycKKwordGVzdF9k b25lCmRpZmYgLS1naXQgYS91cGxvYWQtcGFjay5jIGIvdXBsb2FkLXBhY2suYwppbmRleCBmMDVl NDIyLi45YWEzNWVhIDEwMDY0NAotLS0gYS91cGxvYWQtcGFjay5jCisrKyBiL3VwbG9hZC1wYWNr LmMKQEAgLTQxLDYgKzQxLDExIEBAIHN0YXRpYyBpbnQgdXNlX3NpZGViYW5kOwogc3RhdGljIGlu dCBkZWJ1Z19mZDsKIHN0YXRpYyBpbnQgYWR2ZXJ0aXNlX3JlZnM7CiBzdGF0aWMgaW50IHN0YXRl bGVzc19ycGM7CisjaWZkZWYgQUxMT1dfSU5TRUNVUkVfSE9PS1MKK3N0YXRpYyBpbnQgYWxsb3df aW5zZWN1cmVfaG9va3MgPSAxOworI2Vsc2UKK3N0YXRpYyBpbnQgYWxsb3dfaW5zZWN1cmVfaG9v a3MgPSAwOworI2VuZGlmCiAKIHN0YXRpYyB2b2lkIHJlc2V0X3RpbWVvdXQodm9pZCkKIHsKQEAg LTE0Myw4ICsxNDgsNjkgQEAgc3RhdGljIGludCBkb19yZXZfbGlzdChpbnQgaW4sIGludCBvdXQs IHZvaWQgKnVzZXJfZGF0YSkKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGludCBmZWVkX21zZ190 b19ob29rKGludCBmZCwgY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJaW50IGNudDsKKwljaGFy IGJ1ZlsxMDI0XTsKKwl2YV9saXN0IHBhcmFtczsKKworCXZhX3N0YXJ0KHBhcmFtcywgZm10KTsK KwljbnQgPSB2c3ByaW50ZihidWYsIGZtdCwgcGFyYW1zKTsKKwl2YV9lbmQocGFyYW1zKTsKKwly ZXR1cm4gd3JpdGVfaW5fZnVsbChmZCwgYnVmLCBjbnQpICE9IGNudDsKK30KKworc3RhdGljIGlu dCBmZWVkX29ial90b19ob29rKGNvbnN0IGNoYXIgKmxhYmVsLCBzdHJ1Y3Qgb2JqZWN0X2FycmF5 ICpvYSwgaW50IGksIGludCBmZCkKK3sKKwlyZXR1cm4gZmVlZF9tc2dfdG9faG9vayhmZCwgIiVz ICVzXG4iLCBsYWJlbCwKKwkJCQlzaGExX3RvX2hleChvYS0+b2JqZWN0c1tpXS5pdGVtLT5zaGEx KSk7Cit9CisKK3N0YXRpYyBpbnQgcnVuX3Bvc3RfdXBsb2FkX3BhY2tfaG9vayhzaXplX3QgdG90 YWwsIHN0cnVjdCB0aW1ldmFsICp0dikKK3sKKwljb25zdCBjaGFyICphcmd2WzJdOworCXN0cnVj dCBjaGlsZF9wcm9jZXNzIHByb2M7CisJaW50IGVyciwgaTsKKworCWFyZ3ZbMF0gPSAiaG9va3Mv cG9zdC11cGxvYWQtcGFjayI7CisJYXJndlsxXSA9IE5VTEw7CisKKwlpZiAoYWNjZXNzKGFyZ3Zb MF0sIFhfT0spIDwgMCkKKwkJcmV0dXJuIDA7CisKKwlpZiAoIWFsbG93X2luc2VjdXJlX2hvb2tz KQorCQlyZXR1cm4gMTsKKworCW1lbXNldCgmcHJvYywgMCwgc2l6ZW9mKHByb2MpKTsKKwlwcm9j LmFyZ3YgPSBhcmd2OworCXByb2MuaW4gPSAtMTsKKwlwcm9jLnN0ZG91dF90b19zdGRlcnIgPSAx OworCWVyciA9IHN0YXJ0X2NvbW1hbmQoJnByb2MpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7 CisJZm9yIChpID0gMDsgIWVyciAmJiBpIDwgd2FudF9vYmoubnI7IGkrKykKKwkJZXJyIHw9IGZl ZWRfb2JqX3RvX2hvb2soIndhbnQiLCAmd2FudF9vYmosIGksIHByb2MuaW4pOworCWZvciAoaSA9 IDA7ICFlcnIgJiYgaSA8IGhhdmVfb2JqLm5yOyBpKyspCisJCWVyciB8PSBmZWVkX29ial90b19o b29rKCJoYXZlIiwgJmhhdmVfb2JqLCBpLCBwcm9jLmluKTsKKwlpZiAoIWVycikKKwkJZXJyIHw9 IGZlZWRfbXNnX3RvX2hvb2socHJvYy5pbiwgInRpbWUgJWxkLiUwNmxkXG4iLAorCQkJCQkobG9u Zyl0di0+dHZfc2VjLCAobG9uZyl0di0+dHZfdXNlYyk7CisJaWYgKCFlcnIpCisJCWVyciB8PSBm ZWVkX21zZ190b19ob29rKHByb2MuaW4sICJzaXplICVsZFxuIiwgKGxvbmcpdG90YWwpOworCWlm ICghZXJyKQorCQllcnIgfD0gZmVlZF9tc2dfdG9faG9vayhwcm9jLmluLCAia2luZCAlc1xuIiwK KwkJCQkJKG5yX291cl9yZWZzID09IHdhbnRfb2JqLm5yICYmICFoYXZlX29iai5ucikKKwkJCQkJ PyAiY2xvbmUiIDogImZldGNoIik7CisJaWYgKGNsb3NlKHByb2MuaW4pKQorCQllcnIgPSAxOwor CWlmIChmaW5pc2hfY29tbWFuZCgmcHJvYykpCisJCWVyciA9IDE7CisJcmV0dXJuIGVycjsKK30K Kwogc3RhdGljIHZvaWQgY3JlYXRlX3BhY2tfZmlsZSh2b2lkKQogeworCXN0cnVjdCB0aW1ldmFs IHN0YXJ0X3R2LCB0djsKIAlzdHJ1Y3QgYXN5bmMgcmV2X2xpc3Q7CiAJc3RydWN0IGNoaWxkX3By b2Nlc3MgcGFja19vYmplY3RzOwogCWludCBjcmVhdGVfZnVsbF9wYWNrID0gKG5yX291cl9yZWZz ID09IHdhbnRfb2JqLm5yICYmICFoYXZlX29iai5ucik7CkBAIC0xNTMsOSArMjE5LDEzIEBAIHN0 YXRpYyB2b2lkIGNyZWF0ZV9wYWNrX2ZpbGUodm9pZCkKIAkJImNvcnJ1cHRpb24gb24gdGhlIHJl bW90ZSBzaWRlLiI7CiAJaW50IGJ1ZmZlcmVkID0gLTE7CiAJc3NpemVfdCBzejsKKwlzc2l6ZV90 IHRvdGFsX3N6OwogCWNvbnN0IGNoYXIgKmFyZ3ZbMTBdOwogCWludCBhcmcgPSAwOwogCisJZ2V0 dGltZW9mZGF5KCZzdGFydF90diwgTlVMTCk7CisJdG90YWxfc3ogPSAwOworCiAJaWYgKHNoYWxs b3dfbnIpIHsKIAkJbWVtc2V0KCZyZXZfbGlzdCwgMCwgc2l6ZW9mKHJldl9saXN0KSk7CiAJCXJl dl9saXN0LnByb2MgPSBkb19yZXZfbGlzdDsKQEAgLTI4Miw3ICszNTIsNyBAQCBzdGF0aWMgdm9p ZCBjcmVhdGVfcGFja19maWxlKHZvaWQpCiAJCQlzeiA9IHhyZWFkKHBhY2tfb2JqZWN0cy5vdXQs IGNwLAogCQkJCSAgc2l6ZW9mKGRhdGEpIC0gb3V0c3opOwogCQkJaWYgKDAgPCBzeikKLQkJCQk7 CisJCQkJdG90YWxfc3ogKz0gc3o7CiAJCQllbHNlIGlmIChzeiA9PSAwKSB7CiAJCQkJY2xvc2Uo cGFja19vYmplY3RzLm91dCk7CiAJCQkJcGFja19vYmplY3RzLm91dCA9IC0xOwpAQCAtMzE5LDYg KzM4OSwxOSBAQCBzdGF0aWMgdm9pZCBjcmVhdGVfcGFja19maWxlKHZvaWQpCiAJfQogCWlmICh1 c2Vfc2lkZWJhbmQpCiAJCXBhY2tldF9mbHVzaCgxKTsKKworCWlmIChhbGxvd19pbnNlY3VyZV9o b29rcykgeworCQlnZXR0aW1lb2ZkYXkoJnR2LCBOVUxMKTsKKwkJdHYudHZfc2VjIC09IHN0YXJ0 X3R2LnR2X3NlYzsKKwkJaWYgKHR2LnR2X3VzZWMgPCBzdGFydF90di50dl91c2VjKSB7CisJCQl0 di50dl9zZWMtLTsKKwkJCXR2LnR2X3VzZWMgKz0gMTAwMDAwMDsKKwkJfQorCQl0di50dl91c2Vj IC09IHN0YXJ0X3R2LnR2X3VzZWM7CisJCWlmIChydW5fdXBsb2FkX3BhY2tfaG9vaygxLCB0b3Rh bF9zeiwgJnR2KSkKKwkJCXdhcm5pbmcoIlJ1bm5pbmcgcG9zdC11cGxvYWQtaG9vayBmYWlsZWQi KTsKKwl9CisKIAlyZXR1cm47CiAKICBmYWlsOgotLSAKMS43LjMuMQoK --0016364ec9bcb07a280493cf71fe Content-Type: application/octet-stream; name="0002-upload-pack-Add-a-pre-upload-pack-hook.patch" Content-Disposition: attachment; filename="0002-upload-pack-Add-a-pre-upload-pack-hook.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gfw3gmlm1 RnJvbSAyYWIzYWYzMjNlM2M0MmExZGQ1NTRjZGY0NTk2OTRhYTkwZDM2NTc0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBcnVuIFJhZ2hhdmFuIDxmb3JkX3ByZWZlY3RAZ2VudG9vLm9y Zz4KRGF0ZTogRnJpLCAyMiBKYW4gMjAxMCAwMzowMTo0OCArMDUzMApTdWJqZWN0OiBbUEFUQ0gg Mi8yXSB1cGxvYWQtcGFjazogQWRkIGEgcHJlLXVwbG9hZC1wYWNrIGhvb2sKClRoaXMgaG9vayBp cyBydW4gYWZ0ZXIgd2FudC9oYXZlIGFyZSBjb21tdW5pY2F0ZWQgYW5kIGJlZm9yZSB0aGUgYWN0 dWFsCnVwbG9hZCBvcGVyYXRpb24gaXMgYmVndW4uIEl0IGlzIHBhc3NlZCB0aGUgc2V0IG9mIHdh bnQgYW5kIGhhdmUsIGFzCndlbGwgYXMgdGhlIHR5cGUgb2Ygb3BlcmF0aW9uIChmZXRjaC9jbG9u ZSkuIFRoZSBpbnRlbmRlZCB1c2UgZm9yIHRoaXMKaG9vayBpcyB0byByZWplY3QgbGFyZ2UgdXBs b2FkcyAoc3VjaCBhcyB2ZXJ5IGxhcmdlIGluaXRpYWwgY2xvbmVzKS4KLS0tCiBEb2N1bWVudGF0 aW9uL2dpdC11cGxvYWQtcGFjay50eHQgICAgICAgfCAgICA5ICsrKy0KIERvY3VtZW50YXRpb24v Z2l0aG9va3MudHh0ICAgICAgICAgICAgICB8ICAgMzkgKysrKysrKysrKystLQogdC9NYWtlZmls ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiB0L3Q1NTA3LXByZS11cGxv YWQtcGFjay5zaCAgICAgICAgICAgICAgfCAgIDkzICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysKIHRlbXBsYXRlcy9ob29rcy0tcHJlLXVwbG9hZC1wYWNrLnNhbXBsZSB8ICAgMTEgKysr KwogdXBsb2FkLXBhY2suYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzNCArKysrKysr Ky0tLQogNiBmaWxlcyBjaGFuZ2VkLCAxNjkgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0p CiBjcmVhdGUgbW9kZSAxMDA2NDQgdC90NTUwNy1wcmUtdXBsb2FkLXBhY2suc2gKIGNyZWF0ZSBt b2RlIDEwMDY0NCB0ZW1wbGF0ZXMvaG9va3MtLXByZS11cGxvYWQtcGFjay5zYW1wbGUKCmRpZmYg LS1naXQgYS9Eb2N1bWVudGF0aW9uL2dpdC11cGxvYWQtcGFjay50eHQgYi9Eb2N1bWVudGF0aW9u L2dpdC11cGxvYWQtcGFjay50eHQKaW5kZXggY2Y1MzkzNy4uNjBhYjYxMyAxMDA2NDQKLS0tIGEv RG9jdW1lbnRhdGlvbi9naXQtdXBsb2FkLXBhY2sudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZ2l0 LXVwbG9hZC1wYWNrLnR4dApAQCAtMjAsOCArMjAsMTEgQEAgVGhlIFVJIGZvciB0aGUgcHJvdG9j b2wgaXMgb24gdGhlICdnaXQgZmV0Y2gtcGFjaycgc2lkZSwgYW5kIHRoZQogcHJvZ3JhbSBwYWly IGlzIG1lYW50IHRvIGJlIHVzZWQgdG8gcHVsbCB1cGRhdGVzIGZyb20gYSByZW1vdGUKIHJlcG9z aXRvcnkuICBGb3IgcHVzaCBvcGVyYXRpb25zLCBzZWUgJ2dpdCBzZW5kLXBhY2snLgogCitCZWZv cmUgc3RhcnRpbmcgdGhlIHVwbG9hZCBvcGVyYXRpb24sIGBwcmUtdXBsb2FkLXBhY2tgIGhvb2sg bWF5IGJlCitjYWxsZWQgKHNlZSBsaW5rZ2l0OmdpdGhvb2tzWzVdKS4KKwogQWZ0ZXIgZmluaXNo aW5nIHRoZSBvcGVyYXRpb24gc3VjY2Vzc2Z1bGx5LCBgcG9zdC11cGxvYWQtcGFja2AKLWhvb2sg aXMgY2FsbGVkIChzZWUgbGlua2dpdDpnaXRob29rc1s1XSkuCitob29rIG1heSBiZSBjYWxsZWQg KHNlZSBsaW5rZ2l0OmdpdGhvb2tzWzVdKS4KIAogT1BUSU9OUwogLS0tLS0tLQpAQCAtMzIsNiAr MzUsMTAgQEAgT1BUSU9OUwogLS10aW1lb3V0PTxuPjo6CiAJSW50ZXJydXB0IHRyYW5zZmVyIGFm dGVyIDxuPiBzZWNvbmRzIG9mIGluYWN0aXZpdHkuCiAKKy0tYWxsb3ctaW5zZWN1cmUtaG9va3M6 CisJQWxsb3dzIHByZS0gYW5kIHBvc3QtdXBsb2FkLXBhY2sgaG9va3MgdG8gYmUgcnVuLiBTZWUg dGhlIG5vdGUKKwlhYm92ZSBvbiBwb3RlbnRpYWwgc2VjdXJpdHkgY29uY2VybnMuCisKIDxkaXJl Y3Rvcnk+OjoKIAlUaGUgcmVwb3NpdG9yeSB0byBzeW5jIGZyb20uCiAKZGlmZiAtLWdpdCBhL0Rv Y3VtZW50YXRpb24vZ2l0aG9va3MudHh0IGIvRG9jdW1lbnRhdGlvbi9naXRob29rcy50eHQKaW5k ZXggNmI1NzNhNi4uZDcwYzQyYSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9naXRob29rcy50 eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9naXRob29rcy50eHQKQEAgLTMxMCwxNiArMzEwLDIwIEBA IEJvdGggc3RhbmRhcmQgb3V0cHV0IGFuZCBzdGFuZGFyZCBlcnJvciBvdXRwdXQgYXJlIGZvcndh cmRlZCB0bwogJ2dpdCBzZW5kLXBhY2snIG9uIHRoZSBvdGhlciBlbmQsIHNvIHlvdSBjYW4gc2lt cGx5IGBlY2hvYCBtZXNzYWdlcwogZm9yIHRoZSB1c2VyLgogCi1wb3N0LXVwbG9hZC1wYWNrCi0t LS0tLS0tLS0tLS0tLS0tCitwcmUtdXBsb2FkLXBhY2sKKy0tLS0tLS0tLS0tLS0tLQogCi1Ob3Rl IHRoYXQgdGhpcyBob29rIGlzIFBPVEVOVElBTExZIElOU0VDVVJFLiBJdCBpcyBydW4gYXMgdGhl IHVzZXIgd2hvCitOb3RlIHRoYXQgdGhpcyBob29rIGlzIFBPVEVOVElBTExZIElOU0VDVVJFIG9u IHNoYXJlZCBzeXN0ZW1zIHdoZXJlCit0aGUgb3duZXIgb2YgdGhlIHJlcG9zaXRvcnkgaXMgbm90 IHRydXN0ZWQuIEl0IGlzIHJ1biBhcyB0aGUgdXNlciB3aG8KIGlzIHB1bGxpbmcsIHNvIGFuIGF0 dGFja2VyIGNhbiBtYWtlIGEgdmljdGltIHJ1biBhcmJpdHJhcnkgY29kZSBieQotY29udmluY2lu ZyBoaW0gdG8gY2xvbmUgYSByZXBvc2l0b3J5LiBUbyBlbmFibGUgdGhpcyBob29rLCBnaXQgbXVz dCBiZQotY29tcGlsZWQgd2l0aCB0aGUgQUxMT1dfSU5TRUNVUkVfSE9PS1Mgb3B0aW9uLgorY29u dmluY2luZyBoaW0gdG8gY2xvbmUgYSByZXBvc2l0b3J5LiBUbyBlbmFibGUgdGhpcyBob29rLCBn aXQgbXVzdAorYmUgY29tcGlsZWQgd2l0aCB0aGUgQUxMT1dfSU5TRUNVUkVfSE9PS1Mgb3B0aW9u LCBhbmQgdXBsb2FkLXBhY2sgbXVzdCBiZQorY2FsbGVkIHdpdGggLS1hbGxvdy1pbnNlY3VyZS1o b29rcyAodGhpcyBpcyB1c3VhbGx5IGRvbmUgYnkgc2V0dGluZyBhCitjb25maWd1cmF0aW9uIG9w dGlvbiBmb3IgZ2l0LWRhZW1vbi9naXRvc2lzL2dpdG9saXRlL2V0Yy4pLgogCi1BZnRlciB1cGxv YWQtcGFjayBzdWNjZXNzZnVsbHkgZmluaXNoZXMgaXRzIG9wZXJhdGlvbiwgdGhpcyBob29rIGlz IGNhbGxlZAotZm9yIGxvZ2dpbmcgcHVycG9zZXMuCitCZWZvcmUgdGhlIHVwbG9hZC1wYWNrIGlz IHN0YXJ0ZWQgKGJ1dCBhZnRlciB3YW50L2hhdmUgaGF2ZSBiZWVuCitjb21tdW5pY2F0ZWQpLCB0 aGlzIGhvb2sgbWF5IGJlIGNhbGxlZC4gSXQgY2FuIGJlIHVzZWQsIGZvciBleGFtcGxlLAordG8g ZGVueSB2ZXJ5IGxhcmdlIHVwbG9hZHMuCiAKIFRoZSBob29rIGlzIHBhc3NlZCB2YXJpb3VzIHBp ZWNlcyBvZiBpbmZvcm1hdGlvbiwgb25lIHBlciBsaW5lLCBmcm9tIGl0cwogc3RhbmRhcmQgaW5w dXQuICBDdXJyZW50bHkgdGhlIGZvbGxvd2luZyBpdGVtcyBjYW4gYmUgZmVkIHRvIHRoZSBob29r LCBidXQKQEAgLTMzNCw2ICszMzgsMjcgQEAgaGF2ZSBTSEEtMTo6CiAgICAgdGhlIHJlc3VsdGlu ZyBwYWNrLCBjbGFpbWluZyB0byBoYXZlIHRoZW0gYWxyZWFkeS4gIENhbiBvY2N1ciB6ZXJvCiAg ICAgb3IgbW9yZSB0aW1lcyBpbiB0aGUgaW5wdXQuCiAKK2tpbmQgc3RyaW5nOgorICAgIEVpdGhl ciAiY2xvbmUiICh3aGVuIHRoZSBjbGllbnQgZGlkIG5vdCBnaXZlIHVzIGFueSAiaGF2ZSIsIGFu ZCBhc2tlZAorICAgIGZvciBhbGwgb3VyIHJlZnMgd2l0aCAid2FudCIpLCBvciAiZmV0Y2giIChv dGhlcndpc2UpLgorCitwb3N0LXVwbG9hZC1wYWNrCistLS0tLS0tLS0tLS0tLS0tCisKK1RoZSBz YW1lIFNFQ1VSSVRZIENPTkNFUk5TIGFzIHByZS11cGxvYWQtcGFjayBhcHBseSBoZXJlLgorCitB ZnRlciB1cGxvYWQtcGFjayBzdWNjZXNzZnVsbHkgZmluaXNoZXMgaXRzIG9wZXJhdGlvbiwgdGhp cyBob29rIGlzIGNhbGxlZAorKGZvciBleGFtcGxlLCBmb3IgbG9nZ2luZykuCisKK3dhbnQgU0hB LTE6OgorICAgIDQwLWJ5dGUgaGV4YWRlY2ltYWwgb2JqZWN0IG5hbWUgdGhlIGNsaWVudCBhc2tl ZCB0byBpbmNsdWRlIGluIHRoZQorICAgIHJlc3VsdGluZyBwYWNrLiAgQ2FuIG9jY3VyIG9uZSBv ciBtb3JlIHRpbWVzIGluIHRoZSBpbnB1dC4KKworaGF2ZSBTSEEtMTo6CisgICAgNDAtYnl0ZSBo ZXhhZGVjaW1hbCBvYmplY3QgbmFtZSB0aGUgY2xpZW50IGFza2VkIHRvIGV4Y2x1ZGUgZnJvbQor ICAgIHRoZSByZXN1bHRpbmcgcGFjaywgY2xhaW1pbmcgdG8gaGF2ZSB0aGVtIGFscmVhZHkuICBD YW4gb2NjdXIgemVybworICAgIG9yIG1vcmUgdGltZXMgaW4gdGhlIGlucHV0LgorCiB0aW1lIGZs b2F0OjoKICAgICBOdW1iZXIgb2Ygc2Vjb25kcyBzcGVudCBmb3IgY3JlYXRpbmcgdGhlIHBhY2tm aWxlLgogCmRpZmYgLS1naXQgYS90L01ha2VmaWxlIGIvdC9NYWtlZmlsZQppbmRleCA1OTg4MTZh Li4zOWY4N2RlIDEwMDY0NAotLS0gYS90L01ha2VmaWxlCisrKyBiL3QvTWFrZWZpbGUKQEAgLTIw LDYgKzIwLDcgQEAgVFNWTiA9ICQod2lsZGNhcmQgdDkxWzAtOV1bMC05XS0qLnNoKQogCiBpZm5k ZWYgQUxMT1dfSU5TRUNVUkVfSE9PS1MKIAlUIDo9ICQoZmlsdGVyLW91dCB0NTUwMS1wb3N0LXVw bG9hZC1wYWNrLnNoLCQoVCkpCisJVCA6PSAkKGZpbHRlci1vdXQgdDU1MDctcHJlLXVwbG9hZC1w YWNrLnNoLCQoVCkpCiBlbmRpZgogCiBhbGw6IHByZS1jbGVhbgpkaWZmIC0tZ2l0IGEvdC90NTUw Ny1wcmUtdXBsb2FkLXBhY2suc2ggYi90L3Q1NTA3LXByZS11cGxvYWQtcGFjay5zaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kM2E3YmE3Ci0tLSAvZGV2L251bGwKKysrIGIv dC90NTUwNy1wcmUtdXBsb2FkLXBhY2suc2gKQEAgLTAsMCArMSw5MyBAQAorIyEvYmluL3NoCisK K3Rlc3RfZGVzY3JpcHRpb249J3ByZSB1cGxvYWQtaG9vaycKKworLiAuL3Rlc3QtbGliLnNoCisK K0xPR0ZJTEU9Ii5naXQvcHJlLXVwbG9hZC1wYWNrLWxvZyIKKwordGVzdF9leHBlY3Rfc3VjY2Vz cyBzZXR1cCAnCisJdGVzdF9jb21taXQgQSAmJgorCXRlc3RfY29tbWl0IEIgJiYKKwlnaXQgcmVz ZXQgLS1oYXJkIEEgJiYKKwl0ZXN0X2NvbW1pdCBDICYmCisJZ2l0IGJyYW5jaCBwcmV2IEIgJiYK Kwlta2RpciAtcCAuZ2l0L2hvb2tzICYmCisJeworCQllY2hvICIjISRTSEVMTF9QQVRIIiAmJgor CQllY2hvICJjYXQgPnByZS11cGxvYWQtcGFjay1sb2ciCisJfSA+Ii5naXQvaG9va3MvcHJlLXVw bG9hZC1wYWNrIiAmJgorCWNobW9kICt4IC5naXQvaG9va3MvcHJlLXVwbG9hZC1wYWNrCisnCisK K3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgaW5pdGlhbCAnCisJcm0gLWZyIHN1YiAmJgorCWdpdCBpbml0 IHN1YiAmJgorCSgKKwkJY2Qgc3ViICYmCisJCWdpdCBmZXRjaCAtLW5vLXRhZ3MgLi4gcHJldgor CSkgJiYKKwl3YW50PSQoc2VkIC1uICJzL153YW50IC8vcCIgIiRMT0dGSUxFIikgJiYKKwl0ZXN0 ICIkd2FudCIgPSAiJChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IEIpIiAmJgorCSEgZ3JlcCAiXmhh dmUgIiAiJExPR0ZJTEUiICYmCisJa2luZD0kKHNlZCAtbiAicy9ea2luZCAvL3AiICIkTE9HRklM RSIpICYmCisJdGVzdCAiJGtpbmQiID0gZmV0Y2gKKycKKwordGVzdF9leHBlY3Rfc3VjY2VzcyBz ZWNvbmQgJworCXJtIC1mciBzdWIgJiYKKwlnaXQgaW5pdCBzdWIgJiYKKwkoCisJCWNkIHN1YiAm JgorCQlnaXQgZmV0Y2ggLS1uby10YWdzIC4uIHByZXY6cmVmcy9yZW1vdGVzL3ByZXYgJiYKKwkJ Z2l0IGZldGNoIC0tbm8tdGFncyAuLiBtYXN0ZXIKKwkpICYmCisJd2FudD0kKHNlZCAtbiAicy9e d2FudCAvL3AiICIkTE9HRklMRSIpICYmCisJdGVzdCAiJHdhbnQiID0gIiQoZ2l0IHJldi1wYXJz ZSAtLXZlcmlmeSBDKSIgJiYKKwloYXZlPSQoc2VkIC1uICJzL15oYXZlIC8vcCIgIiRMT0dGSUxF IikgJiYKKwl0ZXN0ICIkaGF2ZSIgPSAiJChnaXQgcmV2LXBhcnNlIC0tdmVyaWZ5IEIpIiAmJgor CWtpbmQ9JChzZWQgLW4gInMvXmtpbmQgLy9wIiAiJExPR0ZJTEUiKSAmJgorCXRlc3QgIiRraW5k IiA9IGZldGNoCisnCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3MgYWxsICcKKwlybSAtZnIgc3ViICYm CisJSEVSRT0kKHB3ZCkgJiYKKwlnaXQgaW5pdCBzdWIgJiYKKwkoCisJCWNkIHN1YiAmJgorCQln aXQgY2xvbmUgImZpbGU6Ly8kSEVSRS8uZ2l0IiBuZXcKKwkpICYmCisJc2VkIC1uICJzL153YW50 IC8vcCIgIiRMT0dGSUxFIiB8IHNvcnQgPmFjdHVhbCAmJgorCWdpdCByZXYtcGFyc2UgQSBCIEMg fCBzb3J0ID5leHBlY3QgJiYKKwl0ZXN0X2NtcCBleHBlY3QgYWN0dWFsICYmCisJISBncmVwICJe aGF2ZSAiICIkTE9HRklMRSIgJiYKKwlraW5kPSQoc2VkIC1uICJzL15raW5kIC8vcCIgIiRMT0dG SUxFIikgJiYKKwl0ZXN0ICIka2luZCIgPSBjbG9uZQorJworCitjYXQgPiBwcmUtdXBsb2FkLXBh Y2sgPDxFT0YKKyMhJFNIRUxMX1BBVEgKK2tpbmQ9XCQoYXdrICcvXmtpbmQgL3twcmludCBcJDI7 IGV4aXR9JyAtKQoraWYgdGVzdCAiXCRraW5kIiA9ICJjbG9uZSI7IHRoZW4KKyAgZWNobyAiU29y cnksIG5vIGNsb25pbmchIgorZXhpdCAxOyBmaQorRU9GCisKK3Rlc3RfZXhwZWN0X3N1Y2Nlc3Mg J3dpdGggZmFpbGluZyBob29rJyAnCisJcm0gLWZyIC5naXQKKwl0ZXN0X2NyZWF0ZV9yZXBvIHNy YyAmJgorCSgKKwkJY2Qgc3JjICYmCisJCW1rZGlyIC5naXQvaG9va3MgJiYKKwkJbXYgLi4vcHJl LXVwbG9hZC1wYWNrICIuZ2l0L2hvb2tzL3ByZS11cGxvYWQtcGFjayIgJiYKKwkJY2htb2QgK3gg LmdpdC9ob29rcy9wcmUtdXBsb2FkLXBhY2sgJiYKKwkJZWNobyBmb28gPiBmaWxlICYmCisJCWdp dCBhZGQgZmlsZSAmJgorCQlnaXQgY29tbWl0IC1tIGluaXRpYWwKKwkpICYmCisJdGVzdF9tdXN0 X2ZhaWwgZ2l0IGNsb25lIC1uICJmaWxlOi8vJChwd2QpL3NyYyIgZHN0CisKKycKKwordGVzdF9k b25lCmRpZmYgLS1naXQgYS90ZW1wbGF0ZXMvaG9va3MtLXByZS11cGxvYWQtcGFjay5zYW1wbGUg Yi90ZW1wbGF0ZXMvaG9va3MtLXByZS11cGxvYWQtcGFjay5zYW1wbGUKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMC4uNzM0MmQyMwotLS0gL2Rldi9udWxsCisrKyBiL3RlbXBsYXRl cy9ob29rcy0tcHJlLXVwbG9hZC1wYWNrLnNhbXBsZQpAQCAtMCwwICsxLDExIEBACisjIS9iaW4v c2gKKworIyBUaGlzIHNhbXBsZSBzaG93cyBob3cgb25lIG1heSByZWplY3QgYW4gdXBsb2FkLXBh Y2sgd2hlcmUgdGhlIGNsaWVudCBpcworIyB0cnlpbmcgdG8gcGVyZm9ybSBhbiBpbml0aWFsIGNs b25lIGNsb25lCisKK2tpbmQ9JChhd2sgJy9ea2luZCAve3ByaW50ICQyOyBleGl0fScgLSkKKwor aWYgdGVzdCAiJGtpbmQiID0gImNsb25lIjsgdGhlbgorICBlY2hvICJTb3JyeSwgdGhlIGNsb25l IG9wZXJhdGlvbiBpcyBub3QgYWxsb3dlZCIKKyAgZXhpdCAxCitmaQpkaWZmIC0tZ2l0IGEvdXBs b2FkLXBhY2suYyBiL3VwbG9hZC1wYWNrLmMKaW5kZXggOWFhMzVlYS4uNjQ1OTY1ZCAxMDA2NDQK LS0tIGEvdXBsb2FkLXBhY2suYworKysgYi91cGxvYWQtcGFjay5jCkBAIC0xMSw3ICsxMSwxMSBA QAogI2luY2x1ZGUgImxpc3Qtb2JqZWN0cy5oIgogI2luY2x1ZGUgInJ1bi1jb21tYW5kLmgiCiAK KyNpZiBBTExPV19JTlNFQ1VSRV9IT09LUworc3RhdGljIGNvbnN0IGNoYXIgdXBsb2FkX3BhY2tf dXNhZ2VbXSA9ICJnaXQgdXBsb2FkLXBhY2sgWy0tc3RyaWN0XSBbLS10aW1lb3V0PTxuPl0gWy0t YWxsb3ctc2VjdXJlLWhvb2tzXSA8ZGlyPiI7CisjZWxzZQogc3RhdGljIGNvbnN0IGNoYXIgdXBs b2FkX3BhY2tfdXNhZ2VbXSA9ICJnaXQgdXBsb2FkLXBhY2sgWy0tc3RyaWN0XSBbLS10aW1lb3V0 PTxuPl0gPGRpcj4iOworI2VuZGlmCiAKIC8qIGJpdHMgIzAuLjcgaW4gcmV2aXNpb24uaCwgIzgu LjEwIGluIGNvbW1pdC5jICovCiAjZGVmaW5lIFRIRVlfSEFWRQkoMXUgPDwgMTEpCkBAIC00MSwx MSArNDUsNyBAQCBzdGF0aWMgaW50IHVzZV9zaWRlYmFuZDsKIHN0YXRpYyBpbnQgZGVidWdfZmQ7 CiBzdGF0aWMgaW50IGFkdmVydGlzZV9yZWZzOwogc3RhdGljIGludCBzdGF0ZWxlc3NfcnBjOwot I2lmZGVmIEFMTE9XX0lOU0VDVVJFX0hPT0tTCi1zdGF0aWMgaW50IGFsbG93X2luc2VjdXJlX2hv b2tzID0gMTsKLSNlbHNlCiBzdGF0aWMgaW50IGFsbG93X2luc2VjdXJlX2hvb2tzID0gMDsKLSNl bmRpZgogCiBzdGF0aWMgdm9pZCByZXNldF90aW1lb3V0KHZvaWQpCiB7CkBAIC0xNjYsMTQgKzE2 NiwxOSBAQCBzdGF0aWMgaW50IGZlZWRfb2JqX3RvX2hvb2soY29uc3QgY2hhciAqbGFiZWwsIHN0 cnVjdCBvYmplY3RfYXJyYXkgKm9hLCBpbnQgaSwgaQogCQkJCXNoYTFfdG9faGV4KG9hLT5vYmpl Y3RzW2ldLml0ZW0tPnNoYTEpKTsKIH0KIAotc3RhdGljIGludCBydW5fcG9zdF91cGxvYWRfcGFj a19ob29rKHNpemVfdCB0b3RhbCwgc3RydWN0IHRpbWV2YWwgKnR2KQorc3RhdGljIGludCBydW5f dXBsb2FkX3BhY2tfaG9vayhpbnQgcG9zdCwgc2l6ZV90IHRvdGFsLCBzdHJ1Y3QgdGltZXZhbCAq dHYpCiB7CiAJY29uc3QgY2hhciAqYXJndlsyXTsKIAlzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBwcm9j OwogCWludCBlcnIsIGk7CiAKLQlhcmd2WzBdID0gImhvb2tzL3Bvc3QtdXBsb2FkLXBhY2siOwot CWFyZ3ZbMV0gPSBOVUxMOworCWlmICghcG9zdCkgeworCQlhcmd2WzBdID0gImhvb2tzL3ByZS11 cGxvYWQtcGFjayI7CisJCWFyZ3ZbMV0gPSBOVUxMOworCX0gZWxzZSB7CisJCWFyZ3ZbMF0gPSAi aG9va3MvcG9zdC11cGxvYWQtcGFjayI7CisJCWFyZ3ZbMV0gPSBOVUxMOworCX0KIAogCWlmIChh Y2Nlc3MoYXJndlswXSwgWF9PSykgPCAwKQogCQlyZXR1cm4gMDsKQEAgLTE5MiwxMCArMTk3LDEw IEBAIHN0YXRpYyBpbnQgcnVuX3Bvc3RfdXBsb2FkX3BhY2tfaG9vayhzaXplX3QgdG90YWwsIHN0 cnVjdCB0aW1ldmFsICp0dikKIAkJZXJyIHw9IGZlZWRfb2JqX3RvX2hvb2soIndhbnQiLCAmd2Fu dF9vYmosIGksIHByb2MuaW4pOwogCWZvciAoaSA9IDA7ICFlcnIgJiYgaSA8IGhhdmVfb2JqLm5y OyBpKyspCiAJCWVyciB8PSBmZWVkX29ial90b19ob29rKCJoYXZlIiwgJmhhdmVfb2JqLCBpLCBw cm9jLmluKTsKLQlpZiAoIWVycikKKwlpZiAoIWVyciAmJiBwb3N0KQogCQllcnIgfD0gZmVlZF9t c2dfdG9faG9vayhwcm9jLmluLCAidGltZSAlbGQuJTA2bGRcbiIsCiAJCQkJCShsb25nKXR2LT50 dl9zZWMsIChsb25nKXR2LT50dl91c2VjKTsKLQlpZiAoIWVycikKKwlpZiAoIWVyciAmJiBwb3N0 KQogCQllcnIgfD0gZmVlZF9tc2dfdG9faG9vayhwcm9jLmluLCAic2l6ZSAlbGRcbiIsIChsb25n KXRvdGFsKTsKIAlpZiAoIWVycikKIAkJZXJyIHw9IGZlZWRfbXNnX3RvX2hvb2socHJvYy5pbiwg ImtpbmQgJXNcbiIsCkBAIC03NTUsNyArNzYwLDEwIEBAIHN0YXRpYyB2b2lkIHVwbG9hZF9wYWNr KHZvaWQpCiAJcmVjZWl2ZV9uZWVkcygpOwogCWlmICh3YW50X29iai5ucikgewogCQlnZXRfY29t bW9uX2NvbW1pdHMoKTsKLQkJY3JlYXRlX3BhY2tfZmlsZSgpOworCQlpZiAocnVuX3VwbG9hZF9w YWNrX2hvb2soMCwgMCwgTlVMTCkpCisJCQllcnJvcigicHJlLXVwbG9hZCBob29rIGFib3J0ZWQi KTsKKwkJZWxzZQorCQkJY3JlYXRlX3BhY2tfZmlsZSgpOwogCX0KIH0KIApAQCAtNzk0LDYgKzgw MiwxMiBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAJCQlpKys7CiAJCQlicmVh azsKIAkJfQorI2lmZGVmIEFMTE9XX0lOU0VDVVJFX0hPT0tTCisJCWlmICghc3RyY21wKGFyZywg Ii0tYWxsb3ctaW5zZWN1cmUtaG9va3MiKSkgeworCQkJYWxsb3dfaW5zZWN1cmVfaG9va3MgPSAx OworCQkJY29udGludWU7CisJCX0KKyNlbmRpZgogCX0KIAogCWlmIChpICE9IGFyZ2MtMSkKLS0g CjEuNy4zLjEKCg== --0016364ec9bcb07a280493cf71fe--