Uscita della libreria GNU libmicrohttpd 0.9.77

Il progetto GNU ha pubblicato la versione della libreria libmicrohttpd 0.9.77, che rappresenta un'API semplice per l'integrazione della funzionalità di un server HTTP nelle applicazioni. Le piattaforme supportate includono: GNU/Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android, macOS, Win32 e z/OS. La libreria è distribuita con licenza LGPL 2.1+. Nella sua forma compilata, la libreria occupa circa 32 KB.

La libreria supporta il protocollo HTTP 1.1, TLS, l'elaborazione incrementale delle richieste POST, l'autenticazione di base e digest, IPv6, SHOUTcast, diversi metodi di multiplexing delle connessioni (select, poll, epoll) e modelli di multithreading (ad esempio, è possibile utilizzare un pool di thread o un thread per connessione). Per ridurre i costi di overhead derivanti dal passaggio di contesto tra il kernel e lo spazio utente, il numero di chiamate di sistema durante il funzionamento è stato ridotto al minimo.

Le modifiche più significative:

  • L'API presenta una nuova funzione MHD_get_version_bin() per ottenere informazioni sulla versione della libreria in formato compatto (ad esempio, 0x00097701).
  • Alla forma consigliata nel RFC sono stati aggiunti gli identificatori degli algoritmi utilizzati per l'autenticazione digest ("MD5" / "SHA-256" invece di "md5" / "sha-256").
  • Il codice di decodifica dei blocchi in formato Base64 è stato riscritto e migliorato il controllo dell'accuratezza dei dati in ingresso in formato Base64.
  • È stata migliorata la configurazione per la cross-compilazione e aumentata la compatibilità con POSIX e le nuove versioni dei compilatori.
  • Aggiunti test interni per verificare la decodifica di Base64, Basic Auth e intestazioni HTTP lunghe compresse.
  • Nei test è stato utilizzato l'API aggiornato della libreria libcurl per nascondere i warning sull'uso di chiamate obsolete.
  • È stata aggiunta la possibilità di utilizzare compilatori VC (Visual C) nella compilazione per i sistemi ARM e ARM64.
  • Qualsiasi valore negativo restituito da una chiamata di callback è ora considerato un errore (in precedenza, valori negativi, ad eccezione dei codici di errore predefiniti, potevano portare a un comportamento indesiderato).
  • È stata aggiunta la gestione del macro preprocessor "DEBUG" (il gestore è identico al macro "_DEBUG").
  • Sono stati corretti errori accumulati.

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