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: Fri, 30 Sep 2022 09:49:30 -0400 Message-ID: References: <83ee9wiozc.fsf@gnu.org> <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> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="00000000000002483605e9e544e3" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="13414"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 50507@debbugs.gnu.org, rpluim@gmail.com, larsi@gnus.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Sep 30 15:55:58 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 1oeGUg-0003LE-3l for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 30 Sep 2022 15:55:58 +0200 Original-Received: from localhost ([::1]:59342 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oeGUf-0008Qe-6C for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 30 Sep 2022 09:55:57 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:53306) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oeGOw-0002js-7H for bug-gnu-emacs@gnu.org; Fri, 30 Sep 2022 09:50:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:41814) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oeGOv-0000bC-Qd for bug-gnu-emacs@gnu.org; Fri, 30 Sep 2022 09:50:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oeGOv-0003Yl-M7 for bug-gnu-emacs@gnu.org; Fri, 30 Sep 2022 09:50:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Nikolaos Chatzikonstantinou Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 30 Sep 2022 13:50:01 +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.166454578913659 (code B ref 50507); Fri, 30 Sep 2022 13:50:01 +0000 Original-Received: (at 50507) by debbugs.gnu.org; 30 Sep 2022 13:49:49 +0000 Original-Received: from localhost ([127.0.0.1]:40892 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oeGOi-0003YF-Or for submit@debbugs.gnu.org; Fri, 30 Sep 2022 09:49:49 -0400 Original-Received: from mail-yw1-f177.google.com ([209.85.128.177]:42770) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oeGOg-0003Y1-UK for 50507@debbugs.gnu.org; Fri, 30 Sep 2022 09:49:47 -0400 Original-Received: by mail-yw1-f177.google.com with SMTP id 00721157ae682-3567dbf9ec3so14056507b3.9 for <50507@debbugs.gnu.org>; Fri, 30 Sep 2022 06:49:46 -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=FwAlwopwfrRt2DyNDaUJCHvr/+++iIquifrfMJfAI8E=; b=lbx68C3E9PyRp8NLop5z55B/BDhq9TEvtT1P/G8JhxWtzxHyptuSDryjWdR7sDdoua JqdMp3kNS/whozarag0FUpRARvgWzb783oC/Ji0kio4/m8dByldBvki3mxsLbkYAwgk+ a7Jg4bYUKcLhR8SfN2CDHfR3NWkljOkHaEH/0eNX/8hFdWfrWZ0PkTUDj0Az3EnpGft0 nVgZmR+VkpdbB8Ad3a2xYbw7RLr8E8veMeTOOflMhvuUY1S/YWzNEGRljlfk0PDW1n0w USVbko5x1ha1yRLcHJuFB3FvkK51CsB6X35Bp2RT3HMWrT5LMts5k/mGbgwSbzJCFuYf 5UOg== 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=FwAlwopwfrRt2DyNDaUJCHvr/+++iIquifrfMJfAI8E=; b=dDUCH5l3A5XLY15u8SwpqFCUvTq4O1AfIY9W0gC/LzM2asOG/Msj77JrU7Lhd8s1qD 0bZUYroIsZlMv2xM22Vc4rLSDfzwCfjB5t5vpDSZCmFC9c5SizGI+/XOYz9zwhkMEzzP kSMuDjCAYR4U7ZtjjwzU4mf/qndwUhKudjT8niVWi9S+8wX7d/eCxca/P0ewX8qYXfyM JZsj1QpamKzj7ofiXbOUkL8kFro2MW+e/s1FwbQ1jxsnteyVsxtiCrCROkNvpiZjOE+r sXLTE8tgzyR80tP256GeoD4nB4MdUlPf4D7EAI6FstH+mawoe+zksoqHScs0zHSxelKU yRnQ== X-Gm-Message-State: ACrzQf0n8JYvNs73o7b881co66noF0Eyb5s3blK8Kkz5nKCnND47UGWM SMycjFiijxTHr+EdTIJfbvGdbKJj0Qq3iUHO8Js= X-Google-Smtp-Source: AMsMyM5Uc5aI4KnnLTABNRsJFMPGOg5QQrYcWwH20zyH+R1/07T8S+nTrvEVmA3IxCu250kS4qdok55woLdfrJakI9I= X-Received: by 2002:a81:54c5:0:b0:353:889c:5ea1 with SMTP id i188-20020a8154c5000000b00353889c5ea1mr8385428ywb.331.1664545781320; Fri, 30 Sep 2022 06:49:41 -0700 (PDT) In-Reply-To: <837d1ldlv3.fsf@gnu.org> 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:244018 Archived-At: --00000000000002483605e9e544e3 Content-Type: text/plain; charset="UTF-8" On Fri, Sep 30, 2022 at 9:37 AM Eli Zaretskii wrote: > > > From: Nikolaos Chatzikonstantinou > > Date: Fri, 30 Sep 2022 09:01:06 -0400 > > Cc: rpluim@gmail.com, 50507@debbugs.gnu.org, larsi@gnus.org > > > > On Fri, Sep 30, 2022 at 6:47 AM Eli Zaretskii wrote: > > > > > > > I went with intern. > > > > > > Why not use DEFSYM and then compare against the static symbols? That > > > is more efficient, since the intern call is avoided at run time. > > > > I did not understand the differences between DEFSYM() and > > intern(). Can DEFSYM() be used outside of syms_of_gnutls()? > > Why do you need to use DEFSYM outside of syms_of_gnutls? Nevermind, I had general confusion on how the internals work. Here is the update, using DEFSYM. --00000000000002483605e9e544e3 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_l8ojkdou0 RnJvbSA0OGVlYjE2YjcyMDZmZWRiZjJkMGNiOTJjNmZkN2FjZTZjYjJkZWRhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOaWtvbGFvcyBDaGF0emlrb25zdGFudGlub3UgPG5jaGF0ejMx NEBnbWFpbC5jb20+CkRhdGU6IE1vbiwgMjYgU2VwIDIwMjIgMTE6MDg6MTggLTA0MDAKU3ViamVj dDogW1BBVENIXSBhZGQgOnBhc3MgYW5kIDpmbGFncyB0byBnbnV0bHMtYm9vdCBmb3IgOmtleWxp c3QKCiogbGlzcC9uZXQvZ251dGxzLmVsIChnbnV0bHMtYm9vdC1wYXJhbWV0ZXJzKTogQWRkIHRo ZSBrZXlzIDpwYXNzIGFuZAo6ZmxhZ3MsIGFuZCB1cGRhdGUgdGhlIGRvY3VtZW50YXRpb24uCiog c3JjL2dudXRscy5jIChnbnV0bHMtYm9vdCk6IEFkZCB0aGUga2V5cyA6cGFzcyBhbmQgOmZsYWdz LCBhbmQKdXBkYXRlIHRoZSBkb2N1bWVudGF0aW9uLgooc3ltc19vZl9nbnV0bHMpOiBBZGQgdGhl IHN5bWJvbHMgOnBhc3MsIDpmbGFncywgYW5kIHRoZSBzeW1ib2xzIHRoYXQKY29ycmVzcG9uZCB0 byB0aGUgZW51bWVyYXRpb24gY29uc3RhbnRzIG9mIHRoZSBHbnVUTFMgZW51bQpgZ251dGxzX3Br Y3NfZW5jcnlwdF9mbGFnc190YC4KKGtleV9maWxlMl9hdXgpOiBQcml2YXRlIGhlbHBlciBmdW5j dGlvbiB0aGF0IHRyYW5zbGF0ZXMgYSBsaXN0IG9mCnN5bWJvbHMgdG8gaXRzIGNvcnJlc3BvbmRp bmcgYHVuc2lnbmVkIGludGAgdmFsdWUgb2YgdGhlIEdudVRMUyBDIGVudW0KYGdudXRsc19wa2Nz X2VuY3J5cHRfZmxhZ3NfdGAuCi0tLQogbGlzcC9uZXQvZ251dGxzLmVsIHwgIDEwICsrKysKIHNy Yy9nbnV0bHMuYyAgICAgICB8IDEyMSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMTMxIGluc2VydGlvbnMoKykKCmRpZmYgLS1n 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 cy5jCmluZGV4IGEwZGUwMjM4YzQuLmJjOWIxOTVjZGQgMTAwNjQ0Ci0tLSBhL3NyYy9nbnV0bHMu 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 c19wa2NzX3BsYWluKSkKKwlydiB8PSBHTlVUTFNfUEtDU19QTEFJTjsKKyAgICAgIGVsc2UgaWYo RVEgKGZsYWcsIFFnbnV0bHNfcGtjc19wa2NzMTJfM2RlcykpCisJcnYgfD0gR05VVExTX1BLQ1Nf UEtDUzEyXzNERVM7CisgICAgICBlbHNlIGlmKEVRIChmbGFnLCBRZ251dGxzX3BrY3NfcGtjczEy X2FyY2ZvdXIpKQorCXJ2IHw9IEdOVVRMU19QS0NTX1BLQ1MxMl9BUkNGT1VSOworICAgICAgZWxz ZSBpZihFUSAoZmxhZywgUWdudXRsc19wa2NzX3BrY3MxMl9yYzJfNDApKQorCXJ2IHw9IEdOVVRM U19QS0NTX1BLQ1MxMl9SQzJfNDA7CisgICAgICBlbHNlIGlmKEVRIChmbGFnLCBRZ251dGxzX3Br Y3NfcGJlczJfM2RlcykpCisJcnYgfD0gR05VVExTX1BLQ1NfUEJFUzJfM0RFUzsKKyAgICAgIGVs c2UgaWYoRVEgKGZsYWcsIFFnbnV0bHNfcGtjc19wYmVzMl9hZXNfMTI4KSkKKwlydiB8PSBHTlVU TFNfUEtDU19QQkVTMl9BRVNfMTI4OworICAgICAgZWxzZSBpZihFUSAoZmxhZywgUWdudXRsc19w a2NzX3BiZXMyX2Flc18xOTIpKQorCXJ2IHw9IEdOVVRMU19QS0NTX1BCRVMyX0FFU18xOTI7Cisg ICAgICBlbHNlIGlmKEVRIChmbGFnLCBRZ251dGxzX3BrY3NfcGJlczJfYWVzXzI1NikpCisJcnYg fD0gR05VVExTX1BLQ1NfUEJFUzJfQUVTXzI1NjsKKyAgICAgIGVsc2UgaWYoRVEgKGZsYWcsIFFn bnV0bHNfcGtjc19udWxsX3Bhc3N3b3JkKSkKKwlydiB8PSBHTlVUTFNfUEtDU19OVUxMX1BBU1NX T1JEOworICAgICAgZWxzZSBpZihFUSAoZmxhZywgUWdudXRsc19wa2NzX3BiZXMyX2RlcykpCisJ cnYgfD0gR05VVExTX1BLQ1NfUEJFUzJfREVTOworICAgICAgZWxzZSBpZihFUSAoZmxhZywgUWdu dXRsc19wa2NzX3BiZXMxX2Rlc19tZDUpKQorCXJ2IHw9IEdOVVRMU19QS0NTX1BCRVMxX0RFU19N RDU7CisgICAgICBlbHNlIGlmKEVRIChmbGFnLCBRZ251dGxzX3BrY3NfcGJlczJfZ29zdF90YzI2 eikpCisJcnYgfD0gR05VVExTX1BLQ1NfUEJFUzJfR09TVF9UQzI2WjsKKyAgICAgIGVsc2UgaWYo RVEgKGZsYWcsIFFnbnV0bHNfcGtjc19wYmVzMl9nb3N0X2NwYSkpCisJcnYgfD0gR05VVExTX1BL Q1NfUEJFUzJfR09TVF9DUEE7CisgICAgICBlbHNlIGlmKEVRIChmbGFnLCBRZ251dGxzX3BrY3Nf cGJlczJfZ29zdF9jcGIpKQorCXJ2IHw9IEdOVVRMU19QS0NTX1BCRVMyX0dPU1RfQ1BCOworICAg ICAgZWxzZSBpZihFUSAoZmxhZywgUWdudXRsc19wa2NzX3BiZXMyX2dvc3RfY3BjKSkKKwlydiB8 PSBHTlVUTFNfUEtDU19QQkVTMl9HT1NUX0NQQzsKKyAgICAgIGVsc2UgaWYoRVEgKGZsYWcsIFFn bnV0bHNfcGtjc19wYmVzMl9nb3N0X2NwZCkpCisJcnYgfD0gR05VVExTX1BLQ1NfUEJFUzJfR09T VF9DUEQ7CisgICAgfQorICByZXR1cm4gcnY7Cit9CisKKyNlbmRpZiAvKiBIQVZFX0dOVVRMU19D RVJUSUZJQ0FURV9TRVRfWDUwOV9LRVlfRklMRTIgKi8KKwogREVGVU4gKCJnbnV0bHMtYm9vdCIs IEZnbnV0bHNfYm9vdCwgU2dudXRsc19ib290LCAzLCAzLCAwLAogICAgICAgIGRvYzogLyogSW5p dGlhbGl6ZSBHbnVUTFMgY2xpZW50IGZvciBwcm9jZXNzIFBST0Mgd2l0aCBUWVBFK1BST1BMSVNU LgogQ3VycmVudGx5IG9ubHkgY2xpZW50IG1vZGUgaXMgc3VwcG9ydGVkLiAgUmV0dXJuIGEgc3Vj Y2Vzcy9mYWlsdXJlCkBAIC0xODEzLDYgKzE4ODAsMjEgQEAgREVGVU4gKCJnbnV0bHMtYm9vdCIs IEZnbnV0bHNfYm9vdCwgU2dudXRsc19ib290LCAzLCAzLCAwLAogOmNvbXBsZXRlLW5lZ290aWF0 aW9uLCBpZiBub24tbmlsLCB3aWxsIG1ha2UgbmVnb3RpYXRpb24gY29tcGxldGUKIGJlZm9yZSBy ZXR1cm5pbmcgZXZlbiBvbiBub24tYmxvY2tpbmcgc29ja2V0cy4KIAorOnBhc3MsIHRoZSBwYXNz d29yZCBvZiB0aGUgcHJpdmF0ZSBrZXkgYXMgcGVyIEdudVRMUycKK2dudXRsc19jZXJ0aWZpY2F0 ZV9zZXRfeDUwOV9rZXlfZmlsZTIuICBTcGVjaWZ5IGFzIG5pbCB0byBoYXZlIGEgTlVMTAorcGFz c3dvcmQuCisKKzpmbGFncywgYSBsaXN0IG9mIHN5bWJvbHMgcmVsYXRpbmcgdG8gOnBhc3MsIGVh Y2ggc3BlY2lmeWluZyBhIGZsYWc6CitHTlVUTFNfUEtDU19QTEFJTiwgR05VVExTX1BLQ1NfUEtD UzEyXzNERVMsCitHTlVUTFNfUEtDU19QS0NTMTJfQVJDRk9VUiwgR05VVExTX1BLQ1NfUEtDUzEy X1JDMl80MCwKK0dOVVRMU19QS0NTX1BCRVMyXzNERVMsIEdOVVRMU19QS0NTX1BCRVMyX0FFU18x MjgsCitHTlVUTFNfUEtDU19QQkVTMl9BRVNfMTkyLCBHTlVUTFNfUEtDU19QQkVTMl9BRVNfMjU2 LAorR05VVExTX1BLQ1NfTlVMTF9QQVNTV09SRCwgR05VVExTX1BLQ1NfUEJFUzJfREVTLAorR05V VExTX1BLQ1NfUEJFUzJfREVTX01ENSwgR05VVExTX1BLQ1NfUEJFUzJfR09TVF9UQzI2WiwKK0dO VVRMU19QS0NTX1BCRVMyX0dPU1RfQ1BBLCBHTlVUTFNfUEtDU19QQkVTMl9HT1NUX0NQQiwKK0dO VVRMU19QS0NTX1BCRVMyX0dPU1RfQ1BDLCBHTlVUTFNfUEtDU19QQkVTMl9HT1NUX0NQRC4gIElm IG5vdAorc3BlY2lmaWVkLCBvciBpZiBuaWwsIHRoZSBiaXRmbGFnIHdpdGggdmFsdWUgMCBpcyB1 c2VkLgorCiBUaGUgZGVidWcgbGV2ZWwgd2lsbCBiZSBzZXQgZm9yIHRoaXMgcHJvY2VzcyBBTkQg Z2xvYmFsbHkgZm9yIEdudVRMUy4KIFNvIGlmIHlvdSBzZXQgaXQgaGlnaGVyIG9yIGxvd2VyIGF0 IGFueSBwb2ludCwgaXQgYWZmZWN0cyBnbG9iYWwKIGRlYnVnZ2luZy4KQEAgLTE4MjUsNiArMTkw Nyw5IEBAIERFRlVOICgiZ251dGxzLWJvb3QiLCBGZ251dGxzX2Jvb3QsIFNnbnV0bHNfYm9vdCwg MywgMywgMCwKIGZ1bmN0aW9ucyBhcmUgdXNlZC4gIFRoaXMgZnVuY3Rpb24gYWxsb2NhdGVzIHJl c291cmNlcyB3aGljaCBjYW4gb25seQogYmUgZGVhbGxvY2F0ZWQgYnkgY2FsbGluZyBgZ251dGxz LWRlaW5pdCcgb3IgYnkgY2FsbGluZyBpdCBhZ2Fpbi4KIAorVGhlIDpwYXNzIGFuZCA6ZmxhZ3Mg a2V5cyBhcmUgaWdub3JlZCB3aXRoIG9sZCB2ZXJzaW9ucyBvZiBHbnVUTFMsIGFuZAorOmZsYWdz IGlzIGlnbm9yZWQgaWYgOnBhc3MgaXMgbm90IHNwZWNpZmllZC4KKwogVGhlIGNhbGxiYWNrcyBh bGlzdCBjYW4gaGF2ZSBhIGB2ZXJpZnknIGtleSwgYXNzb2NpYXRlZCB3aXRoIGEKIHZlcmlmaWNh dGlvbiBmdW5jdGlvbiAoVU5VU0VEKS4KIApAQCAtMTg0OCw2ICsxOTMzLDggQEAgREVGVU4gKCJn bnV0bHMtYm9vdCIsIEZnbnV0bHNfYm9vdCwgU2dudXRsc19ib290LCAzLCAzLCAwLAogICBMaXNw X09iamVjdCB0cnVzdGZpbGVzOwogICBMaXNwX09iamVjdCBjcmxmaWxlczsKICAgTGlzcF9PYmpl Y3Qga2V5bGlzdDsKKyAgTGlzcF9PYmplY3QgcGFzczsKKyAgTGlzcF9PYmplY3QgZmxhZ3M7CiAg IC8qIExpc3BfT2JqZWN0IGNhbGxiYWNrczsgKi8KICAgTGlzcF9PYmplY3QgbG9nbGV2ZWw7CiAg IExpc3BfT2JqZWN0IGhvc3RuYW1lOwpAQCAtMTg3Nyw2ICsxOTY0LDggQEAgREVGVU4gKCJnbnV0 bHMtYm9vdCIsIEZnbnV0bHNfYm9vdCwgU2dudXRsc19ib290LCAzLCAzLCAwLAogICBjcmxmaWxl cyAgICAgICAgICAgICAgPSBwbGlzdF9nZXQgKHByb3BsaXN0LCBRQ2NybGZpbGVzKTsKICAgbG9n bGV2ZWwgICAgICAgICAgICAgID0gcGxpc3RfZ2V0IChwcm9wbGlzdCwgUUNsb2dsZXZlbCk7CiAg IHByaW1lX2JpdHMgICAgICAgICAgICA9IHBsaXN0X2dldCAocHJvcGxpc3QsIFFDbWluX3ByaW1l X2JpdHMpOworICBwYXNzICAgICAgICAgICAgICAgICAgPSBwbGlzdF9nZXQgKHByb3BsaXN0LCBR Q3Bhc3MpOworICBmbGFncyAgICAgICAgICAgICAgICAgPSBwbGlzdF9nZXQgKHByb3BsaXN0LCBR Q2ZsYWdzKTsKIAogICBpZiAoIVNUUklOR1AgKGhvc3RuYW1lKSkKICAgICB7CkBAIC0yMDM4LDgg KzIxMjcsMjIgQEAgREVGVU4gKCJnbnV0bHMtYm9vdCIsIEZnbnV0bHNfYm9vdCwgU2dudXRsc19i b290LCAzLCAzLCAwLAogCSAgICAgIGtleWZpbGUgPSBhbnNpX2VuY29kZV9maWxlbmFtZSAoa2V5 ZmlsZSk7CiAJICAgICAgY2VydGZpbGUgPSBhbnNpX2VuY29kZV9maWxlbmFtZSAoY2VydGZpbGUp OwogIyBlbmRpZgorIyBpZmRlZiBIQVZFX0dOVVRMU19DRVJUSUZJQ0FURV9TRVRfWDUwOV9LRVlf RklMRTIKKwkgICAgICBpZiAoU1RSSU5HUCAocGFzcykpCisJCXJldCA9IGdudXRsc19jZXJ0aWZp Y2F0ZV9zZXRfeDUwOV9rZXlfZmlsZTIKKwkJICAoeDUwOV9jcmVkLCBTU0RBVEEgKGNlcnRmaWxl KSwgU1NEQVRBIChrZXlmaWxlKSwgZmlsZV9mb3JtYXQsCisJCSAgIFNTREFUQSAocGFzcyksIGtl eV9maWxlMl9hdXggKGZsYWdzKSk7CisJICAgICAgZWxzZSBpZiAoTklMUCAocGFzcykgJiYgcGxp c3RfbWVtYmVyIChwcm9wbGlzdCwgUUNwYXNzKSkKKwkJcmV0ID0gZ251dGxzX2NlcnRpZmljYXRl X3NldF94NTA5X2tleV9maWxlMgorCQkgICh4NTA5X2NyZWQsIFNTREFUQSAoY2VydGZpbGUpLCBT U0RBVEEgKGtleWZpbGUpLCBmaWxlX2Zvcm1hdCwKKwkJICAgTlVMTCwga2V5X2ZpbGUyX2F1eCAo ZmxhZ3MpKTsKKwkgICAgICBlbHNlCisJCXJldCA9IGdudXRsc19jZXJ0aWZpY2F0ZV9zZXRfeDUw OV9rZXlfZmlsZQorCQkgICh4NTA5X2NyZWQsIFNTREFUQSAoY2VydGZpbGUpLCBTU0RBVEEgKGtl eWZpbGUpLCBmaWxlX2Zvcm1hdCk7CisjIGVsc2UKIAkgICAgICByZXQgPSBnbnV0bHNfY2VydGlm aWNhdGVfc2V0X3g1MDlfa2V5X2ZpbGUKIAkJKHg1MDlfY3JlZCwgU1NEQVRBIChjZXJ0ZmlsZSks IFNTREFUQSAoa2V5ZmlsZSksIGZpbGVfZm9ybWF0KTsKKyMgZW5kaWYKIAogCSAgICAgIGlmIChy ZXQgPCBHTlVUTFNfRV9TVUNDRVNTKQogCQlyZXR1cm4gZ251dGxzX21ha2VfZXJyb3IgKHJldCk7 CkBAIC0yODYwLDggKzI5NjMsMjYgQEAgc3ltc19vZl9nbnV0bHMgKHZvaWQpCiAgIERFRlNZTSAo UUNtaW5fcHJpbWVfYml0cywgIjptaW4tcHJpbWUtYml0cyIpOwogICBERUZTWU0gKFFDbG9nbGV2 ZWwsICI6bG9nbGV2ZWwiKTsKICAgREVGU1lNIChRQ2NvbXBsZXRlX25lZ290aWF0aW9uLCAiOmNv bXBsZXRlLW5lZ290aWF0aW9uIik7CisgIERFRlNZTSAoUUNwYXNzLCAiOnBhc3MiKTsKKyAgREVG U1lNIChRQ2ZsYWdzLCAiOmZsYWdzIik7CiAgIERFRlNZTSAoUUN2ZXJpZnlfZmxhZ3MsICI6dmVy aWZ5LWZsYWdzIik7CiAgIERFRlNZTSAoUUN2ZXJpZnlfZXJyb3IsICI6dmVyaWZ5LWVycm9yIik7 CisgIERFRlNZTSAoUWdudXRsc19wa2NzX3BsYWluLCAiR05VVExTX1BLQ1NfUExBSU4iKTsKKyAg REVGU1lNIChRZ251dGxzX3BrY3NfcGtjczEyXzNkZXMsICJHTlVUTFNfUEtDU19QS0NTMTJfM0RF UyIpOworICBERUZTWU0gKFFnbnV0bHNfcGtjc19wa2NzMTJfYXJjZm91ciwgIkdOVVRMU19QS0NT X1BLQ1MxMl9BUkNGT1VSIik7CisgIERFRlNZTSAoUWdudXRsc19wa2NzX3BrY3MxMl9yYzJfNDAs ICJHTlVUTFNfUEtDU19QS0NTMTJfUkMyXzQwIik7CisgIERFRlNZTSAoUWdudXRsc19wa2NzX3Bi ZXMyXzNkZXMsICJHTlVUTFNfUEtDU19QQkVTMl8zREVTIik7CisgIERFRlNZTSAoUWdudXRsc19w a2NzX3BiZXMyX2Flc18xMjgsICJHTlVUTFNfUEtDU19QQkVTMl9BRVNfMTI4Iik7CisgIERFRlNZ TSAoUWdudXRsc19wa2NzX3BiZXMyX2Flc18xOTIsICJHTlVUTFNfUEtDU19QQkVTMl9BRVNfMTky Iik7CisgIERFRlNZTSAoUWdudXRsc19wa2NzX3BiZXMyX2Flc18yNTYsICJHTlVUTFNfUEtDU19Q QkVTMl9BRVNfMjU2Iik7CisgIERFRlNZTSAoUWdudXRsc19wa2NzX251bGxfcGFzc3dvcmQsICJH TlVUTFNfUEtDU19OVUxMX1BBU1NXT1JEIik7CisgIERFRlNZTSAoUWdudXRsc19wa2NzX3BiZXMy X2RlcywgIkdOVVRMU19QS0NTX1BCRVMyX0RFUyIpOworICBERUZTWU0gKFFnbnV0bHNfcGtjc19w YmVzMV9kZXNfbWQ1LCAiR05VVExTX1BLQ1NfUEJFUzFfREVTX01ENSIpOworICBERUZTWU0gKFFn bnV0bHNfcGtjc19wYmVzMl9nb3N0X3RjMjZ6LCAiR05VVExTX1BLQ1NfUEJFUzJfR09TVF9UQzI2 WiIpOworICBERUZTWU0gKFFnbnV0bHNfcGtjc19wYmVzMl9nb3N0X2NwYSwgIkdOVVRMU19QS0NT X1BCRVMyX0dPU1RfQ1BBIik7CisgIERFRlNZTSAoUWdudXRsc19wa2NzX3BiZXMyX2dvc3RfY3Bi LCAiR05VVExTX1BLQ1NfUEJFUzJfR09TVF9DUEIiKTsKKyAgREVGU1lNIChRZ251dGxzX3BrY3Nf cGJlczJfZ29zdF9jcGMsICJHTlVUTFNfUEtDU19QQkVTMl9HT1NUX0NQQyIpOworICBERUZTWU0g KFFnbnV0bHNfcGtjc19wYmVzMl9nb3N0X2NwZCwgIkdOVVRMU19QS0NTX1BCRVMyX0dPU1RfQ1BE Iik7CiAKICAgREVGU1lNIChRQ2NpcGhlcl9pZCwgIjpjaXBoZXItaWQiKTsKICAgREVGU1lNIChR Q2NpcGhlcl9hZWFkX2NhcGFibGUsICI6Y2lwaGVyLWFlYWQtY2FwYWJsZSIpOwotLSAKMi4zNy4z Cgo= --00000000000002483605e9e544e3--