BebboGet 1.11: HTTPS arriva su AROS

Scaricare un file HTTPS su AROS dovrebbe essere semplice quanto chiamare un comando. Ho portato BebboGet 1.11 su tre architetture AROS: i386, x86_64 e aarch64 per Raspberry Pi. Il programma originale è di Stefan “Bebbo” Franke; il port AROS e le modifiche necessarie sono il mio lavoro, pubblicato come fork GPLv3 o successivo.

Tre download, due strumenti

Ogni archivio contiene bebboget, il client HTTP/HTTPS, e installcerts, che installa certificati radice da un bundle PEM. Per la rete serve bsdsocket.library; il codice crittografico è incluso nel programma. Scegli l’archivio adatto alla macchina:

Le pagine delle release contengono l’archivio LHA e le istruzioni. Su AROS per Raspberry Pi, dove LhA non è disponibile nella configurazione descritta dalla release, occorre estrarre l’archivio su un altro computer e copiare la cartella sulla scheda SD. Il sorgente è nel repository del port.

Cosa cambia nel port

BebboGet gestisce TLS 1.2 e TLS 1.3, redirect e verifica dei certificati rispetto alle radici installate. I certificati vanno in SYS:Prefs/Env-Archive/certs. Sul Raspberry Pi bisogna impostare la data prima delle verifiche: senza un orologio configurato, certificati validi possono risultare fuori periodo.

La parte specifica AROS collega le chiamate di rete di bsdsocket.library al codice C++. Su x86_64 ho riutilizzato il runtime minimo del mio port BebboSSH per rispettare la convenzione delle basi libreria in r12. Su aarch64 la build evita posixc.library, associata a una perdita di memoria all’uscita nell’ambiente AROS documentato.

Durante il port ho corretto anche problemi nel codice condiviso, comunicati all’autore originale: tra gli altri, la lettura delle date dei certificati, la gestione di alcune firme RSA e curve ECDSA, la porta predefinita HTTP e il rilevamento dei trasferimenti troncati.

Prove e limiti

Le note della release documentano test su AROS One i386 e x86_64 in QEMU, con controlli dei certificati e download confrontati con hash pubblicati fino a 18,7 MB. Su Raspberry Pi 400 reale riportano trasferimenti verificati fino a 26,5 MB e una prova di interruzione; su QEMU aarch64 la rete interrompe i trasferimenti dopo circa 150 secondi. Per installcerts su Pi, la release precisa che i certificati usati provenivano da una build precedente: quella dell’archivio è stata provata in QEMU.

Restano limiti da conoscere: lo stato HTTP non viene controllato, quindi una pagina di errore può essere salvata come file; alcuni errori di certificato restituiscono codice zero. TLS 1.2 non offre suite ECDHE-ECDSA, mentre TLS 1.3 può essere usato dove disponibile. Una catena con radice cross-signed non riconosciuta può richiedere conferma: la scelta i sostituisce il certificato radice omonimo, quindi va valutata con attenzione. Su x86_64 restano allocati circa 6 KB a ogni esecuzione.

AUTORE

Informatico, sviluppatore e sistemista con una lunga storia tra codice, server Linux, retrocomputer e piattaforme e-learning. Su AndroidLab porta uno sguardo tecnico e pragmatico: meno fumo da brochure, più attenzione a infrastruttura, usabilità, privacy, aggiornamenti e conseguenze concrete delle scelte dei produttori.

Lascia un commento