From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Fabrice Popineau Newsgroups: gmane.emacs.devel Subject: Emacs master, security concernes, ms-windows Date: Thu, 14 Sep 2017 09:58:36 +0200 Message-ID: NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="94eb2c0746d0049036055921a62e" X-Trace: blaine.gmane.org 1505376233 13935 195.159.176.226 (14 Sep 2017 08:03:53 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Thu, 14 Sep 2017 08:03:53 +0000 (UTC) To: Emacs developers Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Sep 14 10:03:49 2017 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsP7k-0003Vr-3k for ged-emacs-devel@m.gmane.org; Thu, 14 Sep 2017 10:03:48 +0200 Original-Received: from localhost ([::1]:46247 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dsP7r-0002GP-4C for ged-emacs-devel@m.gmane.org; Thu, 14 Sep 2017 04:03:55 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:56697) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dsP38-00061n-B7 for emacs-devel@gnu.org; Thu, 14 Sep 2017 03:59:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dsP36-0008Lb-9A for emacs-devel@gnu.org; Thu, 14 Sep 2017 03:59:02 -0400 Original-Received: from mail-qk0-x235.google.com ([2607:f8b0:400d:c09::235]:44182) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dsP36-0008Jy-0S for emacs-devel@gnu.org; Thu, 14 Sep 2017 03:59:00 -0400 Original-Received: by mail-qk0-x235.google.com with SMTP id b23so5664119qkg.1 for ; Thu, 14 Sep 2017 00:58:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=9j0Autd0ax/RnAJa7AdQe0J7XgCPwyY47iui6oTHk9Q=; b=NpOjFctjCzChjOSd9u4kbKm/1GoXeVBOVvUPhBRlpaxSf2bli3vX2HokWJx/J/khTa GElQ1mFm/w93KUDWR4LsNCzdi2/TCJ6M1tkMU6y9vdsUFtdsVHFdiJimoOX8QHCaxNeW TL6qcOzHaVumYnnqWWTp6NfkImkkex8GGsKWas1ivchUC/ukYu65RVZcXc+RA803qZms QusGaoJUiudAaA2MipcPitJirT/XRQBAw3blRvwrexiKd+f5JKFV7jzbUO/pLvx50Vwo IG3Ps/mQFUQ/CcBMeF8p+V/bgifLuaGK9UIJ4B111JCc7/DACSRyh70z/uoOCjMIQVJn cZUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=9j0Autd0ax/RnAJa7AdQe0J7XgCPwyY47iui6oTHk9Q=; b=PMk9Aa1ru+z3Im8dEw8QiPrUTI+4DSJib3jom6Oc+DlSDxQUPgQq5lt5V/nEnvD9Rg GQjVDkk7ffpqWSiql93ZNFBmKv4Re1Wtzvd/HpkoDpGS6GYB08ZaFCWCrZMdHRJNvTsp whKcBxt2ZPmrPRCIIoSmrfS5sFo8L4vuejaV01CshMsEnG22mEGAAjnehcRvQIbdA+9f U+mmdGjcLhBEZyIUJTLdwwoHQ954gQx67EGT9WRC+JgzHwVg/5vcSgmmGmf0s+++ImJk lQZXTTpZDbxi1P/iFEy48F2hf+EjrWfy+ldxGN5YyyNIInFHs1fKbYooJBVwhFWsNLpK K2ng== X-Gm-Message-State: AHPjjUhXHjBhhVeVGvJOJ61bBgYRCMGEF+8fBw3AdytwM/DHXuo4MLae xCUUcMbkKxIfG6UmxxNw77pDgwl/Nwc8hL405eg= X-Google-Smtp-Source: AOwi7QBG+8P5FZC7qyBmd92uKeuQ533NWzZbrnllQBYSwmAUN4VVpvhK4l5YY2OIYusG+VLR9L5MpcqWoXdKhJRrn14= X-Received: by 10.55.131.129 with SMTP id f123mr1468988qkd.294.1505375937608; Thu, 14 Sep 2017 00:58:57 -0700 (PDT) Original-Received: by 10.140.82.21 with HTTP; Thu, 14 Sep 2017 00:58:36 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::235 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:218255 Archived-At: --94eb2c0746d0049036055921a62e Content-Type: multipart/alternative; boundary="94eb2c0746d0049033055921a62c" --94eb2c0746d0049033055921a62c Content-Type: text/plain; charset="UTF-8" Since there seems to be a lot of concerns wrt to security, I am submitting the attached patch. The reason for this patch is to limit the search for dlls loaded at runtime to the win32 system directory and/or the emacs application directory. In the current state, dlls can be picked up in any directory in the path. Some one could fake one of these dlls (xpm, png, etc.) and use it for mean reasons. It is not bullet proof, but it levels up security and many other projects have applied such a restriction. Best regards, Fabrice --94eb2c0746d0049033055921a62c Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Since there seems to be a lot of concerns wrt to security,=
I am submitting the attached patch.

The reaso= n for this patch is to limit the search for dlls loaded at=C2=A0
= runtime to the win32 system directory and/or the emacs application
directory.
In the current state, dlls can be picked up in any d= irectory in the path.
Some one could fake one of these dlls (xpm,= png, etc.) and use it for
mean reasons. =C2=A0
It is n= ot bullet proof, but it levels up security and=C2=A0
many other p= rojects have applied such a restriction.

Best rega= rds,

Fabrice




--94eb2c0746d0049033055921a62c-- --94eb2c0746d0049036055921a62e Content-Type: text/plain; charset="US-ASCII"; name="emacs-loadlibrary.diff" Content-Disposition: attachment; filename="emacs-loadlibrary.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j7k4fnmo0 ZGlmZiAtLWdpdCBhL3NyYy91bmV4dzMyLmMgYi9zcmMvdW5leHczMi5jCmluZGV4IDUyNTliMmE1 MmIuLjEwZjcyMGY3MzQgMTAwNjQ0Ci0tLSBhL3NyYy91bmV4dzMyLmMKKysrIGIvc3JjL3VuZXh3 MzIuYwpAQCAtNzcyLDcgKzgyMCw3IEBAIHVuZXhlYyAoY29uc3QgY2hhciAqbmV3X25hbWUsIGNv bnN0IGNoYXIgKm9sZF9uYW1lKQogICB7CiAgICAgUElNQUdFX0RPU19IRUFERVIgZG9zX2hlYWRl cjsKICAgICBQSU1BR0VfTlRfSEVBREVSUyBudF9oZWFkZXI7Ci0gICAgSEFORExFIGhJbWFnZWhl bHAgPSBMb2FkTGlicmFyeSAoImltYWdlaGxwLmRsbCIpOworICAgIEhBTkRMRSBoSW1hZ2VoZWxw ID0gTG9hZExpYnJhcnlFeCAoImltYWdlaGxwLmRsbCIsIE5VTEwsIExPQURfTElCUkFSWV9TRUFS Q0hfU1lTVEVNMzIpOwogICAgIERXT1JEICBoZWFkZXJzdW07CiAgICAgRFdPUkQgIGNoZWNrc3Vt OwogCmRpZmYgLS1naXQgYS9zcmMvdzMyLmMgYi9zcmMvdzMyLmMKaW5kZXggZjU4M2Q1ZTc2Yy4u YTQzN2QzZmQ4MyAxMDA2NDQKLS0tIGEvc3JjL3czMi5jCisrKyBiL3NyYy93MzIuYwpAQCAtNTY1 LDcgKzU2NSw3IEBAIG9wZW5fcHJvY2Vzc190b2tlbiAoSEFORExFIFByb2Nlc3NIYW5kbGUsCiAg IGlmIChnX2JfaW5pdF9vcGVuX3Byb2Nlc3NfdG9rZW4gPT0gMCkKICAgICB7CiAgICAgICBnX2Jf aW5pdF9vcGVuX3Byb2Nlc3NfdG9rZW4gPSAxOwotICAgICAgaG1fYWR2YXBpMzIgPSBMb2FkTGli cmFyeSAoIkFkdmFwaTMyLmRsbCIpOworICAgICAgaG1fYWR2YXBpMzIgPSBMb2FkTGlicmFyeUV4 ICgiQWR2YXBpMzIuZGxsIiwgTlVMTCwgTE9BRF9MSUJSQVJZX1NFQVJDSF9TWVNURU0zMik7CiAg ICAgICBzX3Bmbl9PcGVuX1Byb2Nlc3NfVG9rZW4gPQogICAgICAgICAoT3BlblByb2Nlc3NUb2tl bl9Qcm9jKSBHZXRQcm9jQWRkcmVzcyAoaG1fYWR2YXBpMzIsICJPcGVuUHJvY2Vzc1Rva2VuIik7 CiAgICAgfQpAQCAtNTk3LDcgKzU5Nyw3IEBAIGdldF90b2tlbl9pbmZvcm1hdGlvbiAoSEFORExF IFRva2VuSGFuZGxlLAogICBpZiAoZ19iX2luaXRfZ2V0X3Rva2VuX2luZm9ybWF0aW9uID09IDAp CiAgICAgewogICAgICAgZ19iX2luaXRfZ2V0X3Rva2VuX2luZm9ybWF0aW9uID0gMTsKLSAgICAg IGhtX2FkdmFwaTMyID0gTG9hZExpYnJhcnkgKCJBZHZhcGkzMi5kbGwiKTsKKyAgICAgIGhtX2Fk dmFwaTMyID0gTG9hZExpYnJhcnlFeCAoIkFkdmFwaTMyLmRsbCIsIE5VTEwsIExPQURfTElCUkFS WV9TRUFSQ0hfU1lTVEVNMzIpOwogICAgICAgc19wZm5fR2V0X1Rva2VuX0luZm9ybWF0aW9uID0K ICAgICAgICAgKEdldFRva2VuSW5mb3JtYXRpb25fUHJvYykgR2V0UHJvY0FkZHJlc3MgKGhtX2Fk dmFwaTMyLCAiR2V0VG9rZW5JbmZvcm1hdGlvbiIpOwogICAgIH0KQEAgLTYzMyw3ICs2MzMsNyBA QCBsb29rdXBfYWNjb3VudF9zaWQgKExQQ1RTVFIgbHBTeXN0ZW1OYW1lLAogICBpZiAoZ19iX2lu aXRfbG9va3VwX2FjY291bnRfc2lkID09IDApCiAgICAgewogICAgICAgZ19iX2luaXRfbG9va3Vw X2FjY291bnRfc2lkID0gMTsKLSAgICAgIGhtX2FkdmFwaTMyID0gTG9hZExpYnJhcnkgKCJBZHZh cGkzMi5kbGwiKTsKKyAgICAgIGhtX2FkdmFwaTMyID0gTG9hZExpYnJhcnlFeCAoIkFkdmFwaTMy LmRsbCIsIE5VTEwsIExPQURfTElCUkFSWV9TRUFSQ0hfU1lTVEVNMzIpOwogICAgICAgc19wZm5f TG9va3VwX0FjY291bnRfU2lkID0KICAgICAgICAgKExvb2t1cEFjY291bnRTaWRfUHJvYykgR2V0 UHJvY0FkZHJlc3MgKGhtX2FkdmFwaTMyLCBMb29rdXBBY2NvdW50U2lkX05hbWUpOwogICAgIH0K QEAgLTY2Niw3ICs2NjYsNyBAQCBnZXRfc2lkX3N1Yl9hdXRob3JpdHkgKFBTSUQgcFNpZCwgRFdP UkQgbikKICAgaWYgKGdfYl9pbml0X2dldF9zaWRfc3ViX2F1dGhvcml0eSA9PSAwKQogICAgIHsK ICAgICAgIGdfYl9pbml0X2dldF9zaWRfc3ViX2F1dGhvcml0eSA9IDE7Ci0gICAgICBobV9hZHZh cGkzMiA9IExvYWRMaWJyYXJ5ICgiQWR2YXBpMzIuZGxsIik7CisgICAgICBobV9hZHZhcGkzMiA9 IExvYWRMaWJyYXJ5RXggKCJBZHZhcGkzMi5kbGwiLCBOVUxMLCBMT0FEX0xJQlJBUllfU0VBUkNI X1NZU1RFTTMyKTsKICAgICAgIHNfcGZuX0dldF9TaWRfU3ViX0F1dGhvcml0eSA9CiAgICAgICAg IChHZXRTaWRTdWJBdXRob3JpdHlfUHJvYykgR2V0UHJvY0FkZHJlc3MgKAogICAgICAgICAgICAg aG1fYWR2YXBpMzIsICJHZXRTaWRTdWJBdXRob3JpdHkiKTsKQEAgLTY5MSw3ICs2OTEsNyBAQCBn ZXRfc2lkX3N1Yl9hdXRob3JpdHlfY291bnQgKFBTSUQgcFNpZCkKICAgaWYgKGdfYl9pbml0X2dl dF9zaWRfc3ViX2F1dGhvcml0eV9jb3VudCA9PSAwKQogICAgIHsKICAgICAgIGdfYl9pbml0X2dl dF9zaWRfc3ViX2F1dGhvcml0eV9jb3VudCA9IDE7Ci0gICAgICBobV9hZHZhcGkzMiA9IExvYWRM aWJyYXJ5ICgiQWR2YXBpMzIuZGxsIik7CisgICAgICBobV9hZHZhcGkzMiA9IExvYWRMaWJyYXJ5 RXggKCJBZHZhcGkzMi5kbGwiLCBOVUxMLCBMT0FEX0xJQlJBUllfU0VBUkNIX1NZU1RFTTMyKTsK ICAgICAgIHNfcGZuX0dldF9TaWRfU3ViX0F1dGhvcml0eV9Db3VudCA9CiAgICAgICAgIChHZXRT aWRTdWJBdXRob3JpdHlDb3VudF9Qcm9jKSBHZXRQcm9jQWRkcmVzcyAoCiAgICAgICAgICAgICBo bV9hZHZhcGkzMiwgIkdldFNpZFN1YkF1dGhvcml0eUNvdW50Iik7CkBAIC03MjIsNyArNzIyLDcg QEAgZ2V0X3NlY3VyaXR5X2luZm8gKEhBTkRMRSBoYW5kbGUsCiAgIGlmIChnX2JfaW5pdF9nZXRf c2VjdXJpdHlfaW5mbyA9PSAwKQogICAgIHsKICAgICAgIGdfYl9pbml0X2dldF9zZWN1cml0eV9p bmZvID0gMTsKLSAgICAgIGhtX2FkdmFwaTMyID0gTG9hZExpYnJhcnkgKCJBZHZhcGkzMi5kbGwi KTsKKyAgICAgIGhtX2FkdmFwaTMyID0gTG9hZExpYnJhcnlFeCAoIkFkdmFwaTMyLmRsbCIsIE5V TEwsIExPQURfTElCUkFSWV9TRUFSQ0hfU1lTVEVNMzIpOwogICAgICAgc19wZm5fR2V0X1NlY3Vy aXR5X0luZm8gPQogICAgICAgICAoR2V0U2VjdXJpdHlJbmZvX1Byb2MpIEdldFByb2NBZGRyZXNz ICgKICAgICAgICAgICAgIGhtX2FkdmFwaTMyLCAiR2V0U2VjdXJpdHlJbmZvIik7CkBAIC03NTgs NyArNzU4LDcgQEAgZ2V0X2ZpbGVfc2VjdXJpdHkgKGNvbnN0IGNoYXIgKmxwRmlsZU5hbWUsCiAg ICAgICBpZiAoZ19iX2luaXRfZ2V0X2ZpbGVfc2VjdXJpdHlfdyA9PSAwKQogCXsKICAgICAgICAg ICBnX2JfaW5pdF9nZXRfZmlsZV9zZWN1cml0eV93ID0gMTsKLQkgIGhtX2FkdmFwaTMyID0gTG9h ZExpYnJhcnkgKCJBZHZhcGkzMi5kbGwiKTsKKyAgICAgICAgICBobV9hZHZhcGkzMiA9IExvYWRM aWJyYXJ5RXggKCJBZHZhcGkzMi5kbGwiLCBOVUxMLCBMT0FEX0xJQlJBUllfU0VBUkNIX1NZU1RF TTMyKTsKICAgICAgICAgICBzX3Bmbl9HZXRfRmlsZV9TZWN1cml0eVcgPQogICAgICAgICAgICAg KEdldEZpbGVTZWN1cml0eVdfUHJvYykgR2V0UHJvY0FkZHJlc3MgKGhtX2FkdmFwaTMyLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkdldEZpbGVT ZWN1cml0eVciKTsKQEAgLTc4MCw3ICs3ODAsNyBAQCBnZXRfZmlsZV9zZWN1cml0eSAoY29uc3Qg Y2hhciAqbHBGaWxlTmFtZSwKICAgICAgIGlmIChnX2JfaW5pdF9nZXRfZmlsZV9zZWN1cml0eV9h ID09IDApCiAJewogICAgICAgICAgIGdfYl9pbml0X2dldF9maWxlX3NlY3VyaXR5X2EgPSAxOwot CSAgaG1fYWR2YXBpMzIgPSBMb2FkTGlicmFyeSAoIkFkdmFwaTMyLmRsbCIpOworICAgICAgICAg IGhtX2FkdmFwaTMyID0gTG9hZExpYnJhcnlFeCAoIkFkdmFwaTMyLmRsbCIsIE5VTEwsIExPQURf TElCUkFSWV9TRUFSQ0hfU1lTVEVNMzIpOwogICAgICAgICAgIHNfcGZuX0dldF9GaWxlX1NlY3Vy aXR5QSA9CiAgICAgICAgICAgICAoR2V0RmlsZVNlY3VyaXR5QV9Qcm9jKSBHZXRQcm9jQWRkcmVz cyAoaG1fYWR2YXBpMzIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiR2V0RmlsZVNlY3VyaXR5QSIpOwpAQCAtODE3LDcgKzgxNyw3IEBAIHNldF9m aWxlX3NlY3VyaXR5IChjb25zdCBjaGFyICpscEZpbGVOYW1lLAogICAgICAgaWYgKGdfYl9pbml0 X3NldF9maWxlX3NlY3VyaXR5X3cgPT0gMCkKIAl7CiAgICAgICAgICAgZ19iX2luaXRfc2V0X2Zp bGVfc2VjdXJpdHlfdyA9IDE7Ci0JICBobV9hZHZhcGkzMiA9IExvYWRMaWJyYXJ5ICgiQWR2YXBp MzIuZGxsIik7CisgICAgICAgICAgaG1fYWR2YXBpMzIgPSBMb2FkTGlicmFyeUV4ICgiQWR2YXBp MzIuZGxsIiwgTlVMTCwgTE9BRF9MSUJSQVJZX1NFQVJDSF9TWVNURU0zMik7CiAgICAgICAgICAg c19wZm5fU2V0X0ZpbGVfU2VjdXJpdHlXID0KICAgICAgICAgICAgIChTZXRGaWxlU2VjdXJpdHlX X1Byb2MpIEdldFByb2NBZGRyZXNzIChobV9hZHZhcGkzMiwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU2V0RmlsZVNlY3VyaXR5VyIpOwpAQCAt ODM4LDcgKzgzOCw3IEBAIHNldF9maWxlX3NlY3VyaXR5IChjb25zdCBjaGFyICpscEZpbGVOYW1l LAogICAgICAgaWYgKGdfYl9pbml0X3NldF9maWxlX3NlY3VyaXR5X2EgPT0gMCkKIAl7CiAgICAg ICAgICAgZ19iX2luaXRfc2V0X2ZpbGVfc2VjdXJpdHlfYSA9IDE7Ci0JICBobV9hZHZhcGkzMiA9 IExvYWRMaWJyYXJ5ICgiQWR2YXBpMzIuZGxsIik7CisgICAgICAgICAgaG1fYWR2YXBpMzIgPSBM b2FkTGlicmFyeUV4ICgiQWR2YXBpMzIuZGxsIiwgTlVMTCwgTE9BRF9MSUJSQVJZX1NFQVJDSF9T WVNURU0zMik7CiAgICAgICAgICAgc19wZm5fU2V0X0ZpbGVfU2VjdXJpdHlBID0KICAgICAgICAg ICAgIChTZXRGaWxlU2VjdXJpdHlBX1Byb2MpIEdldFByb2NBZGRyZXNzIChobV9hZHZhcGkzMiwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU2V0 RmlsZVNlY3VyaXR5QSIpOwpAQCAtODc4LDcgKzg3OCw3IEBAIHNldF9uYW1lZF9zZWN1cml0eV9p bmZvIChMUENUU1RSIGxwT2JqZWN0TmFtZSwKICAgICAgIGlmIChnX2JfaW5pdF9zZXRfbmFtZWRf c2VjdXJpdHlfaW5mb193ID09IDApCiAJewogICAgICAgICAgIGdfYl9pbml0X3NldF9uYW1lZF9z ZWN1cml0eV9pbmZvX3cgPSAxOwotCSAgaG1fYWR2YXBpMzIgPSBMb2FkTGlicmFyeSAoIkFkdmFw aTMyLmRsbCIpOworICAgICAgICAgIGhtX2FkdmFwaTMyID0gTG9hZExpYnJhcnlFeCAoIkFkdmFw aTMyLmRsbCIsIE5VTEwsIExPQURfTElCUkFSWV9TRUFSQ0hfU1lTVEVNMzIpOwogICAgICAgICAg IHNfcGZuX1NldF9OYW1lZF9TZWN1cml0eV9JbmZvVyA9CiAgICAgICAgICAgICAoU2V0TmFtZWRT ZWN1cml0eUluZm9XX1Byb2MpIEdldFByb2NBZGRyZXNzIChobV9hZHZhcGkzMiwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTZXROYW1l ZFNlY3VyaXR5SW5mb1ciKTsKQEAgLTkwMCw3ICs5MDAsNyBAQCBzZXRfbmFtZWRfc2VjdXJpdHlf aW5mbyAoTFBDVFNUUiBscE9iamVjdE5hbWUsCiAgICAgICBpZiAoZ19iX2luaXRfc2V0X25hbWVk X3NlY3VyaXR5X2luZm9fYSA9PSAwKQogCXsKICAgICAgICAgICBnX2JfaW5pdF9zZXRfbmFtZWRf c2VjdXJpdHlfaW5mb19hID0gMTsKLQkgIGhtX2FkdmFwaTMyID0gTG9hZExpYnJhcnkgKCJBZHZh cGkzMi5kbGwiKTsKKyAgICAgICAgICBobV9hZHZhcGkzMiA9IExvYWRMaWJyYXJ5RXggKCJBZHZh cGkzMi5kbGwiLCBOVUxMLCBMT0FEX0xJQlJBUllfU0VBUkNIX1NZU1RFTTMyKTsKICAgICAgICAg ICBzX3Bmbl9TZXRfTmFtZWRfU2VjdXJpdHlfSW5mb0EgPQogICAgICAgICAgICAgKFNldE5hbWVk U2VjdXJpdHlJbmZvQV9Qcm9jKSBHZXRQcm9jQWRkcmVzcyAoaG1fYWR2YXBpMzIsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU2V0TmFt ZWRTZWN1cml0eUluZm9BIik7CkBAIC05MzIsNyArOTMyLDcgQEAgZ2V0X3NlY3VyaXR5X2Rlc2Ny aXB0b3Jfb3duZXIgKFBTRUNVUklUWV9ERVNDUklQVE9SIHBTZWN1cml0eURlc2NyaXB0b3IsCiAg IGlmIChnX2JfaW5pdF9nZXRfc2VjdXJpdHlfZGVzY3JpcHRvcl9vd25lciA9PSAwKQogICAgIHsK ICAgICAgIGdfYl9pbml0X2dldF9zZWN1cml0eV9kZXNjcmlwdG9yX293bmVyID0gMTsKLSAgICAg IGhtX2FkdmFwaTMyID0gTG9hZExpYnJhcnkgKCJBZHZhcGkzMi5kbGwiKTsKKyAgICAgIGhtX2Fk dmFwaTMyID0gTG9hZExpYnJhcnlFeCAoIkFkdmFwaTMyLmRsbCIsIE5VTEwsIExPQURfTElCUkFS WV9TRUFSQ0hfU1lTVEVNMzIpOwogICAgICAgc19wZm5fR2V0X1NlY3VyaXR5X0Rlc2NyaXB0b3Jf T3duZXIgPQogICAgICAgICAoR2V0U2VjdXJpdHlEZXNjcmlwdG9yT3duZXJfUHJvYykgR2V0UHJv Y0FkZHJlc3MgKAogICAgICAgICAgICAgaG1fYWR2YXBpMzIsICJHZXRTZWN1cml0eURlc2NyaXB0 b3JPd25lciIpOwpAQCAtOTYxLDcgKzk2MSw3IEBAIGdldF9zZWN1cml0eV9kZXNjcmlwdG9yX2dy b3VwIChQU0VDVVJJVFlfREVTQ1JJUFRPUiBwU2VjdXJpdHlEZXNjcmlwdG9yLAogICBpZiAoZ19i X2luaXRfZ2V0X3NlY3VyaXR5X2Rlc2NyaXB0b3JfZ3JvdXAgPT0gMCkKICAgICB7CiAgICAgICBn X2JfaW5pdF9nZXRfc2VjdXJpdHlfZGVzY3JpcHRvcl9ncm91cCA9IDE7Ci0gICAgICBobV9hZHZh cGkzMiA9IExvYWRMaWJyYXJ5ICgiQWR2YXBpMzIuZGxsIik7CisgICAgICBobV9hZHZhcGkzMiA9 IExvYWRMaWJyYXJ5RXggKCJBZHZhcGkzMi5kbGwiLCBOVUxMLCBMT0FEX0xJQlJBUllfU0VBUkNI X1NZU1RFTTMyKTsKICAgICAgIHNfcGZuX0dldF9TZWN1cml0eV9EZXNjcmlwdG9yX0dyb3VwID0K ICAgICAgICAgKEdldFNlY3VyaXR5RGVzY3JpcHRvckdyb3VwX1Byb2MpIEdldFByb2NBZGRyZXNz ICgKICAgICAgICAgICAgIGhtX2FkdmFwaTMyLCAiR2V0U2VjdXJpdHlEZXNjcmlwdG9yR3JvdXAi KTsKQEAgLTk5MSw3ICs5OTEsNyBAQCBnZXRfc2VjdXJpdHlfZGVzY3JpcHRvcl9kYWNsIChQU0VD VVJJVFlfREVTQ1JJUFRPUiBwU2VjdXJpdHlEZXNjcmlwdG9yLAogICBpZiAoZ19iX2luaXRfZ2V0 X3NlY3VyaXR5X2Rlc2NyaXB0b3JfZGFjbCA9PSAwKQogICAgIHsKICAgICAgIGdfYl9pbml0X2dl dF9zZWN1cml0eV9kZXNjcmlwdG9yX2RhY2wgPSAxOwotICAgICAgaG1fYWR2YXBpMzIgPSBMb2Fk TGlicmFyeSAoIkFkdmFwaTMyLmRsbCIpOworICAgICAgaG1fYWR2YXBpMzIgPSBMb2FkTGlicmFy eUV4ICgiQWR2YXBpMzIuZGxsIiwgTlVMTCwgTE9BRF9MSUJSQVJZX1NFQVJDSF9TWVNURU0zMik7 CiAgICAgICBzX3Bmbl9HZXRfU2VjdXJpdHlfRGVzY3JpcHRvcl9EYWNsID0KICAgICAgICAgKEdl dFNlY3VyaXR5RGVzY3JpcHRvckRhY2xfUHJvYykgR2V0UHJvY0FkZHJlc3MgKAogICAgICAgICAg ICAgaG1fYWR2YXBpMzIsICJHZXRTZWN1cml0eURlc2NyaXB0b3JEYWNsIik7CkBAIC0xMDE4LDcg KzEwMTgsNyBAQCBpc192YWxpZF9zaWQgKFBTSUQgc2lkKQogICBpZiAoZ19iX2luaXRfaXNfdmFs aWRfc2lkID09IDApCiAgICAgewogICAgICAgZ19iX2luaXRfaXNfdmFsaWRfc2lkID0gMTsKLSAg ICAgIGhtX2FkdmFwaTMyID0gTG9hZExpYnJhcnkgKCJBZHZhcGkzMi5kbGwiKTsKKyAgICAgIGht X2FkdmFwaTMyID0gTG9hZExpYnJhcnlFeCAoIkFkdmFwaTMyLmRsbCIsIE5VTEwsIExPQURfTElC UkFSWV9TRUFSQ0hfU1lTVEVNMzIpOwogICAgICAgc19wZm5fSXNfVmFsaWRfU2lkID0KICAgICAg ICAgKElzVmFsaWRTaWRfUHJvYykgR2V0UHJvY0FkZHJlc3MgKAogICAgICAgICAgICAgaG1fYWR2 YXBpMzIsICJJc1ZhbGlkU2lkIik7CkBAIC0xMDQyLDcgKzEwNDIsNyBAQCBlcXVhbF9zaWQgKFBT SUQgc2lkMSwgUFNJRCBzaWQyKQogICBpZiAoZ19iX2luaXRfZXF1YWxfc2lkID09IDApCiAgICAg ewogICAgICAgZ19iX2luaXRfZXF1YWxfc2lkID0gMTsKLSAgICAgIGhtX2FkdmFwaTMyID0gTG9h ZExpYnJhcnkgKCJBZHZhcGkzMi5kbGwiKTsKKyAgICAgIGhtX2FkdmFwaTMyID0gTG9hZExpYnJh cnlFeCAoIkFkdmFwaTMyLmRsbCIsIE5VTEwsIExPQURfTElCUkFSWV9TRUFSQ0hfU1lTVEVNMzIp OwogICAgICAgc19wZm5fRXF1YWxfU2lkID0KICAgICAgICAgKEVxdWFsU2lkX1Byb2MpIEdldFBy b2NBZGRyZXNzICgKICAgICAgICAgICAgIGhtX2FkdmFwaTMyLCAiRXF1YWxTaWQiKTsKQEAgLTEw NjYsNyArMTA2Niw3IEBAIGdldF9sZW5ndGhfc2lkIChQU0lEIHNpZCkKICAgaWYgKGdfYl9pbml0 X2dldF9sZW5ndGhfc2lkID09IDApCiAgICAgewogICAgICAgZ19iX2luaXRfZ2V0X2xlbmd0aF9z aWQgPSAxOwotICAgICAgaG1fYWR2YXBpMzIgPSBMb2FkTGlicmFyeSAoIkFkdmFwaTMyLmRsbCIp OworICAgICAgaG1fYWR2YXBpMzIgPSBMb2FkTGlicmFyeUV4ICgiQWR2YXBpMzIuZGxsIiwgTlVM TCwgTE9BRF9MSUJSQVJZX1NFQVJDSF9TWVNURU0zMik7CiAgICAgICBzX3Bmbl9HZXRfTGVuZ3Ro X1NpZCA9CiAgICAgICAgIChHZXRMZW5ndGhTaWRfUHJvYykgR2V0UHJvY0FkZHJlc3MgKAogICAg ICAgICAgICAgaG1fYWR2YXBpMzIsICJHZXRMZW5ndGhTaWQiKTsKQEAgLTEwOTAsNyArMTA5MCw3 IEBAIGNvcHlfc2lkIChEV09SRCBkZXN0bGVuLCBQU0lEIGRlc3QsIFBTSUQgc3JjKQogICBpZiAo Z19iX2luaXRfY29weV9zaWQgPT0gMCkKICAgICB7CiAgICAgICBnX2JfaW5pdF9jb3B5X3NpZCA9 IDE7Ci0gICAgICBobV9hZHZhcGkzMiA9IExvYWRMaWJyYXJ5ICgiQWR2YXBpMzIuZGxsIik7Cisg ICAgICBobV9hZHZhcGkzMiA9IExvYWRMaWJyYXJ5RXggKCJBZHZhcGkzMi5kbGwiLCBOVUxMLCBM T0FEX0xJQlJBUllfU0VBUkNIX1NZU1RFTTMyKTsKICAgICAgIHNfcGZuX0NvcHlfU2lkID0KICAg ICAgICAgKENvcHlTaWRfUHJvYykgR2V0UHJvY0FkZHJlc3MgKAogICAgICAgICAgICAgaG1fYWR2 YXBpMzIsICJDb3B5U2lkIik7CkBAIC0xMzYyLDcgKzEzNjIsNyBAQCBnZXRfYWRhcHRlcnNfaW5m byAoUElQX0FEQVBURVJfSU5GTyBwQWRhcHRlckluZm8sIFBVTE9ORyBwT3V0QnVmTGVuKQogICBp ZiAoZ19iX2luaXRfZ2V0X2FkYXB0ZXJzX2luZm8gPT0gMCkKICAgICB7CiAgICAgICBnX2JfaW5p dF9nZXRfYWRhcHRlcnNfaW5mbyA9IDE7Ci0gICAgICBobV9pcGhscGFwaSA9IExvYWRMaWJyYXJ5 ICgiSXBobHBhcGkuZGxsIik7CisgICAgICBobV9pcGhscGFwaSA9IExvYWRMaWJyYXJ5RXggKCJJ cGhscGFwaS5kbGwiLCBOVUxMLCBMT0FEX0xJQlJBUllfU0VBUkNIX1NZU1RFTTMyKTsKICAgICAg IGlmIChobV9pcGhscGFwaSkKIAlzX3Bmbl9HZXRfQWRhcHRlcnNfSW5mbyA9IChHZXRBZGFwdGVy c0luZm9fUHJvYykKICAgICAgICAgICBHZXRQcm9jQWRkcmVzcyAoaG1faXBobHBhcGksICJHZXRB ZGFwdGVyc0luZm8iKTsKQEAgLTY2MjAsNyArNjYyNCw3IEBAIG9wZW5fdGhyZWFkX3Rva2VuIChI QU5ETEUgVGhyZWFkSGFuZGxlLAogICBpZiAoZ19iX2luaXRfb3Blbl90aHJlYWRfdG9rZW4gPT0g MCkKICAgICB7CiAgICAgICBnX2JfaW5pdF9vcGVuX3RocmVhZF90b2tlbiA9IDE7Ci0gICAgICBo bV9hZHZhcGkzMiA9IExvYWRMaWJyYXJ5ICgiQWR2YXBpMzIuZGxsIik7CisgICAgICBobV9hZHZh cGkzMiA9IExvYWRMaWJyYXJ5RXggKCJBZHZhcGkzMi5kbGwiLCBOVUxMLCBMT0FEX0xJQlJBUllf U0VBUkNIX1NZU1RFTTMyKTsKICAgICAgIHNfcGZuX09wZW5fVGhyZWFkX1Rva2VuID0KICAgICAg ICAgKE9wZW5UaHJlYWRUb2tlbl9Qcm9jKSBHZXRQcm9jQWRkcmVzcyAoaG1fYWR2YXBpMzIsICJP cGVuVGhyZWFkVG9rZW4iKTsKICAgICB9CkBAIC02NjUwLDcgKzY2NTQsNyBAQCBpbXBlcnNvbmF0 ZV9zZWxmIChTRUNVUklUWV9JTVBFUlNPTkFUSU9OX0xFVkVMIEltcGVyc29uYXRpb25MZXZlbCkK ICAgaWYgKGdfYl9pbml0X2ltcGVyc29uYXRlX3NlbGYgPT0gMCkKICAgICB7CiAgICAgICBnX2Jf aW5pdF9pbXBlcnNvbmF0ZV9zZWxmID0gMTsKLSAgICAgIGhtX2FkdmFwaTMyID0gTG9hZExpYnJh cnkgKCJBZHZhcGkzMi5kbGwiKTsKKyAgICAgIGhtX2FkdmFwaTMyID0gTG9hZExpYnJhcnlFeCAo IkFkdmFwaTMyLmRsbCIsIE5VTEwsIExPQURfTElCUkFSWV9TRUFSQ0hfU1lTVEVNMzIpOwogICAg ICAgc19wZm5fSW1wZXJzb25hdGVfU2VsZiA9CiAgICAgICAgIChJbXBlcnNvbmF0ZVNlbGZfUHJv YykgR2V0UHJvY0FkZHJlc3MgKGhtX2FkdmFwaTMyLCAiSW1wZXJzb25hdGVTZWxmIik7CiAgICAg fQpAQCAtNjY3Myw3ICs2Njc3LDcgQEAgcmV2ZXJ0X3RvX3NlbGYgKHZvaWQpCiAgIGlmIChnX2Jf aW5pdF9yZXZlcnRfdG9fc2VsZiA9PSAwKQogICAgIHsKICAgICAgIGdfYl9pbml0X3JldmVydF90 b19zZWxmID0gMTsKLSAgICAgIGhtX2FkdmFwaTMyID0gTG9hZExpYnJhcnkgKCJBZHZhcGkzMi5k bGwiKTsKKyAgICAgIGhtX2FkdmFwaTMyID0gTG9hZExpYnJhcnlFeCAoIkFkdmFwaTMyLmRsbCIs IE5VTEwsIExPQURfTElCUkFSWV9TRUFSQ0hfU1lTVEVNMzIpOwogICAgICAgc19wZm5fUmV2ZXJ0 X1RvX1NlbGYgPQogICAgICAgICAoUmV2ZXJ0VG9TZWxmX1Byb2MpIEdldFByb2NBZGRyZXNzICho bV9hZHZhcGkzMiwgIlJldmVydFRvU2VsZiIpOwogICAgIH0KQEAgLTY2OTgsNyArNjcwMiw3IEBA IGdldF9wcm9jZXNzX21lbW9yeV9pbmZvIChIQU5ETEUgaF9wcm9jLAogICBpZiAoZ19iX2luaXRf Z2V0X3Byb2Nlc3NfbWVtb3J5X2luZm8gPT0gMCkKICAgICB7CiAgICAgICBnX2JfaW5pdF9nZXRf cHJvY2Vzc19tZW1vcnlfaW5mbyA9IDE7Ci0gICAgICBobV9wc2FwaSA9IExvYWRMaWJyYXJ5ICgi UHNhcGkuZGxsIik7CisgICAgICBobV9wc2FwaSA9IExvYWRMaWJyYXJ5RXggKCJQc2FwaS5kbGwi LCBOVUxMLCBMT0FEX0xJQlJBUllfU0VBUkNIX1NZU1RFTTMyKTsKICAgICAgIGlmIChobV9wc2Fw aSkKIAlzX3Bmbl9HZXRfUHJvY2Vzc19NZW1vcnlfSW5mbyA9IChHZXRQcm9jZXNzTWVtb3J5SW5m b19Qcm9jKQogICAgICAgICAgIEdldFByb2NBZGRyZXNzIChobV9wc2FwaSwgIkdldFByb2Nlc3NN ZW1vcnlJbmZvIik7CkBAIC03MzQ4LDcgKzczNTIsNyBAQCBpbml0X3dpbnNvY2sgKGludCBsb2Fk X25vdykKICAgICA9ICh2b2lkICopIEdldFByb2NBZGRyZXNzIChHZXRNb2R1bGVIYW5kbGUgKCJr ZXJuZWwzMi5kbGwiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU2V0SGFuZGxl SW5mb3JtYXRpb24iKTsKIAotICB3aW5zb2NrX2xpYiA9IExvYWRMaWJyYXJ5ICgiV3MyXzMyLmRs bCIpOworICB3aW5zb2NrX2xpYiA9IExvYWRMaWJyYXJ5RXggKCJXczJfMzIuZGxsIiwgTlVMTCwg TE9BRF9MSUJSQVJZX1NFQVJDSF9TWVNURU0zMik7CiAKICAgaWYgKHdpbnNvY2tfbGliICE9IE5V TEwpCiAgICAgewpAQCAtOTMxNiw3ICs5MzIwLDggQEAgdzMyX2RlbGF5ZWRfbG9hZCAoTGlzcF9P YmplY3QgbGlicmFyeV9pZCkKIAkJd2NoYXJfdCBuYW1lX3dbTUFYX1BBVEhdOwogCiAJCWZpbGVu YW1lX3RvX3V0ZjE2IChTU0RBVEEgKGRsbCksIG5hbWVfdyk7Ci0JCWRsbF9oYW5kbGUgPSBMb2Fk TGlicmFyeVcgKG5hbWVfdyk7CisJCWRsbF9oYW5kbGUgPSBMb2FkTGlicmFyeUV4VyAobmFtZV93 LCBOVUxMLCBMT0FEX0xJQlJBUllfU0VBUkNIX0FQUExJQ0FUSU9OX0RJUnxMT0FEX0xJQlJBUllf U0VBUkNIX1NZU1RFTTMyKTsKKwogCQlpZiAoZGxsX2hhbmRsZSkKICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgcmVzID0gR2V0TW9kdWxlRmlsZU5hbWVXIChkbGxfaGFu ZGxlLCBuYW1lX3csCkBAIC05MzMwLDcgKzkzMzUsOCBAQCB3MzJfZGVsYXllZF9sb2FkIChMaXNw X09iamVjdCBsaWJyYXJ5X2lkKQogCQljaGFyIG5hbWVfYVtNQVhfUEFUSF07CiAKIAkJZmlsZW5h bWVfdG9fYW5zaSAoU1NEQVRBIChkbGwpLCBuYW1lX2EpOwotCQlkbGxfaGFuZGxlID0gTG9hZExp YnJhcnlBIChuYW1lX2EpOworCQlkbGxfaGFuZGxlID0gTG9hZExpYnJhcnlFeEEgKG5hbWVfYSwg TlVMTCwgTE9BRF9MSUJSQVJZX1NFQVJDSF9BUFBMSUNBVElPTl9ESVJ8TE9BRF9MSUJSQVJZX1NF QVJDSF9TWVNURU0zMik7CisKIAkJaWYgKGRsbF9oYW5kbGUpCiAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgIHJlcyA9IEdldE1vZHVsZUZpbGVOYW1lQSAoZGxsX2hhbmRs ZSwgbmFtZV9hLApAQCAtOTU5MCw3ICs5NTk2LDcgQEAgbWF5YmVfbG9hZF91bmljb3dzX2RsbCAo dm9pZCkKIHsKICAgaWYgKG9zX3N1YnR5cGUgPT0gT1NfOVgpCiAgICAgewotICAgICAgSEFORExF IHJldCA9IExvYWRMaWJyYXJ5ICgiVW5pY293cy5kbGwiKTsKKyAgICAgIEhBTkRMRSByZXQgPSBM b2FkTGlicmFyeUV4ICgiVW5pY293cy5kbGwiLCBOVUxMLCBMT0FEX0xJQlJBUllfU0VBUkNIX1NZ U1RFTTMyKTsKICAgICAgIGlmIChyZXQpCiAJewogICAgICAgICAgIC8qIFRoZXNlIHR3byBmdW5j dGlvbnMgYXJlIHByZXNlbnQgb24gV2luZG93cyA5WCBhcyBzdHVicwpAQCAtOTYzOCw3ICs5NjQ0 LDcgQEAgbWF5YmVfbG9hZF91bmljb3dzX2RsbCAodm9pZCkKICAgICAgICAgbXVsdGlCeXRlVG9X aWRlQ2hhckZsYWdzID0gMDsKICAgICAgIGVsc2UKICAgICAgICAgbXVsdGlCeXRlVG9XaWRlQ2hh ckZsYWdzID0gTUJfRVJSX0lOVkFMSURfQ0hBUlM7Ci0gICAgICByZXR1cm4gTG9hZExpYnJhcnkg KCJHZGkzMi5kbGwiKTsKKyAgICAgIHJldHVybiBMb2FkTGlicmFyeUV4ICgiR2RpMzIuZGxsIiwg TlVMTCwgTE9BRF9MSUJSQVJZX1NFQVJDSF9TWVNURU0zMik7CiAgICAgfQogfQogCmRpZmYgLS1n aXQgYS9zcmMvdzMyZm5zLmMgYi9zcmMvdzMyZm5zLmMKaW5kZXggNmI5M2FmYThiOC4uYzU2NmVi YzI0ZSAxMDA2NDQKLS0tIGEvc3JjL3czMmZucy5jCisrKyBiL3NyYy93MzJmbnMuYwpAQCAtMTA4 OTcsOSArMTA4OTgsOSBAQCB3MzJfYmFja3RyYWNlICh2b2lkICoqYnVmZmVyLCBpbnQgbGltaXQp CiAgIHN0YXRpYyBDYXB0dXJlU3RhY2tCYWNrVHJhY2VfcHJvYyBzX3Bmbl9DYXB0dXJlU3RhY2tC YWNrVHJhY2UgPSBOVUxMOwogICBITU9EVUxFIGhtX2tlcm5lbDMyID0gTlVMTDsKIAogICBpZiAo IXNfcGZuX0NhcHR1cmVTdGFja0JhY2tUcmFjZSkKICAgICB7Ci0gICAgICBobV9rZXJuZWwzMiA9 IExvYWRMaWJyYXJ5ICgiS2VybmVsMzIuZGxsIik7CisgICAgICBobV9rZXJuZWwzMiA9IExvYWRM aWJyYXJ5RXggKCJLZXJuZWwzMi5kbGwiLCBOVUxMLCBMT0FEX0xJQlJBUllfU0VBUkNIX1NZU1RF TTMyKTsKICAgICAgIHNfcGZuX0NhcHR1cmVTdGFja0JhY2tUcmFjZSA9CiAJKENhcHR1cmVTdGFj a0JhY2tUcmFjZV9wcm9jKSBHZXRQcm9jQWRkcmVzcyAoaG1fa2VybmVsMzIsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSdGxDYXB0dXJlU3Rh Y2tCYWNrVHJhY2UiKTsKZGlmZiAtLWdpdCBhL3NyYy93MzJoZWFwLmMgYi9zcmMvdzMyaGVhcC5j CmluZGV4IGNkMTMyNGNjODYuLjMwYjQzMDRhYWEgMTAwNjQ0Ci0tLSBhL3NyYy93MzJoZWFwLmMK KysrIGIvc3JjL3czMmhlYXAuYwpAQCAtMjQ5LDcgKzI0OSw3IEBAIGluaXRfaGVhcCAodm9pZCkK IAogI2lmbmRlZiBNSU5HV19XNjQKICAgICAgIC8qIFNldCB0aGUgbG93LWZyYWdtZW50YXRpb24g aGVhcCBmb3IgT1MgYmVmb3JlIFZpc3RhLiAgKi8KLSAgICAgIEhNT0RVTEUgaG1fa2VybmVsMzJk bGwgPSBMb2FkTGlicmFyeSAoImtlcm5lbDMyLmRsbCIpOworICAgICAgSE1PRFVMRSBobV9rZXJu ZWwzMmRsbCA9IExvYWRMaWJyYXJ5RXggKCJrZXJuZWwzMi5kbGwiLCBOVUxMLCBMT0FEX0xJQlJB UllfU0VBUkNIX1NZU1RFTTMyKTsKICAgICAgIEhlYXBTZXRJbmZvcm1hdGlvbl9Qcm9jIHNfcGZu X0hlYXBfU2V0X0luZm9ybWF0aW9uID0gKEhlYXBTZXRJbmZvcm1hdGlvbl9Qcm9jKSBHZXRQcm9j QWRkcmVzcyAoaG1fa2VybmVsMzJkbGwsICJIZWFwU2V0SW5mb3JtYXRpb24iKTsKICAgICAgIGlm IChzX3Bmbl9IZWFwX1NldF9JbmZvcm1hdGlvbiAhPSBOVUxMKQogCXsKQEAgLTI3OSw3ICsyNzks NyBAQCBpbml0X2hlYXAgKHZvaWQpCiAgICAgICAvKiBGaW5kIHRoZSBSdGxDcmVhdGVIZWFwIGZ1 bmN0aW9uLiAgSGVhZGVycyBmb3IgdGhpcyBmdW5jdGlvbgogICAgICAgICAgYXJlIHByb3ZpZGVk IHdpdGggdGhlIHczMiBEREssIGJ1dCB0aGUgZnVuY3Rpb24gaXMgYXZhaWxhYmxlCiAgICAgICAg ICBpbiBudGRsbC5kbGwgc2luY2UgWFAuICAqLwotICAgICAgSE1PRFVMRSBobV9udGRsbCA9IExv YWRMaWJyYXJ5ICgibnRkbGwuZGxsIik7CisgICAgICBITU9EVUxFIGhtX250ZGxsID0gTG9hZExp YnJhcnlFeCAoIm50ZGxsLmRsbCIsIE5VTEwsIExPQURfTElCUkFSWV9TRUFSQ0hfU1lTVEVNMzIp OwogICAgICAgUnRsQ3JlYXRlSGVhcF9Qcm9jIHNfcGZuX1J0bF9DcmVhdGVfSGVhcAogCT0gKFJ0 bENyZWF0ZUhlYXBfUHJvYykgR2V0UHJvY0FkZHJlc3MgKGhtX250ZGxsLCAiUnRsQ3JlYXRlSGVh cCIpOwogICAgICAgLyogU3BlY2lmaWMgcGFyYW1ldGVycyBmb3IgdGhlIHByaXZhdGUgaGVhcC4g ICovCmRpZmYgLS1naXQgYS9zcmMvdzMycHJvYy5jIGIvc3JjL3czMnByb2MuYwppbmRleCA0NDU5 ZWJlMzI0Li43YjUxMDQzYzk5IDEwMDY0NAotLS0gYS9zcmMvdzMycHJvYy5jCisrKyBiL3NyYy93 MzJwcm9jLmMKQEAgLTM2MDksNyArMzYyMCw3IEBAIHczMl9jb21wYXJlX3N0cmluZ3MgKGNvbnN0 IGNoYXIgKnMxLCBjb25zdCBjaGFyICpzMiwgY2hhciAqbG9jbmFtZSwKICAgICAgIGlmIChvc19z dWJ0eXBlID09IE9TXzlYKQogCXsKICAgICAgICAgICBwQ29tcGFyZVN0cmluZ1cgPQotICAgICAg ICAgICAgKENvbXBhcmVTdHJpbmdXX1Byb2MpIEdldFByb2NBZGRyZXNzIChMb2FkTGlicmFyeSAo IlVuaWNvd3MuZGxsIiksCisgICAgICAgICAgICAoQ29tcGFyZVN0cmluZ1dfUHJvYykgR2V0UHJv Y0FkZHJlc3MgKExvYWRMaWJyYXJ5RXggKCJVbmljb3dzLmRsbCIsIE5VTEwsIExPQURfTElCUkFS WV9TRUFSQ0hfU1lTVEVNMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiQ29tcGFyZVN0cmluZ1ciKTsKICAgICAgICAgICBpZiAoIXBDb21wYXJl U3RyaW5nVykKICAgICAgICAgICAgIHsK --94eb2c0746d0049036055921a62e--