debian/0000755000000000000000000000000011766037346007203 5ustar debian/README.Debian0000644000000000000000000000100211716762762011237 0ustar zoo for Debian -------------- The linux target I created was based on the bsd 4.3 target, with the following differences :- Linux has strchr(). Linux signal handler returns void data type. (Debian GNU/)Linux uses stdarg.h in preference to varags.h. Linux has memmove(). (Debian GNU/)Linux uses ansi C compilers (required for stdarg.h). Linux malloc() returns a void pointer. Linux has vprintf(). -- Jose Carlos Medeiros Sat, 22 Mar 2008 15:19:10 -0300 debian/patches/0000755000000000000000000000000011766037106010624 5ustar debian/patches/10-printf.patch0000644000000000000000000000253211766037077013376 0ustar From: Jari Aalto Subject: Fix missing format strings --- a/zoolist.c +++ b/zoolist.c @@ -373,7 +373,7 @@ } else { if (talking && first_time && !show_name) {/*print archive header */ printf ("Length CF Size Now Date Time\n"); - printf (tot_line); + printf ("%s", tot_line); } printf ("%8lu %3u%% %8lu %2d %-.3s %02d %02d:%02d:%02d", direntry.org_size, @@ -476,7 +476,7 @@ if (talking && !show_name) { if (!fast && file_count) { tot_sf = cfactor (tot_org_siz, tot_siz_now); - printf (tot_line); + printf ("%s", tot_line); printf (tot_fmt, tot_org_siz, tot_sf, tot_siz_now, file_count); if (file_count > 1) @@ -486,7 +486,7 @@ if (del_count || expl_ver || expl_deleted || expl_comment || expl_star || (show_gen && (zoo_header.type > 0))) - printf (dashes); + printf ("%s", dashes); } if (!fast) { @@ -528,7 +528,7 @@ if (talking && show_name) { if (file_count) { tot_sf = cfactor (tot_org_siz, tot_siz_now); - printf (tot_line); + printf ("%s", tot_line); printf (tot_fmt, tot_org_siz, tot_sf, tot_siz_now, file_count); if (file_count > 1) printf ("s\n"); debian/patches/14-printf.patch0000644000000000000000000000300111766037077013372 0ustar From: Jari Aalto Subject: Fix missing format strings --- a/zoo.c +++ b/zoo.c @@ -167,7 +167,7 @@ cmd == UPDATE || cmd == DELETE) && argc < 4) || ((cmd == EXTRACT || cmd == TEST || cmd == LIST || cmd == PRINT || cmd == COMMENT) && argc < 3)) { - fprintf (stderr, incorrect_args); + fprintf (stderr, "%s", incorrect_args); goto show_usage; } } else { @@ -191,7 +191,7 @@ ) ) ) { - fprintf (stderr, incorrect_args); + fprintf (stderr, "%s", incorrect_args); goto show_usage; } } @@ -282,25 +282,25 @@ /* brief usage list */ give_list: - fprintf (stderr, usage); zooexit (1); + fprintf (stderr, "%s", usage); zooexit (1); /* help screen */ bigusage: printf ("Zoo archiver, %s\n", version); printf("(C) Copyright 1991 Rahul Dhesi -- Noncommercial use permitted\n"); -printf (usage); +printf ("%s", usage); printf ("\nChoose a command from within {} and zero or more modifiers from within [].\n"); printf ("E.g.: `zoo a save /bin/*' will archive all files in /bin into save.zoo.\n"); printf ("(Please see the user manual for a complete description of commands.)\n"); -printf (nov_usage); -printf (nov_cmds); +printf ("%s", nov_usage); +printf ("%s", nov_cmds); printf ("\n"); wait_return(); /* print msg & wait for RETURN */ printf ("\n"); -printf (usage); +printf ("%s", usage); printf (" Commands in {} mean: |Modifiers in [] mean:\n"); debian/patches/05-CVE-2006-1269.patch0000644000000000000000000000154511766037077013504 0ustar From: Alec Berryman Subject: Buffer overflow during archive creation CVE-2006-1269 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=183426 A buffer overflow bug exists in zoo which is triggered during archive creation. This issue is borderline a bug as it's really only a problem if someone is creating a zoo archive on a directory full of files controlled by a local attacker. Index: zoo-2.10/parse.c =================================================================== --- zoo-2.10.orig/parse.c 2008-03-22 16:44:32.000000000 -0300 +++ zoo-2.10/parse.c 2008-03-22 16:44:48.000000000 -0300 @@ -39,7 +39,7 @@ char *namep; /* points to relevant part of tempname */ char *p; - strcpy (tempname, fname); + strncpy (tempname, fname, LFNAMESIZE); #ifdef DEBUG printf ("parse: supplied name is [%s].\n", tempname); debian/patches/08-wait-return-comment-out.patch0000644000000000000000000000140311766037077016625 0ustar From: From: Jari Aalto Subject: Disable 'hit return to continue' screens The requirement to press RET key are not very confortable. The following patch removed the requirement to press a key to next screen, so that the output can be fed to less(1) etc. Index: zoo-2.10/zoo.c =================================================================== --- zoo-2.10.orig/zoo.c 2008-03-22 17:27:46.000000000 -0300 +++ zoo-2.10/zoo.c 2008-03-22 17:28:29.000000000 -0300 @@ -511,6 +511,7 @@ if (!isatty(fileno(stdout)) || !isatty(fileno(stdin))) return; #endif +#ifdef PAUSE_HELP (void) printf("Hit RETURN (or ENTER) key to continue..."); for ( ; ;) { int key; @@ -520,4 +521,5 @@ if (key == '\n' || key == '\r') return; } +#endif } debian/patches/06-CVE-2007-1673.patch0000644000000000000000000000617611766037077013512 0ustar From: Jean-Sebastien Guay-Leroux Subject: Multiple vendors ZOO file decompression infinite loop DoS http://archives.neohapsis.com/archives/bugtraq/2007-05/0046.html . It's possible to make the ZOO implementation to enter in an infinite loop condition. The vulnerability lies in the algorithm used to locate the files inside the archive. Each file in a ZOO archive is identified by a direntry structure. Those structures are linked between themselves with a 'next' pointer. This pointer is in fact an offset from the beginning of the file, representing the next direntry structure. By specifying an already processed file, it's possible to process more than one time this same file. The ZOO parser will then enter an infinite loop condition. Index: zoo-2.10/zooext.c =================================================================== --- zoo-2.10.orig/zooext.c 2008-03-22 16:49:23.000000000 -0300 +++ zoo-2.10/zooext.c 2008-03-22 16:51:30.000000000 -0300 @@ -90,6 +90,7 @@ #endif struct direntry direntry; /* directory entry */ int first_dir = 1; /* first dir entry seen? */ +unsigned long zoo_pointer = 0; /* Track our position in the file */ static char extract_ver[] = "Zoo %d.%d is needed to extract %s.\n"; static char no_space[] = "Insufficient disk space to extract %s.\n"; @@ -174,6 +175,9 @@ exit_status = 1; } zooseek (zoo_file, zoo_header.zoo_start, 0); /* seek to where data begins */ + + /* Begin tracking our position in the file */ + zoo_pointer = zoo_header.zoo_start; } #ifndef PORTABLE @@ -602,6 +606,11 @@ } /* end if */ loop_again: + /* Make sure we are not seeking to already processed data */ + if (next_ptr <= zoo_pointer) + prterror ('f', "ZOO chain structure is corrupted\n"); + zoo_pointer = next_ptr; + zooseek (zoo_file, next_ptr, 0); /* ..seek to next dir entry */ } /* end while */ Index: zoo-2.10/zoolist.c =================================================================== --- zoo-2.10.orig/zoolist.c 2008-03-22 16:49:30.000000000 -0300 +++ zoo-2.10/zoolist.c 2008-03-22 16:50:44.000000000 -0300 @@ -93,6 +93,7 @@ int show_mode = 0; /* show file protection */ #endif int first_dir = 1; /* if first direntry -- to adjust dat_ofs */ +unsigned long zoo_pointer = 0; /* Track our position in the file */ while (*option) { switch (*option) { @@ -212,6 +213,9 @@ show_acmt (&zoo_header, zoo_file, 0); /* show archive comment */ } + /* Begin tracking our position in the file */ + zoo_pointer = zoo_header.zoo_start; + /* Seek to the beginning of the first directory entry */ if (zooseek (zoo_file, zoo_header.zoo_start, 0) != 0) { ercount++; @@ -438,6 +442,11 @@ if (verb_list && !fast) show_comment (&direntry, zoo_file, 0, (char *) NULL); } /* end if (lots of conditions) */ + + /* Make sure we are not seeking to already processed data */ + if (direntry.next <= zoo_pointer) + prterror ('f', "ZOO chain structure is corrupted\n"); + zoo_pointer = direntry.next; /* ..seek to next dir entry */ zooseek (zoo_file, direntry.next, 0); debian/patches/02-traversal-directory.patch0000644000000000000000000000302511766037077016100 0ustar From: unknown Subject: patch to solve problem with "directory traversal bug" CVE id CAN-2005-2349 Index: zoo-2.10/portable.c =================================================================== --- zoo-2.10.orig/portable.c 2008-03-22 16:28:26.000000000 -0300 +++ zoo-2.10/portable.c 2008-03-22 16:32:35.000000000 -0300 @@ -364,6 +364,41 @@ show_dir(direntry); } #endif + /* ######################################################################### + * + * THIS CODE WAS WRITTEN TO SOLVE PROBLEM WITH DIRECTORY TRAVERSAL SECURITY + * BUG (CVE id CAN-2005-2349). + * + * ######################################################################## + */ + char *p; + /* take off '../' */ + while ((p = strstr( direntry->dirname, "../" )) != NULL) { + while (*(p+3) != '\0') { + *p = *(p + 3); + p++; + } + *p = *(p+3); /* move last null */ + //printf("zoo: skipped \"../\" path component in '%s'\n", direntry->dirname); + } + /* take off '/' */ + if ( direntry->dirname[0] == '/' ) { + p = direntry->dirname; + while (*p != '\0') { + *p = *(p + 1); + p++; + } + *p = *(p+1); /* move last null */ + //printf("zoo: skipped \"/\" path component in '%s'\n", direntry->dirname); + } + /* direntry->dirlen = strlen(direntry->dirname); */ + + /* ################################################################## + * + * END + * + * ################################################################### + */ return (0); } debian/patches/01-old-fixes.patch0000644000000000000000000004532211766037077013772 0ustar From: Unknown source Subject: Old fixes, that were made before this package has changed to use dpatch. Index: zoo-2.10/ar.h =================================================================== --- zoo-2.10.orig/ar.h 2008-03-22 16:16:42.000000000 -0300 +++ zoo-2.10/ar.h 2008-03-22 16:27:19.000000000 -0300 @@ -7,6 +7,7 @@ ***********************************************************/ #include +#include #ifdef ANSI_HDRS # include @@ -15,9 +16,11 @@ /* uchar should be 8 bits or more */ /* typedef unsigned char uchar; -- already in zoo.h */ +#ifndef _SYS_TYPES_H typedef unsigned int uint; /* 16 bits or more */ typedef unsigned short ushort; /* 16 bits or more */ typedef unsigned long ulong; /* 32 bits or more */ +#endif /* T_UINT16 must be #defined in options.h to be a 16-bit unsigned integer type */ Index: zoo-2.10/machine.c =================================================================== --- zoo-2.10.orig/machine.c 2008-03-22 16:16:42.000000000 -0300 +++ zoo-2.10/machine.c 2008-03-22 16:27:19.000000000 -0300 @@ -48,6 +48,10 @@ /* PART 2. FOR EACH SPECIFIC SYSTEM, INCLUDE A C FILE HERE. */ /***********************************************************************/ +#ifdef LINUX +#include "linux.c" +#endif + #ifdef SYS_V #include "sysv.c" #endif Index: zoo-2.10/makefile =================================================================== --- zoo-2.10.orig/makefile 2008-03-22 16:16:42.000000000 -0300 +++ zoo-2.10/makefile 2008-03-22 16:57:42.000000000 -0300 @@ -23,7 +23,7 @@ MODEL = EXTRA = -DBIG_MEM -DNDEBUG LINTFLAGS = -DLINT -OPTIM = -O +OPTIM = -O -Wall DESTDIR = /usr/local/bin #List of all object files created for Zoo @@ -53,6 +53,7 @@ @echo "ultrix: ULTRIX 4.1" @echo "convex: Convex C200 series" @echo "sysv: System V Release 2 or 3; or SCO Xenix" + @echo "linux: Linux" @echo "scodos: Cross-compiler under SCO Xenix/UNIX for MS-DOS" @echo "xenix286: Older Xenix/286 (not tested)" @echo "xenix68k: Xenix/68000 (not tested)" @@ -94,6 +95,10 @@ bsd: $(MAKE) CFLAGS="-c $(OPTIM) -DBSD4_3" $(TARGETS) +# Linux +linux: + $(MAKE) CC="gcc" CFLAGS="-c $(OPTIM) $(LINTFLAGS) -DLINUX -DANSI_HDRS" $(TARGETS) + # ULTRIX 4.1 ultrix: $(MAKE) CFLAGS="-c $(OPTIM) -DULTRIX" $(TARGETS) @@ -235,7 +240,11 @@ parse.o: zoofns.h zooio.h portable.o: /usr/include/stdio.h assert.h debug.h machine.h options.h portable.o: portable.h various.h zoo.h zoofns.h zooio.h -prterror.o: /usr/include/stdio.h /usr/include/varargs.h options.h various.h + +# I deleted varags.h dependancy from prterror.o since that is a +# dependancy covered by a #ifdef, and in Debian's case #undef'ed + +prterror.o: /usr/include/stdio.h options.h various.h prterror.o: zoofns.h zooio.h sysv.o: /usr/include/sys/stat.h /usr/include/sys/types.h /usr/include/time.h sysv.o: nixmode.i nixtime.i Index: zoo-2.10/makelist.c =================================================================== --- zoo-2.10.orig/makelist.c 2008-03-22 16:16:42.000000000 -0300 +++ zoo-2.10/makelist.c 2008-03-22 16:27:19.000000000 -0300 @@ -21,6 +21,8 @@ char *nameptr PARMS((char *)); void modpath PARMS((char *)); +int isadir PARMS((ZOOFILE)); +int isfdir PARMS((char *)); /*******************/ /* Index: zoo-2.10/misc.c =================================================================== --- zoo-2.10.orig/misc.c 2008-03-22 16:16:42.000000000 -0300 +++ zoo-2.10/misc.c 2008-03-22 16:57:42.000000000 -0300 @@ -8,6 +8,7 @@ Copyright (C) 1986, 1987 Rahul Dhesi -- All rights reserved (C) Copyright 1988 Rahul Dhesi -- All rights reserved */ +#include #include "options.h" /* Miscellaneous functions needed by Zoo but not by Ooz */ @@ -201,7 +202,7 @@ ZOOFILE zoo_file; { #ifndef NOSIGNAL - T_SIGNAL (*oldsignal)(); + T_SIGNAL (*oldsignal)(int); oldsignal = signal (SIGINT, SIG_IGN); #endif if (fwr_dir (direntry, zoo_file) == -1) Index: zoo-2.10/misc2.c =================================================================== --- zoo-2.10.orig/misc2.c 2008-03-22 16:16:42.000000000 -0300 +++ zoo-2.10/misc2.c 2008-03-22 16:27:19.000000000 -0300 @@ -7,6 +7,10 @@ Copyright (C) 1986, 1987 Rahul Dhesi -- All rights reserved (C) Copyright 1988 Rahul Dhesi -- All rights reserved */ +#include +#include +#include +#include #include "options.h" /* Miscellaneous routines */ #include "portable.h" Index: zoo-2.10/nixtime.i =================================================================== --- zoo-2.10.orig/nixtime.i 2008-03-22 16:16:42.000000000 -0300 +++ zoo-2.10/nixtime.i 2008-03-22 16:27:19.000000000 -0300 @@ -10,6 +10,9 @@ -- Rahul Dhesi 1986/12/31 */ +#include +#include +#include struct tm *localtime(); @@ -51,9 +54,10 @@ { long mstonix(); long gettz(); - long utimbuf[2]; - utimbuf[0] = utimbuf[1] = gettz() + mstonix (date, time); - return (utime (path, utimbuf)); + struct utimbuf utbf; + + utbf.actime = utbf.modtime = gettz() + mstonix (date, time); + return (utime (path, &utbf)); } /**************** Index: zoo-2.10/options.h =================================================================== --- zoo-2.10.orig/options.h 2008-03-22 16:16:42.000000000 -0300 +++ zoo-2.10/options.h 2008-03-22 16:27:19.000000000 -0300 @@ -13,6 +13,32 @@ /***********************************************************************/ +/* Linux */ +/***********************************************************************/ + +#ifdef LINUX +#define FILTER +#define IO_MACROS +#define EXISTS(f) (access(f, 00) == 0) +#define FNLIMIT 1023 +#define CHEKDIR +#define NIXTIME +#define NIXFNAME +#define NEEDCTYP +#define NOENUM +#define REN_STDC +#define SETBUF +#define GETTZ +#define FATTR +#define T_SIGNAL void +#define STDARG +#define HAVE_ISATTY /* undocumented #define option */ +#define ANSI_PROTO +#define VOIDPTR void * +#define NO_STDIO_FN /* Do we need this? RUARI QUINN */ +#endif /* Linux */ + +/***********************************************************************/ /* SYSTEM V (should be compatible with most releases) */ /***********************************************************************/ Index: zoo-2.10/portable.h =================================================================== --- zoo-2.10.orig/portable.h 2008-03-22 16:16:42.000000000 -0300 +++ zoo-2.10/portable.h 2008-03-22 16:27:19.000000000 -0300 @@ -90,6 +90,12 @@ #define MKDIR(x) mkdir(x, 0777) #endif +/* Linux */ +#ifdef LINUX +#define NIX_IO /* standard **IX I/O */ +#define MKDIR(x) mkdir(x, 0777) +#endif + /* Amiga */ #ifdef MCH_AMIGA # include "MCH_AMIGA NEEDS REVISION" Index: zoo-2.10/zoo.1 =================================================================== --- zoo-2.10.orig/zoo.1 2008-03-22 16:16:42.000000000 -0300 +++ zoo-2.10/zoo.1 2008-03-22 16:27:19.000000000 -0300 @@ -955,7 +955,7 @@ 2526: DIR [changes] ==> 95 2587: DATA **************** - 3909: DIR [copyrite] ==> 1478 + 3909: DIR [copyright] ==> 1478 3970: DATA 4769: DATA **************** @@ -1041,7 +1041,7 @@ Matches any sequence of zero or more characters. .PP .TP -.B \? +.B ? Matches any single character. .sp 1 Arbitrary combinations of @@ -1466,23 +1466,12 @@ .I zoo on all systems. So far as I can tell, this upward compatibility (all manipulations) and downward -compatiblity (ability to extract and list) +compatibility (ability to extract and list) is maintained by .I zoo versions up to 2.01. Version 2.1 adds the incompatibility that if high-performance compression is used, earlier versions cannot extract files compressed with version 2.1. -This is the only incompatibility that is permissible. -You are forbidden, with the force of -copyright law, to create from the -.I zoo -source code any derivative work -that violates this compatibility goal, -whether knowingly or through negligence. -If any violation of this -compatibility goal is observed, -this should be -considered a serious problem and reported to me. .SH CHANGES Here is a list of changes occurring from version 1.50 to version 2.01. In parentheses is given the version in which each @@ -1581,7 +1570,7 @@ .TP \- (2.01) Blanks around equal signs in commands given to "make" -were removed from the mk* scripts for better compatiblity +were removed from the mk* scripts for better compatibility with more **IX implementations including Sun's. .TP \- Index: zoo-2.10/zoo.c =================================================================== --- zoo-2.10.orig/zoo.c 2008-03-22 16:16:42.000000000 -0300 +++ zoo-2.10/zoo.c 2008-03-22 16:27:19.000000000 -0300 @@ -15,6 +15,7 @@ (C) Copyright 1988 Rahul Dhesi -- All rights reserved (C) Copyright 1991 Rahul Dhesi -- All rights reserved */ +#include #include "options.h" #include "zooio.h" #include "various.h" Index: zoo-2.10/zoo.h =================================================================== --- zoo-2.10.orig/zoo.h 2008-03-22 16:16:42.000000000 -0300 +++ zoo-2.10/zoo.h 2008-03-22 16:27:19.000000000 -0300 @@ -1,5 +1,6 @@ /* derived from: zoo.h 2.16 88/01/27 23:21:36 */ - +#ifndef ZOO_H +#define ZOO_H /* The contents of this file are hereby released to the public domain. @@ -240,3 +241,4 @@ #define MAXGEN 0x0f /* version mask to prune down to correct size on large-word machines */ #define VER_MASK 0xffff +#endif Index: zoo-2.10/zooadd.c =================================================================== --- zoo-2.10.orig/zooadd.c 2008-03-22 16:16:42.000000000 -0300 +++ zoo-2.10/zooadd.c 2008-03-22 16:27:19.000000000 -0300 @@ -9,11 +9,13 @@ (C) Copyright 1988 Rahul Dhesi -- All rights reserved (C) Copyright 1991 Rahul Dhesi -- All rights reserved */ +#include #include "options.h" /* Adds files specified in parameter-list to archive zoo_path. */ #define LONGEST 20 /* assumed length of longest filename */ #include "zoomem.h" /* to define MAXADD */ +#undef PORTABLE #include "zoo.h" #include "zooio.h" #include "various.h" @@ -37,6 +39,7 @@ void copyfields PARMS ((struct direntry *, struct tiny_header *)); void storefname PARMS ((struct direntry *, char *, int)); char *choosefname PARMS ((struct direntry *)); +int isadir PARMS((ZOOFILE)); extern struct zoo_header zoo_header; @@ -132,7 +135,7 @@ if (zoo_file == NOFILE) prterror ('f', could_not_open, zoo_path); -basename(zoo_path, zoo_fname); /* get basename of archive */ +zoo_basename(zoo_path, zoo_fname); /* get basename of archive */ rootname (zoo_path, zoo_bak); /* name without extension */ strcat (zoo_bak, BACKUP_EXT); /* name of backup of this archive */ @@ -222,7 +225,7 @@ break; } - basename (this_path, this_fname); /* get just filename for later */ + zoo_basename (this_path, this_fname); /* get just filename for later */ this_file = zooopen(this_path, Z_READ); if (this_file == NOFILE) { Index: zoo-2.10/zooadd2.c =================================================================== --- zoo-2.10.orig/zooadd2.c 2008-03-22 16:16:42.000000000 -0300 +++ zoo-2.10/zooadd2.c 2008-03-22 16:27:19.000000000 -0300 @@ -7,7 +7,9 @@ Copyright (C) 1986, 1987 Rahul Dhesi -- All rights reserved (C) Copyright 1988 Rahul Dhesi -- All rights reserved */ +#include #include "options.h" +#undef PORTABLE #include "zoo.h" #ifndef OK_STDIO #include @@ -20,7 +22,7 @@ #include "assert.h" #include "debug.h" #include "parse.h" - +int isfdir PARMS((char *)); /* Miscellaneous routines to support zooadd(). */ Index: zoo-2.10/zooext.c =================================================================== --- zoo-2.10.orig/zooext.c 2008-03-22 16:16:42.000000000 -0300 +++ zoo-2.10/zooext.c 2008-03-22 16:57:42.000000000 -0300 @@ -14,7 +14,8 @@ /* Extract file from archive. Extracts files specified in parameter-list from archive zoo_path. If none specified, extracts all files from archive. */ - +#include +#include #include "options.h" #include "zoo.h" #include "parse.h" /* defines struct for parse() */ @@ -62,7 +63,7 @@ char *whichname; /* which name to extract */ char matchname[PATHSIZE]; /* for pattern matching only */ #ifndef NOSIGNAL -T_SIGNAL (*oldsignal)(); /* to save previous SIGINT handler */ +T_SIGNAL (*oldsignal)(int); /* to save previous SIGINT handler */ #endif ZOOFILE zoo_file; /* open archive */ long next_ptr; /* pointer to within archive */ @@ -626,7 +627,7 @@ /* Ctrl_c() is called if ^C is hit while a file is being extracted. It closes the files, deletes it, and exits. */ -T_SIGNAL ctrl_c() +T_SIGNAL ctrl_c(int dummy) { #ifndef NOSIGNAL signal (SIGINT, SIG_IGN); /* ignore any more */ Index: zoo-2.10/zoofns.h =================================================================== --- zoo-2.10.orig/zoofns.h 2008-03-22 16:16:42.000000000 -0300 +++ zoo-2.10/zoofns.h 2008-03-22 16:27:19.000000000 -0300 @@ -42,12 +42,12 @@ int cfactor PARMS ((long, long)); int chname PARMS ((char *, char *)); int cmpnum PARMS ((unsigned int, unsigned int, unsigned int, unsigned int)); -T_SIGNAL ctrl_c PARMS ((void)); +T_SIGNAL ctrl_c PARMS ((int)); int exists PARMS ((char *)); int getfile PARMS ((ZOOFILE, ZOOFILE, long, int)); int getutime PARMS ((char *, unsigned *, unsigned *)); int gettime PARMS ((ZOOFILE, unsigned *, unsigned *)); -T_SIGNAL handle_break PARMS ((void)); +T_SIGNAL handle_break PARMS ((int)); #ifdef USE_ASCII int isupper PARMS ((int)); @@ -85,7 +85,7 @@ void addfname PARMS ((char *, long, unsigned int, unsigned int, unsigned, unsigned)); void add_version PARMS ((char *, struct direntry *)); -void basename PARMS ((char *, char [])); +void zoo_basename PARMS ((char *, char [])); void break_off PARMS ((void)); void close_file PARMS ((ZOOFILE)); void comment PARMS ((char *, char *)); Index: zoo-2.10/zooio.h =================================================================== --- zoo-2.10.orig/zooio.h 2008-03-22 16:16:42.000000000 -0300 +++ zoo-2.10/zooio.h 2008-03-22 16:27:19.000000000 -0300 @@ -7,6 +7,7 @@ -- Rahul Dhesi 1988/01/24 */ +#include "zoo.h" #ifndef OK_STDIO #include #define OK_STDIO Index: zoo-2.10/zoolist.c =================================================================== --- zoo-2.10.orig/zoolist.c 2008-03-22 16:16:42.000000000 -0300 +++ zoo-2.10/zoolist.c 2008-03-22 16:57:16.000000000 -0300 @@ -47,6 +47,7 @@ int ver_too_high PARMS((struct zoo_header *)); int needed PARMS((char *, struct direntry *, struct zoo_header *)); void printtz PARMS((int)); +int fputchar PARMS ((int)); void zoolist (argv, option, argc) char **argv, *option; @@ -414,7 +415,7 @@ if (direntry.fattr == 0) printf ("--- "); else if ((direntry.fattr >> 22) == 1) - printf ("%03o ", direntry.fattr & 0x1ff); + printf ("%03lo ", direntry.fattr & 0x1ff); else printf ("??? "); } Index: zoo-2.10/zoopack.c =================================================================== --- zoo-2.10.orig/zoopack.c 2008-03-22 16:16:42.000000000 -0300 +++ zoo-2.10/zoopack.c 2008-03-22 16:57:42.000000000 -0300 @@ -10,6 +10,7 @@ Copyright (C) 1986, 1987 Rahul Dhesi -- All rights reserved (C) Copyright 1988 Rahul Dhesi -- All rights reserved */ +#include #include "options.h" /* Packs an archive. The sequence is: 1. Copy all files from current archive to new one. @@ -171,7 +172,7 @@ } else { strcpy (temp_file, xes); } -mktemp (temp_file); /* ... and make unique */ +mkstemp (temp_file); /* ... and make unique */ new_file = zoocreate (temp_file); if (new_file == NOFILE) prterror ('f', "Could not create temporary file %s.\n", temp_file); @@ -388,7 +389,7 @@ /* handle_break() */ /* Sets break_hit to 1 when called */ -T_SIGNAL handle_break() +T_SIGNAL handle_break(int dummy) { #ifndef NOSIGNAL signal (SIGINT, SIG_IGN); /* ignore future control ^Cs for now */ Index: zoo-2.10/basename.c =================================================================== --- zoo-2.10.orig/basename.c 2008-03-22 16:16:42.000000000 -0300 +++ zoo-2.10/basename.c 2008-03-22 16:27:19.000000000 -0300 @@ -18,7 +18,7 @@ /* This function strips device/directory information from a pathname and returns just the plain filename */ -void basename (pathname, fname) +void zoo_basename (pathname, fname) char *pathname; char fname[]; { Index: zoo-2.10/fiz.1 =================================================================== --- zoo-2.10.orig/fiz.1 2008-03-22 16:16:42.000000000 -0300 +++ zoo-2.10/fiz.1 2008-03-22 16:27:19.000000000 -0300 @@ -5,7 +5,7 @@ .\" .TH FIZ 1 "Jan 31, 1988" .SH NAME -fiz \- analyze damaged zoo archive for data revovery +fiz \- analyze damaged zoo archive for data recovery .SH SYNOPSIS .I fiz .RB archive[ .zoo ] Index: zoo-2.10/linux.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ zoo-2.10/linux.c 2008-03-22 16:27:19.000000000 -0300 @@ -0,0 +1,73 @@ +/* machine.c for Linux. */ + +/* Basically code stolen from bsd.c, and adjusted for Linux. */ + +#include +#include +#include + +/* Function isadir() returns 1 if the supplied handle is a directory, + * else it returns 0. */ + +int isadir (ZOOFILE f) +{ + struct stat buffer; /* buffer to hold file information */ + + if (fstat (fileno (f), &buffer) == -1) + return (0); /* inaccessible -- assume not dir */ + else + { + if (buffer.st_mode & S_IFDIR) + return (1); + else + return (0); + } +} + + +/* Standard UNIX-compatible time routines */ +#include "nixtime.i" + +/* Standard UNIX-specific file attribute routines */ +#include "nixmode.i" + +/* Function gettz() returns the offset from GMT in seconds */ +long gettz() +{ +#define SEC_IN_DAY (24L * 60L * 60L) +#define INV_VALUE (SEC_IN_DAY + 1L) + + static long retval = INV_VALUE; /* cache, init to impossible value */ + struct timeval tp; + struct timezone tzp; + + if (retval != INV_VALUE) /* if have cached value, return it */ + return retval; + + gettimeofday (&tp, &tzp); + + retval = tzp.tz_minuteswest * 60 - tzp.tz_dsttime * 3600L; + return retval; +} + +/* Function fixfname() converts the supplied filename to a syntax + * legal for the host system. It is used during extraction. + * Undocumented */ + +char *fixfname(char *fname) +{ + return fname; /* default is no-op */ +} + +/* Function zootrunc() truncates the file passed to it. + * Undocumented. */ + +int zootrunc(FILE *f) +{ + long seekpos; + int fd = fileno(f); + + seekpos = lseek(fd, 0L, SEEK_CUR); + if (seekpos >= 0) + return ftruncate(fd, seekpos); +} debian/patches/07-ms-help-reduce-outputted-newlines-in-help.patch0000644000000000000000000000323211766037077022121 0ustar From: Jari Aalto Subject: reduce newlines outputted in help screens There are huge gaps between the help screen (extra empty lines). The following patch minimizes them. Index: zoo-2.10/zoo.c =================================================================== --- zoo-2.10.orig/zoo.c 2008-03-22 17:11:55.000000000 -0300 +++ zoo-2.10/zoo.c 2008-03-22 17:18:11.000000000 -0300 @@ -286,7 +286,6 @@ /* help screen */ bigusage: -printf("\n\n\n\n\n\n\n\n"); printf ("Zoo archiver, %s\n", version); printf("(C) Copyright 1991 Rahul Dhesi -- Noncommercial use permitted\n"); @@ -294,13 +293,13 @@ printf ("\nChoose a command from within {} and zero or more modifiers from within [].\n"); printf ("E.g.: `zoo a save /bin/*' will archive all files in /bin into save.zoo.\n"); -printf ("(Please see the user manual for a complete description of commands.)\n\n"); +printf ("(Please see the user manual for a complete description of commands.)\n"); printf (nov_usage); printf (nov_cmds); -printf ("\n\n\n\n"); +printf ("\n"); wait_return(); /* print msg & wait for RETURN */ -printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); +printf ("\n"); printf (usage); printf (" Commands in {} mean: |Modifiers in [] mean:\n"); @@ -485,7 +484,7 @@ /* loop thru screens */ for (curscreen = screens; *curscreen != NULL; ++curscreen) { - printf("\n\n\n\n"); +/* printf("\n\n\n\n"); */ linecount = scrnlen; curline = *curscreen; while (*curline != NULL) { @@ -494,7 +493,7 @@ } /* slew page */ - while (--linecount != 0) putchar('\n'); +/* while (--linecount != 0) putchar('\n'); */ wait_return(); /* print msg & wait for RETURN */ } debian/patches/04-fix-fullpath-buffer-overflow.patch0000644000000000000000000000136411766037077017614 0ustar From: unknown Subject: Fix "fullpath()" File Name Handling Buffer Overflow, CAN-2006-0855 Index: zoo-2.10/misc.c =================================================================== --- zoo-2.10.orig/misc.c 2008-03-22 16:39:37.000000000 -0300 +++ zoo-2.10/misc.c 2008-03-22 16:40:07.000000000 -0300 @@ -136,11 +136,14 @@ char *fullpath (direntry) struct direntry *direntry; { - static char result[PATHSIZE]; + static char result[PATHSIZE+PATHSIZE+12]; // Room for enough space combine (result, direntry->dirlen != 0 ? direntry->dirname : "", (direntry->namlen != 0) ? direntry->lfname : direntry->fname ); + if (strlen (result) >= PATHSIZE) { + prterror ('f', "Combined dirname and filename too long\n"); + } return (result); } debian/patches/20-makefile.patch0000644000000000000000000000163611766037077013656 0ustar From: Jari Aalto Subject: Enabled hardened build flags through dpkg-buildflags --- a/makefile +++ b/makefile @@ -23,7 +23,11 @@ MODEL = EXTRA = -DBIG_MEM -DNDEBUG LINTFLAGS = -DLINT -OPTIM = -O -Wall +OPTIM = `dpkg-buildflags --get CFLAGS` +OPTIM += -Wall +OPTIM += `dpkg-buildflags --get CPPFLAGS` +LDFLAGS = `dpkg-buildflags --get LDFLAGS` + DESTDIR = /usr/local/bin #List of all object files created for Zoo @@ -98,11 +102,11 @@ # Linux linux: - $(MAKE) CC="gcc" CFLAGS="-c $(OPTIM) $(LINTFLAGS) -DLINUX -DANSI_HDRS" $(TARGETS) + $(MAKE) CC="gcc" CFLAGS="-c $(OPTIM) $(LINTFLAGS) -DLINUX -DANSI_HDRS" LDFLAGS="$(LDFLAGS)" $(TARGETS) # Linux64 linux64: - $(MAKE) CC="gcc" CFLAGS="-c $(OPTIM) $(LINTFLAGS) -DLINUX -DLONG64 -DANSI_HDRS" $(TARGETS) + $(MAKE) CC="gcc" CFLAGS="-c $(OPTIM) $(LINTFLAGS) -DLINUX -DLONG64 -DANSI_HDRS" LDFLAGS="$(LDFLAGS)" $(TARGETS) # ULTRIX 4.1 ultrix: debian/patches/12-printf.patch0000644000000000000000000000061711766037077013402 0ustar From: Jari Aalto Subject: Fix missing format strings --- a/zooadd.c +++ b/zooadd.c @@ -542,7 +542,7 @@ status = getfile (this_file, zoo_file, -1L, 1); if (status != 0) { /* if III */ success = 0; - printf (disk_full); + printf ("%s", disk_full); exit_status++; } else { success = 1; debian/patches/series0000644000000000000000000000050211766037107012037 0ustar 01-old-fixes.patch 02-traversal-directory.patch 03-fix-manage-archive-under-AMD64.patch 04-fix-fullpath-buffer-overflow.patch 05-CVE-2006-1269.patch 06-CVE-2007-1673.patch 07-ms-help-reduce-outputted-newlines-in-help.patch 08-wait-return-comment-out.patch 10-printf.patch 12-printf.patch 14-printf.patch 20-makefile.patch debian/patches/03-fix-manage-archive-under-AMD64.patch0000644000000000000000000000502511766037077017415 0ustar From: unknown Subject: patch to solve problems managing files under AMD64 and maybe under others 64 archs. --- makefile | 5 +++++ misc.c | 4 ++++ zoodel.c | 4 ++++ zooext.c | 4 ++++ zoopack.c | 4 ++++ 5 files changed, 21 insertions(+) --- a/makefile +++ b/makefile @@ -54,6 +54,7 @@ @echo "convex: Convex C200 series" @echo "sysv: System V Release 2 or 3; or SCO Xenix" @echo "linux: Linux" + @echo "linux64: Linux with 64 bit long" @echo "scodos: Cross-compiler under SCO Xenix/UNIX for MS-DOS" @echo "xenix286: Older Xenix/286 (not tested)" @echo "xenix68k: Xenix/68000 (not tested)" @@ -99,6 +100,10 @@ linux: $(MAKE) CC="gcc" CFLAGS="-c $(OPTIM) $(LINTFLAGS) -DLINUX -DANSI_HDRS" $(TARGETS) +# Linux64 +linux64: + $(MAKE) CC="gcc" CFLAGS="-c $(OPTIM) $(LINTFLAGS) -DLINUX -DLONG64 -DANSI_HDRS" $(TARGETS) + # ULTRIX 4.1 ultrix: $(MAKE) CFLAGS="-c $(OPTIM) -DULTRIX" $(TARGETS) --- a/misc.c +++ b/misc.c @@ -173,7 +173,11 @@ frd_zooh (header, zoo_file); +#ifdef LONG64 + if ((int)(header->zoo_start + header->zoo_minus) != 0) +#else if ((header->zoo_start + header->zoo_minus) != 0L) +#endif prterror ('f', failed_consistency); if (ver_too_high (header)) prterror ('f', wrong_version, header->major_ver, header->minor_ver); --- a/zoodel.c +++ b/zoodel.c @@ -138,7 +138,11 @@ /* read archive header */ frd_zooh (&zoo_header, zoo_file); +#ifdef LONG64 + if ((int)(zoo_header.zoo_start + zoo_header.zoo_minus) != 0) +#else if ((zoo_header.zoo_start + zoo_header.zoo_minus) != 0L) +#endif prterror ('f', failed_consistency); if (ver_too_high (&zoo_header)) prterror ('f', wrong_version, zoo_header.major_ver, zoo_header.minor_ver); --- a/zooext.c +++ b/zooext.c @@ -164,7 +164,11 @@ } else { /* read header */ frd_zooh (&zoo_header, zoo_file); +#ifdef LONG64 + if ((int)(zoo_header.zoo_start + zoo_header.zoo_minus) != 0) { +#else if ((zoo_header.zoo_start + zoo_header.zoo_minus) != 0L) { +#endif prterror ('w', failed_consistency); bad_header++; exit_status = 1; --- a/zoopack.c +++ b/zoopack.c @@ -140,7 +140,11 @@ /* Read the header of the old archive. */ frd_zooh(&old_zoo_header, zoo_file); +#ifdef LONG64 +if ((int)(old_zoo_header.zoo_start + old_zoo_header.zoo_minus) != 0) { +#else if ((old_zoo_header.zoo_start + old_zoo_header.zoo_minus) != 0L) { +#endif prterror ('w', failed_consistency); ++bad_header; /* remember for future error message */ } debian/compat0000644000000000000000000000000211733275121010366 0ustar 9 debian/control0000644000000000000000000000154411733275121010577 0ustar Source: zoo Section: utils Priority: optional Build-Depends: xutils-dev, debhelper (>= 9) Maintainer: Jari Aalto Standards-Version: 3.9.3.1 Vcs-Browser: http://git.debian.org/?p=collab-maint/zoo.git Vcs-Git: git://git.debian.org/git/collab-maint/zoo.git Homepage: ftp://metalab.unc.edu/pub/Linux/utils/compress/ Package: zoo Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends} Description: manipulate zoo archives Zoo is used to create and maintain collections of files in compressed form. It uses a Lempel-Ziv compression algorithm that gives space savings in the range of 20% to 80% depending on the type of file data. Zoo can store and selectively extract multiple generations of the same file. . This package exists for its historical value. If you are looking for a compression tool for serious use, check tar and gzip. debian/dirs0000644000000000000000000000001011716762762010060 0ustar usr/bin debian/changelog0000644000000000000000000002217111766037276011062 0ustar zoo (2.10-27) unstable; urgency=low * debian/rules - Check for DEB_BUILD_ARCH_BITS and enable makefile target "linux64" needed for AMD64 03 patch. See LP#892788 and Debian bug #335114. Thanks ultrapeer and original patch 03 fixes by Carl Johnson . * debian/patches - Canonicalize all file names to use dash(-) between words. -- Jari Aalto Wed, 13 Jun 2012 10:18:22 +0300 zoo (2.10-26) unstable; urgency=low * debian/clean - New file. * debian/compat - Update to 9 * debian/control - (Build-Depends): update to debhelper 9. * debian/copyright - Update to format 1.0. * debian/patches - (From, Subject): Add DEP3 patch headers. - (03): Correct typo in patch. Corrects corruption problem in AMD64. See LP#892788 discussion for details. * debian/rules - Use hardened CFLAGS; enable all hardening. http://wiki.debian.org/ReleaseGoals/SecurityHardeningBuildFlags - Move cleaning to debian/clean. -- Jari Aalto Sat, 24 Mar 2012 03:43:51 -0400 zoo (2.10-25) unstable; urgency=low * debian/patches: - (10, 12, 14, 20): Enable hardened build flags through dpkg-buildflags. Patches thanks to Moritz Muehlenhoff . (Closes: #655499). -- Jari Aalto Wed, 11 Jan 2012 21:54:22 +0200 zoo (2.10-24) unstable; urgency=low * debian/control - (Uploaders): Remove field. Previous maintainer. * debian/copyright - (Format): Use versioned URL (Lintian). * debian/rules - (override_dh_auto_build): Restore makefile after makedepend. -- Jari Aalto Sun, 06 Nov 2011 21:30:33 +0200 zoo (2.10-23) unstable; urgency=low [ Jari Aalto ] * debian/control (Build-Depends): Add xutils-dev due to makedepend program. * debian/rules (override_dh_auto_build): Call makedepend which rewrites section '# DO NOT DELETE THIS LINE' in makefile. (FTBFS; Closes: #640569). [ Ricardo Mones ] * debian/control - (Standards-Version): update to 3.9.2. -- Jari Aalto Tue, 06 Sep 2011 08:28:26 +0300 zoo (2.10-22) unstable; urgency=low * New maintainer (Close: #581034). * debian/chnagelog - Delete EOL whitespaces. * debian/compat - Update to 8. * debian/control - (Build-Depends): Remove cdbs, quilt. Use debhelper 8. - (Standards-Version): update to 3.9.1. - (Vcs-*): New fields. * debian/copyright - Use DEP5. * debian/zoo.install - New file. * debian/zoo.manpages - New file. * debian/rules - Move to dh(1). -- Jari Aalto Sat, 05 Mar 2011 15:26:59 +0200 zoo (2.10-21.1) unstable; urgency=low [ Jari Aalto ] * Non-maintainer upload. - Move to packaging format "3.0 (quilt)" due to patch (FTBFS; Closes: #484969). Patch thanks to Vincent Legout . * debian/control - (Build-Depends): Update to debhelper 7.1. - (Depends): Add ${misc:Depends}. - (Standards-Version): Update to 3.8.4. * debian/rules - Remove simple-patchsys.mk obsoleted by new package format. * debian/source/format - New file -- Jari Aalto Wed, 05 May 2010 20:27:34 +0300 zoo (2.10-21) unstable; urgency=low * Converted package to CDBS with quilt. - Added Build-Depends: cdbs, quilt - Removed Build-Depends: dpatch * debian/control: - Bump Standards-Version: 3.7.3. - Changed Homepage to header. * debian/copyright: - Reorganized this file. - Encoded to UTF-8. * Added patch to Reduce outputted newlines in help screens, thanks to Jari Aalto . (Closes: #466060) * Added patch to Disable 'hit return to continue' screens, thanks to Jari Aalto . (Closes: #466059) -- Jose Carlos Medeiros Sat, 22 Mar 2008 15:25:01 -0300 zoo (2.10-20) unstable; urgency=low * Solved lintian "debian-rules-ignores-make-clean-error" * rules: removed -s option from install to complain with nostrip build option (policy 10.1). (Closes: #438366) -- Jose Carlos Medeiros Fri, 21 Sep 2007 20:48:04 -0300 zoo (2.10-19) unstable; urgency=low * Bump Standards-Version: 3.7.2. * Added Homepage in debian/control. * Added patch to solve "CVE-2007-1673: denial of service (infinite loop)", thanks to Jean-Sébastien Guay-Lerou . (Closes: #424686) -- Jose Carlos Medeiros Fri, 18 May 2007 14:32:12 -0300 zoo (2.10-18) unstable; urgency=low * Added patch to solve "CVE-2006-1269: local arbitrary code execution", thanks to Alec Berryman (closes: #367858) * Updated to DH_COMPAT 5 -- Jose Carlos Medeiros Fri, 19 May 2006 19:23:24 -0300 zoo (2.10-17) unstable; urgency=low * Added 04_fix_fullpath_buffer_overflow patch to fix a Buffer Overflow, CAN-2006-0855. Thanks to Jean-SébastienGuay-Leroux , (closes: #354461) -- Jose Carlos Medeiros Fri, 3 Mar 2006 18:56:02 -0300 zoo (2.10-16) unstable; urgency=low * Added 03_fix_manage_archive_under_AMD64 patch, thanks to carlj . (closes: #335114) * Updated debian/rules to test and compile to AMD64. * Updated to Standards-Version 3.6.2. * Changed 01_old_fixes dpatch to solve problem "missing \?" in zoo.1. -- Jose Carlos Medeiros Wed, 16 Nov 2005 16:48:24 -0200 zoo (2.10-15) unstable; urgency=low * Added dpatch as Build-Depends in debian/control. * Added debian/watch file. (closes: #322246) * Updated linux.c in 01_old_fixes. (closes: #322194) Thanks to Robert Millan -- Jose Carlos Medeiros Tue, 9 Aug 2005 15:07:48 -0300 zoo (2.10-14) unstable; urgency=low * Changed call from "mktemp" to "mkstemp" in zoopack.c file. * Added debian/patches/00options, debian/patches/00list and debian/patches/00template files. * Updated rules and control to use dpatch. * Added 01_old_fixes.dpatch file with old changes. * Added 02_traversal_directory.dpatch to solve problem with "directory traversal security bug - CVE id CAN-2005-2349". Thanks to Jorge Ventura (closes: #309594) * Changed upstream source link in copyright file. -- Jose Carlos Medeiros Fri, 22 Jul 2005 12:59:07 -0300 zoo (2.10-13) unstable; urgency=low * Updated zoo.1 file (thanks to A Costa ). (closes: #302817) * Changed email of Mantainer in control file. * Updated fiz.1 file (thanks to A Costa ). (closes: #309874) -- Jose Carlos Medeiros Tue, 7 Jun 2005 20:47:51 -0300 zoo (2.10-12) unstable; urgency=low * New maintainer (closes: #302895) * Created compat file. * Deleted debian/docs unused file. * Changed rules to complain debhelper > 4.0. * Changed README.compilers to README.debian. -- Jose Carlos Medeiros Wed, 13 Apr 2005 18:39:14 -0300 zoo (2.10-11) unstable; urgency=low * New maintainer (closes: #258470) * Move to main from non-free (zoo is now in public domain). * Updated copyright file * Updated zoo.1 file * Removed unnecessary, compile related files from the binary package. * Standards-Version: 3.6.1.0 -- Niklas Vainio Sat, 10 Jul 2004 21:29:26 +0300 zoo (2.10-10) unstable; urgency=low * Recompile to allow prelinking (closes: #231547). -- Petr Cech Mon, 9 Feb 2004 12:02:32 +0100 zoo (2.10-9) unstable; urgency=low * Fix build with new glibc-2.2 (closes: #94865) -- Petr Cech Sun, 22 Apr 2001 22:17:14 +0200 zoo (2.10-8) unstable; urgency=low * Added README.compilers. * Standards-version: 3.2.1. * Glibc-2.2 build. * Fix long utibuf[2] to struct utimbuf. -- Petr Cech Tue, 17 Oct 2000 15:07:50 +0200 zoo (2.10-7) unstable; urgency=low * Don't know how, but the copyright was gone * Added documentation from source package -- Petr Cech Sat, 16 May 1998 11:32:30 +0200 zoo (2.10-6) frozen unstable; urgency=low * Use debhelper. * Added some includes and prototypes to have less warnings * New maintainer. * updated to 2.4.1 -- Petr CECH Fri, 8 May 1998 01:06:39 +0200 zoo (2.10-5) unstable; urgency=low * Orphaned the package. * debian/control (Standards-Version): updated to 2.4.0.0 [#16772]. * debian/control (Section): changed to non-free/utils [fails #3 of DFSG]. * debian/control (Maintainer): set to debian-qa list. * debian/rules: rewritten. -- James Troup Wed, 4 Mar 1998 02:17:57 +0000 zoo (2.10-4) unstable; urgency=low * Rebuilt for libc6. -- James Troup Wed, 25 Jun 1997 17:04:23 +0000 zoo (2.10-3) unstable; urgency=low * New maintainer. * Updated package to standards version 2.1.1.2. * Removed executables from source package. * Added better linux support, fixes bug #3961 and #4904. -- James Troup Wed, 22 Jan 1997 02:18:51 +0000 debian/watch0000644000000000000000000000017011716762762010234 0ustar version=3 opts=dversionmangle=s/\.// \ http://www.ibiblio.org/pub/packages/ccic/software/unix/utils/zoo(.*)\.tar\.gz debian/zoo.manpages0000644000000000000000000000000411716762762011523 0ustar *.1 debian/rules0000755000000000000000000000110711765564121010255 0ustar #!/usr/bin/make -f export DEB_BUILD_MAINT_OPTIONS = hardening=+all export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed TARGET = linux BITS = $(shell dpkg-architecture -qDEB_BUILD_ARCH_BITS) ifeq ($(BITS),64) TARGET = linux64 endif override_dh_auto_build: cp --archive makefile makefile.orig makedepend $(MAKE) CFLAGS="$(CFLAGS) $(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" $(TARGET) # Restore original; changed by makedepend mv makefile.orig makefile override_dh_auto_install: # Skip. See debian/install %: dh $@ # End of file debian/zoo.install0000644000000000000000000000003011716762762011375 0ustar zoo usr/bin fiz usr/bin debian/copyright0000644000000000000000000000565611733274440011142 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0 Upstream-Name: zoo Upstream-Contact: Rahul Dhesi Source: http://www.ibiblio.org/pub/packages/ccic/software/unix/utils Files: * Copyright: 1991 Rahul Dhesi License: GPL-2+ Files: debian/* Copyright: 2011-2012 Jari Aalto 2005-2008 Jose Carlos Medeiros 2004 Niklas Vainio 1998, 2000, 2001, 2004 Petr CECH 1997-1998 James Troup License: public-domain Zoo was written by Rahul Dhesi. He has now released it into the public domain: . Return-Path: Date: Sat, 19 Jun 2004 13:50:26 -0700 (PDT) From: dhesi@rahul.net To: Niklas Vainio Subject: Re: License of Zoo . Hi, the last release of the zoo archive program was marked entirely public domain, with no restrictions. I'm sure this statement will be found somewhere in the files in the sources. If not, I hope this email will suffice: everything in the zoo package is entirely public domain, with no restrictions whatsoever. . Rahul . On Sat, 19 Jun 2004, Niklas Vainio wrote: . > Dear Rahul Dhesi, > > The Zoo archiving program you wrote, is part of the Debian GNU/Linux system, > in its unofficial section called "non-free". I'm asking you to relax licence > conditions of Zoo a bit to make it free software and allow it to move into > the official Debian distribution. > > Zoo licensing conditions have two clauses that make it non-free software. > Those clauses are the following: > > "(b) do not create, whether deliberately or through negligence, any > derivative work that violates the compatibility goals describe in the > reference manual for zoo 2.1," > > "(d) make the fully commented source code of the derivative work available > to me at no cost if I so request, and make no attempt to restrict the > distribution or use of this source code." > > Of course this is more of historical interest than any actual need, but > would you please consider licensing Zoo under a free license? > > Best regards, > - Nikke, a Debian volunteer > > -- > Niklas Vainio License: GPL-2+ This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this program. If not, see . . On Debian systems, the complete text of the GNU General Public License can be found in "/usr/share/common-licenses/GPL-2". debian/source/0000755000000000000000000000000011716762762010505 5ustar debian/source/format0000644000000000000000000000001411716762762011713 0ustar 3.0 (quilt) debian/clean0000644000000000000000000000001411733274367010203 0ustar zoo fiz *.o