From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Nikolaos Chatzikonstantinou Newsgroups: gmane.emacs.bugs Subject: bug#50507: New function in Emacs GnuTLS implementation Date: Mon, 3 Oct 2022 09:00:26 -0400 Message-ID: References: <87sflkgy49.fsf@gnus.org> <87edwd15ck.fsf@gnus.org> <87tu4u8kjv.fsf@gnus.org> <878rm69hop.fsf@gmail.com> <87v8p7d4oq.fsf@gmail.com> <87a66id03q.fsf@gmail.com> <875yh6cly4.fsf@gmail.com> <83ill5dtqt.fsf@gnu.org> <837d1ldlv3.fsf@gnu.org> <87a66haq6n.fsf@gmail.com> <8735c5bbhz.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="000000000000180b1005ea20eea9" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="18115"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 50507@debbugs.gnu.org, Eli Zaretskii , larsi@gnus.org To: Robert Pluim Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Oct 03 15:09:46 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ofLCc-0004YO-11 for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 03 Oct 2022 15:09:46 +0200 Original-Received: from localhost ([::1]:36856 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ofLCa-0000tj-6z for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 03 Oct 2022 09:09:44 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:58204) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ofL4A-0006l9-Gm for bug-gnu-emacs@gnu.org; Mon, 03 Oct 2022 09:01:10 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:50245) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ofL4A-0003wb-8g for bug-gnu-emacs@gnu.org; Mon, 03 Oct 2022 09:01:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ofL4A-0005DP-3a for bug-gnu-emacs@gnu.org; Mon, 03 Oct 2022 09:01:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Nikolaos Chatzikonstantinou Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 03 Oct 2022 13:01:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 50507 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: moreinfo Original-Received: via spool by 50507-submit@debbugs.gnu.org id=B50507.166480204720017 (code B ref 50507); Mon, 03 Oct 2022 13:01:02 +0000 Original-Received: (at 50507) by debbugs.gnu.org; 3 Oct 2022 13:00:47 +0000 Original-Received: from localhost ([127.0.0.1]:49323 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ofL3u-0005Cm-9w for submit@debbugs.gnu.org; Mon, 03 Oct 2022 09:00:47 -0400 Original-Received: from mail-yb1-f180.google.com ([209.85.219.180]:37738) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ofL3s-0005CZ-Bt for 50507@debbugs.gnu.org; Mon, 03 Oct 2022 09:00:45 -0400 Original-Received: by mail-yb1-f180.google.com with SMTP id 63so12932216ybq.4 for <50507@debbugs.gnu.org>; Mon, 03 Oct 2022 06:00:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date; bh=CdMQTQMFg67Bwjvwc2fdPNYQGh98ImiPcm7v/OBGzsk=; b=d9mxfYntkLZs/KYdcey8ti+VmDLJsf9sQ/FBJmhsGR77ZW2Vb03dd/yPeiXc+iIoOR P9TjmYmInbmyeBaxYVz7t2g81dif1YA4NVb8nG95kxbC/KmCzF2vs9Gk0UqDfwnBMCSY PvAcY8WuxYC0OzsXGLhDM+9LG+jPc/s5m5d57mym6EjIovnG9MTl+rAtsx9tdPFLXnNl v0lFsODLfpWG8rMJX/Cem4bTAj5BX+z5/U4wSRAYpjtHHzM6ovU0X/SQZRWKtLRK69Jh Et6uw7ZMQhTya2OBsFhozIuD9FoHQ9aJW/g+NNSSBaIGGkDPgHT5zDUyYQ7IPQx+xM2p pD/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date; bh=CdMQTQMFg67Bwjvwc2fdPNYQGh98ImiPcm7v/OBGzsk=; b=XF3+GdZt+FPULa2ESEoL3RTLbXK6dPi82C0WlClWYmCze5XQwS4jG49D5bpHjNua73 rJ4QeU8sJ564EE8vXzIsHhaPieqDfbhMDaifCG06spXDpPy9dnCTvikRK6IIaM8ehuvH KQY81hs8QmyeqyRdIXMhEAI8Klm+YVNDUBKgN4+NMUpK53rA3pI+RrNbrn0qErRZAudy HxKapvodozjYkCCngtB85IN5ZnLSx0jgNUpc4tjIjUW0K2Pzv3kvtTxFC5z/tFM/DpL7 Ej46yhrWC2dMaJciwspuXMBqhsupubN9p8UWzPPx4KFAG6vDgSCDFcyBArSpM9l/KpPY qCiA== X-Gm-Message-State: ACrzQf1bQ2oxj8jHAV6hW8TN67twMGWaX6hhO7Hd3HxbQVydgWbEm52W EGUfQww7xM79KE7KTqnDBuO1Wd9S2lXmg3J9rBg= X-Google-Smtp-Source: AMsMyM57QhVDZ8BrG/q2enRg/NZqkrq1ZJVx2qoj5CKfbgzNjaFHVCd7bESTdkzD0X3v+BJ2Dkn16gUGP7nqNr8CGfk= X-Received: by 2002:a05:6902:92:b0:6b2:bed3:5eec with SMTP id h18-20020a056902009200b006b2bed35eecmr18405786ybs.60.1664802037917; Mon, 03 Oct 2022 06:00:37 -0700 (PDT) In-Reply-To: <8735c5bbhz.fsf@gmail.com> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:244303 Archived-At: --000000000000180b1005ea20eea9 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Oct 3, 2022 at 3:40 AM Robert Pluim wrote: > > >>>>> On Fri, 30 Sep 2022 12:22:16 -0400, Nikolaos Chatzikonstantinou said: > Nikolaos> #if COND > Nikolaos> if (something) > Nikolaos> foo(); > Nikolaos> else > Nikolaos> bar(); > Nikolaos> #else > Nikolaos> bar(); > Nikolaos> #endif > > Nikolaos> To be rewritten as > > Nikolaos> #if COND > Nikolaos> if (something) > Nikolaos> foo(); > Nikolaos> else > Nikolaos> #endif > Nikolaos> bar(); > > Nikolaos> Because in this case, I don't trust that kind of code to su= rvive the > Nikolaos> test of time. Someone may come along and break it by modify= ing the > Nikolaos> bar() line, and it might be a sneaky bug. It's not easy to = tell. > > In the first version there=CA=BCs the risk that one of the calls to 'bar' > will be changed and the other missed. > > In the second version there=CA=BCs only one 'bar' to change. If someone > changes the 'bar' code so it doesn=CA=BCt compile under COND, that=CA=BCs > immediately obvious. Okay then, I have the fixed patch here. --000000000000180b1005ea20eea9 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-add-pass-and-flags-to-gnutls-boot-for-keylist.patch" Content-Disposition: attachment; filename="0001-add-pass-and-flags-to-gnutls-boot-for-keylist.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l8ss52fp0 RnJvbSBlODY4ODYxNDI1NjE1YWNlOWJjNWVmYThjZjBhNTFjZmEyMTMwZDIxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOaWtvbGFvcyBDaGF0emlrb25zdGFudGlub3UgPG5jaGF0ejMx NEBnbWFpbC5jb20+CkRhdGU6IE1vbiwgMjYgU2VwIDIwMjIgMTE6MDg6MTggLTA0MDAKU3ViamVj dDogW1BBVENIXSBhZGQgOnBhc3MgYW5kIDpmbGFncyB0byBnbnV0bHMtYm9vdCBmb3IgOmtleWxp c3QKCiogbGlzcC9uZXQvZ251dGxzLmVsIChnbnV0bHMtYm9vdC1wYXJhbWV0ZXJzKTogQWRkIHRo ZSBrZXlzIDpwYXNzIGFuZAo6ZmxhZ3MsIGFuZCB1cGRhdGUgdGhlIGRvY3VtZW50YXRpb24uCiog c3JjL2dudXRscy5jIChnbnV0bHMtYm9vdCk6IEFkZCB0aGUga2V5cyA6cGFzcyBhbmQgOmZsYWdz LCBhbmQKdXBkYXRlIHRoZSBkb2N1bWVudGF0aW9uLgooc3ltc19vZl9nbnV0bHMpOiBBZGQgdGhl IHN5bWJvbHMgOnBhc3MsIDpmbGFncywgYW5kIHRoZSBzeW1ib2xzIHRoYXQKY29ycmVzcG9uZCB0 byB0aGUgZW51bWVyYXRpb24gY29uc3RhbnRzIG9mIHRoZSBHbnVUTFMgZW51bQpgZ251dGxzX3Br Y3NfZW5jcnlwdF9mbGFnc190YC4KKGtleV9maWxlMl9hdXgpOiBQcml2YXRlIGhlbHBlciBmdW5j dGlvbiB0aGF0IHRyYW5zbGF0ZXMgYSBsaXN0IG9mCnN5bWJvbHMgdG8gaXRzIGNvcnJlc3BvbmRp bmcgYHVuc2lnbmVkIGludGAgdmFsdWUgb2YgdGhlIEdudVRMUyBDIGVudW0KYGdudXRsc19wa2Nz X2VuY3J5cHRfZmxhZ3NfdGAuCi0tLQogbGlzcC9uZXQvZ251dGxzLmVsIHwgIDEwICsrKysKIHNy Yy9nbnV0bHMuYyAgICAgICB8IDEyMCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMTMwIGluc2VydGlvbnMoKykKCmRpZmYgLS1n aXQgYS9saXNwL25ldC9nbnV0bHMuZWwgYi9saXNwL25ldC9nbnV0bHMuZWwKaW5kZXggNmUzODQ1 YWVjMS4uZWVmNjU1OWE5NSAxMDA2NDQKLS0tIGEvbGlzcC9uZXQvZ251dGxzLmVsCisrKyBiL2xp c3AvbmV0L2dudXRscy5lbApAQCAtMjY1LDYgKzI2NSw3IEBAIGdudXRscy1ib290LXBhcmFtZXRl cnMKICAgICAgICAgICAgJmtleSB0eXBlIGhvc3RuYW1lIHByaW9yaXR5LXN0cmluZwogICAgICAg ICAgICB0cnVzdGZpbGVzIGNybGZpbGVzIGtleWxpc3QgbWluLXByaW1lLWJpdHMKICAgICAgICAg ICAgdmVyaWZ5LWZsYWdzIHZlcmlmeS1lcnJvciB2ZXJpZnktaG9zdG5hbWUtZXJyb3IKKyAgICAg ICAgICAgcGFzcyBmbGFncwogICAgICAgICAgICAmYWxsb3ctb3RoZXIta2V5cykKICAgIlJldHVy biBhIGtleXdvcmQgbGlzdCBvZiBwYXJhbWV0ZXJzIHN1aXRhYmxlIGZvciBwYXNzaW5nIHRvIGBn bnV0bHMtYm9vdCcuCiAKQEAgLTI4MSw2ICsyODIsMTMgQEAgZ251dGxzLWJvb3QtcGFyYW1ldGVy cwogVkVSSUZZLUhPU1ROQU1FLUVSUk9SIGlzIGEgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgb3B0 aW9uIGZvcgogcHV0dGluZyBgOmhvc3RuYW1lJyBpbiBWRVJJRlktRVJST1IuCiAKK1BBU1MgaXMg YSBzdHJpbmcsIHRoZSBwYXNzd29yZCBvZiB0aGUga2V5LiAgSXQgbWF5IGFsc28gYmUgbmlsLAor Zm9yIGEgTlVMTCBwYXNzd29yZC4KKworRkxBR1MgaXMgYSBsaXN0IG9mIHN5bWJvbHMgY29ycmVz cG9uZGluZyB0byB0aGUgZXF1aXZhbGVudCBPUmVkCitiaXRmbGFnIG9mIHRoZSBnbnV0bHNfcGtj c19lbmNyeXB0X2ZsYWdzX3QgZW51bSBvZiBHbnVUTFMuICBUaGUKK2VtcHR5IGxpc3QgY29ycmVz cG9uZHMgdG8gdGhlIGJpdGZsYWcgd2l0aCB2YWx1ZSAwLgorCiBXaGVuIFZFUklGWS1FUlJPUiBp cyB0IG9yIGEgbGlzdCBjb250YWluaW5nIGA6dHJ1c3RmaWxlcycsIGFuCiBlcnJvciB3aWxsIGJl IHJhaXNlZCB3aGVuIHRoZSBwZWVyIGNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiBmYWlscwogYXMg cGVyIEdudVRMUycgZ251dGxzX2NlcnRpZmljYXRlX3ZlcmlmeV9wZWVyczIuICBPdGhlcndpc2Us IG9ubHkKQEAgLTM1OCw2ICszNjYsOCBAQCBnbnV0bHMtYm9vdC1wYXJhbWV0ZXJzCiAgICAgICAg ICAgICAgICAgOmtleWxpc3QgLGtleWxpc3QKICAgICAgICAgICAgICAgICA6dmVyaWZ5LWZsYWdz ICx2ZXJpZnktZmxhZ3MKICAgICAgICAgICAgICAgICA6dmVyaWZ5LWVycm9yICx2ZXJpZnktZXJy b3IKKyAgICAgICAgICAgICAgICA6cGFzcyAscGFzcworICAgICAgICAgICAgICAgIDpmbGFncyAs ZmxhZ3MKICAgICAgICAgICAgICAgICA6Y2FsbGJhY2tzIG5pbCkpKQogCiAoZGVmdW4gZ251dGxz LS1nZXQtZmlsZXMgKGZpbGVzKQpkaWZmIC0tZ2l0IGEvc3JjL2dudXRscy5jIGIvc3JjL2dudXRs cy5jCmluZGV4IGEwZGUwMjM4YzQuLjE1MjJkYWMxYjggMTAwNjQ0Ci0tLSBhL3NyYy9nbnV0bHMu YworKysgYi9zcmMvZ251dGxzLmMKQEAgLTM0LDYgKzM0LDcgQEAKICMgZW5kaWYKIAogIyBpZiBH TlVUTFNfVkVSU0lPTl9OVU1CRVIgPj0gMHgwMzAyMDAKKyMgIGRlZmluZSBIQVZFX0dOVVRMU19D RVJUSUZJQ0FURV9TRVRfWDUwOV9LRVlfRklMRTIKICMgIGRlZmluZSBIQVZFX0dOVVRMU19DSVBI RVJfR0VUX0lWX1NJWkUKICMgZW5kaWYKIApAQCAtMTIxLDYgKzEyMiwxMSBAQCBERUZfRExMX0ZO IChpbnQsIGdudXRsc19jZXJ0aWZpY2F0ZV9zZXRfeDUwOV9jcmxfZmlsZSwKIERFRl9ETExfRk4g KGludCwgZ251dGxzX2NlcnRpZmljYXRlX3NldF94NTA5X2tleV9maWxlLAogCSAgICAoZ251dGxz X2NlcnRpZmljYXRlX2NyZWRlbnRpYWxzX3QsIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLAog CSAgICAgZ251dGxzX3g1MDlfY3J0X2ZtdF90KSk7CisjICBpZmRlZiBIQVZFX0dOVVRMU19DRVJU SUZJQ0FURV9TRVRfWDUwOV9LRVlfRklMRTIKK0RFRl9ETExfRk4gKGludCwgZ251dGxzX2NlcnRp ZmljYXRlX3NldF94NTA5X2tleV9maWxlMiwKKwkgICAgKGdudXRsc19jZXJ0aWZpY2F0ZV9jcmVk ZW50aWFsc190LCBjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwKKwkgICAgIGdudXRsc194NTA5 X2NydF9mbXRfdCwgY29uc3QgY2hhciAqLCB1bnNpZ25lZCBpbnQpKTsKKyMgIGVuZGlmCiAjICBp ZmRlZiBIQVZFX0dOVVRMU19YNTA5X1NZU1RFTV9UUlVTVAogREVGX0RMTF9GTiAoaW50LCBnbnV0 bHNfY2VydGlmaWNhdGVfc2V0X3g1MDlfc3lzdGVtX3RydXN0LAogCSAgICAoZ251dGxzX2NlcnRp ZmljYXRlX2NyZWRlbnRpYWxzX3QpKTsKQEAgLTMxNCw2ICszMjAsOSBAQCBpbml0X2dudXRsc19m dW5jdGlvbnMgKHZvaWQpCiAgIExPQURfRExMX0ZOIChsaWJyYXJ5LCBnbnV0bHNfY2VydGlmaWNh dGVfc2V0X3ZlcmlmeV9mbGFncyk7CiAgIExPQURfRExMX0ZOIChsaWJyYXJ5LCBnbnV0bHNfY2Vy dGlmaWNhdGVfc2V0X3g1MDlfY3JsX2ZpbGUpOwogICBMT0FEX0RMTF9GTiAobGlicmFyeSwgZ251 dGxzX2NlcnRpZmljYXRlX3NldF94NTA5X2tleV9maWxlKTsKKyMgIGlmZGVmIEhBVkVfR05VVExT X0NFUlRJRklDQVRFX1NFVF9YNTA5X0tFWV9GSUxFMgorICBMT0FEX0RMTF9GTiAobGlicmFyeSwg Z251dGxzX2NlcnRpZmljYXRlX3NldF94NTA5X2tleV9maWxlMik7CisjICBlbmRpZgogIyAgaWZk ZWYgSEFWRV9HTlVUTFNfWDUwOV9TWVNURU1fVFJVU1QKICAgTE9BRF9ETExfRk4gKGxpYnJhcnks IGdudXRsc19jZXJ0aWZpY2F0ZV9zZXRfeDUwOV9zeXN0ZW1fdHJ1c3QpOwogIyAgZW5kaWYKQEAg LTQ1NSw2ICs0NjQsOSBAQCBpbml0X2dudXRsc19mdW5jdGlvbnMgKHZvaWQpCiAjICBkZWZpbmUg Z251dGxzX2NlcnRpZmljYXRlX3NldF92ZXJpZnlfZmxhZ3MgZm5fZ251dGxzX2NlcnRpZmljYXRl X3NldF92ZXJpZnlfZmxhZ3MKICMgIGRlZmluZSBnbnV0bHNfY2VydGlmaWNhdGVfc2V0X3g1MDlf Y3JsX2ZpbGUgZm5fZ251dGxzX2NlcnRpZmljYXRlX3NldF94NTA5X2NybF9maWxlCiAjICBkZWZp bmUgZ251dGxzX2NlcnRpZmljYXRlX3NldF94NTA5X2tleV9maWxlIGZuX2dudXRsc19jZXJ0aWZp Y2F0ZV9zZXRfeDUwOV9rZXlfZmlsZQorIyAgaWZkZWYgSEFWRV9HTlVUTFNfQ0VSVElGSUNBVEVf U0VUX1g1MDlfS0VZX0ZJTEUyCisjICAgZGVmaW5lIGdudXRsc19jZXJ0aWZpY2F0ZV9zZXRfeDUw OV9rZXlfZmlsZTIgZm5fZ251dGxzX2NlcnRpZmljYXRlX3NldF94NTA5X2tleV9maWxlMgorIyAg ZW5kaWYKICMgIGRlZmluZSBnbnV0bHNfY2VydGlmaWNhdGVfc2V0X3g1MDlfc3lzdGVtX3RydXN0 IGZuX2dudXRsc19jZXJ0aWZpY2F0ZV9zZXRfeDUwOV9zeXN0ZW1fdHJ1c3QKICMgIGRlZmluZSBn bnV0bHNfY2VydGlmaWNhdGVfc2V0X3g1MDlfdHJ1c3RfZmlsZSBmbl9nbnV0bHNfY2VydGlmaWNh dGVfc2V0X3g1MDlfdHJ1c3RfZmlsZQogIyAgZGVmaW5lIGdudXRsc19jZXJ0aWZpY2F0ZV90eXBl X2dldCBmbl9nbnV0bHNfY2VydGlmaWNhdGVfdHlwZV9nZXQKQEAgLTE3NzQsNiArMTc4Niw2MSBA QCBnbnV0bHNfdmVyaWZ5X2Jvb3QgKExpc3BfT2JqZWN0IHByb2MsIExpc3BfT2JqZWN0IHByb3Bs aXN0KQogICByZXR1cm4gZ251dGxzX21ha2VfZXJyb3IgKHJldCk7CiB9CiAKKyNpZmRlZiBIQVZF X0dOVVRMU19DRVJUSUZJQ0FURV9TRVRfWDUwOV9LRVlfRklMRTIKKworLyogSGVscGVyIGZ1bmN0 aW9uIGZvciBnbnV0bHMtYm9vdC4KKworICAgVGhlIGtleSA6ZmxhZ3MgcmVjZWl2ZXMgYSBsaXN0 IG9mIHN5bWJvbHMsIGVhY2ggb2Ygd2hpY2gKKyAgIGNvcnJlc3BvbmRzIHRvIGEgR251VExTIEMg ZmxhZywgdGhlIE9SZWQgcmVzdWx0IGlzIHRvIGJlIHBhc3NlZCB0bworICAgdGhlIGZ1bmN0aW9u IGdudXRsc19jZXJ0aWZpY2F0ZV9zZXRfeDUwOV9rZXlfZmlsZTIoKSBhcyBpdHMgbGFzdAorICAg YXJndW1lbnQuCisqLworc3RhdGljIHVuc2lnbmVkIGludAora2V5X2ZpbGUyX2F1eCAoTGlzcF9P YmplY3QgZmxhZ3MpCit7CisgIHVuc2lnbmVkIGludCBydiA9IDA7CisgIExpc3BfT2JqZWN0IHRh aWwgPSBmbGFnczsKKyAgRk9SX0VBQ0hfVEFJTF9TQUZFICh0YWlsKQorICAgIHsKKyAgICAgIExp c3BfT2JqZWN0IGZsYWcgPSBYQ0FSICh0YWlsKTsKKyAgICAgIGlmIChFUSAoZmxhZywgUWdudXRs c19wa2NzX3BsYWluKSkKKwlydiB8PSBHTlVUTFNfUEtDU19QTEFJTjsKKyAgICAgIGVsc2UgaWYg KEVRIChmbGFnLCBRZ251dGxzX3BrY3NfcGtjczEyXzNkZXMpKQorCXJ2IHw9IEdOVVRMU19QS0NT X1BLQ1MxMl8zREVTOworICAgICAgZWxzZSBpZiAoRVEgKGZsYWcsIFFnbnV0bHNfcGtjc19wa2Nz MTJfYXJjZm91cikpCisJcnYgfD0gR05VVExTX1BLQ1NfUEtDUzEyX0FSQ0ZPVVI7CisgICAgICBl bHNlIGlmIChFUSAoZmxhZywgUWdudXRsc19wa2NzX3BrY3MxMl9yYzJfNDApKQorCXJ2IHw9IEdO VVRMU19QS0NTX1BLQ1MxMl9SQzJfNDA7CisgICAgICBlbHNlIGlmIChFUSAoZmxhZywgUWdudXRs c19wa2NzX3BiZXMyXzNkZXMpKQorCXJ2IHw9IEdOVVRMU19QS0NTX1BCRVMyXzNERVM7CisgICAg ICBlbHNlIGlmIChFUSAoZmxhZywgUWdudXRsc19wa2NzX3BiZXMyX2Flc18xMjgpKQorCXJ2IHw9 IEdOVVRMU19QS0NTX1BCRVMyX0FFU18xMjg7CisgICAgICBlbHNlIGlmIChFUSAoZmxhZywgUWdu dXRsc19wa2NzX3BiZXMyX2Flc18xOTIpKQorCXJ2IHw9IEdOVVRMU19QS0NTX1BCRVMyX0FFU18x OTI7CisgICAgICBlbHNlIGlmIChFUSAoZmxhZywgUWdudXRsc19wa2NzX3BiZXMyX2Flc18yNTYp KQorCXJ2IHw9IEdOVVRMU19QS0NTX1BCRVMyX0FFU18yNTY7CisgICAgICBlbHNlIGlmIChFUSAo ZmxhZywgUWdudXRsc19wa2NzX251bGxfcGFzc3dvcmQpKQorCXJ2IHw9IEdOVVRMU19QS0NTX05V TExfUEFTU1dPUkQ7CisgICAgICBlbHNlIGlmIChFUSAoZmxhZywgUWdudXRsc19wa2NzX3BiZXMy X2RlcykpCisJcnYgfD0gR05VVExTX1BLQ1NfUEJFUzJfREVTOworICAgICAgZWxzZSBpZiAoRVEg KGZsYWcsIFFnbnV0bHNfcGtjc19wYmVzMV9kZXNfbWQ1KSkKKwlydiB8PSBHTlVUTFNfUEtDU19Q QkVTMV9ERVNfTUQ1OworICAgICAgZWxzZSBpZiAoRVEgKGZsYWcsIFFnbnV0bHNfcGtjc19wYmVz Ml9nb3N0X3RjMjZ6KSkKKwlydiB8PSBHTlVUTFNfUEtDU19QQkVTMl9HT1NUX1RDMjZaOworICAg ICAgZWxzZSBpZiAoRVEgKGZsYWcsIFFnbnV0bHNfcGtjc19wYmVzMl9nb3N0X2NwYSkpCisJcnYg fD0gR05VVExTX1BLQ1NfUEJFUzJfR09TVF9DUEE7CisgICAgICBlbHNlIGlmIChFUSAoZmxhZywg UWdudXRsc19wa2NzX3BiZXMyX2dvc3RfY3BiKSkKKwlydiB8PSBHTlVUTFNfUEtDU19QQkVTMl9H T1NUX0NQQjsKKyAgICAgIGVsc2UgaWYgKEVRIChmbGFnLCBRZ251dGxzX3BrY3NfcGJlczJfZ29z dF9jcGMpKQorCXJ2IHw9IEdOVVRMU19QS0NTX1BCRVMyX0dPU1RfQ1BDOworICAgICAgZWxzZSBp ZiAoRVEgKGZsYWcsIFFnbnV0bHNfcGtjc19wYmVzMl9nb3N0X2NwZCkpCisJcnYgfD0gR05VVExT X1BLQ1NfUEJFUzJfR09TVF9DUEQ7CisgICAgfQorICByZXR1cm4gcnY7Cit9CisKKyNlbmRpZiAv KiBIQVZFX0dOVVRMU19DRVJUSUZJQ0FURV9TRVRfWDUwOV9LRVlfRklMRTIgKi8KKwogREVGVU4g KCJnbnV0bHMtYm9vdCIsIEZnbnV0bHNfYm9vdCwgU2dudXRsc19ib290LCAzLCAzLCAwLAogICAg ICAgIGRvYzogLyogSW5pdGlhbGl6ZSBHbnVUTFMgY2xpZW50IGZvciBwcm9jZXNzIFBST0Mgd2l0 aCBUWVBFK1BST1BMSVNULgogQ3VycmVudGx5IG9ubHkgY2xpZW50IG1vZGUgaXMgc3VwcG9ydGVk LiAgUmV0dXJuIGEgc3VjY2Vzcy9mYWlsdXJlCkBAIC0xODEzLDYgKzE4ODAsMjEgQEAgREVGVU4g KCJnbnV0bHMtYm9vdCIsIEZnbnV0bHNfYm9vdCwgU2dudXRsc19ib290LCAzLCAzLCAwLAogOmNv bXBsZXRlLW5lZ290aWF0aW9uLCBpZiBub24tbmlsLCB3aWxsIG1ha2UgbmVnb3RpYXRpb24gY29t cGxldGUKIGJlZm9yZSByZXR1cm5pbmcgZXZlbiBvbiBub24tYmxvY2tpbmcgc29ja2V0cy4KIAor OnBhc3MsIHRoZSBwYXNzd29yZCBvZiB0aGUgcHJpdmF0ZSBrZXkgYXMgcGVyIEdudVRMUycKK2du dXRsc19jZXJ0aWZpY2F0ZV9zZXRfeDUwOV9rZXlfZmlsZTIuICBTcGVjaWZ5IGFzIG5pbCB0byBo YXZlIGEgTlVMTAorcGFzc3dvcmQuCisKKzpmbGFncywgYSBsaXN0IG9mIHN5bWJvbHMgcmVsYXRp bmcgdG8gOnBhc3MsIGVhY2ggc3BlY2lmeWluZyBhIGZsYWc6CitHTlVUTFNfUEtDU19QTEFJTiwg R05VVExTX1BLQ1NfUEtDUzEyXzNERVMsCitHTlVUTFNfUEtDU19QS0NTMTJfQVJDRk9VUiwgR05V VExTX1BLQ1NfUEtDUzEyX1JDMl80MCwKK0dOVVRMU19QS0NTX1BCRVMyXzNERVMsIEdOVVRMU19Q S0NTX1BCRVMyX0FFU18xMjgsCitHTlVUTFNfUEtDU19QQkVTMl9BRVNfMTkyLCBHTlVUTFNfUEtD U19QQkVTMl9BRVNfMjU2LAorR05VVExTX1BLQ1NfTlVMTF9QQVNTV09SRCwgR05VVExTX1BLQ1Nf UEJFUzJfREVTLAorR05VVExTX1BLQ1NfUEJFUzJfREVTX01ENSwgR05VVExTX1BLQ1NfUEJFUzJf R09TVF9UQzI2WiwKK0dOVVRMU19QS0NTX1BCRVMyX0dPU1RfQ1BBLCBHTlVUTFNfUEtDU19QQkVT Ml9HT1NUX0NQQiwKK0dOVVRMU19QS0NTX1BCRVMyX0dPU1RfQ1BDLCBHTlVUTFNfUEtDU19QQkVT Ml9HT1NUX0NQRC4gIElmIG5vdAorc3BlY2lmaWVkLCBvciBpZiBuaWwsIHRoZSBiaXRmbGFnIHdp dGggdmFsdWUgMCBpcyB1c2VkLgorCiBUaGUgZGVidWcgbGV2ZWwgd2lsbCBiZSBzZXQgZm9yIHRo aXMgcHJvY2VzcyBBTkQgZ2xvYmFsbHkgZm9yIEdudVRMUy4KIFNvIGlmIHlvdSBzZXQgaXQgaGln aGVyIG9yIGxvd2VyIGF0IGFueSBwb2ludCwgaXQgYWZmZWN0cyBnbG9iYWwKIGRlYnVnZ2luZy4K QEAgLTE4MjUsNiArMTkwNyw5IEBAIERFRlVOICgiZ251dGxzLWJvb3QiLCBGZ251dGxzX2Jvb3Qs IFNnbnV0bHNfYm9vdCwgMywgMywgMCwKIGZ1bmN0aW9ucyBhcmUgdXNlZC4gIFRoaXMgZnVuY3Rp b24gYWxsb2NhdGVzIHJlc291cmNlcyB3aGljaCBjYW4gb25seQogYmUgZGVhbGxvY2F0ZWQgYnkg Y2FsbGluZyBgZ251dGxzLWRlaW5pdCcgb3IgYnkgY2FsbGluZyBpdCBhZ2Fpbi4KIAorVGhlIDpw YXNzIGFuZCA6ZmxhZ3Mga2V5cyBhcmUgaWdub3JlZCB3aXRoIG9sZCB2ZXJzaW9ucyBvZiBHbnVU TFMsIGFuZAorOmZsYWdzIGlzIGlnbm9yZWQgaWYgOnBhc3MgaXMgbm90IHNwZWNpZmllZC4KKwog VGhlIGNhbGxiYWNrcyBhbGlzdCBjYW4gaGF2ZSBhIGB2ZXJpZnknIGtleSwgYXNzb2NpYXRlZCB3 aXRoIGEKIHZlcmlmaWNhdGlvbiBmdW5jdGlvbiAoVU5VU0VEKS4KIApAQCAtMTg0MiwxMiArMTky NywxNSBAQCBERUZVTiAoImdudXRscy1ib290IiwgRmdudXRsc19ib290LCBTZ251dGxzX2Jvb3Qs IDMsIDMsIDAsCiAgIExpc3BfT2JqZWN0IGdsb2JhbF9pbml0OwogICBjaGFyIGNvbnN0ICpwcmlv cml0eV9zdHJpbmdfcHRyID0gIk5PUk1BTCI7IC8qIGRlZmF1bHQgcHJpb3JpdHkgc3RyaW5nLiAg Ki8KICAgY2hhciAqY19ob3N0bmFtZTsKKyAgY29uc3QgY2hhciAqY19wYXNzOwogCiAgIC8qIFBs YWNlaG9sZGVycyBmb3IgdGhlIHByb3BlcnR5IGxpc3QgZWxlbWVudHMuICAqLwogICBMaXNwX09i amVjdCBwcmlvcml0eV9zdHJpbmc7CiAgIExpc3BfT2JqZWN0IHRydXN0ZmlsZXM7CiAgIExpc3Bf T2JqZWN0IGNybGZpbGVzOwogICBMaXNwX09iamVjdCBrZXlsaXN0OworICBMaXNwX09iamVjdCBw YXNzOworICBMaXNwX09iamVjdCBmbGFnczsKICAgLyogTGlzcF9PYmplY3QgY2FsbGJhY2tzOyAq LwogICBMaXNwX09iamVjdCBsb2dsZXZlbDsKICAgTGlzcF9PYmplY3QgaG9zdG5hbWU7CkBAIC0x ODc3LDYgKzE5NjUsMTMgQEAgREVGVU4gKCJnbnV0bHMtYm9vdCIsIEZnbnV0bHNfYm9vdCwgU2du dXRsc19ib290LCAzLCAzLCAwLAogICBjcmxmaWxlcyAgICAgICAgICAgICAgPSBwbGlzdF9nZXQg KHByb3BsaXN0LCBRQ2NybGZpbGVzKTsKICAgbG9nbGV2ZWwgICAgICAgICAgICAgID0gcGxpc3Rf Z2V0IChwcm9wbGlzdCwgUUNsb2dsZXZlbCk7CiAgIHByaW1lX2JpdHMgICAgICAgICAgICA9IHBs aXN0X2dldCAocHJvcGxpc3QsIFFDbWluX3ByaW1lX2JpdHMpOworICBwYXNzICAgICAgICAgICAg ICAgICAgPSBwbGlzdF9nZXQgKHByb3BsaXN0LCBRQ3Bhc3MpOworICBmbGFncyAgICAgICAgICAg ICAgICAgPSBwbGlzdF9nZXQgKHByb3BsaXN0LCBRQ2ZsYWdzKTsKKworICBpZiAoU1RSSU5HUCAo cGFzcykpCisgICAgY19wYXNzID0gU1NEQVRBIChwYXNzKTsKKyAgZWxzZQorICAgIGNfcGFzcyA9 IE5VTEw7CiAKICAgaWYgKCFTVFJJTkdQIChob3N0bmFtZSkpCiAgICAgewpAQCAtMjAzNyw2ICsy MTMyLDEzIEBAIERFRlVOICgiZ251dGxzLWJvb3QiLCBGZ251dGxzX2Jvb3QsIFNnbnV0bHNfYm9v dCwgMywgMywgMCwKICMgaWZkZWYgV0lORE9XU05UCiAJICAgICAga2V5ZmlsZSA9IGFuc2lfZW5j b2RlX2ZpbGVuYW1lIChrZXlmaWxlKTsKIAkgICAgICBjZXJ0ZmlsZSA9IGFuc2lfZW5jb2RlX2Zp bGVuYW1lIChjZXJ0ZmlsZSk7CisjIGVuZGlmCisjIGlmZGVmIEhBVkVfR05VVExTX0NFUlRJRklD QVRFX1NFVF9YNTA5X0tFWV9GSUxFMgorCSAgICAgIGlmIChwbGlzdF9tZW1iZXIgKHByb3BsaXN0 LCBRQ3Bhc3MpKQorCQlyZXQgPSBnbnV0bHNfY2VydGlmaWNhdGVfc2V0X3g1MDlfa2V5X2ZpbGUy CisJCSAgKHg1MDlfY3JlZCwgU1NEQVRBIChjZXJ0ZmlsZSksIFNTREFUQSAoa2V5ZmlsZSksIGZp bGVfZm9ybWF0LAorCQkgICBjX3Bhc3MsIGtleV9maWxlMl9hdXggKGZsYWdzKSk7CisJICAgICAg ZWxzZQogIyBlbmRpZgogCSAgICAgIHJldCA9IGdudXRsc19jZXJ0aWZpY2F0ZV9zZXRfeDUwOV9r ZXlfZmlsZQogCQkoeDUwOV9jcmVkLCBTU0RBVEEgKGNlcnRmaWxlKSwgU1NEQVRBIChrZXlmaWxl KSwgZmlsZV9mb3JtYXQpOwpAQCAtMjg2MCw4ICsyOTYyLDI2IEBAIHN5bXNfb2ZfZ251dGxzICh2 b2lkKQogICBERUZTWU0gKFFDbWluX3ByaW1lX2JpdHMsICI6bWluLXByaW1lLWJpdHMiKTsKICAg REVGU1lNIChRQ2xvZ2xldmVsLCAiOmxvZ2xldmVsIik7CiAgIERFRlNZTSAoUUNjb21wbGV0ZV9u ZWdvdGlhdGlvbiwgIjpjb21wbGV0ZS1uZWdvdGlhdGlvbiIpOworICBERUZTWU0gKFFDcGFzcywg IjpwYXNzIik7CisgIERFRlNZTSAoUUNmbGFncywgIjpmbGFncyIpOwogICBERUZTWU0gKFFDdmVy aWZ5X2ZsYWdzLCAiOnZlcmlmeS1mbGFncyIpOwogICBERUZTWU0gKFFDdmVyaWZ5X2Vycm9yLCAi OnZlcmlmeS1lcnJvciIpOworICBERUZTWU0gKFFnbnV0bHNfcGtjc19wbGFpbiwgIkdOVVRMU19Q S0NTX1BMQUlOIik7CisgIERFRlNZTSAoUWdudXRsc19wa2NzX3BrY3MxMl8zZGVzLCAiR05VVExT X1BLQ1NfUEtDUzEyXzNERVMiKTsKKyAgREVGU1lNIChRZ251dGxzX3BrY3NfcGtjczEyX2FyY2Zv dXIsICJHTlVUTFNfUEtDU19QS0NTMTJfQVJDRk9VUiIpOworICBERUZTWU0gKFFnbnV0bHNfcGtj c19wa2NzMTJfcmMyXzQwLCAiR05VVExTX1BLQ1NfUEtDUzEyX1JDMl80MCIpOworICBERUZTWU0g KFFnbnV0bHNfcGtjc19wYmVzMl8zZGVzLCAiR05VVExTX1BLQ1NfUEJFUzJfM0RFUyIpOworICBE RUZTWU0gKFFnbnV0bHNfcGtjc19wYmVzMl9hZXNfMTI4LCAiR05VVExTX1BLQ1NfUEJFUzJfQUVT XzEyOCIpOworICBERUZTWU0gKFFnbnV0bHNfcGtjc19wYmVzMl9hZXNfMTkyLCAiR05VVExTX1BL Q1NfUEJFUzJfQUVTXzE5MiIpOworICBERUZTWU0gKFFnbnV0bHNfcGtjc19wYmVzMl9hZXNfMjU2 LCAiR05VVExTX1BLQ1NfUEJFUzJfQUVTXzI1NiIpOworICBERUZTWU0gKFFnbnV0bHNfcGtjc19u dWxsX3Bhc3N3b3JkLCAiR05VVExTX1BLQ1NfTlVMTF9QQVNTV09SRCIpOworICBERUZTWU0gKFFn bnV0bHNfcGtjc19wYmVzMl9kZXMsICJHTlVUTFNfUEtDU19QQkVTMl9ERVMiKTsKKyAgREVGU1lN IChRZ251dGxzX3BrY3NfcGJlczFfZGVzX21kNSwgIkdOVVRMU19QS0NTX1BCRVMxX0RFU19NRDUi KTsKKyAgREVGU1lNIChRZ251dGxzX3BrY3NfcGJlczJfZ29zdF90YzI2eiwgIkdOVVRMU19QS0NT X1BCRVMyX0dPU1RfVEMyNloiKTsKKyAgREVGU1lNIChRZ251dGxzX3BrY3NfcGJlczJfZ29zdF9j cGEsICJHTlVUTFNfUEtDU19QQkVTMl9HT1NUX0NQQSIpOworICBERUZTWU0gKFFnbnV0bHNfcGtj c19wYmVzMl9nb3N0X2NwYiwgIkdOVVRMU19QS0NTX1BCRVMyX0dPU1RfQ1BCIik7CisgIERFRlNZ TSAoUWdudXRsc19wa2NzX3BiZXMyX2dvc3RfY3BjLCAiR05VVExTX1BLQ1NfUEJFUzJfR09TVF9D UEMiKTsKKyAgREVGU1lNIChRZ251dGxzX3BrY3NfcGJlczJfZ29zdF9jcGQsICJHTlVUTFNfUEtD U19QQkVTMl9HT1NUX0NQRCIpOwogCiAgIERFRlNZTSAoUUNjaXBoZXJfaWQsICI6Y2lwaGVyLWlk Iik7CiAgIERFRlNZTSAoUUNjaXBoZXJfYWVhZF9jYXBhYmxlLCAiOmNpcGhlci1hZWFkLWNhcGFi bGUiKTsKLS0gCjIuMzcuMwoK --000000000000180b1005ea20eea9--