
C-Bibliothek zum Parsen, Bearbeiten und Speichern von EXIF-Daten, mit Schwerpunkt auf der Behebung von CVE-2020-0452 in AOSP10. Bietet eine API zur Metadatenextraktion und -manipulation.
libexif -------
libexif ist eine Bibliothek zum Parsen, Bearbeiten und Speichern von EXIF-Daten. Sie ist dazu gedacht, viele redundante Implementierungen in Befehlszeilenprogrammen und Programmen mit grafischen Benutzeroberflächen zu ersetzen.
libexif unterstützt das Parsen, Bearbeiten und Speichern von EXIF-Daten. Darüber hinaus verfügt es über gettext-Unterstützung. Alle EXIF-Tags, die im EXIF-Standard 2.1 (und die meisten aus 2.2) beschrieben sind, werden unterstützt. Viele Maker Notes von Kameras von Canon, Casio, Epson, Fuji, Nikon, Olympus, Pentax und Sanyo werden ebenfalls unterstützt.
libexif ist in reinem C geschrieben und benötigt keine zusätzliche Bibliothek. GNU gettext wird für die Sprachübersetzung verwendet, falls verfügbar.
libexif kann nur einige Maker Notes verarbeiten, und selbst diese nicht sehr gut. Es muss weiter daran gearbeitet werden. Beachten Sie, dass libmnote mit libexif zusammengeführt wurde - es wird nicht mehr benötigt.
Wir haben die libexif-API mit Doxygen dokumentiert und stellen die Ergebnisse unter http://libexif.sourceforge.net/api/ bereit.
Die kurzen Testprogramme im Verzeichnis test zeigen, wie man gültige EXIF-Daten von Grund auf erstellt, wie man EXIF-Daten speichert und wie man EXIF- Daten aus dem Speicher lädt. Es gibt außerdem einige einfache Beispielprogramme im Verzeichnis contrib/examples/. Zögern Sie nicht, uns unter zu kontaktieren, wenn Sie Fragen zur Verwendung von libexif haben.
Um libexif in Ihr eigenes Paket einzubinden, empfehlen wir die Verwendung des pkgconfig-Dienstprogramms (vgl. http://www.freedesktop.org/wiki/Software/pkg-config/ Für Ihre Bequemlichkeit stellt libexif sowohl libexif-uninstalled.pc bereit als auch installiert es libexif.pc.
Aktuell sind mir folgende Frontends für libexif bekannt:
Wenn Sie Ihr Programm auf libexif umstellen oder EXIF-Unterstützung hinzufügen möchten, zögern Sie nicht, die Autoren zu kontaktieren.
Mir sind die folgenden Bibliotheken bekannt, die libexif verwenden oder von libexif inspiriert wurden:
Es hängt wirklich von Ihrer Umgebung ab, was Sie tun müssen, um libexif zu erstellen. Das Erstellen aus dem Quell-Tarball umfasst normalerweise die folgenden Befehle:
./configure make sudo make install
Beim Erstellen aus dem Quellcode aus CVS ist in etwa Folgendes erforderlich:
gettextize mv po/Makevars.template po/Makevars aclocal -I auto-m4 -I m4m autoheader libtoolize --force automake --add-missing autoconf ./configure make
Oder wahrscheinlich einfach:
autoreconf -i ./configure make
Zusätzlich zu den Standardargumenten akzeptiert configure einige libexif-spezifische Argumente:
--disable-docs Zum Deaktivieren der Erstellung von Dokumentation --enable-internal-docs Interne Codedokumentation erstellen, falls Doxygen verfügbar ist --enable-ship-binaries Zum Einbinden von Windows-DLLs in 'make dist'
Bestimmte spezialisierte Anwendungen können die Größe der libexif- Binärdatei reduzieren, indem sie eines oder beide der folgenden Makros in der Umgebungsvariable CPPFLAGS zur Konfigurationszeit setzen. Jedes entfernt bestimmte Arten von Textzeichenfolgen und Konstanten aus der Binärdatei. Anwendungen, die auf bestimmte, bekannte EXIF-Tags zugreifen müssen und die Bedeutung ihrer Daten im Voraus kennen, benötigen diese Zeichenfolgen nicht und können erheblichen Platz sparen, indem sie sie entfernen.
-DNO_VERBOSE_TAG_STRINGS Namen und Beschreibungen von EXIF-Tags, Debug-Meldungen, Pflichtfelder für EXIF (deaktiviert die automatische Tag-Korrektur) -DNO_VERBOSE_TAG_DATA Namen der aufgezählten Tag-Dateninhalte
Die libexif-Übersetzungen werden von Freiwilligen erstellt, die eigenständig arbeiten, entweder direkt mit dem libexif-Projekt oder über eine von zwei Übersetzungs- Koordinationsseiten, das Translation Project http://translationproject.org/domain/libexif.html und Launchpad https://translations.edge.launchpad.net/ubuntu/precise/+source/libexif/+pots/libexif-12. Alle Aktualisierungen von Sprachübersetzungen, die vom Translation Project koordiniert werden, müssen über deren Website erfolgen, aber alle anderen Sprachen können entweder über Launchpad (bevorzugt) oder durch das Senden von Aktualisierungen direkt an die Mailingliste der libexif-Entwickler aktualisiert werden. Zum Zeitpunkt der Erstellung dieses Textes müssen die folgenden Sprachen über das Translation Project aktualisiert werden: cs da de es fr it ja nl pl sk sv uk vi
Wenn Sie daran interessiert sind, libexif in eine neue Sprache zu übersetzen, empfehlen wir Ihnen, einer der oben genannten Übersetzungsgruppen beizutreten und die von ihnen aufgebauten Systeme zu nutzen, die Ihnen helfen. Ein Übersetzungs- Haftungsausschluss ist für libexif beim Translation Project NICHT erforderlich; indem Sie eine Übersetzung anfertigen, stimmen Sie implizit zu, sie unter denselben Lizenzbedingungen wie den Rest von libexif (LGPL) bereitzustellen.
libexif wurde ursprünglich von Curtis Galloway [email protected] geschrieben. Da das ursprüngliche Design das Bearbeiten und Speichern nicht unterstützte, schrieb Lutz Mueller [email protected] libexif von Grund auf neu. Seitdem haben viele weitere Personen zu libexif beigetragen.
Einige Links, die Sie sich ansehen sollten, wenn Sie an weiteren Informationen über EXIF interessiert sind.