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.94.2) (envelope-from ) id 1tdoY1-009h2J-13 for pgsql-hackers@arkaria.postgresql.org; Fri, 31 Jan 2025 10:46:53 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tdoY0-00HMh4-4v for pgsql-hackers@arkaria.postgresql.org; Fri, 31 Jan 2025 10:46:52 +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.94.2) (envelope-from ) id 1tdoXz-00HMgc-Ja for pgsql-hackers@lists.postgresql.org; Fri, 31 Jan 2025 10:46:51 +0000 Received: from mail-qt1-x82e.google.com ([2607:f8b0:4864:20::82e]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1tdoXx-002Rv6-1C for pgsql-hackers@lists.postgresql.org; Fri, 31 Jan 2025 10:46:50 +0000 Received: by mail-qt1-x82e.google.com with SMTP id d75a77b69052e-4679ea3b13bso13488491cf.1 for ; Fri, 31 Jan 2025 02:46:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738320409; x=1738925209; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=zF2+ykd8CzlNxrMagHie2Sav1Ok0wjhYJeCsTlncz+4=; b=VgVLV6Er7IiRb7lNauVgjh2uYDgASgV9sk7CPjacWQ4pAUsAKg0gmF3v7jekpke7zk VkmN4YO5WT9PFWosnFZiaKxdGWyNut2Qqb559B8c++AhbTDTguq5dQBYBGujYyCxm12X 4ZnCinsalnRPTU9nus6WtaluKWWWe7CK3Ktv52wVFi4Pfxclnrtk6dmyeCzwRgOZFSDt GMugDVVQavdlDMaxFj5l6UsNbLPpGDzKk0vni1kA/sEyOVO/KQffGVPvvMBXDub7l23w EO1Pnkb9zubxswsljsWxSXnO+5j1HhWnWpPpXZXNAXzsoMfSWwa0Hn/Jbj8nMxd7ZVYh QBkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738320409; x=1738925209; 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=zF2+ykd8CzlNxrMagHie2Sav1Ok0wjhYJeCsTlncz+4=; b=W4j2xGodv6lzmyRmGpqgcEjm+bgxUVF//bAEaGeeOgLAJuNRjytzTZHlDgjt/oEo39 8p4PjNPpzKoufTRPxSe6joVScNa4Wx0H44Z8f0P/K1Xg7fs2IOJa8k8tgivncExPdymj +3aYR2F+XHIYQ2OvWsgU2KcKfYsz46Hi7bmqahaMtq14YuH6w3uAIawVVncBrArXIqE6 dgTsKhqYZgcWEZBCnvG1hxTGKBAme5bBpXoPc5KWWHZqGcBNumQrTrdxrGxIXgnXWiNM XyBvI8zFtSpwixdCckWzKLF+lFCel/u8JtJh2xd923Q9PWlcwK3DSu4+Bp284ERYNN+u 7Vog== X-Forwarded-Encrypted: i=1; AJvYcCWRiynJ54MO5KACQzDjh9Bm7i6i04ErzeTj4cBLtbvFotMMm5gA/eO712PMy3hMt3ZbFiRXqo00qQEmX+EP@lists.postgresql.org X-Gm-Message-State: AOJu0YyrbWBhZu3IQx8JGhSej5jDP/U/qfWSrK5KJUWDHDggwqH/GSis 1ACxnBEPamHsridG2w604vHYLUAatWvuUEuLDUYSKXOAeorVOr6ecc1CIa30cQZPROaYdZI0AEa Q0+PaT5qHC3lqLpjMGKgVvzMMpMA= X-Gm-Gg: ASbGncsjxN001UDZZLj+2O51lDBbdlSERpaNxQwrwmZvUlbM/VIHZfeYLEGOMSVDdev 8HgXR+mElYZMnUzIAjPOq//sRWi630INB/eW4HY6sgEYqtXPiiJt/uEfvXll2YIPGWFoc4CCXRh DfJJJHDLv4ng== X-Google-Smtp-Source: AGHT+IHhuB00HJuvEDERKF/kWTgs4ORn81VCPdbf8xinHTiDR7A3XfkhSfWba3Lsn8XSykWk/LDix0tyQD0eKfbfAB4= X-Received: by 2002:a05:6214:19c4:b0:6d8:8b9d:1502 with SMTP id 6a1803df08f44-6e243c648b9mr122401386d6.30.1738320408925; Fri, 31 Jan 2025 02:46:48 -0800 (PST) MIME-Version: 1.0 References: <94d53a41-d1f5-4fd1-8d1e-ff36ac569848@app.fastmail.com> <4DA5A159-39FD-47DB-95E5-A4F65BC5782A@yandex-team.ru> <53e96b5a-cc77-4afa-8103-79c69afef1a6@uni-muenster.de> <748a7ec0-9126-4f27-a2a7-e3e449d6fdd7@uni-muenster.de> <8a240667-de9e-455b-b3e2-62f34ec80154@uni-muenster.de> <3f1b817f-6e7a-4e01-bfc5-50ea3724225e@uni-muenster.de> In-Reply-To: From: Kirill Gavrilov Date: Fri, 31 Jan 2025 13:46:37 +0300 X-Gm-Features: AWEUYZn-nxrItJ8D3GjmmqqxK2oVubH2AdUsK5C4bOp3h-E4kck2llMBR6EtV44 Message-ID: Subject: Re: Truncate logs by max_log_size To: Jim Jones Cc: Kirill Reshke , "Andrey M. Borodin" , Euler Taveira , pgsql-hackers@lists.postgresql.org Content-Type: multipart/mixed; boundary="0000000000007b4725062cfe42d2" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000007b4725062cfe42d2 Content-Type: multipart/alternative; boundary="0000000000007b4723062cfe42d0" --0000000000007b4723062cfe42d0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Dec 2, 2024 at 1:09=E2=80=AFPM Jim Jones wrote: > > > On 29.11.24 21:57, Kirill Gavrilov wrote: > > Same thing applies to log_parameter_max_length, for example. > > > > postgres=3D# set log_parameter_max_length =3D '1foo'; > > ERROR: invalid value for parameter "log_parameter_max_length": "1foo" > > HINT: Valid units for this parameter are "B", "kB", "MB", "GB", and > "TB". > > postgres=3D# set log_parameter_max_length =3D '1TB'; > > ERROR: invalid value for parameter "log_parameter_max_length": "1TB" > > HINT: Value exceeds integer range. > > > > I think we can leave it as is. > > I see. So I guess it is out of scope to change this message here. > > Small nitpicks: > > 1) The indentation of the comment at postgresql.conf.sample is a little > bit off > > #max_log_size =3D 0 # max size of logged statement > # 0 disables the feature > > IMHO it looks better like this: > > #max_log_size =3D 0 # max size of logged statement > # 0 disables the feature > > > 2) You introduced a trailing whitespace at L34 (Not critical :)) > > + Zero disables the setting. > > It happens to me all the time, so I usually try to apply my patches in a > clean branch just to make sure I didn't miss anything. > > Other than that, I have nothing more to add at this point. > > Thanks > > -- > Jim > > Sorry for the long silence. I fixed the indentation and a trailing whitespace. Should look fine now. --0000000000007b4723062cfe42d0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Mon, Dec 2, 2024 at 1:09=E2=80=AFPM Ji= m Jones <jim.jones@uni-muen= ster.de> wrote:


On 29.11.24 21:57, Kirill Gavrilov wrote:
> Same thing applies to log_parameter_max_length, for example.
>
> postgres=3D# set log_parameter_max_length =3D '1foo';
> ERROR: =C2=A0invalid value for parameter "log_parameter_max_lengt= h": "1foo"
> HINT: =C2=A0Valid units for this parameter are "B", "kB= ", "MB", "GB", and "TB".
> postgres=3D# set log_parameter_max_length =3D '1TB';
> ERROR: =C2=A0invalid value for parameter "log_parameter_max_lengt= h": "1TB"
> HINT: =C2=A0Value exceeds integer range.=C2=A0
>
> I think we can leave it as is.

I see. So I guess it is out of scope to change this message here.

Small nitpicks:

1) The indentation of the comment at postgresql.conf.sample is a little
bit off

