From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.1 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 31280 invoked from network); 17 Feb 2022 20:37:52 -0000 Received: from mother.openwall.net (195.42.179.200) by inbox.vuxu.org with ESMTPUTF8; 17 Feb 2022 20:37:52 -0000 Received: (qmail 1235 invoked by uid 550); 17 Feb 2022 20:37:49 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 1196 invoked from network); 17 Feb 2022 20:37:49 -0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YChwcUBcjBi6PgQPrYlkOUSBntghO5Z1H3q7+pMiER7VxlbFShYUkE290xZw6j0pK7wbvGS/SUGeIPCjSgt80oKDJHz4OmF0ItLDI0/iSFV4lop+lIlr6jFr2LJBcFYwdOrcyytCEGZQAdwV4K3v1FlCWUSNXgwcNNDMYBSLTgCYvGCmb8BbSvjosHkaRqFTr1gwcLXbc4KTsEDq9ZQE0co3zUFSSuFJj7dlkl73wtVGZMkpCtUrsWrJbSXrgWms4Qh5LeCMo7q+XclLUOAm0+xEqz+e2o7+pFhEQE1YOQfTGPot5eBtdY3iBiYYWe+lvXsb4u4UNw7q/hG7RXgekQ== 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=vU0WrKoDtEV2nxKQYD1iHMBz0weuQPi3uNsB5ruTxkY=; b=iKoMaPlVU4kRM1yBfmj8yFhHk0HU9VCI9cYvPKop+2efICMbM6nMca4a1L18uVQW56DF6di8Mfga5RwDt8s+DnlV/ZpKgbrpYHahy+6D7a37wM3oLVlPbLW8TRzXKZCNC3Owo0DyN8b+GSfulbtEdA9H0llwBLxvIxmk9tbBTIWSsKctHqQcfJ6D7rsZhxs+iKLDj83ihxfetwgZJXjQI6+eyTIvtB7Lo75hsnk643Bpc2Dm4xSO7mvyswr38ce9Dbux1tqSk6k8fnYkrzwHjKrmqO2abutCovK5zLY24eW9xzbYOb+sV/K2TtpcamnrlhIlXJZW83/5C5DLpsMWtg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vU0WrKoDtEV2nxKQYD1iHMBz0weuQPi3uNsB5ruTxkY=; b=EZI6kbGmG5znVQVCrB5a2Je55sWlPJ06Rx8oC9Vy76hyqF7ancPpvJfwnyWZp9+G0LKothI1DqF8eyfiiQSswcFT7D12eASlSvVFXok5OVqaMGFbj6hvzY1qL9E96SMNarBGjhKgOQQ17bWZai+L1YQ6WTPQgEc6C9cGGkR7yc4= From: Andy Caldwell To: "musl@lists.openwall.com" CC: Yuri Kanivetsky Thread-Topic: [EXTERNAL] Re: [musl] What determines the TERM variable value? Thread-Index: AQHYH1/qJNzVd4tAAUasGAmRm5uWUayPqNIAgAAQgQCAAEvagIABKqqAgAARpoCABvfs0A== Date: Thu, 17 Feb 2022 20:37:34 +0000 Message-ID: References: <20220211155441.GG7074@brightrain.aerifal.cx> <20220212103356.GB8426@voyager> <20220212150525.GH7074@brightrain.aerifal.cx> <20220213095733.GC8426@voyager> In-Reply-To: <20220213095733.GC8426@voyager> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=277d2518-a0d8-4434-98ec-2635ed2f6824;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2022-02-17T20:22:27Z;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=microsoft.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 9f1a32ad-cf5a-4de6-4813-08d9f25553d1 x-ms-traffictypediagnostic: AM6PR83MB0294:EE_ x-ms-exchange-atpmessageproperties: SA|SL x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:336; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 7I7zevjNrgG0Gio+iMO6fL1AO/qgjisbU8kSvvmVhYwPR4guSPt1MhmyFuaUFxg5AcR3G7uqyZF19PiltQqk6OSCdknTZu1Pk/6RFX27QafMXSZFmZpQct6ZZ7qFS/NyJ1/reMAxkt4+F2utbyQnhnNPbxXWkEV+vmG0e/uBMoi02gBSW/Exmoez40VD8LaRLCplXYrnQyrvNVPZWS7jPqq52WgQi46ioAPyMjezvgyOunExzPFqdR/xGyhlxL7AgUXPWjhYxNr9cckxSCzuUvYMRa9AokM/0g6lgs2CPlE9ls6t6z+e+N3cIq7Yese7l/r/Ln5ceOlyKLYsYq/kb0BoXTA6nlouDzDSvF0hcyhnzX+FWEyqZAZ79qZJdLkRFzd4FoWzF8Kr3aQeFk+fWQWCX11sDUsJ9iDCiYO2vvlE9JwIY3HPCap07MaIHhC3IMZ34kdW6ATrBJidSeHYyDYl+xyD34fWzOR+9B8D3IpiaYlMdLZN/wmjbw+OyPC9KrLZqyKtom1YGMxz8YpMH/uX5/CWqN2N9ezI7O6TfymS6AoXcD6u8A408T1dws8YXmaOvmXDsHhm7I/Wp7c+UXbp8q/Q7K4jk5LEgMfSQ7MZYhzo0fA5AmLbzztLnEJa7onpczaaIOq1T4feB2ytc8SN/lb4cPz2mtWSyH20SEHvbNe8pSfWvT8IXJg3eDfiRMMdOD2D4qQ2SFcP6zkjV9ZjInkdPH0ZuVguuPK/6Z3/QTPQv51zwv39ccBlpnhV3dO3aFbXUWjgrdZ2iCZ5EAzZxmc+BlA0S34qe1cPQtBUOL7GYjAnh7M0PPDNoGFRVFI50+f65pmTkDsQcSRlCw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBAPR83MB0456.EURPRD83.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(316002)(52536014)(66446008)(8936002)(9686003)(5660300002)(186003)(71200400001)(508600001)(8990500004)(966005)(6916009)(2906002)(66476007)(66946007)(33656002)(10290500003)(38100700002)(86362001)(6506007)(7696005)(38070700005)(122000001)(55016003)(8676002)(76116006)(82960400001)(64756008)(82950400001)(4326008)(66556008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?4oryLCIpaVpMJqmc8LCtBahpxpPEVvhEv99A43M6UCI7n+I8wsr/IULN0Bb1?= =?us-ascii?Q?O2gIWZGkGOtc1Zj+ESKxzworFASuzieP05wNO9VItTcVbMVBcBZO5GQEjns+?= =?us-ascii?Q?10sAjkxV6tHZBtagpzP80jGeyBtbCJXmTv/ThL0Svxt/MzU56nIYdRUmIWo6?= =?us-ascii?Q?owi5L1pQOqOfhAH8ikTXrxWrIA9nB0GPk6yrcYc4njy9mCr5RMP1WIta1rTy?= =?us-ascii?Q?zGHeYwHv7ypKeS347VjJTyJiJYX+/ZKxxCtVQrsWxzJofleDPtNmg+m81MQN?= =?us-ascii?Q?cVH2SlnCTP5rrVfcd92V6STwdxJ6+YLUjtM2Q+IUAuBQN777QRy9bo++mkxE?= =?us-ascii?Q?EG1551tAZB6H4hob7yxLVWLG0b0HFwyiN/PInCioVy53yFIzbcAQgEQKf9UA?= =?us-ascii?Q?MLAI9eZTY/4gKX+lZ+uEX5PeKcbCJ5YmWZKrrXXQfUhESVFVkfjs9K7E/Nzz?= =?us-ascii?Q?w+N2O0HA/cvY65jhGBuzEX/NZ/rTSEAv0cbubO0rJECNHI+m2TfMxbTlGbga?= =?us-ascii?Q?nUDTOhIkh4pSNnnRqZ0OGX+X2R2nq3w50rA0z9eEtVczp7ZT8+dJO+LN4CqL?= =?us-ascii?Q?pFJzjCjyBD2cSwHnowv19rNLM+1YmPzCR8RkLO4TEIrhKs8FIUVpEUh7/K4Y?= =?us-ascii?Q?/DN5ixZLp5UdkNTuwkxphfXpzKAd8Zp2BPwREQZK46TDzKCfcIgd6r1M1lwJ?= =?us-ascii?Q?NwINUGMpj7tQG9q6MDYWDFSIn50KpqF7//Zb6l1oO5xq0EFj2oFd6rVDYTRw?= =?us-ascii?Q?/OZL8BwuHILCpEYR2tU9xH1lghmY4mrz7jmbK4vn5sXMobYcRPSwZM73srP/?= =?us-ascii?Q?FdyzvjWgUjNYtZpcpaoZuICJxpVQsp2B8q35wlhR49GeL8MrZGPRMEgQM6z8?= =?us-ascii?Q?aVBeDU6uwwORo5/vsGxxh/oijKev2x6B18ZELk7zysZFzusoqOW8sZvSNoR3?= =?us-ascii?Q?1H0UCt3MVKLO29AHGanry+8oWgLMxknU0y1O+tcypZyPPVdGf+8L+h3ZlAJg?= =?us-ascii?Q?52f5V+snkCohjN9HHKB8MSB8MyLrdZ81NrCX7LunCqAOBGl7twRVwSPbu3yX?= =?us-ascii?Q?It6eUFXEavr2/PzPk0i4/8ZVYQYT3h2OWn1I2oqCYPvVLQSxSqvLSIjxOAOg?= =?us-ascii?Q?8oVE7WCrvqB67tUV+zOCNrMs2n1kFWzSFWJ+B5Qy9GZ8h356ZsKDWO3M7+dL?= =?us-ascii?Q?R6r2aNQ19acEzmEN8Daap/lKL3eTxqa0N6TYXjdIn38HCJUAufMk/u7cjHEa?= =?us-ascii?Q?+B1Uo5nVcJlIWk65F36MLYhOTkcAneSbK37GwqWRDMXbXs9OddQA3GJR8pXo?= =?us-ascii?Q?Qq2JTGvZKjAitBt+sFt/qkiB2uQC/buMkx5PF2a6lcrNR431suyQr+mW88Z+?= =?us-ascii?Q?KV1ta1m1sYpDmioevBI9F8AfirLXSxeIvHcXEYhwe9VwbMXrDh7SgIKd5Ywl?= =?us-ascii?Q?ts0kOmVvRFooSb/5WAPtPkkLL/Zr8Frli71FA435ZR5eXC12/Tjv1tc12WY2?= =?us-ascii?Q?057MSNIceyBRHjZh/T7lPh29gDWA5cj+9iTFnVA6SVNaFzYp45qiqlKTHl1o?= =?us-ascii?Q?62iel/vqmieqy8anL6A2BZujv/FJqcQpiZuPdYe/Ae1G1EowJ9zZYekyq+8F?= =?us-ascii?Q?6o6s7mEkHpakTF8aT7XalG4=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DBAPR83MB0456.EURPRD83.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9f1a32ad-cf5a-4de6-4813-08d9f25553d1 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Feb 2022 20:37:34.0841 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: U02iVvkUnYDpbXKis0f7pBdzLcrR6nvDGEmlviTaLM76MJFyGrRkocZ8T8aJvyieeMhHKQcc+fkH2jIQXVrOy7Dd0kGe9xlqmuHwpL76bVw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR83MB0294 Subject: [musl] RE: [EXTERNAL] Re: [musl] What determines the TERM variable value? > On Sun, Feb 13, 2022 at 10:54:23AM +0200, Yuri Kanivetsky wrote: > > I don't think it's configurable in a common sense: > > > > https://nam06.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fgit= h > > ub.com%2Fmoby%2Fmoby%2Fblob%2Fv20.10.12%2Fcontainer%2Fcontainer.go%23L > > 752&data=3D04%7C01%7Candy.caldwell%40microsoft.com%7C15c78d61061548= 4 > > 4ccf808d9eed74d25%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C6378034 > > 31376969496%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMz > > IiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=3DIcw%2BHvFTPaaY0w%2B= 6 > > VcmyhhXT%2BXhube1WJ0kO5UmC0qk%3D&reserved=3D0 > > > > Oh bloody hell. All this complexity, and this is the part they choose to = make fixed? It makes perfect sense that this is hard-coded. As you say, the TERM varia= ble is the way programs running on the TTY learn what escape codes to use to ask the TTY t= o do things (change colour, clear the screen, restart a line, etc.) so the TERM is _set= by the TTY_. When running a docker container with a TTY attached, the TTY is created by = the docker daemon and isn't the TTY that's hosting the docker client binary. This is = needed to allow the client to disconnect from the deamon without killing the container, and= it also needed for cases where the client and daemon are on separate hosts. The daemon is listening on the master side of the TTY it created then strea= ms data to and from the client (if there is one) which then reads _its_ TERM variable and = translates the operations that the container tried to make into the appropriate control co= des for the local TTY. Changing the TERM inside the container only makes sense if you also c= hange the TTY handling that the daemon does to match, otherwise the daemon will incorrect= ly interpret control characters, pass those misinterpretations to the client which will = then "correctly" apply the wrong behaviour to the user's console. Awkwardly many TTY termcap control characters are _mostly_ compatible (sinc= e they're all based on VT100) so if you misconfigure your TERM things _mostly_ work, = then you try to use some TUI-heavy tool (like vim) and some things subtly don't work cor= rectly.