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 1wLW4Y-001plT-1B for pgsql-hackers@arkaria.postgresql.org; Sat, 09 May 2026 01:01:38 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wLW4V-00BrSS-1F for pgsql-hackers@arkaria.postgresql.org; Sat, 09 May 2026 01:01:35 +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 1wLW4U-00BrSJ-2G for pgsql-hackers@lists.postgresql.org; Sat, 09 May 2026 01:01:35 +0000 Received: from mail-pj1-x1035.google.com ([2607:f8b0:4864:20::1035]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wLW4Q-00000000trh-339q for pgsql-hackers@postgresql.org; Sat, 09 May 2026 01:01:33 +0000 Received: by mail-pj1-x1035.google.com with SMTP id 98e67ed59e1d1-36536771300so2657377a91.1 for ; Fri, 08 May 2026 18:01:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=j-davis-com.20251104.gappssmtp.com; s=20251104; t=1778288490; x=1778893290; 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=mlgNgJgBqLpOE6MFwoa2zz86fxhojeiK6DlCYR6dZNo=; b=fUsEgaGX1N23Jw+EgxNmsxNhd5Pc+v2zvQ3mRrk014mQrcRbtw9iuhoq+ZOwR2HlM1 k+xEC0WQNZr25TrPQ4iXaNYtbtk2H/moKd2l47xtiyDA5Oc1AcIpZnYzJmS6Nh/EJ35Z t9UVczsqtxm8tkdwJMxDUtKQOFcPl0/ybxRxtcfMsfJ999f2J7jTUdqUZr/ZhulqRQpd SB6EWMLz9t/q4oC/xdoL4dmUnmyqSREtG9huezTu3x+iT4q2h12HJ3KOmwQ3L5xwns7A qvp3o3Jh0QvZeGkphe7jXF+KOYHsf9XBntmDg3Ono6BkBsTzMee0FUvu3L6xvma0Dhui g2kw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778288490; x=1778893290; 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=mlgNgJgBqLpOE6MFwoa2zz86fxhojeiK6DlCYR6dZNo=; b=YIc0QTsKhGBKQdNWV6wXUem7+J7iEkee81CjuZowljgtQGGRQQUlOXYxCAoFdw3/a2 /UZh0ENEx03Ne+4OVohnHqjdp/BtJHXj7s+eNTa/RkNmvvj72vEQHEdbfRPtPZu2YCSh jgYjw1FTQgbM73mUzMDt45tvwnkWRYfZvSgF2b0iybz5Wonz3YXuyMmsUClrljpYf/uG d6CRdxYzKGFIWNHysRDlatLaKYnVC49kgQO6qCue1Krzxo5JvMDgRsooZsUc4uH4Vw8q kSzpMMVP/JmqE3zl3OaJpz780vsXMCJMUBfC+1umSjgpzLk21U09Q4TH1c0U9XgAMhKr 4HSQ== X-Forwarded-Encrypted: i=1; AFNElJ+cX7eBv0Z2wogXrsw80Dtx9Rjn7QkPjOuEgRsuyDFiSNb9JHOzzpLLygzak97Mm0aHTcfRQtcEmQ6QQcgJ@postgresql.org X-Gm-Message-State: AOJu0YysSynMe0pk2AMrzyfVXOCqBNg7DQkQ/ngG2ev6LHB+M/KjaONx kvjC97KeEcjNBThU/BBX/6Vp1FKNC/SXWpRxSv7p4mJAuJ0hwQJ32UReCsPce+v0og== X-Gm-Gg: Acq92OGFL2ULEOsHtc12SMBgyZ2yGpUDhRCFnTEK431tcuOzL7Br5Vcu7K2KWFgNLdv olm1AbPJjEoaluCO+xiLwvjHn3PgCnyrkvsXS1GB+/BAU6xUklgzfNrRH6/Fs0M4Dxkbsu/xd5z FZ88INYqwolMIpHR9MLSJmkxA7haSNCPwzE/tAz1drqK9HWAvHQwkiltcpmdzKLd9A2ZUWykf5o hlUbGckvrLhOwj3jomxeINernQ0mv8bTqAEc2GJrMUoY4gtbGwdEGPYTcoFhpD25+NPr/uqsEQY QlSRVCafW6OIKrNjek5Imr9OPYrUe+1Jjnd4e16G6m32dWEWI4sW/jcdg8OPfwiOqj1lDFvFflF 3qvBE0JG61q/CR22PMZo0gnSjnaGEb/E3LGT+X8aCtZVeg4vk878g0SwTs6cJkzVgMEF2uxOBHi ZTkbkIHQLgeR7bKY+ihhckhTFH4LA9WsHBJJ/eV/ljwIyU340JR3w= X-Received: by 2002:a17:90b:53cf:b0:35b:e4f0:f9b4 with SMTP id 98e67ed59e1d1-3660559c644mr7789000a91.10.1778288490339; Fri, 08 May 2026 18:01:30 -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 98e67ed59e1d1-367d660b828sm287010a91.16.2026.05.08.18.01.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 May 2026 18:01:29 -0700 (PDT) Message-ID: Subject: Re: Bug in ALTER SUBSCRIPTION ... SERVER / ... CONNECTION with broken old server From: Jeff Davis To: Chao Li , Zsolt Parragi , "Hayato Kuroda (Fujitsu)" Cc: Ajin Cherian , PostgreSQL-development Date: Fri, 08 May 2026 18:01:28 -0700 In-Reply-To: <8B38AFCA-7FFA-44CF-B9A8-81BDCEAFB224@gmail.com> References: <960DD2C4-A22C-463A-90ED-86E0FABD8D20@gmail.com> <8B38AFCA-7FFA-44CF-B9A8-81BDCEAFB224@gmail.com> Content-Type: multipart/mixed; boundary="=-M2M1qg738oicMsoKaC4s" 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 --=-M2M1qg738oicMsoKaC4s Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, 2026-05-06 at 15:57 +0800, Chao Li wrote: > PFA v3 - addressed Ajin and Zsolt=E2=80=99s comments. Thank you for the report! The proposed patch seems unnecessarily complex, though. It seems too easy to add GetSubscriptionConninfo() in the wrong place and end up with another problem that's not easily detected. Can't we just do something like the attached? It's easy to explain at the call site that, when changing to a different server or using CONNECTION instead, that we don't need the old conninfo at all. I included your test case in my patch, and it passes. Also, Hayato Kuroda's report was an issue also because the error could be thrown even if slotname was NULL. Patch attached for that, as well. Thank you, also! Regards, Jeff Davis --=-M2M1qg738oicMsoKaC4s Content-Disposition: attachment; filename="v4-0001-Avoid-errors-during-ALTER-SUBSCRIPTION.patch" Content-Type: text/x-patch; name="v4-0001-Avoid-errors-during-ALTER-SUBSCRIPTION.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSAzNDMwYjVjMGUyOTM1MWViYzE5YzY3NjM0MTFjYTFiMjliNDAxZmVjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBG cmksIDggTWF5IDIwMjYgMTY6MjM6MDAgLTA3MDAKU3ViamVjdDogW1BBVENIIHY0IDEvMl0gQXZv aWQgZXJyb3JzIGR1cmluZyBBTFRFUiBTVUJTQ1JJUFRJT04uCgpQcmV2aW91c2x5LCB3aGVuIHJl dHJpZXZpbmcgdGhlIG9sZCBTdWJzY3JpcHRpb24gb2JqZWN0LCBjb25zdHJ1Y3RpbmcKdGhlIGNv bm5pbmZvIGNvdWxkIGVuY291bnRlciBhbiBlcnJvciBkdXJpbmcKRm9yZWlnblNlcnZlckNvbm5l Y3Rpb25TdHJpbmcoKS4gQUNMIGVycm9ycyB3ZXJlIGhhbmRsZWQgcHJvcGVybHksIGJ1dApvdGhl ciBlcnJvcnMgY291bGQgaW50ZXJmZXJlIHdpdGggYSB1c2VyIGZpeGluZyB0aGUgcHJvYmxlbSB3 aXRoIEFMVEVSClNVQlNDUklQVElPTi4KCkFkZCBwYXJhbWV0ZXIgdG8gR2V0U3Vic2NycGl0aW9u KCkgdGhhdCBhbGxvd3MgdGhlIGNhbGxlciB0byBieXBhc3MKZ2VuZXJhdGluZyB0aGUgY29ubmlu Zm8sIHdoaWNoIGlzIHVubmVlZGVkIGluIHRoZXNlIGNhc2VzIGJlY2F1c2UgaXQncwphYm91dCB0 byBiZSByZXBsYWNlZCBhbnl3YXkuCgpUZXN0IGNhc2UgZnJvbSBDaGFvIExpLgoKUmVwb3J0ZWQt Ynk6IENoYW8gTGkgPGxpLmV2YW4uY2hhb0BnbWFpbC5jb20+CkRpc2N1c3Npb246IGh0dHBzOi8v cG9zdGdyLmVzL20vRDkwODM3MEYtMjY5NS00MjMxLTg1MUQtMTcxNzlBNkE2RjJBQGdtYWlsLmNv bQotLS0KIHNyYy9iYWNrZW5kL2NhdGFsb2cvcGdfc3Vic2NyaXB0aW9uLmMgICAgICB8IDY0ICsr KysrKysrKysrKy0tLS0tLS0tLS0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNt ZHMuYyAgICB8IDIyICsrKysrKy0tCiBzcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dv cmtlci5jICAgfCAgNCArLQogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uaCAg ICAgIHwgIDMgKy0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3Vic2NyaXB0aW9uLm91dCB8 IDE2ICsrKysrKwogc3JjL3Rlc3QvcmVncmVzcy9yZWdyZXNzLmMgICAgICAgICAgICAgICAgIHwg IDMgKwogc3JjL3Rlc3QvcmVncmVzcy9zcWwvc3Vic2NyaXB0aW9uLnNxbCAgICAgIHwgMTkgKysr KysrKwogNyBmaWxlcyBjaGFuZ2VkLCA5MiBpbnNlcnRpb25zKCspLCAzOSBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5jIGIvc3Jj L2JhY2tlbmQvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uYwppbmRleCAxZjFmZGM3NWFmNi4uNzk3 MzlmMDM1NGIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfc3Vic2NyaXB0aW9u LmMKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uYwpAQCAtNzQsNyAr NzQsOCBAQCBHZXRQdWJsaWNhdGlvbnNTdHIoTGlzdCAqcHVibGljYXRpb25zLCBTdHJpbmdJbmZv IGRlc3QsIGJvb2wgcXVvdGVfbGl0ZXJhbCkKICAqIEZldGNoIHRoZSBzdWJzY3JpcHRpb24gZnJv bSB0aGUgc3lzY2FjaGUuCiAgKi8KIFN1YnNjcmlwdGlvbiAqCi1HZXRTdWJzY3JpcHRpb24oT2lk IHN1YmlkLCBib29sIG1pc3Npbmdfb2ssIGJvb2wgYWNsY2hlY2spCitHZXRTdWJzY3JpcHRpb24o T2lkIHN1YmlkLCBib29sIG1pc3Npbmdfb2ssIGJvb2wgY29ubmluZm9fbmVlZGVkLAorCQkJCWJv b2wgY29ubmluZm9fYWNsY2hlY2spCiB7CiAJSGVhcFR1cGxlCXR1cDsKIAlTdWJzY3JpcHRpb24g KnN1YjsKQEAgLTEwMCw3ICsxMDEsNyBAQCBHZXRTdWJzY3JpcHRpb24oT2lkIHN1YmlkLCBib29s IG1pc3Npbmdfb2ssIGJvb2wgYWNsY2hlY2spCiAKIAlzdWJmb3JtID0gKEZvcm1fcGdfc3Vic2Ny aXB0aW9uKSBHRVRTVFJVQ1QodHVwKTsKIAotCXN1YiA9IHBhbGxvY19vYmplY3QoU3Vic2NyaXB0 aW9uKTsKKwlzdWIgPSBwYWxsb2MwX29iamVjdChTdWJzY3JpcHRpb24pOwogCXN1Yi0+Y3h0ID0g Y3h0OwogCXN1Yi0+b2lkID0gc3ViaWQ7CiAJc3ViLT5kYmlkID0gc3ViZm9ybS0+c3ViZGJpZDsK QEAgLTEyMCwzNyArMTIxLDQwIEBAIEdldFN1YnNjcmlwdGlvbihPaWQgc3ViaWQsIGJvb2wgbWlz c2luZ19vaywgYm9vbCBhY2xjaGVjaykKIAlzdWItPnJldGVudGlvbmFjdGl2ZSA9IHN1YmZvcm0t PnN1YnJldGVudGlvbmFjdGl2ZTsKIAogCS8qIEdldCBjb25uaW5mbyAqLwotCWlmIChPaWRJc1Zh bGlkKHN1YmZvcm0tPnN1YnNlcnZlcikpCisJaWYgKGNvbm5pbmZvX25lZWRlZCkKIAl7Ci0JCUFj bFJlc3VsdAlhY2xyZXN1bHQ7Ci0JCUZvcmVpZ25TZXJ2ZXIgKnNlcnZlcjsKLQotCQlzZXJ2ZXIg PSBHZXRGb3JlaWduU2VydmVyKHN1YmZvcm0tPnN1YnNlcnZlcik7Ci0KLQkJLyogcmVjaGVjayBB Q0wgaWYgcmVxdWVzdGVkICovCi0JCWlmIChhY2xjaGVjaykKKwkJaWYgKE9pZElzVmFsaWQoc3Vi Zm9ybS0+c3Vic2VydmVyKSkKIAkJewotCQkJYWNscmVzdWx0ID0gb2JqZWN0X2FjbGNoZWNrKEZv cmVpZ25TZXJ2ZXJSZWxhdGlvbklkLAotCQkJCQkJCQkJCXN1YmZvcm0tPnN1YnNlcnZlciwKLQkJ CQkJCQkJCQlzdWJmb3JtLT5zdWJvd25lciwgQUNMX1VTQUdFKTsKLQotCQkJaWYgKGFjbHJlc3Vs dCAhPSBBQ0xDSEVDS19PSykKLQkJCQllcmVwb3J0KEVSUk9SLAotCQkJCQkJKGVycmNvZGUoRVJS Q09ERV9JTlNVRkZJQ0lFTlRfUFJJVklMRUdFKSwKLQkJCQkJCSBlcnJtc2coInN1YnNjcmlwdGlv biBvd25lciBcIiVzXCIgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIG9uIGZvcmVpZ24gc2VydmVy IFwiJXNcIiIsCi0JCQkJCQkJCUdldFVzZXJOYW1lRnJvbUlkKHN1YmZvcm0tPnN1Ym93bmVyLCBm YWxzZSksCi0JCQkJCQkJCXNlcnZlci0+c2VydmVybmFtZSkpKTsKKwkJCUFjbFJlc3VsdAlhY2xy ZXN1bHQ7CisJCQlGb3JlaWduU2VydmVyICpzZXJ2ZXI7CisKKwkJCXNlcnZlciA9IEdldEZvcmVp Z25TZXJ2ZXIoc3ViZm9ybS0+c3Vic2VydmVyKTsKKworCQkJLyogcmVjaGVjayBBQ0wgaWYgcmVx dWVzdGVkICovCisJCQlpZiAoY29ubmluZm9fYWNsY2hlY2spCisJCQl7CisJCQkJYWNscmVzdWx0 ID0gb2JqZWN0X2FjbGNoZWNrKEZvcmVpZ25TZXJ2ZXJSZWxhdGlvbklkLAorCQkJCQkJCQkJCQlz dWJmb3JtLT5zdWJzZXJ2ZXIsCisJCQkJCQkJCQkJCXN1YmZvcm0tPnN1Ym93bmVyLCBBQ0xfVVNB R0UpOworCisJCQkJaWYgKGFjbHJlc3VsdCAhPSBBQ0xDSEVDS19PSykKKwkJCQkJZXJlcG9ydChF UlJPUiwKKwkJCQkJCQkoZXJyY29kZShFUlJDT0RFX0lOU1VGRklDSUVOVF9QUklWSUxFR0UpLAor CQkJCQkJCSBlcnJtc2coInN1YnNjcmlwdGlvbiBvd25lciBcIiVzXCIgZG9lcyBub3QgaGF2ZSBw ZXJtaXNzaW9uIG9uIGZvcmVpZ24gc2VydmVyIFwiJXNcIiIsCisJCQkJCQkJCQlHZXRVc2VyTmFt ZUZyb21JZChzdWJmb3JtLT5zdWJvd25lciwgZmFsc2UpLAorCQkJCQkJCQkJc2VydmVyLT5zZXJ2 ZXJuYW1lKSkpOworCQkJfQorCisJCQlzdWItPmNvbm5pbmZvID0gRm9yZWlnblNlcnZlckNvbm5l Y3Rpb25TdHJpbmcoc3ViZm9ybS0+c3Vib3duZXIsCisJCQkJCQkJCQkJCQkJCSAgc2VydmVyKTsK KwkJfQorCQllbHNlCisJCXsKKwkJCWRhdHVtID0gU3lzQ2FjaGVHZXRBdHRyTm90TnVsbChTVUJT Q1JJUFRJT05PSUQsCisJCQkJCQkJCQkJICAgdHVwLAorCQkJCQkJCQkJCSAgIEFudW1fcGdfc3Vi c2NyaXB0aW9uX3N1YmNvbm5pbmZvKTsKKwkJCXN1Yi0+Y29ubmluZm8gPSBUZXh0RGF0dW1HZXRD U3RyaW5nKGRhdHVtKTsKIAkJfQotCi0JCXN1Yi0+Y29ubmluZm8gPSBGb3JlaWduU2VydmVyQ29u bmVjdGlvblN0cmluZyhzdWJmb3JtLT5zdWJvd25lciwKLQkJCQkJCQkJCQkJCQkgIHNlcnZlcik7 Ci0JfQotCWVsc2UKLQl7Ci0JCWRhdHVtID0gU3lzQ2FjaGVHZXRBdHRyTm90TnVsbChTVUJTQ1JJ UFRJT05PSUQsCi0JCQkJCQkJCQkgICB0dXAsCi0JCQkJCQkJCQkgICBBbnVtX3BnX3N1YnNjcmlw dGlvbl9zdWJjb25uaW5mbyk7Ci0JCXN1Yi0+Y29ubmluZm8gPSBUZXh0RGF0dW1HZXRDU3RyaW5n KGRhdHVtKTsKIAl9CiAKIAkvKiBHZXQgc2xvdG5hbWUgKi8KZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3N1 YnNjcmlwdGlvbmNtZHMuYwppbmRleCAxZTEwZDlkOWE1OC4uMjFiMjc5OTFkM2MgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuYworKysgYi9zcmMvYmFj a2VuZC9jb21tYW5kcy9zdWJzY3JpcHRpb25jbWRzLmMKQEAgLTE0MjQsNiArMTQyNCw3IEBAIEFs dGVyU3Vic2NyaXB0aW9uKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQWx0ZXJTdWJzY3JpcHRpb25TdG10 ICpzdG10LAogCWJvb2wJCXVwZGF0ZV9mYWlsb3ZlciA9IGZhbHNlOwogCWJvb2wJCXVwZGF0ZV90 d29fcGhhc2UgPSBmYWxzZTsKIAlib29sCQljaGVja19wdWJfcmR0ID0gZmFsc2U7CisJYm9vbAkJ Y29ubmluZm9fbmVlZGVkID0gdHJ1ZTsKIAlib29sCQlyZXRhaW5fZGVhZF90dXBsZXM7CiAJaW50 CQkJbWF4X3JldGVudGlvbjsKIAlib29sCQlyZXRlbnRpb25fYWN0aXZlOwpAQCAtMTQ1NCwxMyAr MTQ1NSwyMiBAQCBBbHRlclN1YnNjcmlwdGlvbihQYXJzZVN0YXRlICpwc3RhdGUsIEFsdGVyU3Vi c2NyaXB0aW9uU3RtdCAqc3RtdCwKIAkJCQkJICAgc3RtdC0+c3VibmFtZSk7CiAKIAkvKgotCSAq IFNraXAgQUNMIGNoZWNrcyBvbiB0aGUgc3Vic2NyaXB0aW9uJ3MgZm9yZWlnbiBzZXJ2ZXIsIGlm IGFueS4gSWYKLQkgKiBjaGFuZ2luZyB0aGUgc2VydmVyIChvciByZXBsYWNpbmcgaXQgd2l0aCBh IHJhdyBjb25uZWN0aW9uKSwgdGhlbiB0aGUKLQkgKiBvbGQgb25lIHdpbGwgYmUgcmVtb3ZlZCBh bnl3YXkuIElmIGNoYW5naW5nIHNvbWV0aGluZyB1bnJlbGF0ZWQsCi0JICogdGhlcmUncyBubyBu ZWVkIHRvIGRvIGFuIGFkZGl0aW9uYWwgQUNMIGNoZWNrIGhlcmU7IHRoYXQgd2lsbCBiZSBkb25l Ci0JICogYnkgdGhlIHN1YnNjcmlwdGlvbiB3b3JrZXIgYW55d2F5LgorCSAqIElmIHdlJ3JlIHJl cGxhY2luZyB0aGUgY29ubmVjdGlvbiBpbmZvcm1hdGlvbiwgd2UgZG9uJ3QgbmVlZCB0aGUgb2xk CisJICogY29ubmluZm8gYXQgYWxsLiBUcnlpbmcgdG8gY29uc3RydWN0IGl0IGNvdWxkIGVuY291 bnRlciBlcnJvcnMsIHdoaWNoCisJICogd291bGQgcHJldmVudCB0aGUgdXNlciBmcm9tIGZpeGlu ZyB0aGUgcHJvYmxlbS4KIAkgKi8KLQlzdWIgPSBHZXRTdWJzY3JpcHRpb24oc3ViaWQsIGZhbHNl LCBmYWxzZSk7CisJaWYgKHN0bXQtPmtpbmQgPT0gQUxURVJfU1VCU0NSSVBUSU9OX1NFUlZFUiB8 fAorCQlzdG10LT5raW5kID09IEFMVEVSX1NVQlNDUklQVElPTl9DT05ORUNUSU9OKQorCQljb25u aW5mb19uZWVkZWQgPSBmYWxzZTsKKworCS8qCisJICogU2tpcCBBQ0wgY2hlY2tzIHdoZW4gY29u c3RydWN0aW5nIHRoZSBleGlzdGluZyBjb25uZWN0aW9uIGluZm9ybWF0aW9uOworCSAqIHRoZSBB Q0wgY2hlY2sgd2lsbCBiZSBwZXJmb3JtZWQgb24gdGhlIG5ldyBjb25uZWN0aW9uIGluZm9ybWF0 aW9uLCBpZgorCSAqIGFueS4gSWYgY2hhbmdpbmcgc29tZXRoaW5nIHVucmVsYXRlZCB0byBjb25u aW5mbywgdGhlcmUncyBubyBuZWVkIHRvIGRvCisJICogYW4gYWRkaXRpb25hbCBBQ0wgY2hlY2sg b24gdGhlIGZvcmVpZ24gc2VydmVyIGhlcmU7IHRoYXQgd2lsbCBiZSBkb25lCisJICogYnkgdGhl IHN1YnNjcmlwdGlvbiB3b3JrZXIuCisJICovCisJc3ViID0gR2V0U3Vic2NyaXB0aW9uKHN1Ymlk LCBmYWxzZSwgY29ubmluZm9fbmVlZGVkLCBmYWxzZSk7CiAKIAlyZXRhaW5fZGVhZF90dXBsZXMg PSBzdWItPnJldGFpbmRlYWR0dXBsZXM7CiAJb3JpZ2luID0gc3ViLT5vcmlnaW47CmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jIGIvc3JjL2JhY2tl bmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYwppbmRleCBkZDZmYzM4YTQxZS4uOTA5YmQ0 N2YwYTkgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2Vy LmMKKysrIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYwpAQCAtNTA1 OSw3ICs1MDU5LDcgQEAgbWF5YmVfcmVyZWFkX3N1YnNjcmlwdGlvbih2b2lkKQogCQlzdGFydGVk X3R4ID0gdHJ1ZTsKIAl9CiAKLQluZXdzdWIgPSBHZXRTdWJzY3JpcHRpb24oTXlMb2dpY2FsUmVw V29ya2VyLT5zdWJpZCwgdHJ1ZSwgdHJ1ZSk7CisJbmV3c3ViID0gR2V0U3Vic2NyaXB0aW9uKE15 TG9naWNhbFJlcFdvcmtlci0+c3ViaWQsIHRydWUsIHRydWUsIHRydWUpOwogCiAJaWYgKG5ld3N1 YikKIAl7CkBAIC01ODA4LDcgKzU4MDgsNyBAQCBJbml0aWFsaXplTG9nUmVwV29ya2VyKHZvaWQp CiAJTG9ja1NoYXJlZE9iamVjdChTdWJzY3JpcHRpb25SZWxhdGlvbklkLCBNeUxvZ2ljYWxSZXBX b3JrZXItPnN1YmlkLCAwLAogCQkJCQkgQWNjZXNzU2hhcmVMb2NrKTsKIAotCU15U3Vic2NyaXB0 aW9uID0gR2V0U3Vic2NyaXB0aW9uKE15TG9naWNhbFJlcFdvcmtlci0+c3ViaWQsIHRydWUsIHRy dWUpOworCU15U3Vic2NyaXB0aW9uID0gR2V0U3Vic2NyaXB0aW9uKE15TG9naWNhbFJlcFdvcmtl ci0+c3ViaWQsIHRydWUsIHRydWUsIHRydWUpOwogCiAJaWYgKE15U3Vic2NyaXB0aW9uKQogCXsK ZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfc3Vic2NyaXB0aW9uLmggYi9zcmMv aW5jbHVkZS9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5oCmluZGV4IGE2YTJhZDFlNDljLi40ODk0 NDIwMTg4OSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24u aAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5oCkBAIC0yMTMsNyAr MjEzLDggQEAgdHlwZWRlZiBzdHJ1Y3QgU3Vic2NyaXB0aW9uCiAjZW5kaWYJCQkJCQkJLyogRVhQ T1NFX1RPX0NMSUVOVF9DT0RFICovCiAKIGV4dGVybiBTdWJzY3JpcHRpb24gKkdldFN1YnNjcmlw dGlvbihPaWQgc3ViaWQsIGJvb2wgbWlzc2luZ19vaywKLQkJCQkJCQkJCSBib29sIGFjbGNoZWNr KTsKKwkJCQkJCQkJCSBib29sIGNvbm5pbmZvX25lZWRlZCwKKwkJCQkJCQkJCSBib29sIGNvbm5p bmZvX2FjbGNoZWNrKTsKIGV4dGVybiB2b2lkIERpc2FibGVTdWJzY3JpcHRpb24oT2lkIHN1Ymlk KTsKIAogZXh0ZXJuIGludAlDb3VudERCU3Vic2NyaXB0aW9ucyhPaWQgZGJpZCk7CmRpZmYgLS1n aXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N1YnNjcmlwdGlvbi5vdXQgYi9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL3N1YnNjcmlwdGlvbi5vdXQKaW5kZXggN2UzY2FiZGI5M2YuLjEy OGY0NGVhYWNkIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N1YnNjcmlw dGlvbi5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zdWJzY3JpcHRpb24ub3V0 CkBAIC0xNzQsMTYgKzE3NCwzMiBAQCBXQVJOSU5HOiAgc3Vic2NyaXB0aW9uIHdhcyBjcmVhdGVk LCBidXQgaXMgbm90IGNvbm5lY3RlZAogSElOVDogIFRvIGluaXRpYXRlIHJlcGxpY2F0aW9uLCB5 b3UgbXVzdCBtYW51YWxseSBjcmVhdGUgdGhlIHJlcGxpY2F0aW9uIHNsb3QsIGVuYWJsZSB0aGUg c3Vic2NyaXB0aW9uLCBhbmQgYWx0ZXIgdGhlIHN1YnNjcmlwdGlvbiB0byByZWZyZXNoIHB1Ymxp Y2F0aW9ucy4KIERST1AgVVNFUiBNQVBQSU5HIEZPUiByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2Vy MyBTRVJWRVIgdGVzdF9zZXJ2ZXI7CiBSRVNFVCBTRVNTSU9OIEFVVEhPUklaQVRJT047CitDUkVB VEUgU0VSVkVSIHRlc3Rfc2VydmVyMiBGT1JFSUdOIERBVEEgV1JBUFBFUiB0ZXN0X2ZkdzsKK0dS QU5UIFVTQUdFIE9OIEZPUkVJR04gU0VSVkVSIHRlc3Rfc2VydmVyMiBUTyByZWdyZXNzX3N1YnNj cmlwdGlvbl91c2VyMzsKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19zdWJzY3Jp cHRpb25fdXNlcjM7CitDUkVBVEUgVVNFUiBNQVBQSU5HIEZPUiByZWdyZXNzX3N1YnNjcmlwdGlv bl91c2VyMyBTRVJWRVIgdGVzdF9zZXJ2ZXIyIE9QVElPTlModXNlciAnYmFyJywgcGFzc3dvcmQg J3NlY3JldCcpOworUkVTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OOwogUkVWT0tFIFVTQUdFIE9O IEZPUkVJR04gU0VSVkVSIHRlc3Rfc2VydmVyIEZST00gcmVncmVzc19zdWJzY3JpcHRpb25fdXNl cjM7CiBTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIz OwogLS0gZmFpbCwgbXVzdCBjb25uZWN0IGJ1dCBsYWNrcyBVU0FHRSBvbiBzZXJ2ZXIsIGFzIHdl bGwgYXMgdXNlciBtYXBwaW5nCiBEUk9QIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWI2Owog RVJST1I6ICBjb3VsZCBub3QgY29ubmVjdCB0byBwdWJsaXNoZXIgd2hlbiBhdHRlbXB0aW5nIHRv IGRyb3AgcmVwbGljYXRpb24gc2xvdCAiZHVtbXkiOiBzdWJzY3JpcHRpb24gb3duZXIgInJlZ3Jl c3Nfc3Vic2NyaXB0aW9uX3VzZXIzIiBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gb24gZm9yZWln biBzZXJ2ZXIgInRlc3Rfc2VydmVyIgogSElOVDogIFVzZSBBTFRFUiBTVUJTQ1JJUFRJT04gLi4u IERJU0FCTEUgdG8gZGlzYWJsZSB0aGUgc3Vic2NyaXB0aW9uLCBhbmQgdGhlbiB1c2UgQUxURVIg U1VCU0NSSVBUSU9OIC4uLiBTRVQgKHNsb3RfbmFtZSA9IE5PTkUpIHRvIGRpc2Fzc29jaWF0ZSBp dCBmcm9tIHRoZSBzbG90LgorLS0gb2ssIHNob3VsZCBub3QgbmVlZCB0byByZXNvbHZlIGNvbm5p bmZvIGZvciB0aGUgb2xkIGJyb2tlbiBzZXJ2ZXIKK0FMVEVSIFNVQlNDUklQVElPTiByZWdyZXNz X3Rlc3RzdWI2IFNFUlZFUiB0ZXN0X3NlcnZlcjI7CitEUk9QIFVTRVIgTUFQUElORyBGT1IgcmVn cmVzc19zdWJzY3JpcHRpb25fdXNlcjMgU0VSVkVSIHRlc3Rfc2VydmVyMjsKK1JFU0VUIFNFU1NJ T04gQVVUSE9SSVpBVElPTjsKK1JFVk9LRSBVU0FHRSBPTiBGT1JFSUdOIFNFUlZFUiB0ZXN0X3Nl cnZlcjIgRlJPTSByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyMzsKK1NFVCBTRVNTSU9OIEFVVEhP UklaQVRJT04gcmVncmVzc19zdWJzY3JpcHRpb25fdXNlcjM7CistLSBvaywgc2hvdWxkIG5vdCBu ZWVkIHRvIHJlc29sdmUgY29ubmluZm8gZm9yIHRoZSBjdXJyZW50IGJyb2tlbiBzZXJ2ZXIKK0FM VEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWI2IENPTk5FQ1RJT04gJ2RibmFtZT1yZWdy ZXNzX2RvZXNub3RleGlzdDIgcGFzc3dvcmQ9c2VjcmV0JzsKK1JFU0VUIFNFU1NJT04gQVVUSE9S SVpBVElPTjsKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19zdWJzY3JpcHRpb25f dXNlcjM7CiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViNiBTRVQgKHNsb3RfbmFt ZSA9IE5PTkUpOwogRFJPUCBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViNjsKIFNFVCBTRVNT SU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19zdWJzY3JpcHRpb25fdXNlcjsKIFJFVk9LRSBDUkVB VEUgT04gREFUQUJBU0UgUkVHUkVTU0lPTiBGUk9NIHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIz OworRFJPUCBTRVJWRVIgdGVzdF9zZXJ2ZXIyOwogRFJPUCBTRVJWRVIgdGVzdF9zZXJ2ZXI7CiAt LSBmYWlsLCBGRFcgaXMgZGVwZW5kZW50CiBEUk9QIEZVTkNUSU9OIHRlc3RfZmR3X2Nvbm5lY3Rp b24ob2lkLCBvaWQsIGludGVybmFsKTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvcmVn cmVzcy5jIGIvc3JjL3Rlc3QvcmVncmVzcy9yZWdyZXNzLmMKaW5kZXggMmJjYjU1NTlhNDUuLjU5 ODYzNWI2NTU4IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3JlZ3Jlc3MuYworKysgYi9z cmMvdGVzdC9yZWdyZXNzL3JlZ3Jlc3MuYwpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgImV4 ZWN1dG9yL2V4ZWN1dG9yLmgiCiAjaW5jbHVkZSAiZXhlY3V0b3IvZnVuY3Rpb25zLmgiCiAjaW5j bHVkZSAiZXhlY3V0b3Ivc3BpLmgiCisjaW5jbHVkZSAiZm9yZWlnbi9mb3JlaWduLmgiCiAjaW5j bHVkZSAiZnVuY2FwaS5oIgogI2luY2x1ZGUgIm1iL3BnX3djaGFyLmgiCiAjaW5jbHVkZSAibWlz Y2FkbWluLmgiCkBAIC03MzUsNiArNzM2LDggQEAgUEdfRlVOQ1RJT05fSU5GT19WMSh0ZXN0X2Zk d19jb25uZWN0aW9uKTsKIERhdHVtCiB0ZXN0X2Zkd19jb25uZWN0aW9uKFBHX0ZVTkNUSU9OX0FS R1MpCiB7CisJLyogRW5zdXJlIHRoZSB0ZXN0IGZhaWxzIGlmIG5vIHZhbGlkIHVzZXIgbWFwcGlu ZyBleGlzdHMuICovCisJR2V0VXNlck1hcHBpbmcoUEdfR0VUQVJHX09JRCgwKSwgUEdfR0VUQVJH X09JRCgxKSk7CiAJUEdfUkVUVVJOX1RFWFRfUChjc3RyaW5nX3RvX3RleHQoImRibmFtZT1yZWdy ZXNzX2RvZXNub3RleGlzdCB1c2VyPWRvZXNub3RleGlzdCBwYXNzd29yZD1zZWNyZXQiKSk7CiB9 CiAKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N1YnNjcmlwdGlvbi5zcWwgYi9z cmMvdGVzdC9yZWdyZXNzL3NxbC9zdWJzY3JpcHRpb24uc3FsCmluZGV4IDZjM2Q5NjMyZThhLi5j OTBmOGEwM2VkOCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc3Vic2NyaXB0aW9u LnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zdWJzY3JpcHRpb24uc3FsCkBAIC0xMjQs NiArMTI0LDEyIEBAIFNFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19zdWJzY3JpcHRp b25fdXNlcjM7CiBDUkVBVEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YjYgU0VSVkVSIHRl c3Rfc2VydmVyIFBVQkxJQ0FUSU9OIHRlc3RwdWIgV0lUSCAoc2xvdF9uYW1lID0gJ2R1bW15Jywg Y29ubmVjdCA9IGZhbHNlKTsKIAogRFJPUCBVU0VSIE1BUFBJTkcgRk9SIHJlZ3Jlc3Nfc3Vic2Ny aXB0aW9uX3VzZXIzIFNFUlZFUiB0ZXN0X3NlcnZlcjsKK1JFU0VUIFNFU1NJT04gQVVUSE9SSVpB VElPTjsKK0NSRUFURSBTRVJWRVIgdGVzdF9zZXJ2ZXIyIEZPUkVJR04gREFUQSBXUkFQUEVSIHRl c3RfZmR3OworR1JBTlQgVVNBR0UgT04gRk9SRUlHTiBTRVJWRVIgdGVzdF9zZXJ2ZXIyIFRPIHJl Z3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIzOworU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdy ZXNzX3N1YnNjcmlwdGlvbl91c2VyMzsKK0NSRUFURSBVU0VSIE1BUFBJTkcgRk9SIHJlZ3Jlc3Nf c3Vic2NyaXB0aW9uX3VzZXIzIFNFUlZFUiB0ZXN0X3NlcnZlcjIgT1BUSU9OUyh1c2VyICdiYXIn LCBwYXNzd29yZCAnc2VjcmV0Jyk7CisKIFJFU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTjsKIFJF Vk9LRSBVU0FHRSBPTiBGT1JFSUdOIFNFUlZFUiB0ZXN0X3NlcnZlciBGUk9NIHJlZ3Jlc3Nfc3Vi c2NyaXB0aW9uX3VzZXIzOwogU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3N1YnNj cmlwdGlvbl91c2VyMzsKQEAgLTEzMSwxMiArMTM3LDI1IEBAIFNFVCBTRVNTSU9OIEFVVEhPUkla QVRJT04gcmVncmVzc19zdWJzY3JpcHRpb25fdXNlcjM7CiAtLSBmYWlsLCBtdXN0IGNvbm5lY3Qg YnV0IGxhY2tzIFVTQUdFIG9uIHNlcnZlciwgYXMgd2VsbCBhcyB1c2VyIG1hcHBpbmcKIERST1Ag U1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YjY7CiAKKy0tIG9rLCBzaG91bGQgbm90IG5lZWQg dG8gcmVzb2x2ZSBjb25uaW5mbyBmb3IgdGhlIG9sZCBicm9rZW4gc2VydmVyCitBTFRFUiBTVUJT Q1JJUFRJT04gcmVncmVzc190ZXN0c3ViNiBTRVJWRVIgdGVzdF9zZXJ2ZXIyOworRFJPUCBVU0VS IE1BUFBJTkcgRk9SIHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIzIFNFUlZFUiB0ZXN0X3NlcnZl cjI7CitSRVNFVCBTRVNTSU9OIEFVVEhPUklaQVRJT047CitSRVZPS0UgVVNBR0UgT04gRk9SRUlH TiBTRVJWRVIgdGVzdF9zZXJ2ZXIyIEZST00gcmVncmVzc19zdWJzY3JpcHRpb25fdXNlcjM7CitT RVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIzOworCist LSBvaywgc2hvdWxkIG5vdCBuZWVkIHRvIHJlc29sdmUgY29ubmluZm8gZm9yIHRoZSBjdXJyZW50 IGJyb2tlbiBzZXJ2ZXIKK0FMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWI2IENPTk5F Q1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdDIgcGFzc3dvcmQ9c2VjcmV0JzsKK1JF U0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTjsKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVn cmVzc19zdWJzY3JpcHRpb25fdXNlcjM7CisKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rl c3RzdWI2IFNFVCAoc2xvdF9uYW1lID0gTk9ORSk7CiBEUk9QIFNVQlNDUklQVElPTiByZWdyZXNz X3Rlc3RzdWI2OwogCiBTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3Nfc3Vic2NyaXB0 aW9uX3VzZXI7CiBSRVZPS0UgQ1JFQVRFIE9OIERBVEFCQVNFIFJFR1JFU1NJT04gRlJPTSByZWdy ZXNzX3N1YnNjcmlwdGlvbl91c2VyMzsKIAorRFJPUCBTRVJWRVIgdGVzdF9zZXJ2ZXIyOwogRFJP UCBTRVJWRVIgdGVzdF9zZXJ2ZXI7CiAKIC0tIGZhaWwsIEZEVyBpcyBkZXBlbmRlbnQKLS0gCjIu NDMuMAoK --=-M2M1qg738oicMsoKaC4s Content-Disposition: attachment; filename="v4-0002-Avoid-errors-during-DROP-SUBSCRIPTION.patch" Content-Type: text/x-patch; name="v4-0002-Avoid-errors-during-DROP-SUBSCRIPTION.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSAzOWIyYTEzZWU3OTA0MjU2ZmMxMDBhMGY5MjEwNGMwNTYzODY3MTJlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBG cmksIDggTWF5IDIwMjYgMTc6MTY6NTAgLTA3MDAKU3ViamVjdDogW1BBVENIIHY0IDIvMl0gQXZv aWQgZXJyb3JzIGR1cmluZyBEUk9QIFNVQlNDUklQVElPTi4KClByZXZpb3VzbHksIGFuIGVycm9y IGR1cmluZyBGb3JlaWduU2VydmVyQ29ubmVjdGlvblN0cmluZygpIGNvdWxkCnByZXZlbnQgYSBz dWJzY3JpcHRpb24gZnJvbSBiZWluZyBkcm9wcGVkLCBldmVuIGlmIHNsb3RfbmFtZSB3YXMKTlVM TC4gQUNMIGNoZWNrIGVycm9ycyB3ZXJlIGhhbmRsZWQsIGJ1dCBub3Qgb3RoZXIgZXJyb3JzLCBz dWNoIGFzIGEKZHJvcHBlZCB1c2VyIG1hcHBpbmcuCgpDaGFuZ2UgdG8gb25seSBjb25zdHJ1Y3Qg Y29ubmluZm8gaWYgc2xvdG5hbWUgaXMgZGVmaW5lZC4gRXJyb3JzCihhc2lkZSBmcm9tIEFDTCBj aGVjayBmYWlsdXJlcykgd2lsbCBub3QgYmVuZWZpdCBmcm9tIHRoZSBtb3JlIGhlbHBmdWwKUmVw b3J0U2xvdENvbm5lY3Rpb25FcnJvcigpLCBidXQgYXQgbGVhc3QgdGhleSB3aWxsIG5vdCBpbnRl cmZlcmUgd2l0aAphIHVzZXIgZml4aW5nIHRoZSBwcm9ibGVtLgoKUmVwb3J0ZWQtYnk6IEhheWF0 byBLdXJvZGEgKEZ1aml0c3UpIDxrdXJvZGEuaGF5YXRvQGZ1aml0c3UuY29tPgpEaXNjdXNzaW9u OiBodHRwczovL3Bvc3Rnci5lcy9tL09TOVBSMDFNQjEyMTQ5QjU0REVBMTQ4MTA4QzZGQTU2NjdG NTJEMkBPUzlQUjAxTUIxMjE0OS5qcG5wcmQwMS5wcm9kLm91dGxvb2suY29tCi0tLQogc3JjL2Jh Y2tlbmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jIHwgNzEgKysrKysrKysrKysrKy0tLS0t LS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDM0IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuYyBi L3NyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuYwppbmRleCAyMWIyNzk5MWQz Yy4uNDk4YTEwMjIwMGUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlw dGlvbmNtZHMuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9zdWJzY3JpcHRpb25jbWRzLmMK QEAgLTIxOTMsNyArMjE5Myw3IEBAIERyb3BTdWJzY3JpcHRpb24oRHJvcFN1YnNjcmlwdGlvblN0 bXQgKnN0bXQsIGJvb2wgaXNUb3BMZXZlbCkKIAlEYXR1bQkJZGF0dW07CiAJYm9vbAkJaXNudWxs OwogCWNoYXIJICAgKnN1Ym5hbWU7Ci0JY2hhcgkgICAqY29ubmluZm87CisJY2hhcgkgICAqY29u bmluZm8gPSBOVUxMOwogCWNoYXIJICAgKnNsb3RuYW1lOwogCUxpc3QJICAgKnN1YndvcmtlcnM7 CiAJTGlzdENlbGwgICAqbGM7CkBAIC0yMjU2LDM5ICsyMjU2LDYgQEAgRHJvcFN1YnNjcmlwdGlv bihEcm9wU3Vic2NyaXB0aW9uU3RtdCAqc3RtdCwgYm9vbCBpc1RvcExldmVsKQogCQkJCQkJCQkg ICBBbnVtX3BnX3N1YnNjcmlwdGlvbl9zdWJuYW1lKTsKIAlzdWJuYW1lID0gcHN0cmR1cChOYW1l U3RyKCpEYXR1bUdldE5hbWUoZGF0dW0pKSk7CiAKLQkvKiBHZXQgY29ubmluZm8gKi8KLQlpZiAo T2lkSXNWYWxpZChmb3JtLT5zdWJzZXJ2ZXIpKQotCXsKLQkJQWNsUmVzdWx0CWFjbHJlc3VsdDsK LQkJRm9yZWlnblNlcnZlciAqc2VydmVyOwotCi0JCXNlcnZlciA9IEdldEZvcmVpZ25TZXJ2ZXIo Zm9ybS0+c3Vic2VydmVyKTsKLQkJYWNscmVzdWx0ID0gb2JqZWN0X2FjbGNoZWNrKEZvcmVpZ25T ZXJ2ZXJSZWxhdGlvbklkLCBmb3JtLT5zdWJzZXJ2ZXIsCi0JCQkJCQkJCQlmb3JtLT5zdWJvd25l ciwgQUNMX1VTQUdFKTsKLQkJaWYgKGFjbHJlc3VsdCAhPSBBQ0xDSEVDS19PSykKLQkJewotCQkJ LyoKLQkJCSAqIFVuYWJsZSB0byBnZW5lcmF0ZSBjb25uZWN0aW9uIHN0cmluZyBiZWNhdXNlIHBl cm1pc3Npb25zIG9uIHRoZQotCQkJICogZm9yZWlnbiBzZXJ2ZXIgaGF2ZSBiZWVuIHJlbW92ZWQu IEZvbGxvdyB0aGUgc2FtZSBsb2dpYyBhcyBhbgotCQkJICogdW51c2FibGUgc3ViY29ubmluZm8g KHdoaWNoIHdpbGwgcmVzdWx0IGluIGFuIEVSUk9SIGxhdGVyCi0JCQkgKiB1bmxlc3Mgc2xvdF9u YW1lID0gTk9ORSkuCi0JCQkgKi8KLQkJCWVyciA9IHBzcHJpbnRmKF8oInN1YnNjcmlwdGlvbiBv d25lciBcIiVzXCIgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIG9uIGZvcmVpZ24gc2VydmVyIFwi JXNcIiIpLAotCQkJCQkJICAgR2V0VXNlck5hbWVGcm9tSWQoZm9ybS0+c3Vib3duZXIsIGZhbHNl KSwKLQkJCQkJCSAgIHNlcnZlci0+c2VydmVybmFtZSk7Ci0JCQljb25uaW5mbyA9IE5VTEw7Ci0J CX0KLQkJZWxzZQotCQkJY29ubmluZm8gPSBGb3JlaWduU2VydmVyQ29ubmVjdGlvblN0cmluZyhm b3JtLT5zdWJvd25lciwKLQkJCQkJCQkJCQkJCQkgc2VydmVyKTsKLQl9Ci0JZWxzZQotCXsKLQkJ ZGF0dW0gPSBTeXNDYWNoZUdldEF0dHJOb3ROdWxsKFNVQlNDUklQVElPTk9JRCwgdHVwLAotCQkJ CQkJCQkJICAgQW51bV9wZ19zdWJzY3JpcHRpb25fc3ViY29ubmluZm8pOwotCQljb25uaW5mbyA9 IFRleHREYXR1bUdldENTdHJpbmcoZGF0dW0pOwotCX0KLQogCS8qIEdldCBzbG90bmFtZSAqLwog CWRhdHVtID0gU3lzQ2FjaGVHZXRBdHRyKFNVQlNDUklQVElPTk9JRCwgdHVwLAogCQkJCQkJCUFu dW1fcGdfc3Vic2NyaXB0aW9uX3N1YnNsb3RuYW1lLCAmaXNudWxsKTsKQEAgLTIyOTcsNiArMjI2 NCw0MiBAQCBEcm9wU3Vic2NyaXB0aW9uKERyb3BTdWJzY3JpcHRpb25TdG10ICpzdG10LCBib29s IGlzVG9wTGV2ZWwpCiAJZWxzZQogCQlzbG90bmFtZSA9IE5VTEw7CiAKKwkvKiBjb25uaW5mbyBv bmx5IG5lZWRlZCBpZiBzbG90bmFtZSBpcyB2YWxpZCAqLworCWlmIChzbG90bmFtZSkKKwl7CisJ CWlmIChPaWRJc1ZhbGlkKGZvcm0tPnN1YnNlcnZlcikpCisJCXsKKwkJCUFjbFJlc3VsdAlhY2xy ZXN1bHQ7CisJCQlGb3JlaWduU2VydmVyICpzZXJ2ZXI7CisKKwkJCXNlcnZlciA9IEdldEZvcmVp Z25TZXJ2ZXIoZm9ybS0+c3Vic2VydmVyKTsKKwkJCWFjbHJlc3VsdCA9IG9iamVjdF9hY2xjaGVj ayhGb3JlaWduU2VydmVyUmVsYXRpb25JZCwgZm9ybS0+c3Vic2VydmVyLAorCQkJCQkJCQkJCWZv cm0tPnN1Ym93bmVyLCBBQ0xfVVNBR0UpOworCQkJaWYgKGFjbHJlc3VsdCAhPSBBQ0xDSEVDS19P SykKKwkJCXsKKwkJCQkvKgorCQkJCSAqIFVuYWJsZSB0byBnZW5lcmF0ZSBjb25uZWN0aW9uIHN0 cmluZyBiZWNhdXNlIHBlcm1pc3Npb25zIG9uCisJCQkJICogdGhlIGZvcmVpZ24gc2VydmVyIGhh dmUgYmVlbiByZW1vdmVkLiBGb2xsb3cgdGhlIHNhbWUgbG9naWMKKwkJCQkgKiBhcyBhbiB1bnVz YWJsZSBzdWJjb25uaW5mbyBhbmQgUmVwb3J0U2xvdENvbm5lY3Rpb25FcnJvcigpCisJCQkJICog Zm9yIGEgbW9yZSBoZWxwZnVsIGVycm9yLgorCQkJCSAqLworCQkJCWVyciA9IHBzcHJpbnRmKF8o InN1YnNjcmlwdGlvbiBvd25lciBcIiVzXCIgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIG9uIGZv cmVpZ24gc2VydmVyIFwiJXNcIiIpLAorCQkJCQkJCSAgIEdldFVzZXJOYW1lRnJvbUlkKGZvcm0t PnN1Ym93bmVyLCBmYWxzZSksCisJCQkJCQkJICAgc2VydmVyLT5zZXJ2ZXJuYW1lKTsKKwkJCQlj b25uaW5mbyA9IE5VTEw7CisJCQl9CisJCQllbHNlCisJCQkJY29ubmluZm8gPSBGb3JlaWduU2Vy dmVyQ29ubmVjdGlvblN0cmluZyhmb3JtLT5zdWJvd25lciwKKwkJCQkJCQkJCQkJCQkJIHNlcnZl cik7CisJCX0KKwkJZWxzZQorCQl7CisJCQlkYXR1bSA9IFN5c0NhY2hlR2V0QXR0ck5vdE51bGwo U1VCU0NSSVBUSU9OT0lELCB0dXAsCisJCQkJCQkJCQkJICAgQW51bV9wZ19zdWJzY3JpcHRpb25f c3ViY29ubmluZm8pOworCQkJY29ubmluZm8gPSBUZXh0RGF0dW1HZXRDU3RyaW5nKGRhdHVtKTsK KwkJfQorCX0KKwogCS8qCiAJICogU2luY2UgZHJvcHBpbmcgYSByZXBsaWNhdGlvbiBzbG90IGlz IG5vdCB0cmFuc2FjdGlvbmFsLCB0aGUgcmVwbGljYXRpb24KIAkgKiBzbG90IHN0YXlzIGRyb3Bw ZWQgZXZlbiBpZiB0aGUgdHJhbnNhY3Rpb24gcm9sbHMgYmFjay4gIFNvIHdlIGNhbm5vdAotLSAK Mi40My4wCgo= --=-M2M1qg738oicMsoKaC4s--