Ad Glibc quaestionis 2038 tollendam, proponitur utmp . utendo desinas

Thorsten Kukuk, princeps coetus progressionis technologiae futurae in SUSE (Technologiae Team Future, openSUSE MicroOS et SLE Micro evolvit), qui antea LINUX Enterprise Servo projectum per 10 annos SUSE LINUX Inceptum perduxit, tollendo tabellam /var/run/utmp suggessit. in distributionibus ad quaestionem plene allocutionem 2038 in Glibc. Omnes applicationes utmp, wtmp et lastlog proponuntur convertendae ad habendum indicem usorum utentium systemd-logind.

Die 19 mensis Ianuarii 2038, tempus epochalcum calculis specificatorum per 32-bitrum temporis type redundabit. Glibc, non obstante quod genus 64-bitrae inducens, pergit uti 32 frenum temporis typum in quibusdam casibus in 64-bit suggestis ad convenientiam cum 32-bitlis applicationibus spatium usoris conservandum. Talis casus est fasciculus /var/run/utmp, qui notitias de usoribus nunc in systematis initium praebet. Tempus agri in utmp specificatur utendo valorem 32-bit.

Simpliciter reposuit tempus campi in utmp ex 32-bit ad 64-bit genus non laborabit, sicut hoc in Glibc ABI (typum mutabit in functionibus sicut login(), getutid() et utmpname ()) et compatibilitas fractionis cum applicationibus utmp, inclusis w, qui, uptime, login, su, sudo, useradd, systemd, sysvinit, tcsh, xterm propono procuratores, emacs, openssh, qemu, samba, rsyslog, etc. Ob abundantiam fovearum et multiplicitatum possibilium, idea repositorii temporis in utmp generis in tincidunt Glibc repudiata est. Eadem de causa, optio utendi spatium vacuum in utmp structura addendo addito 64 frenum temporis campo abiecta est.

Praeterea, mutato genere paulum profunditatis in utmp aliis quaestionibus existentibus non solvit, quas etiam amoliri amo. Exempli gratia: scriptura ad utmp specialia iura requirit, quae processibus additis privilegiis concedendis requirit. Alia quaestio est quod architecturae utmp permittit utentes locales ad impetus DoS exercendos, inducentes ad distractionem servitutis utmp per manipulationem cincinnorum fasciculorum, quae facit impossibile esse ut certa contenta utmp reputent realem statum in systemate. Propositum est ut accessum ad utmp tractandum accessum adhibeat, sed pro talibus officiis iam processus systemd-logind et alius processus specialisatus deducendus non expedit (applicationes debebunt simul duobus tractoribus datas transferre).

Eodem tempore, etiam cum problema solvendum cum impetus DoS, contenta utmp manent tantum informativum et reflexionem realitatis non spondent. Exempli causa, diversi emulatores et multiplexores terminales statum suum aliter reflectunt - quinque terminales GNOME deducentes in uno usuario reflexo in utmp provenient, et quinque konsole vel xterm terminales in KDE deducentes in sex provenient. Mores tegumentum et tmux similiter differunt: in primo casu singulae sessiones pro usuario separato numerantur, in secundo unus tantum usor pro omnibus sessionibus reflectitur.

Quam ob rem, ut simplicissima solutio, omnes applicationes transferre proponitur ut opera iam exsistente modo systemd-logind utatur et, postquam programmatae currentes non sunt accessus utmp, ad utmp notare desinas. Reponere wtmp, propositum est programmatum interfaces parare scribendo et legendo informationes de utentibus systemd-journald. Codebase pro altera emissione systematis 254 iam includit necessariam functionem ad provide utmp reponenda notitia per libsystemd utendo sd-login.h API vel per DBUS.

Source: opennet.ru