
EXIF 데이터를 구문 분석, 편집, 저장하는 C 라이브러리로, AOSP10의 CVE-2020-0452 해결에 중점을 둡니다. 메타데이터 추출 및 조작을 위한 API를 제공합니다.
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 유틸리티를 사용하는 것이 좋습니다 (참조: http://www.freedesktop.org/wiki/Software/pkg-config/). 편의를 위해 libexif는 libexif-uninstalled.pc를 제공하고 libexif.pc를 설치합니다.
현재 libexif의 프론트엔드는 다음과 같습니다:
프로그램을 libexif로 마이그레이션하거나 EXIF 지원을 추가하려면 주저하지 말고 저자에게 연락하십시오.
다음 라이브러리들은 libexif를 사용하거나 영감을 받았습니다:
libexif를 빌드하기 위해 해야 할 일은 환경에 따라 다릅니다. 소스 tarball에서 빌드하는 경우 일반적으로 다음 명령을 사용합니다:
./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 DLL을 포함합니다
특정 전문화된 애플리케이션은 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에 대한 추가 정보를 원한다면 확인해 볼 만한 몇 가지 링크입니다.