È stato pubblicato il rilascio della classica sistema di inizializzazione SysVinit 3.12, ampiamente utilizzata nelle distribuzioni Linux prima di systemd e upstart, e che continua a essere impiegata in distribuzioni come Devuan, Debian GNU/Hurd e antiX. Il codice è scritto in linguaggio C e distribuito sotto licenza GPLv2.
Nella nuova versione di SysVinit sono state proposte modifiche richieste dagli sviluppatori della distribuzione GoboLinux, che utilizza un modello ad albero a pilastri per la creazione delle directory (ogni programma viene installato in una directory separata). Nel src/Makefile è stata fornita la possibilità di ridefinire i percorsi delle directory /usr e /etc, utilizzando le variabili usrdir e sysconfdir. È stata aggiunta una verifica per includere i file di intestazione pty.h e sys/sysmacros.h durante la compilazione di bootlogd su sistemi con glibc.
Sono state aggiunte verifiche sulla dimensione e sul tipo dei valori restituiti dalla funzione ctime() nel codice dei programmi bootlogd, dowall, last, logsave e shutdown. In precedenza, nel codice di questi programmi non veniva eseguita alcuna verifica sul ritorno di puntatori NULL, e un buffer fisso di 16 byte veniva allocato per la stringa restituita, in cui i dati venivano inseriti senza controllo della dimensione dei dati restituiti.
Allo stesso tempo, è stata aggiornata alla versione 1.26 l'utility insserv, utilizzata insieme a sysvinit per gestire il processo di avvio considerando le dipendenze tra gli script init. Nella nuova versione dell'utility insserv 1.26 sono state proposte solo correzioni nella documentazione. La versione dell'utility startpar, utilizzata per l'avvio parallelo di più script durante il processo di avvio del sistema, non è cambiata.
Fonte: opennet.ru
