On Wed, Nov 08, Alejandro Colomar wrote: > On Wed, Nov 08, 2023 at 09:59:11AM +0000, Thorsten Kukuk wrote: > > On Wed, Nov 08, Alejandro Colomar wrote: > > > > > strncpy(3) is useful to write to fixed-width buffers like `struct utmp` > > > and `struct utmpx`. Is there any other libc API that needs strncpy(3)? > > > Of those two APIs (utmp and utmpx) and any other that need strncpy(3), > > > are those deprecated, or is any such API still good for new code? > > > > Hi Thorsten! > > > Everything around utmp/utmpx/wtmp/lastlog is deprecated. > > Is this a Linux-specific thing? Do you know if the BSDs also deprecated > utmpx? Beside the design issues of the interface, which are generic, the Y2038 issue is more or less glibc specific and a result of supporting 32bit and 64bit userland at the same time. For most other implementations I'm aware of there is no Y2038 problem, either because they don't support utmp/utmpx/... like musl libc, or they were able to switch to a 64bit time variable or used that already. So no need to change anything. For BSD I don't really know the situation, but as far as I know, they don't have the problem and thus no need to change anything. Thorsten > Thanks, > Alex > > > > > openSUSE Tumbleweed and MicroOS are no longer using nor supporting them > > and fresh installations don't have that files anymore. > > So new code should not use utmp/utmp/wtmp/lastlog anymore. Alternatives > > are e.g. systemd-logind/wtmpdb/lastlog2. > > -- > <https://www.alejandro-colomar.es/> -- Thorsten Kukuk, Distinguished Engineer, Senior Architect, Future Technologies SUSE Software Solutions Germany GmbH, Frankenstraße 146, 90461 Nuernberg, Germany Managing Director: Ivo Totev, Andrew McDonald, Werner Knoblich (HRB 36809, AG Nürnberg)