Storing the original file's modification time in the output file is
harmful (precludes deterministic results) and unlike official gzip,
the busybox version provides no way to suppress this behavior; the -n
option is silently ignored. Rather than trying to make -n work, this
patch just removes the timestamp-storing functionality. It should be
considered deprecated anyway; it's not Y2038-safe and gunzip ignores
it by default.

Per RFC 1952, 0 is the correct value to store to indicate that there
is no timestamp.

Rich
diff --git a/archival/gzip.c b/archival/gzip.c
index 1e779c9..903577b 100644
--- a/archival/gzip.c
+++ b/archival/gzip.c
@@ -2007,7 +2007,7 @@ static void ct_init(void)
  * IN assertions: the input and output buffers are cleared.
  */
 
-static void zip(ulg time_stamp)
+static void zip()
 {
        ush deflate_flags = 0;  /* pkzip -es, -en or -ex equivalent */
 
@@ -2018,7 +2018,7 @@ static void zip(ulg time_stamp)
        /* compression method: 8 (DEFLATED) */
        /* general flags: 0 */
        put_32bit(0x00088b1f);
-       put_32bit(time_stamp);
+       put_32bit(0);
 
        /* Write deflated file to zip file */
        G1.crc = ~0;
@@ -2044,8 +2044,6 @@ static void zip(ulg time_stamp)
 static
 IF_DESKTOP(long long) int FAST_FUNC pack_gzip(transformer_aux_data_t *aux 
UNUSED_PARAM)
 {
-       struct stat s;
-
        /* Clear input and output buffers */
        G1.outcnt = 0;
 #ifdef DEBUG
@@ -2077,9 +2075,7 @@ IF_DESKTOP(long long) int FAST_FUNC 
pack_gzip(transformer_aux_data_t *aux UNUSED
        G2.bl_desc.max_length  = MAX_BL_BITS;
        //G2.bl_desc.max_code    = 0;
 
-       s.st_ctime = 0;
-       fstat(STDIN_FILENO, &s);
-       zip(s.st_ctime);
+       zip();
        return 0;
 }
 
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to