Veröffentlichung der GNU-Bibliothek libmicrohttpd 0.9.77

Das GNU-Projekt hat die Bibliothek libmicrohttpd 0.9.77 veröffentlicht, die eine einfache API zur Integration von HTTP-Serverfunktionen in Anwendungen bietet. UnterstĂŒtzte Plattformen sind: GNU/Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android, macOS, Win32 und z/OS. Die Bibliothek wird unter der LGPL 2.1+ Lizenz verteilt. Im kompilierten Zustand nimmt die Bibliothek etwa 32 KB ein.

Die Bibliothek unterstĂŒtzt das HTTP 1.1-Protokoll, TLS, inkrementelle Verarbeitung von POST-Anfragen, Basic- und Digest-Authentifizierung, IPv6, SHOUTcast, verschiedene Methoden zur Multiplexierung von Verbindungen (select, poll, epoll) und Multithreading-Modelle (z. B. kann ein Thread-Pool oder ein Thread pro Verbindung verwendet werden). Um den Overhead zu reduzieren, der durch den Kontextwechsel zwischen Kernel und Benutzerraum entsteht, wurde die Anzahl der Systemaufrufe wĂ€hrend des Betriebs auf ein Minimum reduziert.

Die auffĂ€lligsten Änderungen:

  • Im API wurde eine neue Funktion MHD_get_version_bin() hinzugefĂŒgt, um Informationen ĂŒber die Version der Bibliothek im kompakten Format (z. B. 0x00097701) zu erhalten.
  • Den in der RFC empfohlenen Formaten wurden die Identifikatoren der Algorithmen fĂŒr die Digest-Authentifizierung („MD5“ / „SHA-256“ anstelle von „md5“ / „sha-256“) hinzugefĂŒgt.
  • Der Code zur Dekodierung von Blöcken im Base64-Format wurde neu geschrieben, die EingabewertprĂŒfung im Base64-Format wurde verstĂ€rkt.
  • Die Konfiguration fĂŒr Cross-Compilation wurde verbessert, die KompatibilitĂ€t mit POSIX und neuen Compiler-Versionen erhöht.
  • Interne Tests zur ÜberprĂŒfung der Base64-Dekodierung, der Basis-Authentifizierung und von eingerollten langen HTTP-Headern wurden hinzugefĂŒgt.
  • In den Tests wurde die aktualisierte API der Bibliothek libcurl verwendet, um Warnungen ĂŒber die Verwendung veralteter Aufrufe zu unterdrĂŒcken.
  • Die Möglichkeit, VC-Compiler (Visual C) beim Kompilieren fĂŒr ARM- und ARM64-Systeme zu verwenden, wurde hinzugefĂŒgt.
  • Alle negativen Werte, die von einem Callback-Aufruf zurĂŒckgegeben werden, werden jetzt als Fehler betrachtet (frĂŒher konnten negative Werte, mit Ausnahme vordefinierter Fehlercodes, zu undefiniertem Verhalten fĂŒhren).
  • Die Verarbeitung des PrĂ€prozessor-Makros „DEBUG“ wurde hinzugefĂŒgt (der Handler ist identisch mit dem Makro „_DEBUG“).
  • Es wurden kumulierte Fehler behoben.

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster