Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1iISZ8-0000Mr-7l for pgsql-hackers@arkaria.postgresql.org; Thu, 10 Oct 2019 07:08:50 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1iISZ7-0006RR-0r for pgsql-hackers@arkaria.postgresql.org; Thu, 10 Oct 2019 07:08:49 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1iISZ6-0006RB-0H for pgsql-hackers@lists.postgresql.org; Thu, 10 Oct 2019 07:08:48 +0000 Received: from out5-smtp.messagingengine.com ([66.111.4.29]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1iISZ1-0005Fa-Fb for pgsql-hackers@postgresql.org; Thu, 10 Oct 2019 07:08:47 +0000 Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id ECE1921F14; Thu, 10 Oct 2019 03:08:39 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute7.internal (MEProxy); Thu, 10 Oct 2019 03:08:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=7AXT7n 3gaiwZHeFyYA9v/tIhADDi4M8RNRO2h0m2380=; b=L6boIbvD3lqTP9TPgrG3PQ 5yqE0zc+sEjonoMlcb8P4yE+24MlPXrSyZGeCnavNt0tGKKF3AFaq8GyhdSZali8 F59uVAUkYZckGuceWwlX1qycSBv0GtZnXil1FBNZ+7W7Gcq/d+Z53fQx52lP24CF au+7hPgVt2j/56cy3frQhtGnTeNJvhVWIEr6V2eyYg98GuXM0QkaPixpp7CUF9f+ DILKs4m1VgnXJdRS1UGLM6vCtBAghzNj0zxdHdsYrN4uwv8PGYm4taofrkT4/Y2u m9qZDVZ7z8iVKvHnK/J7e12Wb113QpNDDowaUFKEHzrMN1sgJIOgTRdZD6ts5GKw == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedufedriedvgdduudelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepuffvfhfhohfkffgfgggjtgesmhdtreertdefjeenucfhrhhomheprfgvthgv rhcugfhishgvnhhtrhgruhhtuceophgvthgvrhdrvghishgvnhhtrhgruhhtsedvnhguqh hurggurhgrnhhtrdgtohhmqeenucffohhmrghinhepvdhnughquhgrughrrghnthdrtgho mhenucfkphepleefrddvgedvrddugeejrdejleenucfrrghrrghmpehmrghilhhfrhhomh epphgvthgvrhdrvghishgvnhhtrhgruhhtsedvnhguqhhurggurhgrnhhtrdgtohhmnecu vehluhhsthgvrhfuihiivgeptd X-ME-Proxy: Received: from april.pezone.net (p5df2934f.dip0.t-ipconnect.de [93.242.147.79]) by mail.messagingengine.com (Postfix) with ESMTPA id 88ED3D6005D; Thu, 10 Oct 2019 03:08:38 -0400 (EDT) Subject: Re: use of the term "verifier" with SCRAM To: pgsql-hackers References: Cc: Heikki Linnakangas From: Peter Eisentraut Openpgp: preference=signencrypt Autocrypt: addr=peter.eisentraut@2ndquadrant.com; prefer-encrypt=mutual; keydata= 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 3jI= Organization: 2ndQuadrant Message-ID: <73ba767c-f7dc-ce9e-3810-0daa184918a0@2ndquadrant.com> Date: Thu, 10 Oct 2019 09:08:37 +0200 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/mixed; boundary="------------D25FDE371E00C961A90ED702" Content-Language: en-US List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk This is a multi-part message in MIME format. --------------D25FDE371E00C961A90ED702 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit On 2019-08-14 10:41, Heikki Linnakangas wrote: >> RFC 5803 is titled "Lightweight Directory Access Protocol (LDAP) Schema >> for Storing Salted Challenge Response Authentication Mechanism (SCRAM) >> Secrets". Following that, I think calling the contents of rolpassword a >> "secret" or a "stored secret" would be better. > But I agree that "secret", as used in RFC5803 is better. Here is my proposed patch to adjust this. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services --------------D25FDE371E00C961A90ED702 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="0001-Fix-use-of-term-verifier.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-Fix-use-of-term-verifier.patch" RnJvbSAwMDhmMDMwMmJjOTgyMWVmYmE4NGQ1NGRjMGY0NmU2MmY2MDQ3MDc1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogV2VkLCA5IE9jdCAyMDE5IDEwOjU5OjU4ICswMjAwClN1YmplY3Q6 IFtQQVRDSF0gRml4IHVzZSBvZiB0ZXJtICJ2ZXJpZmllciIKCldpdGhpbiB0aGUgY29udGV4 dCBvZiBTQ1JBTSwgInZlcmlmaWVyIiBoYXMgYSBzcGVjaWZpYyBtZWFuaW5nIGluIHRoZQpw cm90b2NvbCwgcGVyIFJGQ3MuICBUaGUgZXhpc3RpbmcgY29kZSB1c2VkICJ2ZXJpZmllciIg ZGlmZmVyZW50bHksIHRvCm1lYW4gd2hhdGV2ZXIgaXMgb3Igd291bGQgYmUgc3RvcmVkIGlu IHBnX2F1dGgucm9scGFzc3dvcmQuCgpGaXggdGhpcyBieSB1c2luZyB0aGUgdGVybSAic2Vj cmV0IiBmb3IgdGhpcywgZm9sbG93aW5nIFJGQyA1ODAzLgotLS0KIHNyYy9iYWNrZW5kL2xp YnBxL2F1dGgtc2NyYW0uYyAgICAgICAgICAgIHwgMTA0ICsrKysrKysrKysrLS0tLS0tLS0t LS0KIHNyYy9iYWNrZW5kL2xpYnBxL2F1dGguYyAgICAgICAgICAgICAgICAgIHwgICAyICst CiBzcmMvYmFja2VuZC9saWJwcS9jcnlwdC5jICAgICAgICAgICAgICAgICB8ICAgOCArLQog c3JjL2NvbW1vbi9zY3JhbS1jb21tb24uYyAgICAgICAgICAgICAgICAgfCAgIDQgKy0KIHNy Yy9pbmNsdWRlL2NvbW1vbi9zY3JhbS1jb21tb24uaCAgICAgICAgIHwgICA2ICstCiBzcmMv aW5jbHVkZS9saWJwcS9jcnlwdC5oICAgICAgICAgICAgICAgICB8ICAgMiArLQogc3JjL2lu Y2x1ZGUvbGlicHEvc2NyYW0uaCAgICAgICAgICAgICAgICAgfCAgIDggKy0KIHNyYy9pbnRl cmZhY2VzL2xpYnBxL2ZlLWF1dGgtc2NyYW0uYyAgICAgIHwgICA2ICstCiBzcmMvaW50ZXJm YWNlcy9saWJwcS9mZS1hdXRoLmMgICAgICAgICAgICB8ICAgMiArLQogc3JjL2ludGVyZmFj ZXMvbGlicHEvZmUtYXV0aC5oICAgICAgICAgICAgfCAgIDIgKy0KIHNyYy90ZXN0L2F1dGhl bnRpY2F0aW9uL3QvMDAxX3Bhc3N3b3JkLnBsIHwgICAyICstCiBzcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL3Bhc3N3b3JkLm91dCAgICB8ICAxMiArLS0KIHNyYy90ZXN0L3JlZ3Jlc3Mv c3FsL3Bhc3N3b3JkLnNxbCAgICAgICAgIHwgIDEyICstLQogMTMgZmlsZXMgY2hhbmdlZCwg ODUgaW5zZXJ0aW9ucygrKSwgODUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvbGlicHEvYXV0aC1zY3JhbS5jIGIvc3JjL2JhY2tlbmQvbGlicHEvYXV0aC1zY3Jh bS5jCmluZGV4IDY4NzkyY2I0NWUuLjhlY2IxN2JhZTYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNr ZW5kL2xpYnBxL2F1dGgtc2NyYW0uYworKysgYi9zcmMvYmFja2VuZC9saWJwcS9hdXRoLXNj cmFtLmMKQEAgLTY0LDEwICs2NCwxMCBAQAogICogRG9uJ3QgcmV2ZWFsIHVzZXIgaW5mb3Jt YXRpb24gdG8gYW4gdW5hdXRoZW50aWNhdGVkIGNsaWVudC4gIFdlIGRvbid0CiAgKiB3YW50 IGFuIGF0dGFja2VyIHRvIGJlIGFibGUgdG8gcHJvYmUgd2hldGhlciBhIHBhcnRpY3VsYXIg dXNlcm5hbWUgaXMKICAqIHZhbGlkLiAgSW4gU0NSQU0sIHRoZSBzZXJ2ZXIgaGFzIHRvIHJl YWQgdGhlIHNhbHQgYW5kIGl0ZXJhdGlvbiBjb3VudAotICogZnJvbSB0aGUgdXNlcidzIHBh c3N3b3JkIHZlcmlmaWVyLCBhbmQgc2VuZCBpdCB0byB0aGUgY2xpZW50LiAgVG8gYXZvaWQK KyAqIGZyb20gdGhlIHVzZXIncyBzdG9yZWQgc2VjcmV0LCBhbmQgc2VuZCBpdCB0byB0aGUg Y2xpZW50LiAgVG8gYXZvaWQKICAqIHJldmVhbGluZyB3aGV0aGVyIGEgdXNlciBleGlzdHMs IHdoZW4gdGhlIGNsaWVudCB0cmllcyB0byBhdXRoZW50aWNhdGUKICAqIHdpdGggYSB1c2Vy bmFtZSB0aGF0IGRvZXNuJ3QgZXhpc3QsIG9yIGRvZXNuJ3QgaGF2ZSBhIHZhbGlkIFNDUkFN Ci0gKiB2ZXJpZmllciBpbiBwZ19hdXRoaWQsIHdlIGNyZWF0ZSBhIGZha2Ugc2FsdCBhbmQg aXRlcmF0aW9uIGNvdW50CisgKiBzZWNyZXQgaW4gcGdfYXV0aGlkLCB3ZSBjcmVhdGUgYSBm YWtlIHNhbHQgYW5kIGl0ZXJhdGlvbiBjb3VudAogICogb24tdGhlLWZseSwgYW5kIHByb2Nl ZWQgd2l0aCB0aGUgYXV0aGVudGljYXRpb24gd2l0aCB0aGF0LiAgSW4gdGhlIGVuZCwKICAq IHdlJ2xsIHJlamVjdCB0aGUgYXR0ZW1wdCwgYXMgaWYgYW4gaW5jb3JyZWN0IHBhc3N3b3Jk IHdhcyBnaXZlbi4gIFdoZW4KICAqIHdlIGFyZSBwZXJmb3JtaW5nIGEgIm1vY2siIGF1dGhl bnRpY2F0aW9uLCB0aGUgJ2Rvb21lZCcgZmxhZyBpbgpAQCAtMTYxLDcgKzE2MSw3IEBAIHN0 YXRpYyBjaGFyICpidWlsZF9zZXJ2ZXJfZmlyc3RfbWVzc2FnZShzY3JhbV9zdGF0ZSAqc3Rh dGUpOwogc3RhdGljIGNoYXIgKmJ1aWxkX3NlcnZlcl9maW5hbF9tZXNzYWdlKHNjcmFtX3N0 YXRlICpzdGF0ZSk7CiBzdGF0aWMgYm9vbCB2ZXJpZnlfY2xpZW50X3Byb29mKHNjcmFtX3N0 YXRlICpzdGF0ZSk7CiBzdGF0aWMgYm9vbCB2ZXJpZnlfZmluYWxfbm9uY2Uoc2NyYW1fc3Rh dGUgKnN0YXRlKTsKLXN0YXRpYyB2b2lkIG1vY2tfc2NyYW1fdmVyaWZpZXIoY29uc3QgY2hh ciAqdXNlcm5hbWUsIGludCAqaXRlcmF0aW9ucywKK3N0YXRpYyB2b2lkIG1vY2tfc2NyYW1f c2VjcmV0KGNvbnN0IGNoYXIgKnVzZXJuYW1lLCBpbnQgKml0ZXJhdGlvbnMsCiAJCQkJCQkJ CWNoYXIgKipzYWx0LCB1aW50OCAqc3RvcmVkX2tleSwgdWludDggKnNlcnZlcl9rZXkpOwog c3RhdGljIGJvb2wgaXNfc2NyYW1fcHJpbnRhYmxlKGNoYXIgKnApOwogc3RhdGljIGNoYXIg KnNhbml0aXplX2NoYXIoY2hhciBjKTsKQEAgLTIwMiwxMyArMjAyLDEzIEBAIHBnX2JlX3Nj cmFtX2dldF9tZWNoYW5pc21zKFBvcnQgKnBvcnQsIFN0cmluZ0luZm8gYnVmKQogICoKICAq IEluaXRpYWxpemUgYSBuZXcgU0NSQU0gYXV0aGVudGljYXRpb24gZXhjaGFuZ2Ugc3RhdHVz IHRyYWNrZXIuICBUaGlzCiAgKiBuZWVkcyB0byBiZSBjYWxsZWQgYmVmb3JlIGRvaW5nIGFu eSBleGNoYW5nZS4gIEl0IHdpbGwgYmUgZmlsbGVkIGxhdGVyCi0gKiBhZnRlciB0aGUgYmVn aW5uaW5nIG9mIHRoZSBleGNoYW5nZSB3aXRoIHZlcmlmaWVyIGRhdGEuCisgKiBhZnRlciB0 aGUgYmVnaW5uaW5nIG9mIHRoZSBleGNoYW5nZSB3aXRoIGF1dGhlbnRpY2F0aW9uIGluZm9y bWF0aW9uLgogICoKICAqICdzZWxlY3RlZF9tZWNoJyBpZGVudGlmaWVzIHRoZSBTQVNMIG1l Y2hhbmlzbSB0aGF0IHRoZSBjbGllbnQgc2VsZWN0ZWQuCiAgKiBJdCBzaG91bGQgYmUgb25l IG9mIHRoZSBtZWNoYW5pc21zIHRoYXQgd2Ugc3VwcG9ydCwgYXMgcmV0dXJuZWQgYnkKICAq IHBnX2JlX3NjcmFtX2dldF9tZWNoYW5pc21zKCkuCiAgKgotICogJ3NoYWRvd19wYXNzJyBp cyB0aGUgcm9sZSdzIHBhc3N3b3JkIHZlcmlmaWVyLCBmcm9tIHBnX2F1dGhpZC5yb2xwYXNz d29yZC4KKyAqICdzaGFkb3dfcGFzcycgaXMgdGhlIHJvbGUncyBzdG9yZWQgc2VjcmV0LCBm cm9tIHBnX2F1dGhpZC5yb2xwYXNzd29yZC4KICAqIFRoZSB1c2VybmFtZSB3YXMgcHJvdmlk ZWQgYnkgdGhlIGNsaWVudCBpbiB0aGUgc3RhcnR1cCBtZXNzYWdlLCBhbmQgaXMKICAqIGF2 YWlsYWJsZSBpbiBwb3J0LT51c2VyX25hbWUuICBJZiAnc2hhZG93X3Bhc3MnIGlzIE5VTEws IHdlIHN0aWxsIHBlcmZvcm0KICAqIGFuIGF1dGhlbnRpY2F0aW9uIGV4Y2hhbmdlLCBidXQg aXQgd2lsbCBmYWlsLCBhcyBpZiBhbiBpbmNvcnJlY3QgcGFzc3dvcmQKQEAgLTIyMCw3ICsy MjAsNyBAQCBwZ19iZV9zY3JhbV9pbml0KFBvcnQgKnBvcnQsCiAJCQkJIGNvbnN0IGNoYXIg KnNoYWRvd19wYXNzKQogewogCXNjcmFtX3N0YXRlICpzdGF0ZTsKLQlib29sCQlnb3RfdmVy aWZpZXI7CisJYm9vbAkJZ290X3NlY3JldDsKIAogCXN0YXRlID0gKHNjcmFtX3N0YXRlICop IHBhbGxvYzAoc2l6ZW9mKHNjcmFtX3N0YXRlKSk7CiAJc3RhdGUtPnBvcnQgPSBwb3J0OwpA QCAtMjQ4LDcgKzI0OCw3IEBAIHBnX2JlX3NjcmFtX2luaXQoUG9ydCAqcG9ydCwKIAkJCQkg ZXJybXNnKCJjbGllbnQgc2VsZWN0ZWQgYW4gaW52YWxpZCBTQVNMIGF1dGhlbnRpY2F0aW9u IG1lY2hhbmlzbSIpKSk7CiAKIAkvKgotCSAqIFBhcnNlIHRoZSBzdG9yZWQgcGFzc3dvcmQg dmVyaWZpZXIuCisJICogUGFyc2UgdGhlIHN0b3JlZCBzZWNyZXQuCiAJICovCiAJaWYgKHNo YWRvd19wYXNzKQogCXsKQEAgLTI1NiwzMCArMjU2LDMwIEBAIHBnX2JlX3NjcmFtX2luaXQo UG9ydCAqcG9ydCwKIAogCQlpZiAocGFzc3dvcmRfdHlwZSA9PSBQQVNTV09SRF9UWVBFX1ND UkFNX1NIQV8yNTYpCiAJCXsKLQkJCWlmIChwYXJzZV9zY3JhbV92ZXJpZmllcihzaGFkb3df cGFzcywgJnN0YXRlLT5pdGVyYXRpb25zLCAmc3RhdGUtPnNhbHQsCisJCQlpZiAocGFyc2Vf c2NyYW1fc2VjcmV0KHNoYWRvd19wYXNzLCAmc3RhdGUtPml0ZXJhdGlvbnMsICZzdGF0ZS0+ c2FsdCwKIAkJCQkJCQkJCSBzdGF0ZS0+U3RvcmVkS2V5LCBzdGF0ZS0+U2VydmVyS2V5KSkK LQkJCQlnb3RfdmVyaWZpZXIgPSB0cnVlOworCQkJCWdvdF9zZWNyZXQgPSB0cnVlOwogCQkJ ZWxzZQogCQkJewogCQkJCS8qCi0JCQkJICogVGhlIHBhc3N3b3JkIGxvb2tlZCBsaWtlIGEg U0NSQU0gdmVyaWZpZXIsIGJ1dCBjb3VsZCBub3QgYmUKKwkJCQkgKiBUaGUgcGFzc3dvcmQg bG9va2VkIGxpa2UgYSBTQ1JBTSBzZWNyZXQsIGJ1dCBjb3VsZCBub3QgYmUKIAkJCQkgKiBw YXJzZWQuCiAJCQkJICovCiAJCQkJZXJlcG9ydChMT0csCi0JCQkJCQkoZXJybXNnKCJpbnZh bGlkIFNDUkFNIHZlcmlmaWVyIGZvciB1c2VyIFwiJXNcIiIsCisJCQkJCQkoZXJybXNnKCJp bnZhbGlkIFNDUkFNIHNlY3JldCBmb3IgdXNlciBcIiVzXCIiLAogCQkJCQkJCQlzdGF0ZS0+ cG9ydC0+dXNlcl9uYW1lKSkpOwotCQkJCWdvdF92ZXJpZmllciA9IGZhbHNlOworCQkJCWdv dF9zZWNyZXQgPSBmYWxzZTsKIAkJCX0KIAkJfQogCQllbHNlCiAJCXsKIAkJCS8qCi0JCQkg KiBUaGUgdXNlciBkb2Vzbid0IGhhdmUgU0NSQU0gdmVyaWZpZXIuIChZb3UgY2Fubm90IGRv IFNDUkFNCisJCQkgKiBUaGUgdXNlciBkb2Vzbid0IGhhdmUgU0NSQU0gc2VjcmV0LiAoWW91 IGNhbm5vdCBkbyBTQ1JBTQogCQkJICogYXV0aGVudGljYXRpb24gd2l0aCBhbiBNRDUgaGFz aC4pCiAJCQkgKi8KLQkJCXN0YXRlLT5sb2dkZXRhaWwgPSBwc3ByaW50ZihfKCJVc2VyIFwi JXNcIiBkb2VzIG5vdCBoYXZlIGEgdmFsaWQgU0NSQU0gdmVyaWZpZXIuIiksCisJCQlzdGF0 ZS0+bG9nZGV0YWlsID0gcHNwcmludGYoXygiVXNlciBcIiVzXCIgZG9lcyBub3QgaGF2ZSBh IHZhbGlkIFNDUkFNIHNlY3JldC4iKSwKIAkJCQkJCQkJCQlzdGF0ZS0+cG9ydC0+dXNlcl9u YW1lKTsKLQkJCWdvdF92ZXJpZmllciA9IGZhbHNlOworCQkJZ290X3NlY3JldCA9IGZhbHNl OwogCQl9CiAJfQogCWVsc2UKQEAgLTI4OSwxOCArMjg5LDE4IEBAIHBnX2JlX3NjcmFtX2lu aXQoUG9ydCAqcG9ydCwKIAkJICogY29uc2lkZXJlZCBub3JtYWwsIHNpbmNlIHRoZSBjYWxs ZXIgcmVxdWVzdGVkIGl0LCBzbyBkb24ndCBzZXQgbG9nCiAJCSAqIGRldGFpbC4KIAkJICov Ci0JCWdvdF92ZXJpZmllciA9IGZhbHNlOworCQlnb3Rfc2VjcmV0ID0gZmFsc2U7CiAJfQog CiAJLyoKLQkgKiBJZiB0aGUgdXNlciBkaWQgbm90IGhhdmUgYSB2YWxpZCBTQ1JBTSB2ZXJp Zmllciwgd2Ugc3RpbGwgZ28gdGhyb3VnaAorCSAqIElmIHRoZSB1c2VyIGRpZCBub3QgaGF2 ZSBhIHZhbGlkIFNDUkFNIHNlY3JldCwgd2Ugc3RpbGwgZ28gdGhyb3VnaAogCSAqIHRoZSBt b3Rpb25zIHdpdGggYSBtb2NrIG9uZSwgYW5kIGZhaWwgYXMgaWYgdGhlIGNsaWVudCBzdXBw bGllZCBhbgogCSAqIGluY29ycmVjdCBwYXNzd29yZC4gIFRoaXMgaXMgdG8gYXZvaWQgcmV2 ZWFsaW5nIGluZm9ybWF0aW9uIHRvIGFuCiAJICogYXR0YWNrZXIuCiAJICovCi0JaWYgKCFn b3RfdmVyaWZpZXIpCisJaWYgKCFnb3Rfc2VjcmV0KQogCXsKLQkJbW9ja19zY3JhbV92ZXJp ZmllcihzdGF0ZS0+cG9ydC0+dXNlcl9uYW1lLCAmc3RhdGUtPml0ZXJhdGlvbnMsCisJCW1v Y2tfc2NyYW1fc2VjcmV0KHN0YXRlLT5wb3J0LT51c2VyX25hbWUsICZzdGF0ZS0+aXRlcmF0 aW9ucywKIAkJCQkJCQkmc3RhdGUtPnNhbHQsIHN0YXRlLT5TdG9yZWRLZXksIHN0YXRlLT5T ZXJ2ZXJLZXkpOwogCQlzdGF0ZS0+ZG9vbWVkID0gdHJ1ZTsKIAl9CkBAIC00NDMsMTIgKzQ0 MywxMiBAQCBwZ19iZV9zY3JhbV9leGNoYW5nZSh2b2lkICpvcGFxLCBjb25zdCBjaGFyICpp bnB1dCwgaW50IGlucHV0bGVuLAogfQogCiAvKgotICogQ29uc3RydWN0IGEgdmVyaWZpZXIg c3RyaW5nIGZvciBTQ1JBTSwgc3RvcmVkIGluIHBnX2F1dGhpZC5yb2xwYXNzd29yZC4KKyAq IENvbnN0cnVjdCBhIFNDUkFNIHNlY3JldCwgZm9yIHN0b3JpbmcgaW4gcGdfYXV0aGlkLnJv bHBhc3N3b3JkLgogICoKICAqIFRoZSByZXN1bHQgaXMgcGFsbG9jJ2QsIHNvIGNhbGxlciBp cyByZXNwb25zaWJsZSBmb3IgZnJlZWluZyBpdC4KICAqLwogY2hhciAqCi1wZ19iZV9zY3Jh bV9idWlsZF92ZXJpZmllcihjb25zdCBjaGFyICpwYXNzd29yZCkKK3BnX2JlX3NjcmFtX2J1 aWxkX3NlY3JldChjb25zdCBjaGFyICpwYXNzd29yZCkKIHsKIAljaGFyCSAgICpwcmVwX3Bh c3N3b3JkOwogCXBnX3Nhc2xwcmVwX3JjIHJjOwpAQCAtNDcwLDcgKzQ3MCw3IEBAIHBnX2Jl X3NjcmFtX2J1aWxkX3ZlcmlmaWVyKGNvbnN0IGNoYXIgKnBhc3N3b3JkKQogCQkJCShlcnJj b2RlKEVSUkNPREVfSU5URVJOQUxfRVJST1IpLAogCQkJCSBlcnJtc2coImNvdWxkIG5vdCBn ZW5lcmF0ZSByYW5kb20gc2FsdCIpKSk7CiAKLQlyZXN1bHQgPSBzY3JhbV9idWlsZF92ZXJp ZmllcihzYWx0YnVmLCBTQ1JBTV9ERUZBVUxUX1NBTFRfTEVOLAorCXJlc3VsdCA9IHNjcmFt X2J1aWxkX3NlY3JldChzYWx0YnVmLCBTQ1JBTV9ERUZBVUxUX1NBTFRfTEVOLAogCQkJCQkJ CQkgIFNDUkFNX0RFRkFVTFRfSVRFUkFUSU9OUywgcGFzc3dvcmQpOwogCiAJaWYgKHByZXBf cGFzc3dvcmQpCkBAIC00ODAsMTMgKzQ4MCwxMyBAQCBwZ19iZV9zY3JhbV9idWlsZF92ZXJp Zmllcihjb25zdCBjaGFyICpwYXNzd29yZCkKIH0KIAogLyoKLSAqIFZlcmlmeSBhIHBsYWlu dGV4dCBwYXNzd29yZCBhZ2FpbnN0IGEgU0NSQU0gdmVyaWZpZXIuICBUaGlzIGlzIHVzZWQg d2hlbgorICogVmVyaWZ5IGEgcGxhaW50ZXh0IHBhc3N3b3JkIGFnYWluc3QgYSBTQ1JBTSBz ZWNyZXQuICBUaGlzIGlzIHVzZWQgd2hlbgogICogcGVyZm9ybWluZyBwbGFpbnRleHQgcGFz c3dvcmQgYXV0aGVudGljYXRpb24gZm9yIGEgdXNlciB0aGF0IGhhcyBhIFNDUkFNCi0gKiB2 ZXJpZmllciBzdG9yZWQgaW4gcGdfYXV0aGlkLgorICogc2VjcmV0IHN0b3JlZCBpbiBwZ19h dXRoaWQuCiAgKi8KIGJvb2wKIHNjcmFtX3ZlcmlmeV9wbGFpbl9wYXNzd29yZChjb25zdCBj aGFyICp1c2VybmFtZSwgY29uc3QgY2hhciAqcGFzc3dvcmQsCi0JCQkJCQkJY29uc3QgY2hh ciAqdmVyaWZpZXIpCisJCQkJCQkJY29uc3QgY2hhciAqc2VjcmV0KQogewogCWNoYXIJICAg KmVuY29kZWRfc2FsdDsKIAljaGFyCSAgICpzYWx0OwpAQCAtNDk5LDE0ICs0OTksMTQgQEAg c2NyYW1fdmVyaWZ5X3BsYWluX3Bhc3N3b3JkKGNvbnN0IGNoYXIgKnVzZXJuYW1lLCBjb25z dCBjaGFyICpwYXNzd29yZCwKIAljaGFyCSAgICpwcmVwX3Bhc3N3b3JkOwogCXBnX3Nhc2xw cmVwX3JjIHJjOwogCi0JaWYgKCFwYXJzZV9zY3JhbV92ZXJpZmllcih2ZXJpZmllciwgJml0 ZXJhdGlvbnMsICZlbmNvZGVkX3NhbHQsCisJaWYgKCFwYXJzZV9zY3JhbV9zZWNyZXQoc2Vj cmV0LCAmaXRlcmF0aW9ucywgJmVuY29kZWRfc2FsdCwKIAkJCQkJCQkgIHN0b3JlZF9rZXks IHNlcnZlcl9rZXkpKQogCXsKIAkJLyoKLQkJICogVGhlIHBhc3N3b3JkIGxvb2tlZCBsaWtl IGEgU0NSQU0gdmVyaWZpZXIsIGJ1dCBjb3VsZCBub3QgYmUgcGFyc2VkLgorCQkgKiBUaGUg cGFzc3dvcmQgbG9va2VkIGxpa2UgYSBTQ1JBTSBzZWNyZXQsIGJ1dCBjb3VsZCBub3QgYmUg cGFyc2VkLgogCQkgKi8KIAkJZXJlcG9ydChMT0csCi0JCQkJKGVycm1zZygiaW52YWxpZCBT Q1JBTSB2ZXJpZmllciBmb3IgdXNlciBcIiVzXCIiLCB1c2VybmFtZSkpKTsKKwkJCQkoZXJy bXNnKCJpbnZhbGlkIFNDUkFNIHNlY3JldCBmb3IgdXNlciBcIiVzXCIiLCB1c2VybmFtZSkp KTsKIAkJcmV0dXJuIGZhbHNlOwogCX0KIApAQCAtNTE3LDcgKzUxNyw3IEBAIHNjcmFtX3Zl cmlmeV9wbGFpbl9wYXNzd29yZChjb25zdCBjaGFyICp1c2VybmFtZSwgY29uc3QgY2hhciAq cGFzc3dvcmQsCiAJaWYgKHNhbHRsZW4gPCAwKQogCXsKIAkJZXJlcG9ydChMT0csCi0JCQkJ KGVycm1zZygiaW52YWxpZCBTQ1JBTSB2ZXJpZmllciBmb3IgdXNlciBcIiVzXCIiLCB1c2Vy bmFtZSkpKTsKKwkJCQkoZXJybXNnKCJpbnZhbGlkIFNDUkFNIHNlY3JldCBmb3IgdXNlciBc IiVzXCIiLCB1c2VybmFtZSkpKTsKIAkJcmV0dXJuIGZhbHNlOwogCX0KIApAQCAtNTM0LDcg KzUzNCw3IEBAIHNjcmFtX3ZlcmlmeV9wbGFpbl9wYXNzd29yZChjb25zdCBjaGFyICp1c2Vy bmFtZSwgY29uc3QgY2hhciAqcGFzc3dvcmQsCiAJCXBmcmVlKHByZXBfcGFzc3dvcmQpOwog CiAJLyoKLQkgKiBDb21wYXJlIHRoZSB2ZXJpZmllcidzIFNlcnZlciBLZXkgd2l0aCB0aGUg b25lIGNvbXB1dGVkIGZyb20gdGhlCisJICogQ29tcGFyZSB0aGUgc2VjcmV0J3MgU2VydmVy IEtleSB3aXRoIHRoZSBvbmUgY29tcHV0ZWQgZnJvbSB0aGUKIAkgKiB1c2VyLXN1cHBsaWVk IHBhc3N3b3JkLgogCSAqLwogCXJldHVybiBtZW1jbXAoY29tcHV0ZWRfa2V5LCBzZXJ2ZXJf a2V5LCBTQ1JBTV9LRVlfTEVOKSA9PSAwOwpAQCAtNTQyLDE4ICs1NDIsMTggQEAgc2NyYW1f dmVyaWZ5X3BsYWluX3Bhc3N3b3JkKGNvbnN0IGNoYXIgKnVzZXJuYW1lLCBjb25zdCBjaGFy ICpwYXNzd29yZCwKIAogCiAvKgotICogUGFyc2UgYW5kIHZhbGlkYXRlIGZvcm1hdCBvZiBn aXZlbiBTQ1JBTSB2ZXJpZmllci4KKyAqIFBhcnNlIGFuZCB2YWxpZGF0ZSBmb3JtYXQgb2Yg Z2l2ZW4gU0NSQU0gc2VjcmV0LgogICoKICAqIE9uIHN1Y2Nlc3MsIHRoZSBpdGVyYXRpb24g Y291bnQsIHNhbHQsIHN0b3JlZCBrZXksIGFuZCBzZXJ2ZXIga2V5IGFyZQotICogZXh0cmFj dGVkIGZyb20gdGhlIHZlcmlmaWVyLCBhbmQgcmV0dXJuZWQgdG8gdGhlIGNhbGxlci4gIEZv ciAnc3RvcmVkX2tleScKKyAqIGV4dHJhY3RlZCBmcm9tIHRoZSBzZWNyZXQsIGFuZCByZXR1 cm5lZCB0byB0aGUgY2FsbGVyLiAgRm9yICdzdG9yZWRfa2V5JwogICogYW5kICdzZXJ2ZXJf a2V5JywgdGhlIGNhbGxlciBtdXN0IHBhc3MgcHJlLWFsbG9jYXRlZCBidWZmZXJzIG9mIHNp emUKICAqIFNDUkFNX0tFWV9MRU4uICBTYWx0IGlzIHJldHVybmVkIGFzIGEgYmFzZTY0LWVu Y29kZWQsIG51bGwtdGVybWluYXRlZAogICogc3RyaW5nLiAgVGhlIGJ1ZmZlciBmb3IgdGhl IHNhbHQgaXMgcGFsbG9jJ2QgYnkgdGhpcyBmdW5jdGlvbi4KICAqCi0gKiBSZXR1cm5zIHRy dWUgaWYgdGhlIFNDUkFNIHZlcmlmaWVyIGhhcyBiZWVuIHBhcnNlZCwgYW5kIGZhbHNlIG90 aGVyd2lzZS4KKyAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgU0NSQU0gc2VjcmV0IGhhcyBiZWVu IHBhcnNlZCwgYW5kIGZhbHNlIG90aGVyd2lzZS4KICAqLwogYm9vbAotcGFyc2Vfc2NyYW1f dmVyaWZpZXIoY29uc3QgY2hhciAqdmVyaWZpZXIsIGludCAqaXRlcmF0aW9ucywgY2hhciAq KnNhbHQsCitwYXJzZV9zY3JhbV9zZWNyZXQoY29uc3QgY2hhciAqc2VjcmV0LCBpbnQgKml0 ZXJhdGlvbnMsIGNoYXIgKipzYWx0LAogCQkJCQkgdWludDggKnN0b3JlZF9rZXksIHVpbnQ4 ICpzZXJ2ZXJfa2V5KQogewogCWNoYXIJICAgKnY7CkBAIC01NjksMzAgKzU2OSwzMCBAQCBw YXJzZV9zY3JhbV92ZXJpZmllcihjb25zdCBjaGFyICp2ZXJpZmllciwgaW50ICppdGVyYXRp b25zLCBjaGFyICoqc2FsdCwKIAljaGFyCSAgICpkZWNvZGVkX3NlcnZlcl9idWY7CiAKIAkv KgotCSAqIFRoZSB2ZXJpZmllciBpcyBvZiBmb3JtOgorCSAqIFRoZSBzZWNyZXQgaXMgb2Yg Zm9ybToKIAkgKgogCSAqIFNDUkFNLVNIQS0yNTYkPGl0ZXJhdGlvbnM+OjxzYWx0PiQ8c3Rv cmVka2V5Pjo8c2VydmVya2V5PgogCSAqLwotCXYgPSBwc3RyZHVwKHZlcmlmaWVyKTsKKwl2 ID0gcHN0cmR1cChzZWNyZXQpOwogCWlmICgoc2NoZW1lX3N0ciA9IHN0cnRvayh2LCAiJCIp KSA9PSBOVUxMKQotCQlnb3RvIGludmFsaWRfdmVyaWZpZXI7CisJCWdvdG8gaW52YWxpZF9z ZWNyZXQ7CiAJaWYgKChpdGVyYXRpb25zX3N0ciA9IHN0cnRvayhOVUxMLCAiOiIpKSA9PSBO VUxMKQotCQlnb3RvIGludmFsaWRfdmVyaWZpZXI7CisJCWdvdG8gaW52YWxpZF9zZWNyZXQ7 CiAJaWYgKChzYWx0X3N0ciA9IHN0cnRvayhOVUxMLCAiJCIpKSA9PSBOVUxMKQotCQlnb3Rv IGludmFsaWRfdmVyaWZpZXI7CisJCWdvdG8gaW52YWxpZF9zZWNyZXQ7CiAJaWYgKChzdG9y ZWRrZXlfc3RyID0gc3RydG9rKE5VTEwsICI6IikpID09IE5VTEwpCi0JCWdvdG8gaW52YWxp ZF92ZXJpZmllcjsKKwkJZ290byBpbnZhbGlkX3NlY3JldDsKIAlpZiAoKHNlcnZlcmtleV9z dHIgPSBzdHJ0b2soTlVMTCwgIiIpKSA9PSBOVUxMKQotCQlnb3RvIGludmFsaWRfdmVyaWZp ZXI7CisJCWdvdG8gaW52YWxpZF9zZWNyZXQ7CiAKIAkvKiBQYXJzZSB0aGUgZmllbGRzICov CiAJaWYgKHN0cmNtcChzY2hlbWVfc3RyLCAiU0NSQU0tU0hBLTI1NiIpICE9IDApCi0JCWdv dG8gaW52YWxpZF92ZXJpZmllcjsKKwkJZ290byBpbnZhbGlkX3NlY3JldDsKIAogCWVycm5v ID0gMDsKIAkqaXRlcmF0aW9ucyA9IHN0cnRvbChpdGVyYXRpb25zX3N0ciwgJnAsIDEwKTsK IAlpZiAoKnAgfHwgZXJybm8gIT0gMCkKLQkJZ290byBpbnZhbGlkX3ZlcmlmaWVyOworCQln b3RvIGludmFsaWRfc2VjcmV0OwogCiAJLyoKIAkgKiBWZXJpZnkgdGhhdCB0aGUgc2FsdCBp cyBpbiBCYXNlNjQtZW5jb2RlZCBmb3JtYXQsIGJ5IGRlY29kaW5nIGl0LApAQCAtNjAzLDcg KzYwMyw3IEBAIHBhcnNlX3NjcmFtX3ZlcmlmaWVyKGNvbnN0IGNoYXIgKnZlcmlmaWVyLCBp bnQgKml0ZXJhdGlvbnMsIGNoYXIgKipzYWx0LAogCWRlY29kZWRfbGVuID0gcGdfYjY0X2Rl Y29kZShzYWx0X3N0ciwgc3RybGVuKHNhbHRfc3RyKSwKIAkJCQkJCQkJZGVjb2RlZF9zYWx0 X2J1ZiwgZGVjb2RlZF9sZW4pOwogCWlmIChkZWNvZGVkX2xlbiA8IDApCi0JCWdvdG8gaW52 YWxpZF92ZXJpZmllcjsKKwkJZ290byBpbnZhbGlkX3NlY3JldDsKIAkqc2FsdCA9IHBzdHJk dXAoc2FsdF9zdHIpOwogCiAJLyoKQEAgLTYxNCw3ICs2MTQsNyBAQCBwYXJzZV9zY3JhbV92 ZXJpZmllcihjb25zdCBjaGFyICp2ZXJpZmllciwgaW50ICppdGVyYXRpb25zLCBjaGFyICoq c2FsdCwKIAlkZWNvZGVkX2xlbiA9IHBnX2I2NF9kZWNvZGUoc3RvcmVka2V5X3N0ciwgc3Ry bGVuKHN0b3JlZGtleV9zdHIpLAogCQkJCQkJCQlkZWNvZGVkX3N0b3JlZF9idWYsIGRlY29k ZWRfbGVuKTsKIAlpZiAoZGVjb2RlZF9sZW4gIT0gU0NSQU1fS0VZX0xFTikKLQkJZ290byBp bnZhbGlkX3ZlcmlmaWVyOworCQlnb3RvIGludmFsaWRfc2VjcmV0OwogCW1lbWNweShzdG9y ZWRfa2V5LCBkZWNvZGVkX3N0b3JlZF9idWYsIFNDUkFNX0tFWV9MRU4pOwogCiAJZGVjb2Rl ZF9sZW4gPSBwZ19iNjRfZGVjX2xlbihzdHJsZW4oc2VydmVya2V5X3N0cikpOwpAQCAtNjIy LDI5ICs2MjIsMjkgQEAgcGFyc2Vfc2NyYW1fdmVyaWZpZXIoY29uc3QgY2hhciAqdmVyaWZp ZXIsIGludCAqaXRlcmF0aW9ucywgY2hhciAqKnNhbHQsCiAJZGVjb2RlZF9sZW4gPSBwZ19i NjRfZGVjb2RlKHNlcnZlcmtleV9zdHIsIHN0cmxlbihzZXJ2ZXJrZXlfc3RyKSwKIAkJCQkJ CQkJZGVjb2RlZF9zZXJ2ZXJfYnVmLCBkZWNvZGVkX2xlbik7CiAJaWYgKGRlY29kZWRfbGVu ICE9IFNDUkFNX0tFWV9MRU4pCi0JCWdvdG8gaW52YWxpZF92ZXJpZmllcjsKKwkJZ290byBp bnZhbGlkX3NlY3JldDsKIAltZW1jcHkoc2VydmVyX2tleSwgZGVjb2RlZF9zZXJ2ZXJfYnVm LCBTQ1JBTV9LRVlfTEVOKTsKIAogCXJldHVybiB0cnVlOwogCi1pbnZhbGlkX3ZlcmlmaWVy OgoraW52YWxpZF9zZWNyZXQ6CiAJKnNhbHQgPSBOVUxMOwogCXJldHVybiBmYWxzZTsKIH0K IAogLyoKLSAqIEdlbmVyYXRlIHBsYXVzaWJsZSBTQ1JBTSB2ZXJpZmllciBwYXJhbWV0ZXJz IGZvciBtb2NrIGF1dGhlbnRpY2F0aW9uLgorICogR2VuZXJhdGUgcGxhdXNpYmxlIFNDUkFN IHNlY3JldCBwYXJhbWV0ZXJzIGZvciBtb2NrIGF1dGhlbnRpY2F0aW9uLgogICoKLSAqIElu IGEgbm9ybWFsIGF1dGhlbnRpY2F0aW9uLCB0aGVzZSBhcmUgZXh0cmFjdGVkIGZyb20gdGhl IHZlcmlmaWVyCisgKiBJbiBhIG5vcm1hbCBhdXRoZW50aWNhdGlvbiwgdGhlc2UgYXJlIGV4 dHJhY3RlZCBmcm9tIHRoZSBzZWNyZXQKICAqIHN0b3JlZCBpbiB0aGUgc2VydmVyLiAgVGhp cyBmdW5jdGlvbiBnZW5lcmF0ZXMgdmFsdWVzIHRoYXQgbG9vawotICogcmVhbGlzdGljLCBm b3Igd2hlbiB0aGVyZSBpcyBubyBzdG9yZWQgdmVyaWZpZXIuCisgKiByZWFsaXN0aWMsIGZv ciB3aGVuIHRoZXJlIGlzIG5vIHN0b3JlZCBzZWNyZXQuCiAgKgotICogTGlrZSBpbiBwYXJz ZV9zY3JhbV92ZXJpZmllcigpLCBmb3IgJ3N0b3JlZF9rZXknIGFuZCAnc2VydmVyX2tleScs IHRoZQorICogTGlrZSBpbiBwYXJzZV9zY3JhbV9zZWNyZXQoKSwgZm9yICdzdG9yZWRfa2V5 JyBhbmQgJ3NlcnZlcl9rZXknLCB0aGUKICAqIGNhbGxlciBtdXN0IHBhc3MgcHJlLWFsbG9j YXRlZCBidWZmZXJzIG9mIHNpemUgU0NSQU1fS0VZX0xFTiwgYW5kCiAgKiB0aGUgYnVmZmVy IGZvciB0aGUgc2FsdCBpcyBwYWxsb2MnZCBieSB0aGlzIGZ1bmN0aW9uLgogICovCiBzdGF0 aWMgdm9pZAotbW9ja19zY3JhbV92ZXJpZmllcihjb25zdCBjaGFyICp1c2VybmFtZSwgaW50 ICppdGVyYXRpb25zLCBjaGFyICoqc2FsdCwKK21vY2tfc2NyYW1fc2VjcmV0KGNvbnN0IGNo YXIgKnVzZXJuYW1lLCBpbnQgKml0ZXJhdGlvbnMsIGNoYXIgKipzYWx0LAogCQkJCQl1aW50 OCAqc3RvcmVkX2tleSwgdWludDggKnNlcnZlcl9rZXkpCiB7CiAJY2hhcgkgICAqcmF3X3Nh bHQ7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9saWJwcS9hdXRoLmMgYi9zcmMvYmFja2Vu ZC9saWJwcS9hdXRoLmMKaW5kZXggM2VmMDE3MTE5Mi4uMGNmNjViYTVkZSAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvbGlicHEvYXV0aC5jCisrKyBiL3NyYy9iYWNrZW5kL2xpYnBxL2F1 dGguYwpAQCAtODE4LDcgKzgxOCw3IEBAIENoZWNrUFdDaGFsbGVuZ2VBdXRoKFBvcnQgKnBv cnQsIGNoYXIgKipsb2dkZXRhaWwpCiAJICogSWYgJ21kNScgYXV0aGVudGljYXRpb24gaXMg YWxsb3dlZCwgZGVjaWRlIHdoZXRoZXIgdG8gcGVyZm9ybSAnbWQ1JyBvcgogCSAqICdzY3Jh bS1zaGEtMjU2JyBhdXRoZW50aWNhdGlvbiBiYXNlZCBvbiB0aGUgdHlwZSBvZiBwYXNzd29y ZCB0aGUgdXNlcgogCSAqIGhhcy4gIElmIGl0J3MgYW4gTUQ1IGhhc2gsIHdlIG11c3QgZG8g TUQ1IGF1dGhlbnRpY2F0aW9uLCBhbmQgaWYgaXQncyBhCi0JICogU0NSQU0gdmVyaWZpZXIs IHdlIG11c3QgZG8gU0NSQU0gYXV0aGVudGljYXRpb24uCisJICogU0NSQU0gc2VjcmV0LCB3 ZSBtdXN0IGRvIFNDUkFNIGF1dGhlbnRpY2F0aW9uLgogCSAqCiAJICogSWYgTUQ1IGF1dGhl bnRpY2F0aW9uIGlzIG5vdCBhbGxvd2VkLCBhbHdheXMgdXNlIFNDUkFNLiAgSWYgdGhlIHVz ZXIKIAkgKiBoYWQgYW4gTUQ1IHBhc3N3b3JkLCBDaGVja1NDUkFNQXV0aCgpIHdpbGwgZmFp bC4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2xpYnBxL2NyeXB0LmMgYi9zcmMvYmFja2Vu ZC9saWJwcS9jcnlwdC5jCmluZGV4IDc4NGZiMjI3YWEuLjlhZGQ2YTE0YjIgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL2xpYnBxL2NyeXB0LmMKKysrIGIvc3JjL2JhY2tlbmQvbGlicHEv Y3J5cHQuYwpAQCAtODMsNyArODMsNyBAQCBnZXRfcm9sZV9wYXNzd29yZChjb25zdCBjaGFy ICpyb2xlLCBjaGFyICoqbG9nZGV0YWlsKQogfQogCiAvKgotICogV2hhdCBraW5kIG9mIGEg cGFzc3dvcmQgdmVyaWZpZXIgaXMgJ3NoYWRvd19wYXNzJz8KKyAqIFdoYXQga2luZCBvZiBh IHBhc3N3b3JkIHR5cGUgaXMgJ3NoYWRvd19wYXNzJz8KICAqLwogUGFzc3dvcmRUeXBlCiBn ZXRfcGFzc3dvcmRfdHlwZShjb25zdCBjaGFyICpzaGFkb3dfcGFzcykKQEAgLTk3LDE0ICs5 NywxNCBAQCBnZXRfcGFzc3dvcmRfdHlwZShjb25zdCBjaGFyICpzaGFkb3dfcGFzcykKIAkJ c3RybGVuKHNoYWRvd19wYXNzKSA9PSBNRDVfUEFTU1dEX0xFTiAmJgogCQlzdHJzcG4oc2hh ZG93X3Bhc3MgKyAzLCBNRDVfUEFTU1dEX0NIQVJTRVQpID09IE1ENV9QQVNTV0RfTEVOIC0g MykKIAkJcmV0dXJuIFBBU1NXT1JEX1RZUEVfTUQ1OwotCWlmIChwYXJzZV9zY3JhbV92ZXJp ZmllcihzaGFkb3dfcGFzcywgJml0ZXJhdGlvbnMsICZlbmNvZGVkX3NhbHQsCisJaWYgKHBh cnNlX3NjcmFtX3NlY3JldChzaGFkb3dfcGFzcywgJml0ZXJhdGlvbnMsICZlbmNvZGVkX3Nh bHQsCiAJCQkJCQkJIHN0b3JlZF9rZXksIHNlcnZlcl9rZXkpKQogCQlyZXR1cm4gUEFTU1dP UkRfVFlQRV9TQ1JBTV9TSEFfMjU2OwogCXJldHVybiBQQVNTV09SRF9UWVBFX1BMQUlOVEVY VDsKIH0KIAogLyoKLSAqIEdpdmVuIGEgdXNlci1zdXBwbGllZCBwYXNzd29yZCwgY29udmVy dCBpdCBpbnRvIGEgdmVyaWZpZXIgb2YKKyAqIEdpdmVuIGEgdXNlci1zdXBwbGllZCBwYXNz d29yZCwgY29udmVydCBpdCBpbnRvIGEgc2VjcmV0IG9mCiAgKiAndGFyZ2V0X3R5cGUnIGtp bmQuCiAgKgogICogSWYgdGhlIHBhc3N3b3JkIGlzIGFscmVhZHkgaW4gZW5jcnlwdGVkIGZv cm0sIHdlIGNhbm5vdCByZXZlcnNlIHRoZQpAQCAtMTM3LDcgKzEzNyw3IEBAIGVuY3J5cHRf cGFzc3dvcmQoUGFzc3dvcmRUeXBlIHRhcmdldF90eXBlLCBjb25zdCBjaGFyICpyb2xlLAog CQkJcmV0dXJuIGVuY3J5cHRlZF9wYXNzd29yZDsKIAogCQljYXNlIFBBU1NXT1JEX1RZUEVf U0NSQU1fU0hBXzI1NjoKLQkJCXJldHVybiBwZ19iZV9zY3JhbV9idWlsZF92ZXJpZmllcihw YXNzd29yZCk7CisJCQlyZXR1cm4gcGdfYmVfc2NyYW1fYnVpbGRfc2VjcmV0KHBhc3N3b3Jk KTsKIAogCQljYXNlIFBBU1NXT1JEX1RZUEVfUExBSU5URVhUOgogCQkJZWxvZyhFUlJPUiwg ImNhbm5vdCBlbmNyeXB0IHBhc3N3b3JkIHdpdGggJ3BsYWludGV4dCciKTsKZGlmZiAtLWdp dCBhL3NyYy9jb21tb24vc2NyYW0tY29tbW9uLmMgYi9zcmMvY29tbW9uL3NjcmFtLWNvbW1v bi5jCmluZGV4IGRmZjk3MjNlNjcuLjcyYmZhMzhhMmUgMTAwNjQ0Ci0tLSBhL3NyYy9jb21t b24vc2NyYW0tY29tbW9uLmMKKysrIGIvc3JjL2NvbW1vbi9zY3JhbS1jb21tb24uYwpAQCAt MTgxLDcgKzE4MSw3IEBAIHNjcmFtX1NlcnZlcktleShjb25zdCB1aW50OCAqc2FsdGVkX3Bh c3N3b3JkLCB1aW50OCAqcmVzdWx0KQogCiAKIC8qCi0gKiBDb25zdHJ1Y3QgYSB2ZXJpZmll ciBzdHJpbmcgZm9yIFNDUkFNLCBzdG9yZWQgaW4gcGdfYXV0aGlkLnJvbHBhc3N3b3JkLgor ICogQ29uc3RydWN0IGEgU0NSQU0gc2VjcmV0LCBmb3Igc3RvcmluZyBpbiBwZ19hdXRoaWQu cm9scGFzc3dvcmQuCiAgKgogICogVGhlIHBhc3N3b3JkIHNob3VsZCBhbHJlYWR5IGhhdmUg YmVlbiBwcm9jZXNzZWQgd2l0aCBTQVNMcHJlcCwgaWYgbmVjZXNzYXJ5IQogICoKQEAgLTE4 OSw3ICsxODksNyBAQCBzY3JhbV9TZXJ2ZXJLZXkoY29uc3QgdWludDggKnNhbHRlZF9wYXNz d29yZCwgdWludDggKnJlc3VsdCkKICAqIHBhbGxvYydkIG9yIG1hbGxvYydkLCBzbyBjYWxs ZXIgaXMgcmVzcG9uc2libGUgZm9yIGZyZWVpbmcgaXQuCiAgKi8KIGNoYXIgKgotc2NyYW1f YnVpbGRfdmVyaWZpZXIoY29uc3QgY2hhciAqc2FsdCwgaW50IHNhbHRsZW4sIGludCBpdGVy YXRpb25zLAorc2NyYW1fYnVpbGRfc2VjcmV0KGNvbnN0IGNoYXIgKnNhbHQsIGludCBzYWx0 bGVuLCBpbnQgaXRlcmF0aW9ucywKIAkJCQkJIGNvbnN0IGNoYXIgKnBhc3N3b3JkKQogewog CXVpbnQ4CQlzYWx0ZWRfcGFzc3dvcmRbU0NSQU1fS0VZX0xFTl07CmRpZmYgLS1naXQgYS9z cmMvaW5jbHVkZS9jb21tb24vc2NyYW0tY29tbW9uLmggYi9zcmMvaW5jbHVkZS9jb21tb24v c2NyYW0tY29tbW9uLmgKaW5kZXggZDUyZGY2N2VjOC4uMWM0NmRlZTU4YyAxMDA2NDQKLS0t IGEvc3JjL2luY2x1ZGUvY29tbW9uL3NjcmFtLWNvbW1vbi5oCisrKyBiL3NyYy9pbmNsdWRl L2NvbW1vbi9zY3JhbS1jb21tb24uaApAQCAtMzMsMTQgKzMzLDE0IEBACiAjZGVmaW5lIFND UkFNX1JBV19OT05DRV9MRU4JCQkxOAogCiAvKgotICogTGVuZ3RoIG9mIHNhbHQgd2hlbiBn ZW5lcmF0aW5nIG5ldyB2ZXJpZmllcnMsIGluIGJ5dGVzLiAgKEl0IHdpbGwgYmUgc3RvcmVk CisgKiBMZW5ndGggb2Ygc2FsdCB3aGVuIGdlbmVyYXRpbmcgbmV3IHNlY3JldHMsIGluIGJ5 dGVzLiAgKEl0IHdpbGwgYmUgc3RvcmVkCiAgKiBhbmQgc2VudCBvdmVyIHRoZSB3aXJlIGVu Y29kZWQgaW4gQmFzZTY0LikgIDE2IGJ5dGVzIGlzIHdoYXQgdGhlIGV4YW1wbGUgaW4KICAq IFJGQyA3Njc3IHVzZXMuCiAgKi8KICNkZWZpbmUgU0NSQU1fREVGQVVMVF9TQUxUX0xFTgkJ MTYKIAogLyoKLSAqIERlZmF1bHQgbnVtYmVyIG9mIGl0ZXJhdGlvbnMgd2hlbiBnZW5lcmF0 aW5nIHZlcmlmaWVyLiAgU2hvdWxkIGJlIGF0IGxlYXN0CisgKiBEZWZhdWx0IG51bWJlciBv ZiBpdGVyYXRpb25zIHdoZW4gZ2VuZXJhdGluZyBzZWNyZXQuICBTaG91bGQgYmUgYXQgbGVh c3QKICAqIDQwOTYgcGVyIFJGQyA3Njc3LgogICovCiAjZGVmaW5lIFNDUkFNX0RFRkFVTFRf SVRFUkFUSU9OUwk0MDk2CkBAIC02NCw3ICs2NCw3IEBAIGV4dGVybiB2b2lkIHNjcmFtX0go Y29uc3QgdWludDggKnN0ciwgaW50IGxlbiwgdWludDggKnJlc3VsdCk7CiBleHRlcm4gdm9p ZCBzY3JhbV9DbGllbnRLZXkoY29uc3QgdWludDggKnNhbHRlZF9wYXNzd29yZCwgdWludDgg KnJlc3VsdCk7CiBleHRlcm4gdm9pZCBzY3JhbV9TZXJ2ZXJLZXkoY29uc3QgdWludDggKnNh bHRlZF9wYXNzd29yZCwgdWludDggKnJlc3VsdCk7CiAKLWV4dGVybiBjaGFyICpzY3JhbV9i dWlsZF92ZXJpZmllcihjb25zdCBjaGFyICpzYWx0LCBpbnQgc2FsdGxlbiwgaW50IGl0ZXJh dGlvbnMsCitleHRlcm4gY2hhciAqc2NyYW1fYnVpbGRfc2VjcmV0KGNvbnN0IGNoYXIgKnNh bHQsIGludCBzYWx0bGVuLCBpbnQgaXRlcmF0aW9ucywKIAkJCQkJCQkJICBjb25zdCBjaGFy ICpwYXNzd29yZCk7CiAKICNlbmRpZgkJCQkJCQkvKiBTQ1JBTV9DT01NT05fSCAqLwpkaWZm IC0tZ2l0IGEvc3JjL2luY2x1ZGUvbGlicHEvY3J5cHQuaCBiL3NyYy9pbmNsdWRlL2xpYnBx L2NyeXB0LmgKaW5kZXggZTZiNTBhNzI4OC4uMzU2NGVmMzlkOCAxMDA2NDQKLS0tIGEvc3Jj L2luY2x1ZGUvbGlicHEvY3J5cHQuaAorKysgYi9zcmMvaW5jbHVkZS9saWJwcS9jcnlwdC5o CkBAIC0xNiw3ICsxNiw3IEBACiAjaW5jbHVkZSAiZGF0YXR5cGUvdGltZXN0YW1wLmgiCiAK IC8qCi0gKiBUeXBlcyBvZiBwYXNzd29yZCBoYXNoZXMgb3IgdmVyaWZpZXJzLgorICogVHlw ZXMgb2YgcGFzc3dvcmQgaGFzaGVzIG9yIHNlY3JldHMuCiAgKgogICogUGxhaW50ZXh0IHBh c3N3b3JkcyBjYW4gYmUgcGFzc2VkIGluIGJ5IHRoZSB1c2VyLCBpbiBhIENSRUFURS9BTFRF UiBVU0VSCiAgKiBjb21tYW5kLiBUaGV5IHdpbGwgYmUgZW5jcnlwdGVkIHRvIE1ENSBvciBT Q1JBTS1TSEEtMjU2IGZvcm1hdCwgYmVmb3JlCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9s aWJwcS9zY3JhbS5oIGIvc3JjL2luY2x1ZGUvbGlicHEvc2NyYW0uaAppbmRleCA4N2UyZDU2 MzAxLi43MWZjYjUxYzVhIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9saWJwcS9zY3JhbS5o CisrKyBiL3NyYy9pbmNsdWRlL2xpYnBxL3NjcmFtLmgKQEAgLTI3LDExICsyNywxMSBAQCBl eHRlcm4gdm9pZCAqcGdfYmVfc2NyYW1faW5pdChQb3J0ICpwb3J0LCBjb25zdCBjaGFyICpz ZWxlY3RlZF9tZWNoLCBjb25zdCBjaGFyCiBleHRlcm4gaW50CXBnX2JlX3NjcmFtX2V4Y2hh bmdlKHZvaWQgKm9wYXEsIGNvbnN0IGNoYXIgKmlucHV0LCBpbnQgaW5wdXRsZW4sCiAJCQkJ CQkJCSBjaGFyICoqb3V0cHV0LCBpbnQgKm91dHB1dGxlbiwgY2hhciAqKmxvZ2RldGFpbCk7 CiAKLS8qIFJvdXRpbmVzIHRvIGhhbmRsZSBhbmQgY2hlY2sgU0NSQU0tU0hBLTI1NiB2ZXJp ZmllciAqLwotZXh0ZXJuIGNoYXIgKnBnX2JlX3NjcmFtX2J1aWxkX3ZlcmlmaWVyKGNvbnN0 IGNoYXIgKnBhc3N3b3JkKTsKLWV4dGVybiBib29sIHBhcnNlX3NjcmFtX3ZlcmlmaWVyKGNv bnN0IGNoYXIgKnZlcmlmaWVyLCBpbnQgKml0ZXJhdGlvbnMsIGNoYXIgKipzYWx0LAorLyog Um91dGluZXMgdG8gaGFuZGxlIGFuZCBjaGVjayBTQ1JBTS1TSEEtMjU2IHNlY3JldCAqLwor ZXh0ZXJuIGNoYXIgKnBnX2JlX3NjcmFtX2J1aWxkX3NlY3JldChjb25zdCBjaGFyICpwYXNz d29yZCk7CitleHRlcm4gYm9vbCBwYXJzZV9zY3JhbV9zZWNyZXQoY29uc3QgY2hhciAqc2Vj cmV0LCBpbnQgKml0ZXJhdGlvbnMsIGNoYXIgKipzYWx0LAogCQkJCQkJCQkgdWludDggKnN0 b3JlZF9rZXksIHVpbnQ4ICpzZXJ2ZXJfa2V5KTsKIGV4dGVybiBib29sIHNjcmFtX3Zlcmlm eV9wbGFpbl9wYXNzd29yZChjb25zdCBjaGFyICp1c2VybmFtZSwKLQkJCQkJCQkJCQljb25z dCBjaGFyICpwYXNzd29yZCwgY29uc3QgY2hhciAqdmVyaWZpZXIpOworCQkJCQkJCQkJCWNv bnN0IGNoYXIgKnBhc3N3b3JkLCBjb25zdCBjaGFyICpzZWNyZXQpOwogCiAjZW5kaWYJCQkJ CQkJLyogUEdfU0NSQU1fSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFjZXMvbGlicHEv ZmUtYXV0aC1zY3JhbS5jIGIvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0aC1zY3JhbS5j CmluZGV4IDY5MzczOWM1NDQuLjc0MWY1NjZhNzIgMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcmZh Y2VzL2xpYnBxL2ZlLWF1dGgtc2NyYW0uYworKysgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS9m ZS1hdXRoLXNjcmFtLmMKQEAgLTgyMiwxMCArODIyLDEwIEBAIHZlcmlmeV9zZXJ2ZXJfc2ln bmF0dXJlKGZlX3NjcmFtX3N0YXRlICpzdGF0ZSkKIH0KIAogLyoKLSAqIEJ1aWxkIGEgbmV3 IFNDUkFNIHZlcmlmaWVyLgorICogQnVpbGQgYSBuZXcgU0NSQU0gc2VjcmV0LgogICovCiBj aGFyICoKLXBnX2ZlX3NjcmFtX2J1aWxkX3ZlcmlmaWVyKGNvbnN0IGNoYXIgKnBhc3N3b3Jk KQorcGdfZmVfc2NyYW1fYnVpbGRfc2VjcmV0KGNvbnN0IGNoYXIgKnBhc3N3b3JkKQogewog CWNoYXIJICAgKnByZXBfcGFzc3dvcmQ7CiAJcGdfc2FzbHByZXBfcmMgcmM7CkBAIC04NTEs NyArODUxLDcgQEAgcGdfZmVfc2NyYW1fYnVpbGRfdmVyaWZpZXIoY29uc3QgY2hhciAqcGFz c3dvcmQpCiAJCXJldHVybiBOVUxMOwogCX0KIAotCXJlc3VsdCA9IHNjcmFtX2J1aWxkX3Zl cmlmaWVyKHNhbHRidWYsIFNDUkFNX0RFRkFVTFRfU0FMVF9MRU4sCisJcmVzdWx0ID0gc2Ny YW1fYnVpbGRfc2VjcmV0KHNhbHRidWYsIFNDUkFNX0RFRkFVTFRfU0FMVF9MRU4sCiAJCQkJ CQkJCSAgU0NSQU1fREVGQVVMVF9JVEVSQVRJT05TLCBwYXNzd29yZCk7CiAKIAlpZiAocHJl cF9wYXNzd29yZCkKZGlmZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGgu YyBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGguYwppbmRleCA4Y2E3YjM5MzI2Li5h NjkwZjNiYTNhIDEwMDY0NAotLS0gYS9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1hdXRoLmMK KysrIGIvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0aC5jCkBAIC0xMjUxLDcgKzEyNTEs NyBAQCBQUWVuY3J5cHRQYXNzd29yZENvbm4oUEdjb25uICpjb25uLCBjb25zdCBjaGFyICpw YXNzd2QsIGNvbnN0IGNoYXIgKnVzZXIsCiAJICovCiAJaWYgKHN0cmNtcChhbGdvcml0aG0s ICJzY3JhbS1zaGEtMjU2IikgPT0gMCkKIAl7Ci0JCWNyeXB0X3B3ZCA9IHBnX2ZlX3NjcmFt X2J1aWxkX3ZlcmlmaWVyKHBhc3N3ZCk7CisJCWNyeXB0X3B3ZCA9IHBnX2ZlX3NjcmFtX2J1 aWxkX3NlY3JldChwYXNzd2QpOwogCX0KIAllbHNlIGlmIChzdHJjbXAoYWxnb3JpdGhtLCAi bWQ1IikgPT0gMCkKIAl7CmRpZmYgLS1naXQgYS9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1h dXRoLmggYi9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1hdXRoLmgKaW5kZXggMmYxYWY1M2Zi MC4uM2QzZGI0MWY4YyAxMDA2NDQKLS0tIGEvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0 aC5oCisrKyBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGguaApAQCAtMzEsNiArMzEs NiBAQCBleHRlcm4gdm9pZCBwZ19mZV9zY3JhbV9mcmVlKHZvaWQgKm9wYXEpOwogZXh0ZXJu IHZvaWQgcGdfZmVfc2NyYW1fZXhjaGFuZ2Uodm9pZCAqb3BhcSwgY2hhciAqaW5wdXQsIGlu dCBpbnB1dGxlbiwKIAkJCQkJCQkJIGNoYXIgKipvdXRwdXQsIGludCAqb3V0cHV0bGVuLAog CQkJCQkJCQkgYm9vbCAqZG9uZSwgYm9vbCAqc3VjY2Vzcyk7Ci1leHRlcm4gY2hhciAqcGdf ZmVfc2NyYW1fYnVpbGRfdmVyaWZpZXIoY29uc3QgY2hhciAqcGFzc3dvcmQpOworZXh0ZXJu IGNoYXIgKnBnX2ZlX3NjcmFtX2J1aWxkX3NlY3JldChjb25zdCBjaGFyICpwYXNzd29yZCk7 CiAKICNlbmRpZgkJCQkJCQkvKiBGRV9BVVRIX0ggKi8KZGlmZiAtLWdpdCBhL3NyYy90ZXN0 L2F1dGhlbnRpY2F0aW9uL3QvMDAxX3Bhc3N3b3JkLnBsIGIvc3JjL3Rlc3QvYXV0aGVudGlj YXRpb24vdC8wMDFfcGFzc3dvcmQucGwKaW5kZXggYWFlNmRlOGIzNC4uNTk4NTEzMGUzZCAx MDA2NDQKLS0tIGEvc3JjL3Rlc3QvYXV0aGVudGljYXRpb24vdC8wMDFfcGFzc3dvcmQucGwK KysrIGIvc3JjL3Rlc3QvYXV0aGVudGljYXRpb24vdC8wMDFfcGFzc3dvcmQucGwKQEAgLTgy LDcgKzgyLDcgQEAgc3ViIHRlc3Rfcm9sZQogdGVzdF9yb2xlKCRub2RlLCAnbWQ1X3JvbGUn LCAgICdzY3JhbS1zaGEtMjU2JywgMik7CiAKICMgRm9yICJtZDUiIG1ldGhvZCwgYWxsIHVz ZXJzIHNob3VsZCBiZSBhYmxlIHRvIGNvbm5lY3QgKFNDUkFNCi0jIGF1dGhlbnRpY2F0aW9u IHdpbGwgYmUgcGVyZm9ybWVkIGZvciB0aGUgdXNlciB3aXRoIGEgc2NyYW0gdmVyaWZpZXIu KQorIyBhdXRoZW50aWNhdGlvbiB3aWxsIGJlIHBlcmZvcm1lZCBmb3IgdGhlIHVzZXIgd2l0 aCBhIFNDUkFNIHNlY3JldC4pCiByZXNldF9wZ19oYmEoJG5vZGUsICdtZDUnKTsKIHRlc3Rf cm9sZSgkbm9kZSwgJ3NjcmFtX3JvbGUnLCAnbWQ1JywgMCk7CiB0ZXN0X3JvbGUoJG5vZGUs ICdtZDVfcm9sZScsICAgJ21kNScsIDApOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9wYXNzd29yZC5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Bh c3N3b3JkLm91dAppbmRleCBmMWFlMzRmMTVmLi4yYjg1MmFhMzI0IDEwMDY0NAotLS0gYS9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Bhc3N3b3JkLm91dAorKysgYi9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3Bhc3N3b3JkLm91dApAQCAtMSw1ICsxLDUgQEAKIC0tCi0tLSBU ZXN0cyBmb3IgcGFzc3dvcmQgdmVyaWZpZXJzCistLSBUZXN0cyBmb3IgcGFzc3dvcmQgdHlw ZXMKIC0tCiAtLSBUZXN0cyBmb3IgR1VDIHBhc3N3b3JkX2VuY3J5cHRpb24KIFNFVCBwYXNz d29yZF9lbmNyeXB0aW9uID0gJ25vdmFsdWUnOyAtLSBlcnJvcgpAQCAtMTgsNyArMTgsNyBA QCBDUkVBVEUgUk9MRSByZWdyZXNzX3Bhc3N3ZDMgUEFTU1dPUkQgJ3JvbGVfcHdkMyc7CiBD UkVBVEUgUk9MRSByZWdyZXNzX3Bhc3N3ZDQgUEFTU1dPUkQgTlVMTDsKIC0tIGNoZWNrIGxp c3Qgb2YgY3JlYXRlZCBlbnRyaWVzCiAtLQotLS0gVGhlIHNjcmFtIHZlcmlmaWVyIHdpbGwg bG9vayBzb21ldGhpbmcgbGlrZToKKy0tIFRoZSBzY3JhbSBzZWNyZXQgd2lsbCBsb29rIHNv bWV0aGluZyBsaWtlOgogLS0gU0NSQU0tU0hBLTI1NiQ0MDk2OkU0SHhMR3RuUnpzWXdnPT0k Nll0bFI0dDY5U2d1RGl3RnZiVmdWWnR1ejZncEpRUXFVTVo3SVFKSzV5ST06cHM3NWpySGVZ VTRsWENjWEk0TzhvSWRKM2VPOG8yamlyanJ1dzlwaEJUbz0KIC0tCiAtLSBTaW5jZSB0aGUg c2FsdCBpcyByYW5kb20sIHRoZSBleGFjdCB2YWx1ZSBzdG9yZWQgd2lsbCBiZSBkaWZmZXJl bnQgb24gZXZlcnkgdGVzdApAQCAtNTgsMTQgKzU4LDE0IEBAIEFMVEVSIFJPTEUgcmVncmVz c19wYXNzd2QyIFBBU1NXT1JEICdmb28nOwogQUxURVIgUk9MRSByZWdyZXNzX3Bhc3N3ZDEg UEFTU1dPUkQgJ21kNWNkMzU3ODAyNWZlMmMzZDdlZDFiOWE5YjI2MjM4YjcwJzsKIEFMVEVS IFJPTEUgcmVncmVzc19wYXNzd2QzIFBBU1NXT1JEICdTQ1JBTS1TSEEtMjU2JDQwOTY6VkxL NFJNYVFMQ3ZOdFE9PSQ2WXRsUjR0NjlTZ3VEaXdGdmJWZ1ZadHV6NmdwSlFRcVVNWjdJUUpL NXlJPTpwczc1anJIZVlVNGxYQ2NYSTRPOG9JZEozZU84bzJqaXJqcnV3OXBoQlRvPSc7CiBT RVQgcGFzc3dvcmRfZW5jcnlwdGlvbiA9ICdzY3JhbS1zaGEtMjU2JzsKLS0tIGNyZWF0ZSBT Q1JBTSB2ZXJpZmllcgorLS0gY3JlYXRlIFNDUkFNIHNlY3JldAogQUxURVIgUk9MRSAgcmVn cmVzc19wYXNzd2Q0IFBBU1NXT1JEICdmb28nOwogLS0gYWxyZWFkeSBlbmNyeXB0ZWQgd2l0 aCBNRDUsIHVzZSBhcyBpdCBpcwogQ1JFQVRFIFJPTEUgcmVncmVzc19wYXNzd2Q1IFBBU1NX T1JEICdtZDVlNzNhNGIxMWRmNTJhNjA2OGY4YjM5ZjkwYmUzNjAyMyc7Ci0tLSBUaGlzIGxv b2tzIGxpa2UgYSB2YWxpZCBTQ1JBTS1TSEEtMjU2IHZlcmlmaWVyLCBidXQgaXQgaXMgbm90 CistLSBUaGlzIGxvb2tzIGxpa2UgYSB2YWxpZCBTQ1JBTS1TSEEtMjU2IHNlY3JldCwgYnV0 IGl0IGlzIG5vdAogLS0gc28gaXQgc2hvdWxkIGJlIGhhc2hlZCB3aXRoIFNDUkFNLVNIQS0y NTYuCiBDUkVBVEUgUk9MRSByZWdyZXNzX3Bhc3N3ZDYgUEFTU1dPUkQgJ1NDUkFNLVNIQS0y NTYkMTIzNCc7Ci0tLSBUaGVzZSBtYXkgbG9vayBsaWtlIHZhbGlkIE1ENSB2ZXJpZmllcnMs IGJ1dCB0aGV5IGFyZSBub3QsIHNvIHRoZXkKKy0tIFRoZXNlIG1heSBsb29rIGxpa2UgdmFs aWQgTUQ1IHNlY3JldHMsIGJ1dCB0aGV5IGFyZSBub3QsIHNvIHRoZXkKIC0tIHNob3VsZCBi ZSBoYXNoZWQgd2l0aCBTQ1JBTS1TSEEtMjU2LgogLS0gdHJhaWxpbmcgZ2FyYmFnZSBhdCB0 aGUgZW5kCiBDUkVBVEUgUk9MRSByZWdyZXNzX3Bhc3N3ZDcgUEFTU1dPUkQgJ21kNTAxMjM0 NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OXp6JzsKQEAgLTEwNyw3ICsxMDcsNyBAQCBTRUxF Q1Qgcm9scGFzc3dvcmQgRlJPTSBwZ19hdXRoaWQgV0hFUkUgcm9sbmFtZT0ncmVncmVzc19w YXNzd2RfZW1wdHknOwogQ1JFQVRFIFJPTEUgcmVncmVzc19wYXNzd2Rfc2hhX2xlbjAgUEFT U1dPUkQgJ1NDUkFNLVNIQS0yNTYkNDA5NjpBNnhIS29ILzQ5NEU5NDFkb2FQT1lnPT0kS3kr QTMwc2V3SElIM1ZIUUxSTjl2WXN1emxnTnlHTktDaDM3ZHk5NlJxdz06Q09QZGxOaUlrcnNh Y1U1UW94eWRFdU9INmUvS2ZpaXBlRVRiL2JQdzhaST0nOwogQ1JFQVRFIFJPTEUgcmVncmVz c19wYXNzd2Rfc2hhX2xlbjEgUEFTU1dPUkQgJ1NDUkFNLVNIQS0yNTYkNDA5NjpBNnhIS29I LzQ5NEU5NDFkb2FQT1lnPT0kS3krQTMwc2V3SElIM1ZIUUxSTjl2WXN1emxnTnlHTktDaDM3 ZHk5NlJxd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB QUFBQUFBQUFBQUFBQUFBQUFBQUFBPTpDT1BkbE5pSWtyc2FjVTVRb3h5ZEV1T0g2ZS9LZmlp cGVFVGIvYlB3OFpJPSc7CiBDUkVBVEUgUk9MRSByZWdyZXNzX3Bhc3N3ZF9zaGFfbGVuMiBQ QVNTV09SRCAnU0NSQU0tU0hBLTI1NiQ0MDk2OkE2eEhLb0gvNDk0RTk0MWRvYVBPWWc9PSRL eStBMzBzZXdISUgzVkhRTFJOOXZZc3V6bGdOeUdOS0NoMzdkeTk2UnF3PTpDT1BkbE5pSWty c2FjVTVRb3h5ZEV1T0g2ZS9LZmlpcGVFVGIvYlB3OFpJQUFBQUFBQUFBQUFBQUFBQUFBQUFB QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE9JzsKLS0t IENoZWNrIHRoYXQgdGhlIGludmFsaWQgdmVyaWZpZXJzIHdlcmUgcmUtaGFzaGVkLiBBIHJl LWhhc2hlZCB2ZXJpZmllcgorLS0gQ2hlY2sgdGhhdCB0aGUgaW52YWxpZCBzZWNyZXRzIHdl cmUgcmUtaGFzaGVkLiBBIHJlLWhhc2hlZCBzZWNyZXQKIC0tIHNob3VsZCBub3QgY29udGFp biB0aGUgb3JpZ2luYWwgc2FsdC4KIFNFTEVDVCByb2xuYW1lLCByb2xwYXNzd29yZCBub3Qg bGlrZSAnJUE2eEhLb0gvNDk0RTk0MWRvYVBPWWc9PSUnIGFzIGlzX3JvbHBhc3N3b3JkX3Jl aGFzaGVkCiAgICAgRlJPTSBwZ19hdXRoaWQKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jl c3Mvc3FsL3Bhc3N3b3JkLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Bhc3N3b3JkLnNx bAppbmRleCBmYWQ4OGJhNjg5Li4xZTdlMTllYWZhIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9y ZWdyZXNzL3NxbC9wYXNzd29yZC5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGFz c3dvcmQuc3FsCkBAIC0xLDUgKzEsNSBAQAogLS0KLS0tIFRlc3RzIGZvciBwYXNzd29yZCB2 ZXJpZmllcnMKKy0tIFRlc3RzIGZvciBwYXNzd29yZCB0eXBlcwogLS0KIAogLS0gVGVzdHMg Zm9yIEdVQyBwYXNzd29yZF9lbmNyeXB0aW9uCkBAIC0xOSw3ICsxOSw3IEBAIENSRUFURSBS T0xFIHJlZ3Jlc3NfcGFzc3dkNCBQQVNTV09SRCBOVUxMOwogCiAtLSBjaGVjayBsaXN0IG9m IGNyZWF0ZWQgZW50cmllcwogLS0KLS0tIFRoZSBzY3JhbSB2ZXJpZmllciB3aWxsIGxvb2sg c29tZXRoaW5nIGxpa2U6CistLSBUaGUgc2NyYW0gc2VjcmV0IHdpbGwgbG9vayBzb21ldGhp bmcgbGlrZToKIC0tIFNDUkFNLVNIQS0yNTYkNDA5NjpFNEh4TEd0blJ6c1l3Zz09JDZZdGxS NHQ2OVNndURpd0Z2YlZnVlp0dXo2Z3BKUVFxVU1aN0lRSks1eUk9OnBzNzVqckhlWVU0bFhD Y1hJNE84b0lkSjNlTzhvMmppcmpydXc5cGhCVG89CiAtLQogLS0gU2luY2UgdGhlIHNhbHQg aXMgcmFuZG9tLCB0aGUgZXhhY3QgdmFsdWUgc3RvcmVkIHdpbGwgYmUgZGlmZmVyZW50IG9u IGV2ZXJ5IHRlc3QKQEAgLTQ5LDE1ICs0OSwxNSBAQCBDUkVBVEUgUk9MRSByZWdyZXNzX3Bh c3N3ZDQgUEFTU1dPUkQgTlVMTDsKIEFMVEVSIFJPTEUgcmVncmVzc19wYXNzd2QzIFBBU1NX T1JEICdTQ1JBTS1TSEEtMjU2JDQwOTY6VkxLNFJNYVFMQ3ZOdFE9PSQ2WXRsUjR0NjlTZ3VE aXdGdmJWZ1ZadHV6NmdwSlFRcVVNWjdJUUpLNXlJPTpwczc1anJIZVlVNGxYQ2NYSTRPOG9J ZEozZU84bzJqaXJqcnV3OXBoQlRvPSc7CiAKIFNFVCBwYXNzd29yZF9lbmNyeXB0aW9uID0g J3NjcmFtLXNoYS0yNTYnOwotLS0gY3JlYXRlIFNDUkFNIHZlcmlmaWVyCistLSBjcmVhdGUg U0NSQU0gc2VjcmV0CiBBTFRFUiBST0xFICByZWdyZXNzX3Bhc3N3ZDQgUEFTU1dPUkQgJ2Zv byc7CiAtLSBhbHJlYWR5IGVuY3J5cHRlZCB3aXRoIE1ENSwgdXNlIGFzIGl0IGlzCiBDUkVB VEUgUk9MRSByZWdyZXNzX3Bhc3N3ZDUgUEFTU1dPUkQgJ21kNWU3M2E0YjExZGY1MmE2MDY4 ZjhiMzlmOTBiZTM2MDIzJzsKIAotLS0gVGhpcyBsb29rcyBsaWtlIGEgdmFsaWQgU0NSQU0t U0hBLTI1NiB2ZXJpZmllciwgYnV0IGl0IGlzIG5vdAorLS0gVGhpcyBsb29rcyBsaWtlIGEg dmFsaWQgU0NSQU0tU0hBLTI1NiBzZWNyZXQsIGJ1dCBpdCBpcyBub3QKIC0tIHNvIGl0IHNo b3VsZCBiZSBoYXNoZWQgd2l0aCBTQ1JBTS1TSEEtMjU2LgogQ1JFQVRFIFJPTEUgcmVncmVz c19wYXNzd2Q2IFBBU1NXT1JEICdTQ1JBTS1TSEEtMjU2JDEyMzQnOwotLS0gVGhlc2UgbWF5 IGxvb2sgbGlrZSB2YWxpZCBNRDUgdmVyaWZpZXJzLCBidXQgdGhleSBhcmUgbm90LCBzbyB0 aGV5CistLSBUaGVzZSBtYXkgbG9vayBsaWtlIHZhbGlkIE1ENSBzZWNyZXRzLCBidXQgdGhl eSBhcmUgbm90LCBzbyB0aGV5CiAtLSBzaG91bGQgYmUgaGFzaGVkIHdpdGggU0NSQU0tU0hB LTI1Ni4KIC0tIHRyYWlsaW5nIGdhcmJhZ2UgYXQgdGhlIGVuZAogQ1JFQVRFIFJPTEUgcmVn cmVzc19wYXNzd2Q3IFBBU1NXT1JEICdtZDUwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3 ODl6eic7CkBAIC04Myw3ICs4Myw3IEBAIENSRUFURSBST0xFIHJlZ3Jlc3NfcGFzc3dkX3No YV9sZW4wIFBBU1NXT1JEICdTQ1JBTS1TSEEtMjU2JDQwOTY6QTZ4SEtvSC80OTRFOTQxCiBD UkVBVEUgUk9MRSByZWdyZXNzX3Bhc3N3ZF9zaGFfbGVuMSBQQVNTV09SRCAnU0NSQU0tU0hB LTI1NiQ0MDk2OkE2eEhLb0gvNDk0RTk0MWRvYVBPWWc9PSRLeStBMzBzZXdISUgzVkhRTFJO OXZZc3V6bGdOeUdOS0NoMzdkeTk2UnF3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE9OkNPUGRsTmlJa3JzYWNV NVFveHlkRXVPSDZlL0tmaWlwZUVUYi9iUHc4Wkk9JzsKIENSRUFURSBST0xFIHJlZ3Jlc3Nf cGFzc3dkX3NoYV9sZW4yIFBBU1NXT1JEICdTQ1JBTS1TSEEtMjU2JDQwOTY6QTZ4SEtvSC80 OTRFOTQxZG9hUE9ZZz09JEt5K0EzMHNld0hJSDNWSFFMUk45dllzdXpsZ055R05LQ2gzN2R5 OTZScXc9OkNPUGRsTmlJa3JzYWNVNVFveHlkRXVPSDZlL0tmaWlwZUVUYi9iUHc4WklBQUFB QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB QUFBQUFBQUFBQT0nOwogCi0tLSBDaGVjayB0aGF0IHRoZSBpbnZhbGlkIHZlcmlmaWVycyB3 ZXJlIHJlLWhhc2hlZC4gQSByZS1oYXNoZWQgdmVyaWZpZXIKKy0tIENoZWNrIHRoYXQgdGhl IGludmFsaWQgc2VjcmV0cyB3ZXJlIHJlLWhhc2hlZC4gQSByZS1oYXNoZWQgc2VjcmV0CiAt LSBzaG91bGQgbm90IGNvbnRhaW4gdGhlIG9yaWdpbmFsIHNhbHQuCiBTRUxFQ1Qgcm9sbmFt ZSwgcm9scGFzc3dvcmQgbm90IGxpa2UgJyVBNnhIS29ILzQ5NEU5NDFkb2FQT1lnPT0lJyBh cyBpc19yb2xwYXNzd29yZF9yZWhhc2hlZAogICAgIEZST00gcGdfYXV0aGlkCi0tIAoyLjIz LjAKCg== --------------D25FDE371E00C961A90ED702--