
Utilidad portátil de extracción de archivos zip con amplio soporte de sistemas operativos, descifrado y correcciones de seguridad para vulnerabilidades de path traversal y symlink.
Este es el archivo README para la versión pública del 22 de mayo de 2004 del programa portátil de extracción de archivos zip UnZip del grupo Info-ZIP (y utilidades relacionadas).
unzip551.zip UnZip portátil, versión 5.51, distribución del código fuente unzip551.tar.Z igual que arriba, pero en formato tar comprimido unzip551.tar.gz igual que arriba, pero en formato tar gzip
ANTES DE PREGUNTAR: UnZip, su utilidad complementaria Zip, y las utilidades relacionadas y archivos de soporte se pueden encontrar en muchos lugares; lea el archivo "WHERE" para más detalles. Para contactar a los autores con sugerencias, informes de errores o correcciones, continúe leyendo este archivo (README) y, si esto es parte de una distribución de código fuente, el archivo "ZipPorts" en el directorio proginfo. También en las distribuciones de código fuente: lea "BUGS" para una lista de errores conocidos, no errores y posibles errores futuros; INSTALL para instrucciones sobre cómo compilar UnZip; y "Contents" para una lista comentada de todos los archivos distribuidos.
UnZip es una utilidad de extracción para archivos comprimidos en formato .zip (también llamados "zipfiles"). Aunque es altamente compatible tanto con las utilidades PKZIP y PKUNZIP de PKWARE para MS-DOS como con el propio programa Zip de Info-ZIP, nuestros objetivos principales han sido la portabilidad y la funcionalidad no MS-DOS.
Esta versión de UnZip ha sido portada a una asombrosa variedad de hardware—desde micros hasta supercomputadoras—y sistemas operativos: Unix (muchos sabores), VMS, OS/2 (incluida versión DLL), Windows NT y Windows 95 (incluida versión DLL), Windows CE (versión GUI), Windows 3.x (incluida versión DLL), MS-DOS, AmigaDOS, Atari TOS, Acorn RISC OS, BeOS, Macintosh (versión GUI), SMS/QDOS, MVS, VM/CMS, FlexOS, Tandem NSK, Human68k (en su mayoría), AOS/VS (parcialmente) y TOPS-20 (parcialmente). Las características de UnZip que no se encuentran en PKUNZIP incluyen el código fuente; extracción predeterminada de árboles de directorios (con un interruptor para evitar esto, en lugar de lo contrario); atributos de archivo extendidos específicos del sistema; y, por supuesto, la capacidad de ejecutarse en la mayoría de sus sistemas operativos favoritos. Además, es gratuito. :-)
Para distribuciones de código fuente, consulte el archivo Contents principal para obtener una lista de lo que está incluido, y lea INSTALL para instrucciones sobre compilación (incluyendo comentarios específicos del sistema operativo). Los archivos Contents de los sistemas operativos individuales (por ejemplo, vms/Contents) pueden enumerar información importante de compilación además de explicar qué archivos son qué, así que asegúrese de leerlos. Algunos de los puertos tienen sus propios archivos README especiales, así que búsquelos también.
Vea unzip.1 o unzip.txt para uso (o la documentación correspondiente de UnZipSFX, ZipInfo, fUnZip y ZipGrep). Para VMS, unzip_def.rnh o unzip_cli.help pueden compilarse en unzip.hlp e instalarse como una entrada de ayuda normal de VMS; consulte vms/descrip.mms.
La versión de mantenimiento 5.51 agrega un puerto de línea de comandos para CE, destinado al procesamiento por lotes. Con la integración de este puerto, el puerto pUnZip ha sido revisado y "revitalizado". Los cambios más importantes para el público en general son una serie de correcciones de errores, principalmente relacionadas con problemas de seguridad:
La principal adición en la versión 5.5 es el soporte para el nuevo algoritmo Deflate64(tm) de PKWARE, que apareció por primera vez en PKZIP 4.0 (publicado en noviembre de 2000). Como es habitual, se han integrado algunas otras correcciones de errores y limpiezas:
La versión de mantenimiento 5.42 corrige más errores y limpia las condiciones de redistribución:
La versión de mantenimiento 5.41 agrega otro nuevo puerto y corrige algunos errores.
La versión 5.4 agrega nuevos puertos, nuevamente. Otros elementos importantes son cambios en el formato de listado, nuevas características complementarias y varias correcciones de errores (especialmente en lo que respecta al manejo de marcas de tiempo...):
La versión 5.32 agrega dos nuevos puertos y una corrección para al menos un error relativamente grave:
La versión 5.31 incluía nada más que pequeñas correcciones de errores y correcciones tipográficas, con la excepción de algunos ajustes de rendimiento menores.
La versión 5.3 agregó aún más puertos y más características de portabilidad multiplataforma:
¡Lo que (aún) no se ha añadido es el soporte de archivos multiparte (también conocido como "spanning de disquetes") y una interfaz DLL unificada y más potente. Estas son las dos prioridades más altas para las versiones 6.x. Es casi seguro que el trabajo en la primera habrá comenzado para cuando lea esto. ¡Esta vez lo decimos en serio! Apuesta a que sí. :-)
Aunque las DLL siguen siendo básicamente un desastre, las DLL de Windows (de 16 y 32 bits) ahora tienen algo de documentación y una pequeña aplicación de ejemplo. Tenga en cuenta que ahora deberían ser compatibles con C/C++, Visual BASIC y Delphi. Idiomas más extraños (FoxBase, etc.) probablemente están totalmente descartados.
Finalmente, tenga en cuenta que el soporte para el método unshrink ahora está DESACTIVADO por defecto, aunque el código fuente aún está disponible (como con unreduce). Esto se hizo por razones legales, no técnicas, y no, no estamos más contentos con esto que usted. :-( Consulte el archivo COPYING para más detalles.
El sitio web de Info-ZIP está en http://www.info-zip.org/pub/infozip/ y contiene la información más actualizada sobre próximos lanzamientos, enlaces a binarios y problemas comunes. (Consulte http://www.info-zip.org/pub/infozip/FAQ.html para esto último.) Los archivos también pueden obtenerse vía ftp://ftp.info-zip.org/pub/infozip/ . Gracias a LEO (Múnich, Alemania) por alojar nuestro sitio principal.
Si tiene una pregunta sobre la redistribución del software Info-ZIP, ya sea tal cual, como empaquetado para un producto comercial, o como parte integral de un producto comercial, lea la sección de Preguntas Frecuentes (FAQ) del archivo COPYING incluido.
En la medida en que los compiladores de C son raros en algunas plataformas y los autores solo tienen acceso directo a un subconjunto de los sistemas soportados, otros pueden desear proporcionar ejecutables listos para usar para nuevos sistemas. En general, no hay problema con esto; solo requerimos que dichas distribuciones incluyan este archivo README, el archivo WHERE, el archivo COPYING (contiene información de derechos de autor/redistribución) y los archivos de documentación apropiados (unzip.txt y/o unzip.1 para UnZip, etc.). Si el sistema local proporciona una forma de hacer archivos autoextraíbles en los que tanto los ejecutables como los archivos de texto puedan almacenarse juntos, eso es lo mejor (en particular, use UnZipSFX si es posible, incluso si es unos pocos kilobytes más grande que las alternativas); de lo contrario, sugerimos un ejecutable UnZip simple y un zipfile separado que contenga los archivos de texto y binarios restantes. Si otro método de archivado es de uso común en el sistema de destino (por ejemplo, Zoo o LHa), también puede usarse.
Todos los informes de errores y parches (¡solo diferencias de contexto, por favor!) deben enviarse a [email protected], que es la dirección de correo electrónico de los autores de Info-ZIP. (Tenga en cuenta que algunos sistemas raros requieren que la parte Zip-Bugs se escriba en mayúsculas como se muestra; la mayoría de los sistemas funcionan bien con minúsculas "zip-bugs", sin embargo). NO NOS ENVÍE GRANDES BINARIOS—NUNCA. Si necesita enviarnos un archivo problemático que resulta ser grande (> 20K), contáctenos primero para obtener instrucciones.
Las "preguntas tontas" que no estén adecuadamente respondidas en la documentación también deben dirigirse a Zip-Bugs en lugar de a un foro global como Usenet. (Por favor, asegúrese de que su pregunta no esté respondida por la documentación, sin embargo—se ha hecho un gran esfuerzo para hacerla clara y completa.)
Las sugerencias para nuevas características se pueden discutir en [email protected], una lista de correo para probadores beta de Info-ZIP y partes interesadas; sin embargo, debe suscribirse primero (vea abajo). No prometemos actuar sobre todas las sugerencias ni siquiera sobre todos los parches, pero si es algo que es manifiestamente útil, enviar los parches requeridos directamente a Zip-Bugs (según las instrucciones en el archivo ZipPorts) probablemente produzca una respuesta más rápida que pedirnos que lo hagamos—los autores siempre están increíblemente cortos de tiempo. (Por favor, NO envíe parches ni archivos zip codificados a la lista de Info-ZIP. Por favor, LEA el archivo ZipPorts antes de enviar cualquier parche grande. Sería difícil enfatizar demasiado este punto...)
Si está considerando un puerto, no solo debe leer el archivo ZipPorts, sino también comunicarse con Zip-Bugs ANTES de comenzar, ya que el código se actualiza constantemente en segundo plano. (Por ejemplo, los puertos VxWorks, VMOS y Netware alguna vez se afirmaron que estaban en construcción, aunque aún no hemos visto ningún parche actualizado.) Organizaremos para enviarle las últimas fuentes. La alternativa es la posibilidad de que su arduo trabajo se guarde en un subdirectorio y sea ignorado en su mayoría, o completamente ignorado si alguien más ya ha realizado el puerto (y se sorprendería de la frecuencia con que esto ha sucedido).
Si desea mantenerse al día con nuestro desarrollo de UnZip (y la utilidad Zip complementaria), unirse a las filas de probadores beta, agregar sus propios pensamientos y contribuciones, o simplemente espiar, puede unirse a una de nuestras listas de correo. Hay una lista solo de anuncios (Info-ZIP-announce) y una lista general de discusión/pruebas (Info-ZIP). Debe ser suscriptor para publicar, y puede suscribirse a través de los enlaces en nuestra página de Preguntas Frecuentes:
http://www.info-zip.org/pub/infozip/FAQ.html#lists
(Tenga en cuenta que a finales de mayo de 2004, las listas no están disponibles mientras se mudan a un nuevo sitio; esperamos tenerlas restauradas pronto. Mientras tanto...) Siéntase libre de usar nuestra página web de informes de errores para informes de errores y para hacer preguntas no respondidas en la página de FAQ anterior:
http://www.info-zip.org/zip-bug.html
También hay una lista de correo cerrada para discusiones internas de nuestro equipo de desarrollo principal. Esta lista ahora se mantiene en secreto para evitar que nos inunden con mensajes de spam.
-- Greg Roelofs (a veces conocido como Cave Newt), principal desarrollador de UnZip, con inspiración de David Kirschbaum, fue el autor de este texto.
-- Christian Spieler (abreviado: SPC), actual coordinador de mantenimiento de UnZip, aplicó los cambios más recientes.