#max_log_size =3D 0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2= =A0 =C2=A0=C2=A0=C2=A0 # max size of logged statement
=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 # 0 disables the feature

IMHO it looks better like this:

#max_log_size =3D 0=C2=A0=C2=A0 # max size of logged statement
=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 # 0 disables the feature


2) You introduced a trailing whitespace at L34 (Not critical :))

+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Zero disables the setting.

It happens to me all the time, so I usually try to apply my patches in a clean branch just to make sure I didn't miss anything.

Other than that, I have nothing more to add at this point.

Thanks

--
Jim


Sorry for the long silence.=C2=A0 I fi= xed the indentation and a trailing whitespace. Should look fine now.
<= /div>
--0000000000007b4723062cfe42d0-- --0000000000007b4725062cfe42d2 Content-Type: application/octet-stream; name="V6-0001-parameter-max_log_size-to-truncate-logs.patch" Content-Disposition: attachment; filename="V6-0001-parameter-max_log_size-to-truncate-logs.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_m6kmno6u0 RnJvbSBhMDIwNTI5YjZhYzMzMzkzZTk5OTJlMjExODc2MmYyZjM5NzYyZDliIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBkaXBoYW50eG0gPGRpcGhhbnR4bUB5YW5kZXgtdGVhbS5ydT4K RGF0ZTogRnJpLCAzMSBKYW4gMjAyNSAxMzozMTo1MCArMDMwMApTdWJqZWN0OiBbUEFUQ0hdIHBh cmFtZXRlciBtYXhfbG9nX3NpemUgdG8gdHJ1bmNhdGUgbG9ncwoKVGhlcmUgaXMgbm8gbmVlZCB0 byBsb2cgdGhlIGVudGlyZSBxdWVyeSwgYmVjYXVzZSBpdCBtYXkgYmUgbGFyZ2UgYW5kIHRha2Ug bG90cyBvZiBzcGFjZSBvbiBkaXNrLiBQYXJhbWV0ZXIgbWF4X2xvZ19zaXplIHNldCB0aGUgbWF4 aW11bSBsZW5ndGggZm9yIGxvZ2dlZCBxdWVyeS4gRXZlcnl0aGluZyBiZXlvbmQgdGhhdCBsZW5n dGggaXMgdHJ1bmNhdGVkLiBWYWx1ZSAwIGRpc2FibGVzIHRoZSBwYXJhbWV0ZXIuCi0tLQogZG9j L3NyYy9zZ21sL2NvbmZpZy5zZ21sICAgICAgICAgICAgICAgICAgICAgIHwgMTYgKysrKysrKwog c3JjL2JhY2tlbmQvdGNvcC9wb3N0Z3Jlcy5jICAgICAgICAgICAgICAgICAgIHwgMTggKysrKysr LQogc3JjL2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jICAgICAgICAgICAgICAgIHwgNDcgKysr KysrKysrKysrKysrKysrKwogc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfdGFibGVzLmMgICAg ICAgICAgIHwgMTIgKysrKysKIHNyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9zdGdyZXNxbC5jb25m LnNhbXBsZSB8ICAyICsKIHNyYy9iaW4vcGdfY3RsL3QvMDA0X2xvZ3JvdGF0ZS5wbCAgICAgICAg ICAgICB8IDE1ICsrKysrKwogc3JjL2luY2x1ZGUvdXRpbHMvZWxvZy5oICAgICAgICAgICAgICAg ICAgICAgIHwgIDQgKysKIDcgZmlsZXMgY2hhbmdlZCwgMTEyIGluc2VydGlvbnMoKyksIDIgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2NvbmZpZy5zZ21sIGIvZG9jL3Ny Yy9zZ21sL2NvbmZpZy5zZ21sCmluZGV4IDc2YWI3MmRiOTYuLjg2ZGNlYmZlMzYgMTAwNjQ0Ci0t LSBhL2RvYy9zcmMvc2dtbC9jb25maWcuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvY29uZmlnLnNn bWwKQEAgLTc5MTMsNiArNzkxMywyMiBAQCBsb2dfbGluZV9wcmVmaXggPSAnJW0gWyVwXSAlcSV1 QCVkLyVhICcKICAgICAgIDwvbGlzdGl0ZW0+CiAgICAgIDwvdmFybGlzdGVudHJ5PgogCisgICAg IDx2YXJsaXN0ZW50cnkgaWQ9Imd1Yy1tYXgtbG9nLXNpemUiIHhyZWZsYWJlbD0ibWF4X2xvZ19z aXplIj4KKyAgICAgIDx0ZXJtPjx2YXJuYW1lPm1heF9sb2dfc2l6ZTwvdmFybmFtZT4gKDx0eXBl PmludGVnZXI8L3R5cGU+KQorICAgICAgPGluZGV4dGVybT4KKyAgICAgICA8cHJpbWFyeT48dmFy bmFtZT5tYXhfbG9nX3NpemU8L3Zhcm5hbWU+IGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVyPC9wcmlt YXJ5PgorICAgICAgPC9pbmRleHRlcm0+CisgICAgICA8L3Rlcm0+CisgICAgICA8bGlzdGl0ZW0+ CisgICAgICAgPHBhcmE+CisgICAgICAgIElmIGdyZWF0ZXIgdGhhbiB6ZXJvLCBlYWNoIHF1ZXJ5 IGxvZ2dlZCBpcyB0cnVuY2F0ZWQgdG8gdGhpcyBtYW55IGJ5dGVzLgorICAgICAgICBaZXJvIGRp c2FibGVzIHRoZSBzZXR0aW5nLgorICAgICAgICBJZiB0aGlzIHZhbHVlIGlzIHNwZWNpZmllZCB3 aXRob3V0IHVuaXRzLCBpdCBpcyB0YWtlbiBhcyBieXRlcy4KKyAgICAgICAgVGhpcyBmZWF0dXJl IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQuCisgICAgICAgPC9wYXJhPgorICAgICAgPC9saXN0aXRl bT4KKyAgICAgPC92YXJsaXN0ZW50cnk+CisKICAgICAgPC92YXJpYWJsZWxpc3Q+CiAgICAgPC9z ZWN0Mj4KICAgICAgPHNlY3QyIGlkPSJydW50aW1lLWNvbmZpZy1sb2dnaW5nLWNzdmxvZyI+CmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC90Y29wL3Bvc3RncmVzLmMgYi9zcmMvYmFja2VuZC90Y29w L3Bvc3RncmVzLmMKaW5kZXggNGI5ODViZDA1Ni4uMDMzZGU1ODYyYSAxMDA2NDQKLS0tIGEvc3Jj L2JhY2tlbmQvdGNvcC9wb3N0Z3Jlcy5jCisrKyBiL3NyYy9iYWNrZW5kL3Rjb3AvcG9zdGdyZXMu YwpAQCAtNzAsNiArNzAsNyBAQAogI2luY2x1ZGUgInRjb3AvcHF1ZXJ5LmgiCiAjaW5jbHVkZSAi dGNvcC90Y29wcHJvdC5oIgogI2luY2x1ZGUgInRjb3AvdXRpbGl0eS5oIgorI2luY2x1ZGUgInV0 aWxzL2Vsb2cuaCIKICNpbmNsdWRlICJ1dGlscy9ndWNfaG9va3MuaCIKICNpbmNsdWRlICJ1dGls cy9pbmplY3Rpb25fcG9pbnQuaCIKICNpbmNsdWRlICJ1dGlscy9sc3lzY2FjaGUuaCIKQEAgLTEw MjksMTEgKzEwMzAsMjIgQEAgZXhlY19zaW1wbGVfcXVlcnkoY29uc3QgY2hhciAqcXVlcnlfc3Ry aW5nKQogCWJvb2wJCXdhc19sb2dnZWQgPSBmYWxzZTsKIAlib29sCQl1c2VfaW1wbGljaXRfYmxv Y2s7CiAJY2hhcgkJbXNlY19zdHJbMzJdOworCWNoYXIqIAkJdHJ1bmNhdGVkX3F1ZXJ5ID0gTlVM TDsKKwljb25zdCBjaGFyKglxdWVyeV9sb2c7CiAKIAkvKgogCSAqIFJlcG9ydCBxdWVyeSB0byB2 YXJpb3VzIG1vbml0b3JpbmcgZmFjaWxpdGllcy4KIAkgKi8KIAlkZWJ1Z19xdWVyeV9zdHJpbmcg PSBxdWVyeV9zdHJpbmc7CisJaWYgKG5lZWRfdHJ1bmNhdGVfcXVlcnlfbG9nKHF1ZXJ5X3N0cmlu ZykpCisJeworCQl0cnVuY2F0ZWRfcXVlcnkgPSB0cnVuY2F0ZV9xdWVyeV9sb2cocXVlcnlfc3Ry aW5nKTsKKwkJcXVlcnlfbG9nID0gdHJ1bmNhdGVkX3F1ZXJ5OworCX0KKwllbHNlCisJeworCQlx dWVyeV9sb2cgPSBxdWVyeV9zdHJpbmc7CisJfQogCiAJcGdzdGF0X3JlcG9ydF9hY3Rpdml0eShT VEFURV9SVU5OSU5HLCBxdWVyeV9zdHJpbmcpOwogCkBAIC0xMDc4LDcgKzEwOTAsNyBAQCBleGVj X3NpbXBsZV9xdWVyeShjb25zdCBjaGFyICpxdWVyeV9zdHJpbmcpCiAJaWYgKGNoZWNrX2xvZ19z dGF0ZW1lbnQocGFyc2V0cmVlX2xpc3QpKQogCXsKIAkJZXJlcG9ydChMT0csCi0JCQkJKGVycm1z Zygic3RhdGVtZW50OiAlcyIsIHF1ZXJ5X3N0cmluZyksCisJCQkJKGVycm1zZygic3RhdGVtZW50 OiAlcyIsIHF1ZXJ5X2xvZyksCiAJCQkJIGVycmhpZGVzdG10KHRydWUpLAogCQkJCSBlcnJkZXRh aWxfZXhlY3V0ZShwYXJzZXRyZWVfbGlzdCkpKTsKIAkJd2FzX2xvZ2dlZCA9IHRydWU7CkBAIC0x Mzc3LDcgKzEzODksNyBAQCBleGVjX3NpbXBsZV9xdWVyeShjb25zdCBjaGFyICpxdWVyeV9zdHJp bmcpCiAJCWNhc2UgMjoKIAkJCWVyZXBvcnQoTE9HLAogCQkJCQkoZXJybXNnKCJkdXJhdGlvbjog JXMgbXMgIHN0YXRlbWVudDogJXMiLAotCQkJCQkJCW1zZWNfc3RyLCBxdWVyeV9zdHJpbmcpLAor CQkJCQkJCW1zZWNfc3RyLCBxdWVyeV9sb2cpLAogCQkJCQkgZXJyaGlkZXN0bXQodHJ1ZSksCiAJ CQkJCSBlcnJkZXRhaWxfZXhlY3V0ZShwYXJzZXRyZWVfbGlzdCkpKTsKIAkJCWJyZWFrOwpAQCAt MTM4OCw2ICsxNDAwLDggQEAgZXhlY19zaW1wbGVfcXVlcnkoY29uc3QgY2hhciAqcXVlcnlfc3Ry aW5nKQogCiAJVFJBQ0VfUE9TVEdSRVNRTF9RVUVSWV9ET05FKHF1ZXJ5X3N0cmluZyk7CiAKKwlp ZiAodHJ1bmNhdGVkX3F1ZXJ5KQorCQlwZnJlZSh0cnVuY2F0ZWRfcXVlcnkpOwogCWRlYnVnX3F1 ZXJ5X3N0cmluZyA9IE5VTEw7CiB9CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2Vy cm9yL2Vsb2cuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2Vycm9yL2Vsb2cuYwppbmRleCAyODkwNTk0 MzVhLi44YTEwNzE2NzdiIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9lcnJvci9lbG9n LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jCkBAIC0xMTEsNiArMTExLDcg QEAgaW50CQkJTG9nX2Rlc3RpbmF0aW9uID0gTE9HX0RFU1RJTkFUSU9OX1NUREVSUjsKIGNoYXIJ ICAgKkxvZ19kZXN0aW5hdGlvbl9zdHJpbmcgPSBOVUxMOwogYm9vbAkJc3lzbG9nX3NlcXVlbmNl X251bWJlcnMgPSB0cnVlOwogYm9vbAkJc3lzbG9nX3NwbGl0X21lc3NhZ2VzID0gdHJ1ZTsKK2lu dAkJCW1heF9sb2dfc2l6ZSA9IDA7CiAKIC8qIFByb2Nlc3NlZCBmb3JtIG9mIGJhY2t0cmFjZV9m dW5jdGlvbnMgR1VDICovCiBzdGF0aWMgY2hhciAqYmFja3RyYWNlX2Z1bmN0aW9uX2xpc3Q7CkBA IC0xNjg4LDExICsxNjg5LDE4IEBAIEVtaXRFcnJvclJlcG9ydCh2b2lkKQogewogCUVycm9yRGF0 YSAgKmVkYXRhID0gJmVycm9yZGF0YVtlcnJvcmRhdGFfc3RhY2tfZGVwdGhdOwogCU1lbW9yeUNv bnRleHQgb2xkY29udGV4dDsKKwljaGFyKiB0cnVuY2F0ZWRfcXVlcnkgPSBOVUxMOwogCiAJcmVj dXJzaW9uX2RlcHRoKys7CiAJQ0hFQ0tfU1RBQ0tfREVQVEgoKTsKIAlvbGRjb250ZXh0ID0gTWVt b3J5Q29udGV4dFN3aXRjaFRvKGVkYXRhLT5hc3NvY19jb250ZXh0KTsKIAorCWlmIChuZWVkX3Ry dW5jYXRlX3F1ZXJ5X2xvZyhkZWJ1Z19xdWVyeV9zdHJpbmcpKQorCXsKKwkJdHJ1bmNhdGVkX3F1 ZXJ5ID0gdHJ1bmNhdGVfcXVlcnlfbG9nKGRlYnVnX3F1ZXJ5X3N0cmluZyk7CisJCWRlYnVnX3F1 ZXJ5X3N0cmluZyA9IHRydW5jYXRlZF9xdWVyeTsKKwl9CisKIAkvKgogCSAqIFJlc2V0IHRoZSBm b3JtYXR0ZWQgdGltZXN0YW1wIGZpZWxkcyBiZWZvcmUgZW1pdHRpbmcgYW55IGxvZ3MuICBUaGlz CiAJICogaW5jbHVkZXMgYWxsIHRoZSBsb2cgZGVzdGluYXRpb25zIGFuZCBlbWl0X2xvZ19ob29r LCBhcyB0aGUgbGF0dGVyCkBAIC0xNzMzLDYgKzE3NDEsOSBAQCBFbWl0RXJyb3JSZXBvcnQodm9p ZCkKIAogCU1lbW9yeUNvbnRleHRTd2l0Y2hUbyhvbGRjb250ZXh0KTsKIAlyZWN1cnNpb25fZGVw dGgtLTsKKworCWlmICh0cnVuY2F0ZWRfcXVlcnkpCisJCXBmcmVlKHRydW5jYXRlZF9xdWVyeSk7 CiB9CiAKIC8qCkBAIC0zNzczLDMgKzM3ODQsMzkgQEAgd3JpdGVfc3RkZXJyKGNvbnN0IGNoYXIg KmZtdCwuLi4pCiAjZW5kaWYKIAl2YV9lbmQoYXApOwogfQorCisvKgorICoJQXBwbHkgdHJ1bmNh dGlvbiB0byBidWlsZCBxdWVyeSB0aGF0IHdpbGwgYmUgbG9nZ2VkLgorICoKKyAqCUlmIHF1ZXJ5 IG5lZWRzIHRvIGJlIHRydW5jYXRlZCwgY29waWVkIHdpbGwgYmUgc2V0IHRvIHRydWUKKyAqCWFu ZCByZXR1cm5lZCBzdHJpbmcgbXVzdCBiZSBmcmVlZAorKi8KK2NoYXIqCit0cnVuY2F0ZV9xdWVy eV9sb2coY29uc3QgY2hhciogcXVlcnkpCit7CisJc2l6ZV90IHRydW5jYXRlZF9xdWVyeV9sZW47 CisJY2hhciogdHJ1bmNhdGRfcXVlcnk7CisJc2l6ZV90IHF1ZXJ5X2xlbjsKKworCWlmICghcXVl cnkpCisJCXJldHVybiBOVUxMOworCisJcXVlcnlfbGVuID0gc3RybGVuKHF1ZXJ5KTsKKwl0cnVu Y2F0ZWRfcXVlcnlfbGVuID0gcGdfbWJjbGlwbGVuKHF1ZXJ5LCBxdWVyeV9sZW4sIG1heF9sb2df c2l6ZSk7CisJdHJ1bmNhdGRfcXVlcnkgPSAoY2hhciAqKSBwYWxsb2ModHJ1bmNhdGVkX3F1ZXJ5 X2xlbisxKTsKKwltZW1jcHkodHJ1bmNhdGRfcXVlcnksIHF1ZXJ5LCB0cnVuY2F0ZWRfcXVlcnlf bGVuKTsKKwl0cnVuY2F0ZF9xdWVyeVt0cnVuY2F0ZWRfcXVlcnlfbGVuXSA9ICdcMCc7CisJcmV0 dXJuIHRydW5jYXRkX3F1ZXJ5OworfQorCisvKgorICoJQ2hlY2tzIGlmIHF1ZXJ5IHNob3VsZCBi ZSB0cnVuY2F0ZWQKKyAqCWFjY29yZGluZyB0byBtYXhfbG9nX3NpemUKKyovCitib29sCituZWVk X3RydW5jYXRlX3F1ZXJ5X2xvZyhjb25zdCBjaGFyKiBxdWVyeSkKK3sKKwlpZiAoIXF1ZXJ5KQor CQlyZXR1cm4gZmFsc2U7CisJcmV0dXJuICEobWF4X2xvZ19zaXplID09IDAgfHwgc3RybGVuKHF1 ZXJ5KSA8IG1heF9sb2dfc2l6ZSk7Cit9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9t aXNjL2d1Y190YWJsZXMuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jCmlu ZGV4IDk4NDVhYmQ2OTMuLjhhZDE4ZjdhNDcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxz L21pc2MvZ3VjX3RhYmxlcy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxl cy5jCkBAIC0zNzI0LDYgKzM3MjQsMTggQEAgc3RydWN0IGNvbmZpZ19pbnQgQ29uZmlndXJlTmFt ZXNJbnRbXSA9CiAJCU5VTEwsIE5VTEwsIE5VTEwKIAl9LAogCisJeworCQl7Im1heF9sb2dfc2l6 ZSIsIFBHQ19TVVNFVCwgTE9HR0lOR19XSEFULAorCQkJZ2V0dGV4dF9ub29wKCJTZXRzIG1heCBz aXplIGluIGJ5dGVzIG9mIGxvZ2dlZCBzdGF0ZW1lbnQuIiksCisJCQlOVUxMLAorCQkJR1VDX1VO SVRfQllURQorCQl9LAorCQkmbWF4X2xvZ19zaXplLAorCQkwLAorCQkwLCBJTlRfTUFYLAorCQlO VUxMLCBOVUxMLCBOVUxMCisJfSwKKwogCS8qIEVuZC1vZi1saXN0IG1hcmtlciAqLwogCXsKIAkJ e05VTEwsIDAsIDAsIE5VTEwsIE5VTEx9LCBOVUxMLCAwLCAwLCAwLCBOVUxMLCBOVUxMLCBOVUxM CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9taXNjL3Bvc3RncmVzcWwuY29uZi5zYW1w bGUgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL3Bvc3RncmVzcWwuY29uZi5zYW1wbGUKaW5kZXgg NDA3Y2QxZTA4Yy4uODBhNDUzNDFkZiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlz Yy9wb3N0Z3Jlc3FsLmNvbmYuc2FtcGxlCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9z dGdyZXNxbC5jb25mLnNhbXBsZQpAQCAtNjE3LDYgKzYxNyw4IEBACiAJCQkJCSMgYmluZC1wYXJh bWV0ZXIgdmFsdWVzIHRvIE4gYnl0ZXM7CiAJCQkJCSMgLTEgbWVhbnMgcHJpbnQgaW4gZnVsbCwg MCBkaXNhYmxlcwogI2xvZ19zdGF0ZW1lbnQgPSAnbm9uZScJCQkjIG5vbmUsIGRkbCwgbW9kLCBh bGwKKyNtYXhfbG9nX3NpemUgPSAwIAkjIG1heCBzaXplIG9mIGxvZ2dlZCBzdGF0ZW1lbnQKKwkJ CQkgICAgIyAwIGRpc2FibGVzIHRoZSBmZWF0dXJlCiAjbG9nX3JlcGxpY2F0aW9uX2NvbW1hbmRz ID0gb2ZmCiAjbG9nX3RlbXBfZmlsZXMgPSAtMQkJCSMgbG9nIHRlbXBvcmFyeSBmaWxlcyBlcXVh bCBvciBsYXJnZXIKIAkJCQkJIyB0aGFuIHRoZSBzcGVjaWZpZWQgc2l6ZSBpbiBraWxvYnl0ZXM7 CmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX2N0bC90LzAwNF9sb2dyb3RhdGUucGwgYi9zcmMvYmlu L3BnX2N0bC90LzAwNF9sb2dyb3RhdGUucGwKaW5kZXggZWFjY2ExYTY1Mi4uMWMxZjg5Y2IwYSAx MDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19jdGwvdC8wMDRfbG9ncm90YXRlLnBsCisrKyBiL3NyYy9i aW4vcGdfY3RsL3QvMDA0X2xvZ3JvdGF0ZS5wbApAQCAtNjksNiArNjksNyBAQCBsb2dfZGVzdGlu YXRpb24gPSAnc3RkZXJyLCBjc3Zsb2csIGpzb25sb2cnCiAjIHRoZXNlIGVuc3VyZSBzdGFiaWxp dHkgb2YgdGVzdCByZXN1bHRzOgogbG9nX3JvdGF0aW9uX2FnZSA9IDAKIGxjX21lc3NhZ2VzID0g J0MnCittYXhfbG9nX3NpemUgPSAzMgogKSk7CiAKICRub2RlLT5zdGFydCgpOwpAQCAtMTM1LDYg KzEzNiwyMCBAQCBjaGVja19sb2dfcGF0dGVybignc3RkZXJyJywgJG5ld19jdXJyZW50X2xvZ2Zp bGVzLCAnc3ludGF4IGVycm9yJywgJG5vZGUpOwogY2hlY2tfbG9nX3BhdHRlcm4oJ2NzdmxvZycs ICRuZXdfY3VycmVudF9sb2dmaWxlcywgJ3N5bnRheCBlcnJvcicsICRub2RlKTsKIGNoZWNrX2xv Z19wYXR0ZXJuKCdqc29ubG9nJywgJG5ld19jdXJyZW50X2xvZ2ZpbGVzLCAnc3ludGF4IGVycm9y JywgJG5vZGUpOwogCiskbm9kZS0+cHNxbCgncG9zdGdyZXMnLCAnSU5TRVJUIElOVE8gU09NRV9O T05fRVhJU1RBTlRfVEFCTEUgVkFMVUVTIChURVNUKScpOworZm9yIChteSAkYXR0ZW1wdHMgPSAw OyAkYXR0ZW1wdHMgPCAkbWF4X2F0dGVtcHRzOyAkYXR0ZW1wdHMrKykKK3sKKwlldmFsIHsKKwkJ JGN1cnJlbnRfbG9nZmlsZXMgPSBzbHVycF9maWxlKCRub2RlLT5kYXRhX2RpciAuICcvY3VycmVu dF9sb2dmaWxlcycpOworCX07CisJbGFzdCB1bmxlc3MgJEA7CisJdXNsZWVwKDEwMF8wMDApOwor fQorZGllICRAIGlmICRAOworY2hlY2tfbG9nX3BhdHRlcm4oJ3N0ZGVycicsICAkY3VycmVudF9s b2dmaWxlcywgJ0lOU0VSVCBJTlRPIFNPTUVfTk9OX0VYSVNUQU5UX1RBKD8hKEJMRSBWQUxVRVMg XChURVNUXCkpKScsICRub2RlKTsKK2NoZWNrX2xvZ19wYXR0ZXJuKCdjc3Zsb2cnLCAgJGN1cnJl bnRfbG9nZmlsZXMsICdJTlNFUlQgSU5UTyBTT01FX05PTl9FWElTVEFOVF9UQSg/IShCTEUgVkFM VUVTIFwoVEVTVFwpKSknLCAkbm9kZSk7CitjaGVja19sb2dfcGF0dGVybignanNvbmxvZycsICRj dXJyZW50X2xvZ2ZpbGVzLCAnSU5TRVJUIElOVE8gU09NRV9OT05fRVhJU1RBTlRfVEEoPyEoQkxF IFZBTFVFUyBcKFRFU1RcKSkpJywgJG5vZGUpOworCiAkbm9kZS0+c3RvcCgpOwogCiBkb25lX3Rl c3RpbmcoKTsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxzL2Vsb2cuaCBiL3NyYy9pbmNs dWRlL3V0aWxzL2Vsb2cuaAppbmRleCBlNTRlY2E1YjQ4Li5jYWZhOGRlM2MwIDEwMDY0NAotLS0g YS9zcmMvaW5jbHVkZS91dGlscy9lbG9nLmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvZWxvZy5o CkBAIC01MDIsNiArNTAyLDcgQEAgZXh0ZXJuIFBHRExMSU1QT1JUIGludCBMb2dfZGVzdGluYXRp b247CiBleHRlcm4gUEdETExJTVBPUlQgY2hhciAqTG9nX2Rlc3RpbmF0aW9uX3N0cmluZzsKIGV4 dGVybiBQR0RMTElNUE9SVCBib29sIHN5c2xvZ19zZXF1ZW5jZV9udW1iZXJzOwogZXh0ZXJuIFBH RExMSU1QT1JUIGJvb2wgc3lzbG9nX3NwbGl0X21lc3NhZ2VzOworZXh0ZXJuIFBHRExMSU1QT1JU IGludCBtYXhfbG9nX3NpemU7CiAKIC8qIExvZyBkZXN0aW5hdGlvbiBiaXRtYXAgKi8KICNkZWZp bmUgTE9HX0RFU1RJTkFUSU9OX1NUREVSUgkgMQpAQCAtNTE3LDYgKzUxOCw5IEBAIGV4dGVybiB2 b2lkIERlYnVnRmlsZU9wZW4odm9pZCk7CiBleHRlcm4gY2hhciAqdW5wYWNrX3NxbF9zdGF0ZShp bnQgc3FsX3N0YXRlKTsKIGV4dGVybiBib29sIGluX2Vycm9yX3JlY3Vyc2lvbl90cm91YmxlKHZv aWQpOwogCitleHRlcm4gYm9vbCBuZWVkX3RydW5jYXRlX3F1ZXJ5X2xvZyhjb25zdCBjaGFyKiBx dWVyeSk7CitleHRlcm4gY2hhciogdHJ1bmNhdGVfcXVlcnlfbG9nKGNvbnN0IGNoYXIqIHF1ZXJ5 KTsKKwogLyogQ29tbW9uIGZ1bmN0aW9ucyBzaGFyZWQgYWNyb3NzIGRlc3RpbmF0aW9ucyAqLwog ZXh0ZXJuIHZvaWQgcmVzZXRfZm9ybWF0dGVkX3N0YXJ0X3RpbWUodm9pZCk7CiBleHRlcm4gY2hh ciAqZ2V0X2Zvcm1hdHRlZF9zdGFydF90aW1lKHZvaWQpOwotLSAKMi4zOS4yIChBcHBsZSBHaXQt MTQzKQoK --0000000000007b4725062cfe42d2--