Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w7KMw-005Bjz-0o for pgsql-hackers@arkaria.postgresql.org; Mon, 30 Mar 2026 21:41:58 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w7KMt-006b0s-2n for pgsql-hackers@arkaria.postgresql.org; Mon, 30 Mar 2026 21:41:56 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w7KMt-006b0i-1U for pgsql-hackers@lists.postgresql.org; Mon, 30 Mar 2026 21:41:55 +0000 Received: from mail-qv1-xf36.google.com ([2607:f8b0:4864:20::f36]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w7KMp-0000000245w-2D0I for pgsql-hackers@lists.postgresql.org; Mon, 30 Mar 2026 21:41:53 +0000 Received: by mail-qv1-xf36.google.com with SMTP id 6a1803df08f44-89fc349b5c2so24799806d6.0 for ; Mon, 30 Mar 2026 14:41:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774906910; cv=none; d=google.com; s=arc-20240605; b=WplXZhyFPAkpskTzduNt5DjSEMIGlXwEy9knXz+KsUb8chSlF9mtXDRbrzHUOFhZwC C3KD14RUg5c79CV5dQXd3aHdmrdMUB9Mad9QEE08IA57cVRbfi4boAtkdMH/TY1HxCax kMeS/+7Ac2o7GLe1UQ2DfQqqWzP9GnlldzjfVq60NSD4m+3iHozhVNh9p/upcaet8qDL eFroakPrXYE/gjCy6Cl/5PmSpkghL7vHhB27RmK3yolMetWDTlL9ZSAXk4nluLHd/U95 44/uMh2htPWg4S5OG3QZFOYIamK40qGQ+zVQvySuwOzP/lylVMui6rYR2jhBT7kPMaxx MMgw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=ljvNXd7vc/IatJbUcIWH6zGamBrfOESiXTmPF5q6JvM=; fh=Uhl2MTexsexFzR1+X600UgWow4h7Z8f6vT6XJ84cwSU=; b=cwdJbp8eMHbiuyNixK5euMESH65kN/BqKDIdFpZ4x0VSvTgMyxRDKT+Hb4IWKBS6zj 3HzMI7RDAa5whKQ4Di5HO3xuU+SYU8rMMKMBmZIj6ACFQRn3vZfYa0cJ8w1eHh0Ovj1Z 52kQjmsMWW27FVuZBOQV/GbBgV0F0o6wY2yU3VnBUbgYriZ5/ndBzuM0T59g+oSSzVN6 47wi1DwU+UrxxzgsGqYk8cYNKnP2XJz9+aRGz0s9GpEEACbLwczdvPdsoXSanlbP8r9i Rw++J5dmCGvdjefJWwIcYSUJhLHQqmg/DwGbn74nqx1LgGvLFWQebfxVnVov0ewmzgij Xgnw==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb.com; s=google; t=1774906910; x=1775511710; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=ljvNXd7vc/IatJbUcIWH6zGamBrfOESiXTmPF5q6JvM=; b=Ki2EEM7rJcskvrBxr4smulwjb/g7yGTd55rJx1yIMtyfj8gLZCikuisBJmLPYqwWd+ 4t8O8jeOgwE0e2TcsCg3XkS5RLNXP4JYiHrQsIfC3gwro5ABlQv313bIz7a2zwfSCIei O07pP8u2PRi954ZVLJYALWRGoInN40hXcDbBhvK5A6regZb2GWP0IJkloPpGbpXU/Z80 vNv6nVN/txZ7yFc/OnseoEypwiOJHcE305Q9ALQTOtY1jaNagvkdzt8FrXfq+M70XSZt rEXJb9j/a0f5F7AyvFMQTrnlRkL49MjQwPLTJKUmonXTgwjj3fpMqj2XQfSAEfwOkbR4 NDdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774906910; x=1775511710; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=ljvNXd7vc/IatJbUcIWH6zGamBrfOESiXTmPF5q6JvM=; b=OuBkIn5fboqQI94dNLBBaBiheJNzLDNUlb5eUkvKGaeBd36BZI7RBvQb+pk+nvMsCq focuezdPSsJVR6sVH53tUiyq1HLJBVx0x4Jl/h3qNWvcFr2lVbqJsFbSgXdHm8dOc09T eQGIGdl1Lrsqj7MWzqXdiuNr6zFevuTSdYTUdc9s5s7ua5vvKT0dhNavjWfToaE+61dL l5AagXUTwNYkPmZrJPWODF4oPl9t8F9p7/abaRK/arthDqfD2wJcI3rU+t2LielWs6RL 78+hyGka7OraFJ8HcU/OdlvgaXTStDuluQwxcMLT1i0ugkWRtPJpd/O62XaxsvlZ/OEB xT6Q== X-Gm-Message-State: AOJu0YzDdrhmRz57wcoXckIyIsBXKlIgt85czqrhh/CbSYi/UQiBOftS iloas7ok5QEXXAMHaL9X53B249G4qHGEPu1gcD3YPwUGrudKOdPNWFY6kwSVAOKM4nZGfcHf3SZ YkkpfixBRIbmOMOioSJSk7hETYYmumIFFuc+odWQs X-Gm-Gg: ATEYQzwnoEpdXxf3IUNmP9b8s4ooDKFyKJnOLaxClBWfdEMfAjL+CsRfGWColzJmHGd WzXLIZfgoiIartaXgQIkVdR2x7KcXWPCdpkSLdBxHdPKxyllzkEVdDFrux042vOEjyL3ww+/MHo 7bfd89wkAf9qwu7xwhZiOCyQG2x/IvvCwbnafHaPyHPBpQkIsYRrbjUr1ATf2LuBPNpnrybQ6+o 26mlYwiz3B8e/kxLFcGc6NagtwZq8mEuGc6xz4/CM21MP+KCTnEm3/sQWhx2g6Pc1HCvHAVzebl cIWbg/9kpg== X-Received: by 2002:a05:6214:d0d:b0:89f:2dd4:4705 with SMTP id 6a1803df08f44-89f2dd44dcemr151724036d6.44.1774906909721; Mon, 30 Mar 2026 14:41:49 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Jacob Champion Date: Mon, 30 Mar 2026 14:41:38 -0700 X-Gm-Features: AQROBzBa7oyXLr35BJEZ0WrMGzJem2JcyKLIryRdRYTv3HW9deWJK5LXm7RvpHI Message-ID: Subject: Re: [oauth] Split and extend PGOAUTHDEBUG To: Zsolt Parragi Cc: PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000ddf0f4064e44b71b" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000ddf0f4064e44b71b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Feb 18, 2026 at 7:08=E2=80=AFAM Zsolt Parragi wrote: > 1 is the same patch I already sent as part of the PGOAUTHCAFILE > discussion[1], rebased on the current master: it splits > PGOAUTHDEBUG=3DUNSAFE into separate unsafe/safe settings which users can > toggle one by one. > > 2 is a new unsafe setting issuer-mismatch, which allows a connection > to continue if the client and server issuers don't match. While this > isn't useful for end users, it makes testing validators easier, as > validators authors should be able to verify that mismatched > configurations are rejected properly by the validator. v2, attached, rebases this over 993368113. The big change is the removal of `custom-ca`; there were a couple of other tweaks to get both commits compiling independently. --Jacob --000000000000ddf0f4064e44b71b Content-Type: application/octet-stream; name="since-v1.nocfbot.diff" Content-Disposition: attachment; filename="since-v1.nocfbot.diff" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mndpmsx20 MTogIDU4NTNkNzllMGQ0ICEgMTogIGU1MWY3MTdlMDdjIFNwbGl0IFBHT0FVVEhERUJVRz1VTlNB RkUgaW50byBtdWx0aXBsZSBvcHRpb25zCiAgICBAQCBDb21taXQgbWVzc2FnZQogICAgICAgICBT cGxpdCBQR09BVVRIREVCVUc9VU5TQUZFIGludG8gbXVsdGlwbGUgb3B0aW9ucwogICAgIAogICAg ICAjIyBkb2Mvc3JjL3NnbWwvbGlicHEuc2dtbCAjIwogICAgLUBAIGRvYy9zcmMvc2dtbC9saWJw cS5zZ21sOiB0eXBlZGVmIHN0cnVjdCBQR29hdXRoQmVhcmVyUmVxdWVzdAogICAgLSAgICA8dGl0 bGU+RGVidWdnaW5nIGFuZCBEZXZlbG9wZXIgU2V0dGluZ3M8L3RpdGxlPgogICAgK0BAIGRvYy9z cmMvc2dtbC9saWJwcS5zZ21sOiB0eXBlZGVmIHN0cnVjdAogICAgKyAgICA8L3BhcmE+CiAgICAg IAogICAgICAgICA8cGFyYT4KICAgICAtICAgIEEgImRhbmdlcm91cyBkZWJ1Z2dpbmcgbW9kZSIg bWF5IGJlIGVuYWJsZWQgYnkgc2V0dGluZyB0aGUgZW52aXJvbm1lbnQKICAgIEBAIGRvYy9zcmMv c2dtbC9saWJwcS5zZ21sOiB0eXBlZGVmIHN0cnVjdCBQR29hdXRoQmVhcmVyUmVxdWVzdAogICAg IC0gICAgIDwvbGlzdGl0ZW0+CiAgICAgLSAgICAgPGxpc3RpdGVtPgogICAgIC0gICAgICA8cGFy YT4KICAgIC0tICAgICAgIGFsbG93cyB0aGUgc3lzdGVtJ3MgdHJ1c3RlZCBDQSBsaXN0IHRvIGJl IGNvbXBsZXRlbHkgcmVwbGFjZWQgdXNpbmcgdGhlCiAgICAtLSAgICAgICA8ZW52YXI+UEdPQVVU SENBRklMRTwvZW52YXI+IGVudmlyb25tZW50IHZhcmlhYmxlCiAgICAtLSAgICAgIDwvcGFyYT4K ICAgIC0tICAgICA8L2xpc3RpdGVtPgogICAgLS0gICAgIDxsaXN0aXRlbT4KICAgIC0tICAgICAg PHBhcmE+CiAgICAgLSAgICAgICBwcmludHMgSFRUUCB0cmFmZmljIChjb250YWluaW5nIHNldmVy YWwgY3JpdGljYWwgc2VjcmV0cykgdG8gc3RhbmRhcmQKICAgICAtICAgICAgIGVycm9yIGR1cmlu ZyB0aGUgT0F1dGggZmxvdwogICAgIC0gICAgICA8L3BhcmE+CiAgICBAQCBkb2Mvc3JjL3NnbWwv bGlicHEuc2dtbDogdHlwZWRlZiBzdHJ1Y3QgUEdvYXV0aEJlYXJlclJlcXVlc3QKICAgICArICAg ICA8L3Zhcmxpc3RlbnRyeT4KICAgICArCiAgICAgKyAgICAgPHZhcmxpc3RlbnRyeT4KICAgIC0r ICAgICAgPHRlcm0+PGxpdGVyYWw+Y3VzdG9tLWNhPC9saXRlcmFsPiAodW5zYWZlKTwvdGVybT4K ICAgIC0rICAgICAgPGxpc3RpdGVtPgogICAgLSsgICAgICAgPHBhcmE+CiAgICAtKyAgICAgICAg QWxsb3dzIHRoZSBzeXN0ZW0ncyB0cnVzdGVkIENBIGxpc3QgdG8gYmUgY29tcGxldGVseSByZXBs YWNlZCB1c2luZyB0aGUKICAgIC0rICAgICAgICA8ZW52YXI+UEdPQVVUSENBRklMRTwvZW52YXI+ IGVudmlyb25tZW50IHZhcmlhYmxlLiBUaGlzIGNhbiBmYWNpbGl0YXRlCiAgICAtKyAgICAgICAg bWFuLWluLXRoZS1taWRkbGUgYXR0YWNrcyB3aGVuIHRlc3Rpbmcgd2l0aCBzZWxmLXNpZ25lZCBj ZXJ0aWZpY2F0ZXMuCiAgICAtKyAgICAgICA8L3BhcmE+CiAgICAtKyAgICAgIDwvbGlzdGl0ZW0+ CiAgICAtKyAgICAgPC92YXJsaXN0ZW50cnk+CiAgICAtKwogICAgLSsgICAgIDx2YXJsaXN0ZW50 cnk+CiAgICAgKyAgICAgIDx0ZXJtPjxsaXRlcmFsPmZhc3QtcmV0cnk8L2xpdGVyYWw+IChzYWZl KTwvdGVybT4KICAgICArICAgICAgPGxpc3RpdGVtPgogICAgICsgICAgICAgPHBhcmE+CiAgICBA QCBkb2Mvc3JjL3NnbWwvbGlicHEuc2dtbDogdHlwZWRlZiBzdHJ1Y3QgUEdvYXV0aEJlYXJlclJl cXVlc3QKICAgICArICAgPC9wYXJhPgogICAgICsKICAgICArICAgPHBhcmE+CiAgICAtKyAgICBV bnNhZmUgb3B0aW9ucyAoPGxpdGVyYWw+aHR0cDwvbGl0ZXJhbD4sIDxsaXRlcmFsPnRyYWNlPC9s aXRlcmFsPiwKICAgIC0rICAgIDxsaXRlcmFsPmN1c3RvbS1jYTwvbGl0ZXJhbD4pIHJlcXVpcmUg dGhlIDxsaXRlcmFsPlVOU0FGRTo8L2xpdGVyYWw+IHByZWZpeC4KICAgICsrICAgIFVuc2FmZSBv cHRpb25zICg8bGl0ZXJhbD5odHRwPC9saXRlcmFsPiwgPGxpdGVyYWw+dHJhY2U8L2xpdGVyYWw+ KQogICAgKysgICAgcmVxdWlyZSB0aGUgPGxpdGVyYWw+VU5TQUZFOjwvbGl0ZXJhbD4gcHJlZml4 LgogICAgICsgICAgSWYgdW5zYWZlIG9wdGlvbnMgYXJlIHNwZWNpZmllZCB3aXRob3V0IHRoaXMg cHJlZml4LCBhIHdhcm5pbmcgaXMgcHJpbnRlZAogICAgICsgICAgdG8gc3RhbmRhcmQgZXJyb3Ig YW5kIHRoYXQgb3B0aW9uIGlzIGlnbm9yZWQuIE90aGVyIHZhbGlkIG9wdGlvbnMgaW4gdGhlCiAg ICAgKyAgICBsaXN0IGNvbnRpbnVlIHRvIHdvcmsuIFNhZmUgb3B0aW9ucyAoPGxpdGVyYWw+ZmFz dC1yZXRyeTwvbGl0ZXJhbD4sCiAgICAgKyAgICA8bGl0ZXJhbD5wb2xsLWNvdW50czwvbGl0ZXJh bD4sIDxsaXRlcmFsPnByaW50LXBsdWdpbi1lcnJvcnM8L2xpdGVyYWw+KSBjYW4KICAgICArICAg IGJlIHVzZWQgd2l0aG91dCB0aGUgcHJlZml4LgogICAgLSsgICA8L3BhcmE+CiAgICArICAgIDwv cGFyYT4KICAgICArCiAgICAgKyAgIDxwYXJhPgogICAgICsgICAgVW5yZWNvZ25pemVkIG9wdGlv biBuYW1lcyB3aWxsIGFsc28gdHJpZ2dlciBhIHdhcm5pbmcgYW5kIGJlIGlnbm9yZWQsIHdoaWxl CiAgICAgKyAgICB2YWxpZCBvcHRpb25zIGNvbnRpbnVlIHRvIHdvcmsuIFRoaXMgaGVscHMgY2F0 Y2ggdHlwb3MgaW4gdGhlIGVudmlyb25tZW50CiAgICAgKyAgICB2YXJpYWJsZSBjb25maWd1cmF0 aW9uIHdpdGhvdXQgYnJlYWtpbmcgdGhlIGRlYnVnZ2luZyBvZiB2YWxpZCBvcHRpb25zLgogICAg LSAgICA8L3BhcmE+CiAgICArKyAgIDwvcGFyYT4KICAgICArCiAgICAgKyAgIDxwYXJhPgogICAg ICsgICAgRXhhbXBsZXM6CiAgICAgKyAgICA8cHJvZ3JhbWxpc3Rpbmc+CiAgICAgK1BHT0FVVEhE RUJVRz1mYXN0LXJldHJ5LHBvbGwtY291bnRzICAgIDxsaW5lYW5ub3RhdGlvbj5zYWZlIG9wdGlv bnMgb25seTwvbGluZWFubm90YXRpb24+CiAgICAgK1BHT0FVVEhERUJVRz1VTlNBRkU6aHR0cCx0 cmFjZSAgICA8bGluZWFubm90YXRpb24+ZW5hYmxlIEhUVFAgYW5kIHRyYWZmaWMgbG9nZ2luZzwv bGluZWFubm90YXRpb24+CiAgICAtK1BHT0FVVEhERUJVRz1VTlNBRkU6aHR0cCxjdXN0b20tY2Es cG9sbC1jb3VudHMgICAgPGxpbmVhbm5vdGF0aW9uPm1peCBvZiB1bnNhZmUgYW5kIHNhZmU8L2xp bmVhbm5vdGF0aW9uPgogICAgKytQR09BVVRIREVCVUc9VU5TQUZFOmh0dHAscG9sbC1jb3VudHMg ICAgPGxpbmVhbm5vdGF0aW9uPm1peCBvZiB1bnNhZmUgYW5kIHNhZmU8L2xpbmVhbm5vdGF0aW9u PgogICAgICtQR09BVVRIREVCVUc9VU5TQUZFICAgIDxsaW5lYW5ub3RhdGlvbj5sZWdhY3k7IGVu YWJsZXMgYWxsIG9wdGlvbnM8L2xpbmVhbm5vdGF0aW9uPgogICAgICsgICAgPC9wcm9ncmFtbGlz dGluZz4KICAgICArICAgPC9wYXJhPgogICAgQEAgc3JjL2ludGVyZmFjZXMvbGlicHEvbWVzb24u YnVpbGQKICAgICAgICAnZmUtY2FuY2VsLmMnLAogICAgIAogICAgICAjIyBzcmMvaW50ZXJmYWNl cy9saWJwcS1vYXV0aC9NYWtlZmlsZSAjIwogICAgLUBAIHNyYy9pbnRlcmZhY2VzL2xpYnBxLW9h dXRoL01ha2VmaWxlOiBvdmVycmlkZSBDRkxBR1MgKz0gJChQVEhSRUFEX0NGTEFHUykKICAgICtA QCBzcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC9NYWtlZmlsZTogb3ZlcnJpZGUgQ1BQRkxBR1Nf U0hMSUIgKz0gLURVU0VfUFJJVkFURV9FTkNPRElOR19GVU5DUwogICAgICBPQkpTID0gXAogICAg ICAJJChXSU4zMlJFUykKICAgICAgCiAgICBAQCBzcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC9N YWtlZmlsZTogb3ZlcnJpZGUgQ0ZMQUdTICs9ICQoUFRIUkVBRF9DRkxBR1MpCiAgICAgIAlvYXV0 aC11dGlscy5vIFwKICAgICArCWZlLWF1dGgtb2F1dGgtZGVidWdfc2hsaWIubwogICAgICAKICAg IC0gb2F1dGgtdXRpbHMubzogb3ZlcnJpZGUgQ1BQRkxBR1MgKz0gLURVU0VfRFlOQU1JQ19PQVVU SAogICAgLSBvYXV0aC1jdXJsX3NobGliLm86IG92ZXJyaWRlIENQUEZMQUdTX1NITElCICs9IC1E VVNFX0RZTkFNSUNfT0FVVEgKICAgIC0rZmUtYXV0aC1vYXV0aC1kZWJ1Z19zaGxpYi5vOiBvdmVy cmlkZSBDUFBGTEFHU19TSExJQiArPSAtRFVTRV9EWU5BTUlDX09BVVRICiAgICAtKwogICAgKyBv YXV0aC11dGlscy5vOiBvdmVycmlkZSBDUFBGTEFHUyArPSAkKENQUEZMQUdTX1NITElCKQogICAg KyAKICAgICArZmUtYXV0aC1vYXV0aC1kZWJ1Zy5vOiAkKGxpYnBxX3NyY2RpcikvZmUtYXV0aC1v YXV0aC1kZWJ1Zy5jCiAgICAgKwkkKENDKSAkKENGTEFHUykgJChDUFBGTEFHUykgLWMgJDwgLW8g JEAKICAgICArCiAgICAtK2ZlLWF1dGgtb2F1dGgtZGVidWdfc2hsaWIubzogJChsaWJwcV9zcmNk aXIpL2ZlLWF1dGgtb2F1dGgtZGVidWcuYwogICAgKytmZS1hdXRoLW9hdXRoLWRlYnVnX3NobGli Lm86ICQobGlicHFfc3JjZGlyKS9mZS1hdXRoLW9hdXRoLWRlYnVnLmMgZmUtYXV0aC1vYXV0aC1k ZWJ1Zy5vCiAgICAgKwkkKENDKSAkKENGTEFHUykgJChDRkxBR1NfU0wpICQoQ1BQRkxBR1MpICQo Q1BQRkxBR1NfU0hMSUIpIC1jICQ8IC1vICRACiAgICAtIAogICAgKysKICAgICAgIyBBZGQgc2hs aWItL3N0bGliLXNwZWNpZmljIG9iamVjdHMuCiAgICAgICQoc2hsaWIpOiBvdmVycmlkZSBPQkpT ICs9ICQoT0JKU19TSExJQikKICAgICsgJChzaGxpYik6ICQoT0JKU19TSExJQikKICAgICAKICAg ICAgIyMgc3JjL2ludGVyZmFjZXMvbGlicHEvTWFrZWZpbGUgIyMKICAgICBAQCBzcmMvaW50ZXJm YWNlcy9saWJwcS9NYWtlZmlsZTogT0JKUyA9IFwKICAgIEBAIHNyYy9pbnRlcmZhY2VzL2xpYnBx L01ha2VmaWxlOiBPQkpTID0gXAogICAgICBpZm5lcSAoJCh3aXRoX3NzbCksbm8pCiAgICAgCiAg ICAgICMjIHNyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL29hdXRoLXV0aWxzLmggIyMKICAgICtA QAogICAgKyAjaWZuZGVmIE9BVVRIX1VUSUxTX0gKICAgICsgI2RlZmluZSBPQVVUSF9VVElMU19I CiAgICArIAogICAgKysjaW5jbHVkZSAiZmUtYXV0aC1vYXV0aC5oIgogICAgKyAjaW5jbHVkZSAi bGlicHEtZmUuaCIKICAgICsgI2luY2x1ZGUgInBxZXhwYnVmZmVyLmgiCiAgICArIAogICAgIEBA IHNyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL29hdXRoLXV0aWxzLmg6IHR5cGVkZWYgZW51bQog ICAgKyAJUEdfQk9PTF9OTwkJCQkJLyogTm8gKGZhbHNlKSAqLwogICAgICB9IFBHVGVybmFyeUJv b2w7CiAgICAgIAogICAgLSBleHRlcm4gdm9pZCBsaWJwcV9hcHBlbmRfY29ubl9lcnJvcihQR2Nv bm4gKmNvbm4sIGNvbnN0IGNoYXIgKmZtdCwuLi4pIHBnX2F0dHJpYnV0ZV9wcmludGYoMiwgMyk7 CiAgICAgLWV4dGVybiBib29sIG9hdXRoX3Vuc2FmZV9kZWJ1Z2dpbmdfZW5hYmxlZCh2b2lkKTsK ICAgICArZXh0ZXJuIG9hdXRoX2RlYnVnX2ZsYWdzIG9hdXRoX2dldF9kZWJ1Z19mbGFncyh2b2lk KTsKICAgICAgZXh0ZXJuIGludAlwcV9ibG9ja19zaWdwaXBlKHNpZ3NldF90ICpvc2lnc2V0LCBi b29sICpzaWdwaXBlX3BlbmRpbmcpOwogICAgQEAgc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0 aC1vYXV0aC5oOiB0eXBlZGVmIHN0cnVjdAogICAgICsJLyogVU5TQUZFIGZlYXR1cmVzIC0gcmVx dWlyZSBVTlNBRkU6IHByZWZpeCAqLwogICAgICsJYm9vbAkJaHR0cDsJCQkvKiBhbGxvdyBIVFRQ ICh1bmVuY3J5cHRlZCkgY29ubmVjdGlvbnMgKi8KICAgICArCWJvb2wJCXRyYWNlOwkJCS8qIGxv ZyBIVFRQIHRyYWZmaWMgKGV4cG9zZXMgc2VjcmV0cykgKi8KICAgIC0rCWJvb2wJCWN1c3RvbV9j YTsJCS8qIGFsbG93IGN1c3RvbSBDQSBjZXJ0aWZpY2F0ZSBmaWxlICovCiAgICAgKwogICAgICsJ LyogU0FGRSBmZWF0dXJlcyAtIGFsbG93ZWQgd2l0aG91dCBVTlNBRkU6IHByZWZpeCAqLwogICAg ICsJYm9vbAkJZmFzdF9yZXRyeTsJCS8qIGFsbG93IHplcm8tc2Vjb25kIHJldHJ5IGludGVydmFs cyAqLwogICAgQEAgc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0aC1vYXV0aC5oOiB0eXBlZGVm IHN0cnVjdAogICAgICBleHRlcm4gdm9pZCBwcUNsZWFyT0F1dGhUb2tlbihQR2Nvbm4gKmNvbm4p OwogICAgIC1leHRlcm4gYm9vbCBvYXV0aF91bnNhZmVfZGVidWdnaW5nX2VuYWJsZWQodm9pZCk7 CiAgICAgK2V4dGVybiBvYXV0aF9kZWJ1Z19mbGFncyBvYXV0aF9nZXRfZGVidWdfZmxhZ3Modm9p ZCk7CiAgICAtIGV4dGVybiBib29sIHVzZV9idWlsdGluX2Zsb3coUEdjb25uICpjb25uLCBmZV9v YXV0aF9zdGF0ZSAqc3RhdGUpOwogICAgICAKICAgICAgLyogTWVjaGFuaXNtcyBpbiBmZS1hdXRo LW9hdXRoLmMgKi8KICAgICsgZXh0ZXJuIGNvbnN0IHBnX2ZlX3Nhc2xfbWVjaCBwZ19vYXV0aF9t ZWNoOwogICAgIAogICAgICAjIyBzcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC9vYXV0aC1jdXJs LmMgIyMKICAgICBAQCBzcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC9vYXV0aC1jdXJsLmM6IHN0 cnVjdCBhc3luY19jdHgKICAgIEBAIHNyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL29hdXRoLWN1 cmwuYzogc2V0dXBfY3VybF9oYW5kbGVzKHN0cnVjdCBhc3luY19jdHggKmFjCiAgICAgIAkJCXBy b3RvcyA9IHVuc2FmZTsKICAgICAgCiAgICAgIAkJQ0hFQ0tfU0VUT1BUKGFjdHgsIHBvcHQsIHBy b3RvcywgcmV0dXJuIGZhbHNlKTsKICAgIC1AQCBzcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC9v YXV0aC1jdXJsLmM6IHNldHVwX2N1cmxfaGFuZGxlcyhzdHJ1Y3QgYXN5bmNfY3R4ICphY3R4KQog ICAgLSAJICogdGhlIGZsb3cgdG8gd29yayBhdCBhbGwsIHNvIGFueSBjaGFuZ2VzIHRvIHRoZSBy b290cyBhcmUgbGlrZWx5IHRvIGJlCiAgICAtIAkgKiBkb25lIHN5c3RlbS13aWRlLgogICAgLSAJ ICovCiAgICAtLQlpZiAoYWN0eC0+ZGVidWdnaW5nKQogICAgLSsJaWYgKGFjdHgtPmRlYnVnX2Zs YWdzLmN1c3RvbV9jYSkKICAgIC0gCXsKICAgIC0gCQljb25zdCBjaGFyICplbnY7CiAgICAtIAog ICAgIEBAIHNyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL29hdXRoLWN1cmwuYzogY2hlY2tfZm9y X2RldmljZV9mbG93KHN0cnVjdCBhc3luY19jdHggKmFjdHgpCiAgICAgIAkgKiBkZWNlbnQgdGlt ZSB0byBiYWlsIG91dCBpZiB3ZSdyZSBub3QgdXNpbmcgSFRUUFMgZm9yIHRoZSBlbmRwb2ludHMK ICAgICAgCSAqIHdlJ2xsIHVzZSBmb3IgdGhlIGZsb3cuCiAgICBAQCBzcmMvaW50ZXJmYWNlcy9s aWJwcS1vYXV0aC9vYXV0aC1jdXJsLmM6IGNoZWNrX2Zvcl9kZXZpY2VfZmxvdyhzdHJ1Y3QgYXN5 bmNfY3R4CiAgICAgIAl7CiAgICAgIAkJaWYgKHBnX3N0cm5jYXNlY21wKHByb3ZpZGVyLT5kZXZp Y2VfYXV0aG9yaXphdGlvbl9lbmRwb2ludCwKICAgICAgCQkJCQkJICAgSFRUUFNfU0NIRU1FLCBz dHJsZW4oSFRUUFNfU0NIRU1FKSkgIT0gMCkKICAgIC1AQCBzcmMvaW50ZXJmYWNlcy9saWJwcS1v YXV0aC9vYXV0aC1jdXJsLmM6IHBnX2ZlX3J1bl9vYXV0aF9mbG93X2ltcGwoUEdjb25uICpjb25u KQogICAgLSAJCWFjdHgtPm11eCA9IFBHSU5WQUxJRF9TT0NLRVQ7CiAgICAtIAkJYWN0eC0+dGlt ZXJmZCA9IC0xOwogICAgLSAKICAgIC0tCQkvKiBTaG91bGQgd2UgZW5hYmxlIHVuc2FmZSBmZWF0 dXJlcz8gKi8KICAgIC0tCQlhY3R4LT5kZWJ1Z2dpbmcgPSBvYXV0aF91bnNhZmVfZGVidWdnaW5n X2VuYWJsZWQoKTsKICAgIC0rCQkvKiBQYXJzZSBkZWJ1ZyBmbGFncyBmcm9tIGVudmlyb25tZW50 ICovCiAgICAtKwkJYWN0eC0+ZGVidWdfZmxhZ3MgPSBvYXV0aF9nZXRfZGVidWdfZmxhZ3MoKTsK ICAgIC0gCiAgICAtIAkJc3RhdGUtPmFzeW5jX2N0eCA9IGFjdHg7CiAgICAtIAogICAgLUBAIHNy Yy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL29hdXRoLWN1cmwuYzogcGdfZmVfcnVuX29hdXRoX2Zs b3coUEdjb25uICpjb25uKQogICAgLSAJYWN0eCA9IHN0YXRlLT5hc3luY19jdHg7CiAgICAtIAlB c3NlcnQoYWN0eCB8fCByZXN1bHQgPT0gUEdSRVNfUE9MTElOR19GQUlMRUQpOwogICAgLSAKICAg IC0tCWlmIChhY3R4ICYmIGFjdHgtPmRlYnVnZ2luZykKICAgICtAQCBzcmMvaW50ZXJmYWNlcy9s aWJwcS1vYXV0aC9vYXV0aC1jdXJsLmM6IHBnX2ZlX3J1bl9vYXV0aF9mbG93KFBHY29ubiAqY29u biwgc3RydWN0IFBHb2F1dGhCZWFyZXJSZXF1ZXN0ICpyZXF1ZXN0LAogICAgKyAJICogZHJhaW5f dGltZXJfZXZlbnRzKCksIHdoZW4gd2UncmUgaW4gZGVidWcgbW9kZSwgdHJhY2sgdGhlIHRvdGFs IG51bWJlcgogICAgKyAJICogb2YgY2FsbHMgdG8gdGhpcyBmdW5jdGlvbiBhbmQgcHJpbnQgdGhh dCBhdCB0aGUgZW5kIG9mIHRoZSBmbG93LgogICAgKyAJICovCiAgICArLQlpZiAoYWN0eC0+ZGVi dWdnaW5nKQogICAgICsJaWYgKGFjdHggJiYgYWN0eC0+ZGVidWdfZmxhZ3MucG9sbF9jb3VudHMp CiAgICAgIAl7CiAgICAgIAkJYWN0eC0+ZGJnX251bV9jYWxscysrOwogICAgICAJCWlmIChyZXN1 bHQgPT0gUEdSRVNfUE9MTElOR19PSyB8fCByZXN1bHQgPT0gUEdSRVNfUE9MTElOR19GQUlMRUQp CiAgICArQEAgc3JjL2ludGVyZmFjZXMvbGlicHEtb2F1dGgvb2F1dGgtY3VybC5jOiBwZ19zdGFy dF9vYXV0aGJlYXJlcihQR2Nvbm4gKmNvbm4sIFBHb2F1dGhCZWFyZXJSZXF1ZXN0VjIgKnJlcXVl c3QpCiAgICArIAkgKiBOb3cgZmluaXNoIGZpbGxpbmcgaW4gdGhlIGFjdHguCiAgICArIAkgKi8K ICAgICsgCiAgICArLQkvKiBTaG91bGQgd2UgZW5hYmxlIHVuc2FmZSBmZWF0dXJlcz8gKi8KICAg ICstCWFjdHgtPmRlYnVnZ2luZyA9IG9hdXRoX3Vuc2FmZV9kZWJ1Z2dpbmdfZW5hYmxlZCgpOwog ICAgKysJLyogUGFyc2UgZGVidWcgZmxhZ3MgZnJvbSB0aGUgZW52aXJvbm1lbnQuICovCiAgICAr KwlhY3R4LT5kZWJ1Z19mbGFncyA9IG9hdXRoX2dldF9kZWJ1Z19mbGFncygpOwogICAgKyAKICAg ICsgCWluaXRQUUV4cEJ1ZmZlcigmYWN0eC0+d29ya19kYXRhKTsKICAgICsgCWluaXRQUUV4cEJ1 ZmZlcigmYWN0eC0+ZXJyYnVmKTsKICAgICAKICAgICAgIyMgc3JjL2ludGVyZmFjZXMvbGlicHEt b2F1dGgvb2F1dGgtdXRpbHMuYyAjIwogICAgIEBAIHNyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRo L29hdXRoLXV0aWxzLmM6IGxpYnBxX2dldHRleHQoY29uc3QgY2hhciAqbXNnaWQpCiAgICBAQCBz cmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC90ZXN0LW9hdXRoLWN1cmwuYzogaW5pdF90ZXN0X2Fj dHgodm9pZCkKICAgICAtCWFjdHgtPmRlYnVnZ2luZyA9IHRydWU7CiAgICAgKwlhY3R4LT5kZWJ1 Z19mbGFncy5odHRwID0gdHJ1ZTsKICAgICArCWFjdHgtPmRlYnVnX2ZsYWdzLnRyYWNlID0gdHJ1 ZTsKICAgIC0rCWFjdHgtPmRlYnVnX2ZsYWdzLmN1c3RvbV9jYSA9IHRydWU7CiAgICAtKwlhY3R4 LT5kZWJ1Z19mbGFncy5pc3N1ZXJfbWlzbWF0Y2ggPSB0cnVlOwogICAgICsJYWN0eC0+ZGVidWdf ZmxhZ3MuZmFzdF9yZXRyeSA9IHRydWU7CiAgICAgKwlhY3R4LT5kZWJ1Z19mbGFncy5wb2xsX2Nv dW50cyA9IHRydWU7CiAgICAgKwlhY3R4LT5kZWJ1Z19mbGFncy5wcmludF9wbHVnaW5fZXJyb3Jz ID0gdHJ1ZTsKICAgIEBAIHNyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGgtb2F1dGgtZGVidWcu YyAobmV3KQogICAgICsJCSppc191bnNhZmUgPSB0cnVlOwogICAgICsJCXJldHVybiB0cnVlOwog ICAgICsJfQogICAgLSsJZWxzZSBpZiAoc3RyY21wKG9wdGlvbiwgImN1c3RvbS1jYSIpID09IDAp CiAgICAtKwl7CiAgICAtKwkJZmxhZ3MtPmN1c3RvbV9jYSA9IHRydWU7CiAgICAtKwkJKmlzX3Vu c2FmZSA9IHRydWU7CiAgICAtKwkJcmV0dXJuIHRydWU7CiAgICAtKwl9CiAgICAgKwkvKiBTYWZl IG9wdGlvbnMgKi8KICAgICArCWVsc2UgaWYgKHN0cmNtcChvcHRpb24sICJmYXN0LXJldHJ5Iikg PT0gMCkKICAgICArCXsKICAgIEBAIHNyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGgtb2F1dGgt ZGVidWcuYyAobmV3KQogICAgICsJewogICAgICsJCWZsYWdzLmh0dHAgPSB0cnVlOwogICAgICsJ CWZsYWdzLnRyYWNlID0gdHJ1ZTsKICAgIC0rCQlmbGFncy5jdXN0b21fY2EgPSB0cnVlOwogICAg ICsJCWZsYWdzLmZhc3RfcmV0cnkgPSB0cnVlOwogICAgICsJCWZsYWdzLnBvbGxfY291bnRzID0g dHJ1ZTsKICAgICArCQlmbGFncy5wcmludF9wbHVnaW5fZXJyb3JzID0gdHJ1ZTsKICAgIEBAIHNy Yy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGgtb2F1dGguYzogaXNzdWVyX2Zyb21fd2VsbF9rbm93 bl91cmkoUEdjb25uICpjb25uLCBjCiAgICAgIAkJJiYgcGdfc3RybmNhc2VjbXAod2t1cmksIEhU VFBfU0NIRU1FLCBzdHJsZW4oSFRUUF9TQ0hFTUUpKSA9PSAwKQogICAgICAJewogICAgICAJCS8q IEFsbG93IGh0dHA6Ly8gZm9yIHRlc3Rpbmcgb25seS4gKi8KICAgIC1AQCBzcmMvaW50ZXJmYWNl cy9saWJwcS9mZS1hdXRoLW9hdXRoLmM6IHVzZV9idWlsdGluX2Zsb3coUEdjb25uICpjb25uLCBm ZV9vYXV0aF9zdGF0ZSAqc3RhdGUpCiAgICArQEAgc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0 aC1vYXV0aC5jOiB1c2VfYnVpbHRpbl9mbG93KFBHY29ubiAqY29ubiwgZmVfb2F1dGhfc3RhdGUg KnN0YXRlLCBQR29hdXRoQmVhcmVyUmVxdWVzdFYyICpyZQogICAgICAJCSAqCiAgICAgIAkJICog Tm90ZSB0aGF0IFBPU0lYIGRsZXJyb3IoKSBpc24ndCBndWFyYW50ZWVkIHRvIGJlIHRocmVhZHNh ZmUuCiAgICAgIAkJICovCiAgICBAQCBzcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1hdXRoLW9hdXRo LmM6IHVzZV9idWlsdGluX2Zsb3coUEdjb25uICpjb25uLCBmZV9vYXV0aF9zdAogICAgICsJCWlm IChvYXV0aF9nZXRfZGVidWdfZmxhZ3MoKS5wcmludF9wbHVnaW5fZXJyb3JzKQogICAgICAJCQlm cHJpbnRmKHN0ZGVyciwgImZhaWxlZCBkbG9wZW4gZm9yIGxpYnBxLW9hdXRoOiAlc1xuIiwgZGxl cnJvcigpKTsKICAgICAgCiAgICAtIAkJcmV0dXJuIGZhbHNlOwogICAgLUBAIHNyYy9pbnRlcmZh Y2VzL2xpYnBxL2ZlLWF1dGgtb2F1dGguYzogdXNlX2J1aWx0aW5fZmxvdyhQR2Nvbm4gKmNvbm4s IGZlX29hdXRoX3N0YXRlICpzdGF0ZSkKICAgIC0gCQkgKiBUaGlzIGlzIG1vcmUgb2YgYW4gZXJy b3IgY29uZGl0aW9uIHRoYW4gdGhlIG9uZSBhYm92ZSwgYnV0IGR1ZSB0bwogICAgLSAJCSAqIHRo ZSBkbGVycm9yKCkgdGhyZWFkc2FmZXR5IGlzc3VlLCBsb2NrIGl0IGJlaGluZCBQR09BVVRIREVC VUcgdG9vLgogICAgKyAJCXJldHVybiAwOwogICAgK0BAIHNyYy9pbnRlcmZhY2VzL2xpYnBxL2Zl LWF1dGgtb2F1dGguYzogdXNlX2J1aWx0aW5fZmxvdyhQR2Nvbm4gKmNvbm4sIGZlX29hdXRoX3N0 YXRlICpzdGF0ZSwgUEdvYXV0aEJlYXJlclJlcXVlc3RWMiAqcmUKICAgICsgCQkgKiBjYXVzZSBp cyBzdGlsbCBsb2NrZWQgYmVoaW5kIFBHT0FVVEhERUJVRyBkdWUgdG8gdGhlIGRsZXJyb3IoKQog ICAgKyAJCSAqIHRocmVhZHNhZmV0eSBpc3N1ZS4KICAgICAgCQkgKi8KICAgICAtCQlpZiAob2F1 dGhfdW5zYWZlX2RlYnVnZ2luZ19lbmFibGVkKCkpCiAgICAgKwkJaWYgKG9hdXRoX2dldF9kZWJ1 Z19mbGFncygpLnByaW50X3BsdWdpbl9lcnJvcnMpCjI6ICA1ZmM3YTE5ODc2YiAhIDI6ICA5MzNm NjQzMmY4NyBBZGQgbmV3IFBHT0FVVEhERUJVRyBvcHRpb246IGlzc3Vlci1taXNtYXRjaAogICAg QEAgZG9jL3NyYy9zZ21sL2xpYnBxLnNnbWw6IFBHT0FVVEhERUJVRz1VTlNBRkUgICAgPGxpbmVh bm5vdGF0aW9uPmxlZ2FjeSBmb3JtYXQ7IGUKICAgICAgICAgICAgPHRlcm0+PGxpdGVyYWw+ZmFz dC1yZXRyeTwvbGl0ZXJhbD4gKHNhZmUpPC90ZXJtPgogICAgICAgICAgICA8bGlzdGl0ZW0+CiAg ICAgQEAgZG9jL3NyYy9zZ21sL2xpYnBxLnNnbWw6IFBHT0FVVEhERUJVRz1VTlNBRkUgICAgPGxp bmVhbm5vdGF0aW9uPmxlZ2FjeSBmb3JtYXQ7IGVuYWJsZXMgYWxsIG9wdGlvbnM8L2xpbmVhCiAg ICArICAgIDwvcGFyYT4KICAgICAgCiAgICAgICAgIDxwYXJhPgogICAgLSAgICAgVW5zYWZlIG9w dGlvbnMgKDxsaXRlcmFsPmh0dHA8L2xpdGVyYWw+LCA8bGl0ZXJhbD50cmFjZTwvbGl0ZXJhbD4s CiAgICAtLSAgICA8bGl0ZXJhbD5jdXN0b20tY2E8L2xpdGVyYWw+KSByZXF1aXJlIHRoZSA8bGl0 ZXJhbD5VTlNBRkU6PC9saXRlcmFsPiBwcmVmaXguCiAgICAtKyAgICA8bGl0ZXJhbD5jdXN0b20t Y2E8L2xpdGVyYWw+LCA8bGl0ZXJhbD5pc3N1ZXItbWlzbWF0Y2g8L2xpdGVyYWw+KSByZXF1aXJl IHRoZSA8bGl0ZXJhbD5VTlNBRkU6PC9saXRlcmFsPiBwcmVmaXguCiAgICArLSAgICBVbnNhZmUg b3B0aW9ucyAoPGxpdGVyYWw+aHR0cDwvbGl0ZXJhbD4sIDxsaXRlcmFsPnRyYWNlPC9saXRlcmFs PikKICAgICstICAgIHJlcXVpcmUgdGhlIDxsaXRlcmFsPlVOU0FGRTo8L2xpdGVyYWw+IHByZWZp eC4KICAgICsrICAgIFVuc2FmZSBvcHRpb25zICg8bGl0ZXJhbD5odHRwPC9saXRlcmFsPiwgPGxp dGVyYWw+dHJhY2U8L2xpdGVyYWw+LAogICAgKysgICAgPGxpdGVyYWw+aXNzdWVyLW1pc21hdGNo PC9saXRlcmFsPikgcmVxdWlyZSB0aGUgPGxpdGVyYWw+VU5TQUZFOjwvbGl0ZXJhbD4gcHJlZml4 LgogICAgICAgICAgSWYgdW5zYWZlIG9wdGlvbnMgYXJlIHNwZWNpZmllZCB3aXRob3V0IHRoaXMg cHJlZml4LCBhIHdhcm5pbmcgaXMgcHJpbnRlZAogICAgICAgICAgdG8gc3RhbmRhcmQgZXJyb3Ig YW5kIHRoYXQgb3B0aW9uIGlzIGlnbm9yZWQuIE90aGVyIHZhbGlkIG9wdGlvbnMgaW4gdGhlCiAg ICAgICAgICBsaXN0IGNvbnRpbnVlIHRvIHdvcmsuIFNhZmUgb3B0aW9ucyAoPGxpdGVyYWw+ZmFz dC1yZXRyeTwvbGl0ZXJhbD4sCiAgICAgCiAgICAgICMjIHNyYy9pbnRlcmZhY2VzL2xpYnBxL2Zl LWF1dGgtb2F1dGguaCAjIwogICAgIEBAIHNyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGgtb2F1 dGguaDogdHlwZWRlZiBzdHJ1Y3Qgb2F1dGhfZGVidWdfZmxhZ3MKICAgICsgCS8qIFVOU0FGRSBm ZWF0dXJlcyAtIHJlcXVpcmUgVU5TQUZFOiBwcmVmaXggKi8KICAgICAgCWJvb2wJCWh0dHA7CQkJ LyogYWxsb3cgSFRUUCAodW5lbmNyeXB0ZWQpIGNvbm5lY3Rpb25zICovCiAgICAgIAlib29sCQl0 cmFjZTsJCQkvKiBsb2cgSFRUUCB0cmFmZmljIChleHBvc2VzIHNlY3JldHMpICovCiAgICAtIAli b29sCQljdXN0b21fY2E7CQkvKiBhbGxvdyBjdXN0b20gQ0EgY2VydGlmaWNhdGUgZmlsZSAqLwog ICAgICsJYm9vbAkJaXNzdWVyX21pc21hdGNoOwkvKiB0b2xlcmF0ZSBpc3N1ZXIgbWlzbWF0Y2gg Ki8KICAgICAgCiAgICAgIAkvKiBTQUZFIGZlYXR1cmVzIC0gYWxsb3dlZCB3aXRob3V0IFVOU0FG RTogcHJlZml4ICovCiAgICBAQCBzcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC9vYXV0aC1jdXJs LmM6IGNoZWNrX2lzc3VlcihzdHJ1Y3QgYXN5bmNfY3R4ICphY3R4LCBQRwogICAgICAKICAgICAg CXJldHVybiB0cnVlOwogICAgIAogICAgKyAjIyBzcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC90 ZXN0LW9hdXRoLWN1cmwuYyAjIwogICAgK0BAIHNyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL3Rl c3Qtb2F1dGgtY3VybC5jOiBpbml0X3Rlc3RfYWN0eCh2b2lkKQogICAgKyAJYWN0eC0+dGltZXJm ZCA9IC0xOwogICAgKyAJYWN0eC0+ZGVidWdfZmxhZ3MuaHR0cCA9IHRydWU7CiAgICArIAlhY3R4 LT5kZWJ1Z19mbGFncy50cmFjZSA9IHRydWU7CiAgICArKwlhY3R4LT5kZWJ1Z19mbGFncy5pc3N1 ZXJfbWlzbWF0Y2ggPSB0cnVlOwogICAgKyAJYWN0eC0+ZGVidWdfZmxhZ3MuZmFzdF9yZXRyeSA9 IHRydWU7CiAgICArIAlhY3R4LT5kZWJ1Z19mbGFncy5wb2xsX2NvdW50cyA9IHRydWU7CiAgICAr IAlhY3R4LT5kZWJ1Z19mbGFncy5wcmludF9wbHVnaW5fZXJyb3JzID0gdHJ1ZTsKICAgICsKICAg ICAgIyMgc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0aC1vYXV0aC1kZWJ1Zy5jICMjCiAgICAg QEAgc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0aC1vYXV0aC1kZWJ1Zy5jOiBwYXJzZV9kZWJ1 Z19vcHRpb24oY29uc3QgY2hhciAqb3B0aW9uLCBvYXV0aF9kZWJ1Z19mbGFncyAqZmxhZ3MsIGJv b2wgKmlzX3Vuc2FmZQogICAgICAJCSppc191bnNhZmUgPSB0cnVlOwogICAgQEAgc3JjL2ludGVy ZmFjZXMvbGlicHEvZmUtYXV0aC1vYXV0aC1kZWJ1Zy5jOiBwYXJzZV9kZWJ1Z19vcHRpb24oY29u c3QgY2hhciAqb3B0aW8KICAgICAgCWVsc2UgaWYgKHN0cmNtcChvcHRpb24sICJmYXN0LXJldHJ5 IikgPT0gMCkKICAgICAgCXsKICAgICBAQCBzcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1hdXRoLW9h dXRoLWRlYnVnLmM6IG9hdXRoX2dldF9kZWJ1Z19mbGFncyh2b2lkKQogICAgKyAJewogICAgICAJ CWZsYWdzLmh0dHAgPSB0cnVlOwogICAgICAJCWZsYWdzLnRyYWNlID0gdHJ1ZTsKICAgIC0gCQlm bGFncy5jdXN0b21fY2EgPSB0cnVlOwogICAgICsJCWZsYWdzLmlzc3Vlcl9taXNtYXRjaCA9IHRy dWU7CiAgICAgIAkJZmxhZ3MuZmFzdF9yZXRyeSA9IHRydWU7CiAgICAgIAkJZmxhZ3MucG9sbF9j b3VudHMgPSB0cnVlOwo= --000000000000ddf0f4064e44b71b Content-Type: application/octet-stream; name="v2-0001-Split-PGOAUTHDEBUG-UNSAFE-into-multiple-options.patch" Content-Disposition: attachment; filename="v2-0001-Split-PGOAUTHDEBUG-UNSAFE-into-multiple-options.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mndpmuvl1 RnJvbSBlNTFmNzE3ZTA3YzYzNzRjOTljMTk4YTNhYzE4YjZkZjY3ZmIxNjIwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBac29sdCBQYXJyYWdpIDx6c29sdC5wYXJyYWdpQHBlcmNvbmEu Y29tPgpEYXRlOiBUaHUsIDExIERlYyAyMDI1IDIzOjU2OjA4ICswMDAwClN1YmplY3Q6IFtQQVRD SCB2MiAxLzJdIFNwbGl0IFBHT0FVVEhERUJVRz1VTlNBRkUgaW50byBtdWx0aXBsZSBvcHRpb25z CgotLS0KIGRvYy9zcmMvc2dtbC9saWJwcS5zZ21sICAgICAgICAgICAgICAgICAgICAgIHwgMTI3 ICsrKysrKysrKysrKystLS0tCiBzcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC9tZXNvbi5idWls ZCAgICAgICB8ICAgNiArLQogc3JjL2ludGVyZmFjZXMvbGlicHEvbWVzb24uYnVpbGQgICAgICAg ICAgICAgfCAgIDEgKwogc3JjL2ludGVyZmFjZXMvbGlicHEtb2F1dGgvTWFrZWZpbGUgICAgICAg ICAgfCAgMTEgKy0KIHNyYy9pbnRlcmZhY2VzL2xpYnBxL01ha2VmaWxlICAgICAgICAgICAgICAg IHwgICAzICstCiBzcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC9vYXV0aC11dGlscy5oICAgICB8 ICAgMyArLQogc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0aC1vYXV0aC5oICAgICAgICAgfCAg MTggKystCiBzcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC9vYXV0aC1jdXJsLmMgICAgICB8ICAx NiArLS0KIHNyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL29hdXRoLXV0aWxzLmMgICAgIHwgIDEx IC0tCiBzcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC90ZXN0LW9hdXRoLWN1cmwuYyB8ICAgNiAr LQogc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0aC1vYXV0aC1kZWJ1Zy5jICAgfCAxNDAgKysr KysrKysrKysrKysrKysrKwogc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0aC1vYXV0aC5jICAg ICAgICAgfCAgMTYgKy0tCiAxMiBmaWxlcyBjaGFuZ2VkLCAyOTUgaW5zZXJ0aW9ucygrKSwgNjMg ZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2ludGVyZmFjZXMvbGlicHEvZmUt YXV0aC1vYXV0aC1kZWJ1Zy5jCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2xpYnBxLnNnbWwg Yi9kb2Mvc3JjL3NnbWwvbGlicHEuc2dtbAppbmRleCBhNDhkMzE2MTQ5NS4uMmU1ZmI5MDExZTkg MTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9saWJwcS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9s aWJwcS5zZ21sCkBAIC0xMDY0MywzNSArMTA2NDMsMTEyIEBAIHR5cGVkZWYgc3RydWN0CiAgICA8 L3BhcmE+CiAKICAgIDxwYXJhPgotICAgIEEgImRhbmdlcm91cyBkZWJ1Z2dpbmcgbW9kZSIgbWF5 IGJlIGVuYWJsZWQgYnkgc2V0dGluZyB0aGUgZW52aXJvbm1lbnQKLSAgICB2YXJpYWJsZSA8ZW52 YXI+UEdPQVVUSERFQlVHPVVOU0FGRTwvZW52YXI+LiBUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgcHJv dmlkZWQKLSAgICBmb3IgZWFzZSBvZiBsb2NhbCBkZXZlbG9wbWVudCBhbmQgdGVzdGluZyBvbmx5 LiBJdCBkb2VzIHNldmVyYWwgdGhpbmdzIHRoYXQKLSAgICB5b3Ugd2lsbCBub3Qgd2FudCBhIHBy b2R1Y3Rpb24gc3lzdGVtIHRvIGRvOgorICAgIERlYnVnIGZlYXR1cmVzIG1heSBiZSBlbmFibGVk IGJ5IHNldHRpbmcgdGhlIDxlbnZhcj5QR09BVVRIREVCVUc8L2VudmFyPgorICAgIGVudmlyb25t ZW50IHZhcmlhYmxlLiBUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgcHJvdmlkZWQgZm9yIGVhc2Ugb2Yg bG9jYWwKKyAgICBkZXZlbG9wbWVudCBhbmQgdGVzdGluZy4gVGhlIHZhcmlhYmxlIGFjY2VwdHMg YSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZgorICAgIGRlYnVnIG9wdGlvbnM6CisKKyAgICA8cHJv Z3JhbWxpc3Rpbmc+CitQR09BVVRIREVCVUc9b3B0aW9uMSxvcHRpb24yLC4uLiAgICA8bGluZWFu bm90YXRpb24+Zm9yIHNhZmUgb3B0aW9ucyBvbmx5PC9saW5lYW5ub3RhdGlvbj4KK1BHT0FVVEhE RUJVRz1VTlNBRkU6b3B0aW9uMSxvcHRpb24yLC4uLiAgICA8bGluZWFubm90YXRpb24+d2hlbiB1 c2luZyB1bnNhZmUgb3B0aW9uczwvbGluZWFubm90YXRpb24+CitQR09BVVRIREVCVUc9VU5TQUZF ICAgIDxsaW5lYW5ub3RhdGlvbj5sZWdhY3kgZm9ybWF0OyBlbmFibGVzIGFsbCBvcHRpb25zPC9s aW5lYW5ub3RhdGlvbj4KKyAgICA8L3Byb2dyYW1saXN0aW5nPgorICAgPC9wYXJhPgogCi0gICAg PGl0ZW1pemVkbGlzdCBzcGFjaW5nPSJjb21wYWN0Ij4KLSAgICAgPGxpc3RpdGVtPgotICAgICAg PHBhcmE+Ci0gICAgICAgcGVybWl0cyB0aGUgdXNlIG9mIHVuZW5jcnlwdGVkIEhUVFAgZHVyaW5n IHRoZSBPQXV0aCBwcm92aWRlciBleGNoYW5nZQotICAgICAgPC9wYXJhPgotICAgICA8L2xpc3Rp dGVtPgotICAgICA8bGlzdGl0ZW0+Ci0gICAgICA8cGFyYT4KLSAgICAgICBwcmludHMgSFRUUCB0 cmFmZmljIChjb250YWluaW5nIHNldmVyYWwgY3JpdGljYWwgc2VjcmV0cykgdG8gc3RhbmRhcmQK LSAgICAgICBlcnJvciBkdXJpbmcgdGhlIE9BdXRoIGZsb3cKLSAgICAgIDwvcGFyYT4KLSAgICAg PC9saXN0aXRlbT4KLSAgICAgPGxpc3RpdGVtPgotICAgICAgPHBhcmE+Ci0gICAgICAgcGVybWl0 cyB0aGUgdXNlIG9mIHplcm8tc2Vjb25kIHJldHJ5IGludGVydmFscywgd2hpY2ggY2FuIGNhdXNl IHRoZQotICAgICAgIGNsaWVudCB0byBidXN5LWxvb3AgYW5kIHBvaW50bGVzc2x5IGNvbnN1bWUg Q1BVCi0gICAgICA8L3BhcmE+Ci0gICAgIDwvbGlzdGl0ZW0+Ci0gICAgPC9pdGVtaXplZGxpc3Q+ CisgICA8cGFyYT4KKyAgICBBdmFpbGFibGUgZGVidWcgb3B0aW9uczoKKworICAgIDx2YXJpYWJs ZWxpc3Q+CisgICAgIDx2YXJsaXN0ZW50cnk+CisgICAgICA8dGVybT48bGl0ZXJhbD5odHRwPC9s aXRlcmFsPiAodW5zYWZlKTwvdGVybT4KKyAgICAgIDxsaXN0aXRlbT4KKyAgICAgICA8cGFyYT4K KyAgICAgICAgUGVybWl0cyB0aGUgdXNlIG9mIHVuZW5jcnlwdGVkIEhUVFAgZHVyaW5nIHRoZSBP QXV0aCBwcm92aWRlciBleGNoYW5nZS4KKyAgICAgICAgVGhpcyBhbGxvd3MgT0F1dGggY3JlZGVu dGlhbHMgdG8gYmUgdHJhbnNtaXR0ZWQgb3ZlciB1bmVuY3J5cHRlZAorICAgICAgICBjb25uZWN0 aW9ucywgd2hpY2ggaXMgZXh0cmVtZWx5IGRhbmdlcm91cyBhbmQgc2hvdWxkIG9ubHkgYmUgdXNl ZCBmb3IKKyAgICAgICAgbG9jYWwgdGVzdGluZy4KKyAgICAgICA8L3BhcmE+CisgICAgICA8L2xp c3RpdGVtPgorICAgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgICA8dmFybGlzdGVudHJ5PgorICAg ICAgPHRlcm0+PGxpdGVyYWw+dHJhY2U8L2xpdGVyYWw+ICh1bnNhZmUpPC90ZXJtPgorICAgICAg PGxpc3RpdGVtPgorICAgICAgIDxwYXJhPgorICAgICAgICBQcmludHMgSFRUUCB0cmFmZmljIHRv IHN0YW5kYXJkIGVycm9yIGR1cmluZyB0aGUgT0F1dGggZmxvdy4gVGhpcyBvdXRwdXQKKyAgICAg ICAgY29udGFpbnMgY3JpdGljYWwgc2VjcmV0cyBpbmNsdWRpbmcgYmVhcmVyIHRva2VucywgY2xp ZW50IHNlY3JldHMsIGFjY2VzcworICAgICAgICB0b2tlbnMsIGFuZCBhdXRob3JpemF0aW9uIGNv ZGVzLiBOZXZlciBzaGFyZSB0aGlzIG91dHB1dCB3aXRoIHRoaXJkCisgICAgICAgIHBhcnRpZXMu CisgICAgICAgPC9wYXJhPgorICAgICAgPC9saXN0aXRlbT4KKyAgICAgPC92YXJsaXN0ZW50cnk+ CisKKyAgICAgPHZhcmxpc3RlbnRyeT4KKyAgICAgIDx0ZXJtPjxsaXRlcmFsPmZhc3QtcmV0cnk8 L2xpdGVyYWw+IChzYWZlKTwvdGVybT4KKyAgICAgIDxsaXN0aXRlbT4KKyAgICAgICA8cGFyYT4K KyAgICAgICAgUGVybWl0cyB0aGUgdXNlIG9mIHplcm8tc2Vjb25kIHJldHJ5IGludGVydmFscyBp bnN0ZWFkIG9mIHRoZSBub3JtYWwKKyAgICAgICAgbWluaW11bSBvZiBvbmUgc2Vjb25kLiBUaGlz IGNhbiBzcGVlZCB1cCB0ZXN0cyBidXQgbWF5IGNhdXNlIHRoZSBjbGllbnQKKyAgICAgICAgdG8g YnVzeS1sb29wIGFuZCBjb25zdW1lIENQVSB1bm5lY2Vzc2FyaWx5LgorICAgICAgIDwvcGFyYT4K KyAgICAgIDwvbGlzdGl0ZW0+CisgICAgIDwvdmFybGlzdGVudHJ5PgorCisgICAgIDx2YXJsaXN0 ZW50cnk+CisgICAgICA8dGVybT48bGl0ZXJhbD5wb2xsLWNvdW50czwvbGl0ZXJhbD4gKHNhZmUp PC90ZXJtPgorICAgICAgPGxpc3RpdGVtPgorICAgICAgIDxwYXJhPgorICAgICAgICBQcmludHMg dGhlIHRvdGFsIG51bWJlciBvZiBwb2xsKCkgY2FsbHMgdG8gc3RhbmRhcmQgZXJyb3Igd2hlbiB0 aGUKKyAgICAgICAgT0F1dGggZmxvdyBjb21wbGV0ZXMuIFRoaXMgaGVscHMgZGV2ZWxvcGVycyBk ZWJ1ZyB0aGUgYXN5bmMgbXVsdGlwbGV4ZXIKKyAgICAgICAgYmVoYXZpb3IuCisgICAgICAgPC9w YXJhPgorICAgICAgPC9saXN0aXRlbT4KKyAgICAgPC92YXJsaXN0ZW50cnk+CisKKyAgICAgPHZh cmxpc3RlbnRyeT4KKyAgICAgIDx0ZXJtPjxsaXRlcmFsPnByaW50LXBsdWdpbi1lcnJvcnM8L2xp dGVyYWw+IChzYWZlKTwvdGVybT4KKyAgICAgIDxsaXN0aXRlbT4KKyAgICAgICA8cGFyYT4KKyAg ICAgICAgUHJpbnRzIHBsdWdpbiBsb2FkaW5nIGVycm9ycyB0byBzdGFuZGFyZCBlcnJvci4gVGhp cyBoZWxwcyBkZXZlbG9wZXJzCisgICAgICAgIGFuZCBwYWNrYWdlIG1haW50YWluZXJzIGRlYnVn IGlzc3VlcyB3aGVuIHRoZSBPQXV0aCBwbHVnaW4gZmFpbHMgdG8gbG9hZC4KKyAgICAgICA8L3Bh cmE+CisgICAgICA8L2xpc3RpdGVtPgorICAgICA8L3Zhcmxpc3RlbnRyeT4KKyAgICA8L3Zhcmlh YmxlbGlzdD4KKyAgIDwvcGFyYT4KKworICAgPHBhcmE+CisgICAgVW5zYWZlIG9wdGlvbnMgKDxs aXRlcmFsPmh0dHA8L2xpdGVyYWw+LCA8bGl0ZXJhbD50cmFjZTwvbGl0ZXJhbD4pCisgICAgcmVx dWlyZSB0aGUgPGxpdGVyYWw+VU5TQUZFOjwvbGl0ZXJhbD4gcHJlZml4LgorICAgIElmIHVuc2Fm ZSBvcHRpb25zIGFyZSBzcGVjaWZpZWQgd2l0aG91dCB0aGlzIHByZWZpeCwgYSB3YXJuaW5nIGlz IHByaW50ZWQKKyAgICB0byBzdGFuZGFyZCBlcnJvciBhbmQgdGhhdCBvcHRpb24gaXMgaWdub3Jl ZC4gT3RoZXIgdmFsaWQgb3B0aW9ucyBpbiB0aGUKKyAgICBsaXN0IGNvbnRpbnVlIHRvIHdvcmsu IFNhZmUgb3B0aW9ucyAoPGxpdGVyYWw+ZmFzdC1yZXRyeTwvbGl0ZXJhbD4sCisgICAgPGxpdGVy YWw+cG9sbC1jb3VudHM8L2xpdGVyYWw+LCA8bGl0ZXJhbD5wcmludC1wbHVnaW4tZXJyb3JzPC9s aXRlcmFsPikgY2FuCisgICAgYmUgdXNlZCB3aXRob3V0IHRoZSBwcmVmaXguCiAgICA8L3BhcmE+ CisKKyAgIDxwYXJhPgorICAgIFVucmVjb2duaXplZCBvcHRpb24gbmFtZXMgd2lsbCBhbHNvIHRy aWdnZXIgYSB3YXJuaW5nIGFuZCBiZSBpZ25vcmVkLCB3aGlsZQorICAgIHZhbGlkIG9wdGlvbnMg Y29udGludWUgdG8gd29yay4gVGhpcyBoZWxwcyBjYXRjaCB0eXBvcyBpbiB0aGUgZW52aXJvbm1l bnQKKyAgICB2YXJpYWJsZSBjb25maWd1cmF0aW9uIHdpdGhvdXQgYnJlYWtpbmcgdGhlIGRlYnVn Z2luZyBvZiB2YWxpZCBvcHRpb25zLgorICAgPC9wYXJhPgorCisgICA8cGFyYT4KKyAgICBFeGFt cGxlczoKKyAgICA8cHJvZ3JhbWxpc3Rpbmc+CitQR09BVVRIREVCVUc9ZmFzdC1yZXRyeSxwb2xs LWNvdW50cyAgICA8bGluZWFubm90YXRpb24+c2FmZSBvcHRpb25zIG9ubHk8L2xpbmVhbm5vdGF0 aW9uPgorUEdPQVVUSERFQlVHPVVOU0FGRTpodHRwLHRyYWNlICAgIDxsaW5lYW5ub3RhdGlvbj5l bmFibGUgSFRUUCBhbmQgdHJhZmZpYyBsb2dnaW5nPC9saW5lYW5ub3RhdGlvbj4KK1BHT0FVVEhE RUJVRz1VTlNBRkU6aHR0cCxwb2xsLWNvdW50cyAgICA8bGluZWFubm90YXRpb24+bWl4IG9mIHVu c2FmZSBhbmQgc2FmZTwvbGluZWFubm90YXRpb24+CitQR09BVVRIREVCVUc9VU5TQUZFICAgIDxs aW5lYW5ub3RhdGlvbj5sZWdhY3k7IGVuYWJsZXMgYWxsIG9wdGlvbnM8L2xpbmVhbm5vdGF0aW9u PgorICAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgICA8L3BhcmE+CisKICAgIDx3YXJuaW5nPgogICAg IDxwYXJhPgotICAgICBEbyBub3Qgc2hhcmUgdGhlIG91dHB1dCBvZiB0aGUgT0F1dGggZmxvdyB0 cmFmZmljIHdpdGggdGhpcmQgcGFydGllcy4gSXQKLSAgICAgY29udGFpbnMgc2VjcmV0cyB0aGF0 IGNhbiBiZSB1c2VkIHRvIGF0dGFjayB5b3VyIGNsaWVudHMgYW5kIHNlcnZlcnMuCisgICAgIE5l dmVyIHVzZSB1bnNhZmUgZGVidWcgb3B0aW9ucyBpbiBwcm9kdWN0aW9uIGVudmlyb25tZW50cy4g VGhlCisgICAgIDxsaXRlcmFsPnRyYWNlPC9saXRlcmFsPiBvcHRpb24gaW4gcGFydGljdWxhciBl eHBvc2VzIHNlY3JldHMgdGhhdCBjYW4gYmUKKyAgICAgdXNlZCB0byBhdHRhY2sgeW91ciBjbGll bnRzIGFuZCBzZXJ2ZXJzLiBEbyBub3Qgc2hhcmUgdGhlIG91dHB1dCB3aXRoIHRoaXJkCisgICAg IHBhcnRpZXMuCiAgICAgPC9wYXJhPgogICAgPC93YXJuaW5nPgogICA8L3NlY3QyPgpkaWZmIC0t Z2l0IGEvc3JjL2ludGVyZmFjZXMvbGlicHEtb2F1dGgvbWVzb24uYnVpbGQgYi9zcmMvaW50ZXJm YWNlcy9saWJwcS1vYXV0aC9tZXNvbi5idWlsZAppbmRleCBlYTNhOTAwZjRmMS4uZDhjYzkyZTBj MmMgMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL21lc29uLmJ1aWxkCisr KyBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL21lc29uLmJ1aWxkCkBAIC02LDYgKzYsNyBA QCBlbmRpZgogCiBsaWJwcV9vYXV0aF9zb3VyY2VzID0gZmlsZXMoCiAgICdvYXV0aC1jdXJsLmMn LAorICAnLi4vbGlicHEvZmUtYXV0aC1vYXV0aC1kZWJ1Zy5jJywKICkKIAogIyBUaGUgc2hhcmVk IGxpYnJhcnkgbmVlZHMgYWRkaXRpb25hbCBnbHVlIHN5bWJvbHMuCkBAIC02Miw3ICs2MywxMCBA QCBlbmRpZgogCiBsaWJwcV9vYXV0aF90ZXN0X2RlcHMgPSBbXQogCi1vYXV0aF90ZXN0X3NvdXJj ZXMgPSBmaWxlcygndGVzdC1vYXV0aC1jdXJsLmMnKSArIGxpYnBxX29hdXRoX3NvX3NvdXJjZXMK K29hdXRoX3Rlc3Rfc291cmNlcyA9IGZpbGVzKAorICAndGVzdC1vYXV0aC1jdXJsLmMnLAorICAn Li4vbGlicHEvZmUtYXV0aC1vYXV0aC1kZWJ1Zy5jJywKKykgKyBsaWJwcV9vYXV0aF9zb19zb3Vy Y2VzCiAKIGlmIGhvc3Rfc3lzdGVtID09ICd3aW5kb3dzJwogICBvYXV0aF90ZXN0X3NvdXJjZXMg Kz0gcmNfYmluX2dlbi5wcm9jZXNzKHdpbjMydmVyX3JjLCBleHRyYV9hcmdzOiBbCmRpZmYgLS1n aXQgYS9zcmMvaW50ZXJmYWNlcy9saWJwcS9tZXNvbi5idWlsZCBiL3NyYy9pbnRlcmZhY2VzL2xp YnBxL21lc29uLmJ1aWxkCmluZGV4IGIwYWU3MjE2N2ExLi5kMDMxZjQ5NjJlNSAxMDA2NDQKLS0t IGEvc3JjL2ludGVyZmFjZXMvbGlicHEvbWVzb24uYnVpbGQKKysrIGIvc3JjL2ludGVyZmFjZXMv bGlicHEvbWVzb24uYnVpbGQKQEAgLTIsNiArMiw3IEBACiAKIGxpYnBxX3NvdXJjZXMgPSBmaWxl cygKICAgJ2ZlLWF1dGgtb2F1dGguYycsCisgICdmZS1hdXRoLW9hdXRoLWRlYnVnLmMnLAogICAn ZmUtYXV0aC1zY3JhbS5jJywKICAgJ2ZlLWF1dGguYycsCiAgICdmZS1jYW5jZWwuYycsCmRpZmYg LS1naXQgYS9zcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC9NYWtlZmlsZSBiL3NyYy9pbnRlcmZh Y2VzL2xpYnBxLW9hdXRoL01ha2VmaWxlCmluZGV4IDExZTFhM2NmNTI4Li5jNjA5N2RkYTUzMSAx MDA2NDQKLS0tIGEvc3JjL2ludGVyZmFjZXMvbGlicHEtb2F1dGgvTWFrZWZpbGUKKysrIGIvc3Jj L2ludGVyZmFjZXMvbGlicHEtb2F1dGgvTWFrZWZpbGUKQEAgLTM2LDE1ICszNiwyNCBAQCBvdmVy cmlkZSBDUFBGTEFHU19TSExJQiArPSAtRFVTRV9QUklWQVRFX0VOQ09ESU5HX0ZVTkNTCiBPQkpT ID0gXAogCSQoV0lOMzJSRVMpCiAKLU9CSlNfU1RBVElDID0gb2F1dGgtY3VybC5vCitPQkpTX1NU QVRJQyA9IFwKKwlvYXV0aC1jdXJsLm8gXAorCWZlLWF1dGgtb2F1dGgtZGVidWcubwogCiAjIFRo ZSBzaGFyZWQgbGlicmFyeSBuZWVkcyBhZGRpdGlvbmFsIGdsdWUgc3ltYm9scy4KIE9CSlNfU0hM SUIgPSBcCiAJb2F1dGgtY3VybF9zaGxpYi5vIFwKIAlvYXV0aC11dGlscy5vIFwKKwlmZS1hdXRo LW9hdXRoLWRlYnVnX3NobGliLm8KIAogb2F1dGgtdXRpbHMubzogb3ZlcnJpZGUgQ1BQRkxBR1Mg Kz0gJChDUFBGTEFHU19TSExJQikKIAorZmUtYXV0aC1vYXV0aC1kZWJ1Zy5vOiAkKGxpYnBxX3Ny Y2RpcikvZmUtYXV0aC1vYXV0aC1kZWJ1Zy5jCisJJChDQykgJChDRkxBR1MpICQoQ1BQRkxBR1Mp IC1jICQ8IC1vICRACisKK2ZlLWF1dGgtb2F1dGgtZGVidWdfc2hsaWIubzogJChsaWJwcV9zcmNk aXIpL2ZlLWF1dGgtb2F1dGgtZGVidWcuYyBmZS1hdXRoLW9hdXRoLWRlYnVnLm8KKwkkKENDKSAk KENGTEFHUykgJChDRkxBR1NfU0wpICQoQ1BQRkxBR1MpICQoQ1BQRkxBR1NfU0hMSUIpIC1jICQ8 IC1vICRACisKICMgQWRkIHNobGliLS9zdGxpYi1zcGVjaWZpYyBvYmplY3RzLgogJChzaGxpYik6 IG92ZXJyaWRlIE9CSlMgKz0gJChPQkpTX1NITElCKQogJChzaGxpYik6ICQoT0JKU19TSExJQikK ZGlmZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL01ha2VmaWxlIGIvc3JjL2ludGVyZmFj ZXMvbGlicHEvTWFrZWZpbGUKaW5kZXggMDk2Mzk5NWVlZDQuLjA5OWM2NTU3ZTc3IDEwMDY0NAot LS0gYS9zcmMvaW50ZXJmYWNlcy9saWJwcS9NYWtlZmlsZQorKysgYi9zcmMvaW50ZXJmYWNlcy9s aWJwcS9NYWtlZmlsZQpAQCAtNDQsNyArNDQsOCBAQCBPQkpTID0gXAogCWxlZ2FjeS1wcXNpZ25h bC5vIFwKIAlsaWJwcS1ldmVudHMubyBcCiAJcHFleHBidWZmZXIubyBcCi0JZmUtYXV0aC5vCisJ ZmUtYXV0aC5vIFwKKwlmZS1hdXRoLW9hdXRoLWRlYnVnLm8KIAogIyBGaWxlIHNoYXJlZCBhY3Jv c3MgYWxsIFNTTCBpbXBsZW1lbnRhdGlvbnMgc3VwcG9ydGVkLgogaWZuZXEgKCQod2l0aF9zc2wp LG5vKQpkaWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFjZXMvbGlicHEtb2F1dGgvb2F1dGgtdXRpbHMu aCBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL29hdXRoLXV0aWxzLmgKaW5kZXggMjkzZTk5 MzY5ODkuLmRkNGUzOGQ1MjVjIDEwMDY0NAotLS0gYS9zcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0 aC9vYXV0aC11dGlscy5oCisrKyBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL29hdXRoLXV0 aWxzLmgKQEAgLTE1LDYgKzE1LDcgQEAKICNpZm5kZWYgT0FVVEhfVVRJTFNfSAogI2RlZmluZSBP QVVUSF9VVElMU19ICiAKKyNpbmNsdWRlICJmZS1hdXRoLW9hdXRoLmgiCiAjaW5jbHVkZSAibGli cHEtZmUuaCIKICNpbmNsdWRlICJwcWV4cGJ1ZmZlci5oIgogCkBAIC0zNSw3ICszNiw3IEBAIHR5 cGVkZWYgZW51bQogCVBHX0JPT0xfTk8JCQkJCS8qIE5vIChmYWxzZSkgKi8KIH0gUEdUZXJuYXJ5 Qm9vbDsKIAotZXh0ZXJuIGJvb2wgb2F1dGhfdW5zYWZlX2RlYnVnZ2luZ19lbmFibGVkKHZvaWQp OworZXh0ZXJuIG9hdXRoX2RlYnVnX2ZsYWdzIG9hdXRoX2dldF9kZWJ1Z19mbGFncyh2b2lkKTsK IGV4dGVybiBpbnQJcHFfYmxvY2tfc2lncGlwZShzaWdzZXRfdCAqb3NpZ3NldCwgYm9vbCAqc2ln cGlwZV9wZW5kaW5nKTsKIGV4dGVybiB2b2lkIHBxX3Jlc2V0X3NpZ3BpcGUoc2lnc2V0X3QgKm9z aWdzZXQsIGJvb2wgc2lncGlwZV9wZW5kaW5nLCBib29sIGdvdF9lcGlwZSk7CiAKZGlmZiAtLWdp dCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGgtb2F1dGguaCBiL3NyYy9pbnRlcmZhY2Vz L2xpYnBxL2ZlLWF1dGgtb2F1dGguaAppbmRleCA1MTEyODQ2MTRmNy4uZmRlNWMzMGMwMTMgMTAw NjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGgtb2F1dGguaAorKysgYi9zcmMv aW50ZXJmYWNlcy9saWJwcS9mZS1hdXRoLW9hdXRoLmgKQEAgLTM4LDggKzM4LDI0IEBAIHR5cGVk ZWYgc3RydWN0CiAJdm9pZAkgICAqYnVpbHRpbl9mbG93OwogfSBmZV9vYXV0aF9zdGF0ZTsKIAor LyoKKyAqIERlYnVnIGZsYWdzIGZvciBQR09BVVRIREVCVUcgZW52aXJvbm1lbnQgdmFyaWFibGUu CisgKiBFYWNoIGZsYWcgY29udHJvbHMgYSBzcGVjaWZpYyBkZWJ1ZyBmZWF0dXJlLgorICovCit0 eXBlZGVmIHN0cnVjdCBvYXV0aF9kZWJ1Z19mbGFncworeworCS8qIFVOU0FGRSBmZWF0dXJlcyAt IHJlcXVpcmUgVU5TQUZFOiBwcmVmaXggKi8KKwlib29sCQlodHRwOwkJCS8qIGFsbG93IEhUVFAg KHVuZW5jcnlwdGVkKSBjb25uZWN0aW9ucyAqLworCWJvb2wJCXRyYWNlOwkJCS8qIGxvZyBIVFRQ IHRyYWZmaWMgKGV4cG9zZXMgc2VjcmV0cykgKi8KKworCS8qIFNBRkUgZmVhdHVyZXMgLSBhbGxv d2VkIHdpdGhvdXQgVU5TQUZFOiBwcmVmaXggKi8KKwlib29sCQlmYXN0X3JldHJ5OwkJLyogYWxs b3cgemVyby1zZWNvbmQgcmV0cnkgaW50ZXJ2YWxzICovCisJYm9vbAkJcG9sbF9jb3VudHM7CS8q IHByaW50IHBvbGwoKSBzdGF0aXN0aWNzICovCisJYm9vbAkJcHJpbnRfcGx1Z2luX2Vycm9yczsJ LyogcHJpbnQgcGx1Z2luIGxvYWRpbmcgZXJyb3JzICovCit9IG9hdXRoX2RlYnVnX2ZsYWdzOwor CiBleHRlcm4gdm9pZCBwcUNsZWFyT0F1dGhUb2tlbihQR2Nvbm4gKmNvbm4pOwotZXh0ZXJuIGJv b2wgb2F1dGhfdW5zYWZlX2RlYnVnZ2luZ19lbmFibGVkKHZvaWQpOworZXh0ZXJuIG9hdXRoX2Rl YnVnX2ZsYWdzIG9hdXRoX2dldF9kZWJ1Z19mbGFncyh2b2lkKTsKIAogLyogTWVjaGFuaXNtcyBp biBmZS1hdXRoLW9hdXRoLmMgKi8KIGV4dGVybiBjb25zdCBwZ19mZV9zYXNsX21lY2ggcGdfb2F1 dGhfbWVjaDsKZGlmZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL29hdXRoLWN1 cmwuYyBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL29hdXRoLWN1cmwuYwppbmRleCAzYmFl ZGUxYjJlNy4uNTY0ZDc2Y2YwNjMgMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxLW9h dXRoL29hdXRoLWN1cmwuYworKysgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC9vYXV0aC1j dXJsLmMKQEAgLTI3NCw3ICsyNzQsNyBAQCBzdHJ1Y3QgYXN5bmNfY3R4CiAJaW50CQkJcnVubmlu ZzsJCS8qIGlzIGFzeW5jaHJvbm91cyB3b3JrIGluIHByb2dyZXNzPyAqLwogCWJvb2wJCXVzZXJf cHJvbXB0ZWQ7CS8qIGhhdmUgd2UgYWxyZWFkeSBzZW50IHRoZSBhdXRoeiBwcm9tcHQ/ICovCiAJ Ym9vbAkJdXNlZF9iYXNpY19hdXRoOwkvKiBkaWQgd2Ugc2VuZCBhIGNsaWVudCBzZWNyZXQ/ICov Ci0JYm9vbAkJZGVidWdnaW5nOwkJLyogY2FuIHdlIGdpdmUgdW5zYWZlIGRldmVsb3BlciBhc3Np c3RhbmNlPyAqLworCW9hdXRoX2RlYnVnX2ZsYWdzIGRlYnVnX2ZsYWdzOwkvKiBjYW4gd2UgZ2l2 ZSBkZXZlbG9wZXIgYXNzaXN0YW5jZSAqLwogCWludAkJCWRiZ19udW1fY2FsbHM7CS8qIChkZWJ1 ZyBtb2RlKSBob3cgbWFueSB0aW1lcyB3ZXJlIHdlIGNhbGxlZD8gKi8KIH07CiAKQEAgLTEwMjMs NyArMTAyMyw3IEBAIHBhcnNlX2ludGVydmFsKHN0cnVjdCBhc3luY19jdHggKmFjdHgsIGNvbnN0 IGNoYXIgKmludGVydmFsX3N0cikKIAlwYXJzZWQgPSBjZWlsKHBhcnNlZCk7CiAKIAlpZiAocGFy c2VkIDwgMSkKLQkJcmV0dXJuIGFjdHgtPmRlYnVnZ2luZyA/IDAgOiAxOworCQlyZXR1cm4gYWN0 eC0+ZGVidWdfZmxhZ3MuZmFzdF9yZXRyeSA/IDAgOiAxOwogCiAJZWxzZSBpZiAocGFyc2VkID49 IElOVF9NQVgpCiAJCXJldHVybiBJTlRfTUFYOwpAQCAtMTc5Nyw3ICsxNzk3LDcgQEAgc2V0dXBf Y3VybF9oYW5kbGVzKHN0cnVjdCBhc3luY19jdHggKmFjdHgpCiAJICovCiAJQ0hFQ0tfU0VUT1BU KGFjdHgsIENVUkxPUFRfTk9TSUdOQUwsIDFMLCByZXR1cm4gZmFsc2UpOwogCi0JaWYgKGFjdHgt PmRlYnVnZ2luZykKKwlpZiAoYWN0eC0+ZGVidWdfZmxhZ3MudHJhY2UpCiAJewogCQkvKgogCQkg KiBTZXQgYSBjYWxsYmFjayBmb3IgcmV0cmlldmluZyBlcnJvciBpbmZvcm1hdGlvbiBmcm9tIGxp YmN1cmwsIHRoZQpAQCAtMTgyOSw3ICsxODI5LDcgQEAgc2V0dXBfY3VybF9oYW5kbGVzKHN0cnVj dCBhc3luY19jdHggKmFjdHgpCiAJCWNvbnN0IGxvbmcJdW5zYWZlID0gQ1VSTFBST1RPX0hUVFBT IHwgQ1VSTFBST1RPX0hUVFA7CiAjZW5kaWYKIAotCQlpZiAoYWN0eC0+ZGVidWdnaW5nKQorCQlp ZiAoYWN0eC0+ZGVidWdfZmxhZ3MuaHR0cCkKIAkJCXByb3RvcyA9IHVuc2FmZTsKIAogCQlDSEVD S19TRVRPUFQoYWN0eCwgcG9wdCwgcHJvdG9zLCByZXR1cm4gZmFsc2UpOwpAQCAtMjI5Nyw3ICsy Mjk3LDcgQEAgY2hlY2tfZm9yX2RldmljZV9mbG93KHN0cnVjdCBhc3luY19jdHggKmFjdHgpCiAJ ICogZGVjZW50IHRpbWUgdG8gYmFpbCBvdXQgaWYgd2UncmUgbm90IHVzaW5nIEhUVFBTIGZvciB0 aGUgZW5kcG9pbnRzCiAJICogd2UnbGwgdXNlIGZvciB0aGUgZmxvdy4KIAkgKi8KLQlpZiAoIWFj dHgtPmRlYnVnZ2luZykKKwlpZiAoIWFjdHgtPmRlYnVnX2ZsYWdzLmh0dHApCiAJewogCQlpZiAo cGdfc3RybmNhc2VjbXAocHJvdmlkZXItPmRldmljZV9hdXRob3JpemF0aW9uX2VuZHBvaW50LAog CQkJCQkJICAgSFRUUFNfU0NIRU1FLCBzdHJsZW4oSFRUUFNfU0NIRU1FKSkgIT0gMCkKQEAgLTMw MjcsNyArMzAyNyw3IEBAIHBnX2ZlX3J1bl9vYXV0aF9mbG93KFBHY29ubiAqY29ubiwgc3RydWN0 IFBHb2F1dGhCZWFyZXJSZXF1ZXN0ICpyZXF1ZXN0LAogCSAqIGRyYWluX3RpbWVyX2V2ZW50cygp LCB3aGVuIHdlJ3JlIGluIGRlYnVnIG1vZGUsIHRyYWNrIHRoZSB0b3RhbCBudW1iZXIKIAkgKiBv ZiBjYWxscyB0byB0aGlzIGZ1bmN0aW9uIGFuZCBwcmludCB0aGF0IGF0IHRoZSBlbmQgb2YgdGhl IGZsb3cuCiAJICovCi0JaWYgKGFjdHgtPmRlYnVnZ2luZykKKwlpZiAoYWN0eCAmJiBhY3R4LT5k ZWJ1Z19mbGFncy5wb2xsX2NvdW50cykKIAl7CiAJCWFjdHgtPmRiZ19udW1fY2FsbHMrKzsKIAkJ aWYgKHJlc3VsdCA9PSBQR1JFU19QT0xMSU5HX09LIHx8IHJlc3VsdCA9PSBQR1JFU19QT0xMSU5H X0ZBSUxFRCkKQEAgLTMwODcsOCArMzA4Nyw4IEBAIHBnX3N0YXJ0X29hdXRoYmVhcmVyKFBHY29u biAqY29ubiwgUEdvYXV0aEJlYXJlclJlcXVlc3RWMiAqcmVxdWVzdCkKIAkgKiBOb3cgZmluaXNo IGZpbGxpbmcgaW4gdGhlIGFjdHguCiAJICovCiAKLQkvKiBTaG91bGQgd2UgZW5hYmxlIHVuc2Fm ZSBmZWF0dXJlcz8gKi8KLQlhY3R4LT5kZWJ1Z2dpbmcgPSBvYXV0aF91bnNhZmVfZGVidWdnaW5n X2VuYWJsZWQoKTsKKwkvKiBQYXJzZSBkZWJ1ZyBmbGFncyBmcm9tIHRoZSBlbnZpcm9ubWVudC4g Ki8KKwlhY3R4LT5kZWJ1Z19mbGFncyA9IG9hdXRoX2dldF9kZWJ1Z19mbGFncygpOwogCiAJaW5p dFBRRXhwQnVmZmVyKCZhY3R4LT53b3JrX2RhdGEpOwogCWluaXRQUUV4cEJ1ZmZlcigmYWN0eC0+ ZXJyYnVmKTsKZGlmZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL29hdXRoLXV0 aWxzLmMgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC9vYXV0aC11dGlscy5jCmluZGV4IGNj YjBkOWJmMmM1Li4wMDRkNDFmMDJhYSAxMDA2NDQKLS0tIGEvc3JjL2ludGVyZmFjZXMvbGlicHEt b2F1dGgvb2F1dGgtdXRpbHMuYworKysgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC9vYXV0 aC11dGlscy5jCkBAIC03NSwxNyArNzUsNiBAQCBsaWJwcV9nZXR0ZXh0KGNvbnN0IGNoYXIgKm1z Z2lkKQogCiAjZW5kaWYJCQkJCQkJLyogRU5BQkxFX05MUyAqLwogCi0vKgotICogUmV0dXJucyB0 cnVlIGlmIHRoZSBQR09BVVRIREVCVUc9VU5TQUZFIGZsYWcgaXMgc2V0IGluIHRoZSBlbnZpcm9u bWVudC4KLSAqLwotYm9vbAotb2F1dGhfdW5zYWZlX2RlYnVnZ2luZ19lbmFibGVkKHZvaWQpCi17 Ci0JY29uc3QgY2hhciAqZW52ID0gZ2V0ZW52KCJQR09BVVRIREVCVUciKTsKLQotCXJldHVybiAo ZW52ICYmIHN0cmNtcChlbnYsICJVTlNBRkUiKSA9PSAwKTsKLX0KLQogLyoKICAqIER1cGxpY2F0 ZSBTT0NLX0VSUk5PKiBkZWZpbml0aW9ucyBmcm9tIGxpYnBxLWludC5oLCBmb3IgdXNlIGJ5CiAg KiBwcV9ibG9jay9yZXNldF9zaWdwaXBlKCkuCmRpZmYgLS1naXQgYS9zcmMvaW50ZXJmYWNlcy9s aWJwcS1vYXV0aC90ZXN0LW9hdXRoLWN1cmwuYyBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRo L3Rlc3Qtb2F1dGgtY3VybC5jCmluZGV4IDQzMjhhMzMyNzM4Li4wNjgxNWJlOWEwYSAxMDA2NDQK LS0tIGEvc3JjL2ludGVyZmFjZXMvbGlicHEtb2F1dGgvdGVzdC1vYXV0aC1jdXJsLmMKKysrIGIv c3JjL2ludGVyZmFjZXMvbGlicHEtb2F1dGgvdGVzdC1vYXV0aC1jdXJsLmMKQEAgLTg5LDcgKzg5 LDExIEBAIGluaXRfdGVzdF9hY3R4KHZvaWQpCiAKIAlhY3R4LT5tdXggPSBQR0lOVkFMSURfU09D S0VUOwogCWFjdHgtPnRpbWVyZmQgPSAtMTsKLQlhY3R4LT5kZWJ1Z2dpbmcgPSB0cnVlOworCWFj dHgtPmRlYnVnX2ZsYWdzLmh0dHAgPSB0cnVlOworCWFjdHgtPmRlYnVnX2ZsYWdzLnRyYWNlID0g dHJ1ZTsKKwlhY3R4LT5kZWJ1Z19mbGFncy5mYXN0X3JldHJ5ID0gdHJ1ZTsKKwlhY3R4LT5kZWJ1 Z19mbGFncy5wb2xsX2NvdW50cyA9IHRydWU7CisJYWN0eC0+ZGVidWdfZmxhZ3MucHJpbnRfcGx1 Z2luX2Vycm9ycyA9IHRydWU7CiAKIAlpbml0UFFFeHBCdWZmZXIoJmFjdHgtPmVycmJ1Zik7CiAK ZGlmZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGgtb2F1dGgtZGVidWcuYyBi L3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGgtb2F1dGgtZGVidWcuYwpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZjlhMWIxZjE5NWYKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1hdXRoLW9hdXRoLWRlYnVnLmMKQEAgLTAsMCArMSwx NDAgQEAKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICoKKyAqIGZlLWF1dGgtb2F1dGgtZGVidWcuYwor ICoJICBQYXJzaW5nIGxvZ2ljIGZvciBQR09BVVRIREVCVUcgZW52aXJvbm1lbnQgdmFyaWFibGUK KyAqCisgKiBUaGlzIGZpbGUgY29udGFpbnMgcHVyZSBzdHJpbmcgcGFyc2luZyBsb2dpYyB3aXRo IG5vIGRlcGVuZGVuY2llcyBvbgorICogbGlicHEgb3IgbGlicHEtb2F1dGggaW1wbGVtZW50YXRp b24gZGV0YWlscy4gSXQncyBjb21waWxlZCBpbnRvIGJvdGgKKyAqIGxpYnJhcmllcyB0byBhdm9p ZCBjb2RlIGR1cGxpY2F0aW9uLgorICoKKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMTk5Ni0y MDI1LCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cAorICogUG9ydGlvbnMgQ29w eXJpZ2h0IChjKSAxOTk0LCBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEK KyAqCisgKiBJREVOVElGSUNBVElPTgorICogCXNyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGgt b2F1dGgtZGVidWcuYworICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisKKyNpbmNsdWRlICJw b3N0Z3Jlc19mZS5oIgorCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4K KyNpbmNsdWRlIDxzdHJpbmcuaD4KKworI2luY2x1ZGUgImZlLWF1dGgtb2F1dGguaCIKKworLyoK KyAqIFBhcnNlIGEgc2luZ2xlIGRlYnVnIG9wdGlvbiBmcm9tIFBHT0FVVEhERUJVRy4KKyAqIFJl dHVybnMgdHJ1ZSBpZiB0aGUgb3B0aW9uIGlzIHJlY29nbml6ZWQsIGZhbHNlIG90aGVyd2lzZS4K KyAqIFNldHMgKmlzX3Vuc2FmZSB0byBpbmRpY2F0ZSBpZiB0aGlzIG9wdGlvbiByZXF1aXJlcyB0 aGUgVU5TQUZFOiBwcmVmaXguCisgKi8KK3N0YXRpYyBib29sCitwYXJzZV9kZWJ1Z19vcHRpb24o Y29uc3QgY2hhciAqb3B0aW9uLCBvYXV0aF9kZWJ1Z19mbGFncyAqZmxhZ3MsIGJvb2wgKmlzX3Vu c2FmZSkKK3sKKwkqaXNfdW5zYWZlID0gZmFsc2U7CisKKwkvKiBVbnNhZmUgb3B0aW9ucyAqLwor CWlmIChzdHJjbXAob3B0aW9uLCAiaHR0cCIpID09IDApCisJeworCQlmbGFncy0+aHR0cCA9IHRy dWU7CisJCSppc191bnNhZmUgPSB0cnVlOworCQlyZXR1cm4gdHJ1ZTsKKwl9CisJZWxzZSBpZiAo c3RyY21wKG9wdGlvbiwgInRyYWNlIikgPT0gMCkKKwl7CisJCWZsYWdzLT50cmFjZSA9IHRydWU7 CisJCSppc191bnNhZmUgPSB0cnVlOworCQlyZXR1cm4gdHJ1ZTsKKwl9CisJLyogU2FmZSBvcHRp b25zICovCisJZWxzZSBpZiAoc3RyY21wKG9wdGlvbiwgImZhc3QtcmV0cnkiKSA9PSAwKQorCXsK KwkJZmxhZ3MtPmZhc3RfcmV0cnkgPSB0cnVlOworCQlyZXR1cm4gdHJ1ZTsKKwl9CisJZWxzZSBp ZiAoc3RyY21wKG9wdGlvbiwgInBvbGwtY291bnRzIikgPT0gMCkKKwl7CisJCWZsYWdzLT5wb2xs X2NvdW50cyA9IHRydWU7CisJCXJldHVybiB0cnVlOworCX0KKwllbHNlIGlmIChzdHJjbXAob3B0 aW9uLCAicHJpbnQtcGx1Z2luLWVycm9ycyIpID09IDApCisJeworCQlmbGFncy0+cHJpbnRfcGx1 Z2luX2Vycm9ycyA9IHRydWU7CisJCXJldHVybiB0cnVlOworCX0KKworCXJldHVybiBmYWxzZTsK K30KKworLyoKKyAqIFBhcnNlcyB0aGUgUEdPQVVUSERFQlVHIGVudmlyb25tZW50IHZhcmlhYmxl IGFuZCByZXR1cm5zIGRlYnVnIGZsYWdzLgorICoKKyAqIFN1cHBvcnRlZCBmb3JtYXRzOgorICog ICBQR09BVVRIREVCVUc9VU5TQUZFICAgICAgICAgICAgICAtIGxlZ2FjeSBmb3JtYXQsIGVuYWJs ZXMgYWxsIGZlYXR1cmVzCisgKiAgIFBHT0FVVEhERUJVRz1vcHRpb24xLG9wdGlvbjIgICAgIC0g ZW5hYmxlIHNhZmUgZmVhdHVyZXMgb25seQorICogICBQR09BVVRIREVCVUc9VU5TQUZFOm9wdDEs b3B0MiAgICAtIGVuYWJsZSB1bnNhZmUgYW5kL29yIHNhZmUgZmVhdHVyZXMKKyAqCisgKiBQcmlu dHMgYSB3YXJuaW5nIGFuZCBza2lwcyB0aGUgaW52YWxpZCBvcHRpb24gaWY6CisgKiAtIEFuIHVu cmVjb2duaXplZCBvcHRpb24gaXMgc3BlY2lmaWVkCisgKiAtIEFuIHVuc2FmZSBvcHRpb24gaXMg c3BlY2lmaWVkIHdpdGhvdXQgdGhlIFVOU0FGRTogcHJlZml4CisgKi8KK29hdXRoX2RlYnVnX2Zs YWdzCitvYXV0aF9nZXRfZGVidWdfZmxhZ3Modm9pZCkKK3sKKwlvYXV0aF9kZWJ1Z19mbGFncyBm bGFncyA9IHswfTsKKwljb25zdCBjaGFyICplbnYgPSBnZXRlbnYoIlBHT0FVVEhERUJVRyIpOwor CWNoYXIJICAgKm9wdGlvbnNfc3RyOworCWNoYXIJICAgKm9wdGlvbjsKKwljaGFyCSAgICpzYXZl cHRyID0gTlVMTDsKKwlib29sCQl1bnNhZmVfcHJlZml4ID0gZmFsc2U7CisKKwlpZiAoIWVudiB8 fCBlbnZbMF0gPT0gJ1wwJykKKwkJcmV0dXJuIGZsYWdzOworCisJaWYgKHN0cmNtcChlbnYsICJV TlNBRkUiKSA9PSAwKQorCXsKKwkJZmxhZ3MuaHR0cCA9IHRydWU7CisJCWZsYWdzLnRyYWNlID0g dHJ1ZTsKKwkJZmxhZ3MuZmFzdF9yZXRyeSA9IHRydWU7CisJCWZsYWdzLnBvbGxfY291bnRzID0g dHJ1ZTsKKwkJZmxhZ3MucHJpbnRfcGx1Z2luX2Vycm9ycyA9IHRydWU7CisJCXJldHVybiBmbGFn czsKKwl9CisKKwlpZiAoc3RybmNtcChlbnYsICJVTlNBRkU6IiwgNykgPT0gMCkKKwl7CisJCXVu c2FmZV9wcmVmaXggPSB0cnVlOworCQllbnYgKz0gNzsKKwl9CisKKwlvcHRpb25zX3N0ciA9IHN0 cmR1cChlbnYpOworCWlmICghb3B0aW9uc19zdHIpCisJCXJldHVybiBmbGFnczsKKworCW9wdGlv biA9IHN0cnRva19yKG9wdGlvbnNfc3RyLCAiLCIsICZzYXZlcHRyKTsKKwl3aGlsZSAob3B0aW9u ICE9IE5VTEwpCisJeworCQlib29sCQlpc191bnNhZmU7CisKKwkJaWYgKCFwYXJzZV9kZWJ1Z19v cHRpb24ob3B0aW9uLCAmZmxhZ3MsICZpc191bnNhZmUpKQorCQl7CisJCQlmcHJpbnRmKHN0ZGVy ciwKKwkJCQkJIldBUk5JTkc6IFBHT0FVVEhERUJVRzogdW5yZWNvZ25pemVkIGRlYnVnIG9wdGlv biBcIiVzXCIgKGlnbm9yZWQpXG4iLAorCQkJCQlvcHRpb24pOworCQl9CisJCWVsc2UgaWYgKGlz X3Vuc2FmZSAmJiAhdW5zYWZlX3ByZWZpeCkKKwkJeworCQkJZnByaW50ZihzdGRlcnIsCisJCQkJ CSJXQVJOSU5HOiBQR09BVVRIREVCVUc6IHVuc2FmZSBvcHRpb24gXCIlc1wiIHJlcXVpcmVzIFVO U0FGRTogcHJlZml4IChpZ25vcmVkKVxuIgorCQkJCQkiVXNlOiBQR09BVVRIREVCVUc9VU5TQUZF OiVzXG4iLAorCQkJCQlvcHRpb24sIG9wdGlvbik7CisJCX0KKworCQlvcHRpb24gPSBzdHJ0b2tf cihOVUxMLCAiLCIsICZzYXZlcHRyKTsKKwl9CisKKwlmcmVlKG9wdGlvbnNfc3RyKTsKKworCXJl dHVybiBmbGFnczsKK30KZGlmZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGgt b2F1dGguYyBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGgtb2F1dGguYwppbmRleCBmOTMx ODRmMDRkYi4uNGJmZTMxYjAzY2IgMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2Zl LWF1dGgtb2F1dGguYworKysgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1hdXRoLW9hdXRoLmMK QEAgLTM4Myw3ICszODMsNyBAQCBpc3N1ZXJfZnJvbV93ZWxsX2tub3duX3VyaShQR2Nvbm4gKmNv bm4sIGNvbnN0IGNoYXIgKndrdXJpKQogCQlhdXRob3JpdHlfc3RhcnQgPSB3a3VyaSArIHN0cmxl bihIVFRQU19TQ0hFTUUpOwogCiAJaWYgKCFhdXRob3JpdHlfc3RhcnQKLQkJJiYgb2F1dGhfdW5z YWZlX2RlYnVnZ2luZ19lbmFibGVkKCkKKwkJJiYgb2F1dGhfZ2V0X2RlYnVnX2ZsYWdzKCkuaHR0 cAogCQkmJiBwZ19zdHJuY2FzZWNtcCh3a3VyaSwgSFRUUF9TQ0hFTUUsIHN0cmxlbihIVFRQX1ND SEVNRSkpID09IDApCiAJewogCQkvKiBBbGxvdyBodHRwOi8vIGZvciB0ZXN0aW5nIG9ubHkuICov CkBAIC04OTcsNyArODk3LDcgQEAgdXNlX2J1aWx0aW5fZmxvdyhQR2Nvbm4gKmNvbm4sIGZlX29h dXRoX3N0YXRlICpzdGF0ZSwgUEdvYXV0aEJlYXJlclJlcXVlc3RWMiAqcmUKIAkJICoKIAkJICog Tm90ZSB0aGF0IFBPU0lYIGRsZXJyb3IoKSBpc24ndCBndWFyYW50ZWVkIHRvIGJlIHRocmVhZHNh ZmUuCiAJCSAqLwotCQlpZiAob2F1dGhfdW5zYWZlX2RlYnVnZ2luZ19lbmFibGVkKCkpCisJCWlm IChvYXV0aF9nZXRfZGVidWdfZmxhZ3MoKS5wcmludF9wbHVnaW5fZXJyb3JzKQogCQkJZnByaW50 ZihzdGRlcnIsICJmYWlsZWQgZGxvcGVuIGZvciBsaWJwcS1vYXV0aDogJXNcbiIsIGRsZXJyb3Io KSk7CiAKIAkJcmV0dXJuIDA7CkBAIC05MTEsNyArOTExLDcgQEAgdXNlX2J1aWx0aW5fZmxvdyhQ R2Nvbm4gKmNvbm4sIGZlX29hdXRoX3N0YXRlICpzdGF0ZSwgUEdvYXV0aEJlYXJlclJlcXVlc3RW MiAqcmUKIAkJICogY2F1c2UgaXMgc3RpbGwgbG9ja2VkIGJlaGluZCBQR09BVVRIREVCVUcgZHVl IHRvIHRoZSBkbGVycm9yKCkKIAkJICogdGhyZWFkc2FmZXR5IGlzc3VlLgogCQkgKi8KLQkJaWYg KG9hdXRoX3Vuc2FmZV9kZWJ1Z2dpbmdfZW5hYmxlZCgpKQorCQlpZiAob2F1dGhfZ2V0X2RlYnVn X2ZsYWdzKCkucHJpbnRfcGx1Z2luX2Vycm9ycykKIAkJCWZwcmludGYoc3RkZXJyLCAiZmFpbGVk IGRsc3ltIGZvciBsaWJwcS1vYXV0aDogJXNcbiIsIGRsZXJyb3IoKSk7CiAKIAkJZGxjbG9zZShz dGF0ZS0+YnVpbHRpbl9mbG93KTsKQEAgLTE0MTgsMTMgKzE0MTgsMyBAQCBwcUNsZWFyT0F1dGhU b2tlbihQR2Nvbm4gKmNvbm4pCiAJY29ubi0+b2F1dGhfdG9rZW4gPSBOVUxMOwogfQogCi0vKgot ICogUmV0dXJucyB0cnVlIGlmIHRoZSBQR09BVVRIREVCVUc9VU5TQUZFIGZsYWcgaXMgc2V0IGlu IHRoZSBlbnZpcm9ubWVudC4KLSAqLwotYm9vbAotb2F1dGhfdW5zYWZlX2RlYnVnZ2luZ19lbmFi bGVkKHZvaWQpCi17Ci0JY29uc3QgY2hhciAqZW52ID0gZ2V0ZW52KCJQR09BVVRIREVCVUciKTsK LQotCXJldHVybiAoZW52ICYmIHN0cmNtcChlbnYsICJVTlNBRkUiKSA9PSAwKTsKLX0KLS0gCjIu MzQuMQoK --000000000000ddf0f4064e44b71b Content-Type: application/octet-stream; name="v2-0002-Add-new-PGOAUTHDEBUG-option-issuer-mismatch.patch" Content-Disposition: attachment; filename="v2-0002-Add-new-PGOAUTHDEBUG-option-issuer-mismatch.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mndpmx0i2 RnJvbSA5MzNmNjQzMmY4NzQzMjg3OTc3ZTlkYTk5NjcwYzU4MmI5MTI3NWFlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBac29sdCBQYXJyYWdpIDx6c29sdC5wYXJyYWdpQGNhbmNlbGxh ci5odT4KRGF0ZTogV2VkLCAxOCBGZWIgMjAyNiAxNDo1MTo0NiArMDEwMApTdWJqZWN0OiBbUEFU Q0ggdjIgMi8yXSBBZGQgbmV3IFBHT0FVVEhERUJVRyBvcHRpb246IGlzc3Vlci1taXNtYXRjaAoK VGhpcyBuZXcgdW5zYWZlIG9wdGlvbiBhbGxvd3MgdG8gY29ubmVjdGlvbiB0byBwcm9jZWVkIGlm IHRoZSBpc3N1ZXIKY29uZmlndXJlZCBvbiB0aGUgc2VydmVyIGFuZCBjbGllbnQgbWlzbWF0Y2gs IGFsbG93aW5nIHRvIHdyaXRlCm1pc21hdGNoZWQtaXNzdWVyIHRlc3RzIGZvciB2YWxpZGF0b3Jz LgoKVmFsaWRhdG9ycyBzaG91bGQgdGVzdCBzY2VuYXJpb3MgbGlrZSB0aGlzLCBhcyB0aGUgd2ly ZSBhbGxvd3MgdGhpcwpzaXR1YXRpb24sIGJ1dCBwcmV2aW91c2x5IGxpYnBxL3BzcWwgcHJldmVu dGVkIGl0LCBtYWtpbmcgd3JpdGluZyB0ZXN0cwpmb3IgdGhpcyBtb3JlIGRpZmZpY3VsdC4KLS0t CiBkb2Mvc3JjL3NnbWwvbGlicHEuc2dtbCAgICAgICAgICAgICAgICAgICAgICAgIHwgMTggKysr KysrKysrKysrKysrKy0tCiBzcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1hdXRoLW9hdXRoLmggICAg ICAgICAgIHwgIDEgKwogc3JjL2ludGVyZmFjZXMvbGlicHEtb2F1dGgvb2F1dGgtY3VybC5jICAg ICAgICB8IDEzICsrKysrKysrKy0tLS0KIHNyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL3Rlc3Qt b2F1dGgtY3VybC5jICAgfCAgMSArCiBzcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1hdXRoLW9hdXRo LWRlYnVnLmMgICAgIHwgIDcgKysrKysrKwogc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0aC1v YXV0aC5jICAgICAgICAgICB8IDE4ICsrKysrKysrKysrLS0tLS0tLQogLi4uL21vZHVsZXMvb2F1 dGhfdmFsaWRhdG9yL3QvMDAxX3NlcnZlci5wbCAgICB8IDE1ICsrKysrKysrKy0tLS0tLQogNyBm aWxlcyBjaGFuZ2VkLCA1NCBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kb2Mvc3JjL3NnbWwvbGlicHEuc2dtbCBiL2RvYy9zcmMvc2dtbC9saWJwcS5zZ21sCmlu ZGV4IDJlNWZiOTAxMWU5Li4xNzJmODEzODU0NiAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2xp YnBxLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2xpYnBxLnNnbWwKQEAgLTEwNjgzLDYgKzEwNjgz LDIwIEBAIFBHT0FVVEhERUJVRz1VTlNBRkUgICAgPGxpbmVhbm5vdGF0aW9uPmxlZ2FjeSBmb3Jt YXQ7IGVuYWJsZXMgYWxsIG9wdGlvbnM8L2xpbmVhCiAgICAgICA8L2xpc3RpdGVtPgogICAgICA8 L3Zhcmxpc3RlbnRyeT4KIAorICAgICA8dmFybGlzdGVudHJ5PgorICAgICAgPHRlcm0+PGxpdGVy YWw+aXNzdWVyLW1pc21hdGNoPC9saXRlcmFsPiAodW5zYWZlKTwvdGVybT4KKyAgICAgIDxsaXN0 aXRlbT4KKyAgICAgICA8cGFyYT4KKyAgICAgICAgVG9sZXJhdGVzIGEgbWlzbWF0Y2ggYmV0d2Vl biB0aGUgY2xpZW50J3MgY29uZmlndXJlZAorICAgICAgICA8bGl0ZXJhbD5vYXV0aF9pc3N1ZXI8 L2xpdGVyYWw+IGFuZCB0aGUgaXNzdWVyIGZvdW5kIGluIHRoZSBzZXJ2ZXIncworICAgICAgICBk aXNjb3ZlcnkgZG9jdW1lbnQuIFRoaXMgZGlzYWJsZXMgdGhlIG1peC11cCBhdHRhY2sgcHJvdGVj dGlvbiBmcm9tCisgICAgICAgIFJGQyA5MjA3IGFuZCBzaG91bGQgb25seSBiZSB1c2VkIGluIGRl dmVsb3BtZW50IG9yIHRlc3RpbmcgZW52aXJvbm1lbnRzCisgICAgICAgIHdoZXJlIHRoZSBzZXJ2 ZXIncyBpc3N1ZXIgaWRlbnRpZmllciBkb2VzIG5vdCBtYXRjaCB0aGUgY2xpZW50CisgICAgICAg IGNvbmZpZ3VyYXRpb24uCisgICAgICAgPC9wYXJhPgorICAgICAgPC9saXN0aXRlbT4KKyAgICAg PC92YXJsaXN0ZW50cnk+CisKICAgICAgPHZhcmxpc3RlbnRyeT4KICAgICAgIDx0ZXJtPjxsaXRl cmFsPmZhc3QtcmV0cnk8L2xpdGVyYWw+IChzYWZlKTwvdGVybT4KICAgICAgIDxsaXN0aXRlbT4K QEAgLTEwNzE4LDggKzEwNzMyLDggQEAgUEdPQVVUSERFQlVHPVVOU0FGRSAgICA8bGluZWFubm90 YXRpb24+bGVnYWN5IGZvcm1hdDsgZW5hYmxlcyBhbGwgb3B0aW9uczwvbGluZWEKICAgIDwvcGFy YT4KIAogICAgPHBhcmE+Ci0gICAgVW5zYWZlIG9wdGlvbnMgKDxsaXRlcmFsPmh0dHA8L2xpdGVy YWw+LCA8bGl0ZXJhbD50cmFjZTwvbGl0ZXJhbD4pCi0gICAgcmVxdWlyZSB0aGUgPGxpdGVyYWw+ VU5TQUZFOjwvbGl0ZXJhbD4gcHJlZml4LgorICAgIFVuc2FmZSBvcHRpb25zICg8bGl0ZXJhbD5o dHRwPC9saXRlcmFsPiwgPGxpdGVyYWw+dHJhY2U8L2xpdGVyYWw+LAorICAgIDxsaXRlcmFsPmlz c3Vlci1taXNtYXRjaDwvbGl0ZXJhbD4pIHJlcXVpcmUgdGhlIDxsaXRlcmFsPlVOU0FGRTo8L2xp dGVyYWw+IHByZWZpeC4KICAgICBJZiB1bnNhZmUgb3B0aW9ucyBhcmUgc3BlY2lmaWVkIHdpdGhv dXQgdGhpcyBwcmVmaXgsIGEgd2FybmluZyBpcyBwcmludGVkCiAgICAgdG8gc3RhbmRhcmQgZXJy b3IgYW5kIHRoYXQgb3B0aW9uIGlzIGlnbm9yZWQuIE90aGVyIHZhbGlkIG9wdGlvbnMgaW4gdGhl CiAgICAgbGlzdCBjb250aW51ZSB0byB3b3JrLiBTYWZlIG9wdGlvbnMgKDxsaXRlcmFsPmZhc3Qt cmV0cnk8L2xpdGVyYWw+LApkaWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0 aC1vYXV0aC5oIGIvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0aC1vYXV0aC5oCmluZGV4IGZk ZTVjMzBjMDEzLi5hY2M2NzhmOTFjZiAxMDA2NDQKLS0tIGEvc3JjL2ludGVyZmFjZXMvbGlicHEv ZmUtYXV0aC1vYXV0aC5oCisrKyBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGgtb2F1dGgu aApAQCAtNDcsNiArNDcsNyBAQCB0eXBlZGVmIHN0cnVjdCBvYXV0aF9kZWJ1Z19mbGFncwogCS8q IFVOU0FGRSBmZWF0dXJlcyAtIHJlcXVpcmUgVU5TQUZFOiBwcmVmaXggKi8KIAlib29sCQlodHRw OwkJCS8qIGFsbG93IEhUVFAgKHVuZW5jcnlwdGVkKSBjb25uZWN0aW9ucyAqLwogCWJvb2wJCXRy YWNlOwkJCS8qIGxvZyBIVFRQIHRyYWZmaWMgKGV4cG9zZXMgc2VjcmV0cykgKi8KKwlib29sCQlp c3N1ZXJfbWlzbWF0Y2g7CS8qIHRvbGVyYXRlIGlzc3VlciBtaXNtYXRjaCAqLwogCiAJLyogU0FG RSBmZWF0dXJlcyAtIGFsbG93ZWQgd2l0aG91dCBVTlNBRkU6IHByZWZpeCAqLwogCWJvb2wJCWZh c3RfcmV0cnk7CQkvKiBhbGxvdyB6ZXJvLXNlY29uZCByZXRyeSBpbnRlcnZhbHMgKi8KZGlmZiAt LWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL29hdXRoLWN1cmwuYyBiL3NyYy9pbnRl cmZhY2VzL2xpYnBxLW9hdXRoL29hdXRoLWN1cmwuYwppbmRleCA1NjRkNzZjZjA2My4uNWMxODcw MmRhNjIgMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxLW9hdXRoL29hdXRoLWN1cmwu YworKysgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC9vYXV0aC1jdXJsLmMKQEAgLTIyNDks MTAgKzIyNDksMTUgQEAgY2hlY2tfaXNzdWVyKHN0cnVjdCBhc3luY19jdHggKmFjdHgsIFBHY29u biAqY29ubikKIAkgKi8KIAlpZiAoc3RyY21wKG9hdXRoX2lzc3Vlcl9pZCwgcHJvdmlkZXItPmlz c3VlcikgIT0gMCkKIAl7Ci0JCWFjdHhfZXJyb3IoYWN0eCwKLQkJCQkgICAidGhlIGlzc3VlciBp ZGVudGlmaWVyICglcykgZG9lcyBub3QgbWF0Y2ggb2F1dGhfaXNzdWVyICglcykiLAotCQkJCSAg IHByb3ZpZGVyLT5pc3N1ZXIsIG9hdXRoX2lzc3Vlcl9pZCk7Ci0JCXJldHVybiBmYWxzZTsKKwkJ aWYgKCFhY3R4LT5kZWJ1Z19mbGFncy5pc3N1ZXJfbWlzbWF0Y2gpCisJCXsKKwkJCWFjdHhfZXJy b3IoYWN0eCwKKwkJCQkJICAgInRoZSBpc3N1ZXIgaWRlbnRpZmllciAoJXMpIGRvZXMgbm90IG1h dGNoIG9hdXRoX2lzc3VlciAoJXMpIiwKKwkJCQkJICAgcHJvdmlkZXItPmlzc3Vlciwgb2F1dGhf aXNzdWVyX2lkKTsKKwkJCXJldHVybiBmYWxzZTsKKwkJfQorCisJCXJldHVybiB0cnVlOwogCX0K IAogCXJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFjZXMvbGlicHEtb2F1dGgv dGVzdC1vYXV0aC1jdXJsLmMgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS1vYXV0aC90ZXN0LW9hdXRo LWN1cmwuYwppbmRleCAwNjgxNWJlOWEwYS4uNzc2ZWFhYWZjOGQgMTAwNjQ0Ci0tLSBhL3NyYy9p bnRlcmZhY2VzL2xpYnBxLW9hdXRoL3Rlc3Qtb2F1dGgtY3VybC5jCisrKyBiL3NyYy9pbnRlcmZh Y2VzL2xpYnBxLW9hdXRoL3Rlc3Qtb2F1dGgtY3VybC5jCkBAIC05MSw2ICs5MSw3IEBAIGluaXRf dGVzdF9hY3R4KHZvaWQpCiAJYWN0eC0+dGltZXJmZCA9IC0xOwogCWFjdHgtPmRlYnVnX2ZsYWdz Lmh0dHAgPSB0cnVlOwogCWFjdHgtPmRlYnVnX2ZsYWdzLnRyYWNlID0gdHJ1ZTsKKwlhY3R4LT5k ZWJ1Z19mbGFncy5pc3N1ZXJfbWlzbWF0Y2ggPSB0cnVlOwogCWFjdHgtPmRlYnVnX2ZsYWdzLmZh c3RfcmV0cnkgPSB0cnVlOwogCWFjdHgtPmRlYnVnX2ZsYWdzLnBvbGxfY291bnRzID0gdHJ1ZTsK IAlhY3R4LT5kZWJ1Z19mbGFncy5wcmludF9wbHVnaW5fZXJyb3JzID0gdHJ1ZTsKZGlmZiAtLWdp dCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGgtb2F1dGgtZGVidWcuYyBiL3NyYy9pbnRl cmZhY2VzL2xpYnBxL2ZlLWF1dGgtb2F1dGgtZGVidWcuYwppbmRleCBmOWExYjFmMTk1Zi4uMzA5 Mjg2ZTI1M2YgMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGgtb2F1dGgt ZGVidWcuYworKysgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1hdXRoLW9hdXRoLWRlYnVnLmMK QEAgLTQ3LDYgKzQ3LDEyIEBAIHBhcnNlX2RlYnVnX29wdGlvbihjb25zdCBjaGFyICpvcHRpb24s IG9hdXRoX2RlYnVnX2ZsYWdzICpmbGFncywgYm9vbCAqaXNfdW5zYWZlCiAJCSppc191bnNhZmUg PSB0cnVlOwogCQlyZXR1cm4gdHJ1ZTsKIAl9CisJZWxzZSBpZiAoc3RyY21wKG9wdGlvbiwgImlz c3Vlci1taXNtYXRjaCIpID09IDApCisJeworCQlmbGFncy0+aXNzdWVyX21pc21hdGNoID0gdHJ1 ZTsKKwkJKmlzX3Vuc2FmZSA9IHRydWU7CisJCXJldHVybiB0cnVlOworCX0KIAkvKiBTYWZlIG9w dGlvbnMgKi8KIAllbHNlIGlmIChzdHJjbXAob3B0aW9uLCAiZmFzdC1yZXRyeSIpID09IDApCiAJ ewpAQCAtOTYsNiArMTAyLDcgQEAgb2F1dGhfZ2V0X2RlYnVnX2ZsYWdzKHZvaWQpCiAJewogCQlm bGFncy5odHRwID0gdHJ1ZTsKIAkJZmxhZ3MudHJhY2UgPSB0cnVlOworCQlmbGFncy5pc3N1ZXJf bWlzbWF0Y2ggPSB0cnVlOwogCQlmbGFncy5mYXN0X3JldHJ5ID0gdHJ1ZTsKIAkJZmxhZ3MucG9s bF9jb3VudHMgPSB0cnVlOwogCQlmbGFncy5wcmludF9wbHVnaW5fZXJyb3JzID0gdHJ1ZTsKZGlm ZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGgtb2F1dGguYyBiL3NyYy9pbnRl cmZhY2VzL2xpYnBxL2ZlLWF1dGgtb2F1dGguYwppbmRleCA0YmZlMzFiMDNjYi4uNDEzNDA1MzBm M2UgMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGgtb2F1dGguYworKysg Yi9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1hdXRoLW9hdXRoLmMKQEAgLTYwNiwxMyArNjA2LDE2 IEBAIGhhbmRsZV9vYXV0aF9zYXNsX2Vycm9yKFBHY29ubiAqY29ubiwgY29uc3QgY2hhciAqbXNn LCBpbnQgbXNnbGVuKQogCiAJCWlmIChzdHJjbXAoY29ubi0+b2F1dGhfaXNzdWVyX2lkLCBkaXNj b3ZlcnlfaXNzdWVyKSAhPSAwKQogCQl7Ci0JCQlsaWJwcV9hcHBlbmRfY29ubl9lcnJvcihjb25u LAotCQkJCQkJCQkJInNlcnZlcidzIGRpc2NvdmVyeSBkb2N1bWVudCBhdCAlcyAoaXNzdWVyIFwi JXNcIikgaXMgaW5jb21wYXRpYmxlIHdpdGggb2F1dGhfaXNzdWVyICglcykiLAotCQkJCQkJCQkJ Y3R4LmRpc2NvdmVyeV91cmksIGRpc2NvdmVyeV9pc3N1ZXIsCi0JCQkJCQkJCQljb25uLT5vYXV0 aF9pc3N1ZXJfaWQpOworCQkJaWYgKCFvYXV0aF9nZXRfZGVidWdfZmxhZ3MoKS5pc3N1ZXJfbWlz bWF0Y2gpCisJCQl7CisJCQkJbGlicHFfYXBwZW5kX2Nvbm5fZXJyb3IoY29ubiwKKwkJCQkJCQkJ CQkic2VydmVyJ3MgZGlzY292ZXJ5IGRvY3VtZW50IGF0ICVzIChpc3N1ZXIgXCIlc1wiKSBpcyBp bmNvbXBhdGlibGUgd2l0aCBvYXV0aF9pc3N1ZXIgKCVzKSIsCisJCQkJCQkJCQkJY3R4LmRpc2Nv dmVyeV91cmksIGRpc2NvdmVyeV9pc3N1ZXIsCisJCQkJCQkJCQkJY29ubi0+b2F1dGhfaXNzdWVy X2lkKTsKIAotCQkJZnJlZShkaXNjb3ZlcnlfaXNzdWVyKTsKLQkJCWdvdG8gY2xlYW51cDsKKwkJ CQlmcmVlKGRpc2NvdmVyeV9pc3N1ZXIpOworCQkJCWdvdG8gY2xlYW51cDsKKwkJCX0KIAkJfQog CiAJCWZyZWUoZGlzY292ZXJ5X2lzc3Vlcik7CkBAIC02MjUsNyArNjI4LDggQEAgaGFuZGxlX29h dXRoX3Nhc2xfZXJyb3IoUEdjb25uICpjb25uLCBjb25zdCBjaGFyICptc2csIGludCBtc2dsZW4p CiAJCWVsc2UKIAkJewogCQkJLyogVGhpcyBtdXN0IG1hdGNoIHRoZSBVUkkgd2UnZCBwcmV2aW91 c2x5IGRldGVybWluZWQuICovCi0JCQlpZiAoc3RyY21wKGNvbm4tPm9hdXRoX2Rpc2NvdmVyeV91 cmksIGN0eC5kaXNjb3ZlcnlfdXJpKSAhPSAwKQorCQkJaWYgKHN0cmNtcChjb25uLT5vYXV0aF9k aXNjb3ZlcnlfdXJpLCBjdHguZGlzY292ZXJ5X3VyaSkgIT0gMAorCQkJCSYmICFvYXV0aF9nZXRf ZGVidWdfZmxhZ3MoKS5pc3N1ZXJfbWlzbWF0Y2gpCiAJCQl7CiAJCQkJbGlicHFfYXBwZW5kX2Nv bm5fZXJyb3IoY29ubiwKIAkJCQkJCQkJCQkic2VydmVyJ3MgZGlzY292ZXJ5IGRvY3VtZW50IGhh cyBtb3ZlZCB0byAlcyAocHJldmlvdXMgbG9jYXRpb24gd2FzICVzKSIsCmRpZmYgLS1naXQgYS9z cmMvdGVzdC9tb2R1bGVzL29hdXRoX3ZhbGlkYXRvci90LzAwMV9zZXJ2ZXIucGwgYi9zcmMvdGVz dC9tb2R1bGVzL29hdXRoX3ZhbGlkYXRvci90LzAwMV9zZXJ2ZXIucGwKaW5kZXggOWU0ZGJhOGM5 MjQuLmFiZTQ3MTU0NTI5IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9tb2R1bGVzL29hdXRoX3ZhbGlk YXRvci90LzAwMV9zZXJ2ZXIucGwKKysrIGIvc3JjL3Rlc3QvbW9kdWxlcy9vYXV0aF92YWxpZGF0 b3IvdC8wMDFfc2VydmVyLnBsCkBAIC0xOTAsMTIgKzE5MCwxNSBAQCAkbm9kZS0+Y29ubmVjdF9v aygKIAldKTsKIAogIyBUaGUgaXNzdWVyIGxpbmtlZCBieSB0aGUgc2VydmVyIG11c3QgbWF0Y2gg dGhlIGNsaWVudCdzIG9hdXRoX2lzc3VlciBzZXR0aW5nLgotJG5vZGUtPmNvbm5lY3RfZmFpbHMo Ci0JInVzZXI9JHVzZXIgZGJuYW1lPXBvc3RncmVzIG9hdXRoX2lzc3Vlcj0kaXNzdWVyIG9hdXRo X2NsaWVudF9pZD1mMDJjNjM2MS0wNjM2IiwKLQkib2F1dGhfaXNzdWVyIG11c3QgbWF0Y2ggZGlz Y292ZXJ5IiwKLQlleHBlY3RlZF9zdGRlcnIgPT4KLQkgIHFyQHNlcnZlcidzIGRpc2NvdmVyeSBk b2N1bWVudCBhdCBcUSRpc3N1ZXIvLndlbGwta25vd24vb2F1dGgtYXV0aG9yaXphdGlvbi1zZXJ2 ZXIvYWx0ZXJuYXRlXEUgXChpc3N1ZXIgIlxRJGlzc3Vlci9hbHRlcm5hdGVcRSJcKSBpcyBpbmNv bXBhdGlibGUgd2l0aCBvYXV0aF9pc3N1ZXIgXChcUSRpc3N1ZXJcRVwpQAotKTsKK3sKKwlsb2Nh bCAkRU5We1BHT0FVVEhERUJVR30gPSAiVU5TQUZFOmh0dHAiOworCSRub2RlLT5jb25uZWN0X2Zh aWxzKAorCQkidXNlcj0kdXNlciBkYm5hbWU9cG9zdGdyZXMgb2F1dGhfaXNzdWVyPSRpc3N1ZXIg b2F1dGhfY2xpZW50X2lkPWYwMmM2MzYxLTA2MzYiLAorCQkib2F1dGhfaXNzdWVyIG11c3QgbWF0 Y2ggZGlzY292ZXJ5IiwKKwkJZXhwZWN0ZWRfc3RkZXJyID0+CisJCSAgcXJAc2VydmVyJ3MgZGlz Y292ZXJ5IGRvY3VtZW50IGF0IFxRJGlzc3Vlci8ud2VsbC1rbm93bi9vYXV0aC1hdXRob3JpemF0 aW9uLXNlcnZlci9hbHRlcm5hdGVcRSBcKGlzc3VlciAiXFEkaXNzdWVyL2FsdGVybmF0ZVxFIlwp IGlzIGluY29tcGF0aWJsZSB3aXRoIG9hdXRoX2lzc3VlciBcKFxRJGlzc3VlclxFXClACisJKTsK K30KIAogIyBUZXN0IHJlcXVpcmVfYXV0aCBzZXR0aW5ncyBhZ2FpbnN0IE9BVVRIQkVBUkVSLgog bXkgQGNhc2VzID0gKAotLSAKMi4zNC4xCgo= --000000000000ddf0f4064e44b71b--