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 1w1XtS-000OMB-0n for pgsql-hackers@arkaria.postgresql.org; Sat, 14 Mar 2026 22:55:39 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w1XtR-0031bp-0t for pgsql-hackers@arkaria.postgresql.org; Sat, 14 Mar 2026 22:55:38 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w1XtQ-0031bh-1Y for pgsql-hackers@lists.postgresql.org; Sat, 14 Mar 2026 22:55:37 +0000 Received: from mail-dl1-x1244.google.com ([2607:f8b0:4864:20::1244]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w1XtN-00000000AHR-0j9S for pgsql-hackers@postgresql.org; Sat, 14 Mar 2026 22:55:35 +0000 Received: by mail-dl1-x1244.google.com with SMTP id a92af1059eb24-128b9b7e3edso2198786c88.0 for ; Sat, 14 Mar 2026 15:55:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=j-davis-com.20230601.gappssmtp.com; s=20230601; t=1773528932; x=1774133732; darn=postgresql.org; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:from:to:cc:subject:date:message-id:reply-to; bh=/BF93zZQa2mUCSNzIVPz0Q8zoVKqcsJjG1vndgbPRcs=; b=f4t6o6CK33y4weansIARdNCuvWyEh5+vIUKgxjXhr2WoFa4POXqpyBAiTqFnVIWGMX 6mCfpVcp+OXa3hAwE2K1kCFsZOt6FqI302NvhWE7fUVZBb/a21qZs2YYk3/rW2NBwOfa S6Z4XPiqxisN4/704ty/VZeN+1SEnhHt0cb8fC5gJh0M2dkdioiw3tF6/CU2dJRL1KH3 5Dnu/wEMK75KpoyRl1DhblXfdTeqzmSDP3kr7emg48sUi2XvqqHZRWlMp73SQTTF3GU5 APBSg1gmMQF2Ymk7go+MGdeTjQ0OhrtsYgBsia746cjgT4TMaHM56XEFLOGfZZHi8x9u MPHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773528932; x=1774133732; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=/BF93zZQa2mUCSNzIVPz0Q8zoVKqcsJjG1vndgbPRcs=; b=H33Ma4U6MjIautYz/lcRd3bqq+/RR/X8AKPG/Yko1x65vGRRYT7/d6PMRkhK5Z5Qs6 8C/CyUBhd1YSw0WfDLKeUXnt55CyWIik2AmACLUK5rqK6vD7lUU9gsjt2xHKTytADK/W emJjaLpKlYFMTOoQoQKfTPBWGrzVVJQTWF36IIPpL7r/kT2yre7PWDNWXXJut1Eb7UEF I2+LL3rs0JASrG2rk725H35q2QPgykyBPflxhgB9GzMa4yM+W0aGgKAUuTHh9mQulgdV elZwAR5/04cxeSqxIn4+jYJa+w0ynjlFtKa2vROgv7BLLYfRVsw6JCObTB+kpuj/GWMC L4Kg== X-Forwarded-Encrypted: i=1; AJvYcCXD5xm63XArEPTeHKupUsJpP5aiREsTNr3lXqkv9DalnB1m1jl3yJubjzSITLjr6pdixYoRY6cZ9xEQ0GaX@postgresql.org X-Gm-Message-State: AOJu0YyzC29ZLKNN9f7ZcQy336XEy08J54kGEYZiq5dP3VFta/mIJgP+ fNAKG/Q57FuS/iAlF5Arb+i32xk3tqcpKOVXLrSWdq7WFvbUB0Fdo2h+O6S5qNM6hQ== X-Gm-Gg: ATEYQzyoMJLYitqBKQQ5uSkGt/o0WEd5hpsmgCsyLguIYIYV4owO0ZGU8Uo3dvw/KUN K+uNx4p9XJTuZ073YC5R28PDiOfPta5riqPRw2ATXWRKx0TrTmtDqGjdWjQTAzlt7BsLQ4U3FTy n1PNipBLN2EPEevgjvWKeW/Eza6Ldkwp6y8iORtGnqZtl/bf7+MYYAmI8u87aF/ZNLgvvJQIhwy kzFzCixZrb+lbyhAmJMVlynoAE6C8lhiouVZaetO9Fjo94tJwhYkluJxCCqdYziDsQhxusqlKJx eagwIRoURKluu7/aVMQoB2gu+zOLiFsOkqnQv03rqwLb/p2tO0DonDjP+rrU2Z9INoT7kYjV8q0 1z5K/3OxrQK8CzLA9NRowhs0FLnalp7t1qTawy+6pKfCAzywpdlXXuRRh53TphlRng/6qO2BKvM kJXazi/LIQ4qyxxZAPlh7NjhFuou4uYT9zeJETrQGi2Co2q9uyWlq8ADQg8W/D8A== X-Received: by 2002:a05:7022:458b:b0:11b:4351:2687 with SMTP id a92af1059eb24-128f3d53bfdmr4219846c88.17.1773528932284; Sat, 14 Mar 2026 15:55:32 -0700 (PDT) Received: from jeff-laptop.lan (c-24-7-19-3.hsd1.ca.comcast.net. [24.7.19.3]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-128f62b01eesm8187110c88.7.2026.03.14.15.55.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 14 Mar 2026 15:55:30 -0700 (PDT) Message-ID: <7eb0c03b4312b32cb76d340023b39a751745a1f9.camel@j-davis.com> Subject: Re: [19] CREATE SUBSCRIPTION ... SERVER From: Jeff Davis To: Ashutosh Bapat Cc: Amit Kapila , Masahiko Sawada , Shlok Kyal , Bharath Rupireddy , Joe Conway , pgsql-hackers@postgresql.org Date: Sat, 14 Mar 2026 15:55:29 -0700 In-Reply-To: References: <149ff9264db27cdf724b65709fbbaee4bf316835.camel@j-davis.com> <830a2bc6cbbb2e6e01c6c0d9f31f320822e10603.camel@j-davis.com> <433d0845248e86c0317d9d396926182cfe157340.camel@j-davis.com> <05ae37abb207cd6bf6b126780024692d91402b0b.camel@j-davis.com> <93392ffa941ab0d436e19e0ab5d04d0e42c02d3f.camel@j-davis.com> <26be917cb07b6aa3ef5dd15f6b59d1b375ece6e8.camel@j-davis.com> <55201bd916e748acfc754c8f95880dae8e4e5ed0.camel@j-davis.com> <2a89b14a2b1622bffb8b137ca1f9ab7866f2d2b9.camel@j-davis.com> <61831790a0a937038f78ce09f8dd4cef7de7456a.camel@j-davis.com> <0910b47040406c1d24ec0150dafb5bae6b910ed7.camel@j-davis.com> <7338f22c4534322a08ab6ce9f879e2e308eb5e5d.camel@j-davis.com> <34fd5885b8245d1014f4426ea22af61229d42e3e.camel@j-davis.com> <7a5df376fffb273430aec9e89f88c31d52dcf295.camel@j-davis.com> <5dfe845221db2e7d38fc7c2a18a4ba5ea29cdfc0.camel@j-davis.com> <60ff024706fe1beab62a89ac07eb6a721856de2e.camel@j-davis.com> <80303af653a3da2a94e32ff91d6538675e921bf0.camel@j-davis.com> Content-Type: multipart/mixed; boundary="=-qwe90hj0gyU/OYr1OxJw" User-Agent: Evolution 3.52.3-0ubuntu1.1 MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=-qwe90hj0gyU/OYr1OxJw Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, 2026-03-06 at 21:49 +0530, Ashutosh Bapat wrote: > I don't think we need a separate ForeignServerName function. In > AlterSubscription() we already have ForeignSever object which has > server name in it. Other two callers invoke > ForeignServerConnectionString() which in turn fetches ForeignServer > object. Those callers instead may fetch ForeignServer object > themselves and pass it to ForeignServerConnectionString() and use it > in the error message. Done. > The patch has changes to pg_dump.c but there is no corresponding > test. > But I don't think we need a separate test. If the objects created in > regress/*.sql tests are not dropped, 002_pg_upgrade.pl would test > dump/restore of subscriptions with server. It seems that foreign_data.sql expects there to be zero FDWs, servers, and user mappings, so it's not quite that simple. I'm not entirely sure why that is, but I suppose it's meant to be tested in 002_pg_dump.pl instead. I wrote the tests there (attached), which revealed that CREATE FOREIGN DATA WRAPPER ... CONNECTION wasn't being dumped properly. I attached a separate fix for that. Unfortunately I don't think we can rely on regress.so being available when 002_pg_dump.pl runs. Do you have an idea how I can effectively test the FDW (which is needed to test the server and subscription)? I suppose I could make it a built-in function, and that wouldn't be so bad, but not ideal. Right now this test is failing for CI on debian autoconf. > I think we need tests for testing changes in connection when ALTER > SUBSCRIPTION ... SERVER is executed and also those for switching > between SERVER and CONNECTION. Done. Attached series including patches to address Andres's and Amit's comments, too. Thank you! Regards, Jeff Davis --=-qwe90hj0gyU/OYr1OxJw Content-Disposition: attachment; filename="v22-0001-Clean-up-postgres_fdw-t-010_subscription.pl.patch" Content-Type: text/x-patch; name="v22-0001-Clean-up-postgres_fdw-t-010_subscription.pl.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA3NzI2YzA1YzYzMzhiZmVhMWNjYWM2OGFhZjgyODhmZThhMTY1MTA3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBT YXQsIDE0IE1hciAyMDI2IDExOjAzOjUzIC0wNzAwClN1YmplY3Q6IFtQQVRDSCB2MjIgMS82XSBD bGVhbiB1cCBwb3N0Z3Jlc19mZHcvdC8wMTBfc3Vic2NyaXB0aW9uLnBsLgoKVGhlIHRlc3Qgd2Fz IGJhc2VkIG9uIHRlc3Qvc3Vic2NyaXB0aW9uLzAwMl9yZXBfY2hhbmdlcy5wbCwgYnV0IGhhZApz b21lIGxlZnRvdmVyIGNvcHkrcGFzdGUgcHJvYmxlbXMgdGhhdCB3ZXJlIHVzZWxlc3MgYW5kL29y IGRpc3RyYWN0ZWQKZnJvbSB0aGUgcG9pbnQgb2YgdGhlIHRlc3QuCgpEaXNjdXNzaW9uOiBodHRw czovL3Bvc3Rnci5lcy9tL0NBQTRlSzErPVZfVUZOSHdjb01GcXp5MEY0QXRTOV9HeVhoUURVeml6 Z2llUVBXcj0wQUBtYWlsLmdtYWlsLmNvbQpSZXBvcnRlZC1ieTogQW1pdCBLYXBpbGEgPGFtaXQu a2FwaWxhMTZAZ21haWwuY29tPgotLS0KIGNvbnRyaWIvcG9zdGdyZXNfZmR3L3QvMDEwX3N1YnNj cmlwdGlvbi5wbCB8IDE1ICsrKystLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0 aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvY29udHJpYi9wb3N0Z3Jlc19m ZHcvdC8wMTBfc3Vic2NyaXB0aW9uLnBsIGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvdC8wMTBfc3Vi c2NyaXB0aW9uLnBsCmluZGV4IDFlNDEwOTFiYWRjLi5hMDRkNjRiYjc4YyAxMDA2NDQKLS0tIGEv Y29udHJpYi9wb3N0Z3Jlc19mZHcvdC8wMTBfc3Vic2NyaXB0aW9uLnBsCisrKyBiL2NvbnRyaWIv cG9zdGdyZXNfZmR3L3QvMDEwX3N1YnNjcmlwdGlvbi5wbApAQCAtMSw3ICsxLDggQEAKIAogIyBD b3B5cmlnaHQgKGMpIDIwMjEtMjAyNiwgUG9zdGdyZVNRTCBHbG9iYWwgRGV2ZWxvcG1lbnQgR3Jv dXAKIAotIyBCYXNpYyBsb2dpY2FsIHJlcGxpY2F0aW9uIHRlc3QKKyMgVGVzdCBwb3N0Z3Jlc19m ZHcgZm9yZWlnbiBzZXJ2ZXIgZm9yIHVzZSB3aXRoIGEgc3Vic2NyaXB0aW9uLgorCiB1c2Ugc3Ry aWN0OwogdXNlIHdhcm5pbmdzIEZBVEFMID0+ICdhbGwnOwogdXNlIFBvc3RncmVTUUw6OlRlc3Q6 OkNsdXN0ZXI7CkBAIC0yMiwxMSArMjMsNiBAQCAkbm9kZV9zdWJzY3JpYmVyLT5zdGFydDsKICRu b2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIkNSRUFURSBUQUJMRSB0YWJf aW5zIEFTIFNFTEVDVCBhLCBhICsgMSBhcyBiIEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsMTAwMikg QVMgYSIpOwogCi0jIFJlcGxpY2F0ZSB0aGUgY2hhbmdlcyB3aXRob3V0IGNvbHVtbnMKLSRub2Rl X3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJDUkVBVEUgVEFCTEUgdGFiX25vX2Nv bCgpIik7Ci0kbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAotCSJJTlNFUlQg SU5UTyB0YWJfbm9fY29sIGRlZmF1bHQgVkFMVUVTIik7Ci0KICMgU2V0dXAgc3RydWN0dXJlIG9u IHN1YnNjcmliZXIKICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiQ1JF QVRFIEVYVEVOU0lPTiBwb3N0Z3Jlc19mZHciKTsKICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNx bCgncG9zdGdyZXMnLCAiQ1JFQVRFIFRBQkxFIHRhYl9pbnMgKGEgaW50LCBiIGludCkiKTsKQEAg LTQ1LDkgKzQxLDYgQEAgJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJ IkNSRUFURSBVU0VSIE1BUFBJTkcgRk9SIFBVQkxJQyBTRVJWRVIgdGFwX3NlcnZlciIKICk7CiAK LSRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAotCSJDUkVBVEUgRk9SRUlH TiBUQUJMRSBmX3RhYl9pbnMgKGEgaW50LCBiIGludCkgU0VSVkVSIHRhcF9zZXJ2ZXIgT1BUSU9O Uyh0YWJsZV9uYW1lICd0YWJfaW5zJykiCi0pOwogJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsCiAJIkNSRUFURSBTVUJTQ1JJUFRJT04gdGFwX3N1YiBTRVJWRVIgdGFwX3Nl cnZlciBQVUJMSUNBVElPTiB0YXBfcHViIFdJVEggKHBhc3N3b3JkX3JlcXVpcmVkPWZhbHNlKSIK ICk7CkBAIC01Niw3ICs0OSw3IEBAICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdy ZXMnLAogJG5vZGVfc3Vic2NyaWJlci0+d2FpdF9mb3Jfc3Vic2NyaXB0aW9uX3N5bmMoJG5vZGVf cHVibGlzaGVyLCAndGFwX3N1YicpOwogCiBteSAkcmVzdWx0ID0KLSAgJG5vZGVfc3Vic2NyaWJl ci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgY291bnQoKikgRlJPTSAoU0VMRUNUIGYu YiA9IGwuYiBhcyBtYXRjaCBGUk9NIHRhYl9pbnMgbCwgZl90YWJfaW5zIGYgV0hFUkUgbC5hID0g Zi5hKSBXSEVSRSBtYXRjaCIpOworICAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3Rn cmVzJywgIlNFTEVDVCBjb3VudCgqKSBGUk9NIHRhYl9pbnMiKTsKIGlzKCRyZXN1bHQsIHFxKDEw MDIpLCAnY2hlY2sgdGhhdCBpbml0aWFsIGRhdGEgd2FzIGNvcGllZCB0byBzdWJzY3JpYmVyJyk7 CiAKICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCkBAIC02NSw3ICs1OCw3 IEBAICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAkbm9kZV9wdWJsaXNo ZXItPndhaXRfZm9yX2NhdGNodXAoJ3RhcF9zdWInKTsKIAogJHJlc3VsdCA9Ci0gICRub2RlX3N1 YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGNvdW50KCopIEZST00gKFNF TEVDVCBmLmIgPSBsLmIgYXMgbWF0Y2ggRlJPTSB0YWJfaW5zIGwsIGZfdGFiX2lucyBmIFdIRVJF IGwuYSA9IGYuYSkgV0hFUkUgbWF0Y2giKTsKKyAgJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsICJTRUxFQ1QgY291bnQoKikgRlJPTSB0YWJfaW5zIik7CiBpcygkcmVzdWx0 LCBxcSgxMDUwKSwgJ2NoZWNrIHRoYXQgaW5zZXJ0ZWQgZGF0YSB3YXMgY29waWVkIHRvIHN1YnNj cmliZXInKTsKIAogZG9uZV90ZXN0aW5nKCk7Ci0tIAoyLjQzLjAKCg== --=-qwe90hj0gyU/OYr1OxJw Content-Disposition: attachment; filename="v22-0002-ALTER-SUBSCRIPTION-.-SERVER-test.patch" Content-Type: text/x-patch; name="v22-0002-ALTER-SUBSCRIPTION-.-SERVER-test.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSAwODAwMWJlNzJjNTRjZTZmMWJkNDcyOTU0NjI2MGIyODgyMWE0NmExIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBT YXQsIDE0IE1hciAyMDI2IDEyOjUwOjQ1IC0wNzAwClN1YmplY3Q6IFtQQVRDSCB2MjIgMi82XSBB TFRFUiBTVUJTQ1JJUFRJT04gLi4uIFNFUlZFUiB0ZXN0LgoKVGVzdCBBTFRFUiBTVUJTQ1JJUFRJ T04gLi4uIFNFUlZFUiBhbmQgQUxURVIgU1VCU0NSSVBUSU9OCi4uLiBDT05ORUNUSU9OLCBpbmNs dWRpbmcgaW52YWxpZGF0aW9uLgoKRGlzY3Vzc2lvbjogaHR0cHM6Ly9wb3N0Z3IuZXMvbS9DQUV4 SFc1dlY1em5FdmVjWD1yYTItdjdVQmo5LU02cXZkRHp1Qjc4TS1UeGJZRDFQRUFAbWFpbC5nbWFp bC5jb20KU3VnZ2VzdGVkLWJ5OiBBc2h1dG9zaCBCYXBhdCA8YXNodXRvc2guYmFwYXQub3NzQGdt YWlsLmNvbT4KLS0tCiBjb250cmliL3Bvc3RncmVzX2Zkdy90LzAxMF9zdWJzY3JpcHRpb24ucGwg fCAzOCArKysrKysrKysrKysrKysrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgMzYgaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9jb250cmliL3Bvc3RncmVzX2Zkdy90 LzAxMF9zdWJzY3JpcHRpb24ucGwgYi9jb250cmliL3Bvc3RncmVzX2Zkdy90LzAxMF9zdWJzY3Jp cHRpb24ucGwKaW5kZXggYTA0ZDY0YmI3OGMuLjUwZWFjNGMzYmRiIDEwMDY0NAotLS0gYS9jb250 cmliL3Bvc3RncmVzX2Zkdy90LzAxMF9zdWJzY3JpcHRpb24ucGwKKysrIGIvY29udHJpYi9wb3N0 Z3Jlc19mZHcvdC8wMTBfc3Vic2NyaXB0aW9uLnBsCkBAIC00OSw3ICs0OSw3IEBAICRub2RlX3N1 YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogJG5vZGVfc3Vic2NyaWJlci0+d2FpdF9m b3Jfc3Vic2NyaXB0aW9uX3N5bmMoJG5vZGVfcHVibGlzaGVyLCAndGFwX3N1YicpOwogCiBteSAk cmVzdWx0ID0KLSAgJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxF Q1QgY291bnQoKikgRlJPTSB0YWJfaW5zIik7CisgICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNx bCgncG9zdGdyZXMnLCAiU0VMRUNUIE1BWChhKSBGUk9NIHRhYl9pbnMiKTsKIGlzKCRyZXN1bHQs IHFxKDEwMDIpLCAnY2hlY2sgdGhhdCBpbml0aWFsIGRhdGEgd2FzIGNvcGllZCB0byBzdWJzY3Jp YmVyJyk7CiAKICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCkBAIC01OCw3 ICs1OCw0MSBAQCAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogJG5vZGVf cHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCd0YXBfc3ViJyk7CiAKICRyZXN1bHQgPQotICAk bm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBjb3VudCgqKSBG Uk9NIHRhYl9pbnMiKTsKKyAgJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3Jlcycs ICJTRUxFQ1QgTUFYKGEpIEZST00gdGFiX2lucyIpOwogaXMoJHJlc3VsdCwgcXEoMTA1MCksICdj aGVjayB0aGF0IGluc2VydGVkIGRhdGEgd2FzIGNvcGllZCB0byBzdWJzY3JpYmVyJyk7CiAKKyMg Y2hhbmdlIHRvIENPTk5FQ1RJT04gYW5kIGNvbmZpcm0gaW52YWxpZGF0aW9uCitteSAkbG9nX29m ZnNldCA9IC1zICRub2RlX3N1YnNjcmliZXItPmxvZ2ZpbGU7Ciskbm9kZV9zdWJzY3JpYmVyLT5z YWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiQUxURVIgU1VCU0NSSVBUSU9OIHRhcF9zdWIgQ09OTkVD VElPTiAnJHB1Ymxpc2hlcl9jb25uc3RyJyIpOworJG5vZGVfc3Vic2NyaWJlci0+d2FpdF9mb3Jf bG9nKAorCXFyL2xvZ2ljYWwgcmVwbGljYXRpb24gd29ya2VyIGZvciBzdWJzY3JpcHRpb24gInRh cF9zdWIiIHdpbGwgcmVzdGFydCBiZWNhdXNlIG9mIGEgcGFyYW1ldGVyIGNoYW5nZS8sCisJJGxv Z19vZmZzZXQpOworCiskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJJ TlNFUlQgSU5UTyB0YWJfaW5zIFNFTEVDVCBhLCBhICsgMSBGUk9NIGdlbmVyYXRlX3Nlcmllcygx MDUxLDEwNTcpIGEiKTsKKworJG5vZGVfcHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCd0YXBf c3ViJyk7CisKKyRyZXN1bHQgPQorICAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3Rn cmVzJywgIlNFTEVDVCBNQVgoYSkgRlJPTSB0YWJfaW5zIik7CitpcygkcmVzdWx0LCBxcSgxMDU3 KSwgJ2NoZWNrIHN1YnNjcmlwdGlvbiBhZnRlciBBTFRFUiBTVUJTQ1JJUFRJT04gLi4uIENPTk5F Q1RJT04nKTsKKworIyBjaGFuZ2UgYmFjayB0byBTRVJWRVIgYW5kIGNvbmZpcm0gaW52YWxpZGF0 aW9uCiskbG9nX29mZnNldCA9IC1zICRub2RlX3N1YnNjcmliZXItPmxvZ2ZpbGU7Ciskbm9kZV9z dWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiQUxURVIgU1VCU0NSSVBUSU9OIHRh cF9zdWIgU0VSVkVSIHRhcF9zZXJ2ZXIiKTsKKyRub2RlX3N1YnNjcmliZXItPndhaXRfZm9yX2xv ZygKKwlxci9sb2dpY2FsIHJlcGxpY2F0aW9uIHdvcmtlciBmb3Igc3Vic2NyaXB0aW9uICJ0YXBf c3ViIiB3aWxsIHJlc3RhcnQgYmVjYXVzZSBvZiBhIHBhcmFtZXRlciBjaGFuZ2UvLAorCSRsb2df b2Zmc2V0KTsKKworJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiSU5T RVJUIElOVE8gdGFiX2lucyBTRUxFQ1QgYSwgYSArIDEgRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMTA1 OCwxMDczKSBhIik7CisKKyRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgndGFwX3N1 YicpOworCiskcmVzdWx0ID0KKyAgJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3Jl cycsICJTRUxFQ1QgTUFYKGEpIEZST00gdGFiX2lucyIpOworaXMoJHJlc3VsdCwgcXEoMTA3Myks ICdjaGVjayBzdWJzY3JpcHRpb24gYWZ0ZXIgQUxURVIgU1VCU0NSSVBUSU9OIC4uLiBTRVJWRVIn KTsKKwogZG9uZV90ZXN0aW5nKCk7Ci0tIAoyLjQzLjAKCg== --=-qwe90hj0gyU/OYr1OxJw Content-Disposition: attachment; filename="v22-0003-Temp-context-for-maybe_reread_subscription.patch" Content-Type: text/x-patch; name="v22-0003-Temp-context-for-maybe_reread_subscription.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSAzMDVkZThhNWRkNGU5NjBlMzcyY2RkYjEwNTVmYmQ3ZDBhMTcxN2EzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBU aHUsIDEyIE1hciAyMDI2IDE4OjA0OjM1IC0wNzAwClN1YmplY3Q6IFtQQVRDSCB2MjIgMy82XSBU ZW1wIGNvbnRleHQgZm9yIG1heWJlX3JlcmVhZF9zdWJzY3JpcHRpb24oKS4KCk1vdmUgdGVtcCBj b250ZXh0IGZyb20gRm9yZWlnblNlcnZlckNvbm5lY3Rpb25TdHJpbmcoKSB0bwptYXliZV9yZXJl YWRfc3Vic2NyaXB0aW9uKCksIHNvIHRoYXQgaXQgcHJldmVudHMgbW9yZQppbnZhbGlkYXRpb24t cmVsYXRlZCBsZWFrcy4gUmVtb3ZlIFBHX1RSWSgpL1BHX0ZJTkFMTFkoKSBmcm9tCkZvcmVpZ25T ZXJ2ZXJDb25uZWN0aW9uU3RyaW5nKCkuCgpTdWdnZXN0ZWQtYnk6IEFuZHJlcyBGcmV1bmQgPGFu ZHJlc0BhbmFyYXplbC5kZT4KRGlzY3Vzc2lvbjogaHR0cHM6Ly9wb3N0Z3IuZXMvbS94dmRqcmRx bnBhcDN1cTdvd2Jhb3gzcjdwNWdmN3N2NjJhYXFmMmp1M3ZiNnlnbGF0ciU0MGt2dndob3Vkcmx4 cQotLS0KIHNyYy9iYWNrZW5kL2NhdGFsb2cvcGdfc3Vic2NyaXB0aW9uLmMgICAgfCAxNCAtLS0t LQogc3JjL2JhY2tlbmQvZm9yZWlnbi9mb3JlaWduLmMgICAgICAgICAgICB8IDY2ICsrKysrKyst LS0tLS0tLS0tLS0tLS0tLQogc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIu YyB8IDMwICsrKysrKysrKy0tCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5o ICAgIHwgIDEgLQogNCBmaWxlcyBjaGFuZ2VkLCA0MyBpbnNlcnRpb25zKCspLCA2OCBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5j IGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uYwppbmRleCAzNjczZDRmMGJj MS4uY2EwNTNjMTUyY2YgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfc3Vic2Ny aXB0aW9uLmMKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uYwpAQCAt MjE2LDIwICsyMTYsNiBAQCBDb3VudERCU3Vic2NyaXB0aW9ucyhPaWQgZGJpZCkKIAlyZXR1cm4g bnN1YnM7CiB9CiAKLS8qCi0gKiBGcmVlIG1lbW9yeSBhbGxvY2F0ZWQgYnkgc3Vic2NyaXB0aW9u IHN0cnVjdC4KLSAqLwotdm9pZAotRnJlZVN1YnNjcmlwdGlvbihTdWJzY3JpcHRpb24gKnN1YikK LXsKLQlwZnJlZShzdWItPm5hbWUpOwotCXBmcmVlKHN1Yi0+Y29ubmluZm8pOwotCWlmIChzdWIt PnNsb3RuYW1lKQotCQlwZnJlZShzdWItPnNsb3RuYW1lKTsKLQlsaXN0X2ZyZWVfZGVlcChzdWIt PnB1YmxpY2F0aW9ucyk7Ci0JcGZyZWUoc3ViKTsKLX0KLQogLyoKICAqIERpc2FibGUgdGhlIGdp dmVuIHN1YnNjcmlwdGlvbi4KICAqLwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvZm9yZWlnbi9m b3JlaWduLmMgYi9zcmMvYmFja2VuZC9mb3JlaWduL2ZvcmVpZ24uYwppbmRleCAxNjBjZjZmNTFj OS4uZjQzN2I0NDcyODIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2ZvcmVpZ24vZm9yZWlnbi5j CisrKyBiL3NyYy9iYWNrZW5kL2ZvcmVpZ24vZm9yZWlnbi5jCkBAIC0yMTksNjIgKzIxOSwzMiBA QCBHZXRGb3JlaWduU2VydmVyQnlOYW1lKGNvbnN0IGNoYXIgKnNydm5hbWUsIGJvb2wgbWlzc2lu Z19vaykKIAogLyoKICAqIFJldHJpZXZlIGNvbm5lY3Rpb24gc3RyaW5nIGZyb20gc2VydmVyJ3Mg RkRXLgorICoKKyAqIE5COiBsZWFrcyBpbnRvIEN1cnJlbnRNZW1vcnlDb250ZXh0LgogICovCiBj aGFyICoKIEZvcmVpZ25TZXJ2ZXJDb25uZWN0aW9uU3RyaW5nKE9pZCB1c2VyaWQsIE9pZCBzZXJ2 ZXJpZCkKIHsKLQlNZW1vcnlDb250ZXh0IHRlbXBDb250ZXh0OwotCU1lbW9yeUNvbnRleHQgb2xk Y3h0OwotCXRleHQJICAgKnZvbGF0aWxlIGNvbm5lY3Rpb25fdGV4dCA9IE5VTEw7Ci0JY2hhcgkg ICAqcmVzdWx0ID0gTlVMTDsKLQotCS8qCi0JICogR2V0Rm9yZWlnblNlcnZlciwgR2V0Rm9yZWln bkRhdGFXcmFwcGVyLCBhbmQgdGhlIGNvbm5lY3Rpb24gZnVuY3Rpb24KLQkgKiBpdHNlbGYgYWxs IGxlYWsgbWVtb3J5IGludG8gQ3VycmVudE1lbW9yeUNvbnRleHQuIFN3aXRjaCB0byBhIHRlbXBv cmFyeQotCSAqIGNvbnRleHQgZm9yIGVhc3kgY2xlYW51cC4KLQkgKi8KLQl0ZW1wQ29udGV4dCA9 IEFsbG9jU2V0Q29udGV4dENyZWF0ZShDdXJyZW50TWVtb3J5Q29udGV4dCwKLQkJCQkJCQkJCQki RkRXQ29ubmVjdGlvbkNvbnRleHQiLAotCQkJCQkJCQkJCUFMTE9DU0VUX1NNQUxMX1NJWkVTKTsK LQotCW9sZGN4dCA9IE1lbW9yeUNvbnRleHRTd2l0Y2hUbyh0ZW1wQ29udGV4dCk7Ci0KLQlQR19U UlkoKTsKLQl7Ci0JCUZvcmVpZ25TZXJ2ZXIgKnNlcnZlcjsKLQkJRm9yZWlnbkRhdGFXcmFwcGVy ICpmZHc7Ci0JCURhdHVtCQljb25uZWN0aW9uX2RhdHVtOwotCi0JCXNlcnZlciA9IEdldEZvcmVp Z25TZXJ2ZXIoc2VydmVyaWQpOwotCQlmZHcgPSBHZXRGb3JlaWduRGF0YVdyYXBwZXIoc2VydmVy LT5mZHdpZCk7Ci0KLQkJaWYgKCFPaWRJc1ZhbGlkKGZkdy0+ZmR3Y29ubmVjdGlvbikpCi0JCQll cmVwb3J0KEVSUk9SLAotCQkJCQkoZXJyY29kZShFUlJDT0RFX0ZFQVRVUkVfTk9UX1NVUFBPUlRF RCksCi0JCQkJCSBlcnJtc2coImZvcmVpZ24gZGF0YSB3cmFwcGVyIFwiJXNcIiBkb2VzIG5vdCBz dXBwb3J0IHN1YnNjcmlwdGlvbiBjb25uZWN0aW9ucyIsCi0JCQkJCQkJZmR3LT5mZHduYW1lKSwK LQkJCQkJIGVycmRldGFpbCgiRm9yZWlnbiBkYXRhIHdyYXBwZXIgbXVzdCBiZSBkZWZpbmVkIHdp dGggQ09OTkVDVElPTiBzcGVjaWZpZWQuIikpKTsKLQotCi0JCWNvbm5lY3Rpb25fZGF0dW0gPSBP aWRGdW5jdGlvbkNhbGwzKGZkdy0+ZmR3Y29ubmVjdGlvbiwKLQkJCQkJCQkJCQkJT2JqZWN0SWRH ZXREYXR1bSh1c2VyaWQpLAotCQkJCQkJCQkJCQlPYmplY3RJZEdldERhdHVtKHNlcnZlcmlkKSwK LQkJCQkJCQkJCQkJUG9pbnRlckdldERhdHVtKE5VTEwpKTsKKwlGb3JlaWduU2VydmVyICpzZXJ2 ZXI7CisJRm9yZWlnbkRhdGFXcmFwcGVyICpmZHc7CisJRGF0dW0JCWNvbm5lY3Rpb25fZGF0dW07 CiAKLQkJY29ubmVjdGlvbl90ZXh0ID0gRGF0dW1HZXRUZXh0UFAoY29ubmVjdGlvbl9kYXR1bSk7 Ci0JfQotCVBHX0ZJTkFMTFkoKTsKLQl7Ci0JCU1lbW9yeUNvbnRleHRTd2l0Y2hUbyhvbGRjeHQp OworCXNlcnZlciA9IEdldEZvcmVpZ25TZXJ2ZXIoc2VydmVyaWQpOworCWZkdyA9IEdldEZvcmVp Z25EYXRhV3JhcHBlcihzZXJ2ZXItPmZkd2lkKTsKIAotCQlpZiAoY29ubmVjdGlvbl90ZXh0KQot CQkJcmVzdWx0ID0gdGV4dF90b19jc3RyaW5nKCh0ZXh0ICopIGNvbm5lY3Rpb25fdGV4dCk7CisJ aWYgKCFPaWRJc1ZhbGlkKGZkdy0+ZmR3Y29ubmVjdGlvbikpCisJCWVyZXBvcnQoRVJST1IsCisJ CQkJKGVycmNvZGUoRVJSQ09ERV9GRUFUVVJFX05PVF9TVVBQT1JURUQpLAorCQkJCSBlcnJtc2co ImZvcmVpZ24gZGF0YSB3cmFwcGVyIFwiJXNcIiBkb2VzIG5vdCBzdXBwb3J0IHN1YnNjcmlwdGlv biBjb25uZWN0aW9ucyIsCisJCQkJCQlmZHctPmZkd25hbWUpLAorCQkJCSBlcnJkZXRhaWwoIkZv cmVpZ24gZGF0YSB3cmFwcGVyIG11c3QgYmUgZGVmaW5lZCB3aXRoIENPTk5FQ1RJT04gc3BlY2lm aWVkLiIpKSk7CiAKLQkJTWVtb3J5Q29udGV4dERlbGV0ZSh0ZW1wQ29udGV4dCk7Ci0JfQotCVBH X0VORF9UUlkoKTsKKwljb25uZWN0aW9uX2RhdHVtID0gT2lkRnVuY3Rpb25DYWxsMyhmZHctPmZk d2Nvbm5lY3Rpb24sCisJCQkJCQkJCQkJT2JqZWN0SWRHZXREYXR1bSh1c2VyaWQpLAorCQkJCQkJ CQkJCU9iamVjdElkR2V0RGF0dW0oc2VydmVyaWQpLAorCQkJCQkJCQkJCVBvaW50ZXJHZXREYXR1 bShOVUxMKSk7CiAKLQlyZXR1cm4gcmVzdWx0OworCXJldHVybiB0ZXh0X3RvX2NzdHJpbmcoRGF0 dW1HZXRUZXh0UFAoY29ubmVjdGlvbl9kYXR1bSkpOwogfQogCiAKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMgYi9zcmMvYmFja2VuZC9yZXBsaWNh dGlvbi9sb2dpY2FsL3dvcmtlci5jCmluZGV4IDAzMzg1ODc1MmQ5Li40ZWE2NWE2MWZiNCAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYworKysgYi9z cmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jCkBAIC00NzksNiArNDc5LDcg QEAgc3RhdGljIE1lbW9yeUNvbnRleHQgTG9naWNhbFN0cmVhbWluZ0NvbnRleHQgPSBOVUxMOwog V2FsUmVjZWl2ZXJDb25uICpMb2dSZXBXb3JrZXJXYWxSY3ZDb25uID0gTlVMTDsKIAogU3Vic2Ny aXB0aW9uICpNeVN1YnNjcmlwdGlvbiA9IE5VTEw7CitzdGF0aWMgTWVtb3J5Q29udGV4dCBNeVN1 YnNjcmlwdGlvbkN0eCA9IE5VTEw7CiBzdGF0aWMgYm9vbCBNeVN1YnNjcmlwdGlvblZhbGlkID0g ZmFsc2U7CiAKIHN0YXRpYyBMaXN0ICpvbl9jb21taXRfd2FrZXVwX3dvcmtlcnNfc3ViaWRzID0g TklMOwpAQCAtNTA0Miw2ICs1MDQzLDcgQEAgdm9pZAogbWF5YmVfcmVyZWFkX3N1YnNjcmlwdGlv bih2b2lkKQogewogCU1lbW9yeUNvbnRleHQgb2xkY3R4OworCU1lbW9yeUNvbnRleHQgbmV3Y3R4 OwogCVN1YnNjcmlwdGlvbiAqbmV3c3ViOwogCWJvb2wJCXN0YXJ0ZWRfdHggPSBmYWxzZTsKIApA QCAtNTA1Niw4ICs1MDU4LDE1IEBAIG1heWJlX3JlcmVhZF9zdWJzY3JpcHRpb24odm9pZCkKIAkJ c3RhcnRlZF90eCA9IHRydWU7CiAJfQogCi0JLyogRW5zdXJlIGFsbG9jYXRpb25zIGluIHBlcm1h bmVudCBjb250ZXh0LiAqLwotCW9sZGN0eCA9IE1lbW9yeUNvbnRleHRTd2l0Y2hUbyhBcHBseUNv bnRleHQpOworCW5ld2N0eCA9IEFsbG9jU2V0Q29udGV4dENyZWF0ZShBcHBseUNvbnRleHQsCisJ CQkJCQkJCSAgICJTdWJzY3JpcHRpb24gQ29udGV4dCIsCisJCQkJCQkJCSAgIEFMTE9DU0VUX1NN QUxMX1NJWkVTKTsKKworCS8qCisJICogR2V0U3Vic2NyaXB0aW9uKCkgbGVha3MgYSBudW1iZXIg b2Ygc21hbGwgYWxsb2NhdGlvbnMsIHNvIHVzZSBhCisJICogc3ViY29udGV4dCBmb3IgZWFjaCBj YWxsLgorCSAqLworCW9sZGN0eCA9IE1lbW9yeUNvbnRleHRTd2l0Y2hUbyhuZXdjdHgpOwogCiAJ bmV3c3ViID0gR2V0U3Vic2NyaXB0aW9uKE15TG9naWNhbFJlcFdvcmtlci0+c3ViaWQsIHRydWUs IHRydWUpOwogCkBAIC01MTQ5LDcgKzUxNTgsOCBAQCBtYXliZV9yZXJlYWRfc3Vic2NyaXB0aW9u KHZvaWQpCiAJfQogCiAJLyogQ2xlYW4gb2xkIHN1YnNjcmlwdGlvbiBpbmZvIGFuZCBzd2l0Y2gg dG8gbmV3IG9uZS4gKi8KLQlGcmVlU3Vic2NyaXB0aW9uKE15U3Vic2NyaXB0aW9uKTsKKwlNZW1v cnlDb250ZXh0RGVsZXRlKE15U3Vic2NyaXB0aW9uQ3R4KTsKKwlNeVN1YnNjcmlwdGlvbkN0eCA9 IG5ld2N0eDsKIAlNeVN1YnNjcmlwdGlvbiA9IG5ld3N1YjsKIAogCU1lbW9yeUNvbnRleHRTd2l0 Y2hUbyhvbGRjdHgpOwpAQCAtNTc5NCwxMiArNTgwNCwxOSBAQCBJbml0aWFsaXplTG9nUmVwV29y a2VyKHZvaWQpCiAJICovCiAJU2V0Q29uZmlnT3B0aW9uKCJzZWFyY2hfcGF0aCIsICIiLCBQR0Nf U1VTRVQsIFBHQ19TX09WRVJSSURFKTsKIAotCS8qIExvYWQgdGhlIHN1YnNjcmlwdGlvbiBpbnRv IHBlcnNpc3RlbnQgbWVtb3J5IGNvbnRleHQuICovCiAJQXBwbHlDb250ZXh0ID0gQWxsb2NTZXRD b250ZXh0Q3JlYXRlKFRvcE1lbW9yeUNvbnRleHQsCiAJCQkJCQkJCQkJICJBcHBseUNvbnRleHQi LAogCQkJCQkJCQkJCSBBTExPQ1NFVF9ERUZBVUxUX1NJWkVTKTsKKworCS8qCisJICogR2V0U3Vi c2NyaXB0aW9uKCkgbGVha3MgYSBudW1iZXIgb2Ygc21hbGwgYWxsb2NhdGlvbnMsIHNvIHVzZSBh CisJICogc3ViY29udGV4dCBmb3IgZWFjaCBjYWxsLgorCSAqLworCU15U3Vic2NyaXB0aW9uQ3R4 ID0gQWxsb2NTZXRDb250ZXh0Q3JlYXRlKEFwcGx5Q29udGV4dCwKKwkJCQkJCQkJCQkJICAiU3Vi c2NyaXB0aW9uIENvbnRleHQiLAorCQkJCQkJCQkJCQkgIEFMTE9DU0VUX1NNQUxMX1NJWkVTKTsK KwogCVN0YXJ0VHJhbnNhY3Rpb25Db21tYW5kKCk7Ci0Jb2xkY3R4ID0gTWVtb3J5Q29udGV4dFN3 aXRjaFRvKEFwcGx5Q29udGV4dCk7CiAKIAkvKgogCSAqIExvY2sgdGhlIHN1YnNjcmlwdGlvbiB0 byBwcmV2ZW50IGl0IGZyb20gYmVpbmcgY29uY3VycmVudGx5IGRyb3BwZWQsCkBAIC01ODA4LDcg KzU4MjUsMTAgQEAgSW5pdGlhbGl6ZUxvZ1JlcFdvcmtlcih2b2lkKQogCSAqLwogCUxvY2tTaGFy ZWRPYmplY3QoU3Vic2NyaXB0aW9uUmVsYXRpb25JZCwgTXlMb2dpY2FsUmVwV29ya2VyLT5zdWJp ZCwgMCwKIAkJCQkJIEFjY2Vzc1NoYXJlTG9jayk7CisKKwlvbGRjdHggPSBNZW1vcnlDb250ZXh0 U3dpdGNoVG8oTXlTdWJzY3JpcHRpb25DdHgpOwogCU15U3Vic2NyaXB0aW9uID0gR2V0U3Vic2Ny aXB0aW9uKE15TG9naWNhbFJlcFdvcmtlci0+c3ViaWQsIHRydWUsIHRydWUpOworCiAJaWYgKCFN eVN1YnNjcmlwdGlvbikKIAl7CiAJCWVyZXBvcnQoTE9HLApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1 ZGUvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uaCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfc3Vi c2NyaXB0aW9uLmgKaW5kZXggMDA1OGQ5Mzg3ZDcuLjJmNmY3YjU3Njk4IDEwMDY0NAotLS0gYS9z cmMvaW5jbHVkZS9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5oCisrKyBiL3NyYy9pbmNsdWRlL2Nh dGFsb2cvcGdfc3Vic2NyaXB0aW9uLmgKQEAgLTIxMiw3ICsyMTIsNiBAQCB0eXBlZGVmIHN0cnVj dCBTdWJzY3JpcHRpb24KIAogZXh0ZXJuIFN1YnNjcmlwdGlvbiAqR2V0U3Vic2NyaXB0aW9uKE9p ZCBzdWJpZCwgYm9vbCBtaXNzaW5nX29rLAogCQkJCQkJCQkJIGJvb2wgYWNsY2hlY2spOwotZXh0 ZXJuIHZvaWQgRnJlZVN1YnNjcmlwdGlvbihTdWJzY3JpcHRpb24gKnN1Yik7CiBleHRlcm4gdm9p ZCBEaXNhYmxlU3Vic2NyaXB0aW9uKE9pZCBzdWJpZCk7CiAKIGV4dGVybiBpbnQJQ291bnREQlN1 YnNjcmlwdGlvbnMoT2lkIGRiaWQpOwotLSAKMi40My4wCgo= --=-qwe90hj0gyU/OYr1OxJw Content-Disposition: attachment; filename="v22-0004-Refactor-to-remove-ForeignServerName.patch" Content-Type: text/x-patch; name="v22-0004-Refactor-to-remove-ForeignServerName.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA5Y2MxNTk4ZjhhNjY4NjAxNWEwYzgxNjdjYWI1Njg4ODcyOTM5NWIwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBG cmksIDEzIE1hciAyMDI2IDE5OjM3OjIxIC0wNzAwClN1YmplY3Q6IFtQQVRDSCB2MjIgNC82XSBS ZWZhY3RvciB0byByZW1vdmUgRm9yZWlnblNlcnZlck5hbWUoKS4KCkNhbGxlcnMgZWl0aGVyIGhh dmUgYSBGb3JlaWduU2VydmVyIG9iamVjdCBvciBjYW4gcmVhZGlseSBjb25zdHJ1Y3QKb25lLiBB bHNvIHNpbXBsaWZ5IEZvcmVpZ25TZXJ2ZXJDb25uZWN0aW9uU3RyaW5nKCkgYnkgYWNjZXB0aW5n IGEKRm9yZWlnblNlcnZlciByYXRoZXIgdGhhbiBpdHMgT0lELgoKRGlzY3Vzc2lvbjogaHR0cHM6 Ly9wb3N0Z3IuZXMvbS9DQUV4SFc1dlY1em5FdmVjWD1yYTItdjdVQmo5LU02cXZkRHp1Qjc4TS1U eGJZRDFQRUFAbWFpbC5nbWFpbC5jb20KU3VnZ2VzdGVkLWJ5OiBBc2h1dG9zaCBCYXBhdCA8YXNo dXRvc2guYmFwYXQub3NzQGdtYWlsLmNvbT4KLS0tCiBzcmMvYmFja2VuZC9jYXRhbG9nL3BnX3N1 YnNjcmlwdGlvbi5jICAgfCAgNyArKysrLS0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlw dGlvbmNtZHMuYyB8IDIwICsrKysrKysrKy0tLS0tLS0KIHNyYy9iYWNrZW5kL2ZvcmVpZ24vZm9y ZWlnbi5jICAgICAgICAgICB8IDMxICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHNyYy9pbmNs dWRlL2ZvcmVpZ24vZm9yZWlnbi5oICAgICAgICAgICB8ICA0ICsrLS0KIDQgZmlsZXMgY2hhbmdl ZCwgMjAgaW5zZXJ0aW9ucygrKSwgNDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdf c3Vic2NyaXB0aW9uLmMKaW5kZXggY2EwNTNjMTUyY2YuLmQ5ZTIyMDE3MmU5IDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5jCisrKyBiL3NyYy9iYWNrZW5k L2NhdGFsb2cvcGdfc3Vic2NyaXB0aW9uLmMKQEAgLTExNCw2ICsxMTQsOSBAQCBHZXRTdWJzY3Jp cHRpb24oT2lkIHN1YmlkLCBib29sIG1pc3Npbmdfb2ssIGJvb2wgYWNsY2hlY2spCiAJaWYgKE9p ZElzVmFsaWQoc3ViZm9ybS0+c3Vic2VydmVyKSkKIAl7CiAJCUFjbFJlc3VsdAlhY2xyZXN1bHQ7 CisJCUZvcmVpZ25TZXJ2ZXIgKnNlcnZlcjsKKworCQlzZXJ2ZXIgPSBHZXRGb3JlaWduU2VydmVy KHN1YmZvcm0tPnN1YnNlcnZlcik7CiAKIAkJLyogcmVjaGVjayBBQ0wgaWYgcmVxdWVzdGVkICov CiAJCWlmIChhY2xjaGVjaykKQEAgLTEyNywxMSArMTMwLDExIEBAIEdldFN1YnNjcmlwdGlvbihP aWQgc3ViaWQsIGJvb2wgbWlzc2luZ19vaywgYm9vbCBhY2xjaGVjaykKIAkJCQkJCShlcnJjb2Rl KEVSUkNPREVfSU5TVUZGSUNJRU5UX1BSSVZJTEVHRSksCiAJCQkJCQkgZXJybXNnKCJzdWJzY3Jp cHRpb24gb3duZXIgXCIlc1wiIGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiBvbiBmb3JlaWduIHNl cnZlciBcIiVzXCIiLAogCQkJCQkJCQlHZXRVc2VyTmFtZUZyb21JZChzdWJmb3JtLT5zdWJvd25l ciwgZmFsc2UpLAotCQkJCQkJCQlGb3JlaWduU2VydmVyTmFtZShzdWJmb3JtLT5zdWJzZXJ2ZXIp KSkpOworCQkJCQkJCQlzZXJ2ZXItPnNlcnZlcm5hbWUpKSk7CiAJCX0KIAogCQlzdWItPmNvbm5p bmZvID0gRm9yZWlnblNlcnZlckNvbm5lY3Rpb25TdHJpbmcoc3ViZm9ybS0+c3Vib3duZXIsCi0J CQkJCQkJCQkJCQkJICBzdWJmb3JtLT5zdWJzZXJ2ZXIpOworCQkJCQkJCQkJCQkJCSAgc2VydmVy KTsKIAl9CiAJZWxzZQogCXsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNj cmlwdGlvbmNtZHMuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuYwpp bmRleCA3MjQ2MzdjZmY1Yi4uNzM3NWUyMTRjYjQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9zdWJz Y3JpcHRpb25jbWRzLmMKQEAgLTc1Myw3ICs3NTMsNyBAQCBDcmVhdGVTdWJzY3JpcHRpb24oUGFy c2VTdGF0ZSAqcHN0YXRlLCBDcmVhdGVTdWJzY3JpcHRpb25TdG10ICpzdG10LAogCQlHZXRVc2Vy TWFwcGluZyhvd25lciwgc2VydmVyLT5zZXJ2ZXJpZCk7CiAKIAkJc2VydmVyaWQgPSBzZXJ2ZXIt PnNlcnZlcmlkOwotCQljb25uaW5mbyA9IEZvcmVpZ25TZXJ2ZXJDb25uZWN0aW9uU3RyaW5nKG93 bmVyLCBzZXJ2ZXJpZCk7CisJCWNvbm5pbmZvID0gRm9yZWlnblNlcnZlckNvbm5lY3Rpb25TdHJp bmcob3duZXIsIHNlcnZlcik7CiAJfQogCWVsc2UKIAl7CkBAIC0xODQxLDEzICsxODQxLDEzIEBA IEFsdGVyU3Vic2NyaXB0aW9uKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQWx0ZXJTdWJzY3JpcHRpb25T dG10ICpzdG10LAogCQkJCQkJCWVycmNvZGUoRVJSQ09ERV9JTlNVRkZJQ0lFTlRfUFJJVklMRUdF KSwKIAkJCQkJCQllcnJtc2coInN1YnNjcmlwdGlvbiBvd25lciBcIiVzXCIgZG9lcyBub3QgaGF2 ZSBwZXJtaXNzaW9uIG9uIGZvcmVpZ24gc2VydmVyIFwiJXNcIiIsCiAJCQkJCQkJCSAgIEdldFVz ZXJOYW1lRnJvbUlkKGZvcm0tPnN1Ym93bmVyLCBmYWxzZSksCi0JCQkJCQkJCSAgIEZvcmVpZ25T ZXJ2ZXJOYW1lKG5ld19zZXJ2ZXItPnNlcnZlcmlkKSkpOworCQkJCQkJCQkgICBuZXdfc2VydmVy LT5zZXJ2ZXJuYW1lKSk7CiAKIAkJCQkvKiBtYWtlIHN1cmUgYSB1c2VyIG1hcHBpbmcgZXhpc3Rz ICovCiAJCQkJR2V0VXNlck1hcHBpbmcoZm9ybS0+c3Vib3duZXIsIG5ld19zZXJ2ZXItPnNlcnZl cmlkKTsKIAogCQkJCWNvbm5pbmZvID0gRm9yZWlnblNlcnZlckNvbm5lY3Rpb25TdHJpbmcoZm9y bS0+c3Vib3duZXIsCi0JCQkJCQkJCQkJCQkJCSBuZXdfc2VydmVyLT5zZXJ2ZXJpZCk7CisJCQkJ CQkJCQkJCQkJCSBuZXdfc2VydmVyKTsKIAogCQkJCS8qIExvYWQgdGhlIGxpYnJhcnkgcHJvdmlk aW5nIHVzIGxpYnBxIGNhbGxzLiAqLwogCQkJCWxvYWRfZmlsZSgibGlicHF3YWxyZWNlaXZlciIs IGZhbHNlKTsKQEAgLTIyNTAsNyArMjI1MCw5IEBAIERyb3BTdWJzY3JpcHRpb24oRHJvcFN1YnNj cmlwdGlvblN0bXQgKnN0bXQsIGJvb2wgaXNUb3BMZXZlbCkKIAlpZiAoT2lkSXNWYWxpZChmb3Jt LT5zdWJzZXJ2ZXIpKQogCXsKIAkJQWNsUmVzdWx0CWFjbHJlc3VsdDsKKwkJRm9yZWlnblNlcnZl ciAqc2VydmVyOwogCisJCXNlcnZlciA9IEdldEZvcmVpZ25TZXJ2ZXIoZm9ybS0+c3Vic2VydmVy KTsKIAkJYWNscmVzdWx0ID0gb2JqZWN0X2FjbGNoZWNrKEZvcmVpZ25TZXJ2ZXJSZWxhdGlvbklk LCBmb3JtLT5zdWJzZXJ2ZXIsCiAJCQkJCQkJCQlmb3JtLT5zdWJvd25lciwgQUNMX1VTQUdFKTsK IAkJaWYgKGFjbHJlc3VsdCAhPSBBQ0xDSEVDS19PSykKQEAgLTIyNjMsMTIgKzIyNjUsMTIgQEAg RHJvcFN1YnNjcmlwdGlvbihEcm9wU3Vic2NyaXB0aW9uU3RtdCAqc3RtdCwgYm9vbCBpc1RvcExl dmVsKQogCQkJICovCiAJCQllcnIgPSBwc3ByaW50ZihfKCJzdWJzY3JpcHRpb24gb3duZXIgXCIl c1wiIGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiBvbiBmb3JlaWduIHNlcnZlciBcIiVzXCIiKSwK IAkJCQkJCSAgIEdldFVzZXJOYW1lRnJvbUlkKGZvcm0tPnN1Ym93bmVyLCBmYWxzZSksCi0JCQkJ CQkgICBGb3JlaWduU2VydmVyTmFtZShmb3JtLT5zdWJzZXJ2ZXIpKTsKKwkJCQkJCSAgIHNlcnZl ci0+c2VydmVybmFtZSk7CiAJCQljb25uaW5mbyA9IE5VTEw7CiAJCX0KIAkJZWxzZQogCQkJY29u bmluZm8gPSBGb3JlaWduU2VydmVyQ29ubmVjdGlvblN0cmluZyhmb3JtLT5zdWJvd25lciwKLQkJ CQkJCQkJCQkJCQkgZm9ybS0+c3Vic2VydmVyKTsKKwkJCQkJCQkJCQkJCQkgc2VydmVyKTsKIAl9 CiAJZWxzZQogCXsKQEAgLTI1OTMsMTggKzI1OTUsMTggQEAgQWx0ZXJTdWJzY3JpcHRpb25Pd25l cl9pbnRlcm5hbChSZWxhdGlvbiByZWwsIEhlYXBUdXBsZSB0dXAsIE9pZCBuZXdPd25lcklkKQog CSAqLwogCWlmIChPaWRJc1ZhbGlkKGZvcm0tPnN1YnNlcnZlcikpCiAJewotCQlPaWQJCQlzZXJ2 ZXJpZCA9IGZvcm0tPnN1YnNlcnZlcjsKKwkJRm9yZWlnblNlcnZlciAqc2VydmVyID0gR2V0Rm9y ZWlnblNlcnZlcihmb3JtLT5zdWJzZXJ2ZXIpOwogCi0JCWFjbHJlc3VsdCA9IG9iamVjdF9hY2xj aGVjayhGb3JlaWduU2VydmVyUmVsYXRpb25JZCwgc2VydmVyaWQsIG5ld093bmVySWQsIEFDTF9V U0FHRSk7CisJCWFjbHJlc3VsdCA9IG9iamVjdF9hY2xjaGVjayhGb3JlaWduU2VydmVyUmVsYXRp b25JZCwgc2VydmVyLT5zZXJ2ZXJpZCwgbmV3T3duZXJJZCwgQUNMX1VTQUdFKTsKIAkJaWYgKGFj bHJlc3VsdCAhPSBBQ0xDSEVDS19PSykKIAkJCWVyZXBvcnQoRVJST1IsCiAJCQkJCWVycmNvZGUo RVJSQ09ERV9JTlNVRkZJQ0lFTlRfUFJJVklMRUdFKSwKIAkJCQkJZXJybXNnKCJuZXcgc3Vic2Ny aXB0aW9uIG93bmVyIFwiJXNcIiBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gb24gZm9yZWlnbiBz ZXJ2ZXIgXCIlc1wiIiwKIAkJCQkJCSAgIEdldFVzZXJOYW1lRnJvbUlkKG5ld093bmVySWQsIGZh bHNlKSwKLQkJCQkJCSAgIEZvcmVpZ25TZXJ2ZXJOYW1lKHNlcnZlcmlkKSkpOworCQkJCQkJICAg c2VydmVyLT5zZXJ2ZXJuYW1lKSk7CiAKIAkJLyogbWFrZSBzdXJlIGEgdXNlciBtYXBwaW5nIGV4 aXN0cyAqLwotCQlHZXRVc2VyTWFwcGluZyhuZXdPd25lcklkLCBzZXJ2ZXJpZCk7CisJCUdldFVz ZXJNYXBwaW5nKG5ld093bmVySWQsIHNlcnZlci0+c2VydmVyaWQpOwogCX0KIAogCWZvcm0tPnN1 Ym93bmVyID0gbmV3T3duZXJJZDsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2ZvcmVpZ24vZm9y ZWlnbi5jIGIvc3JjL2JhY2tlbmQvZm9yZWlnbi9mb3JlaWduLmMKaW5kZXggZjQzN2I0NDcyODIu LjVlOWExYWM4NTE0IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9mb3JlaWduL2ZvcmVpZ24uYwor KysgYi9zcmMvYmFja2VuZC9mb3JlaWduL2ZvcmVpZ24uYwpAQCAtMTc3LDMxICsxNzcsNiBAQCBH ZXRGb3JlaWduU2VydmVyRXh0ZW5kZWQoT2lkIHNlcnZlcmlkLCBiaXRzMTYgZmxhZ3MpCiB9CiAK IAotLyoKLSAqIEZvcmVpZ25TZXJ2ZXJOYW1lIC0gZ2V0IG5hbWUgb2YgZm9yZWlnbiBzZXJ2ZXIu Ci0gKi8KLWNoYXIgKgotRm9yZWlnblNlcnZlck5hbWUoT2lkIHNlcnZlcmlkKQotewotCUZvcm1f cGdfZm9yZWlnbl9zZXJ2ZXIgc2VydmVyZm9ybTsKLQljaGFyCSAgICpzZXJ2ZXJuYW1lOwotCUhl YXBUdXBsZQl0cDsKLQotCXRwID0gU2VhcmNoU3lzQ2FjaGUxKEZPUkVJR05TRVJWRVJPSUQsIE9i amVjdElkR2V0RGF0dW0oc2VydmVyaWQpKTsKLQotCWlmICghSGVhcFR1cGxlSXNWYWxpZCh0cCkp Ci0JCWVsb2coRVJST1IsICJjYWNoZSBsb29rdXAgZmFpbGVkIGZvciBmb3JlaWduIHNlcnZlciAl dSIsIHNlcnZlcmlkKTsKLQotCXNlcnZlcmZvcm0gPSAoRm9ybV9wZ19mb3JlaWduX3NlcnZlcikg R0VUU1RSVUNUKHRwKTsKLQotCXNlcnZlcm5hbWUgPSBwc3RyZHVwKE5hbWVTdHIoc2VydmVyZm9y bS0+c3J2bmFtZSkpOwotCi0JUmVsZWFzZVN5c0NhY2hlKHRwKTsKLQotCXJldHVybiBzZXJ2ZXJu YW1lOwotfQotCi0KIC8qCiAgKiBHZXRGb3JlaWduU2VydmVyQnlOYW1lIC0gbG9vayB1cCB0aGUg Zm9yZWlnbiBzZXJ2ZXIgZGVmaW5pdGlvbiBieSBuYW1lLgogICovCkBAIC0yMjMsMTMgKzE5OCwx MSBAQCBHZXRGb3JlaWduU2VydmVyQnlOYW1lKGNvbnN0IGNoYXIgKnNydm5hbWUsIGJvb2wgbWlz c2luZ19vaykKICAqIE5COiBsZWFrcyBpbnRvIEN1cnJlbnRNZW1vcnlDb250ZXh0LgogICovCiBj aGFyICoKLUZvcmVpZ25TZXJ2ZXJDb25uZWN0aW9uU3RyaW5nKE9pZCB1c2VyaWQsIE9pZCBzZXJ2 ZXJpZCkKK0ZvcmVpZ25TZXJ2ZXJDb25uZWN0aW9uU3RyaW5nKE9pZCB1c2VyaWQsIEZvcmVpZ25T ZXJ2ZXIgKnNlcnZlcikKIHsKLQlGb3JlaWduU2VydmVyICpzZXJ2ZXI7CiAJRm9yZWlnbkRhdGFX cmFwcGVyICpmZHc7CiAJRGF0dW0JCWNvbm5lY3Rpb25fZGF0dW07CiAKLQlzZXJ2ZXIgPSBHZXRG b3JlaWduU2VydmVyKHNlcnZlcmlkKTsKIAlmZHcgPSBHZXRGb3JlaWduRGF0YVdyYXBwZXIoc2Vy dmVyLT5mZHdpZCk7CiAKIAlpZiAoIU9pZElzVmFsaWQoZmR3LT5mZHdjb25uZWN0aW9uKSkKQEAg LTI0MSw3ICsyMTQsNyBAQCBGb3JlaWduU2VydmVyQ29ubmVjdGlvblN0cmluZyhPaWQgdXNlcmlk LCBPaWQgc2VydmVyaWQpCiAKIAljb25uZWN0aW9uX2RhdHVtID0gT2lkRnVuY3Rpb25DYWxsMyhm ZHctPmZkd2Nvbm5lY3Rpb24sCiAJCQkJCQkJCQkJT2JqZWN0SWRHZXREYXR1bSh1c2VyaWQpLAot CQkJCQkJCQkJCU9iamVjdElkR2V0RGF0dW0oc2VydmVyaWQpLAorCQkJCQkJCQkJCU9iamVjdElk R2V0RGF0dW0oc2VydmVyLT5zZXJ2ZXJpZCksCiAJCQkJCQkJCQkJUG9pbnRlckdldERhdHVtKE5V TEwpKTsKIAogCXJldHVybiB0ZXh0X3RvX2NzdHJpbmcoRGF0dW1HZXRUZXh0UFAoY29ubmVjdGlv bl9kYXR1bSkpOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvZm9yZWlnbi9mb3JlaWduLmggYi9z cmMvaW5jbHVkZS9mb3JlaWduL2ZvcmVpZ24uaAppbmRleCA2NWVkOWE3Zjk4Ny4uNTY0YzNjYzFi N2YgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2ZvcmVpZ24vZm9yZWlnbi5oCisrKyBiL3NyYy9p bmNsdWRlL2ZvcmVpZ24vZm9yZWlnbi5oCkBAIC02NiwxMiArNjYsMTIgQEAgdHlwZWRlZiBzdHJ1 Y3QgRm9yZWlnblRhYmxlCiAKIAogZXh0ZXJuIEZvcmVpZ25TZXJ2ZXIgKkdldEZvcmVpZ25TZXJ2 ZXIoT2lkIHNlcnZlcmlkKTsKLWV4dGVybiBjaGFyICpGb3JlaWduU2VydmVyTmFtZShPaWQgc2Vy dmVyaWQpOwogZXh0ZXJuIEZvcmVpZ25TZXJ2ZXIgKkdldEZvcmVpZ25TZXJ2ZXJFeHRlbmRlZChP aWQgc2VydmVyaWQsCiAJCQkJCQkJCQkJCSAgIGJpdHMxNiBmbGFncyk7CiBleHRlcm4gRm9yZWln blNlcnZlciAqR2V0Rm9yZWlnblNlcnZlckJ5TmFtZShjb25zdCBjaGFyICpzcnZuYW1lLAogCQkJ CQkJCQkJCQkgYm9vbCBtaXNzaW5nX29rKTsKLWV4dGVybiBjaGFyICpGb3JlaWduU2VydmVyQ29u bmVjdGlvblN0cmluZyhPaWQgdXNlcmlkLCBPaWQgc2VydmVyaWQpOworZXh0ZXJuIGNoYXIgKkZv cmVpZ25TZXJ2ZXJDb25uZWN0aW9uU3RyaW5nKE9pZCB1c2VyaWQsCisJCQkJCQkJCQkJICAgRm9y ZWlnblNlcnZlciAqc2VydmVyKTsKIGV4dGVybiBVc2VyTWFwcGluZyAqR2V0VXNlck1hcHBpbmco T2lkIHVzZXJpZCwgT2lkIHNlcnZlcmlkKTsKIGV4dGVybiBGb3JlaWduRGF0YVdyYXBwZXIgKkdl dEZvcmVpZ25EYXRhV3JhcHBlcihPaWQgZmR3aWQpOwogZXh0ZXJuIEZvcmVpZ25EYXRhV3JhcHBl ciAqR2V0Rm9yZWlnbkRhdGFXcmFwcGVyRXh0ZW5kZWQoT2lkIGZkd2lkLAotLSAKMi40My4wCgo= --=-qwe90hj0gyU/OYr1OxJw Content-Disposition: attachment; filename*0=v22-0005-Fix-pg_dump-for-CREATE-FOREIGN-DATA-WRAPPER-.-CO.pat; filename*1=ch Content-Type: text/x-patch; name="v22-0005-Fix-pg_dump-for-CREATE-FOREIGN-DATA-WRAPPER-.-CO.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBkNTQ5NmMyY2RiMjFjYzA4M2E3Yjg0NGQ1ZWYzMTJkMzEwNzk0MWIwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBT YXQsIDE0IE1hciAyMDI2IDE1OjA3OjI3IC0wNzAwClN1YmplY3Q6IFtQQVRDSCB2MjIgNS82XSBG aXggcGdfZHVtcCBmb3IgQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIC4uLgogQ09OTkVDVElP Ti4KCi0tLQogc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYyB8IDE1ICsrKysrKysrKysrKysrLQog c3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuaCB8ICAxICsKIDIgZmlsZXMgY2hhbmdlZCwgMTUgaW5z ZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9w Z19kdW1wLmMgYi9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jCmluZGV4IDEzNzE2MWFhNWUwLi4x N2ZhNTMzMDg2YyAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYworKysgYi9z cmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jCkBAIC0xMDUyNSw2ICsxMDUyNSw3IEBAIGdldEZvcmVp Z25EYXRhV3JhcHBlcnMoQXJjaGl2ZSAqZm91dCkKIAlpbnQJCQlpX2Zkd293bmVyOwogCWludAkJ CWlfZmR3aGFuZGxlcjsKIAlpbnQJCQlpX2Zkd3ZhbGlkYXRvcjsKKwlpbnQJCQlpX2Zkd2Nvbm5l Y3Rpb247CiAJaW50CQkJaV9mZHdhY2w7CiAJaW50CQkJaV9hY2xkZWZhdWx0OwogCWludAkJCWlf ZmR3b3B0aW9uczsKQEAgLTEwNTM0LDcgKzEwNTM1LDE0IEBAIGdldEZvcmVpZ25EYXRhV3JhcHBl cnMoQXJjaGl2ZSAqZm91dCkKIAlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwgIlNFTEVDVCB0 YWJsZW9pZCwgb2lkLCBmZHduYW1lLCAiCiAJCQkJCQkgImZkd293bmVyLCAiCiAJCQkJCQkgImZk d2hhbmRsZXI6OnBnX2NhdGFsb2cucmVncHJvYywgIgotCQkJCQkJICJmZHd2YWxpZGF0b3I6OnBn X2NhdGFsb2cucmVncHJvYywgIgorCQkJCQkJICJmZHd2YWxpZGF0b3I6OnBnX2NhdGFsb2cucmVn cHJvYywgIik7CisKKwlpZiAoZm91dC0+cmVtb3RlVmVyc2lvbiA+PSAxOTAwMDApCisJCWFwcGVu ZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LCAiZmR3Y29ubmVjdGlvbjo6cGdfY2F0YWxvZy5yZWdwcm9j LCAiKTsKKwllbHNlCisJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LCAiJy0nIEFTIGZkd2Nv bm5lY3Rpb24sICIpOworCisJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksCiAJCQkJCQkgImZk d2FjbCwgIgogCQkJCQkJICJhY2xkZWZhdWx0KCdGJywgZmR3b3duZXIpIEFTIGFjbGRlZmF1bHQs ICIKIAkJCQkJCSAiYXJyYXlfdG9fc3RyaW5nKEFSUkFZKCIKQEAgLTEwNTU3LDYgKzEwNTY1LDcg QEAgZ2V0Rm9yZWlnbkRhdGFXcmFwcGVycyhBcmNoaXZlICpmb3V0KQogCWlfZmR3b3duZXIgPSBQ UWZudW1iZXIocmVzLCAiZmR3b3duZXIiKTsKIAlpX2Zkd2hhbmRsZXIgPSBQUWZudW1iZXIocmVz LCAiZmR3aGFuZGxlciIpOwogCWlfZmR3dmFsaWRhdG9yID0gUFFmbnVtYmVyKHJlcywgImZkd3Zh bGlkYXRvciIpOworCWlfZmR3Y29ubmVjdGlvbiA9IFBRZm51bWJlcihyZXMsICJmZHdjb25uZWN0 aW9uIik7CiAJaV9mZHdhY2wgPSBQUWZudW1iZXIocmVzLCAiZmR3YWNsIik7CiAJaV9hY2xkZWZh dWx0ID0gUFFmbnVtYmVyKHJlcywgImFjbGRlZmF1bHQiKTsKIAlpX2Zkd29wdGlvbnMgPSBQUWZu dW1iZXIocmVzLCAiZmR3b3B0aW9ucyIpOwpAQCAtMTA1NzYsNiArMTA1ODUsNyBAQCBnZXRGb3Jl aWduRGF0YVdyYXBwZXJzKEFyY2hpdmUgKmZvdXQpCiAJCWZkd2luZm9baV0ucm9sbmFtZSA9IGdl dFJvbGVOYW1lKFBRZ2V0dmFsdWUocmVzLCBpLCBpX2Zkd293bmVyKSk7CiAJCWZkd2luZm9baV0u ZmR3aGFuZGxlciA9IHBnX3N0cmR1cChQUWdldHZhbHVlKHJlcywgaSwgaV9mZHdoYW5kbGVyKSk7 CiAJCWZkd2luZm9baV0uZmR3dmFsaWRhdG9yID0gcGdfc3RyZHVwKFBRZ2V0dmFsdWUocmVzLCBp LCBpX2Zkd3ZhbGlkYXRvcikpOworCQlmZHdpbmZvW2ldLmZkd2Nvbm5lY3Rpb24gPSBwZ19zdHJk dXAoUFFnZXR2YWx1ZShyZXMsIGksIGlfZmR3Y29ubmVjdGlvbikpOwogCQlmZHdpbmZvW2ldLmZk d29wdGlvbnMgPSBwZ19zdHJkdXAoUFFnZXR2YWx1ZShyZXMsIGksIGlfZmR3b3B0aW9ucykpOwog CiAJCS8qIERlY2lkZSB3aGV0aGVyIHdlIHdhbnQgdG8gZHVtcCBpdCAqLwpAQCAtMTYxNzksNiAr MTYxODksOSBAQCBkdW1wRm9yZWlnbkRhdGFXcmFwcGVyKEFyY2hpdmUgKmZvdXQsIGNvbnN0IEZk d0luZm8gKmZkd2luZm8pCiAJaWYgKHN0cmNtcChmZHdpbmZvLT5mZHd2YWxpZGF0b3IsICItIikg IT0gMCkKIAkJYXBwZW5kUFFFeHBCdWZmZXIocSwgIiBWQUxJREFUT1IgJXMiLCBmZHdpbmZvLT5m ZHd2YWxpZGF0b3IpOwogCisJaWYgKHN0cmNtcChmZHdpbmZvLT5mZHdjb25uZWN0aW9uLCAiLSIp ICE9IDApCisJCWFwcGVuZFBRRXhwQnVmZmVyKHEsICIgQ09OTkVDVElPTiAlcyIsIGZkd2luZm8t PmZkd2Nvbm5lY3Rpb24pOworCiAJaWYgKHN0cmxlbihmZHdpbmZvLT5mZHdvcHRpb25zKSA+IDAp CiAJCWFwcGVuZFBRRXhwQnVmZmVyKHEsICIgT1BUSU9OUyAoXG4gICAgJXNcbikiLCBmZHdpbmZv LT5mZHdvcHRpb25zKTsKIApkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuaCBi L3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmgKaW5kZXggMWMxMWE3OTA4M2YuLmIxNTBkNzM2ZGIx IDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5oCisrKyBiL3NyYy9iaW4vcGdf ZHVtcC9wZ19kdW1wLmgKQEAgLTYwNCw2ICs2MDQsNyBAQCB0eXBlZGVmIHN0cnVjdCBfZmR3SW5m bwogCWNvbnN0IGNoYXIgKnJvbG5hbWU7CiAJY2hhcgkgICAqZmR3aGFuZGxlcjsKIAljaGFyCSAg ICpmZHd2YWxpZGF0b3I7CisJY2hhcgkgICAqZmR3Y29ubmVjdGlvbjsKIAljaGFyCSAgICpmZHdv cHRpb25zOwogfSBGZHdJbmZvOwogCi0tIAoyLjQzLjAKCg== --=-qwe90hj0gyU/OYr1OxJw Content-Disposition: attachment; filename*0=v22-0006-Add-pg_dump-tests-related-to-CREATE-SUBSCRIPTION.pat; filename*1=ch Content-Type: text/x-patch; name="v22-0006-Add-pg_dump-tests-related-to-CREATE-SUBSCRIPTION.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSAyYjI4ZTRiYzE0N2JiZjQ3YmM2OTEyOTg2YjQ0MDBkNjM0ZjE3MTMxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBT YXQsIDE0IE1hciAyMDI2IDE1OjA3OjUyIC0wNzAwClN1YmplY3Q6IFtQQVRDSCB2MjIgNi82XSBB ZGQgcGdfZHVtcCB0ZXN0cyByZWxhdGVkIHRvIENSRUFURSBTVUJTQ1JJUFRJT04gLi4uCiBTRVJW RVIuCgpTdWdnZXN0ZWQtYnk6IEFzaHV0b3NoIEJhcGF0IDxhc2h1dG9zaC5iYXBhdC5vc3NAZ21h aWwuY29tPgpEaXNjdXNzaW9uOiBodHRwczovL3Bvc3Rnci5lcy9tL0NBRXhIVzV2VjV6bkV2ZWNY PXJhMi12N1VCajktTTZxdmREenVCNzhNLVR4YllEMVBFQUBtYWlsLmdtYWlsLmNvbQotLS0KIHNy Yy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1wLnBsIHwgNDkgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA0OSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0 IGEvc3JjL2Jpbi9wZ19kdW1wL3QvMDAyX3BnX2R1bXAucGwgYi9zcmMvYmluL3BnX2R1bXAvdC8w MDJfcGdfZHVtcC5wbAppbmRleCA2ZDFkMzgxMjhmYy4uMTFhOTQ0ZGQ1ZjggMTAwNjQ0Ci0tLSBh L3NyYy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1wLnBsCisrKyBiL3NyYy9iaW4vcGdfZHVtcC90 LzAwMl9wZ19kdW1wLnBsCkBAIC0yODQ2LDYgKzI4NDYsNDAgQEAgbXkgJXRlc3RzID0gKAogCQls aWtlID0+IHsgJWZ1bGxfcnVucywgc2VjdGlvbl9wcmVfZGF0YSA9PiAxLCB9LAogCX0sCiAKKwkn Q1JFQVRFIEZVTkNUSU9OIHB1YmxpYy50ZXN0X2Zkd19jb25uZWN0aW9uKG9pZCwgb2lkLCBpbnRl cm5hbCknID0+IHsKKwkJY3JlYXRlX29yZGVyID0+IDM3LAorCQljcmVhdGVfc3FsID0+ICJDUkVB VEUgRlVOQ1RJT04gcHVibGljLnRlc3RfZmR3X2Nvbm5lY3Rpb24ob2lkLCBvaWQsIGludGVybmFs KSBSRVRVUk5TIHRleHQgQVMgJ1wkbGliZGlyL3JlZ3Jlc3MnLCAndGVzdF9mZHdfY29ubmVjdGlv bicgTEFOR1VBR0UgQzsiLAorCQlyZWdleHAgPT4gcXIvXgorCQkJXFFDUkVBVEUgRlVOQ1RJT04g cHVibGljLnRlc3RfZmR3X2Nvbm5lY3Rpb24ob2lkLCBvaWQsIGludGVybmFsKSBcRQorCQkJXFFS RVRVUk5TIHRleHRcRQorCQkJXG5ccytcUUxBTkdVQUdFIGNcRQorCQkJXG5ccytBU1wgXCdcJAor CQkJXFFsaWJkaXJcL3JlZ3Jlc3MnLCAndGVzdF9mZHdfY29ubmVjdGlvbic7XEUKKwkJCS94bSwK KwkJbGlrZSA9PiB7ICVmdWxsX3J1bnMsIHNlY3Rpb25fcHJlX2RhdGEgPT4gMSwgfSwKKwl9LAor CisJJ0NSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiB0ZXN0X2ZkdyBDT05ORUNUSU9OIHB1Ymxp Yy50ZXN0X2Zkd19jb25uZWN0aW9uJyA9PiB7CisJCWNyZWF0ZV9vcmRlciA9PiAzOCwKKwkJY3Jl YXRlX3NxbCA9PiAnQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIHRlc3RfZmR3IENPTk5FQ1RJ T04gcHVibGljLnRlc3RfZmR3X2Nvbm5lY3Rpb247JywKKwkJcmVnZXhwID0+IHFyL0NSRUFURSBG T1JFSUdOIERBVEEgV1JBUFBFUiB0ZXN0X2ZkdyBDT05ORUNUSU9OIHB1YmxpYy50ZXN0X2Zkd19j b25uZWN0aW9uOy9tLAorCQlsaWtlID0+IHsgJWZ1bGxfcnVucywgc2VjdGlvbl9wcmVfZGF0YSA9 PiAxLCB9LAorCX0sCisKKwknQ1JFQVRFIFNFUlZFUiBzMiBGT1JFSUdOIERBVEEgV1JBUFBFUiB0 ZXN0X2ZkdycgPT4geworCQljcmVhdGVfb3JkZXIgPT4gMzksCisJCWNyZWF0ZV9zcWwgPT4gJ0NS RUFURSBTRVJWRVIgczIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgdGVzdF9mZHc7JywKKwkJcmVnZXhw ID0+IHFyL0NSRUFURSBTRVJWRVIgczIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgdGVzdF9mZHc7L20s CisJCWxpa2UgPT4geyAlZnVsbF9ydW5zLCBzZWN0aW9uX3ByZV9kYXRhID0+IDEsIH0sCisJfSwK KworCSdDUkVBVEUgVVNFUiBNQVBQSU5HIEZPUiBwdWJsaWMgU0VSVkVSIHMyJyA9PiB7CisJCWNy ZWF0ZV9vcmRlciA9PiA0MCwKKwkJY3JlYXRlX3NxbCA9PiAnQ1JFQVRFIFVTRVIgTUFQUElORyBG T1IgcHVibGljIFNFUlZFUiBzMjsnLAorCQlyZWdleHAgPT4gcXIvQ1JFQVRFIFVTRVIgTUFQUElO RyBGT1IgcHVibGljIFNFUlZFUiBzMjsvbSwKKwkJbGlrZSA9PiB7ICVmdWxsX3J1bnMsIHNlY3Rp b25fcHJlX2RhdGEgPT4gMSwgfSwKKwl9LAorCiAJJ0NSRUFURSBGT1JFSUdOIFRBQkxFIGR1bXBf dGVzdC5mb3JlaWduX3RhYmxlIFNFUlZFUiBzMScgPT4gewogCQljcmVhdGVfb3JkZXIgPT4gODgs CiAJCWNyZWF0ZV9zcWwgPT4KQEAgLTMyNzUsNiArMzMwOSwyMSBAQCBteSAldGVzdHMgPSAoCiAJ CX0sCiAJfSwKIAorCSdDUkVBVEUgU1VCU0NSSVBUSU9OIHN1YjQgU0VSVkVSIHMyJyA9PiB7CisJ CWNyZWF0ZV9vcmRlciA9PiA1MCwKKwkJY3JlYXRlX3NxbCA9PiAnQ1JFQVRFIFNVQlNDUklQVElP TiBzdWI0CisJCQkJCQkgU0VSVkVSIHMyIFBVQkxJQ0FUSU9OIHB1YjEKKwkJCQkJCSBXSVRIIChj b25uZWN0ID0gZmFsc2UsIHNsb3RfbmFtZSA9IE5PTkUsIG9yaWdpbiA9IGFueSwgc3RyZWFtaW5n ID0gb24pOycsCisJCXJlZ2V4cCA9PiBxci9eCisJCQlcUUNSRUFURSBTVUJTQ1JJUFRJT04gc3Vi NCBTRVJWRVIgczIgUFVCTElDQVRJT04gcHViMSBXSVRIIChjb25uZWN0ID0gZmFsc2UsIHNsb3Rf bmFtZSA9IE5PTkUsIHN0cmVhbWluZyA9IG9uKTtcRQorCQkJL3htLAorCQlsaWtlID0+IHsgJWZ1 bGxfcnVucywgc2VjdGlvbl9wb3N0X2RhdGEgPT4gMSwgfSwKKwkJdW5saWtlID0+IHsKKwkJCW5v X3N1YnNjcmlwdGlvbnMgPT4gMSwKKwkJCW5vX3N1YnNjcmlwdGlvbnNfcmVzdG9yZSA9PiAxLAor CQl9LAorCX0sCisKIAogCSMgUmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSB0YWJsZSBvciBzY2hl bWEgaXMgZXhjbHVkZWQsIHB1YmxpY2F0aW9ucyBtdXN0CiAJIyBzdGlsbCBiZSBkdW1wZWQsIGFz IGV4Y2x1ZGVkIG9iamVjdHMgZG8gbm90IGFwcGx5IHRvIHB1YmxpY2F0aW9ucy4gV2UKLS0gCjIu NDMuMAoK --=-qwe90hj0gyU/OYr1OxJw--