
EXIF डेटा को पार्स करने, संपादित करने और सहेजने के लिए C लाइब्रेरी, EXIF टैग पार्सिंग में हीप बफर ओवरफ्लो को रोकने के लिए CVE-2020-0181 के लिए पैच किया गया।
libexif -------
libexif EXIF डेटा को पार्स करने, संपादित करने और सहेजने के लिए एक लाइब्रेरी है। इसका उद्देश्य कमांड-लाइन उपयोगिताओं और GUI वाले प्रोग्रामों में कई अनावश्यक कार्यान्वयनों को बदलना है।
libexif EXIF डेटा को पार्स करने, संपादित करने और सहेजने का समर्थन करता है। इसके अलावा, इसमें gettext समर्थन है। EXIF मानक 2.1 में वर्णित सभी EXIF टैग (और 2.2 से अधिकांश) समर्थित हैं। 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 को बनाने के लिए क्या करना है। स्रोत टार बॉल से बनाने में आमतौर पर कमांड शामिल होते हैं:
./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 परियोजना के साथ या दो अनुवाद समन्वय साइटों, ट्रांसलेशन प्रोजेक्ट http://translationproject.org/domain/libexif.html और लॉन्चपैड https://translations.edge.launchpad.net/ubuntu/precise/+source/libexif/+pots/libexif-12 के माध्यम से। ट्रांसलेशन प्रोजेक्ट द्वारा समन्वित भाषा अनुवादों में किसी भी अद्यतन को उनकी वेब साइट के माध्यम से किया जाना चाहिए, लेकिन अन्य सभी भाषाओं को लॉन्चपैड (पसंदीदा) के माध्यम से या सीधे libexif डेवलपर्स मेलिंग सूची में अपडेट भेजकर अद्यतन किया जा सकता है। इस लेखन के समय, निम्नलिखित भाषाओं को ट्रांसलेशन प्रोजेक्ट के माध्यम से अद्यतन किया जाना चाहिए: cs da de es fr it ja nl pl sk sv uk vi
यदि आप libexif का किसी नई भाषा में अनुवाद करने में रुचि रखते हैं, तो हम अनुशंसा करते हैं कि आप उपरोक्त अनुवाद समूहों में से एक में शामिल हों और आपकी सहायता के लिए उनके द्वारा बनाई गई प्रणालियों का लाभ उठाएं। ट्रांसलेशन प्रोजेक्ट में libexif के लिए अनुवाद अस्वीकरण की आवश्यकता नहीं है; अनुवाद करके, आप इसे libexif (LGPL) के समान लाइसेंस शर्तों के तहत प्रदान करने के लिए परोक्ष रूप से सहमत होते हैं।
libexif मूल रूप से कर्टिस गैलोवे [email protected] द्वारा लिखा गया था। मूल डिज़ाइन संपादन और सहेजने का समर्थन नहीं करने के कारण, लुट्ज़ म्यूएलर [email protected] ने libexif को शुरू से फिर से लिखा। तब से, कई और लोगों ने libexif में योगदान दिया है।
कुछ लिंक जिन्हें आप देखना चाह सकते हैं यदि आप EXIF के बारे में अधिक जानकारी में रुचि रखते हैं।