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 1wF8l2-004mbQ-1m for pgsql-hackers@arkaria.postgresql.org; Tue, 21 Apr 2026 10:55:09 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wF8l0-00899z-12 for pgsql-hackers@arkaria.postgresql.org; Tue, 21 Apr 2026 10:55:06 +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 1wF8kz-00899r-39 for pgsql-hackers@lists.postgresql.org; Tue, 21 Apr 2026 10:55:06 +0000 Received: from mail-oo1-xc2d.google.com ([2607:f8b0:4864:20::c2d]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wF8kx-00000002Hhy-1UIc for pgsql-hackers@postgresql.org; Tue, 21 Apr 2026 10:55:05 +0000 Received: by mail-oo1-xc2d.google.com with SMTP id 006d021491bc7-694891f8f75so955236eaf.1 for ; Tue, 21 Apr 2026 03:55:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1776768901; cv=none; d=google.com; s=arc-20240605; b=JJE3lkH4mKDRGV9SEpgttqzzxuenNiTFMblAhdTCG1Jueg8LxjgmA53z0eoT3ZjjO8 9vfnyyyOv49PZ5MpFmtjlY9P5BFSYDb4ua48P0jEQxLzVMLV+n7TkcS6C30BkMgyW+8Q 8Qh3rz7OTmMYBxLHt52LB94vPE2yM+oVJl9+tWVaI/oxTA1r6fqSjZ/CJ9Afp17ZzBzN eJKDsoGKGB4sirial1gzA33lfrgcddbjeDOMpqQ21SnbvlRFpI2g/x/fTVkBsjm5L4a3 NhUXAVylDYyEgFZceJDTZLr51MKZWHZCxGhVApSz/Zv5ILH4BPiwpPxLPcUnDhHnoLs0 sXBA== 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=vtH+OgNn5jsSjhES+ot1dAXjaePB7mP221WtBKSmYDM=; fh=o0qMXlESJRL44MTqm9tRmUmErZIgQVVFtRJLvx0Qaaw=; b=c93nNKyAFSjYgLQQTxDZbf+nw4LGyWXyoUmzDe+kWp2yDN3f4KqiH7tiQwqhim5IMv WGiQMNF6OgQvx7lSSufQZK7vx2h6Pwz4o4Jduc75pTqRQ3GEo+dZCu7qn/3pTOVModwZ M+IDxgos6994rXkeJKBASERV6HE1N2MuXx+UAKtcI2jeRlY2BVOZS6e60QAMEYOABaEN rC8y9DpqlhHE+KB1e8+QDF8uwMTiFOL0YsFntip6m7tlu8TTS6DPVvKy8ubExpO3p0IM 7jxb+qsyoAmTR/ejNFwlEILn7A6dmsHbS/StGwV6Dd4q44OwFQlwKs27R5Jk1hU5pGFC NTig==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776768901; x=1777373701; darn=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=vtH+OgNn5jsSjhES+ot1dAXjaePB7mP221WtBKSmYDM=; b=OE5aRR4gtpCIn20JjSPRfV4P/DqDk6x/TDIeSIKh/JEbwY5WYlt5PQGtSUlU3TkEvu tGMOof9xAtUJQcYICoHcR9Xz+YtYfCwVwhS00IWTu4AKHkulXo18wJAD9VQ3FFwB7u14 Nn/E1EZlqn830PzG7tHSpYIrmtqtLoTjPxSzJFMFg3XPsNr9klwPxA1Eq9HAEeYDZmFH H6crVVsIpOH8pDhpmtMKiub5YVtWWIAMp5v1Whrn/ddvH8zcYWBu8WDp5nOJWbXo7j7M 8F/SboFONMExYnlxS2UDjf3IFbt6lDK08XILBZdWMsB13jFAjYNbmNTZAGBtt0FXyScV YnCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776768901; x=1777373701; 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=vtH+OgNn5jsSjhES+ot1dAXjaePB7mP221WtBKSmYDM=; b=eZ3kIaJskXNiNIDPcmbikw0ijJ9X/Yu4Ntl0NyrVVXiytYLDT3uPLqDwADSs5YVObf pen1V6SI+oW4EY6Kj6MUDxaIk7csrjUWpOxp8JM4QxAmxOWeDp81GWNv9HQMuyoJg/of grzbI7pz5MLxXd6kWhsa4TWE4s2Pt0s9AA7MymVHZCx//OGdqa+Du9hpAxRrT23g2CfV 87J11D2eme0vYI9pqJbmLUws+Bo6dLPO4/rpvL3B1e7V2HFDygh0cLgjpvT+idRM3Nxd lLyqEDHoP8psu45wQb7QZyBB3CvEx/ygurHFORuUywzhVflTlfxOb+YRaAZCJPvJcrdx s+dg== X-Forwarded-Encrypted: i=1; AFNElJ8tRj2Kf6Zj3oI0GLSfyvsK4wJM2y/rxEziyJ/da6pVmyjcA6c7qdaYkDv2FOrJxGIJVZs5TlgNgWFRt4j5@postgresql.org X-Gm-Message-State: AOJu0YwzVnhKcTJzsZgiXLaiNgIUp48W7aMN8jAzG6IzgxRHI8m1ZNfH N/uFW1p/reYn2G0aoLWXHWC0YuUVxibDNttJsx1b9pLpB/ysuiOPUj2KRhMnj74LX/q0xPR8Q3q 5DJfJ5jFyAPAiOrNCSDSKdTPX5r0mSIM= X-Gm-Gg: AeBDievDq2Jo6kSnihtPkwzq0485aZYWGXJdQZz/Onoi5xyghLXFMSqPjSPVH/gLWMQ yN4Rz3sc3sEi7IyNN4UcgRlDdNfJMvO4URIx/CSUx62vfkCjmTExcCVeF/J1288Cu9D40kI2Q0Y tGtFp37SkBQpyaIdW2eDusLdnFnAu3M/cKd4I3KihSkJD9pWdgiQA92J/f1kdESGOS9CbRTvK0+ I2ExPvV4imetrfyuUbP2NrHgyxHr4G6hrgdIV/4833OA+sRP+3GG+PE3ZorJ3T7L1PFulwnOz7X Ec7gtXRMN17FxlOPNLY0Gr2E+Bs40dJUbtwuHIECYGLlEFk4/I7oiYuPFrVWhXfPoy2fARHaCFn ijzUUuLKOA/uXuh/k X-Received: by 2002:a05:6820:61b:b0:694:8d83:a344 with SMTP id 006d021491bc7-6948d83a592mr4018534eaf.16.1776768901040; Tue, 21 Apr 2026 03:55:01 -0700 (PDT) MIME-Version: 1.0 References: <1a32fc83-df78-4774-97dc-2bb06dbb16e9@uni-muenster.de> <3529398.1774273446@sss.pgh.pa.us> <4075754.1774378690@sss.pgh.pa.us> <67637cf8-8cbf-4f86-8775-52aa0329972d@uni-muenster.de> <402bbc8d-728b-4467-8024-31c2bc101ead@uni-muenster.de> In-Reply-To: From: Alexander Korotkov Date: Tue, 21 Apr 2026 13:54:47 +0300 X-Gm-Features: AQROBzDOON8Lm-RP3gQfCXpwvDEi5o4--5nuZ8d1It0C2FYviOj4HLzNvOyTo9k Message-ID: Subject: Re: Fix bug with accessing to temporary tables of other sessions To: Soumya S Murali Cc: Jim Jones , Daniil Davydov <3danissimo@gmail.com>, Tom Lane , Stepan Neretin , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000322718064ff63f01" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000322718064ff63f01 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Apr 21, 2026 at 8:44=E2=80=AFAM Soumya S Murali wrote: > Thank you for reviewing the patch and for the detailed explanation. > > On Tue, Apr 21, 2026 at 1:37=E2=80=AFAM Alexander Korotkov wrote: > > > > Hi! > > > > I've checked the thread. Thanks to all the participants for their > > work. I think there is a general agreement on the design. > > > > On Thu, Apr 16, 2026 at 9:41=E2=80=AFAM Soumya S Murali > > wrote: > > > Thank you for the guidance and the updated patch. > > > > > > On Mon, Apr 13, 2026 at 7:26=E2=80=AFPM Jim Jones wrote: > > > > > > > > Hi > > > > > > > > On 13/04/2026 14:40, Soumya S Murali wrote: > > > > > Please let me know if there are additional scenarios I should > > > > > validate. Looking forward to more feedback. > > > > > > > > Thanks for testing it. You can take a look at > > > > 012_temp_obj_multisession.pl and check if we missed any path. > > > > > > > > Due to changes introduced in b2a17ba7a5d the patch was no longer > > > > applying. See rebased v18 attached. > > > > > > > > > > > > > I tested the rebased v18 patch on a clean tree and verified that it > > > applies cleanly and behaves consistently with previous results. > > > Cross-session access is correctly blocked with: ERROR: cannot access > > > temporary relations of other sessions > > > Index scan paths are also properly restricted, and same-session acces= s > > > continues to work as expected. > > > The updated test changes look good. Everything works as expected, +1 > > > from my side. > > > > I see the patch changes the error wording. Previously the error was > > "cannot access temporary tables of other sessions", but we change it > > to "cannot access temporary relation of other sessions". I see the > > intention here: we trigger an error while accessing some relation (not > > necessarily a table) then we should reflect this directly to the error > > message. However, old message is already here for quite a while and > > translated into many languages. Also, is old message incorrect? We > > trigger an error on buffer access. That is, we trigger an error only > > for relation with a storage: table, index, sequence or matview. > > Matview can't be temporary. Also, if you access an index with a > > query, that means you're querying its table. But sequence can be > > temporary and it can be not directly associated with a table. So, > > yes, new error message is more correct. But I would prefer to make it > > a separate patch, and replace all the occurrences including contrib. > > > > > This makes sense. While the new wording is indeed more precise, I > agree that changing an existing error message, especially one that has > been present for a long time and is already translated, should be > handled > separately from the bug fix. Keeping the current message for this > patch and addressing wording improvements in a dedicated follow-up > patch sounds like the right approach. > Thanks for pointing this out. OK. I'm going to push and backpatch if no objections. ------ Regards, Alexander Korotkov Supabase --000000000000322718064ff63f01 Content-Type: application/octet-stream; name="v19-0001-Prevent-access-to-other-sessions-temp-tables.patch" Content-Disposition: attachment; filename="v19-0001-Prevent-access-to-other-sessions-temp-tables.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mo8ib5pj0 RnJvbSBkNTM5NTAxM2IxNTFjZTg0OTRlNGYyMDg2ZjRmODdmMGQwNGE2YTBkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4YW5kZXIgS29yb3Rrb3YgPGFrb3JvdGtvdkBwb3N0Z3Jl c3FsLm9yZz4KRGF0ZTogVHVlLCAyMSBBcHIgMjAyNiAxMzoxNzozMiArMDMwMApTdWJqZWN0OiBb UEFUQ0ggdjE5XSBQcmV2ZW50IGFjY2VzcyB0byBvdGhlciBzZXNzaW9ucycgdGVtcCB0YWJsZXMK CkNvbW1pdCBiN2IwZjNmMjcyNCAoIlVzZSBzdHJlYW1pbmcgSS9PIGluIHNlcXVlbnRpYWwgc2Nh bnMiKSByb3V0ZWQKc2VxdWVudGlhbCBzY2FucyB0aHJvdWdoIHJlYWRfc3RyZWFtX25leHRfYnVm ZmVyKCksIGJ5cGFzc2luZyB0aGUKUkVMQVRJT05fSVNfT1RIRVJfVEVNUCgpIGNoZWNrIGluIFJl YWRCdWZmZXJFeHRlbmRlZCgpLiAgQXMgYSByZXN1bHQsCmEgc3VwZXJ1c2VyIGNhbiBhdHRlbXB0 IHRvIGFjY2VzcyB0ZW1wIHRhYmxlcyBvZiBvdGhlciBzZXNzaW9ucywgZXZlbgp0aG91Z2ggdGhl IGJ1ZmZlciBtYW5hZ2VyIGlzIGluY2FwYWJsZSBvZiBkZWFsaW5nIHdpdGggdGhlbSBjb3JyZWN0 bHkuCgpGaXggYnkgYWRkaW5nIHRoZSBzYW1lIGNoZWNrIGF0IHR3byBhZGRpdGlvbmFsIHBvaW50 czoKCi0gcmVhZF9zdHJlYW1fYmVnaW5faW1wbCgpIGNvdmVycyBzZXF1ZW50aWFsIGFuZCBiaXRt YXAgc2NhbnMgdGhhdAogIGdvIHRocm91Z2ggdGhlIHJlYWQtc3RyZWFtIHBhdGguCi0gU3RhcnRS ZWFkQnVmZmVyc0ltcGwoKSBhbmQgUmVhZEJ1ZmZlcl9jb21tb24oKSBjb3ZlciBpbmRleCBzY2Fu cwogIGFuZCBhbnkgcmVtYWluaW5nIGRpcmVjdCBidWZmZXIgYWNjZXNzZXMuCgpBbHNvIGFkZCBh IFRBUCB0ZXN0IGluIHNyYy90ZXN0L21vZHVsZXMvdGVzdF9taXNjIGV4ZXJjaXNpbmcgYWNjZXNz IHRvCmFub3RoZXIgc2Vzc2lvbidzIHRlbXAgdGFibGUuCgpBdXRob3I6IEppbSBKb25lcyA8amlt LmpvbmVzQHVuaS1tdWVuc3Rlci5kZT4KCkRpc2N1c3Npb246IGh0dHBzOi8vcG9zdGdyLmVzL20v Q0FKRGlYZ2hkRmNaOCUzRG5oNEc2OXRlN2lScjNRMHVGeVh4YjNaZEcwOV9HVE5aWHdIMGclNDBt YWlsLmdtYWlsLmNvbQpBdXRob3I6IERhbmlpbCBEYXZ5ZG92IDwzZGFuaXNzaW1vQGdtYWlsLmNv bT4KQ28tYXV0aG9yZWQtYnk6IEppbSBKb25lcyA8amltLmpvbmVzQHVuaS1tdWVuc3Rlci5kZT4K UmV2aWV3ZWQtYnk6IFNvdW15YSBTIE11cmFsaSA8c291bXlhbXVyYWxpLndvcmtAZ21haWwuY29t PgpSZXZpZXdlZC1ieTogVG9tIExhbmUgPHRnbEBzc3MucGdoLnBhLnVzPgpSZXZpZXdlZC1ieTog QWxleGFuZGVyIEtvcm90a292IDxhZWtvcm90a292QGdtYWlsLmNvbT4KQmFja3BhdGNoLXRocm91 Z2g6IDE3Ci0tLQogc3JjL2JhY2tlbmQvc3RvcmFnZS9haW8vcmVhZF9zdHJlYW0uYyAgICAgICAg IHwgIDEwICsrCiBzcmMvYmFja2VuZC9zdG9yYWdlL2J1ZmZlci9idWZtZ3IuYyAgICAgICAgICAg fCAgMTIgKysKIHNyYy90ZXN0L21vZHVsZXMvdGVzdF9taXNjL21lc29uLmJ1aWxkICAgICAgICB8 ICAgMSArCiAuLi4vdGVzdF9taXNjL3QvMDEyX3RlbXBfb2JqX211bHRpc2Vzc2lvbi5wbCAgfCAx MTcgKysrKysrKysrKysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDE0MCBpbnNlcnRpb25zKCsp CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X21pc2MvdC8wMTJfdGVt cF9vYmpfbXVsdGlzZXNzaW9uLnBsCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9h aW8vcmVhZF9zdHJlYW0uYyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvYWlvL3JlYWRfc3RyZWFtLmMK aW5kZXggMjM3NGI0Y2Q1MDcuLmEzMTg1MzllNTZjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9z dG9yYWdlL2Fpby9yZWFkX3N0cmVhbS5jCisrKyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvYWlvL3Jl YWRfc3RyZWFtLmMKQEAgLTc3Niw2ICs3NzYsMTYgQEAgcmVhZF9zdHJlYW1fYmVnaW5faW1wbChp bnQgZmxhZ3MsCiAJdWludDMyCQltYXhfcG9zc2libGVfYnVmZmVyX2xpbWl0OwogCU9pZAkJCXRh Ymxlc3BhY2VfaWQ7CiAKKwkvKgorCSAqIFJlamVjdCBhdHRlbXB0cyB0byByZWFkIG5vbi1sb2Nh bCB0ZW1wb3JhcnkgcmVsYXRpb25zOyB3ZSB3b3VsZCBiZQorCSAqIGxpa2VseSB0byBnZXQgd3Jv bmcgZGF0YSBzaW5jZSB3ZSBoYXZlIG5vIHZpc2liaWxpdHkgaW50byB0aGUgb3duaW5nCisJICog c2Vzc2lvbidzIGxvY2FsIGJ1ZmZlcnMuCisJICovCisJaWYgKHJlbCAmJiBSRUxBVElPTl9JU19P VEhFUl9URU1QKHJlbCkpCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9G RUFUVVJFX05PVF9TVVBQT1JURUQpLAorCQkJCSBlcnJtc2coImNhbm5vdCBhY2Nlc3MgdGVtcG9y YXJ5IHRhYmxlcyBvZiBvdGhlciBzZXNzaW9ucyIpKSk7CisKIAkvKgogCSAqIERlY2lkZSBob3cg bWFueSBJL09zIHdlIHdpbGwgYWxsb3cgdG8gcnVuIGF0IHRoZSBzYW1lIHRpbWUuICBUaGlzCiAJ ICogbnVtYmVyIGFsc28gYWZmZWN0cyBob3cgZmFyIHdlIGxvb2sgYWhlYWQgZm9yIG9wcG9ydHVu aXRpZXMgdG8gc3RhcnQKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvYnVmZmVyL2J1 Zm1nci5jIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9idWZmZXIvYnVmbWdyLmMKaW5kZXggM2NjMGIw YmRkOTIuLjY3NmQ4MDAwZTFlIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9zdG9yYWdlL2J1ZmZl ci9idWZtZ3IuYworKysgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2J1ZmZlci9idWZtZ3IuYwpAQCAt MTI5Miw2ICsxMjkyLDEyIEBAIFJlYWRCdWZmZXJfY29tbW9uKFJlbGF0aW9uIHJlbCwgU01nclJl bGF0aW9uIHNtZ3IsIGNoYXIgc21ncl9wZXJzaXN0ZW5jZSwKIAlpbnQJCQlmbGFnczsKIAljaGFy CQlwZXJzaXN0ZW5jZTsKIAorCS8qIHNlZSBjb21tZW50cyBpbiBSZWFkQnVmZmVyRXh0ZW5kZWQg Ki8KKwlpZiAocmVsICYmIFJFTEFUSU9OX0lTX09USEVSX1RFTVAocmVsKSkKKwkJZXJlcG9ydChF UlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX0ZFQVRVUkVfTk9UX1NVUFBPUlRFRCksCisJCQkJ IGVycm1zZygiY2Fubm90IGFjY2VzcyB0ZW1wb3JhcnkgdGFibGVzIG9mIG90aGVyIHNlc3Npb25z IikpKTsKKwogCS8qCiAJICogQmFja3dhcmQgY29tcGF0aWJpbGl0eSBwYXRoLCBtb3N0IGNvZGUg c2hvdWxkIHVzZSBFeHRlbmRCdWZmZXJlZFJlbCgpCiAJICogaW5zdGVhZCwgYXMgYWNxdWlyaW5n IHRoZSBleHRlbnNpb24gbG9jayBpbnNpZGUgRXh0ZW5kQnVmZmVyZWRSZWwoKQpAQCAtMTM4Miw2 ICsxMzg4LDEyIEBAIFN0YXJ0UmVhZEJ1ZmZlcnNJbXBsKFJlYWRCdWZmZXJzT3BlcmF0aW9uICpv cGVyYXRpb24sCiAJQXNzZXJ0KCpuYmxvY2tzID4gMCk7CiAJQXNzZXJ0KCpuYmxvY2tzIDw9IE1B WF9JT19DT01CSU5FX0xJTUlUKTsKIAorCS8qIHNlZSBjb21tZW50cyBpbiBSZWFkQnVmZmVyRXh0 ZW5kZWQgKi8KKwlpZiAob3BlcmF0aW9uLT5yZWwgJiYgUkVMQVRJT05fSVNfT1RIRVJfVEVNUChv cGVyYXRpb24tPnJlbCkpCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9G RUFUVVJFX05PVF9TVVBQT1JURUQpLAorCQkJCSBlcnJtc2coImNhbm5vdCBhY2Nlc3MgdGVtcG9y YXJ5IHRhYmxlcyBvZiBvdGhlciBzZXNzaW9ucyIpKSk7CisKIAlpZiAob3BlcmF0aW9uLT5wZXJz aXN0ZW5jZSA9PSBSRUxQRVJTSVNURU5DRV9URU1QKQogCXsKIAkJaW9fY29udGV4dCA9IElPQ09O VEVYVF9OT1JNQUw7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfbWlzYy9tZXNv bi5idWlsZCBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9taXNjL21lc29uLmJ1aWxkCmluZGV4IDFi MjVkOThmN2YzLi5hNTQ1OTljYzMwMSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0 X21pc2MvbWVzb24uYnVpbGQKKysrIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X21pc2MvbWVzb24u YnVpbGQKQEAgLTIwLDYgKzIwLDcgQEAgdGVzdHMgKz0gewogICAgICAgJ3QvMDA5X2xvZ190ZW1w X2ZpbGVzLnBsJywKICAgICAgICd0LzAxMF9pbmRleF9jb25jdXJyZW50bHlfdXBzZXJ0LnBsJywK ICAgICAgICd0LzAxMV9sb2NrX3N0YXRzLnBsJywKKyAgICAgICd0LzAxMl90ZW1wX29ial9tdWx0 aXNlc3Npb24ucGwnLAogICAgIF0sCiAgICAgIyBUaGUgaW5qZWN0aW9uIHBvaW50cyBhcmUgY2x1 c3Rlci13aWRlLCBzbyBkaXNhYmxlIGluc3RhbGxjaGVjawogICAgICdydW5uaW5nY2hlY2snOiBm YWxzZSwKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9taXNjL3QvMDEyX3RlbXBf b2JqX211bHRpc2Vzc2lvbi5wbCBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9taXNjL3QvMDEyX3Rl bXBfb2JqX211bHRpc2Vzc2lvbi5wbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMC4uNDNjZmU2MjU3MzgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9tb2R1bGVzL3Rl c3RfbWlzYy90LzAxMl90ZW1wX29ial9tdWx0aXNlc3Npb24ucGwKQEAgLTAsMCArMSwxMTcgQEAK KyMgQ29weXJpZ2h0IChjKSAyMDI2LCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91 cAorCisjIFZlcmlmeSB0aGF0IG9uZSBzZXNzaW9uIGNhbm5vdCBhY2Nlc3MgYW5vdGhlciBzZXNz aW9uJ3MgdGVtcG9yYXJ5IHRhYmxlLgorIworIyBBIHNlc3Npb24gY3JlYXRlcyBhIHRlbXBvcmFy eSB0YWJsZSBhbmQgYSBzZXBhcmF0ZSBzZXNzaW9uIGF0dGVtcHRzIHRvCisjIHJlYWQgYW5kIG1v ZGlmeSBpdCB0aHJvdWdoIHZhcmlvdXMgY29kZSBwYXRoczogU0VMRUNULCBVUERBVEUsIERFTEVU RSwKKyMgVFJVTkNBVEUsIElOU0VSVCwgQ09QWSwgYW5kIGFuIGluZGV4IHNjYW4uICBFYWNoIGF0 dGVtcHQgaXMgZXhwZWN0ZWQgdG8KKyMgZmFpbCB3aXRoICJjYW5ub3QgYWNjZXNzIHRlbXBvcmFy eSB0YWJsZXMgb2Ygb3RoZXIgc2Vzc2lvbnMiIChvciB0aGUKKyMgYW5hbG9nb3VzIFRSVU5DQVRF IGVycm9yKS4KKwordXNlIHN0cmljdDsKK3VzZSB3YXJuaW5nczsKK3VzZSBQb3N0Z3JlU1FMOjpU ZXN0OjpDbHVzdGVyOwordXNlIFBvc3RncmVTUUw6OlRlc3Q6OlV0aWxzOwordXNlIFBvc3RncmVT UUw6OlRlc3Q6OkJhY2tncm91bmRQc3FsOwordXNlIFRlc3Q6Ok1vcmU7CisKKyMgU2V0IHVwIGEg ZnJlc2ggbm9kZQorbXkgJG5vZGUgPSBQb3N0Z3JlU1FMOjpUZXN0OjpDbHVzdGVyLT5uZXcoJ3Rl bXBfbG9jaycpOworJG5vZGUtPmluaXQ7Ciskbm9kZS0+c3RhcnQ7CisKKyMgQ3JlYXRlIGEgbG9u Zy1saXZlZCBzZXNzaW9uCitteSAkcHNxbDEgPSAkbm9kZS0+YmFja2dyb3VuZF9wc3FsKCdwb3N0 Z3JlcycpOworCiskcHNxbDEtPnF1ZXJ5X3NhZmUocShDUkVBVEUgVEVNUCBUQUJMRSBmb28gQVMg U0VMRUNUIDQyIEFTIHZhbDspKTsKKworJHBzcWwxLT5xdWVyeV9zYWZlKHEoQ1JFQVRFIElOREVY IE9OIGZvbyh2YWwpOykpOworCitteSAkdGVtcHNjaGVtYSA9ICRub2RlLT5zYWZlX3BzcWwoCisJ J3Bvc3RncmVzJywKKwlxeworICAgICAgU0VMRUNUIG4ubnNwbmFtZQorICAgICAgRlJPTSBwZ19j bGFzcyBjCisgICAgICBKT0lOIHBnX25hbWVzcGFjZSBuIE9OIG4ub2lkID0gYy5yZWxuYW1lc3Bh Y2UKKyAgICAgIFdIRVJFIHJlbG5hbWUgPSAnZm9vJyBBTkQgcmVscGVyc2lzdGVuY2UgPSAndCc7 CisgICAgfQorKTsKK2Nob21wICR0ZW1wc2NoZW1hOworb2soJHRlbXBzY2hlbWEgPX4gL15wZ190 ZW1wX1xkKyQvLCAiZ290IHRlbXAgc2NoZW1hOiAkdGVtcHNjaGVtYSIpOworCisKKyMgU0VMRUNU IFRFTVBPUkFSWSBUQUJMRSBmcm9tIG90aGVyIHNlc3Npb24KK215ICgkc3Rkb3V0LCAkc3RkZXJy KTsKKyRub2RlLT5wc3FsKAorCSdwb3N0Z3JlcycsCisJIlNFTEVDVCB2YWwgRlJPTSAkdGVtcHNj aGVtYS5mb287IiwKKwlzdGRvdXQgPT4gXCRzdGRvdXQsCisJc3RkZXJyID0+IFwkc3RkZXJyKTsK K2xpa2UoCisJJHN0ZGVyciwKKwlxci9jYW5ub3QgYWNjZXNzIHRlbXBvcmFyeSB0YWJsZXMgb2Yg b3RoZXIgc2Vzc2lvbnMvLAorCSdTRUxFQ1Qgb24gb3RoZXIgc2Vzc2lvbiB0ZW1wIHRhYmxlIGlz IG5vdCBhbGxvd2VkJyk7CisKKyMgVVBEQVRFIFRFTVBPUkFSWSBUQUJMRSBmcm9tIG90aGVyIHNl c3Npb24KKyRub2RlLT5wc3FsKAorCSdwb3N0Z3JlcycsCisJIlVQREFURSAkdGVtcHNjaGVtYS5m b28gU0VUIHZhbCA9IE5VTEw7IiwKKwlzdGRlcnIgPT4gXCRzdGRlcnIpOworbGlrZSgKKwkkc3Rk ZXJyLAorCXFyL2Nhbm5vdCBhY2Nlc3MgdGVtcG9yYXJ5IHRhYmxlcyBvZiBvdGhlciBzZXNzaW9u cy8sCisJJ1VQREFURSBvbiBvdGhlciBzZXNzaW9uIHRlbXAgdGFibGUgaXMgbm90IGFsbG93ZWQn KTsKKworIyBERUxFVEUgcmVjb3JkcyBmcm9tIFRFTVBPUkFSWSBUQUJMRSBmcm9tIG90aGVyIHNl c3Npb24KKyRub2RlLT5wc3FsKCdwb3N0Z3JlcycsICJERUxFVEUgRlJPTSAkdGVtcHNjaGVtYS5m b287Iiwgc3RkZXJyID0+IFwkc3RkZXJyKTsKK2xpa2UoCisJJHN0ZGVyciwKKwlxci9jYW5ub3Qg YWNjZXNzIHRlbXBvcmFyeSB0YWJsZXMgb2Ygb3RoZXIgc2Vzc2lvbnMvLAorCSdERUxFVEUgb24g b3RoZXIgc2Vzc2lvbiB0ZW1wIHRhYmxlIGlzIG5vdCBhbGxvd2VkJyk7CisKKyMgVFJVTkNBVEUg VEVNUE9SQVJZIFRBQkxFIGZyb20gb3RoZXIgc2Vzc2lvbgorJG5vZGUtPnBzcWwoJ3Bvc3RncmVz JywgIlRSVU5DQVRFIFRBQkxFICR0ZW1wc2NoZW1hLmZvbzsiLAorCXN0ZGVyciA9PiBcJHN0ZGVy cik7CitsaWtlKAorCSRzdGRlcnIsCisJcXIvY2Fubm90IHRydW5jYXRlIHRlbXBvcmFyeSB0YWJs ZXMgb2Ygb3RoZXIgc2Vzc2lvbnMvLAorCSdUUlVOQ0FURSBvbiBvdGhlciBzZXNzaW9uIHRlbXAg dGFibGUgaXMgbm90IGFsbG93ZWQnKTsKKworIyBJTlNFUlQgSU5UTyBURU1QT1JBUlkgVEFCTEUg ZnJvbSBvdGhlciBzZXNzaW9uCiskbm9kZS0+cHNxbCgKKwkncG9zdGdyZXMnLAorCSJJTlNFUlQg SU5UTyAkdGVtcHNjaGVtYS5mb28gVkFMVUVTICg3Myk7IiwKKwlzdGRlcnIgPT4gXCRzdGRlcnIp OworbGlrZSgKKwkkc3RkZXJyLAorCXFyL2Nhbm5vdCBhY2Nlc3MgdGVtcG9yYXJ5IHRhYmxlcyBv ZiBvdGhlciBzZXNzaW9ucy8sCisJJ0lOU0VSVCBJTlRPIG9uIG90aGVyIHNlc3Npb24gdGVtcCB0 YWJsZSBpcyBub3QgYWxsb3dlZCcpOworCisjIENPUFkgVEVNUE9SQVJZIFRBQkxFIGZyb20gb3Ro ZXIgc2Vzc2lvbgorJG5vZGUtPnBzcWwoJ3Bvc3RncmVzJywgIkNPUFkgJHRlbXBzY2hlbWEuZm9v IFRPIFNURE9VVDsiLAorCXN0ZGVyciA9PiBcJHN0ZGVycik7CitsaWtlKAorCSRzdGRlcnIsCisJ cXIvY2Fubm90IGFjY2VzcyB0ZW1wb3JhcnkgdGFibGVzIG9mIG90aGVyIHNlc3Npb25zLywKKwkn Q09QWSBvbiBvdGhlciBzZXNzaW9uIHRlbXAgdGFibGUgaXMgYmxvY2tlZCcpOworCisjIEluZGV4 IHNjYW5zIGNhbiB1c2UgYSBkaWZmZXJlbnQgY29kZSBwYXRoIGZyb20gdGhlIG9uZSBzZXF1ZW50 aWFsIHNjYW5zIGFyZQorIyBmb2xsb3dpbmcuIE1ha2Ugc3VyZSB0aGF0IHdlIGNhbm5vdCBhY2Nl c3Mgb3RoZXIgc2Vzc2lvbnMnIHRlbXAgdGFibGVzIGR1cmluZworIyBpbmRleCBzY2FuIGVpdGhl ci4KKyRub2RlLT5wc3FsKAorCSdwb3N0Z3JlcycsCisJIlNFVCBlbmFibGVfc2Vxc2NhbiA9IG9m ZjsgU0VMRUNUIHZhbCBGUk9NICR0ZW1wc2NoZW1hLmZvbyBXSEVSRSB2YWwgPSA0MjsiLAorCXN0 ZGVyciA9PiBcJHN0ZGVycik7CitsaWtlKAorCSRzdGRlcnIsCisJcXIvY2Fubm90IGFjY2VzcyB0 ZW1wb3JhcnkgdGFibGVzIG9mIG90aGVyIHNlc3Npb25zLywKKwknaW5kZXggc2NhbiBvbiBvdGhl ciBzZXNzaW9uIHRlbXAgdGFibGUgaXMgbm90IGFsbG93ZWQgKGV4ZXJjaXNlcyBSZWFkQnVmZmVy RXh0ZW5kZWQgcGF0aCknCispOworCisjIERST1AgVEVNUE9SQVJZIFRBQkxFIGZyb20gb3RoZXIg c2Vzc2lvbgorJG5vZGUtPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiRFJPUCBUQUJMRSAkdGVtcHNj aGVtYS5mb287Iik7CisKKyMgQ2xlYW4gdXAKKyRwc3FsMS0+cXVpdDsKKworZG9uZV90ZXN0aW5n KCk7Ci0tIAoyLjM5LjUgKEFwcGxlIEdpdC0xNTQpCgo= --000000000000322718064ff63f01--