
Libreria C per l'analisi, la modifica e il salvataggio dei dati EXIF, con particolare attenzione alla risoluzione di CVE-2020-0452 in AOSP10. Fornisce API per l'estrazione e la manipolazione dei metadati.
libexif -------
libexif è una libreria per analizzare, modificare e salvare dati EXIF. È pensata per sostituire molte implementazioni ridondanti in utilità a riga di comando e programmi con GUI.
libexif supporta l'analisi, la modifica e il salvataggio di dati EXIF. Inoltre, ha il supporto per gettext. Tutti i tag EXIF descritti nello standard EXIF 2.1 (e la maggior parte del 2.2) sono supportati. Sono supportate anche molte note del produttore di fotocamere Canon, Casio, Epson, Fuji, Nikon, Olympus, Pentax e Sanyo.
libexif è scritto in C puro e non richiede alcuna libreria aggiuntiva. GNU gettext sarà utilizzato per la traduzione linguistica, se disponibile.
libexif può gestire solo alcune note del produttore, e anche quelle non molto bene. C'è ancora lavoro da fare. Nota che libmnote è stato fuso con libexif - non è più necessario.
Abbiamo documentato l'API di libexif usando doxygen e rendiamo disponibili i risultati su http://libexif.sourceforge.net/api/
I brevi programmi di test nella directory test illustrano come creare dati EXIF validi da zero, come salvare dati EXIF e come caricare dati EXIF da dati in memoria. Ci sono anche alcuni semplici programmi di esempio disponibili nella directory contrib/examples/. Non esitare a contattarci a [email protected] se hai domande su come usare libexif.
Per collegare libexif al tuo pacchetto, raccomandiamo di utilizzare l'utilità pkgconfig (cf. http://www.freedesktop.org/wiki/Software/pkg-config/ Per tua comodità, libexif fornisce sia libexif-uninstalled.pc che installa libexif.pc.
Al momento, conosco i seguenti frontend per libexif:
Se desideri migrare il tuo programma per usare libexif o aggiungere supporto EXIF, non esitare a contattare gli autori.
Conosco le seguenti librerie che usano o sono state ispirate da libexif:
Dipende molto dal tuo ambiente cosa fare per compilare libexif. La compilazione dal tarball sorgente di solito richiede i comandi:
./configure make sudo make install
Quando si compila dai sorgenti da CVS, sarà necessario qualcosa come:
gettextize mv po/Makevars.template po/Makevars aclocal -I auto-m4 -I m4m autoheader libtoolize --force automake --add-missing autoconf ./configure make
Oppure, probabilmente solo:
autoreconf -i ./configure make
Oltre agli argomenti standard, configure accetta alcuni specifici di libexif:
--disable-docs Per disabilitare la produzione di documentazione --enable-internal-docs Compila documentazione del codice interno se Doxygen è disponibile --enable-ship-binaries Per includere DLL Windows in 'make dist'
Alcune applicazioni specializzate possono ridurre la dimensione del binario libexif impostando una o entrambe le seguenti macro nella variabile d'ambiente CPPFLAGS al momento della configurazione. Ciascuna rimuove alcuni tipi di stringhe di testo e costanti dal binario. Le applicazioni che devono accedere a tag EXIF specifici e noti e conoscono in anticipo il significato dei loro dati non hanno bisogno di tali stringhe e possono risparmiare spazio considerevole eliminandole.
-DNO_VERBOSE_TAG_STRINGS Nomi e descrizioni dei tag EXIF, messaggi di debug, campi EXIF obbligatori (disabilitando la correzione automatica dei tag) -DNO_VERBOSE_TAG_DATA Nomi dei contenuti dei dati dei tag enumerati
Le traduzioni di libexif sono realizzate da volontari che lavorano per conto proprio, direttamente con il progetto libexif o attraverso uno dei due siti di coordinamento delle traduzioni, il Translation Project http://translationproject.org/domain/libexif.html e Launchpad https://translations.edge.launchpad.net/ubuntu/precise/+source/libexif/+pots/libexif-12. Qualsiasi aggiornamento delle traduzioni linguistiche coordinate dal Translation Project deve essere effettuato tramite il loro sito web, ma tutte le altre lingue possono essere aggiornate tramite Launchpad (preferito) o inviando aggiornamenti direttamente alla mailing list degli sviluppatori di libexif. Al momento della stesura, le seguenti lingue devono essere aggiornate tramite il Translation Project: cs da de es fr it ja nl pl sk sv uk vi
Se sei interessato a tradurre libexif in una nuova lingua, ti raccomandiamo di unirti a uno dei gruppi di traduzione sopra menzionati e di sfruttare i sistemi che hanno costruito per aiutarti. Una dichiarazione di traduzione NON è richiesta per libexif presso il Translation Project; effettuando una traduzione, accetti implicitamente di fornirla sotto gli stessi termini di licenza del resto di libexif (LGPL).
libexif è stato originariamente scritto da Curtis Galloway [email protected]. A causa del design originale che non supportava la modifica e il salvataggio, Lutz Mueller [email protected] ha riscritto libexif da zero. Da allora, molte altre persone hanno contribuito a libexif.
Alcuni collegamenti che potresti voler consultare se sei interessato a ulteriori informazioni su EXIF.