Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pfY3T-0007v4-8j for pgsql-hackers@arkaria.postgresql.org; Fri, 24 Mar 2023 03:25:27 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pfY3R-0003Wm-VC for pgsql-hackers@arkaria.postgresql.org; Fri, 24 Mar 2023 03:25:25 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pfY3R-0003Wc-Bs for pgsql-hackers@lists.postgresql.org; Fri, 24 Mar 2023 03:25:25 +0000 Received: from mail-lf1-x12f.google.com ([2a00:1450:4864:20::12f]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1pfY3O-0006ca-CI for pgsql-hackers@lists.postgresql.org; Fri, 24 Mar 2023 03:25:24 +0000 Received: by mail-lf1-x12f.google.com with SMTP id br6so498639lfb.11 for ; Thu, 23 Mar 2023 20:25:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1679628320; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=chkpkVYZ9fzfNTId0jc8q8bSf5v7HMD5nodebYZWIoo=; b=kPJtHdWE0c0ntmHOl6qhvDx57RqywtXzM3wKVenANg/SJZsQ+/ggRnCeGAIQb3ph/3 WhAdNM7G4oMmYsTQOQ1dq/BFDPstfMFujQhwwNaNAQVPXdeXXpz1SZ8o3ZQwjHHjk/y5 5pricU6rMhvwUcHjHVfxejp1oWMZ2NegYk7xwLSrtY1AA2yyMNJqd3p5t3zHye5Ernfs ktOzwW4eaH5dazQxZvfmaBOdwZWUDAkQxW085z2QkrLpQFpPkGgq4L9yssCTxASzFC3I bE3gAAvowJAkKk3ECrZDhpnjcNnDIApra4aeWXJ1APEZKt4VYUV0C6V8DUrAbkTVP4y6 d1wg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679628320; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=chkpkVYZ9fzfNTId0jc8q8bSf5v7HMD5nodebYZWIoo=; b=SzwepXPVwXLbL3MJmV2gNG+n7zBDRbCkdGT7zOKoF7AnWQlUeJgeUYWzuP+p8RkHmn 2D9YX4gRuBegTPf0WE8dExjCFCywEexjf9JIfzhJFt/exWNxAwYN8AkE6HL8/SP9ySSL TX6/CnIptN/4fQ5eJxakYOZEdZDfj2Eks+ZP0nl8FRPRjun23apJayHz+V+ZCoLG7FxI Vlb3p0EMGCkrVVPQ6uqmGdgpEqZj7alrCFZMOJBj1TcmxRKs+RakxhJG4x6HFlqUVY6F QIsj1Jdhk7H/77s6pwqkb4PnXutQ3gW/XaYMlZV+FQbGyHiw+C31PLiFnKXchk5vd9ey jQhg== X-Gm-Message-State: AAQBX9flrazeImExZFCS6faFEPKYl+hDL5KwuHeYbKaH+AsB/h/oAU2H 7/IKVI9jw+LJ7Nvf8cKEt8N/8Vsjugiqjsclz24= X-Google-Smtp-Source: AKy350YckfYMS4VHoPuNxX0oR6FmZd4V+cwRN9fDqdaTM2p/LcF9Ts/mUkVwEcvRwM5Hlta1P5YjmXdGW9s2+huS+Lw= X-Received: by 2002:a19:5518:0:b0:4dd:a9e5:aa09 with SMTP id n24-20020a195518000000b004dda9e5aa09mr293838lfe.11.1679628320013; Thu, 23 Mar 2023 20:25:20 -0700 (PDT) MIME-Version: 1.0 References: <20230323100726.vzrgvpjt3il7uemq@alvherre.pgsql> In-Reply-To: From: Bharath Rupireddy Date: Fri, 24 Mar 2023 08:55:07 +0530 Message-ID: Subject: Re: add log messages when replication slots become active and inactive (was Re: Is it worth adding ReplicationSlot active_pid to ReplicationSlotPersistentData?) To: Euler Taveira Cc: Alvaro Herrera , Amit Kapila , Kyotaro Horiguchi , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="0000000000005efdd805f79cf170" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000005efdd805f79cf170 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, Mar 24, 2023 at 3:11=E2=80=AFAM Euler Taveira w= rote: > > If you are adding separate functions as suggested, you should add a comme= nt at > the top of ReplicationSlotAcquire() and ReplicationSlotRelease() function= s > saying that LogReplicationSlotAquired() and LogReplicationSlotReleased() > functions should be called respectively after it. Done. > My suggestion is that the functions should have the same name with a "Log= " > prefix. On of them has a typo "Aquired" in its name. Hence, > LogReplicationSlotAcquire() and LogReplicationSlotRelease() as names. It = is > easier to find if someone is grepping by the origin function. Done. > I prefer a sentence that includes a verb. > > physical replication slot \"%s\" is acquired > logical replication slot \"%s\" is released Hm, changed for now. But I'll leave it to the committer's discretion. > Isn't the PID important for this use case? If so, of course, you can rely= on > log_line_prefix (%p) but if the PID is crucial for an investigation then = it > should also be included in the message. On Fri, Mar 24, 2023 at 3:10=E2=80=AFAM Peter Smith = wrote: > > Patch v8 applied OK, and builds/renders the HTML docs OK, and passes > the regression and subscription TAP tests OK. > > Here are some minor comments: > > 1. > + ereport(log_replication_commands ? LOG : DEBUG3, > + (errmsg("acquired physical replication slot \"%s\"", > + slotname))); > > AFAIK those extra parentheses wrapping the "errmsg" part are not necessar= y. Done > 2. > extern void LogReplicationSlotAquired(bool is_physical, char *slotname); > extern void LogReplicationSlotReleased(bool is_physical, char *slotname); > > The "char *slotname" params of those helper functions should probably > be declared and defined as "const char *slotname". Done. > Otherwise, from a code review perspective the patch v8 LGTM. Thanks. Please have a look at the v9 patch. -- Bharath Rupireddy PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com --0000000000005efdd805f79cf170 Content-Type: application/octet-stream; name="v9-0001-Add-LOG-messages-when-replication-slots-become-ac.patch" Content-Disposition: attachment; filename="v9-0001-Add-LOG-messages-when-replication-slots-become-ac.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lflzbj270 RnJvbSA0NGQ2YTg1MjhlMjJlNTg4MjMxOWQxMzA4Yzc0OTQ2Yjk1OTIyYmZkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBCaGFyYXRoIFJ1cGlyZWRkeSA8YmhhcmF0aC5ydXBpcmVkZHlm b3Jwb3N0Z3Jlc0BnbWFpbC5jb20+CkRhdGU6IEZyaSwgMjQgTWFyIDIwMjMgMDM6MjM6MTUgKzAw MDAKU3ViamVjdDogW1BBVENIIHY5XSBBZGQgTE9HIG1lc3NhZ2VzIHdoZW4gcmVwbGljYXRpb24g c2xvdHMgYmVjb21lIGFjdGl2ZSBhbmQKIGluYWN0aXZlCgpUaGVzZSBsb2dzIHdpbGwgYmUgZXh0 cmVtZWx5IHVzZWZ1bCBvbiBwcm9kdWN0aW9uIHNlcnZlcnMgdG8gZGVidWcKYW5kIGFuYWx5emUg aW5hY3RpdmUgcmVwbGljYXRpb24gc2xvdCBpc3N1ZXMuCi0tLQogZG9jL3NyYy9zZ21sL2NvbmZp Zy5zZ21sICAgICAgICAgICAgfCAgNyArKystLQogc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vc2xv dC5jICAgICAgfCA0OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogc3JjL2JhY2tlbmQv cmVwbGljYXRpb24vd2Fsc2VuZGVyLmMgfCAxNSArKysrKysrKysKIHNyYy9iYWNrZW5kL3V0aWxz L21pc2MvZ3VjX3RhYmxlcy5jIHwgIDIgKy0KIHNyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL3Nsb3Qu aCAgICAgIHwgIDIgKysKIDUgZmlsZXMgY2hhbmdlZCwgNzEgaW5zZXJ0aW9ucygrKSwgNCBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvY29uZmlnLnNnbWwgYi9kb2Mvc3Jj L3NnbWwvY29uZmlnLnNnbWwKaW5kZXggNDgxZjkzY2VhMS4uZjliMGQzYzlhOSAxMDA2NDQKLS0t IGEvZG9jL3NyYy9zZ21sL2NvbmZpZy5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9jb25maWcuc2dt bApAQCAtNzU5Myw5ICs3NTkzLDEwIEBAIGxvZ19saW5lX3ByZWZpeCA9ICclbSBbJXBdICVxJXVA JWQvJWEgJwogICAgICAgPC90ZXJtPgogICAgICAgPGxpc3RpdGVtPgogICAgICAgIDxwYXJhPgot ICAgICAgICBDYXVzZXMgZWFjaCByZXBsaWNhdGlvbiBjb21tYW5kIHRvIGJlIGxvZ2dlZCBpbiB0 aGUgc2VydmVyIGxvZy4KLSAgICAgICAgU2VlIDx4cmVmIGxpbmtlbmQ9InByb3RvY29sLXJlcGxp Y2F0aW9uIi8+IGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0Ci0gICAgICAgIHJlcGxpY2F0aW9u IGNvbW1hbmQuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDxsaXRlcmFsPm9mZjwvbGl0ZXJhbD4uCisg ICAgICAgIENhdXNlcyBlYWNoIHJlcGxpY2F0aW9uIGNvbW1hbmQgYW5kIHJlbGF0ZWQgYWN0aXZp dHkgdG8gYmUgbG9nZ2VkIGluCisgICAgICAgIHRoZSBzZXJ2ZXIgbG9nLiBTZWUgPHhyZWYgbGlu a2VuZD0icHJvdG9jb2wtcmVwbGljYXRpb24iLz4gZm9yIG1vcmUKKyAgICAgICAgaW5mb3JtYXRp b24gYWJvdXQgcmVwbGljYXRpb24gY29tbWFuZC4gVGhlIGRlZmF1bHQgdmFsdWUgaXMKKyAgICAg ICAgPGxpdGVyYWw+b2ZmPC9saXRlcmFsPi4KICAgICAgICAgT25seSBzdXBlcnVzZXJzIGFuZCB1 c2VycyB3aXRoIHRoZSBhcHByb3ByaWF0ZSA8bGl0ZXJhbD5TRVQ8L2xpdGVyYWw+CiAgICAgICAg IHByaXZpbGVnZSBjYW4gY2hhbmdlIHRoaXMgc2V0dGluZy4KICAgICAgICA8L3BhcmE+CmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9zbG90LmMgYi9zcmMvYmFja2VuZC9yZXBs aWNhdGlvbi9zbG90LmMKaW5kZXggMjI5M2MwYzZmYy4uM2UzNjNlYWFkOCAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvcmVwbGljYXRpb24vc2xvdC5jCisrKyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0 aW9uL3Nsb3QuYwpAQCAtMTgwLDcgKzE4MCwxNCBAQCBSZXBsaWNhdGlvblNsb3RTaG1lbUV4aXQo aW50IGNvZGUsIERhdHVtIGFyZykKIHsKIAkvKiBNYWtlIHN1cmUgYWN0aXZlIHJlcGxpY2F0aW9u IHNsb3RzIGFyZSByZWxlYXNlZCAqLwogCWlmIChNeVJlcGxpY2F0aW9uU2xvdCAhPSBOVUxMKQor CXsKKwkJY2hhciAqc2xvdG5hbWU7CisKKwkJc2xvdG5hbWUgPSBwc3RyZHVwKE5hbWVTdHIoTXlS ZXBsaWNhdGlvblNsb3QtPmRhdGEubmFtZSkpOwogCQlSZXBsaWNhdGlvblNsb3RSZWxlYXNlKCk7 CisJCUxvZ1JlcGxpY2F0aW9uU2xvdFJlbGVhc2UoU2xvdElzUGh5c2ljYWwoTXlSZXBsaWNhdGlv blNsb3QpLCBzbG90bmFtZSk7CisJCXBmcmVlKHNsb3RuYW1lKTsKKwl9CiAKIAkvKiBBbHNvIGNs ZWFudXAgYWxsIHRoZSB0ZW1wb3Jhcnkgc2xvdHMuICovCiAJUmVwbGljYXRpb25TbG90Q2xlYW51 cCgpOwpAQCAtNDQ1LDYgKzQ1Miw5IEBAIFJlcGxpY2F0aW9uU2xvdE5hbWUoaW50IGluZGV4LCBO YW1lIG5hbWUpCiAgKgogICogQW4gZXJyb3IgaXMgcmFpc2VkIGlmIG5vd2FpdCBpcyB0cnVlIGFu ZCB0aGUgc2xvdCBpcyBjdXJyZW50bHkgaW4gdXNlLiBJZgogICogbm93YWl0IGlzIGZhbHNlLCB3 ZSBzbGVlcCB1bnRpbCB0aGUgc2xvdCBpcyByZWxlYXNlZCBieSB0aGUgb3duaW5nIHByb2Nlc3Mu CisgKgorICogTm90ZTogdXNlIExvZ1JlcGxpY2F0aW9uU2xvdEFjcXVpcmUoKSBpZiBuZWVkZWQs IHRvIGxvZyBhIG1lc3NhZ2UgYWZ0ZXIKKyAqIGFjcXVpcmluZyB0aGUgcmVwbGljYXRpb24gc2xv dC4KICAqLwogdm9pZAogUmVwbGljYXRpb25TbG90QWNxdWlyZShjb25zdCBjaGFyICpuYW1lLCBi b29sIG5vd2FpdCkKQEAgLTU0Miw2ICs1NTIsOSBAQCByZXRyeToKICAqCiAgKiBUaGlzIG9yIGFu b3RoZXIgYmFja2VuZCBjYW4gcmUtYWNxdWlyZSB0aGUgc2xvdCBsYXRlci4KICAqIFJlc291cmNl cyB0aGlzIHNsb3QgcmVxdWlyZXMgd2lsbCBiZSBwcmVzZXJ2ZWQuCisgKgorICogTm90ZTogdXNl IExvZ1JlcGxpY2F0aW9uU2xvdFJlbGVhc2UoKSBpZiBuZWVkZWQsIHRvIGxvZyBhIG1lc3NhZ2Ug YWZ0ZXIKKyAqIHJlbGVhc2luZyB0aGUgcmVwbGljYXRpb24gc2xvdC4KICAqLwogdm9pZAogUmVw bGljYXRpb25TbG90UmVsZWFzZSh2b2lkKQpAQCAtNTk2LDYgKzYwOSw0MiBAQCBSZXBsaWNhdGlv blNsb3RSZWxlYXNlKHZvaWQpCiAJTFdMb2NrUmVsZWFzZShQcm9jQXJyYXlMb2NrKTsKIH0KIAor LyoKKyAqIEhlbHBlciBmdW5jdGlvbiB0byBsb2cgYSBtZXNzYWdlIGFmdGVyIHJlcGxpY2F0aW9u IHNsb3QgYWNxdWlzaXRpb24uCisgKi8KK3ZvaWQKK0xvZ1JlcGxpY2F0aW9uU2xvdEFjcXVpcmUo Ym9vbCBpc19waHlzaWNhbCwgY29uc3QgY2hhciAqc2xvdG5hbWUpCit7CisJQXNzZXJ0KE15UmVw bGljYXRpb25TbG90ICE9IE5VTEwpOworCisJaWYgKGlzX3BoeXNpY2FsKQorCQllcmVwb3J0KGxv Z19yZXBsaWNhdGlvbl9jb21tYW5kcyA/IExPRyA6IERFQlVHMywKKwkJCQllcnJtc2coInBoeXNp Y2FsIHJlcGxpY2F0aW9uIHNsb3QgXCIlc1wiIGlzIGFjcXVpcmVkIiwKKwkJCQkJICAgc2xvdG5h bWUpKTsKKwllbHNlCisJCWVyZXBvcnQobG9nX3JlcGxpY2F0aW9uX2NvbW1hbmRzID8gTE9HIDog REVCVUczLAorCQkJCWVycm1zZygibG9naWNhbCByZXBsaWNhdGlvbiBzbG90IFwiJXNcIiBpcyBh Y3F1aXJlZCIsCisJCQkJCQlzbG90bmFtZSkpOworfQorCisvKgorICogSGVscGVyIGZ1bmN0aW9u IHRvIGxvZyBhIG1lc3NhZ2UgYWZ0ZXIgcmVwbGljYXRpb24gc2xvdCByZWxlYXNlLgorICovCit2 b2lkCitMb2dSZXBsaWNhdGlvblNsb3RSZWxlYXNlKGJvb2wgaXNfcGh5c2ljYWwsIGNvbnN0IGNo YXIgKnNsb3RuYW1lKQoreworCUFzc2VydChNeVJlcGxpY2F0aW9uU2xvdCA9PSBOVUxMKTsKKwor CWlmIChpc19waHlzaWNhbCkKKwkJZXJlcG9ydChsb2dfcmVwbGljYXRpb25fY29tbWFuZHMgPyBM T0cgOiBERUJVRzMsCisJCQkJZXJybXNnKCJwaHlzaWNhbCByZXBsaWNhdGlvbiBzbG90IFwiJXNc IiBpcyByZWxlYXNlZCIsCisJCQkJCQlzbG90bmFtZSkpOworCWVsc2UKKwkJZXJlcG9ydChsb2df cmVwbGljYXRpb25fY29tbWFuZHMgPyBMT0cgOiBERUJVRzMsCisJCQkJZXJybXNnKCJsb2dpY2Fs IHJlcGxpY2F0aW9uIHNsb3QgXCIlc1wiIGlzIHJlbGVhc2VkIiwKKwkJCQkJCXNsb3RuYW1lKSk7 Cit9CisKIC8qCiAgKiBDbGVhbnVwIGFsbCB0ZW1wb3Jhcnkgc2xvdHMgY3JlYXRlZCBpbiBjdXJy ZW50IHNlc3Npb24uCiAgKi8KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3dh bHNlbmRlci5jIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vd2Fsc2VuZGVyLmMKaW5kZXggNzVl ODM2M2UyNC4uOTdlY2IwYjdkNSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24v d2Fsc2VuZGVyLmMKKysrIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vd2Fsc2VuZGVyLmMKQEAg LTMyMiw3ICszMjIsMTQgQEAgV2FsU25kRXJyb3JDbGVhbnVwKHZvaWQpCiAJCXdhbF9zZWdtZW50 X2Nsb3NlKHhsb2dyZWFkZXIpOwogCiAJaWYgKE15UmVwbGljYXRpb25TbG90ICE9IE5VTEwpCisJ eworCQljaGFyICpzbG90bmFtZTsKKworCQlzbG90bmFtZSA9IHBzdHJkdXAoTmFtZVN0cihNeVJl cGxpY2F0aW9uU2xvdC0+ZGF0YS5uYW1lKSk7CiAJCVJlcGxpY2F0aW9uU2xvdFJlbGVhc2UoKTsK KwkJTG9nUmVwbGljYXRpb25TbG90UmVsZWFzZShTbG90SXNQaHlzaWNhbChNeVJlcGxpY2F0aW9u U2xvdCksIHNsb3RuYW1lKTsKKwkJcGZyZWUoc2xvdG5hbWUpOworCX0KIAogCVJlcGxpY2F0aW9u U2xvdENsZWFudXAoKTsKIApAQCAtNzAzLDYgKzcxMCw4IEBAIFN0YXJ0UmVwbGljYXRpb24oU3Rh cnRSZXBsaWNhdGlvbkNtZCAqY21kKQogCQkJCQkoZXJyY29kZShFUlJDT0RFX09CSkVDVF9OT1Rf SU5fUFJFUkVRVUlTSVRFX1NUQVRFKSwKIAkJCQkJIGVycm1zZygiY2Fubm90IHVzZSBhIGxvZ2lj YWwgcmVwbGljYXRpb24gc2xvdCBmb3IgcGh5c2ljYWwgcmVwbGljYXRpb24iKSkpOwogCisJCUxv Z1JlcGxpY2F0aW9uU2xvdEFjcXVpcmUodHJ1ZSwgY21kLT5zbG90bmFtZSk7CisKIAkJLyoKIAkJ ICogV2UgZG9uJ3QgbmVlZCB0byB2ZXJpZnkgdGhlIHNsb3QncyByZXN0YXJ0X2xzbiBoZXJlOyBp bnN0ZWFkIHdlCiAJCSAqIHJlbHkgb24gdGhlIGNhbGxlciByZXF1ZXN0aW5nIHRoZSBzdGFydGlu ZyBwb2ludCB0byB1c2UuICBJZiB0aGUKQEAgLTg0Myw3ICs4NTIsMTAgQEAgU3RhcnRSZXBsaWNh dGlvbihTdGFydFJlcGxpY2F0aW9uQ21kICpjbWQpCiAJfQogCiAJaWYgKGNtZC0+c2xvdG5hbWUp CisJewogCQlSZXBsaWNhdGlvblNsb3RSZWxlYXNlKCk7CisJCUxvZ1JlcGxpY2F0aW9uU2xvdFJl bGVhc2UodHJ1ZSwgY21kLT5zbG90bmFtZSk7CisJfQogCiAJLyoKIAkgKiBDb3B5IGlzIGZpbmlz aGVkIG5vdy4gU2VuZCBhIHNpbmdsZS1yb3cgcmVzdWx0IHNldCBpbmRpY2F0aW5nIHRoZSBuZXh0 CkBAIC0xMjYwLDYgKzEyNzIsOCBAQCBTdGFydExvZ2ljYWxSZXBsaWNhdGlvbihTdGFydFJlcGxp Y2F0aW9uQ21kICpjbWQpCiAJCQkJCQljbWQtPnNsb3RuYW1lKSwKIAkJCQkgZXJyZGV0YWlsKCJU aGlzIHNsb3QgaGFzIGJlZW4gaW52YWxpZGF0ZWQgYmVjYXVzZSBpdCBleGNlZWRlZCB0aGUgbWF4 aW11bSByZXNlcnZlZCBzaXplLiIpKSk7CiAKKwlMb2dSZXBsaWNhdGlvblNsb3RBY3F1aXJlKGZh bHNlLCBjbWQtPnNsb3RuYW1lKTsKKwogCS8qCiAJICogRm9yY2UgYSBkaXNjb25uZWN0LCBzbyB0 aGF0IHRoZSBkZWNvZGluZyBjb2RlIGRvZXNuJ3QgbmVlZCB0byBjYXJlCiAJICogYWJvdXQgYW4g ZXZlbnR1YWwgc3dpdGNoIGZyb20gcnVubmluZyBpbiByZWNvdmVyeSwgdG8gcnVubmluZyBpbiBh CkBAIC0xMzIxLDYgKzEzMzUsNyBAQCBTdGFydExvZ2ljYWxSZXBsaWNhdGlvbihTdGFydFJlcGxp Y2F0aW9uQ21kICpjbWQpCiAKIAlGcmVlRGVjb2RpbmdDb250ZXh0KGxvZ2ljYWxfZGVjb2Rpbmdf Y3R4KTsKIAlSZXBsaWNhdGlvblNsb3RSZWxlYXNlKCk7CisJTG9nUmVwbGljYXRpb25TbG90UmVs ZWFzZShmYWxzZSwgY21kLT5zbG90bmFtZSk7CiAKIAlyZXBsaWNhdGlvbl9hY3RpdmUgPSBmYWxz ZTsKIAlpZiAoZ290X1NUT1BQSU5HKQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlz Yy9ndWNfdGFibGVzLmMgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190YWJsZXMuYwppbmRl eCAxYzA1ODNmZTI2Li5lYTQxY2NjN2UyIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9t aXNjL2d1Y190YWJsZXMuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190YWJsZXMu YwpAQCAtMTIwMyw3ICsxMjAzLDcgQEAgc3RydWN0IGNvbmZpZ19ib29sIENvbmZpZ3VyZU5hbWVz Qm9vbFtdID0KIAl9LAogCXsKIAkJeyJsb2dfcmVwbGljYXRpb25fY29tbWFuZHMiLCBQR0NfU1VT RVQsIExPR0dJTkdfV0hBVCwKLQkJCWdldHRleHRfbm9vcCgiTG9ncyBlYWNoIHJlcGxpY2F0aW9u IGNvbW1hbmQuIiksCisJCQlnZXR0ZXh0X25vb3AoIkxvZ3MgZWFjaCByZXBsaWNhdGlvbiBjb21t YW5kIGFuZCByZWxhdGVkIGFjdGl2aXR5LiIpLAogCQkJTlVMTAogCQl9LAogCQkmbG9nX3JlcGxp Y2F0aW9uX2NvbW1hbmRzLApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vc2xv dC5oIGIvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vc2xvdC5oCmluZGV4IDg4NzJjODBjZGYuLmQ1 ZmFmODkzNjggMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL3Nsb3QuaAorKysg Yi9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9zbG90LmgKQEAgLTIwMiw2ICsyMDIsOCBAQCBleHRl cm4gdm9pZCBSZXBsaWNhdGlvblNsb3REcm9wKGNvbnN0IGNoYXIgKm5hbWUsIGJvb2wgbm93YWl0 KTsKIAogZXh0ZXJuIHZvaWQgUmVwbGljYXRpb25TbG90QWNxdWlyZShjb25zdCBjaGFyICpuYW1l LCBib29sIG5vd2FpdCk7CiBleHRlcm4gdm9pZCBSZXBsaWNhdGlvblNsb3RSZWxlYXNlKHZvaWQp OworZXh0ZXJuIHZvaWQgTG9nUmVwbGljYXRpb25TbG90QWNxdWlyZShib29sIGlzX3BoeXNpY2Fs LCBjb25zdCBjaGFyICpzbG90bmFtZSk7CitleHRlcm4gdm9pZCBMb2dSZXBsaWNhdGlvblNsb3RS ZWxlYXNlKGJvb2wgaXNfcGh5c2ljYWwsIGNvbnN0IGNoYXIgKnNsb3RuYW1lKTsKIGV4dGVybiB2 b2lkIFJlcGxpY2F0aW9uU2xvdENsZWFudXAodm9pZCk7CiBleHRlcm4gdm9pZCBSZXBsaWNhdGlv blNsb3RTYXZlKHZvaWQpOwogZXh0ZXJuIHZvaWQgUmVwbGljYXRpb25TbG90TWFya0RpcnR5KHZv aWQpOwotLSAKMi4zNC4xCgo= --0000000000005efdd805f79cf170--