Info-ZIP

Info-ZIP's Zip
개발자Info-ZIP
발표일1992년 8월(34년 전)(1992-08)
안정화 버전
3.0 / 2008년 7월 7일(18년 전)(2008-07-07)
미리보기 버전
3.1d / 2015년 11월 15일(10년 전)(2015-11-15)
프로그래밍 언어C
종류압축 소프트웨어
라이선스BSD 스타일 라이선스
웹사이트sourceforge.net/projects/infozip/
Info-ZIP's UnZip
원저자새뮤얼 H. 스미스
개발자Info-ZIP
발표일1989년 3월 3일(37년 전)(1989-03-03)
안정화 버전
6.0 / 2009년 4월 29일(17년 전)(2009-04-29)
미리보기 버전
6.10b / 2010년 12월 10일(15년 전)(2010-12-10)
프로그래밍 언어C
종류압축 소프트웨어
라이선스BSD 스타일 라이선스
웹사이트sourceforge.net/projects/infozip/
WiZ
개발자마이크 화이트
안정화 버전
5.03 / 2005년 3월 11일(21년 전)(2005-03-11)
프로그래밍 언어C
운영 체제윈도우 3.1 이상
플랫폼IA-32, Alpha AXP (Windows NT 시리즈 전용)
종류압축 소프트웨어
라이선스BSD 스타일 라이선스
웹사이트infozip.sourceforge.net/WiZ.html
MacZip
개발자디르크 하제
최종 버전
1.06 / 2001년 2월 22일(25년 전)(2001-02-22)
프로그래밍 언어C
운영 체제맥 OS 클래식 7 이상
플랫폼모토로라 68020 이상; 파워PC
종류압축 소프트웨어
라이선스BSD 스타일 라이선스
웹사이트geek.dirk-haase.eu/maczip

Info-ZIP은 ZIP 아카이브를 다루기 위한 오픈 소스 소프트웨어 세트다. 1989년부터 유통되었다. 이는 별도로 설치 가능한 4개의 패키지로 구성된다. 명령줄 유틸리티인 Zip과 UnZip, 그리고 각각 마이크로소프트 윈도우와 클래식 맥 OS용 아카이브 프로그램의 그래픽 사용자 인터페이스인 WiZ와 MacZip이다.

Info-ZIP의 Zip과 UnZip은 수십 개의 컴퓨팅 플랫폼으로 이식되었다. UnZip 웹 페이지에서는 UnZip을 "세계에서 세 번째로 이식성이 높은 프로그램"으로 설명하며, Hello World, C-Kermit, 그리고 아마도 리눅스 커널이 그 앞을 차지하고 있다고 언급한다. 대부분의 리눅스 및 유닉스 배포판에 포함된 "zip" 및 "unzip" 프로그램은 Info-ZIP의 Zip과 UnZip이다.

Info-ZIP 릴리스 자체 외에도 Zlib를 포함한 Info-ZIP의 일부는 수많은 다른 압축 소프트웨어 및 기타 프로그램에서 사용되었다. 많은 Info-ZIP 프로그래머들은 PNG 이미지 포맷이나 Zlib 소프트웨어 라이브러리와 같이 DEFLATE 압축 알고리즘과 밀접하게 관련된 다른 프로젝트에도 참여해 왔다.

기능

UnZip 패키지에는 세 가지 추가 유틸리티가 포함되어 있다:

Zip 패키지에는 세 가지 추가 유틸리티가 포함되어 있다:

역사

UnZip

UnZip 1.0 (1989년 3월)은 새뮤얼 M. 스미스에 의해 릴리스되었다. 파스칼과 C로 작성되었다. 파스칼은 곧 폐기되었다.

UnZip 2.0 (1989년 9월)은 새뮤얼 M. 스미스에 의해 릴리스되었다. PKZIP 1.01에서 도입된 "unimploding" (방법 6) 지원이 포함되었다. 조지 사이프가 유닉스 버전을 만들었다.

UnZip 2.0a (1989년 12월)는 칼 매스콧과 존 코완에 의해 릴리스되었다.

1990년 봄, Info-ZIP은 SIMTEL20의 메일링 리스트로 형성되어 다음을 출시했다.

UnZip 3.0 (1990년 May)은 Info-ZIP 그룹의 첫 번째 공개 릴리스가 되었다.

UnZip 4.0 (1990년 12월)은 .ZIP 아카이브 내의 "중앙 디렉터리" 지원을 추가한다.

