Rilascio del set minimalista di utilità di sistema BusyBox 1.35

È stato rilasciato il pacchetto BusyBox 1.35, con un insieme di utilità standard UNIX, presentate come un unico file eseguibile e ottimizzate per un consumo minimo delle risorse di sistema, con una dimensione del pacchetto inferiore a 1 MB. La prima versione del nuovo ramo 1.35 è posizionata come instabile; la piena stabilizzazione sarà assicurata nella versione 1.35.1, prevista tra circa un mese. Il codice del progetto è distribuito con licenza GPLv2.

La natura modulare di BusyBox offre la possibilità di creare un unico file eseguibile unificato, contenente un insieme arbitrario di utilità implementate nel pacchetto (ogni utilità è disponibile come un link simbolico a questo file). La dimensione, la composizione e la funzionalità della collezione di utilità possono variare a seconda delle esigenze e delle capacità della piattaforma embedded per la quale viene effettuata la compilazione. Il pacchetto è autosufficiente; per una compilazione statica con uclibc per creare un sistema operativo sopra il kernel Linux, è necessario solo creare alcuni file dispositivo nella directory /dev e preparare i file di configurazione. Rispetto alla precedente versione 1.34, il consumo di memoria RAM di una compilazione tipica di BusyBox 1.35 è aumentato di 1726 byte (da 1042344 a 1044070 byte).

BusyBox è lo strumento principale nella lotta contro le violazioni della GPL nei firmware. Le organizzazioni Software Freedom Conservancy (SFC) e Software Freedom Law Center (SFLC) hanno, per conto degli sviluppatori di BusyBox, sia attraverso azioni legali che mediante la conclusione di accordi extragiudiziali, avuto successo nel far pressione su aziende che non forniscono accesso al codice sorgente dei programmi GPL. Nel frattempo, l'autore di BusyBox si oppone decisamente a tale protezione, ritenendo che danneggi il suo business.

Nella versione BusyBox 1.35 si evidenziano le seguenti modifiche:

  • Nell'utilità find è stata implementata l'opzione «-samefile nome» per verificare se il file utilizza lo stesso inode del file con il nome specificato. È stato unificato il codice per il confronto dei tempi ed aggiunte le opzioni «-amin», «-atime», «-cmin» e «-ctime» per controllare i tempi di accesso e creazione del file.
  • Nell'utilità mktemp è stata aggiunta l'opzione «—tmpdir» per specificare la directory di base, rispetto alla quale vengono calcolati i percorsi relativi ai file temporanei.
  • Nell'utilità cpio sono state aggiunte le opzioni «—ignore-devno» per ignorare il numero effettivo del dispositivo (viene sempre registrato 0) e «—renumber-inodes» per rinominare gli inode prima di inserirli nell'archivio.
  • Nell'utilità awk è stata ripristinata la funzionalità dell'espressione «printf %%».
  • Sono state aggiunte circa una decina di modifiche alla libreria libbb. È stata migliorata la compatibilità di realpath con l'analogo del pacchetto coreutils.
  • È stata proposta una grande quantità di correzioni nelle shell dei comandi ash e hush, mirate a migliorare la compatibilità con altre shell. In ash è stata aggiunta la supporto per ERR trap simile a bash, set -E e $FUNCNAME, oltre ad un'accelerazione nell'estrazione di stringhe tramite l'espressione «${s:}». In ash e hush è stata accelerata l'esecuzione delle operazioni «${x///*/|}».
  • Nell'utilità basename sono state implementate le opzioni «-a» per passare più nomi in un'unica chiamata e «-s SUFFIX» per rimuovere i caratteri finali «SUFFIX».
  • Nell'utilità blkdiscard è stata aggiunta l'opzione «-f» (force).
  • In httpd è stata interrotta l'invio delle intestazioni Last-Modified / ETag / Content-Length per le pagine di errore.
  • In httpd e telnetd è stata fornita la possibilità di modificare la porta di rete predefinita.
  • In tar è stata eliminata una vulnerabilità che portava all'uso di tutta la memoria disponibile durante l'elaborazione di archivi con nomi di file molto lunghi.
  • Nel codice TLS è stata riprogettata l'implementazione di P256 e x25519.
  • Nell'utilità wget è stata implementata l'opzione «—post-file» per l'invio di file ed è consentita la configurazione del contenuto dell'intestazione Content-Type per le opzioni «—post-data» e «—post-file».
  • Nell'utilità timeout è stata aggiunta la supporto per l'opzione «-k KILL_SECS» per inviare il segnale SIGKILL se il comando non termina entro i KILL_SECS secondi aggiuntivi.
  • Nell'utilità ip è stata aggiunta la supporto per la configurazione del parametro netns per i dispositivi.
  • Nell'utilità cal è stata implementata l'opzione «-m» per visualizzare il mese specificato.
  • Nelle utilità date e touch è stata consentita la specifica del fuso orario nelle date.
  • Nell'editor vi è stata aggiunta la supporto per il file ~/.exrc, modificata la gestione di «-c» ed EXINIT.
  • Nell'utilità ed il risultato dell'esecuzione dei comandi read/write è stato allineato con la specifica POSIX-1.2008. È stata aggiunta la supporto per l'opzione «-p».
  • Nell'utilità cmp è stata aggiunta l'opzione «-n N» per limitare il confronto a N byte.

Inoltre, alcuni giorni fa è stata rilasciata la versione Toybox 0.8.6, l'analogo di BusyBox, sviluppato dall'ex maintainer di BusyBox e distribuito sotto licenza 0BSD. Lo scopo principale di Toybox è fornire ai produttori la possibilità di utilizzare un insieme minimali di utilità standard senza rivelare il codice sorgente dei componenti modificati. Le funzionalità di Toybox sono ancora inferiori a quelle di BusyBox, ma sono già state implementate 296 comandi di base (217 completamente e 83 parzialmente) su 374 previsti.

Tra le novità di Toybox 0.8.6 si segnalano miglioramenti agli script per la creazione di immagini di sistema, l'aggiunta dei comandi sha256sum, sha224sum, sha384sum, sha512sum, linux32, strace e hexdump. Sono state implementate le opzioni «date -s», «pmap -p», «tail -F -s», «kill -0», reboot/halt/poweroff -d, «tail —bytes —lines», «i2cdetect -q», «find -quit -lname -ilname -d», «cut -d $’\n'», «cut -nb», «cpio —ignore-devno —renumber-inodes», «tar —selinux», «split -n», «grep -L».

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster