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 1vw3rz-000Y2R-1i for pgsql-hackers@arkaria.postgresql.org; Fri, 27 Feb 2026 19:51:27 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vw3ry-006Jdo-13 for pgsql-hackers@arkaria.postgresql.org; Fri, 27 Feb 2026 19:51:26 +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 1vw3rx-006JdH-2G for pgsql-hackers@lists.postgresql.org; Fri, 27 Feb 2026 19:51:25 +0000 Received: from mail-yw1-x1136.google.com ([2607:f8b0:4864:20::1136]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vw3ru-00000001YRw-2SL4 for pgsql-hackers@postgresql.org; Fri, 27 Feb 2026 19:51:24 +0000 Received: by mail-yw1-x1136.google.com with SMTP id 00721157ae682-7927261a3acso21374207b3.0 for ; Fri, 27 Feb 2026 11:51:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1772221883; cv=none; d=google.com; s=arc-20240605; b=Sdb+l+wCD6QmjYxt9/daJQMCly1DicolF5StZTfkIw1p16+HfC06tYXNfUnZ98mAnq LJEFcTa+kDDG3sIc2bYpSAs6LhLkjWZ+9Gwq15MNjYpqJ+DpBs01HG05c1Vi3br3jmXe wFjsd9YrXwefr2MfOHkjx4qfGssl4UT9s4WtrAfKf+aOX5CAJTMSVYeV9cfPAk4jmNaI Yn0Gs6cEnT0+xwS0oNLL+JjklDb0tJZK6iBKWCRYQQS1QOLfLV/vvObqXPdupXhbs0KW 788ma/jEOd2oxEFWkELAkkAG4RZDqtG8lHZujGP4asJTxjvVzZxgDEougZ0s6Fusb0fx i+Vg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=Y0fzrSZdQMI04TTDlKX5zBH5BwjQ3cxmJ31uNt0y1G0=; fh=y7r9xLXOjaiN25wS23j3DrE3qvPocF+CPPaaTHO3gWE=; b=f0vsjp08CnrKqgTafjzF53nBxYQMoFlsTjCtQ6/ymYmiDP5XvZoR9SeKFCQWTl6v/S hq5teOtgITZZOZB2SLTva+TuvTAeTJvONGC1Zv9J7c7i9l4T/rDiaGDNuGZPQm55W3YV XO8eskiSZn5LZrJHZ+Qyc0QEtAXlvoOtofOPwINI9F+Cvgq9XdAeNhXszmn3U+vdKxgd lbhTeCx0HR5jOOdp2Xb+jQtH08PaXrnR2C8bxvm8EXyVhpP3exfNSsyS6UgrTp/s/cJy 08NjeGYNf1guOA5x7I2FcR9HcxqYoptKHF0PSEGzcMY/fFp+81mz3WjmndY2SQziBKMy jIbA==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=percona.com; s=google; t=1772221883; x=1772826683; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=Y0fzrSZdQMI04TTDlKX5zBH5BwjQ3cxmJ31uNt0y1G0=; b=MTkOKMtXcTPQydKwSqOkf/F1TT7mSr1wu34KQVOZTHmSjkWlOMJ+LPJfgxFhFUgzKw X+ZLWsb8Ayvv/wuix5z+AT1w5jGo/FQLEMQPVsw+KcGnjpCOyPFSoumI0osSK60fRFKR 1arnElBHgAkQRVTHqFipDMkc0rW1c0zX+qSW8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772221883; x=1772826683; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Y0fzrSZdQMI04TTDlKX5zBH5BwjQ3cxmJ31uNt0y1G0=; b=dg9+W+T9jnYvPvSC226D6kMp3WYa9aZqKVtocztQ/szGPyRPh+O7ss0yBiSQqoWVfE 5z2ugOVfdyLKrjZADTiHUG+/JJuFrIiiJH6jsv1v+wJaM7VxVdOMmhtbaoA7O8x5zeSl LD7TogdXvDrNYc2EJkm3a/EfTmhszNhBE/uUMJXinF9sirYSNXxTb3P48m2lU385n6/F wuTnI7Zjr/ufiKcbzWrK6GCuSiBhZwd9PARNSayQ0Bn4EJWnx0RHBoNHH/LyAuSgCsMe k39pbBnMMM3M9Mr1Htv6u68m8vprI1YAYx2npDvyag2PH8UaVGtMLwcuz4JtXlGufhds IePA== X-Forwarded-Encrypted: i=1; AJvYcCVh2TWBO1i5Pt+NtWX3h6bM2zgYMnvVYzsUAPdH/bXK4h45t3ouuEyAOJy5JotgU2iGbhEsxRa4QSPnxuny@postgresql.org X-Gm-Message-State: AOJu0YxfeiEn0IFlHUndEflDpyFHFWMkNsXQsxRFGb4Lqhs/e3MKD011 /Amf99bit9pi0boVtHrFTQxDXvO80AP1+sGj9S+NJVUoZnmtcW0mv33QiM3IzdWCakbB7lXseBO 6rTuOb5CCxT2ryBB6hqJpdw71iiZ+8y4YY0XOdPYbnlAPdxLAL/TI7fjdqqz7/YlF2MRIhPPcgU bkygwySP2rIUNX5i1FQrmiHqR2szxMyW5ysBI8IYSQDL3MublwHdYl0wM9ubAzRlzbl99RET7Yd SjqOt7feNBUGbCAwNi9CQqmAxwYA3YXae4dq6Nndcsp34dG7Og= X-Gm-Gg: ATEYQzwgoOtVGVv0Hejbc+FJTBIgc1TGcA9SJO0TYLQilwZzchnh4e1odFPFZyp3GC6 LqbEFYv1ZtWs/oDkCLvWypJDTymKRDwgZoKYG0WJhASrLO5lVQzxndpUWbMNee47+kEXYKfWDNe nv/lwSf0gRWVk7rar0yRpl2LbDFxOY3Qs5ySRoML4MWw2HsdEPj+sWFPcKfnUiXjSV1LXC14/p8 XzZzwX/+Gur1NR6vSxQwFItC353eHVBwRE+1huGIIDkT69HLFy/kPgShinhvnFtTBJKyIJ/nfkC wF7V1G8Iknj8k+saNf1Ew7NNIlxvddEl0LvXx+vGtKlcoS08z7CA2EAwAbl6n+tcjiXS X-Received: by 2002:a05:690c:305:b0:794:a165:1c3b with SMTP id 00721157ae682-7988557fad2mr45502947b3.30.1772221883077; Fri, 27 Feb 2026 11:51:23 -0800 (PST) MIME-Version: 1.0 References: <7DB528BA-C7A0-4B23-890C-5332FB35A16E@yesql.se> <7094F798-8DD1-4974-9A04-10E147B29581@gmail.com> <15434512-B3FB-4AB3-B6B3-5D85ED0B4BBE@yandex-team.ru> In-Reply-To: <15434512-B3FB-4AB3-B6B3-5D85ED0B4BBE@yandex-team.ru> From: Zsolt Parragi Date: Fri, 27 Feb 2026 19:51:12 +0000 X-Gm-Features: AaiRm507xgGqzdvvcKSzIVA7GjrZrQ_IqtFOJZpTZ-YhUQNnxl60EPZsf3YHTfY Message-ID: Subject: Re: Improve OAuth discovery logging To: Andrey Borodin Cc: Jacob Champion , Chao Li , Daniel Gustafsson , PostgreSQL Hackers , Michael Paquier Content-Type: multipart/mixed; boundary="000000000000cea2e9064bd38f5f" X-CLOUD-SEC-AV-Sent: true X-CLOUD-SEC-AV-Info: percona,google_mail,monitor X-Gm-Spam: 0 X-Gm-Phishy: 0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000cea2e9064bd38f5f Content-Type: text/plain; charset="UTF-8" > Well, you can do something in a line with Yes, but I either have to declare was_discovery at the beginning of the function, or add { ... } for the case and declare it at the beginning of the case branch. Neither of those seems to be more readable to me. With different coding conventions I would definitely do a `const bool was_discovery` directly before the if, but I can't do that here. Thanks for the comment suggestions, I attached an updated version with an edited comment for exchange(). --000000000000cea2e9064bd38f5f Content-Type: application/octet-stream; name="v5-0001-Improve-OAuth-discovery-logging.patch" Content-Disposition: attachment; filename="v5-0001-Improve-OAuth-discovery-logging.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mm5b4hk70 RnJvbSBlZjFiMjdiOThmZTIzZGYyOTBjZjI4Mjg3MGQ3M2JlMzYwNDZjZjViIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBac29sdCBQYXJyYWdpIDx6c29sdC5wYXJyYWdpQHBlcmNvbmEu Y29tPgpEYXRlOiBXZWQsIDExIEZlYiAyMDI2IDE5OjI4OjA1ICswMTAwClN1YmplY3Q6IFtQQVRD SCB2NV0gSW1wcm92ZSBPQXV0aCBkaXNjb3ZlcnkgbG9nZ2luZwoKQ3VycmVudGx5IHdoZW4gdGhl IGNsaWVudCBzZW5kcyBhbiBlbXB0eSBPQXV0aCB0b2tlbiB0byByZXF1ZXN0IHRoZQppc3N1ZXIg VVJMLCB0aGUgc2VydmVyIGxvZ3MgdGhlIGF0dGVtcHQgd2l0aAoKRkFUQUw6ICBPQXV0aCBiZWFy ZXIgYXV0aGVudGljYXRpb24gZmFpbGVkIGZvciB1c2VyCgpXaGljaCBpcyBxdWl0ZSBjb25mdXNp bmcsIGFzIHRoaXMgaXMgYW4gZXhwZWN0ZWQgcGFydCBvZiB0aGUgT0F1dGgKYXV0aGVudGljYXRp b24gZmxvdyBhbmQgbm90IGFuIGVycm9yIGF0IGFsbC4KClRoaXMgaW4gcHJhY3RpY2UgcmVzdWx0 cyBpbiB0aGUgc2VydmVyIHNwYW1taW5nIHRoZSBsb2cgd2l0aCB0aGVzZQptZXNzYWdlcywgd2hp Y2ggYXJlIGRpZmZpY3VsdCB0byBzZXBhcmF0ZSBmcm9tIHJlYWwgKE9BdXRoKQphdXRoZW50aWNh dGlvbiBmYWlsdXJlcy4KClRoaXMgcGF0Y2ggaW1wcm92ZXMgdGhpcyBieSBoYW5kbGluZyB0aGUg c2l0dWF0aW9uIHByb3Blcmx5IGluIHRoZQpTQVNML09hdXRoIGNvZGUsIGJ5IGludHJvZHVjaW5n IGEgbmV3IFNBU0wgYXV0aGVudGljYXRpb24gc3RhdHVzLApQR19TQVNMX0VYQ0hBTkdFX0FCQU5E T05FRC4gVGhlIGV4cGVjdGF0aW9uIGlzIHRoYXQgYXV0aGVudGljYXRpb24KbWVjaGFuaXNtcyBj YW4gc2V0IHRoaXMgaWYgdGhlIGN1cnJlbnQgYXV0aGVudGljYXRpb24gYXR0ZW1wdCBzaG91bGQg YmUKZ3JhY2VmdWxseSBhYW5kb25lZCwgd2l0aG91dCBwcmludGluZyBhIGZhdGFsIGVycm9yIGFi b3V0IGF1dGhlbnRpY2F0aW9uCmZhaWx1cmUuIFRoaXMgaXMgY3VycmVudGx5IG9ubHkgdXNlZCBi eSBPQXV0aCwgd2hlcmUgbGlicHEgdHlwaWNhbGx5CnJlc3RhcnRzIHdpdGggYW5vdGhlciwgbW9y ZSBkZXRhaWxlZCBhdXRoZW50aWNhdGlvbiBhdHRlbXB0IHNvb24KYWZ0ZXJ3YXJkcy4KLS0tCiBz cmMvYmFja2VuZC9saWJwcS9hdXRoLW9hdXRoLmMgICAgICAgICAgICAgICAgfCA0MCArKysrKysr KysrKystLS0tLS0tCiBzcmMvYmFja2VuZC9saWJwcS9hdXRoLXNhc2wuYyAgICAgICAgICAgICAg ICAgfCAxNCArKysrLS0tCiBzcmMvaW5jbHVkZS9saWJwcS9zYXNsLmggICAgICAgICAgICAgICAg ICAgICAgfCAxMiArKystLS0KIC4uLi9tb2R1bGVzL29hdXRoX3ZhbGlkYXRvci90LzAwMV9zZXJ2 ZXIucGwgICB8ICA4ICsrKy0KIDQgZmlsZXMgY2hhbmdlZCwgNDcgaW5zZXJ0aW9ucygrKSwgMjcg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvbGlicHEvYXV0aC1vYXV0aC5j IGIvc3JjL2JhY2tlbmQvbGlicHEvYXV0aC1vYXV0aC5jCmluZGV4IDExMzY1MDQ4OTUxLi4zOWY2 NmFlZjRkNyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvbGlicHEvYXV0aC1vYXV0aC5jCisrKyBi L3NyYy9iYWNrZW5kL2xpYnBxL2F1dGgtb2F1dGguYwpAQCAtNTgsNiArNTgsNyBAQCBlbnVtIG9h dXRoX3N0YXRlCiB7CiAJT0FVVEhfU1RBVEVfSU5JVCA9IDAsCiAJT0FVVEhfU1RBVEVfRVJST1Is CisJT0FVVEhfU1RBVEVfRVJST1JfRElTQ09WRVJZLAogCU9BVVRIX1NUQVRFX0ZJTklTSEVELAog fTsKIApAQCAtMTgxLDYgKzE4Miw3IEBAIG9hdXRoX2V4Y2hhbmdlKHZvaWQgKm9wYXEsIGNvbnN0 IGNoYXIgKmlucHV0LCBpbnQgaW5wdXRsZW4sCiAJCQlicmVhazsKIAogCQljYXNlIE9BVVRIX1NU QVRFX0VSUk9SOgorCQljYXNlIE9BVVRIX1NUQVRFX0VSUk9SX0RJU0NPVkVSWToKIAogCQkJLyoK IAkJCSAqIE9ubHkgb25lIHJlc3BvbnNlIGlzIHZhbGlkIGZvciB0aGUgY2xpZW50IGR1cmluZyBh dXRoZW50aWNhdGlvbgpAQCAtMTkzLDcgKzE5NSwxNiBAQCBvYXV0aF9leGNoYW5nZSh2b2lkICpv cGFxLCBjb25zdCBjaGFyICppbnB1dCwgaW50IGlucHV0bGVuLAogCQkJCQkJZXJyZGV0YWlsKCJD bGllbnQgZGlkIG5vdCBzZW5kIGEga3ZzZXAgcmVzcG9uc2UuIikpOwogCiAJCQkvKiBUaGUgKGZh aWxlZCkgaGFuZHNoYWtlIGlzIG5vdyBjb21wbGV0ZS4gKi8KKwkJCWlmIChjdHgtPnN0YXRlID09 IE9BVVRIX1NUQVRFX0VSUk9SX0RJU0NPVkVSWSkKKwkJCXsKKwkJCQljdHgtPnN0YXRlID0gT0FV VEhfU1RBVEVfRklOSVNIRUQ7CisJCQkJZXJlcG9ydChERUJVRzEsCisJCQkJCQllcnJtc2coIk9B dXRoIGlzc3VlciBkaXNjb3ZlcnkgcmVxdWVzdGVkIikpOworCQkJCXJldHVybiBQR19TQVNMX0VY Q0hBTkdFX0FCQU5ET05FRDsKKwkJCX0KKwogCQkJY3R4LT5zdGF0ZSA9IE9BVVRIX1NUQVRFX0ZJ TklTSEVEOworCiAJCQlyZXR1cm4gUEdfU0FTTF9FWENIQU5HRV9GQUlMVVJFOwogCiAJCWRlZmF1 bHQ6CkBAIC0yNzksNyArMjkwLDE5IEBAIG9hdXRoX2V4Y2hhbmdlKHZvaWQgKm9wYXEsIGNvbnN0 IGNoYXIgKmlucHV0LCBpbnQgaW5wdXRsZW4sCiAJCQkJZXJybXNnKCJtYWxmb3JtZWQgT0FVVEhC RUFSRVIgbWVzc2FnZSIpLAogCQkJCWVycmRldGFpbCgiTWVzc2FnZSBjb250YWlucyBhZGRpdGlv bmFsIGRhdGEgYWZ0ZXIgdGhlIGZpbmFsIHRlcm1pbmF0b3IuIikpOwogCi0JaWYgKCF2YWxpZGF0 ZShjdHgtPnBvcnQsIGF1dGgpKQorCWlmIChhdXRoWzBdID09ICdcMCcpCisJeworCQkvKgorCQkg KiBBbiBlbXB0eSBhdXRoIHZhbHVlIHJlcHJlc2VudHMgYSBkaXNjb3ZlcnkgcmVxdWVzdDsgdGhl IGNsaWVudAorCQkgKiBleHBlY3RzIGl0IHRvIGZhaWwuICBTa2lwIHZhbGlkYXRpb24gZW50aXJl bHkgYW5kIG1vdmUgZGlyZWN0bHkKKwkJICogdG8gdGhlIGVycm9yIHJlc3BvbnNlLgorCQkgKi8K KwkJZ2VuZXJhdGVfZXJyb3JfcmVzcG9uc2UoY3R4LCBvdXRwdXQsIG91dHB1dGxlbik7CisKKwkJ Y3R4LT5zdGF0ZSA9IE9BVVRIX1NUQVRFX0VSUk9SX0RJU0NPVkVSWTsKKwkJc3RhdHVzID0gUEdf U0FTTF9FWENIQU5HRV9DT05USU5VRTsKKwl9CisJZWxzZSBpZiAoIXZhbGlkYXRlKGN0eC0+cG9y dCwgYXV0aCkpCiAJewogCQlnZW5lcmF0ZV9lcnJvcl9yZXNwb25zZShjdHgsIG91dHB1dCwgb3V0 cHV0bGVuKTsKIApAQCAtNTY0LDE5ICs1ODcsOCBAQCB2YWxpZGF0ZV90b2tlbl9mb3JtYXQoY29u c3QgY2hhciAqaGVhZGVyKQogCiAJLyogTWlzc2luZyBhdXRoIGhlYWRlcnMgc2hvdWxkIGJlIGhh bmRsZWQgYnkgdGhlIGNhbGxlci4gKi8KIAlBc3NlcnQoaGVhZGVyKTsKLQotCWlmIChoZWFkZXJb MF0gPT0gJ1wwJykKLQl7Ci0JCS8qCi0JCSAqIEEgY29tcGxldGVseSBlbXB0eSBhdXRoIGhlYWRl ciByZXByZXNlbnRzIGEgcXVlcnkgZm9yCi0JCSAqIGF1dGhlbnRpY2F0aW9uIHBhcmFtZXRlcnMu IFRoZSBjbGllbnQgZXhwZWN0cyBpdCB0byBmYWlsOyB0aGVyZSdzCi0JCSAqIG5vIG5lZWQgdG8g bWFrZSBhbnkgZXh0cmEgbm9pc2UgaW4gdGhlIGxvZ3MuCi0JCSAqCi0JCSAqIFRPRE86IHNob3Vs ZCB3ZSBmaW5kIGEgd2F5IHRvIHJldHVybiBTVEFUVVNfRU9GIGF0IHRoZSB0b3AgbGV2ZWwsCi0J CSAqIHRvIHN1cHByZXNzIHRoZSBhdXRoZW50aWNhdGlvbiBlcnJvciBlbnRpcmVseT8KLQkJICov Ci0JCXJldHVybiBOVUxMOwotCX0KKwkvKiBFbXB0eSBhdXRoIChkaXNjb3ZlcnkpIHNob3VsZCBi ZSBoYW5kbGVkIGJlZm9yZSBjYWxsaW5nIHZhbGlkYXRlKCkuICovCisJQXNzZXJ0KGhlYWRlclsw XSAhPSAnXDAnKTsKIAogCWlmIChwZ19zdHJuY2FzZWNtcChoZWFkZXIsIEJFQVJFUl9TQ0hFTUUs IHN0cmxlbihCRUFSRVJfU0NIRU1FKSkpCiAJewpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvbGli cHEvYXV0aC1zYXNsLmMgYi9zcmMvYmFja2VuZC9saWJwcS9hdXRoLXNhc2wuYwppbmRleCAzNmNi NzQ4ZDkyNy4uNjJiYjA2YjU3OWEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2xpYnBxL2F1dGgt c2FzbC5jCisrKyBiL3NyYy9iYWNrZW5kL2xpYnBxL2F1dGgtc2FzbC5jCkBAIC0xNjcsNyArMTY3 LDcgQEAgQ2hlY2tTQVNMQXV0aChjb25zdCBwZ19iZV9zYXNsX21lY2ggKm1lY2gsIFBvcnQgKnBv cnQsIGNoYXIgKnNoYWRvd19wYXNzLAogCQkJICogUEdfU0FTTF9FWENIQU5HRV9GQUlMVVJFIHdp dGggc29tZSBvdXRwdXQgaXMgZm9yYmlkZGVuIGJ5IFNBU0wuCiAJCQkgKiBNYWtlIHN1cmUgaGVy ZSB0aGF0IHRoZSBtZWNoYW5pc20gdXNlZCBnb3QgdGhhdCByaWdodC4KIAkJCSAqLwotCQkJaWYg KHJlc3VsdCA9PSBQR19TQVNMX0VYQ0hBTkdFX0ZBSUxVUkUpCisJCQlpZiAocmVzdWx0ID09IFBH X1NBU0xfRVhDSEFOR0VfRkFJTFVSRSB8fCByZXN1bHQgPT0gUEdfU0FTTF9FWENIQU5HRV9BQkFO RE9ORUQpCiAJCQkJZWxvZyhFUlJPUiwgIm91dHB1dCBtZXNzYWdlIGZvdW5kIGFmdGVyIFNBU0wg ZXhjaGFuZ2UgZmFpbHVyZSIpOwogCiAJCQkvKgpAQCAtMTg0LDExICsxODQsMTMgQEAgQ2hlY2tT QVNMQXV0aChjb25zdCBwZ19iZV9zYXNsX21lY2ggKm1lY2gsIFBvcnQgKnBvcnQsIGNoYXIgKnNo YWRvd19wYXNzLAogCQl9CiAJfSB3aGlsZSAocmVzdWx0ID09IFBHX1NBU0xfRVhDSEFOR0VfQ09O VElOVUUpOwogCi0JLyogT29wcywgU29tZXRoaW5nIGJhZCBoYXBwZW5lZCAqLwotCWlmIChyZXN1 bHQgIT0gUEdfU0FTTF9FWENIQU5HRV9TVUNDRVNTKQorCXN3aXRjaCAocmVzdWx0KQogCXsKLQkJ cmV0dXJuIFNUQVRVU19FUlJPUjsKKwkJY2FzZSBQR19TQVNMX0VYQ0hBTkdFX1NVQ0NFU1M6CisJ CQlyZXR1cm4gU1RBVFVTX09LOworCQljYXNlIFBHX1NBU0xfRVhDSEFOR0VfQUJBTkRPTkVEOgor CQkJcmV0dXJuIFNUQVRVU19FT0Y7CisJCWRlZmF1bHQ6CisJCQlyZXR1cm4gU1RBVFVTX0VSUk9S OwogCX0KLQotCXJldHVybiBTVEFUVVNfT0s7CiB9CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9s aWJwcS9zYXNsLmggYi9zcmMvaW5jbHVkZS9saWJwcS9zYXNsLmgKaW5kZXggMWU4ZWM3ZDYyOTMu LjEzMGUwMjMzN2Y3IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9saWJwcS9zYXNsLmgKKysrIGIv c3JjL2luY2x1ZGUvbGlicHEvc2FzbC5oCkBAIC0yNSw2ICsyNSw3IEBACiAjZGVmaW5lIFBHX1NB U0xfRVhDSEFOR0VfQ09OVElOVUUJCTAKICNkZWZpbmUgUEdfU0FTTF9FWENIQU5HRV9TVUNDRVNT CQkxCiAjZGVmaW5lIFBHX1NBU0xfRVhDSEFOR0VfRkFJTFVSRQkJMgorI2RlZmluZSBQR19TQVNM X0VYQ0hBTkdFX0FCQU5ET05FRAkJMwogCiAvKgogICogTWF4aW11bSBhY2NlcHRlZCBzaXplIG9m IFNBU0wgbWVzc2FnZXMuCkBAIC05Miw4ICs5Myw4IEBAIHR5cGVkZWYgc3RydWN0IHBnX2JlX3Nh c2xfbWVjaAogCSAqCiAJICogUHJvZHVjZXMgYSBzZXJ2ZXIgY2hhbGxlbmdlIHRvIGJlIHNlbnQg dG8gdGhlIGNsaWVudC4gIFRoZSBjYWxsYmFjawogCSAqIG11c3QgcmV0dXJuIG9uZSBvZiB0aGUg UEdfU0FTTF9FWENIQU5HRV8qIHZhbHVlcywgZGVwZW5kaW5nIG9uCi0JICogd2hldGhlciB0aGUg ZXhjaGFuZ2UgY29udGludWVzLCBoYXMgZmluaXNoZWQgc3VjY2Vzc2Z1bGx5LCBvciBoYXMKLQkg KiBmYWlsZWQuCisJICogd2hldGhlciB0aGUgZXhjaGFuZ2UgY29udGludWVzLCBoYXMgZmluaXNo ZWQgc3VjY2Vzc2Z1bGx5LCBoYXMKKwkgKiBmYWlsZWQsIG9yIHdhcyBhYmFuZG9uZWQgYnkgdGhl IGNsaWVudC4KIAkgKgogCSAqIElucHV0IHBhcmFtZXRlcnM6CiAJICoKQEAgLTExOCw4ICsxMTks OSBAQCB0eXBlZGVmIHN0cnVjdCBwZ19iZV9zYXNsX21lY2gKIAkgKgkJCSAgIHJldHVybmVkIGFu ZCB0aGUgbWVjaGFuaXNtIHJlcXVpcmVzIGRhdGEgdG8gYmUgc2VudCBkdXJpbmcKIAkgKgkJCSAg IGEgc3VjY2Vzc2Z1bCBvdXRjb21lKS4gIFRoZSBjYWxsYmFjayBzaG91bGQgc2V0IHRoaXMgdG8K IAkgKgkJCSAgIE5VTEwgaWYgdGhlIGV4Y2hhbmdlIGlzIG92ZXIgYW5kIG5vIG91dHB1dCBzaG91 bGQgYmUgc2VudCwKLQkgKgkJCSAgIHdoaWNoIHNob3VsZCBjb3JyZXNwb25kIHRvIGVpdGhlciBQ R19TQVNMX0VYQ0hBTkdFX0ZBSUxVUkUKLQkgKgkJCSAgIG9yIGEgUEdfU0FTTF9FWENIQU5HRV9T VUNDRVNTIHdpdGggbm8gb3V0Y29tZSBkYXRhLgorCSAqCQkJICAgd2hpY2ggc2hvdWxkIGNvcnJl c3BvbmQgdG8gZWl0aGVyIFBHX1NBU0xfRVhDSEFOR0VfRkFJTFVSRSwKKwkgKgkJCSAgIFBHX1NB U0xfRVhDSEFOR0VfQUJBTkRPTkVELCBvciBhIFBHX1NBU0xfRVhDSEFOR0VfU1VDQ0VTUworCSAq CQkJICAgd2l0aCBubyBvdXRjb21lIGRhdGEuCiAJICoKIAkgKiAgb3V0cHV0bGVuOiBUaGUgbGVu Z3RoIG9mIHRoZSBjaGFsbGVuZ2UgZGF0YS4gIElnbm9yZWQgaWYgKm91dHB1dCBpcwogCSAqCQkJ ICAgTlVMTC4KQEAgLTEyOCw3ICsxMzAsNyBAQCB0eXBlZGVmIHN0cnVjdCBwZ19iZV9zYXNsX21l Y2gKIAkgKgkJCSAgIHNlcnZlciBsb2csIHRvIGRpc2FtYmlndWF0ZSBmYWlsdXJlIG1vZGVzLiAg KFRoZSBjbGllbnQKIAkgKgkJCSAgIHdpbGwgb25seSBldmVyIHNlZSB0aGUgc2FtZSBnZW5lcmlj IGF1dGhlbnRpY2F0aW9uCiAJICoJCQkgICBmYWlsdXJlIG1lc3NhZ2UuKSBJZ25vcmVkIGlmIHRo ZSBleGNoYW5nZSBpcyBjb21wbGV0ZWQKLQkgKgkJCSAgIHdpdGggUEdfU0FTTF9FWENIQU5HRV9T VUNDRVNTLgorCSAqCQkJICAgd2l0aCBQR19TQVNMX0VYQ0hBTkdFX1NVQ0NFU1Mgb3IgUEdfU0FT TF9FWENIQU5HRV9BQkFORE9ORUQuCiAJICotLS0tLS0tLS0KIAkgKi8KIAlpbnQJCQkoKmV4Y2hh bmdlKSAodm9pZCAqc3RhdGUsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL29hdXRoX3Zh bGlkYXRvci90LzAwMV9zZXJ2ZXIucGwgYi9zcmMvdGVzdC9tb2R1bGVzL29hdXRoX3ZhbGlkYXRv ci90LzAwMV9zZXJ2ZXIucGwKaW5kZXggNmI2NDljMGIwNmYuLjlmMmY5ZjQ5MDc3IDEwMDY0NAot LS0gYS9zcmMvdGVzdC9tb2R1bGVzL29hdXRoX3ZhbGlkYXRvci90LzAwMV9zZXJ2ZXIucGwKKysr IGIvc3JjL3Rlc3QvbW9kdWxlcy9vYXV0aF92YWxpZGF0b3IvdC8wMDFfc2VydmVyLnBsCkBAIC0x MTQsMTEgKzExNCwxMyBAQCAkbm9kZS0+Y29ubmVjdF9vaygKIAlleHBlY3RlZF9zdGRlcnIgPT4K IAkgIHFyQFZpc2l0IGh0dHBzOi8vZXhhbXBsZVwuY29tLyBhbmQgZW50ZXIgdGhlIGNvZGU6IHBv c3RncmVzdXNlckAsCiAJbG9nX2xpa2UgPT4gWworCQlxci9PQXV0aCBpc3N1ZXIgZGlzY292ZXJ5 IHJlcXVlc3RlZC8sCiAJCXFyL29hdXRoX3ZhbGlkYXRvcjogdG9rZW49IjkyNDM5NTkyMzQiLCBy b2xlPSIkdXNlciIvLAogCQlxci9vYXV0aF92YWxpZGF0b3I6IGlzc3Vlcj0iXFEkaXNzdWVyXEUi LCBzY29wZT0ib3BlbmlkIHBvc3RncmVzIi8sCiAJCXFyL2Nvbm5lY3Rpb24gYXV0aGVudGljYXRl ZDogaWRlbnRpdHk9InRlc3QiIG1ldGhvZD1vYXV0aC8sCiAJCXFyL2Nvbm5lY3Rpb24gYXV0aG9y aXplZC8sCi0JXSk7CisJXSwKKwlsb2dfdW5saWtlID0+IFtxci9GQVRBTC4qT0F1dGggYmVhcmVy IGF1dGhlbnRpY2F0aW9uIGZhaWxlZC9dKTsKIAogIyBUaGUgL2FsdGVybmF0ZSBpc3N1ZXIgdXNl cyBzbGlnaHRseSBkaWZmZXJlbnQgcGFyYW1ldGVycywgYWxvbmcgd2l0aCBhbgogIyBPQXV0aC1z dHlsZSBkaXNjb3ZlcnkgZG9jdW1lbnQuCkBAIC0xMjksMTEgKzEzMSwxMyBAQCAkbm9kZS0+Y29u bmVjdF9vaygKIAlleHBlY3RlZF9zdGRlcnIgPT4KIAkgIHFyQFZpc2l0IGh0dHBzOi8vZXhhbXBs ZVwub3JnLyBhbmQgZW50ZXIgdGhlIGNvZGU6IHBvc3RncmVzdXNlckAsCiAJbG9nX2xpa2UgPT4g WworCQlxci9PQXV0aCBpc3N1ZXIgZGlzY292ZXJ5IHJlcXVlc3RlZC8sCiAJCXFyL29hdXRoX3Zh bGlkYXRvcjogdG9rZW49IjkyNDM5NTkyMzQtYWx0Iiwgcm9sZT0iJHVzZXIiLywKIAkJcXJ8b2F1 dGhfdmFsaWRhdG9yOiBpc3N1ZXI9IlxRJGlzc3Vlci8ud2VsbC1rbm93bi9vYXV0aC1hdXRob3Jp emF0aW9uLXNlcnZlci9hbHRlcm5hdGVcRSIsIHNjb3BlPSJvcGVuaWQgcG9zdGdyZXMgYWx0Inws CiAJCXFyL2Nvbm5lY3Rpb24gYXV0aGVudGljYXRlZDogaWRlbnRpdHk9InRlc3RhbHQiIG1ldGhv ZD1vYXV0aC8sCiAJCXFyL2Nvbm5lY3Rpb24gYXV0aG9yaXplZC8sCi0JXSk7CisJXSwKKwlsb2df dW5saWtlID0+IFtxci9GQVRBTC4qT0F1dGggYmVhcmVyIGF1dGhlbnRpY2F0aW9uIGZhaWxlZC9d KTsKIAogIyBUaGUgaXNzdWVyIGxpbmtlZCBieSB0aGUgc2VydmVyIG11c3QgbWF0Y2ggdGhlIGNs aWVudCdzIG9hdXRoX2lzc3VlciBzZXR0aW5nLgogJG5vZGUtPmNvbm5lY3RfZmFpbHMoCi0tIAoy LjQzLjAKCg== --000000000000cea2e9064bd38f5f--