[Bug 203873] [patch] make gzip(1) embedded-friendly and more compatible with GNU gzip
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Mon Oct 19 16:07:13 UTC 2015
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203873
Bug ID: 203873
Summary: [patch] make gzip(1) embedded-friendly and more
compatible with GNU gzip
Product: Base System
Version: 10.2-STABLE
Hardware: Any
OS: Any
Status: New
Keywords: patch
Severity: Affects Some People
Priority: ---
Component: bin
Assignee: freebsd-bugs at FreeBSD.org
Reporter: eugen at grosbein.net
Keywords: patch
Created attachment 162210
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=162210&action=edit
patch for gzip
While running FreeBSD using space-constrained embedded platform like MIPS32
router, one may not have enough flash space for full-blown file system to keep
variable configuration files persistent between reboots. For example, there may
be only 64K or so flash space seen as /dev/map/cfg. This is not enough for
newfs(1) but enough to write gzip-compressed tar archive that can store
hundreds kilobytes of text configs like SSH host keys etc.
We need a way to check integrity of those raw 64Kbytes of data and "gzip -qt"
would do the job. However, "gzip -qt < /dev/map/cfg" does not work due to
hardware limitations and we need to use "dd bs=64k if=/dev/map/cfg | gzip -qt".
That feeds gzip with our compressed data and some trailing garbage.
Our gzip ignores trailing garbage but returns exit status 1 (fatal error) even
if CRC matches. GNU gzip returns exit status 2 (just warning) in such case.
Attached patch makes our gzip return 2 in case of ignored trailing garbage.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list