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 1mpkLk-0007il-W1 for pgsql-hackers@arkaria.postgresql.org; Wed, 24 Nov 2021 04:57:41 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mpkLj-0001DL-Go for pgsql-hackers@arkaria.postgresql.org; Wed, 24 Nov 2021 04:57:39 +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 1mpkLi-0001DC-RL for pgsql-hackers@lists.postgresql.org; Wed, 24 Nov 2021 04:57:39 +0000 Received: from esa12.fujitsucc.c3s2.iphmx.com ([216.71.156.125]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mpkLa-0002Pz-Qy for pgsql-hackers@lists.postgresql.org; Wed, 24 Nov 2021 04:57:37 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1637729852; x=1669265852; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=TWSvtRjTGuAm5ZZXRBrwkzRJkpUu+JHus7DfEWngHg8=; b=kWojtOvOgDC45XaLXnKNM96ka5HYEkvQUlA0MDTHPWRz99EN5Wa3Yr4W WnQWgWhKIJ/+mgrS6ebCWZ/MVcwCn4jAmDX7eYSmRihAcQNnLYT+Q2qNO /PuLl3lScbcPRe89o4rG+nVgk802W7kF2JT5YtqlkpZATLNEHZBK86tWn cXbAsZRkHL123RwJiQPaqmt+XYV21l3Uup9bVO1Jv5MGNWbXLRm7RXGja Wh5Rb5Sn+4VQRfShxLX+oquh1FYzKkD4cmkoT+DGxysFZVHAQzoKGee/L p/Qa9KGzcyVp0et/We1Z8zQ8JZfj5eLcGej0ugEpQ+4v0F82HEr5uuFkw g==; X-IronPort-AV: E=McAfee;i="6200,9189,10177"; a="44581977" X-IronPort-AV: E=Sophos;i="5.87,258,1631545200"; d="zip'48?scan'48,48,208,223";a="44581977" Received: from mail-os0jpn01lp2107.outbound.protection.outlook.com (HELO JPN01-OS0-obe.outbound.protection.outlook.com) ([104.47.23.107]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 13:57:28 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ctRAwyZODROQ4PSUJNITlhBd7WNUD4TEmnOxlYpse816GzMmNLyFL4Inq9YjhUoi42FEvZf0Uc0DNmxC7WH9iH0jiLRgc//UASSoJoYtWhIKmgq6h/ozwwxmp6YlVCO6P9056du81iKV2SfzIYK87XMgsinQwP7wWaPfIL95sySh5MuWw1BBHD4obR4drpzH4HE25oMGCcYy8KCCePPICRoviOqRt6eHyKGqXiyUt8Vos9xSl3mL6RC/AUqcPclFnzaiK+EWOkmKhOxWndl3YWu8AfgRbGxKr9N4QBoaeT9lyFwCqcMqoKxEq2LK9my4Zb9Vgh4e5WBXLgytFVnobg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=9E455XPO6N6EHKkztcTxi3KPCYzp0wZarDOMFFrLP6o=; b=kj3KAtFdQYcgqYgwFi0Evz10NQDFAXteWwLqNDsoapHSzuBOPP0F76QYmjVM6xFzYq54c2aZ/8kw55k86O6UbZ9QtheTtqnzxWrA5T0HzcNUBy2O6ui7fbCr5sI68TUuCkckP+YsixKIR6ByJNtMDvgh/c+uFCDidHfdSHRCeQrAObZB5DTzrezIctIrgTbXXClmU9mmTX14DgxP2M5GGHaLyr56pBzWEVSe3HxIwv6ACAxGbdx/KfjhIPQb9gxVdnDvoZeXjCkddrKmkUgmnFeZyZ2UcZOoTYmPf/BQ27BaxUkwtEAZqZHjhGEIF7QV4Ozwmk1QU/mmNw7YqYgO4Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fujitsu.com; dmarc=pass action=none header.from=fujitsu.com; dkim=pass header.d=fujitsu.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fujitsu.onmicrosoft.com; s=selector2-fujitsu-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9E455XPO6N6EHKkztcTxi3KPCYzp0wZarDOMFFrLP6o=; b=Jw2H6QlkHccnKyaD9Hy9OcgwP4whsXILxo13T5uGVMUa4esyUeD6DV/+iCMSQ9HD0saIAtrTBhm5LWbDG+UaUGV1J1Uuxt4XZ3JF5MeMxIahfTkfgMZbC6Zngym5TEm9iBXLE0YlzboyyUlboXiGBKzY3EWT6Sh40ymrUupJUDI= Received: from TYAPR01MB5866.jpnprd01.prod.outlook.com (2603:1096:404:8056::13) by TYAPR01MB3597.jpnprd01.prod.outlook.com (2603:1096:404:ca::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4713.22; Wed, 24 Nov 2021 04:57:24 +0000 Received: from TYAPR01MB5866.jpnprd01.prod.outlook.com ([fe80::30b0:3a2a:f088:165b]) by TYAPR01MB5866.jpnprd01.prod.outlook.com ([fe80::30b0:3a2a:f088:165b%6]) with mapi id 15.20.4713.026; Wed, 24 Nov 2021 04:57:24 +0000 From: "kuroda.hayato@fujitsu.com" To: 'Shinya Kato' CC: "pgsql-hackers@lists.postgresql.org" Subject: RE: [Proposal] Add foreign-server health checks infrastructure Thread-Topic: [Proposal] Add foreign-server health checks infrastructure Thread-Index: AdfNNjec7xk22WznTt+52qg+YpAmvANdE8aAAG+tXeAALaEGgADyvFSg Date: Wed, 24 Nov 2021 04:57:23 +0000 Message-ID: References: <54449d7bea79263e937266ad6ebc65b3@oss.nttdata.com> <4e64bb8a0a88f5b6ac5a8901377c81af@oss.nttdata.com> In-Reply-To: <4e64bb8a0a88f5b6ac5a8901377c81af@oss.nttdata.com> Accept-Language: ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_Enabled=true; MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_SetDate=2021-11-24T04:53:20Z; MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_Method=Standard; MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_Name=FUJITSU-RESTRICTED?; MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_SiteId=a19f121d-81e1-4858-a9d8-736e267fd4c7; MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_ActionId=f0158307-3ec3-4d9b-bb6f-2193e24fb51b; MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_ContentBits=0 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=fujitsu.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5c7627fe-7e2e-4a24-79a0-08d9af06e7a9 x-ms-traffictypediagnostic: TYAPR01MB3597: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:5516; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: R+ipVY0c7kbRwB4HkF3WkwzXG2ku5pT2ejEF1dqr2GAKdqmrvfp1Q+EsdeHSp60W8Ud6QSiWW4kAWC44YWxHMDb/5aPqmUBFyMH1+9Lr2Dlql6KgmZ0CWMvsvyBWLNXW5yDjBBqybTxQGFL39OSszcRyOjj6TfzlgiLjAMkO6CuSoD5u/xS6tXXUAEuqApej3JHxZIN0ILUZWNyAoX5d9t/qzIZZ3/RpaEqz5hzxJqvGoBl4boJc7kMbFlntZcosDiNeaCYGgXihVL8+5opQlF+GXQHJUeMeCiAUAOCWx69+EHWoH4IHxLWzv0D4lys0y4ZCzMDytwtV2S5KGU5/PVgtiXikynSCFUnL0fUxSA8LXit0ULjY5vVu5RPmZgWA/tnL/4I/WnG2ZVnJcUY1OYwzIzKLYN25vg9rxrnuzyMVwtwjN7XMmX1ks0HptH6CiyFA2a5FYnLNFsGTar0WHC6rcLobycCw7OqJ71/a3FkmBcAl9fDjicMnTW+Ekik/RcQF/ROiQLMHPawO+vNbQ4U32a6/+a1GIR2xm/l3q7GNHJ0sEYaz46yG3sZYssponSG9thxP/E5um/56yZt/PM8x+gdliX052UPTeNNBFcPb+KAcO01wglubNoa1LiWxK+JNlgt/lIXvNxYj/iqNZIRjNUX+JyPvwJRIS2ihW5c= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYAPR01MB5866.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(66946007)(99936003)(82960400001)(66556008)(4326008)(122000001)(55016003)(38100700002)(38070700005)(66476007)(64756008)(5660300002)(8936002)(508600001)(7696005)(83380400001)(6506007)(85182001)(316002)(8676002)(186003)(9686003)(2906002)(66446008)(71200400001)(86362001)(76116006)(52536014)(6916009)(33656002)(26005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-2022-jp?B?ZU1QbjJHTUZrNDQ4RDR5ZENsUW9QcGJQTTRSOTA4b1dROE5ld0hvdE02?= =?iso-2022-jp?B?R3BEejEyVE5QYmFtamdIRG00cU5tV3VpUWlMRCs2QUN5bkpFNGkvQUZ4?= =?iso-2022-jp?B?MWpaaEVQbEhzMjZDeE1oRCtHcHhQbXV2eEJRdWs2R1BjSmZMZUdITUpk?= =?iso-2022-jp?B?cmJobzRkZHRUNTRlYVpxMFBYNFNzSHo4NWVKVDZwN2praVVveTJyT0h0?= =?iso-2022-jp?B?U2l1Mm8wYnF6Nzc0MkxhUTArUHFhampZZTBLcStOSm1GWm52M2VKTVBD?= =?iso-2022-jp?B?U1V6UEdXSlltSlhhazIyYW02aTNmYituU2RDS2dQMlV4UStXWnF1blAz?= =?iso-2022-jp?B?YU40WEJWUXdXR0xtUFVXU1crYTNianFCQS9WekREWjRPTUFsOFBkZ2xD?= =?iso-2022-jp?B?ZUMvWW5odHJXK1Y0L3g3MlJ5cm9jK2l1M0Y0V0N4bEU0M2taWEpPbnpX?= =?iso-2022-jp?B?eSt3UXIwK01Cdjk2Q1g0UUV5MGJZaWUvRjhYWFJRUlNwTlM4eXVNdWJQ?= =?iso-2022-jp?B?d2o1YWpTQWNoYjZqaTJrZTJETGZscXNpSE1nOVh3Q244WDFnclUra0FE?= =?iso-2022-jp?B?SEFQaGZZSWo3d2U4QXdMblFDZEhMTDE4aHJodGhiUTdXQUxtRjNBd1dM?= =?iso-2022-jp?B?Y2RtMWFKeUxGN0ZMZExjcVoza2RIRjdic1F5OWpQRHZTdUoybHF3cGJS?= =?iso-2022-jp?B?Zkp2aVhCWGprajF1RnRBMmhmdDJJV2poTVZHYkw4QSs3WlpiaTlZQUFT?= =?iso-2022-jp?B?UnlHZTd0cFZqc1RqTHZxTXpqOUtpQnFYRTI1bDJhRFEyQ2dPYXphR0VG?= =?iso-2022-jp?B?VVZkV3N0VG9aSUJaSWh3aFhZVm5aQ1JWZzhkUWsram1aY1JOUGs1Y296?= =?iso-2022-jp?B?bXdqYUlGMXhQSTkzVXhUSmprVHZJeFZqRm1jVitDUDhVVVpJaUJ2dVRQ?= =?iso-2022-jp?B?SmV0S1paZnlwdnhCQVBseUxLYnVxQ1owcE1CL0ovTWl0Z1FYYWUwQUVU?= =?iso-2022-jp?B?NXFGNnl6Sk9pLzRYMkFyUThLcUFiMjJHb0J6OFVadVlWQUxlcjZ3UFoy?= =?iso-2022-jp?B?WUFWZVRaNS96UWsxcEpUZHNjYXp0V1ZoVUJmSXgxZmlCbE5SK00rbjRG?= =?iso-2022-jp?B?RDlKRmhvNE9NUHR4eWFNOGJZSG45ZU5LMXNkU0hYNjA5dzQ3bTJvTTly?= =?iso-2022-jp?B?WkZ3NzQ4RERsN2JnMG80NHZueFFSNXhZN2F6a3NTeTZ4NzBvMXF6N0cr?= =?iso-2022-jp?B?eHJpN2NyWW5vbFF3aFR1RXBkcjJHdU1jaGFkOG0wdDdqRHdFd2JucDlh?= =?iso-2022-jp?B?NG02RkNLWWlzR2VzR2ZRREZOMWtzM0dnekI0RGxBcG90OEVjNEE3blVO?= =?iso-2022-jp?B?TTk3NUlKQlRraTk2ZEhlWFhpZ3VGUlEzSyt2c08zcGMyK29tWXorS3NS?= =?iso-2022-jp?B?RlJwZ2lYVmk4a0hTR0dkOUEwV3UxL0wxaGpJRnVoYmFkODlMWkZsSmxk?= =?iso-2022-jp?B?R2RBdyt1ZlZFVWdQL290bnQ4RGM0L1k5b091cTdBTEJkWFhYek5GQlEr?= =?iso-2022-jp?B?REErRlMxejNjdENGdGgzMmlTYWpBQ0lkcDk0SG1lMG9scWVWY0Q3RmRI?= =?iso-2022-jp?B?QlpjVUh0cHVjSE96YU50THZ0R2JwbnBHZlA4YjJSVWZDVmtrR1BPaU1m?= =?iso-2022-jp?B?S0Y4R2MvVC9qckd4ZVBrY2ZGSHhuRGlYTDlYOGdielBSdXg2NzVrUGl0?= =?iso-2022-jp?B?OXJDOWM0SU51K3dCWDFLK2Y5dU5KZ2U3dlFqOFN4YnJPdWZFUS8wSzk0?= =?iso-2022-jp?B?VFFOeHBnVzZMLzhNQURZMk03UkkwTS93aURKdFovanNtMmNDYzl1c0t4?= =?iso-2022-jp?B?QmlYc3VmRUxKQVNGOU01NmxvMEtRai9BRnMvNk5pQ2gyeStRL29CZFhK?= =?iso-2022-jp?B?eGcxSlNhMHoxd1BrVUk2eXVLL29iSS9xNzJTUExxTFdQNUgwa3JnUFY0?= =?iso-2022-jp?B?eVF3VEdqbnFkS2F6VjRveUNwTnkrcmhQeWpqN1VXSldQaTVtQS9aZENJ?= =?iso-2022-jp?B?a0VtOWUrUVBDQkFXakh6V21lSlcxTVA5ZXh6dUorMkhwQmxKR1ZIcmZ1?= =?iso-2022-jp?B?bkRiNTlvbit2S0dNbytLVmVGYTErdndVdzNld1hlVWdtWG9WZmpaMTFK?= =?iso-2022-jp?B?VUFxZlFCZ0RXdE9sVnNLQ2RkT0pSc0NTL2JscHIrdUhGd21xVUgxcjIy?= =?iso-2022-jp?B?MVFIbFBVdmNLRDRzZDdaNHhSS2czSlNqZjZyVDEyVGR6UCtKTTBnUU1v?= =?iso-2022-jp?B?ZDlMcDZtUHUzZitIVlR0eitUTTJmVkZzU3UrWVJuMXRuZ3lWeks2NzdV?= =?iso-2022-jp?B?MHFyemV3akQyNkdHaVNmR0lXcUI2eERoYUtRRnVBNDRZVUlFWlk0cmtl?= =?iso-2022-jp?B?OXo4M3p3PT0=?= Content-Type: multipart/mixed; boundary="_004_TYAPR01MB58661992162BA7708191EC79F5619TYAPR01MB5866jpnp_" MIME-Version: 1.0 X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYAPR01MB5866.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5c7627fe-7e2e-4a24-79a0-08d9af06e7a9 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Nov 2021 04:57:24.0286 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a19f121d-81e1-4858-a9d8-736e267fd4c7 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: AL2+UYD6q50mA49IRam0w5lvs7yubT8A7Qi0ry/2EiFe9xJ0T71AF4eV4ctxUmGUYBsVJIyncHxrLpQUHm9D6BsjXdWixH3oik9mm2xWUAQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYAPR01MB3597 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_004_TYAPR01MB58661992162BA7708191EC79F5619TYAPR01MB5866jpnp_ Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: quoted-printable Dear Kato-san, Thank you for reviewing! > Thank you for sending the patches! > I confirmed that they can be compiled and tested successfully on CentOS > 8. Thanks! > + { > + {"remote_servers_connection_check_interval", PGC_USERSET, > CONN_AUTH_SETTINGS, > + gettext_noop("Sets the time interval between checks > for > disconnection of remote servers."), > + NULL, > + GUC_UNIT_MS > + }, > + &remote_servers_connection_check_interval, > + 0, 0, INT_MAX, > + }, >=20 > If you don't use check_hook, assign_hook and show_hook, you should > explicitly write "NULL, NULL, NULL", as show below. Yeah I forgot the line. Fixed. > + ereport(ERROR, > + > errcode(ERRCODE_CONNECTION_FAILURE), > + errmsg("Postgres foreign server %s > might be down.", > + > server->servername)); >=20 > According to [1], error messages should start with a lowercase letter > and not use a period. > Also, along with the rest of the code, it is a good idea to enclose the > server name in double quotes. I confirmed the postgres error-reporting policy and fixed to follow that. How do you think? Attached are the latest version. Best Regards, Hayato Kuroda FUJITSU LIMITED --_004_TYAPR01MB58661992162BA7708191EC79F5619TYAPR01MB5866jpnp_ Content-Type: application/x-zip-compressed; name="20211124.zip" Content-Description: 20211124.zip Content-Disposition: attachment; filename="20211124.zip"; size=6303; creation-date="Wed, 24 Nov 2021 04:56:24 GMT"; modification-date="Wed, 24 Nov 2021 04:56:24 GMT" Content-Transfer-Encoding: base64 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 --_004_TYAPR01MB58661992162BA7708191EC79F5619TYAPR01MB5866jpnp_ Content-Type: application/octet-stream; name="v02_add_checking_infrastracture.patch" Content-Description: v02_add_checking_infrastracture.patch Content-Disposition: attachment; filename="v02_add_checking_infrastracture.patch"; size=12209; creation-date="Wed, 24 Nov 2021 04:55:43 GMT"; modification-date="Wed, 24 Nov 2021 03:52:02 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2NvcHlmcm9tcGFyc2UuYyBiL3NyYy9i YWNrZW5kL2NvbW1hbmRzL2NvcHlmcm9tcGFyc2UuYwppbmRleCBhYWMxMDE2NWVjLi4wYzRkNjFh MzRjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9jb3B5ZnJvbXBhcnNlLmMKKysr IGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvY29weWZyb21wYXJzZS5jCkBAIC0yNjksNiArMjY5LDcg QEAgQ29weUdldERhdGEoQ29weUZyb21TdGF0ZSBjc3RhdGUsIHZvaWQgKmRhdGFidWYsIGludCBt aW5yZWFkLCBpbnQgbWF4cmVhZCkKIAogCQkJcmVhZG1lc3NhZ2U6CiAJCQkJCUhPTERfQ0FOQ0VM X0lOVEVSUlVQVFMoKTsKKwkJCQkJSE9MRF9DSEVDS0lOR19SRU1PVEVfU0VSVkVSU19JTlRFUlJV UFRTKCk7CiAJCQkJCXBxX3N0YXJ0bXNncmVhZCgpOwogCQkJCQltdHlwZSA9IHBxX2dldGJ5dGUo KTsKIAkJCQkJaWYgKG10eXBlID09IEVPRikKQEAgLTMwMCw2ICszMDEsNyBAQCBDb3B5R2V0RGF0 YShDb3B5RnJvbVN0YXRlIGNzdGF0ZSwgdm9pZCAqZGF0YWJ1ZiwgaW50IG1pbnJlYWQsIGludCBt YXhyZWFkKQogCQkJCQkJZXJlcG9ydChFUlJPUiwKIAkJCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9D T05ORUNUSU9OX0ZBSUxVUkUpLAogCQkJCQkJCQkgZXJybXNnKCJ1bmV4cGVjdGVkIEVPRiBvbiBj bGllbnQgY29ubmVjdGlvbiB3aXRoIGFuIG9wZW4gdHJhbnNhY3Rpb24iKSkpOworCQkJCQlSRVNV TUVfQ0hFQ0tJTkdfUkVNT1RFX1NFUlZFUlNfSU5URVJSVVBUUygpOwogCQkJCQlSRVNVTUVfQ0FO Q0VMX0lOVEVSUlVQVFMoKTsKIAkJCQkJLyogLi4uIGFuZCBwcm9jZXNzIGl0ICovCiAJCQkJCXN3 aXRjaCAobXR5cGUpCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9mb3JlaWduL2ZvcmVpZ24uYyBi L3NyYy9iYWNrZW5kL2ZvcmVpZ24vZm9yZWlnbi5jCmluZGV4IGUwN2NjNTc0MzEuLmViOWM0ZjNm MDUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2ZvcmVpZ24vZm9yZWlnbi5jCisrKyBiL3NyYy9i YWNrZW5kL2ZvcmVpZ24vZm9yZWlnbi5jCkBAIC0yNiw3ICsyNiwxMSBAQAogI2luY2x1ZGUgInV0 aWxzL21lbXV0aWxzLmgiCiAjaW5jbHVkZSAidXRpbHMvcmVsLmgiCiAjaW5jbHVkZSAidXRpbHMv c3lzY2FjaGUuaCIKKyNpbmNsdWRlICJ1dGlscy90aW1lb3V0LmgiCiAKKy8qIGZvciBjaGVja2lu ZyByZW1vdGUgc2VydmVycyAqLworaW50IHJlbW90ZV9zZXJ2ZXJzX2Nvbm5lY3Rpb25fY2hlY2tf aW50ZXJ2YWwgPSAwOworc3RhdGljIENoZWNraW5nUmVtb3RlU2VydmVyc0NhbGxiYWNrSXRlbSAq ZmR3X2NhbGxiYWNrcyA9IE5VTEw7CiAKIC8qCiAgKiBHZXRGb3JlaWduRGF0YVdyYXBwZXIgLQls b29rIHVwIHRoZSBmb3JlaWduLWRhdGEgd3JhcHBlciBieSBPSUQuCkBAIC04MzYsMyArODQwLDUx IEBAIEdldEV4aXN0aW5nTG9jYWxKb2luUGF0aChSZWxPcHRJbmZvICpqb2lucmVsKQogCX0KIAly ZXR1cm4gTlVMTDsKIH0KKworLyoKKyAqIFJlZ2lzdGVyIGNhbGxiYWNrcyBmb3IgY2hlY2tpbmcg cmVtb3RlIHNlcnZlcnMuCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyBpbnRlbmRlZCBmb3IgdXNl IGJ5IEZEVyBleHRlbnNpb25zLgorICogVGhlIGNoZWNraW5nIHRpbWVvdXQgd2lsbCBiZSBmaXJl ZCBhZnRlciByZWdpc3RlcmluZyB0aGUgZmlyc3QgY2FsbGJhY2suCisgKi8KK3ZvaWQKK1JlZ2lz dGVyQ2hlY2tpbmdSZW1vdGVTZXJ2ZXJzQ2FsbGJhY2soQ2hlY2tpbmdSZW1vdGVTZXJ2ZXJzQ2Fs bGJhY2sgY2FsbGJhY2ssIHZvaWQgKmFyZykKK3sKKwlDaGVja2luZ1JlbW90ZVNlcnZlcnNDYWxs YmFja0l0ZW0gKml0ZW07CisJLyogc2hvdWxkIHdlIHN0YXJ0IGNoZWNraW5nIHRpbWVvdXQ/ICov CisJYm9vbCBmaXJzdF9leGVjID0gSGF2ZUNoZWNraW5nUmVtb3RlU2VydmVyc0NhbGxiYWNrcygp OworCisJaXRlbSA9IChDaGVja2luZ1JlbW90ZVNlcnZlcnNDYWxsYmFja0l0ZW0gKikKKwkJCU1l bW9yeUNvbnRleHRBbGxvYyhUb3BNZW1vcnlDb250ZXh0LCBzaXplb2YoQ2hlY2tpbmdSZW1vdGVT ZXJ2ZXJzQ2FsbGJhY2tJdGVtKSk7CisJaXRlbS0+Y2FsbGJhY2sgPSBjYWxsYmFjazsKKwlpdGVt LT5hcmcgPSBhcmc7CisJaXRlbS0+bmV4dCA9IGZkd19jYWxsYmFja3M7CisJZmR3X2NhbGxiYWNr cyA9IGl0ZW07CisKKwlpZiAoZmlyc3RfZXhlYyAmJiByZW1vdGVfc2VydmVyc19jb25uZWN0aW9u X2NoZWNrX2ludGVydmFsID4gMCkKKwkJZW5hYmxlX3RpbWVvdXRfYWZ0ZXIoQ0hFQ0tJTkdfUkVN T1RFX1NFUlZFUlNfVElNRU9VVCwgcmVtb3RlX3NlcnZlcnNfY29ubmVjdGlvbl9jaGVja19pbnRl cnZhbCk7Cit9CisKKworLyoKKyAqIENhbGwgY2FsbGJhY2tzIGZvciBjaGVja2luZyByZW1vdGUg c2VydmVycy4KKyAqCisgKiBOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiB3aWxsIG5vdCByZXR1cm4g YW55dGhpbmcuCisgKiBDYWxsYmFjayBmdW5jdGlvbnMgbXVzdCB0aHJvdyBlcmVwb3J0KEVSUk9S KSBpZiBkaXNjb25uZWN0aW9uIGhhcyBiZWVuIGRldGVjdGVkLgorICovCit2b2lkCitDYWxsQ2hl Y2tpbmdSZW1vdGVTZXJ2ZXJzQ2FsbGJhY2tzKHZvaWQpCit7CisJQ2hlY2tpbmdSZW1vdGVTZXJ2 ZXJzQ2FsbGJhY2tJdGVtICppdGVtOworCWZvciAoaXRlbSA9IGZkd19jYWxsYmFja3M7IGl0ZW07 IGl0ZW0gPSBpdGVtLT5uZXh0KQorCQlpdGVtLT5jYWxsYmFjayhpdGVtLT5hcmcpOworfQorCisv KgorICogQ2hlY2sgd2hldGhlciBhbnkgY2FsbGJhY2tzIGhhcyBiZWVuIHJlZ2lzdGVyZWQuCisg Ki8KK2Jvb2wKK0hhdmVDaGVja2luZ1JlbW90ZVNlcnZlcnNDYWxsYmFja3Modm9pZCkKK3sKKwly ZXR1cm4gZmR3X2NhbGxiYWNrcyAhPSBOVUxMOworfQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv bGlicHEvcHFjb21tLmMgYi9zcmMvYmFja2VuZC9saWJwcS9wcWNvbW0uYwppbmRleCA5ZWJiYTAy NWNjLi41MTMwYTgzNDBiIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9saWJwcS9wcWNvbW0uYwor KysgYi9zcmMvYmFja2VuZC9saWJwcS9wcWNvbW0uYwpAQCAtMTE3MSw3ICsxMTcxLDYgQEAgcHFf c3RhcnRtc2dyZWFkKHZvaWQpCiAJCWVyZXBvcnQoRkFUQUwsCiAJCQkJKGVycmNvZGUoRVJSQ09E RV9QUk9UT0NPTF9WSU9MQVRJT04pLAogCQkJCSBlcnJtc2coInRlcm1pbmF0aW5nIGNvbm5lY3Rp b24gYmVjYXVzZSBwcm90b2NvbCBzeW5jaHJvbml6YXRpb24gd2FzIGxvc3QiKSkpOwotCiAJUHFD b21tUmVhZGluZ01zZyA9IHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Rjb3Av cG9zdGdyZXMuYyBiL3NyYy9iYWNrZW5kL3Rjb3AvcG9zdGdyZXMuYwppbmRleCAwNzc1YWJlMzVk Li5kNzg5MGI1MzA3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC90Y29wL3Bvc3RncmVzLmMKKysr IGIvc3JjL2JhY2tlbmQvdGNvcC9wb3N0Z3Jlcy5jCkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVk ZSAiY29tbWFuZHMvYXN5bmMuaCIKICNpbmNsdWRlICJjb21tYW5kcy9wcmVwYXJlLmgiCiAjaW5j bHVkZSAiZXhlY3V0b3Ivc3BpLmgiCisjaW5jbHVkZSAiZm9yZWlnbi9mb3JlaWduLmgiCiAjaW5j bHVkZSAiaml0L2ppdC5oIgogI2luY2x1ZGUgImxpYnBxL2xpYnBxLmgiCiAjaW5jbHVkZSAibGli cHEvcHFmb3JtYXQuaCIKQEAgLTM0OSw2ICszNTAsNyBAQCBTb2NrZXRCYWNrZW5kKFN0cmluZ0lu Zm8gaW5CdWYpCiAJICogR2V0IG1lc3NhZ2UgdHlwZSBjb2RlIGZyb20gdGhlIGZyb250ZW5kLgog CSAqLwogCUhPTERfQ0FOQ0VMX0lOVEVSUlVQVFMoKTsKKwlIT0xEX0NIRUNLSU5HX1JFTU9URV9T RVJWRVJTX0lOVEVSUlVQVFMoKTsKIAlwcV9zdGFydG1zZ3JlYWQoKTsKIAlxdHlwZSA9IHBxX2dl dGJ5dGUoKTsKIApAQCAtNDU1LDYgKzQ1Nyw3IEBAIFNvY2tldEJhY2tlbmQoU3RyaW5nSW5mbyBp bkJ1ZikKIAkgKi8KIAlpZiAocHFfZ2V0bWVzc2FnZShpbkJ1ZiwgbWF4bXNnbGVuKSkKIAkJcmV0 dXJuIEVPRjsJCQkJLyogc3VpdGFibGUgbWVzc2FnZSBhbHJlYWR5IGxvZ2dlZCAqLworCVJFU1VN RV9DSEVDS0lOR19SRU1PVEVfU0VSVkVSU19JTlRFUlJVUFRTKCk7CiAJUkVTVU1FX0NBTkNFTF9J TlRFUlJVUFRTKCk7CiAKIAlyZXR1cm4gcXR5cGU7CkBAIC0yNzA4LDYgKzI3MTEsMTMgQEAgc3Rh cnRfeGFjdF9jb21tYW5kKHZvaWQpCiAJCSFnZXRfdGltZW91dF9hY3RpdmUoQ0xJRU5UX0NPTk5F Q1RJT05fQ0hFQ0tfVElNRU9VVCkpCiAJCWVuYWJsZV90aW1lb3V0X2FmdGVyKENMSUVOVF9DT05O RUNUSU9OX0NIRUNLX1RJTUVPVVQsCiAJCQkJCQkJIGNsaWVudF9jb25uZWN0aW9uX2NoZWNrX2lu dGVydmFsKTsKKwlpZiAocmVtb3RlX3NlcnZlcnNfY29ubmVjdGlvbl9jaGVja19pbnRlcnZhbCA+ IDAgJiYKKwkJSXNVbmRlclBvc3RtYXN0ZXIgJiYKKwkJTXlQcm9jUG9ydCAmJgorCQlIYXZlQ2hl Y2tpbmdSZW1vdGVTZXJ2ZXJzQ2FsbGJhY2tzKCkgJiYKKwkJIWdldF90aW1lb3V0X2FjdGl2ZShD SEVDS0lOR19SRU1PVEVfU0VSVkVSU19USU1FT1VUKSkKKwkJZW5hYmxlX3RpbWVvdXRfYWZ0ZXIo Q0hFQ0tJTkdfUkVNT1RFX1NFUlZFUlNfVElNRU9VVCwKKwkJCQkJCQkgcmVtb3RlX3NlcnZlcnNf Y29ubmVjdGlvbl9jaGVja19pbnRlcnZhbCk7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC0zMjEzLDYg KzMyMjMsMjQgQEAgUHJvY2Vzc0ludGVycnVwdHModm9pZCkKIAkJfQogCX0KIAorCWlmIChDaGVj a2luZ1JlbW90ZVNlcnZlcnNUaW1lb3V0UGVuZGluZyAmJiBDaGVja2luZ1JlbW90ZVNlcnZlcnNI b2xkb2ZmQ291bnQgIT0gMCkKKwl7CisJCS8qCisJCSAqIFNraXAgY2hlY2tpbmcgZm9yZWlnbiBz ZXJ2ZXJzIHdoaWxlIHJlYWRpbmcgbWVzc2FnZXMuCisJCSAqLworCQlJbnRlcnJ1cHRQZW5kaW5n ID0gdHJ1ZTsKKwl9CisJZWxzZSBpZiAoQ2hlY2tpbmdSZW1vdGVTZXJ2ZXJzVGltZW91dFBlbmRp bmcpCisJeworCQlDaGVja2luZ1JlbW90ZVNlcnZlcnNUaW1lb3V0UGVuZGluZyA9IGZhbHNlOwor CisJCUNhbGxDaGVja2luZ1JlbW90ZVNlcnZlcnNDYWxsYmFja3MoKTsKKworCQlpZiAocmVtb3Rl X3NlcnZlcnNfY29ubmVjdGlvbl9jaGVja19pbnRlcnZhbCA+IDApCisJCQllbmFibGVfdGltZW91 dF9hZnRlcihDSEVDS0lOR19SRU1PVEVfU0VSVkVSU19USU1FT1VULAorCQkJCQkJCQkJcmVtb3Rl X3NlcnZlcnNfY29ubmVjdGlvbl9jaGVja19pbnRlcnZhbCk7CisJfQorCiAJaWYgKENsaWVudENv bm5lY3Rpb25Mb3N0KQogCXsKIAkJUXVlcnlDYW5jZWxQZW5kaW5nID0gZmFsc2U7IC8qIGxvc3Qg Y29ubmVjdGlvbiB0cnVtcHMgUXVlcnlDYW5jZWwgKi8KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L3V0aWxzL2luaXQvZ2xvYmFscy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvaW5pdC9nbG9iYWxzLmMK aW5kZXggMzgxZDllNTQ4ZC4uMTViMGMyNzI3YiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRp bHMvaW5pdC9nbG9iYWxzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvaW5pdC9nbG9iYWxzLmMK QEAgLTM2LDkgKzM2LDExIEBAIHZvbGF0aWxlIHNpZ19hdG9taWNfdCBJZGxlSW5UcmFuc2FjdGlv blNlc3Npb25UaW1lb3V0UGVuZGluZyA9IGZhbHNlOwogdm9sYXRpbGUgc2lnX2F0b21pY190IElk bGVTZXNzaW9uVGltZW91dFBlbmRpbmcgPSBmYWxzZTsKIHZvbGF0aWxlIHNpZ19hdG9taWNfdCBQ cm9jU2lnbmFsQmFycmllclBlbmRpbmcgPSBmYWxzZTsKIHZvbGF0aWxlIHNpZ19hdG9taWNfdCBM b2dNZW1vcnlDb250ZXh0UGVuZGluZyA9IGZhbHNlOwordm9sYXRpbGUgc2lnX2F0b21pY190IENo ZWNraW5nUmVtb3RlU2VydmVyc1RpbWVvdXRQZW5kaW5nID0gZmFsc2U7CiB2b2xhdGlsZSB1aW50 MzIgSW50ZXJydXB0SG9sZG9mZkNvdW50ID0gMDsKIHZvbGF0aWxlIHVpbnQzMiBRdWVyeUNhbmNl bEhvbGRvZmZDb3VudCA9IDA7CiB2b2xhdGlsZSB1aW50MzIgQ3JpdFNlY3Rpb25Db3VudCA9IDA7 Cit2b2xhdGlsZSB1aW50MzIgQ2hlY2tpbmdSZW1vdGVTZXJ2ZXJzSG9sZG9mZkNvdW50ID0gMDsK IAogaW50CQkJTXlQcm9jUGlkOwogcGdfdGltZV90CU15U3RhcnRUaW1lOwpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvdXRpbHMvaW5pdC9wb3N0aW5pdC5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvaW5p dC9wb3N0aW5pdC5jCmluZGV4IDY0NjEyNmVkZWUuLjU5NjJiMWUzOTUgMTAwNjQ0Ci0tLSBhL3Ny Yy9iYWNrZW5kL3V0aWxzL2luaXQvcG9zdGluaXQuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9p bml0L3Bvc3Rpbml0LmMKQEAgLTczLDYgKzczLDcgQEAgc3RhdGljIHZvaWQgTG9ja1RpbWVvdXRI YW5kbGVyKHZvaWQpOwogc3RhdGljIHZvaWQgSWRsZUluVHJhbnNhY3Rpb25TZXNzaW9uVGltZW91 dEhhbmRsZXIodm9pZCk7CiBzdGF0aWMgdm9pZCBJZGxlU2Vzc2lvblRpbWVvdXRIYW5kbGVyKHZv aWQpOwogc3RhdGljIHZvaWQgQ2xpZW50Q2hlY2tUaW1lb3V0SGFuZGxlcih2b2lkKTsKK3N0YXRp YyB2b2lkIENoZWNraW5nUmVtb3RlU2VydmVyc1RpbWVvdXRIYW5kbGVyKHZvaWQpOwogc3RhdGlj IGJvb2wgVGhlcmVJc0F0TGVhc3RPbmVSb2xlKHZvaWQpOwogc3RhdGljIHZvaWQgcHJvY2Vzc19z dGFydHVwX29wdGlvbnMoUG9ydCAqcG9ydCwgYm9vbCBhbV9zdXBlcnVzZXIpOwogc3RhdGljIHZv aWQgcHJvY2Vzc19zZXR0aW5ncyhPaWQgZGF0YWJhc2VpZCwgT2lkIHJvbGVpZCk7CkBAIC02MjEs NiArNjIyLDcgQEAgSW5pdFBvc3RncmVzKGNvbnN0IGNoYXIgKmluX2RibmFtZSwgT2lkIGRib2lk LCBjb25zdCBjaGFyICp1c2VybmFtZSwKIAkJCQkJCUlkbGVJblRyYW5zYWN0aW9uU2Vzc2lvblRp bWVvdXRIYW5kbGVyKTsKIAkJUmVnaXN0ZXJUaW1lb3V0KElETEVfU0VTU0lPTl9USU1FT1VULCBJ ZGxlU2Vzc2lvblRpbWVvdXRIYW5kbGVyKTsKIAkJUmVnaXN0ZXJUaW1lb3V0KENMSUVOVF9DT05O RUNUSU9OX0NIRUNLX1RJTUVPVVQsIENsaWVudENoZWNrVGltZW91dEhhbmRsZXIpOworCQlSZWdp c3RlclRpbWVvdXQoQ0hFQ0tJTkdfUkVNT1RFX1NFUlZFUlNfVElNRU9VVCwgQ2hlY2tpbmdSZW1v dGVTZXJ2ZXJzVGltZW91dEhhbmRsZXIpOwogCX0KIAogCS8qCkBAIC0xMjUwLDYgKzEyNTIsMTQg QEAgQ2xpZW50Q2hlY2tUaW1lb3V0SGFuZGxlcih2b2lkKQogCVNldExhdGNoKE15TGF0Y2gpOwog fQogCitzdGF0aWMgdm9pZAorQ2hlY2tpbmdSZW1vdGVTZXJ2ZXJzVGltZW91dEhhbmRsZXIodm9p ZCkKK3sKKwlDaGVja2luZ1JlbW90ZVNlcnZlcnNUaW1lb3V0UGVuZGluZyA9IHRydWU7CisJSW50 ZXJydXB0UGVuZGluZyA9IHRydWU7CisJU2V0TGF0Y2goTXlMYXRjaCk7Cit9CisKIC8qCiAgKiBS ZXR1cm5zIHRydWUgaWYgYXQgbGVhc3Qgb25lIHJvbGUgaXMgZGVmaW5lZCBpbiB0aGlzIGRhdGFi YXNlIGNsdXN0ZXIuCiAgKi8KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3Vj LmMgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Yy5jCmluZGV4IGU5MWQ1YTNjZmQuLjFmYWVi NTliODcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjLmMKKysrIGIvc3Jj L2JhY2tlbmQvdXRpbHMvbWlzYy9ndWMuYwpAQCAtNTEsNiArNTEsNyBAQAogI2luY2x1ZGUgImNv bW1hbmRzL3ZhY3V1bS5oIgogI2luY2x1ZGUgImNvbW1hbmRzL3ZhcmlhYmxlLmgiCiAjaW5jbHVk ZSAiY29tbW9uL3N0cmluZy5oIgorI2luY2x1ZGUgImZvcmVpZ24vZm9yZWlnbi5oIgogI2luY2x1 ZGUgImZ1bmNhcGkuaCIKICNpbmNsdWRlICJqaXQvaml0LmgiCiAjaW5jbHVkZSAibGlicHEvYXV0 aC5oIgpAQCAtMTA1LDYgKzEwNiw3IEBACiAjaW5jbHVkZSAidXRpbHMvcXVlcnlqdW1ibGUuaCIK ICNpbmNsdWRlICJ1dGlscy9ybHMuaCIKICNpbmNsdWRlICJ1dGlscy9zbmFwbWdyLmgiCisjaW5j bHVkZSAidXRpbHMvdGltZW91dC5oIgogI2luY2x1ZGUgInV0aWxzL3R6cGFyc2VyLmgiCiAjaW5j bHVkZSAidXRpbHMvaW52YWwuaCIKICNpbmNsdWRlICJ1dGlscy92YXJsZW5hLmgiCkBAIC0zNTgz LDYgKzM1ODUsMTggQEAgc3RhdGljIHN0cnVjdCBjb25maWdfaW50IENvbmZpZ3VyZU5hbWVzSW50 W10gPQogCQlOVUxMLCBOVUxMLCBOVUxMCiAJfSwKIAorCisJeworCQl7InJlbW90ZV9zZXJ2ZXJz X2Nvbm5lY3Rpb25fY2hlY2tfaW50ZXJ2YWwiLCBQR0NfVVNFUlNFVCwgQ09OTl9BVVRIX1NFVFRJ TkdTLAorCQkJZ2V0dGV4dF9ub29wKCJTZXRzIHRoZSB0aW1lIGludGVydmFsIGJldHdlZW4gY2hl Y2tzIGZvciBkaXNjb25uZWN0aW9uIG9mIHJlbW90ZSBzZXJ2ZXJzLiIpLAorCQkJTlVMTCwKKwkJ CUdVQ19VTklUX01TCisJCX0sCisJCSZyZW1vdGVfc2VydmVyc19jb25uZWN0aW9uX2NoZWNrX2lu dGVydmFsLAorCQkwLCAwLCBJTlRfTUFYLAorCQlOVUxMLCBOVUxMLCBOVUxMCisJfSwKKwogCS8q IEVuZC1vZi1saXN0IG1hcmtlciAqLwogCXsKIAkJe05VTEwsIDAsIDAsIE5VTEwsIE5VTEx9LCBO VUxMLCAwLCAwLCAwLCBOVUxMLCBOVUxMLCBOVUxMCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91 dGlscy9taXNjL3Bvc3RncmVzcWwuY29uZi5zYW1wbGUgYi9zcmMvYmFja2VuZC91dGlscy9taXNj L3Bvc3RncmVzcWwuY29uZi5zYW1wbGUKaW5kZXggMWNiYzlmZWViNi4uOWI3MDc2MWQ5YyAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wb3N0Z3Jlc3FsLmNvbmYuc2FtcGxlCisr KyBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9zdGdyZXNxbC5jb25mLnNhbXBsZQpAQCAtOTAs NiArOTAsMTAgQEAKIAkJCQkJIyBkaXNjb25uZWN0aW9uIHdoaWxlIHJ1bm5pbmcgcXVlcmllczsK IAkJCQkJIyAwIGZvciBuZXZlcgogCisjcmVtb3RlX3NlcnZlcnNfY29ubmVjdGlvbl9jaGVja19p bnRlcnZhbCA9IDAJIyB0aW1lIGJldHdlZW4gdGltZSBiZXR3ZWVuIGNoZWNrcyBmb3IKKwkJCQkJ IyBmb3JlaWduIHNlcnZlciBkaXNjb25uZWN0aW9uOworCQkJCQkjIDAgZm9yIG5ldmVyCisKICMg LSBBdXRoZW50aWNhdGlvbiAtCiAKICNhdXRoZW50aWNhdGlvbl90aW1lb3V0ID0gMW1pbgkJIyAx cy02MDBzCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9mb3JlaWduL2ZvcmVpZ24uaCBiL3NyYy9p bmNsdWRlL2ZvcmVpZ24vZm9yZWlnbi5oCmluZGV4IDgxNjllYjc2YjEuLjk4ZjU5YzExNTMgMTAw NjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2ZvcmVpZ24vZm9yZWlnbi5oCisrKyBiL3NyYy9pbmNsdWRl L2ZvcmVpZ24vZm9yZWlnbi5oCkBAIC04MSw0ICs4MSwyMCBAQCBleHRlcm4gTGlzdCAqR2V0Rm9y ZWlnbkNvbHVtbk9wdGlvbnMoT2lkIHJlbGlkLCBBdHRyTnVtYmVyIGF0dG51bSk7CiBleHRlcm4g T2lkCWdldF9mb3JlaWduX2RhdGFfd3JhcHBlcl9vaWQoY29uc3QgY2hhciAqZmR3bmFtZSwgYm9v bCBtaXNzaW5nX29rKTsKIGV4dGVybiBPaWQJZ2V0X2ZvcmVpZ25fc2VydmVyX29pZChjb25zdCBj aGFyICpzZXJ2ZXJuYW1lLCBib29sIG1pc3Npbmdfb2spOwogCisKKy8qIGZ1bmN0aW9ucyBhbmQg dmFyaWFibGVzIGZvciBmZHcgY2hlY2tpbmcuICovCit0eXBlZGVmIHZvaWQgKCpDaGVja2luZ1Jl bW90ZVNlcnZlcnNDYWxsYmFjaykgKHZvaWQgKmFyZyk7Cit0eXBlZGVmIHN0cnVjdCBDaGVja2lu Z1JlbW90ZVNlcnZlcnNDYWxsYmFja0l0ZW0KK3sKKwlzdHJ1Y3QgQ2hlY2tpbmdSZW1vdGVTZXJ2 ZXJzQ2FsbGJhY2tJdGVtICpuZXh0OworCUNoZWNraW5nUmVtb3RlU2VydmVyc0NhbGxiYWNrIGNh bGxiYWNrOworCXZvaWQJCSphcmc7Cit9IENoZWNraW5nUmVtb3RlU2VydmVyc0NhbGxiYWNrSXRl bTsKKworZXh0ZXJuIHZvaWQgUmVnaXN0ZXJDaGVja2luZ1JlbW90ZVNlcnZlcnNDYWxsYmFjayhD aGVja2luZ1JlbW90ZVNlcnZlcnNDYWxsYmFjayBjYWxsYmFjaywgdm9pZCAqYXJnKTsKK2V4dGVy biB2b2lkIENhbGxDaGVja2luZ1JlbW90ZVNlcnZlcnNDYWxsYmFja3Modm9pZCk7CitleHRlcm4g Ym9vbCBIYXZlQ2hlY2tpbmdSZW1vdGVTZXJ2ZXJzQ2FsbGJhY2tzKHZvaWQpOworCitleHRlcm4g aW50IHJlbW90ZV9zZXJ2ZXJzX2Nvbm5lY3Rpb25fY2hlY2tfaW50ZXJ2YWw7CisKICNlbmRpZgkJ CQkJCQkvKiBGT1JFSUdOX0ggKi8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL21pc2NhZG1pbi5o IGIvc3JjL2luY2x1ZGUvbWlzY2FkbWluLmgKaW5kZXggOTBhMzAxNjA2NS4uMzc3ZmM2OGFhYSAx MDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvbWlzY2FkbWluLmgKKysrIGIvc3JjL2luY2x1ZGUvbWlz Y2FkbWluLmgKQEAgLTk4LDEwICs5OCwxMyBAQCBleHRlcm4gUEdETExJTVBPUlQgdm9sYXRpbGUg c2lnX2F0b21pY190IExvZ01lbW9yeUNvbnRleHRQZW5kaW5nOwogZXh0ZXJuIFBHRExMSU1QT1JU IHZvbGF0aWxlIHNpZ19hdG9taWNfdCBDaGVja0NsaWVudENvbm5lY3Rpb25QZW5kaW5nOwogZXh0 ZXJuIFBHRExMSU1QT1JUIHZvbGF0aWxlIHNpZ19hdG9taWNfdCBDbGllbnRDb25uZWN0aW9uTG9z dDsKIAorZXh0ZXJuIFBHRExMSU1QT1JUIHZvbGF0aWxlIHNpZ19hdG9taWNfdCBDaGVja2luZ1Jl bW90ZVNlcnZlcnNUaW1lb3V0UGVuZGluZzsKKwogLyogdGhlc2UgYXJlIG1hcmtlZCB2b2xhdGls ZSBiZWNhdXNlIHRoZXkgYXJlIGV4YW1pbmVkIGJ5IHNpZ25hbCBoYW5kbGVyczogKi8KIGV4dGVy biBQR0RMTElNUE9SVCB2b2xhdGlsZSB1aW50MzIgSW50ZXJydXB0SG9sZG9mZkNvdW50OwogZXh0 ZXJuIFBHRExMSU1QT1JUIHZvbGF0aWxlIHVpbnQzMiBRdWVyeUNhbmNlbEhvbGRvZmZDb3VudDsK IGV4dGVybiBQR0RMTElNUE9SVCB2b2xhdGlsZSB1aW50MzIgQ3JpdFNlY3Rpb25Db3VudDsKK2V4 dGVybiBQR0RMTElNUE9SVCB2b2xhdGlsZSB1aW50MzIgQ2hlY2tpbmdSZW1vdGVTZXJ2ZXJzSG9s ZG9mZkNvdW50OwogCiAvKiBpbiB0Y29wL3Bvc3RncmVzLmMgKi8KIGV4dGVybiB2b2lkIFByb2Nl c3NJbnRlcnJ1cHRzKHZvaWQpOwpAQCAtMTI2LDcgKzEyOSw3IEBAIGRvIHsgXAogLyogSXMgUHJv Y2Vzc0ludGVycnVwdHMoKSBndWFyYW50ZWVkIHRvIGNsZWFyIEludGVycnVwdFBlbmRpbmc/ICov CiAjZGVmaW5lIElOVEVSUlVQVFNfQ0FOX0JFX1BST0NFU1NFRCgpIFwKIAkoSW50ZXJydXB0SG9s ZG9mZkNvdW50ID09IDAgJiYgQ3JpdFNlY3Rpb25Db3VudCA9PSAwICYmIFwKLQkgUXVlcnlDYW5j ZWxIb2xkb2ZmQ291bnQgPT0gMCkKKwkgUXVlcnlDYW5jZWxIb2xkb2ZmQ291bnQgPT0gMCAmJiBD aGVja2luZ1JlbW90ZVNlcnZlcnNIb2xkb2ZmQ291bnQgPT0gMCkKIAogI2RlZmluZSBIT0xEX0lO VEVSUlVQVFMoKSAgKEludGVycnVwdEhvbGRvZmZDb3VudCsrKQogCkBAIC0xNTIsNiArMTU1LDEz IEBAIGRvIHsgXAogCUNyaXRTZWN0aW9uQ291bnQtLTsgXAogfSB3aGlsZSgwKQogCisjZGVmaW5l IEhPTERfQ0hFQ0tJTkdfUkVNT1RFX1NFUlZFUlNfSU5URVJSVVBUUygpICAoQ2hlY2tpbmdSZW1v dGVTZXJ2ZXJzSG9sZG9mZkNvdW50KyspCisKKyNkZWZpbmUgUkVTVU1FX0NIRUNLSU5HX1JFTU9U RV9TRVJWRVJTX0lOVEVSUlVQVFMoKSBcCitkbyB7IFwKKwlBc3NlcnQoQ2hlY2tpbmdSZW1vdGVT ZXJ2ZXJzSG9sZG9mZkNvdW50ID4gMCk7IFwKKwlDaGVja2luZ1JlbW90ZVNlcnZlcnNIb2xkb2Zm Q291bnQtLTsgXAorfSB3aGlsZSgwKQogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqCSAgZ2xv YmFscy5oIC0tCQkJCQkJCQkJCQkJCQkJICoKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxz L3RpbWVvdXQuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL3RpbWVvdXQuaAppbmRleCAyY2JjNWRlNGQ5 Li5jZWI2YjFjMTJjIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS91dGlscy90aW1lb3V0LmgKKysr IGIvc3JjL2luY2x1ZGUvdXRpbHMvdGltZW91dC5oCkBAIC0zNCw2ICszNCw3IEBAIHR5cGVkZWYg ZW51bSBUaW1lb3V0SWQKIAlJRExFX1NFU1NJT05fVElNRU9VVCwKIAlDTElFTlRfQ09OTkVDVElP Tl9DSEVDS19USU1FT1VULAogCVNUQVJUVVBfUFJPR1JFU1NfVElNRU9VVCwKKwlDSEVDS0lOR19S RU1PVEVfU0VSVkVSU19USU1FT1VULAogCS8qIEZpcnN0IHVzZXItZGVmaW5hYmxlIHRpbWVvdXQg cmVhc29uICovCiAJVVNFUl9USU1FT1VULAogCS8qIE1heGltdW0gbnVtYmVyIG9mIHRpbWVvdXQg cmVhc29ucyAqLwo= --_004_TYAPR01MB58661992162BA7708191EC79F5619TYAPR01MB5866jpnp_ Content-Type: application/octet-stream; name="v02_add_helth_check_for_postgres_fdw.patch" Content-Description: v02_add_helth_check_for_postgres_fdw.patch Content-Disposition: attachment; filename="v02_add_helth_check_for_postgres_fdw.patch"; size=3207; creation-date="Wed, 24 Nov 2021 04:55:43 GMT"; modification-date="Wed, 24 Nov 2021 04:52:02 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2NvbnRyaWIvcG9zdGdyZXNfZmR3L2Nvbm5lY3Rpb24uYyBiL2NvbnRyaWIv cG9zdGdyZXNfZmR3L2Nvbm5lY3Rpb24uYwppbmRleCA0YWZmMzE1YjdjLi4zMGJlY2RlZGRiIDEw MDY0NAotLS0gYS9jb250cmliL3Bvc3RncmVzX2Zkdy9jb25uZWN0aW9uLmMKKysrIGIvY29udHJp Yi9wb3N0Z3Jlc19mZHcvY29ubmVjdGlvbi5jCkBAIC0xMDksNiArMTA5LDcgQEAgc3RhdGljIHZv aWQgcGdmZHdfYWJvcnRfY2xlYW51cChDb25uQ2FjaGVFbnRyeSAqZW50cnksIGNvbnN0IGNoYXIg KnNxbCwKIAkJCQkJCQkJYm9vbCB0b3BsZXZlbCk7CiBzdGF0aWMgYm9vbCBVc2VyTWFwcGluZ1Bh c3N3b3JkUmVxdWlyZWQoVXNlck1hcHBpbmcgKnVzZXIpOwogc3RhdGljIGJvb2wgZGlzY29ubmVj dF9jYWNoZWRfY29ubmVjdGlvbnMoT2lkIHNlcnZlcmlkKTsKK3N0YXRpYyBib29sIHBnZmR3X2Nv bm5lY3Rpb25fY2hlY2tfaW50ZXJuYWwoUEdjb25uICpjb25uKTsKIAogLyoKICAqIEdldCBhIFBH Y29ubiB3aGljaCBjYW4gYmUgdXNlZCB0byBleGVjdXRlIHF1ZXJpZXMgb24gdGhlIHJlbW90ZSBQ b3N0Z3JlU1FMCkBAIC0xNTMsNiArMTU0LDcgQEAgR2V0Q29ubmVjdGlvbihVc2VyTWFwcGluZyAq dXNlciwgYm9vbCB3aWxsX3ByZXBfc3RtdCwgUGdGZHdDb25uU3RhdGUgKipzdGF0ZSkKIAkJCQkJ CQkJCSAgcGdmZHdfaW52YWxfY2FsbGJhY2ssIChEYXR1bSkgMCk7CiAJCUNhY2hlUmVnaXN0ZXJT eXNjYWNoZUNhbGxiYWNrKFVTRVJNQVBQSU5HT0lELAogCQkJCQkJCQkJICBwZ2Zkd19pbnZhbF9j YWxsYmFjaywgKERhdHVtKSAwKTsKKwkJUmVnaXN0ZXJDaGVja2luZ1JlbW90ZVNlcnZlcnNDYWxs YmFjayhwZ2Zkd19jb25uZWN0aW9uX2NoZWNrLCBOVUxMKTsKIAl9CiAKIAkvKiBTZXQgZmxhZyB0 aGF0IHdlIGRpZCBHZXRDb25uZWN0aW9uIGR1cmluZyB0aGUgY3VycmVudCB0cmFuc2FjdGlvbiAq LwpAQCAtMTYzOCwzICsxNjQwLDY2IEBAIGRpc2Nvbm5lY3RfY2FjaGVkX2Nvbm5lY3Rpb25zKE9p ZCBzZXJ2ZXJpZCkKIAogCXJldHVybiByZXN1bHQ7CiB9CisKKworLyoKKyAqIENhbGxiYWNrIGZ1 bmN0aW9uIGZvciBjaGVja2luZyByZW1vdGUgc2VydmVycy4KKyAqCisgKiBUaGlzIGZ1bmN0aW9u IHNlYXJjaGVzIHRoZSBoYXNoIHRhYmxlIGZyb20gdGhlIGJlZ2lubmluZworICogYW5kIHBlcmZv cm1zIGEgaGVhbHRoLWNoZWNrIG9uIGVhY2ggZW50cnkuCisgKgorICogTm90ZSB0aGF0IHRoaXMg bWlnaHQgYmUgZXhwZW5zaXZlIGJlY2F1c2UgY3JlYXRlIGFuZCB3YWl0CisgKiBldmVudHNldCBt YW55IHRpbWVzLgorICovCit2b2lkCitwZ2Zkd19jb25uZWN0aW9uX2NoZWNrKHZvaWQgKmFyZ3Mp Cit7CisJSEFTSF9TRVFfU1RBVFVTIHNjYW47CisJQ29ubkNhY2hlRW50cnkgKmVudHJ5OworCisJ LyogRXhpdCBpbW1lZGlhdGVseSBpZiBoYXNoIGlzIG5vdCBpbml0aWFsaXplZC4gKi8KKwlpZiAo IUNvbm5lY3Rpb25IYXNoKQorCQlyZXR1cm47CisKKwloYXNoX3NlcV9pbml0KCZzY2FuLCBDb25u ZWN0aW9uSGFzaCk7CisJd2hpbGUgKChlbnRyeSA9IChDb25uQ2FjaGVFbnRyeSAqKSBoYXNoX3Nl cV9zZWFyY2goJnNjYW4pKSkKKwl7CisJCWlmIChlbnRyeS0+Y29ubiA9PSBOVUxMIHx8IGVudHJ5 LT54YWN0X2RlcHRoID09IDApCisJCQljb250aW51ZTsKKwkJaWYgKCFwZ2Zkd19jb25uZWN0aW9u X2NoZWNrX2ludGVybmFsKGVudHJ5LT5jb25uKSkKKwkJeworCQkJRm9yZWlnblNlcnZlciAqc2Vy dmVyID0gR2V0Rm9yZWlnblNlcnZlcihlbnRyeS0+c2VydmVyaWQpOworCQkJZGlzY29ubmVjdF9w Z19zZXJ2ZXIoZW50cnkpOworCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJZXJyY29kZShFUlJDT0RF X0NPTk5FQ1RJT05fRkFJTFVSRSksCisJCQkJCWVycm1zZygiZm9yZWlnbiBzZXJ2ZXIgXCIlc1wi ZGlzY29ubmVjdGVkIGR1ZSB0byB0aGUgaGVhbHRoLWNoZWNrIGZhaWx1cmUiLAorCQkJCQkJCXNl cnZlci0+c2VydmVybmFtZSksCisJCQkJCWVycmRldGFpbCgiRm9yZWlnbiBzZXJ2ZXIgbWlnaHQg YmUgZG93bi4iKSwKKwkJCQkJZXJyaGludCgiUGxlYXNlIGNoZWNrIHRoZSBzZXJ2ZXIgYW5kIG5l dHdvcmsgaGVhbHRoLiIpKTsKKwkJfQorCX0KK30KKworLyoKKyAqIGhlbHBlciBmdWNudGlvbiBm b3IgcGdmZHdfY29ubmVjdGlvbl9jaGVjaworICovCitzdGF0aWMgYm9vbAorcGdmZHdfY29ubmVj dGlvbl9jaGVja19pbnRlcm5hbChQR2Nvbm4gKmNvbm4pCit7CisJV2FpdEV2ZW50U2V0ICpldmVu dHNldDsKKwlXYWl0RXZlbnQgZXZlbnRzOworCisJZXZlbnRzZXQgPSBDcmVhdGVXYWl0RXZlbnRT ZXQoQ3VycmVudE1lbW9yeUNvbnRleHQsIDEpOworCUFkZFdhaXRFdmVudFRvU2V0KGV2ZW50c2V0 LCBXTF9TT0NLRVRfQ0xPU0VELCBQUXNvY2tldChjb25uKSwgTlVMTCwgTlVMTCk7CisKKwlXYWl0 RXZlbnRTZXRXYWl0KGV2ZW50c2V0LCAwLCAmZXZlbnRzLCAxLCAwKTsKKworCWlmIChldmVudHMu ZXZlbnRzICYgV0xfU09DS0VUX0NMT1NFRCkKKwl7CisJCUZyZWVXYWl0RXZlbnRTZXQoZXZlbnRz ZXQpOworCQlyZXR1cm4gZmFsc2U7CisJfQorCUZyZWVXYWl0RXZlbnRTZXQoZXZlbnRzZXQpOwor CisJcmV0dXJuIHRydWU7Cit9CmRpZmYgLS1naXQgYS9jb250cmliL3Bvc3RncmVzX2Zkdy9wb3N0 Z3Jlc19mZHcuaCBiL2NvbnRyaWIvcG9zdGdyZXNfZmR3L3Bvc3RncmVzX2Zkdy5oCmluZGV4IDkw YjcyZTllYzUuLjQ2MzBjYTA1ZDcgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvcG9zdGdyZXNfZmR3L3Bv c3RncmVzX2Zkdy5oCisrKyBiL2NvbnRyaWIvcG9zdGdyZXNfZmR3L3Bvc3RncmVzX2Zkdy5oCkBA IC0xNTEsNiArMTUxLDcgQEAgZXh0ZXJuIFBHcmVzdWx0ICpwZ2Zkd19leGVjX3F1ZXJ5KFBHY29u biAqY29ubiwgY29uc3QgY2hhciAqcXVlcnksCiAJCQkJCQkJCSAgUGdGZHdDb25uU3RhdGUgKnN0 YXRlKTsKIGV4dGVybiB2b2lkIHBnZmR3X3JlcG9ydF9lcnJvcihpbnQgZWxldmVsLCBQR3Jlc3Vs dCAqcmVzLCBQR2Nvbm4gKmNvbm4sCiAJCQkJCQkJICAgYm9vbCBjbGVhciwgY29uc3QgY2hhciAq c3FsKTsKK2V4dGVybiB2b2lkIHBnZmR3X2Nvbm5lY3Rpb25fY2hlY2sodm9pZCAqYXJncyk7CiAK IC8qIGluIG9wdGlvbi5jICovCiBleHRlcm4gaW50CUV4dHJhY3RDb25uZWN0aW9uT3B0aW9ucyhM aXN0ICpkZWZlbGVtcywK --_004_TYAPR01MB58661992162BA7708191EC79F5619TYAPR01MB5866jpnp_--