UnZip 5.0 (1992년 8월)은 PKZIP 1.93a에서 사용된 DEFLATE (방법 8) 압축 방식 지원을 도입한다. 방법 8은 ZIP 아카이브의 사실상 기본 표준이 되었다.

1994년과 1995년에 Info-ZIP은 전환점을 맞이하여 비 MS-DOS 시스템에서 사실상의 ZIP 프로그램이 되었다. 그해 수많은 미니컴퓨터, 메인프레임 및 개발된 거의 모든 마이크로컴퓨터를 포함하여 엄청난 수의 포트가 릴리스되었다.

UnZip 5.41 (2000년 4월)은 Info-ZIP 라이선스로 재라이선스되었다.

UnZip 5.50 (2002년 2월)은 Deflate64 (방법 9) 압축 해제 지원을 추가한다.

UnZip 6.0은 "Zip64" .ZIP 아카이브 및 bzip2 (방법 12) 압축 해제 지원을 추가한다. bzip2 스타일 압축 지원은 Zip 3.0f 베타부터 포함되었다.

Zip

Zip 1.9 (1992년 8월)는 DEFLATE (방법 8) 압축 방식 지원을 도입한다. 방법 8은 ZIP 아카이브의 사실상 기본 표준이 되었다.

Zip 2.0 (1993년 9월)은 많은 이식성 개선 사항을 담고 있다.

Zip 2.1 (1996년 5월)은 시간대와 OS 간에 파일 시간을 보존하기 위해 새로운 "UNIX" 시간 정보를 추가했다.

Zip 2.3 (1999년 12월)은 새로운 BSD 스타일 Info-ZIP 라이선스로 출시된 첫 번째 Info-ZIP 아카이브 도구였다.

Zip 3.0 (2008-07-07)은 "Zip64" .ZIP 아카이브, 아카이브당 65536개 이상의 파일, 다중 파트 아카이브, bzip2 압축, 유니코드 (UTF-8) 파일 이름 및 (부분적) 주석, 유닉스 32비트 UID/GID를 지원한다.

WiZ

WiZ 4.0 (1997년 11월)은 Info-ZIP에 의해 릴리스되었다.

WiZ 5.01 (2000년 4월)은 Info-ZIP 라이선스로 재라이선스되었다.

MacZip

MacZip 1.05 (2000년 7월)는 Info-ZIP 라이선스로 릴리스되었다.

MacZip 1.06은 2001년 2월에 릴리스되었다. 디르크 하제에 의해 작성되었다.

포크 및 패치

업데이트가 느린 오픈 소프트웨어 패키지로서, Info-ZIP 도구를 개선하기 위해 다양한 리눅스 배포판에서 많은 패치가 작성되었다. 또한 2015년부터 2019년까지 14개의 unzip 취약점이 Info-ZIP의 버전 또는 웹사이트 업데이트 없이 CVE 목록에 게시되었다. (oCERT-2014-011의 2014년 CVE 3개는 대부분의 통계에서 제외되었으나, Info-ZIP은 현재 폐쇄된 포럼에서 패치를 제공했었다.)

마크 애들러는 중복 유형의 Zip 폭탄을 감지하는 unzip 6.0용 패치 세트를 보유하고 있다. 이 문제는 CVE ID CVE-2019-13232를 부여받았다.

데비안 프로젝트는 17개의 unzip CVE를 포함하여 오타 및 보안 문제를 수정하기 위한 다양한 패치를 제공한다. 또한 포맷 스트링 인젝션 및 기타 명백한 보안 문제에 대해 방어력을 강화한다.

다른 코드 페이지에서 생성된 UTF-8 이전의 Zip 파일을 처리하기 위해, 조반니 스카포라는 인코딩 변환을 위해 unzip을 Iconv와 연결하는 패치를 만들었다. CVE 완화 조치와 결합된 패치 버전은 아치 리눅스에서 사용자 패키지(AUR)로 제공된다. 젠투 프로젝트는 외부 libnatspec 라이브러리를 사용하여 하드코딩된 로캘을 개선한다. 우분투에서도 유사한 접근 방식이 논의되고 있다.

(레드햇 엔터프라이즈 리눅스의 상류인) 페도라 프로젝트는 애들러의 패치, 대부분의 데비안 패치(또는 유사한 패치), 그리고 스택 비실행 패치와 같은 추가 보안 패치를 자사의 unzip에 적용한다. zip 패치는 데비안 패치와 유사하다.

공식 베타

