Uscita della libreria GNU libmicrohttpd 0.9.77

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

La libreria supporta il protocollo HTTP 1.1, TLS, l'elaborazione incrementale delle richieste POST, l'autenticazione basic e digest, IPv6, SHOUTcast, vari 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 il sovraccarico causato dal passaggio di contesto tra nucleo e spazio utente, il numero di chiamate di sistema durante il funzionamento è ridotto al minimo.

Le modifiche più significative:

  • Nell'API è stata proposta una nuova funzione MHD_get_version_bin() per ottenere informazioni sulla versione della libreria in formato compatto (ad esempio, 0x00097701).
  • Alle forme raccomandate nella RFC sono stati associati identificatori per gli algoritmi utilizzati per l'autenticazione digest («MD5» / «SHA-256» invece di «md5» / «sha-256»).
  • Il codice per la decodifica dei blocchi in formato Base64 è stato riscritto, e il controllo della correttezza dei dati in ingresso in formato Base64 è stato potenziato.
  • È stata migliorata la configurazione della cross-compilazione, aumentando la compatibilità con POSIX e le nuove versioni dei compilatori.
  • Sono stati aggiunti test interni per la verifica della decodifica di Base64, dell'Autenticazione Base e dell'accorciamento delle intestazioni HTTP lunghe.
  • Nei test è stato utilizzato l'API aggiornato della libreria libcurl per nascondere avvisi sull'uso di chiamate obsolete.
  • È stata aggiunta la possibilità di utilizzare i compilatori VC (Visual C) durante la compilazione per i sistemi ARM e ARM64.
  • Qualsiasi valore negativo restituito da una callback viene ora interpretato come un errore (in precedenza, i valori negativi, ad eccezione dei codici di errore predefiniti, potevano portare a comportamenti indefiniti).
  • È stata aggiunta la gestione del macro preprocessore "DEBUG" (il gestore è identico al macro "_DEBUG").
  • Corrette le bug accumulate.

Fonte: opennet.ru

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