
EXIF मेटाडेटा को पार्स करने, संपादित करने और सहेजने के लिए C लाइब्रेरी, AOSP10 में CVE-2020-0198 को संबोधित करने पर ध्यान केंद्रित करती है।
libexif -------
libexif एक लाइब्रेरी है जो EXIF डेटा को पार्स करने, संपादित करने और सहेजने के लिए है। इसका उद्देश्य कमांड-लाइन उपयोगिताओं और GUI प्रोग्रामों में कई अनावश्यक कार्यान्वयनों को बदलना है।
libexif EXIF डेटा के पार्सिंग, संपादन और सहेजने का समर्थन करता है। इसके अलावा, इसमें gettext समर्थन है। EXIF मानक 2.1 (और अधिकांश 2.2) में वर्णित सभी EXIF टैग समर्थित हैं। Canon, Casio, Epson, Fuji, Nikon, Olympus, Pentax और Sanyo कैमरों के कई मेकर नोट्स भी समर्थित हैं।
libexif शुद्ध C में लिखा गया है और इसे किसी अतिरिक्त लाइब्रेरी की आवश्यकता नहीं है। यदि उपलब्ध हो, तो भाषा अनुवाद के लिए GNU gettext का उपयोग किया जाएगा।
libexif केवल कुछ मेकर नोट्स को संभाल सकता है, और वे भी बहुत अच्छी तरह से नहीं। अधिक कार्य करने की आवश्यकता है। ध्यान दें कि libmnote को libexif में मिला दिया गया है - इसकी अब आवश्यकता नहीं है।
हमने doxygen का उपयोग करके libexif API का दस्तावेजीकरण किया है और परिणाम http://libexif.sourceforge.net/api/ पर उपलब्ध करा रहे हैं।
test निर्देशिका में छोटे परीक्षण कार्यक्रम दिखाते हैं कि कैसे शुरू से मान्य EXIF डेटा बनाया जाए, EXIF डेटा को कैसे सहेजा जाए और मेमोरी में डेटा से EXIF डेटा कैसे लोड किया जाए। contrib/examples/ निर्देशिका में कुछ सरल उदाहरण प्रोग्राम भी उपलब्ध हैं। libexif का उपयोग करने के बारे में कोई प्रश्न होने पर [email protected] पर हमसे संपर्क करने में संकोच न करें।
अपने पैकेज में libexif से लिंक करने के लिए, हम pkgconfig उपयोगिता का उपयोग करने की सलाह देते हैं (cf. आपकी सुविधा के लिए, libexif libexif-uninstalled.pc और libexif.pc दोनों प्रदान करता है।
अभी, मुझे libexif के निम्नलिखित फ्रंटएंड के बारे में पता है:
यदि आप अपने प्रोग्राम को libexif का उपयोग करने के लिए माइग्रेट करना चाहते हैं या इसमें EXIF समर्थन जोड़ना चाहते हैं, तो लेखकों से संपर्क करने में संकोच न करें।
मुझे निम्नलिखित लाइब्रेरीज़ के बारे में पता है जो libexif का उपयोग करती हैं या इससे प्रेरित हुई हैं:
libexif को बिल्ड करने के लिए आपके वातावरण के आधार पर वास्तव में निर्भर करता है। स्रोत tar ball से बिल्ड करने में आमतौर पर निम्नलिखित कमांड शामिल होते हैं:
./configure make sudo make install
CVS से स्रोत बिल्ड करते समय, कुछ इस प्रकार आवश्यक होगा:
gettextize mv po/Makevars.template po/Makevars aclocal -I auto-m4 -I m4m autoheader libtoolize --force automake --add-missing autoconf ./configure make
या, शायद बस:
autoreconf -i ./configure make
मानक तर्कों के अलावा, configure libexif के लिए विशिष्ट कई तर्क लेता है:
--disable-docs किसी भी दस्तावेज़ीकरण के उत्पादन को अक्षम करने के लिए --enable-internal-docs Doxygen उपलब्ध होने पर आंतरिक कोड दस्तावेज़ बनाएं --enable-ship-binaries 'make dist' में Windows DLLs शामिल करने के लिए
कुछ विशेष अनुप्रयोग configure समय पर CPPFLAGS वातावरण चर में निम्नलिखित में से एक या दोनों मैक्रो सेट करके libexif बाइनरी के आकार को कम कर सकते हैं। प्रत्येक बाइनरी से कुछ प्रकार की टेक्स्ट स्ट्रिंग्स और स्थिरांक हटा देता है। जिन अनुप्रयोगों को विशिष्ट, ज्ञात EXIF टैग तक पहुंचने की आवश्यकता होती है और अपने डेटा के अर्थ को पहले से जानते हैं, उन्हें उन स्ट्रिंग्स की आवश्यकता नहीं होती है और वे उन्हें हटाकर काफी जगह बचा सकते हैं।
-DNO_VERBOSE_TAG_STRINGS EXIF टैग के नाम और विवरण, डीबग संदेश, अनिवार्य EXIF फ़ील्ड (ऑटो-टैग-फिक्सअप अक्षम करना) -DNO_VERBOSE_TAG_DATA गणना किए गए टैग डेटा सामग्री के नाम
libexif अनुवाद स्वयंसेवकों द्वारा किए जाते हैं जो अपने दम पर काम करते हैं, या तो सीधे libexif परियोजना के साथ या दो अनुवाद समन्वय साइटों, Translation Project http://translationproject.org/domain/libexif.html और Launchpad https://translations.edge.launchpad.net/ubuntu/precise/+source/libexif/+pots/libexif-12 के माध्यम से। Translation Project द्वारा समन्वित भाषा अनुवादों में कोई भी अपडेट उनकी वेब साइट के माध्यम से किया जाना चाहिए, लेकिन अन्य सभी भाषाओं को या तो Launchpad (पसंदीदा) के माध्यम से या सीधे libexif डेवलपर्स मेलिंग सूची में अपडेट भेजकर अपडेट किया जा सकता है। इस लेखन के समय, निम्नलिखित भाषाओं को Translation Project के माध्यम से अपडेट किया जाना चाहिए: cs da de es fr it ja nl pl sk sv uk vi
यदि आप libexif का एक नई भाषा में अनुवाद करने में रुचि रखते हैं, तो हम अनुशंसा करते हैं कि आप उपरोक्त अनुवाद समूहों में से किसी एक में शामिल हों और आपकी सहायता के लिए उनके द्वारा बनाई गई प्रणालियों का लाभ उठाएं। Translation Project में libexif के लिए अनुवाद अस्वीकरण की आवश्यकता नहीं है; अनुवाद करके, आप इसे libexif के बाकी हिस्सों (LGPL) के समान लाइसेंस शर्तों के तहत प्रदान करने के लिए अप्रत्यक्ष रूप से सहमत होते हैं।
libexif मूल रूप से Curtis Galloway [email protected] द्वारा लिखा गया था। मूल डिज़ाइन संपादन और सहेजने का समर्थन नहीं करने के कारण, Lutz Mueller [email protected] ने libexif को शुरू से फिर से लिखा। तब से, कई और लोगों ने libexif में योगदान दिया है।
यदि आप EXIF के बारे में अधिक जानकारी में रुचि रखते हैं तो कुछ लिंक जिन्हें आप देखना चाह सकते हैं।