zip 및 unzip에 대한 일부 공식 개선 사항은 2015년의 zip 3.1c 및 unzip 6.10b와 같이 베타 단계에 머물러 있다. 무엇보다도 두 가지 모두 .zipx 파일에서 PPMd8 및 LZMA 압축 지원, AES 암호화 지원을 추가했으며, iconv 기반 유니코드 개선 사항(unzip-iconv 기반)을 포함했다. 더 새로운 릴리스 후보인 Zip 3.1d가 2015년 공식 FTP 사이트에 나타났지만 SourceForge 페이지는 업데이트되지 않았다. 부분적으로는 추가된 압축기 때문에 압축된 파일 크기가 1.4 MB (3.1c)에서 2.9 MB (3.1d)로 증가했다.

antinode.info FTP 사이트는 Info-ZIP 유틸리티의 훨씬 더 최신 소스를 호스팅하고 있는 것으로 보인다. 개별 수정 사항은 이전 수정 사항과 다른 파일이 포함된 폴더로 정리되어 있으며, 소스용 zip 아카이브가 가끔 릴리스된다. 2023년 5월 기준, 이 사이트는 Unzip 6.10c (rev. 25, 2018년 12월 21일)와 Zip 3.1e의 소스 파일 개발 버전 (rev. 21, 2021년 12월 14일)을 제공한다. 사이트 소유자인 스티븐 슈베다가 이 버전들을 유지 관리한다. 슈베다는 원래 Info-ZIP 팀의 일원이다.

대체제

FreeBSD는 Info-ZIP 유틸리티를 교체하기로 결정했다. 이들은 zipx 및 AES도 지원하는 libarchive 기반의 명령줄 호환 unzip 버전을 제작한다.

같이 보기

각주

  1. 1 2 Roelofs, Greg (2008년 7월 8일). “Info-ZIP Home Page”. 2010년 11월 16일에 확인함.
  2. ↑ Roelofs, Greg (2009년 9월 10일). “Info-ZIP's UnZip”. 2016년 10월 13일에 원본 문서에서 보존된 문서. 2010년 11월 16일에 확인함.
  3. 1 2 3 4 5 6 7 8 9 10 Roelofs, Greg (2008년 10월 4일). “Info-ZIP: More Stuff”. 2010년 11월 16일에 확인함.
  4. ↑ Spieler, Christian (2002년 2월 17일), “UnZip, version 5.5, 17 February 2002”, 《UNZPHIST.ZIP》 (Info-ZIP)
  5. ↑ “README”, 《Zip》, 6.10a (Info-ZIP), 2010년 8월 13일
  6. ↑ “WHATSNEW”, 《Zip》, 3.1c (Info-ZIP), 2010년 6월 20일
  7. ↑ “Info-zip Unzip”. 《CVE security vulnerabilities, versions and detailed reports》. 2020년 1월 24일에 확인함.
  8. ↑ “oCERT-2014-011 UnZip input sanitization errors”. 《oCERT archive》. 2020년 1월 24일에 확인함.
  9. ↑ madler/unzip
  10. ↑ Debian patch tracker: zip, Debian patch tracker: unzip
  11. ↑ unzip-iconv 보관됨 2020-02-26 - 웨이백 머신. AUR.
  12. ↑ “unzip/files/unzip-6.0-natspec.patch”. 《Official Gentoo ebuild repository》. 2020년 1월 22일에 확인함.
  13. ↑ “Merge into ubuntu/Devel : Fix-code-pages : Lp:~mitya57/Ubuntu/+source/Unzip : Git : Code : Unzip package : Ubuntu”. 2024년 6월 4일.
  14. ↑ Fedora Pagure: unzip; Fedora Pagure: zip
  15. ↑ “Browse /unreleased Betas”. 《Info-ZIP project at SourceForge.net》. 2020년 1월 22일에 확인함.
  16. ↑ “ftp/info-zip/”. 《antinode.info》. 2020년 1월 24일에 확인함.
  17. ↑ “Info-ZIP project / Bugs / #56 Unzip 61c23 does not unzip files into base directory with -d "/"”. 《sourceforge》. 2020년 1월 24일에 확인함.
  18. ↑ “Version 2007-Mar-4 of the Info-ZIP license”. 2020년 1월 24일에 확인함.
  19. ↑ “Feature request: Replacement utils! · Issue #1138 · libarchive/libarchive” (영어). 《GitHub》.
  20. ↑ unzip(1) – FreeBSD 일반 명령어 매뉴얼 페이지

외부 링크