Die erste stabile Version der GNU libmicrohttpd Bibliothek

Das GNU Projekt hat die Version 1.0.0 der libmicrohttpd Bibliothek veröffentlicht, die als erste stabile Veröffentlichung nach 16 Jahren Projektgeschichte gekennzeichnet ist. Die Bibliothek ist in C geschrieben und bietet eine einfache API zum Einbetten von HTTP-Serverfunktionen in Anwendungen. Unterstützte Plattformen sind: GNU/Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android, macOS, Win32 und z/OS. Der Code wird unter der LGPL 2.1+ Lizenz verteilt. Bei der Standardkompilierung benötigt die Bibliothek etwa 200 KB, im Minimalmodus sind es 32 KB. Als Abhängigkeiten wird nur libc verwendet, sowie libgnutls bei optionaler Kompilierung mit TLS-Unterstützung.

Die Bibliothek unterstützt das Protokoll HTTP 1.1, TLS, inkrementelle Verarbeitung von POST-Anfragen, das Empfangen von Verbindungen über mehrere Netzwerkports, 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, der durch den Kontextwechsel zwischen dem Kernel und dem Benutzerspace entsteht, zu reduzieren, wurde die Anzahl der Systemaufrufe während des Betriebs auf ein Minimum beschränkt. Die Sicherheit des Code-Basis libmicrohttpd wurde durch Audits von Mozilla und Red Hat bestätigt.

Die auffälligsten Änderungen im Vergleich zur vorherigen Version:

  • Der Code zur Analyse von Clientanfragen wurde neu geschrieben und vollständig an die Anforderungen der RFC 9110 und 9112 angepasst. Es wurden strenge und nachsichtige Konformitätsmodi bereitgestellt, um eine Balance zwischen Kompatibilität und höherer Sicherheit zu finden.
  • Die Umsetzung der Digest-Authentifizierung wurde überarbeitet, wobei die Unterstützung der in RFC 7617 vorhandenen Funktionen erheblich erweitert wurde. Dazu gehört die Unterstützung von SHA-512, Userhash und Username in erweiterter Notation. Auch die Unterstützung des alten RFC 2069 sowie die Möglichkeit zur Verwendung von MD5- und SHA-256-Hashes bleibt erhalten.
  • Die Leistung in Multithreading-Umgebungen und bei Socket-Polling-Modi wurde verbessert.
  • Die Implementierung der Basic-Authentifizierung wurde überarbeitet, wobei im ABI zusätzliche Funktionen vorgeschlagen wurden.
  • Der Code zur Initialisierung von GnuTLS wurde neu gestaltet. Es wurde die Möglichkeit hinzugefügt, sowohl die Standard- als auch die spezifische für libmicrohttpd konfigurierbare GnuTLS-Systemkonfiguration zu verwenden, sowie die Unterstützung zur Überschreibung einzelner Einstellungen der GnuTLS-Systemkonfiguration.

In Zukunft ist geplant, an der Entwicklung des libmicrohttpd 2-Zweigs zu arbeiten, der die Unterstützung der Protokolle HTTP/2 und HTTP/3 bieten wird, sowie durch die Vereinfachung der API und die Unterstützung verschiedener Backends für TLS. Der Beginn der Arbeit an dem neuen Zweig wird durch den Sovereign-Fonds finanziert, der in Deutschland gegründet wurde, um die Entwicklung einer offenen digitalen Infrastruktur und von Open-Source-Ökosystemen zu fördern.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster