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 1w2IFI-000A7B-2j for pgsql-hackers@arkaria.postgresql.org; Tue, 17 Mar 2026 00:25:17 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w2IFH-00EXn1-23 for pgsql-hackers@arkaria.postgresql.org; Tue, 17 Mar 2026 00:25:15 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w2IFH-00EXmm-0m for pgsql-hackers@lists.postgresql.org; Tue, 17 Mar 2026 00:25:15 +0000 Received: from mail-qv1-xf34.google.com ([2607:f8b0:4864:20::f34]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w2IFD-00000000W5R-2UQS for pgsql-hackers@postgresql.org; Tue, 17 Mar 2026 00:25:13 +0000 Received: by mail-qv1-xf34.google.com with SMTP id 6a1803df08f44-89c43c4c383so24052826d6.1 for ; Mon, 16 Mar 2026 17:25:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1773707109; cv=none; d=google.com; s=arc-20240605; b=bPQdwLcBBsssBj+NmjZSw4d4GDGrXE32LWqB8X7Ec3aBdwQsMHgiq9PsE0Az/FzUQN aT9oOaAOF+p69fDlkBFPFvjAtZ8qRZ+GbV0VnORse6hjjRxFLt2/eLr2zySskLHb3OlP dth5m0teHDWnq0dgxZk2rIdEcWw6jFSjW+qcrsuDSdmumNGOqA3KWmRAO5UbRdQgdc04 ZmkfdiQpXmMsbR9g8vtyeI6q9yPcJopDs4vDI+rl4ZHx8mYBHj2Kyvs9Mmfa+etSJPHz HZX965HV3dBZc9Yx7/tC5DHESY99vr6Uvkws1AwUJohaSmwpfkxK+/tozncqT0rj1ImX 2XPA== 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=aKgUuRI9b9dBqVXov6bTsoEoW52Lyrk6zgbD65uwaug=; fh=6AOmeynmdVgDzXrPlt+g7+aDqimOZD+wzfuA2f4r6Eo=; b=bqYzMwWPepBX2B8O7Dzk8FnOAyXGku4abNvLOunTcsLFp1rgde+zTcRYtMLqBxr2uh jOWBkPP2atbzV9xbI8ZumVUVhe0hpvkloc8JQe/3aL9gTXMzcZw8kaA5xxXo468B+6ig SEZvR2R18hpglfUTOXLUgZ7dBvSROUR3vnsEzyABNQBU9v5xQavKU1PWahMqQdewXewy 9VVLzW9aF4WPu45Pw8x85eMsyDwReykeeMzq4M9QNlwRdVAJzvng9FTKnoYR+GER5fPo VnH4zyj0tlxX+p+QFqMfRHXx6XOltBxrxi+cyq4oAeQMdOlFPJXDFTwHC7s0r5OD5ScS R4Pg==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb.com; s=google; t=1773707109; x=1774311909; 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=aKgUuRI9b9dBqVXov6bTsoEoW52Lyrk6zgbD65uwaug=; b=M9irDz1+9LQHxMKUM3K1uDv+Qb3kFZ0MdhDKOUpGMIalWm2p07oXRFYBsxKp4UPXwn BdHlm8IqrKAyNRHI00vj5mBaXOz3hrzVpGB2Pys51ChyVX0V+E5/clCnMVAJ92p7Yx66 MlGmMIKXrVx/9r0gpYKkYTaSi5C1J+u/RH5asz4H956w0CaQaD2AZTmUsvmNab5JqoQk G4f3Lmkj4wHV4mmlncVZ6US+QIz5LwO+LsjKyXoEY75EPdTdtuhw43t2Qz8wNdtXoBmS QwoEQ6L2kzOqrJ9j2+Mj8DtMpVwspQCO1mS+NnAfjXCquY75AKCzdh9D5Fas2ZtYlABN LApw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773707109; x=1774311909; 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=aKgUuRI9b9dBqVXov6bTsoEoW52Lyrk6zgbD65uwaug=; b=TCGCugXe3NKssXW7jcLAt866hfMFoRnXmpeH5tYoeJAVL3a8aZffvwImt6NPRvlsYF ubhwU+ykkAxna4kpBqeO2+gFkB/xrNyCRs2yKsleG2RuuQDzHViuV49KzztAiLtht1G7 4AnbgutXrcU2cNZYfNi/+OuB9V6ovO5gYIRVyfeUL8viioZTtwbBkS+XFVZ/s+OaeTEu 4Xa7uNJSQ5StGFv702UME/yC1vw7UWVQNIaMsHoaOCbdjywBWwtxsAVXV3Be71Sx3NpA kvREWQlE+UjGku4NYLXl/an9johSsUIbRJTtRLR/P2U7wj7nzTC+WZ6PJ8kqvNbRslxv zVcA== X-Forwarded-Encrypted: i=1; AJvYcCUR6DvPPrKG83lgByAkcnMdYZa+yWVB2TYa3dHMvGoLi5KjWkm5z5/IJ4CNMfjopVgrn8+XEwzuff6uBc4J@postgresql.org X-Gm-Message-State: AOJu0Yw2TzhJmFkDAmpmqzl7WMng7k2djOY31F5RxwDzam+/Ulb7SfFD SLjLSv65wDjw+UaaIyHNt88doRbCyUXWR2xbEZQMuvZKW7yNtZoQsv3Jp58ku4mnMPPymr9CaCp jj4ny8HNA4A/AyQkltyLefy3/gvTXGxfoQr7vD+bg X-Gm-Gg: ATEYQzxh9nFj7Ur1MDIpIYAbQBWoElo9dDp7YUD39owULhIsI4PVahNW6ikFjl5V525 qndoqt9rD5fiUKB9a6v+0T9TE4WR2sOEzYAxRqJekrsUQvX6XuG+54NHIrBIYwyrAdsD2UvLYWn 24mHpHAsm7rxs3gE0eStge3Ng0SAojU/1UF/3PtGm52JDhR7TUeNqDy0ycD3t+3CRcrsi/6uxda 6vkMs7U4nRP4bx7YPXWkW1sJBDyiJxz7giR+lr7myLeq5YwdmtC+ZKYfpOyOAvRRVoKwBechkRW TQhcpC04bg== X-Received: by 2002:a05:6214:300d:b0:899:fc7b:3885 with SMTP id 6a1803df08f44-89a81f72c7fmr211454356d6.32.1773707109469; Mon, 16 Mar 2026 17:25:09 -0700 (PDT) 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> <99C6E80B-8770-41C2-8084-BF3C7F389FFF@yandex-team.ru> <1B58D836-6B8F-4B9A-9B84-08965E5AA06B@yandex-team.ru> In-Reply-To: From: Jacob Champion Date: Mon, 16 Mar 2026 17:24:58 -0700 X-Gm-Features: AaiRm53KskyvVfePRYyjn4lvYS758fEZ6Wik1Z6eCsre9oJtZZITRKXRlIHBrQY Message-ID: Subject: Re: Improve OAuth discovery logging To: Zsolt Parragi Cc: Andrey Borodin , Chao Li , Daniel Gustafsson , PostgreSQL Hackers , Michael Paquier , Tom Lane Content-Type: multipart/mixed; boundary="00000000000032c29e064d2d5ea8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000032c29e064d2d5ea8 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Mar 16, 2026 at 12:45=E2=80=AFPM Zsolt Parragi wrote: > I tried to figure out if this is fine or not, but isn't it the same as > the existing ereport(ERROR, ...) calls everywhere in the sasl/scram > code? Those are *also* not good, IMHO; they're what I had in mind when I said "it's unusual/invisible". (ERROR is upgraded to FATAL here, so they're also misleading.) OAuth inherited a few of those from SCRAM to avoid divergent behavior for protocol violations, but I don't really want to lock that usage into the SASL architecture by myself, especially not for normal operation. CheckSASLAuth should ideally have control over the logic flow. (It might be nice to make it possible to throw ERRORs from inside authentication code without bypassing the top level. Then maybe we could square that with our treatment of logdetail et al. But we'd have to decide how we want protocol errors to interact with the hook.) On Mon, Mar 16, 2026 at 11:14=E2=80=AFAM Jacob Champion wrote: > I'm working on a three-patch set to add FATAL_CLIENT_ONLY, the new > abandoned state, and the log fix making use of both. Attached as v8. --Jacob --00000000000032c29e064d2d5ea8 Content-Type: application/octet-stream; name="v8-0001-Add-FATAL_CLIENT_ONLY-to-ereport-elog.patch" Content-Disposition: attachment; filename="v8-0001-Add-FATAL_CLIENT_ONLY-to-ereport-elog.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmtvaa3d0 RnJvbSBkYmUwNzE3ZGY4Mzc4N2Q5NTIzMDU1MDczZDMwODM5Y2ZlN2VlZTFkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWNvYiBDaGFtcGlvbiA8amFjb2IuY2hhbXBpb25AZW50ZXJw cmlzZWRiLmNvbT4KRGF0ZTogV2VkLCAxMSBNYXIgMjAyNiAxNTo0OTowMiAtMDcwMApTdWJqZWN0 OiBbUEFUQ0ggdjggMS8zXSBBZGQgRkFUQUxfQ0xJRU5UX09OTFkgdG8gZXJlcG9ydC9lbG9nCgpT QVNMIGV4Y2hhbmdlcyBtdXN0IGVuZCB3aXRoIGVpdGhlciBhbiBBdXRoZW50aWNhdGlvbk9rIG9y IGFuCkVycm9yUmVzcG9uc2UgZnJvbSB0aGUgc2VydmVyLCBhbmQgdGhlIHN0YW5kYXJkIHdheSB0 byBwcm9kdWNlIGFuCkVycm9yUmVzcG9uc2UgcGFja2V0IGlzIGZvciBhdXRoX2ZhaWxlZCgpIHRv IGNhbGwgZXJlcG9ydChGQVRBTCkuIFRoaXMKbWVhbnMgdGhhdCB0aGVyZSdzIG5vIHdheSBmb3Ig YSBTQVNMIG1lY2hhbmlzbSB0byBzdXBwcmVzcyB0aGUgc2VydmVyCmxvZyBlbnRyeSBpZiB0aGUg ImF1dGhlbnRpY2F0aW9uIGF0dGVtcHQiIHdhcyByZWFsbHkganVzdCBhIHF1ZXJ5IGZvcgphdXRo ZW50aWNhdGlvbiBtZXRhZGF0YSwgYXMgaXMgZG9uZSB3aXRoIE9BVVRIQkVBUkVSLgoKRm9sbG93 aW5nIHRoZSBleGFtcGxlIG9mIDFmOTE1OGJhNCwgYWRkIGEgRkFUQUxfQ0xJRU5UX09OTFkgZWxl dmVsLiBUaGlzCndpbGwgYWxsb3cgQ2xpZW50QXV0aGVudGljYXRpb24oKSB0byBjaG9vc2Ugbm90 IHRvIGxvZyBhIHBhcnRpY3VsYXIKZmFpbHVyZSwgd2hpbGUgc3RpbGwgY29ycmVjdGx5IGVuZGlu ZyB0aGUgYXV0aGVudGljYXRpb24gZXhjaGFuZ2UgYmVmb3JlCnByb2Nlc3MgZXhpdC4KLS0tCiBz cmMvaW5jbHVkZS91dGlscy9lbG9nLmggICAgICAgfCAzICsrLQogc3JjL2JhY2tlbmQvdXRpbHMv ZXJyb3IvZWxvZy5jIHwgNyArKysrKy0tCiAyIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygr KSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS91dGlscy9lbG9nLmgg Yi9zcmMvaW5jbHVkZS91dGlscy9lbG9nLmgKaW5kZXggYTEyYjM3OWUwOWEuLjQ0MGEwMmRkMTQ3 IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS91dGlscy9lbG9nLmgKKysrIGIvc3JjL2luY2x1ZGUv dXRpbHMvZWxvZy5oCkBAIC01Myw3ICs1Myw4IEBAIHN0cnVjdCBOb2RlOwogCQkJCQkJCQkgKiBr bm93biBzdGF0ZSAqLwogI2RlZmluZSBQR0VSUk9SCQkyMQkJCS8qIE11c3QgZXF1YWwgRVJST1I7 IHNlZSBOT1RFIGJlbG93LiAqLwogI2RlZmluZSBGQVRBTAkJMjIJCQkvKiBmYXRhbCBlcnJvciAt IGFib3J0IHByb2Nlc3MgKi8KLSNkZWZpbmUgUEFOSUMJCTIzCQkJLyogdGFrZSBkb3duIHRoZSBv dGhlciBiYWNrZW5kcyB3aXRoIG1lICovCisjZGVmaW5lIEZBVEFMX0NMSUVOVF9PTkxZIDIzCS8q IGZhdGFsIHZlcnNpb24gb2YgV0FSTklOR19DTElFTlRfT05MWSAqLworI2RlZmluZSBQQU5JQwkJ MjQJCQkvKiB0YWtlIGRvd24gdGhlIG90aGVyIGJhY2tlbmRzIHdpdGggbWUgKi8KIAogLyoKICAq IE5PVEU6IHRoZSBhbHRlcm5hdGUgbmFtZXMgUEdXQVJOSU5HIGFuZCBQR0VSUk9SIGFyZSB1c2Vm dWwgZm9yIGRlYWxpbmcKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2Vycm9yL2Vsb2cu YyBiL3NyYy9iYWNrZW5kL3V0aWxzL2Vycm9yL2Vsb2cuYwppbmRleCA4MGI3OGYyNTI2Ny4uMjcx OTA0OTA0MGEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2Vycm9yL2Vsb2cuYworKysg Yi9zcmMvYmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMKQEAgLTIxNyw3ICsyMTcsNyBAQCBpc19s b2dfbGV2ZWxfb3V0cHV0KGludCBlbGV2ZWwsIGludCBsb2dfbWluX2xldmVsKQogCQlpZiAobG9n X21pbl9sZXZlbCA9PSBMT0cgfHwgbG9nX21pbl9sZXZlbCA8PSBFUlJPUikKIAkJCXJldHVybiB0 cnVlOwogCX0KLQllbHNlIGlmIChlbGV2ZWwgPT0gV0FSTklOR19DTElFTlRfT05MWSkKKwllbHNl IGlmIChlbGV2ZWwgPT0gV0FSTklOR19DTElFTlRfT05MWSB8fCBlbGV2ZWwgPT0gRkFUQUxfQ0xJ RU5UX09OTFkpCiAJewogCQkvKiBuZXZlciBzZW50IHRvIGxvZywgcmVnYXJkbGVzcyBvZiBsb2df bWluX2xldmVsICovCiAJCXJldHVybiBmYWxzZTsKQEAgLTU3Myw3ICs1NzMsNyBAQCBlcnJmaW5p c2goY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCBsaW5lbm8sIGNvbnN0IGNoYXIgKmZ1bmNuYW1l KQogCS8qCiAJICogUGVyZm9ybSBlcnJvciByZWNvdmVyeSBhY3Rpb24gYXMgc3BlY2lmaWVkIGJ5 IGVsZXZlbC4KIAkgKi8KLQlpZiAoZWxldmVsID09IEZBVEFMKQorCWlmIChlbGV2ZWwgPT0gRkFU QUwgfHwgZWxldmVsID09IEZBVEFMX0NMSUVOVF9PTkxZKQogCXsKIAkJLyoKIAkJICogRm9yIGEg RkFUQUwgZXJyb3IsIHdlIGxldCBwcm9jX2V4aXQgY2xlYW4gdXAgYW5kIGV4aXQuCkBAIC0yOTY1 LDYgKzI5NjUsNyBAQCB3cml0ZV9ldmVudGxvZyhpbnQgbGV2ZWwsIGNvbnN0IGNoYXIgKmxpbmUs IGludCBsZW4pCiAJCQlicmVhazsKIAkJY2FzZSBFUlJPUjoKIAkJY2FzZSBGQVRBTDoKKwkJY2Fz ZSBGQVRBTF9DTElFTlRfT05MWToKIAkJY2FzZSBQQU5JQzoKIAkJZGVmYXVsdDoKIAkJCWV2ZW50 bGV2ZWwgPSBFVkVOVExPR19FUlJPUl9UWVBFOwpAQCAtMzgwMCw2ICszODAxLDcgQEAgc2VuZF9t ZXNzYWdlX3RvX3NlcnZlcl9sb2coRXJyb3JEYXRhICplZGF0YSkKIAkJCQlzeXNsb2dfbGV2ZWwg PSBMT0dfV0FSTklORzsKIAkJCQlicmVhazsKIAkJCWNhc2UgRkFUQUw6CisJCQljYXNlIEZBVEFM X0NMSUVOVF9PTkxZOgogCQkJCXN5c2xvZ19sZXZlbCA9IExPR19FUlI7CiAJCQkJYnJlYWs7CiAJ CQljYXNlIFBBTklDOgpAQCAtNDE4Miw2ICs0MTg0LDcgQEAgZXJyb3Jfc2V2ZXJpdHkoaW50IGVs ZXZlbCkKIAkJCXByZWZpeCA9IGdldHRleHRfbm9vcCgiRVJST1IiKTsKIAkJCWJyZWFrOwogCQlj YXNlIEZBVEFMOgorCQljYXNlIEZBVEFMX0NMSUVOVF9PTkxZOgogCQkJcHJlZml4ID0gZ2V0dGV4 dF9ub29wKCJGQVRBTCIpOwogCQkJYnJlYWs7CiAJCWNhc2UgUEFOSUM6Ci0tIAoyLjM0LjEKCg== --00000000000032c29e064d2d5ea8 Content-Type: application/octet-stream; name="v8-0003-oauth-Don-t-log-discovery-connections-by-default.patch" Content-Disposition: attachment; filename="v8-0003-oauth-Don-t-log-discovery-connections-by-default.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmtvaa3r2 RnJvbSA4NWQ3MDNmNWY4YWMzMzFjMzg0YWQwYjU0ZmVjZDA0NzVlMTRkZTQ3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWNvYiBDaGFtcGlvbiA8amFjb2IuY2hhbXBpb25AZW50ZXJw cmlzZWRiLmNvbT4KRGF0ZTogTW9uLCAxNiBNYXIgMjAyNiAxNzowMTowNSAtMDcwMApTdWJqZWN0 OiBbUEFUQ0ggdjggMy8zXSBvYXV0aDogRG9uJ3QgbG9nIGRpc2NvdmVyeSBjb25uZWN0aW9ucyBi eSBkZWZhdWx0CgpDdXJyZW50bHksIHdoZW4gdGhlIGNsaWVudCBzZW5kcyBhIHBhcmFtZXRlciBk aXNjb3ZlcnkgcmVxdWVzdCB3aXRoaW4KT0FVVEhCRUFSRVIsIHRoZSBzZXJ2ZXIgbG9ncyB0aGUg YXR0ZW1wdCB3aXRoCgogICAgRkFUQUw6ICBPQXV0aCBiZWFyZXIgYXV0aGVudGljYXRpb24gZmFp bGVkIGZvciB1c2VyCgpUaGVzZSBsb2cgZW50cmllcyBhcmUgZGlmZmljdWx0IHRvIGRpc3Rpbmd1 aXNoIGZyb20gdHJ1ZSBhdXRoZW50aWNhdGlvbgpmYWlsdXJlcywgYW5kIGJ5IGRlZmF1bHQsIGxp YnBxIHNlbmRzIGEgZGlzY292ZXJ5IHJlcXVlc3QgYXMgcGFydCBvZgpldmVyeSBPQXV0aCBjb25u ZWN0aW9uLCBtYWtpbmcgdGhlbSBhbm5veWluZ2x5IG5vaXN5LiBVc2UgdGhlIG5ldwpQR19TQVNM X0VYQ0hBTkdFX0FCQU5ET05FRCBzdGF0dXMgdG8gc3VwcHJlc3MgdGhlbS4KCkF1dGhvcjogWnNv bHQgUGFycmFnaSA8enNvbHQucGFycmFnaUBwZXJjb25hLmNvbT4KLS0tCiBzcmMvYmFja2VuZC9s aWJwcS9hdXRoLW9hdXRoLmMgICAgICAgICAgICAgICAgfCA0NSArKysrKysrKysrKystLS0tLS0t CiAuLi4vbW9kdWxlcy9vYXV0aF92YWxpZGF0b3IvdC8wMDFfc2VydmVyLnBsICAgfCAgNiArKy0K IDIgZmlsZXMgY2hhbmdlZCwgMzQgaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvbGlicHEvYXV0aC1vYXV0aC5jIGIvc3JjL2JhY2tlbmQvbGli cHEvYXV0aC1vYXV0aC5jCmluZGV4IDExMzY1MDQ4OTUxLi44OTRlZmUzYzkwNCAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvbGlicHEvYXV0aC1vYXV0aC5jCisrKyBiL3NyYy9iYWNrZW5kL2xpYnBx L2F1dGgtb2F1dGguYwpAQCAtNTgsNiArNTgsNyBAQCBlbnVtIG9hdXRoX3N0YXRlCiB7CiAJT0FV VEhfU1RBVEVfSU5JVCA9IDAsCiAJT0FVVEhfU1RBVEVfRVJST1IsCisJT0FVVEhfU1RBVEVfRVJS T1JfRElTQ09WRVJZLAogCU9BVVRIX1NUQVRFX0ZJTklTSEVELAogfTsKIApAQCAtMTgxLDYgKzE4 Miw3IEBAIG9hdXRoX2V4Y2hhbmdlKHZvaWQgKm9wYXEsIGNvbnN0IGNoYXIgKmlucHV0LCBpbnQg aW5wdXRsZW4sCiAJCQlicmVhazsKIAogCQljYXNlIE9BVVRIX1NUQVRFX0VSUk9SOgorCQljYXNl IE9BVVRIX1NUQVRFX0VSUk9SX0RJU0NPVkVSWToKIAogCQkJLyoKIAkJCSAqIE9ubHkgb25lIHJl c3BvbnNlIGlzIHZhbGlkIGZvciB0aGUgY2xpZW50IGR1cmluZyBhdXRoZW50aWNhdGlvbgpAQCAt MTkyLDcgKzE5NCwxOSBAQCBvYXV0aF9leGNoYW5nZSh2b2lkICpvcGFxLCBjb25zdCBjaGFyICpp bnB1dCwgaW50IGlucHV0bGVuLAogCQkJCQkJZXJybXNnKCJtYWxmb3JtZWQgT0FVVEhCRUFSRVIg bWVzc2FnZSIpLAogCQkJCQkJZXJyZGV0YWlsKCJDbGllbnQgZGlkIG5vdCBzZW5kIGEga3ZzZXAg cmVzcG9uc2UuIikpOwogCi0JCQkvKiBUaGUgKGZhaWxlZCkgaGFuZHNoYWtlIGlzIG5vdyBjb21w bGV0ZS4gKi8KKwkJCS8qCisJCQkgKiBUaGUgKGZhaWxlZCkgaGFuZHNoYWtlIGlzIG5vdyBjb21w bGV0ZS4gRG9uJ3QgcmVwb3J0IGRpc2NvdmVyeQorCQkJICogcmVxdWVzdHMgaW4gdGhlIHNlcnZl ciBsb2cgdW5sZXNzIHRoZSBsb2cgbGV2ZWwgaXMgaGlnaCBlbm91Z2guCisJCQkgKi8KKwkJCWlm IChjdHgtPnN0YXRlID09IE9BVVRIX1NUQVRFX0VSUk9SX0RJU0NPVkVSWSkKKwkJCXsKKwkJCQll cmVwb3J0KERFQlVHMSwgZXJybXNnKCJPQXV0aCBpc3N1ZXIgZGlzY292ZXJ5IHJlcXVlc3RlZCIp KTsKKworCQkJCWN0eC0+c3RhdGUgPSBPQVVUSF9TVEFURV9GSU5JU0hFRDsKKwkJCQlyZXR1cm4g UEdfU0FTTF9FWENIQU5HRV9BQkFORE9ORUQ7CisJCQl9CisKKwkJCS8qIFdlJ3JlIG5vdCBpbiBk aXNjb3ZlcnksIHNvIHRoaXMgaXMganVzdCBhIG5vcm1hbCBhdXRoIGZhaWx1cmUuICovCiAJCQlj dHgtPnN0YXRlID0gT0FVVEhfU1RBVEVfRklOSVNIRUQ7CiAJCQlyZXR1cm4gUEdfU0FTTF9FWENI QU5HRV9GQUlMVVJFOwogCkBAIC0yNzksNyArMjkzLDE5IEBAIG9hdXRoX2V4Y2hhbmdlKHZvaWQg Km9wYXEsIGNvbnN0IGNoYXIgKmlucHV0LCBpbnQgaW5wdXRsZW4sCiAJCQkJZXJybXNnKCJtYWxm b3JtZWQgT0FVVEhCRUFSRVIgbWVzc2FnZSIpLAogCQkJCWVycmRldGFpbCgiTWVzc2FnZSBjb250 YWlucyBhZGRpdGlvbmFsIGRhdGEgYWZ0ZXIgdGhlIGZpbmFsIHRlcm1pbmF0b3IuIikpOwogCi0J aWYgKCF2YWxpZGF0ZShjdHgtPnBvcnQsIGF1dGgpKQorCWlmIChhdXRoWzBdID09ICdcMCcpCisJ eworCQkvKgorCQkgKiBBbiBlbXB0eSBhdXRoIHZhbHVlIHJlcHJlc2VudHMgYSBkaXNjb3Zlcnkg cmVxdWVzdDsgdGhlIGNsaWVudAorCQkgKiBleHBlY3RzIGl0IHRvIGZhaWwuICBTa2lwIHZhbGlk YXRpb24gZW50aXJlbHkgYW5kIG1vdmUgZGlyZWN0bHkgdG8KKwkJICogdGhlIGVycm9yIHJlc3Bv bnNlLgorCQkgKi8KKwkJZ2VuZXJhdGVfZXJyb3JfcmVzcG9uc2UoY3R4LCBvdXRwdXQsIG91dHB1 dGxlbik7CisKKwkJY3R4LT5zdGF0ZSA9IE9BVVRIX1NUQVRFX0VSUk9SX0RJU0NPVkVSWTsKKwkJ c3RhdHVzID0gUEdfU0FTTF9FWENIQU5HRV9DT05USU5VRTsKKwl9CisJZWxzZSBpZiAoIXZhbGlk YXRlKGN0eC0+cG9ydCwgYXV0aCkpCiAJewogCQlnZW5lcmF0ZV9lcnJvcl9yZXNwb25zZShjdHgs IG91dHB1dCwgb3V0cHV0bGVuKTsKIApAQCAtNTY0LDE5ICs1OTAsOCBAQCB2YWxpZGF0ZV90b2tl bl9mb3JtYXQoY29uc3QgY2hhciAqaGVhZGVyKQogCiAJLyogTWlzc2luZyBhdXRoIGhlYWRlcnMg c2hvdWxkIGJlIGhhbmRsZWQgYnkgdGhlIGNhbGxlci4gKi8KIAlBc3NlcnQoaGVhZGVyKTsKLQot CWlmIChoZWFkZXJbMF0gPT0gJ1wwJykKLQl7Ci0JCS8qCi0JCSAqIEEgY29tcGxldGVseSBlbXB0 eSBhdXRoIGhlYWRlciByZXByZXNlbnRzIGEgcXVlcnkgZm9yCi0JCSAqIGF1dGhlbnRpY2F0aW9u IHBhcmFtZXRlcnMuIFRoZSBjbGllbnQgZXhwZWN0cyBpdCB0byBmYWlsOyB0aGVyZSdzCi0JCSAq IG5vIG5lZWQgdG8gbWFrZSBhbnkgZXh0cmEgbm9pc2UgaW4gdGhlIGxvZ3MuCi0JCSAqCi0JCSAq IFRPRE86IHNob3VsZCB3ZSBmaW5kIGEgd2F5IHRvIHJldHVybiBTVEFUVVNfRU9GIGF0IHRoZSB0 b3AgbGV2ZWwsCi0JCSAqIHRvIHN1cHByZXNzIHRoZSBhdXRoZW50aWNhdGlvbiBlcnJvciBlbnRp cmVseT8KLQkJICovCi0JCXJldHVybiBOVUxMOwotCX0KKwkvKiBFbXB0eSBhdXRoIChkaXNjb3Zl cnkpIHNob3VsZCBiZSBoYW5kbGVkIGJlZm9yZSBjYWxsaW5nIHZhbGlkYXRlKCkuICovCisJQXNz ZXJ0KGhlYWRlclswXSAhPSAnXDAnKTsKIAogCWlmIChwZ19zdHJuY2FzZWNtcChoZWFkZXIsIEJF QVJFUl9TQ0hFTUUsIHN0cmxlbihCRUFSRVJfU0NIRU1FKSkpCiAJewpkaWZmIC0tZ2l0IGEvc3Jj L3Rlc3QvbW9kdWxlcy9vYXV0aF92YWxpZGF0b3IvdC8wMDFfc2VydmVyLnBsIGIvc3JjL3Rlc3Qv bW9kdWxlcy9vYXV0aF92YWxpZGF0b3IvdC8wMDFfc2VydmVyLnBsCmluZGV4IGNkYWQyYWU4MDEx Li5mNWRjNDI3Y2RkMSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvbW9kdWxlcy9vYXV0aF92YWxpZGF0 b3IvdC8wMDFfc2VydmVyLnBsCisrKyBiL3NyYy90ZXN0L21vZHVsZXMvb2F1dGhfdmFsaWRhdG9y L3QvMDAxX3NlcnZlci5wbApAQCAtMTUxLDcgKzE1MSw4IEBAICRub2RlLT5jb25uZWN0X29rKAog CQlxci9vYXV0aF92YWxpZGF0b3I6IGlzc3Vlcj0iXFEkaXNzdWVyXEUiLCBzY29wZT0ib3Blbmlk IHBvc3RncmVzIi8sCiAJCXFyL2Nvbm5lY3Rpb24gYXV0aGVudGljYXRlZDogaWRlbnRpdHk9InRl c3QiIG1ldGhvZD1vYXV0aC8sCiAJCXFyL2Nvbm5lY3Rpb24gYXV0aG9yaXplZC8sCi0JXSk7CisJ XSwKKwlsb2dfdW5saWtlID0+IFtxci9GQVRBTC4qT0F1dGggYmVhcmVyIGF1dGhlbnRpY2F0aW9u IGZhaWxlZC9dKTsKIAogIyBUaGUgL2FsdGVybmF0ZSBpc3N1ZXIgdXNlcyBzbGlnaHRseSBkaWZm ZXJlbnQgcGFyYW1ldGVycywgYWxvbmcgd2l0aCBhbgogIyBPQXV0aC1zdHlsZSBkaXNjb3Zlcnkg ZG9jdW1lbnQuCkBAIC0xNjYsNyArMTY3LDggQEAgJG5vZGUtPmNvbm5lY3Rfb2soCiAJCXFyfG9h dXRoX3ZhbGlkYXRvcjogaXNzdWVyPSJcUSRpc3N1ZXIvLndlbGwta25vd24vb2F1dGgtYXV0aG9y aXphdGlvbi1zZXJ2ZXIvYWx0ZXJuYXRlXEUiLCBzY29wZT0ib3BlbmlkIHBvc3RncmVzIGFsdCJ8 LAogCQlxci9jb25uZWN0aW9uIGF1dGhlbnRpY2F0ZWQ6IGlkZW50aXR5PSJ0ZXN0YWx0IiBtZXRo b2Q9b2F1dGgvLAogCQlxci9jb25uZWN0aW9uIGF1dGhvcml6ZWQvLAotCV0pOworCV0sCisJbG9n X3VubGlrZSA9PiBbcXIvRkFUQUwuKk9BdXRoIGJlYXJlciBhdXRoZW50aWNhdGlvbiBmYWlsZWQv XSk7CiAKICMgVGhlIGlzc3VlciBsaW5rZWQgYnkgdGhlIHNlcnZlciBtdXN0IG1hdGNoIHRoZSBj bGllbnQncyBvYXV0aF9pc3N1ZXIgc2V0dGluZy4KICRub2RlLT5jb25uZWN0X2ZhaWxzKAotLSAK Mi4zNC4xCgo= --00000000000032c29e064d2d5ea8 Content-Type: application/octet-stream; name="v8-0002-sasl-Allow-backend-mechanisms-to-abandon-exchange.patch" Content-Disposition: attachment; filename="v8-0002-sasl-Allow-backend-mechanisms-to-abandon-exchange.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmtvaa3o1 RnJvbSBmMTI0ZGViNzZkOTVkNmFjNDFjZmM4ZjIwZjQxYjEwMjQ5ZjlmMmQxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWNvYiBDaGFtcGlvbiA8amFjb2IuY2hhbXBpb25AZW50ZXJw cmlzZWRiLmNvbT4KRGF0ZTogTW9uLCAxNiBNYXIgMjAyNiAxNzowOTowOCAtMDcwMApTdWJqZWN0 OiBbUEFUQ0ggdjggMi8zXSBzYXNsOiBBbGxvdyBiYWNrZW5kIG1lY2hhbmlzbXMgdG8gImFiYW5k b24iIGV4Y2hhbmdlcwoKSW50cm9kdWNlIFBHX1NBU0xfRVhDSEFOR0VfQUJBTkRPTkVELCB3aGlj aCBhbGxvd3MgQ2hlY2tTQVNMQXV0aCB0bwpzdXBwcmVzcyB0aGUgZmFpbGluZyBsb2cgZW50cnkg Zm9yIGFueSBTQVNMIGV4Y2hhbmdlIHRoYXQgaXNuJ3QgYWN0dWFsbHkKYW4gYXV0aGVudGljYXRp b24gYXR0ZW1wdC4gVGhpcyBpcyBkZXNpcmFibGUgZm9yIE9BVVRIQkVBUkVSJ3MgZGlzY292ZXJ5 CmV4Y2hhbmdlcyAoYW5kIGEgc3Vic2VxdWVudCBjb21taXQgd2lsbCBtYWtlIHVzZSBvZiBpdCB0 aGVyZSkuCgpUaGlzIG1pZ2h0IGhhdmUgc29tZSBvdmVybGFwIGluIHRoZSBmdXR1cmUgd2l0aCBp bi1iYW5kIGFib3J0cyBmb3IgU0FTTApleGNoYW5nZXMsIGJ1dCBpdCdzIGludGVudGlvbmFsbHkg bm90IG5hbWVkIF9BQk9SVEVEIHRvIGF2b2lkIGNvbmZ1c2lvbi4KKFdlIGRvbid0IGN1cnJlbnRs eSBzdXBwb3J0IGNsaWVudHNpZGUgYWJvcnRzIGluIG91ciBTQVNMIHByb2ZpbGUuKQoKQWRhcHRl ZCBmcm9tIGEgcGF0Y2ggYnkgWnNvbHQgUGFycmFnaS4KCkF1dGhvcjogWnNvbHQgUGFycmFnaSA8 enNvbHQucGFycmFnaUBwZXJjb25hLmNvbT4KQ28tYXV0aG9yZWQtYnk6IEphY29iIENoYW1waW9u IDxqYWNvYi5jaGFtcGlvbkBlbnRlcnByaXNlZGIuY29tPgotLS0KIHNyYy9pbmNsdWRlL2xpYnBx L3Nhc2wuaCAgICAgIHwgMTUgKysrKysrKysrLS0tLS0tCiBzcmMvYmFja2VuZC9saWJwcS9hdXRo LXNhc2wuYyB8IDI0ICsrKysrKysrKysrKysrKysrKysrKystLQogc3JjL2JhY2tlbmQvbGlicHEv YXV0aC5jICAgICAgfCAzMiArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQogMyBmaWxl cyBjaGFuZ2VkLCA1NiBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9zcmMvaW5jbHVkZS9saWJwcS9zYXNsLmggYi9zcmMvaW5jbHVkZS9saWJwcS9zYXNsLmgKaW5k ZXggMWU4ZWM3ZDYyOTMuLmJiMmFmN2E3YWZmIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9saWJw cS9zYXNsLmgKKysrIGIvc3JjL2luY2x1ZGUvbGlicHEvc2FzbC5oCkBAIC0yNSw2ICsyNSw3IEBA CiAjZGVmaW5lIFBHX1NBU0xfRVhDSEFOR0VfQ09OVElOVUUJCTAKICNkZWZpbmUgUEdfU0FTTF9F WENIQU5HRV9TVUNDRVNTCQkxCiAjZGVmaW5lIFBHX1NBU0xfRVhDSEFOR0VfRkFJTFVSRQkJMgor I2RlZmluZSBQR19TQVNMX0VYQ0hBTkdFX0FCQU5ET05FRAkJMwogCiAvKgogICogTWF4aW11bSBh Y2NlcHRlZCBzaXplIG9mIFNBU0wgbWVzc2FnZXMuCkBAIC05Miw4ICs5Myw4IEBAIHR5cGVkZWYg c3RydWN0IHBnX2JlX3Nhc2xfbWVjaAogCSAqCiAJICogUHJvZHVjZXMgYSBzZXJ2ZXIgY2hhbGxl bmdlIHRvIGJlIHNlbnQgdG8gdGhlIGNsaWVudC4gIFRoZSBjYWxsYmFjawogCSAqIG11c3QgcmV0 dXJuIG9uZSBvZiB0aGUgUEdfU0FTTF9FWENIQU5HRV8qIHZhbHVlcywgZGVwZW5kaW5nIG9uCi0J ICogd2hldGhlciB0aGUgZXhjaGFuZ2UgY29udGludWVzLCBoYXMgZmluaXNoZWQgc3VjY2Vzc2Z1 bGx5LCBvciBoYXMKLQkgKiBmYWlsZWQuCisJICogd2hldGhlciB0aGUgZXhjaGFuZ2UgY29udGlu dWVzLCBoYXMgZmluaXNoZWQgc3VjY2Vzc2Z1bGx5LCBoYXMKKwkgKiBmYWlsZWQsIG9yIHdhcyBh YmFuZG9uZWQgYnkgdGhlIGNsaWVudC4KIAkgKgogCSAqIElucHV0IHBhcmFtZXRlcnM6CiAJICoK QEAgLTExOCw4ICsxMTksOSBAQCB0eXBlZGVmIHN0cnVjdCBwZ19iZV9zYXNsX21lY2gKIAkgKgkJ CSAgIHJldHVybmVkIGFuZCB0aGUgbWVjaGFuaXNtIHJlcXVpcmVzIGRhdGEgdG8gYmUgc2VudCBk dXJpbmcKIAkgKgkJCSAgIGEgc3VjY2Vzc2Z1bCBvdXRjb21lKS4gIFRoZSBjYWxsYmFjayBzaG91 bGQgc2V0IHRoaXMgdG8KIAkgKgkJCSAgIE5VTEwgaWYgdGhlIGV4Y2hhbmdlIGlzIG92ZXIgYW5k IG5vIG91dHB1dCBzaG91bGQgYmUgc2VudCwKLQkgKgkJCSAgIHdoaWNoIHNob3VsZCBjb3JyZXNw b25kIHRvIGVpdGhlciBQR19TQVNMX0VYQ0hBTkdFX0ZBSUxVUkUKLQkgKgkJCSAgIG9yIGEgUEdf U0FTTF9FWENIQU5HRV9TVUNDRVNTIHdpdGggbm8gb3V0Y29tZSBkYXRhLgorCSAqCQkJICAgd2hp Y2ggc2hvdWxkIGNvcnJlc3BvbmQgdG8gZWl0aGVyIFBHX1NBU0xfRVhDSEFOR0VfRkFJTFVSRSwK KwkgKgkJCSAgIFBHX1NBU0xfRVhDSEFOR0VfQUJBTkRPTkVELCBvciBhIFBHX1NBU0xfRVhDSEFO R0VfU1VDQ0VTUworCSAqCQkJICAgd2l0aCBubyBvdXRjb21lIGRhdGEuCiAJICoKIAkgKiAgb3V0 cHV0bGVuOiBUaGUgbGVuZ3RoIG9mIHRoZSBjaGFsbGVuZ2UgZGF0YS4gIElnbm9yZWQgaWYgKm91 dHB1dCBpcwogCSAqCQkJICAgTlVMTC4KQEAgLTEyOCw3ICsxMzAsNyBAQCB0eXBlZGVmIHN0cnVj dCBwZ19iZV9zYXNsX21lY2gKIAkgKgkJCSAgIHNlcnZlciBsb2csIHRvIGRpc2FtYmlndWF0ZSBm YWlsdXJlIG1vZGVzLiAgKFRoZSBjbGllbnQKIAkgKgkJCSAgIHdpbGwgb25seSBldmVyIHNlZSB0 aGUgc2FtZSBnZW5lcmljIGF1dGhlbnRpY2F0aW9uCiAJICoJCQkgICBmYWlsdXJlIG1lc3NhZ2Uu KSBJZ25vcmVkIGlmIHRoZSBleGNoYW5nZSBpcyBjb21wbGV0ZWQKLQkgKgkJCSAgIHdpdGggUEdf U0FTTF9FWENIQU5HRV9TVUNDRVNTLgorCSAqCQkJICAgd2l0aCBQR19TQVNMX0VYQ0hBTkdFX1NV Q0NFU1Mgb3IgUEdfU0FTTF9FWENIQU5HRV9BQkFORE9ORUQuCiAJICotLS0tLS0tLS0KIAkgKi8K IAlpbnQJCQkoKmV4Y2hhbmdlKSAodm9pZCAqc3RhdGUsCkBAIC0xNDIsNiArMTQ0LDcgQEAgdHlw ZWRlZiBzdHJ1Y3QgcGdfYmVfc2FzbF9tZWNoCiAKIC8qIENvbW1vbiBpbXBsZW1lbnRhdGlvbiBm b3IgYXV0aC5jICovCiBleHRlcm4gaW50CUNoZWNrU0FTTEF1dGgoY29uc3QgcGdfYmVfc2FzbF9t ZWNoICptZWNoLCBQb3J0ICpwb3J0LAotCQkJCQkJICBjaGFyICpzaGFkb3dfcGFzcywgY29uc3Qg Y2hhciAqKmxvZ2RldGFpbCk7CisJCQkJCQkgIGNoYXIgKnNoYWRvd19wYXNzLCBjb25zdCBjaGFy ICoqbG9nZGV0YWlsLAorCQkJCQkJICBib29sICphYmFuZG9uZWQpOwogCiAjZW5kaWYJCQkJCQkJ LyogUEdfU0FTTF9IICovCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9saWJwcS9hdXRoLXNhc2wu YyBiL3NyYy9iYWNrZW5kL2xpYnBxL2F1dGgtc2FzbC5jCmluZGV4IDM2Y2I3NDhkOTI3Li41OWFj MzhmY2E1MCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvbGlicHEvYXV0aC1zYXNsLmMKKysrIGIv c3JjL2JhY2tlbmQvbGlicHEvYXV0aC1zYXNsLmMKQEAgLTMwLDYgKzMwLDEyIEBACiAgKiBiZSBm b3VuZCBmb3IgdGhlIHJvbGUgKG9yIHRoZSB1c2VyIGRvZXMgbm90IGV4aXN0KSwgYW5kIHRoZSBt ZWNoYW5pc20KICAqIHNob3VsZCBmYWlsIHRoZSBhdXRoZW50aWNhdGlvbiBleGNoYW5nZS4KICAq CisgKiBTb21lIFNBU0wgbWVjaGFuaXNtcyAoZS5nLiBPQVVUSEJFQVJFUikgZGVmaW5lIHNwZWNp YWwgZXhjaGFuZ2VzIGZvcgorICogcGFyYW1ldGVyIGRpc2NvdmVyeS4gVGhlc2UgZXhjaGFuZ2Vz IHdpbGwgYWx3YXlzIHJlc3VsdCBpbiBTVEFUVVNfRVJST1IsCisgKiBzaW5jZSB3ZSBjYW4ndCBs ZXQgdGhlIGNvbm5lY3Rpb24gY29udGludWUsIGJ1dCB3ZSBzaG91bGRuJ3QgY29uc2lkZXIgdGhl bSB0bworICogYmUgZmFpbGVkIGF1dGhlbnRpY2F0aW9uIGF0dGVtcHRzLiAqYWJhbmRvbmVkIHdp bGwgYmUgc2V0IHRvIHRydWUgaW4gdGhpcworICogY2FzZS4KKyAqCiAgKiBNZWNoYW5pc21zIG11 c3QgdGFrZSBjYXJlIG5vdCB0byByZXZlYWwgdG8gdGhlIGNsaWVudCB0aGF0IGEgdXNlciBlbnRy eQogICogZG9lcyBub3QgZXhpc3Q7IGlkZWFsbHksIHRoZSBleHRlcm5hbCBmYWlsdXJlIG1vZGUg aXMgaWRlbnRpY2FsIHRvIHRoYXQKICAqIG9mIGFuIGluY29ycmVjdCBwYXNzd29yZC4gIE1lY2hh bmlzbXMgbWF5IGluc3RlYWQgdXNlIHRoZSBsb2dkZXRhaWwKQEAgLTQyLDcgKzQ4LDcgQEAKICAq LwogaW50CiBDaGVja1NBU0xBdXRoKGNvbnN0IHBnX2JlX3Nhc2xfbWVjaCAqbWVjaCwgUG9ydCAq cG9ydCwgY2hhciAqc2hhZG93X3Bhc3MsCi0JCQkgIGNvbnN0IGNoYXIgKipsb2dkZXRhaWwpCisJ CQkgIGNvbnN0IGNoYXIgKipsb2dkZXRhaWwsIGJvb2wgKmFiYW5kb25lZCkKIHsKIAlTdHJpbmdJ bmZvRGF0YSBzYXNsX21lY2hzOwogCWludAkJCW10eXBlOwpAQCAtMTY3LDcgKzE3Myw3IEBAIENo ZWNrU0FTTEF1dGgoY29uc3QgcGdfYmVfc2FzbF9tZWNoICptZWNoLCBQb3J0ICpwb3J0LCBjaGFy ICpzaGFkb3dfcGFzcywKIAkJCSAqIFBHX1NBU0xfRVhDSEFOR0VfRkFJTFVSRSB3aXRoIHNvbWUg b3V0cHV0IGlzIGZvcmJpZGRlbiBieSBTQVNMLgogCQkJICogTWFrZSBzdXJlIGhlcmUgdGhhdCB0 aGUgbWVjaGFuaXNtIHVzZWQgZ290IHRoYXQgcmlnaHQuCiAJCQkgKi8KLQkJCWlmIChyZXN1bHQg PT0gUEdfU0FTTF9FWENIQU5HRV9GQUlMVVJFKQorCQkJaWYgKHJlc3VsdCA9PSBQR19TQVNMX0VY Q0hBTkdFX0ZBSUxVUkUgfHwgcmVzdWx0ID09IFBHX1NBU0xfRVhDSEFOR0VfQUJBTkRPTkVEKQog CQkJCWVsb2coRVJST1IsICJvdXRwdXQgbWVzc2FnZSBmb3VuZCBhZnRlciBTQVNMIGV4Y2hhbmdl IGZhaWx1cmUiKTsKIAogCQkJLyoKQEAgLTE4NCw2ICsxOTAsMjAgQEAgQ2hlY2tTQVNMQXV0aChj b25zdCBwZ19iZV9zYXNsX21lY2ggKm1lY2gsIFBvcnQgKnBvcnQsIGNoYXIgKnNoYWRvd19wYXNz LAogCQl9CiAJfSB3aGlsZSAocmVzdWx0ID09IFBHX1NBU0xfRVhDSEFOR0VfQ09OVElOVUUpOwog CisJaWYgKHJlc3VsdCA9PSBQR19TQVNMX0VYQ0hBTkdFX0FCQU5ET05FRCkKKwl7CisJCWlmICgh YWJhbmRvbmVkKQorCQl7CisJCQkvKgorCQkJICogUHJvZ3JhbW1lciBlcnJvcjogY2FsbGVyIG5l ZWRzIHRvIHRyYWNrIHRoZSBhYmFuZG9uZWQgc3RhdGUgZm9yCisJCQkgKiB0aGlzIG1lY2hhbmlz bS4KKwkJCSAqLworCQkJZWxvZyhFUlJPUiwgIlNBU0wgZXhjaGFuZ2Ugd2FzIGFiYW5kb25lZCwg YnV0IENoZWNrU0FTTEF1dGggaXNuJ3QgdHJhY2tpbmcgaXQiKTsKKwkJfQorCisJCSphYmFuZG9u ZWQgPSB0cnVlOworCX0KKwogCS8qIE9vcHMsIFNvbWV0aGluZyBiYWQgaGFwcGVuZWQgKi8KIAlp ZiAocmVzdWx0ICE9IFBHX1NBU0xfRVhDSEFOR0VfU1VDQ0VTUykKIAl7CmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC9saWJwcS9hdXRoLmMgYi9zcmMvYmFja2VuZC9saWJwcS9hdXRoLmMKaW5kZXgg ZTA0YWEyZTY4ZWQuLmZkYWNjMDYwMzgxIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9saWJwcS9h dXRoLmMKKysrIGIvc3JjL2JhY2tlbmQvbGlicHEvYXV0aC5jCkBAIC00NSw3ICs0NSw4IEBACiAg KiBHbG9iYWwgYXV0aGVudGljYXRpb24gZnVuY3Rpb25zCiAgKi0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqLwotc3RhdGlj IHZvaWQgYXV0aF9mYWlsZWQoUG9ydCAqcG9ydCwgaW50IHN0YXR1cywgY29uc3QgY2hhciAqbG9n ZGV0YWlsKTsKK3N0YXRpYyB2b2lkIGF1dGhfZmFpbGVkKFBvcnQgKnBvcnQsIGludCBlbGV2ZWws IGludCBzdGF0dXMsCisJCQkJCQljb25zdCBjaGFyICpsb2dkZXRhaWwpOwogc3RhdGljIGNoYXIg KnJlY3ZfcGFzc3dvcmRfcGFja2V0KFBvcnQgKnBvcnQpOwogCiAKQEAgLTIzMywxNSArMjM0LDE4 IEBAIENsaWVudEF1dGhlbnRpY2F0aW9uX2hvb2tfdHlwZSBDbGllbnRBdXRoZW50aWNhdGlvbl9o b29rID0gTlVMTDsKICAqIGFueXdheS4KICAqIE5vdGUgdGhhdCBtYW55IHNvcnRzIG9mIGZhaWx1 cmUgcmVwb3J0IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gaW4gdGhlCiAgKiBwb3N0bWFzdGVyIGxv Zywgd2hpY2ggd2UgaG9wZSBpcyBvbmx5IHJlYWRhYmxlIGJ5IGdvb2QgZ3V5cy4gIEluCi0gKiBw YXJ0aWN1bGFyLCBpZiBsb2dkZXRhaWwgaXNuJ3QgTlVMTCwgd2Ugc2VuZCB0aGF0IHN0cmluZyB0 byB0aGUgbG9nLgorICogcGFydGljdWxhciwgaWYgbG9nZGV0YWlsIGlzbid0IE5VTEwsIHdlIHNl bmQgdGhhdCBzdHJpbmcgdG8gdGhlIGxvZworICogd2hlbiB0aGUgZWxldmVsIGFsbG93cy4KICAq Lwogc3RhdGljIHZvaWQKLWF1dGhfZmFpbGVkKFBvcnQgKnBvcnQsIGludCBzdGF0dXMsIGNvbnN0 IGNoYXIgKmxvZ2RldGFpbCkKK2F1dGhfZmFpbGVkKFBvcnQgKnBvcnQsIGludCBlbGV2ZWwsIGlu dCBzdGF0dXMsIGNvbnN0IGNoYXIgKmxvZ2RldGFpbCkKIHsKIAljb25zdCBjaGFyICplcnJzdHI7 CiAJY2hhcgkgICAqY2RldGFpbDsKIAlpbnQJCQllcnJjb2RlX3JldHVybiA9IEVSUkNPREVfSU5W QUxJRF9BVVRIT1JJWkFUSU9OX1NQRUNJRklDQVRJT047CiAKKwlBc3NlcnQoZWxldmVsID49IEZB VEFMKTsJLyogd2UgbXVzdCBleGl0IGhlcmUgKi8KKwogCS8qCiAJICogSWYgd2UgZmFpbGVkIGR1 ZSB0byBFT0YgZnJvbSBjbGllbnQsIGp1c3QgcXVpdDsgdGhlcmUncyBubyBwb2ludCBpbgogCSAq IHRyeWluZyB0byBzZW5kIGEgbWVzc2FnZSB0byB0aGUgY2xpZW50LCBhbmQgbm90IG11Y2ggcG9p bnQgaW4gbG9nZ2luZwpAQCAtMzE0LDEyICszMTgsMTMgQEAgYXV0aF9mYWlsZWQoUG9ydCAqcG9y dCwgaW50IHN0YXR1cywgY29uc3QgY2hhciAqbG9nZGV0YWlsKQogCWVsc2UKIAkJbG9nZGV0YWls ID0gY2RldGFpbDsKIAotCWVyZXBvcnQoRkFUQUwsCisJZXJlcG9ydChlbGV2ZWwsCiAJCQkoZXJy Y29kZShlcnJjb2RlX3JldHVybiksCiAJCQkgZXJybXNnKGVycnN0ciwgcG9ydC0+dXNlcl9uYW1l KSwKIAkJCSBsb2dkZXRhaWwgPyBlcnJkZXRhaWxfbG9nKCIlcyIsIGxvZ2RldGFpbCkgOiAwKSk7 CiAKIAkvKiBkb2Vzbid0IHJldHVybiAqLworCXBnX3VucmVhY2hhYmxlKCk7CiB9CiAKIApAQCAt MzgxLDYgKzM4NiwxNSBAQCBDbGllbnRBdXRoZW50aWNhdGlvbihQb3J0ICpwb3J0KQogCWludAkJ CXN0YXR1cyA9IFNUQVRVU19FUlJPUjsKIAljb25zdCBjaGFyICpsb2dkZXRhaWwgPSBOVUxMOwog CisJLyoKKwkgKiAiQWJhbmRvbmVkIiBpcyBhIFNBU0wtc3BlY2lmaWMgc3RhdGUgc2ltaWxhciB0 byBTVEFUVVNfRU9GLCBpbiB0aGF0IHdlCisJICogZG9uJ3Qgd2FudCB0byBnZW5lcmF0ZSBhbnkg c2VydmVyIGxvZ3MuIEJ1dCBpdCdzIGNhdXNlZCBieSBhbiBpbi1iYW5kCisJICogY2xpZW50IGFj dGlvbiB0aGF0IHJlcXVpcmVzIGEgc2VydmVyIHJlc3BvbnNlLCBub3QgYW4gb3V0LW9mLWJhbmQK KwkgKiBjb25uZWN0aW9uIGNsb3N1cmUsIHNvIHdlIGNhbid0IGp1c3QgcHJvY19leGl0KCkgbGlr ZSB3ZSBkbyB3aXRoCisJICogU1RBVFVTX0VPRi4KKwkgKi8KKwlib29sCQlhYmFuZG9uZWQgPSBm YWxzZTsKKwogCS8qCiAJICogR2V0IHRoZSBhdXRoZW50aWNhdGlvbiBtZXRob2QgdG8gdXNlIGZv ciB0aGlzIGZyb250ZW5kL2RhdGFiYXNlCiAJICogY29tYmluYXRpb24uICBOb3RlOiB3ZSBkbyBu b3QgcGFyc2UgdGhlIGZpbGUgYXQgdGhpcyBwb2ludDsgdGhpcyBoYXMKQEAgLTYyNSw3ICs2Mzks OCBAQCBDbGllbnRBdXRoZW50aWNhdGlvbihQb3J0ICpwb3J0KQogCQkJc3RhdHVzID0gU1RBVFVT X09LOwogCQkJYnJlYWs7CiAJCWNhc2UgdWFPQXV0aDoKLQkJCXN0YXR1cyA9IENoZWNrU0FTTEF1 dGgoJnBnX2JlX29hdXRoX21lY2gsIHBvcnQsIE5VTEwsIE5VTEwpOworCQkJc3RhdHVzID0gQ2hl Y2tTQVNMQXV0aCgmcGdfYmVfb2F1dGhfbWVjaCwgcG9ydCwgTlVMTCwgTlVMTCwKKwkJCQkJCQkJ ICAgJmFiYW5kb25lZCk7CiAJCQlicmVhazsKIAl9CiAKQEAgLTY2Niw3ICs2ODEsMTAgQEAgQ2xp ZW50QXV0aGVudGljYXRpb24oUG9ydCAqcG9ydCkKIAlpZiAoc3RhdHVzID09IFNUQVRVU19PSykK IAkJc2VuZEF1dGhSZXF1ZXN0KHBvcnQsIEFVVEhfUkVRX09LLCBOVUxMLCAwKTsKIAllbHNlCi0J CWF1dGhfZmFpbGVkKHBvcnQsIHN0YXR1cywgbG9nZGV0YWlsKTsKKwkJYXV0aF9mYWlsZWQocG9y dCwKKwkJCQkJYWJhbmRvbmVkID8gRkFUQUxfQ0xJRU5UX09OTFkgOiBGQVRBTCwKKwkJCQkJc3Rh dHVzLAorCQkJCQlsb2dkZXRhaWwpOwogfQogCiAKQEAgLTg2MCw3ICs4NzgsNyBAQCBDaGVja1BX Q2hhbGxlbmdlQXV0aChQb3J0ICpwb3J0LCBjb25zdCBjaGFyICoqbG9nZGV0YWlsKQogCQlhdXRo X3Jlc3VsdCA9IENoZWNrTUQ1QXV0aChwb3J0LCBzaGFkb3dfcGFzcywgbG9nZGV0YWlsKTsKIAll bHNlCiAJCWF1dGhfcmVzdWx0ID0gQ2hlY2tTQVNMQXV0aCgmcGdfYmVfc2NyYW1fbWVjaCwgcG9y dCwgc2hhZG93X3Bhc3MsCi0JCQkJCQkJCQlsb2dkZXRhaWwpOworCQkJCQkJCQkJbG9nZGV0YWls LCBOVUxMIC8qIGNhbid0IGFiYW5kb24gU0NSQU0gKi8gKTsKIAogCWlmIChzaGFkb3dfcGFzcykK IAkJcGZyZWUoc2hhZG93X3Bhc3MpOwotLSAKMi4zNC4xCgo= --00000000000032c29e064d2d5ea8--