Veröffentlichung der GNU libmicrohttpd 0.9.77-Bibliothek

Das GNU-Projekt hat libmicrohttpd 0.9.77 veröffentlicht, eine einfache API zum Einbetten von HTTP-Serverfunktionen in Anwendungen. Unterstützte Plattformen sind unter anderem: GNU/LinuxFreeBSD, OpenBSD, NetBSD, Solaris, Android, macOSDie Bibliothek ist kompatibel mit Win32 und z/OS und wird unter der LGPL 2.1+ Lizenz vertrieben. Die kompilierte Bibliothek hat eine Größe von ca. 32 KB.

Die Bibliothek unterstützt HTTP 1.1, TLS, inkrementelle Verarbeitung von POST-Anfragen, Basis- und Digest-Authentifizierung, IPv6, SHOUTcast, verschiedene Verbindungsmultiplexverfahren (Select, Poll, Epoll) und Multithreading-Modelle (z. B. Verwendung eines Thread-Pools oder eines Threads pro Verbindung). Um den Overhead beim Kontextwechsel zwischen Kernel und Benutzeroberfläche zu reduzieren, wird die Anzahl der Systemaufrufe während des Betriebs minimiert.

Die bemerkenswertesten Änderungen:

  • Die API führt eine neue Funktion MHD_get_version_bin() ein, um Versionsinformationen der Bibliothek in gepacktem Format abzurufen (z. B. 0x00097701).
  • Die im RFC empfohlene Form wird um Kennungen der zur Digest-Authentifizierung verwendeten Algorithmen ergänzt („MD5“ / „SHA-256“ statt „md5“ / „sha-256“).
  • Der Code zum Dekodieren von Blöcken im Base64-Format wurde neu geschrieben und die Gültigkeitsprüfung der Eingabedaten im Base64-Format wurde verstärkt.
  • Verbesserte Cross-Compilation-Einstellungen, erhöhte Kompatibilität mit POSIX und neuen Compilerversionen.
  • Interne Tests hinzugefügt, um die Dekodierung von Base64, Basic Auth und reduzierten langen HTTP-Headern zu überprüfen.
  • Die Tests verwenden eine aktualisierte libcurl-API, um Warnungen zur Verwendung veralteter Aufrufe auszublenden.
  • Beim Erstellen für ARM- und ARM64-Systeme wurde die Möglichkeit hinzugefügt, VC-Compiler (Visual C) zu verwenden.
  • Alle von einem Rückruf zurückgegebenen negativen Werte werden jetzt als Fehler behandelt (zuvor konnten negative Werte, mit Ausnahme vordefinierter Fehlercodes, zu undefiniertem Verhalten führen).
  • Handhabung des Präprozessormakros „DEBUG“ hinzugefügt (der Handler ist identisch mit dem Makro „_DEBUG“).
  • Kumulierte Fehler behoben.

Source: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz und VPS-VDS-Servern 🔥 Kaufen Sie zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server | ProHoster