Eric Andersen
2fdba24620
Marc A. Lehmann writes:
...
The tar -x command in busybox does not restore the file mode correctly.
The reason is most probably this code in
archival/libunarachive/data_extract_all.c:
chmod(file_header->name, file_header->mode);
chown(file_header->name, file_header->uid, file_header->gid);
chown clears the set*id bits (on current versions of linux :). Flipping
the order around fixes the problem.
(tested with 1.00pre3 from cvs).
2003-09-11 08:32:40 +00:00
Glenn L McGrath
87af49f26b
If a tar entry is a regualr file ending in a '/' then its really a
...
directory.
From http://www.gnu.org/manual/tar/html_node/tar_123.html
REGTYPE
AREGTYPE
These flags represent a regular file. In order to be compatible with
older versions of tar, a typeflag value of AREGTYPE should be silently
recognized as a regular file. New archives should be created using
REGTYPE. Also, for backward compatibility, tar treats a regular file
whose name ends with a slash as a directory.
2003-09-09 17:41:03 +00:00
Glenn L McGrath
4cee66d5a8
Dont unlink when testing !
...
Always preserve creation date
Disable the -p option its for modification date
Remove some cpio header debugging noise
Syncronise file listing behaviour with upstream.
2003-08-28 19:12:23 +00:00
Glenn L McGrath
3d5828fb6d
Change hardlink handling for tar to work the same way as cpio
2003-08-14 02:55:15 +00:00
Glenn L McGrath
91e464632b
Fix bug when handling debian packages.
...
If we read the contents of compressed files within the ar archive,
e.g. control.tar.gz, then file position gets all out of whack, so
it has to be reset before reading thenext header.
2003-07-31 01:53:50 +00:00
Eric Andersen
1b0075d243
Fixup problem unconditionally converting all hard links to symlinks.
2003-07-16 06:29:51 +00:00
Eric Andersen
cb81e6484d
Update a bunch of docs. Run a script to update my email addr.
2003-07-14 21:21:08 +00:00
Eric Andersen
e3393513c5
Be certain to not abort prematurely when reading stuff from pipes.
2003-07-05 23:10:27 +00:00
Glenn L McGrath
b838420fd5
Handle hard links by converting them to symlinks
2003-06-12 13:47:16 +00:00
Glenn L McGrath
afc01cd485
unlink a previous file before its extracted
2003-04-21 11:03:29 +00:00
Manuel Novoa III
cad5364599
Major coreutils update.
2003-03-19 09:13:01 +00:00
Glenn L McGrath
826b48b624
Woops, my gunzip fix broke unzip, these cant be static
2003-02-09 12:00:17 +00:00
Glenn L McGrath
1d21fb3c23
Moved to libunarchive/unzip.c
2003-02-09 04:49:17 +00:00
Glenn L McGrath
cc616928d5
Fix endian probelm on PPC, i had different types for an extern variable.
2003-02-09 04:46:34 +00:00
Glenn L McGrath
21110a0aa2
Fix long standing bug with old gnu tar files, add a check so tar will
...
complain "unknown file type" if it tries to extract an oldgnu tar file
and TAR_FEATURE_OLDGNU_COMPATABILITY sint defined.
Print a warning if unisupported gnu extensions are encountered.
2003-01-28 01:45:48 +00:00
Eric Andersen
f4b273cbb4
A cleaner cleanup that avoids passing an off_t to scanf
2002-12-11 21:45:08 +00:00
Eric Andersen
9701411d21
squash a warning
2002-12-11 21:34:04 +00:00
Glenn L McGrath
b72a735a32
rpm applet by Laurence Anderson
2002-12-10 00:17:22 +00:00
Glenn L McGrath
66125c8065
Move add_to_list from libunarchive to libbb so it can be of more general use (eg ifupdown). Changed the name to llist_add_to as i plan on adding more llist_ functions as needed (e.g. llist_free).
2002-12-08 00:54:33 +00:00
Glenn L McGrath
6f9b45b9ef
Unlink before mkdir, mknod, symlink to overwrite
2002-12-04 22:26:30 +00:00
Glenn L McGrath
f3faf41334
fix warning
2002-12-01 21:52:40 +00:00
Glenn L McGrath
fedbfe4059
Style
2002-11-28 09:09:47 +00:00
Glenn L McGrath
eda4f53f2e
Add an input buffer (currently 32kB) to speed things up heaps, it still requires 25% longer to decompress as compared to upstream.
2002-11-24 06:01:20 +00:00
Glenn L McGrath
b7a76df4d1
Fix long filename support
2002-11-23 10:44:47 +00:00
Glenn L McGrath
83bf47c02f
Speed and memory usage improvements from Laurence Adnerson
2002-11-20 22:00:31 +00:00
Glenn L McGrath
0126fda5bb
read_gz patch 3 from Laurence Anderson
2002-11-20 06:46:46 +00:00
Glenn L McGrath
a0d395eac9
Use read_gz, remove fork() woohoo!
2002-11-19 08:22:03 +00:00
Glenn L McGrath
fd73b8c2ce
Patch from Laurence Anderson to provide a read_gz function, doesnt require fork(), pipe(), consistent with read_bz2 and more flexible.
2002-11-17 21:33:30 +00:00
Glenn L McGrath
02fcd2d2df
Allow short reads as we are looping anyway.
2002-11-15 21:58:30 +00:00
Glenn L McGrath
e356883ffb
Minor cleanups
2002-11-13 00:24:20 +00:00
Glenn L McGrath
034c371bb2
Reduce block size to 512 to prevent short read's when reading from a pipe
2002-11-12 23:34:15 +00:00
Glenn L McGrath
5703341123
#ifdef, not just #if... grrr
2002-11-08 08:07:38 +00:00
Glenn L McGrath
ea12202288
Terminate the buffer with a '\0'
2002-11-06 22:31:45 +00:00
Glenn L McGrath
7f2a95319b
Fail silently if a partial tar header is read as tar.bz2 is leaving trailing junk (not sure why), add some missing files
2002-11-05 02:56:57 +00:00
Glenn L McGrath
18bbca18ac
enable .tar.bz2 for dpkg-deb
2002-11-05 01:52:23 +00:00
Glenn L McGrath
8e94098423
Change filter paramaters, filters can be more powefull now
2002-11-04 23:47:31 +00:00
Glenn L McGrath
237ae42fc9
Abstract read and seek in unarchiving code, convert bunzip to file descriptors, support tar -j
2002-11-03 14:05:15 +00:00
Glenn L McGrath
2fc54a9258
Fix #define syntax
2002-11-03 12:50:33 +00:00
Glenn L McGrath
6ab32eb34c
Move data_extract_all_prefix to dpkg, its only used there.
2002-11-03 11:57:10 +00:00
Glenn L McGrath
b8e556e5f5
Add copyright notice and license, use strcat+strcpy instead of sprintf
2002-11-03 11:46:49 +00:00
Glenn L McGrath
9c60b29071
Use xread_char to save a few bytes, fix indenting of comments
2002-11-03 10:57:25 +00:00
Glenn L McGrath
60bce4905c
Move bunzip2 idecompression code to libunarchive
2002-11-03 07:28:38 +00:00
Glenn L McGrath
bf1cc8b1b7
Make uncompress a seperate applet so it doesnt pull in all the gunzip code
2002-11-01 23:38:54 +00:00
Glenn L McGrath
d6aec8619d
Allow short reads when filling compress buffer
2002-11-01 22:28:13 +00:00
Glenn L McGrath
b2f67b4068
Make it a fatal error if bad chksum or crc, if not we should return an error code
2002-11-01 22:08:59 +00:00
Glenn L McGrath
9ffd5776eb
Move unzip.c uncompress.c from libbb to archiveal/libunarchive
2002-10-22 01:07:32 +00:00
Glenn L McGrath
61b7904afd
Update dpkg to use new unarchive code
2002-10-19 10:40:55 +00:00
Glenn L McGrath
c5c1a8a112
Fix exclude/include problem
2002-10-19 06:19:22 +00:00
Glenn L McGrath
05fa661123
Find a string in a list
2002-10-19 05:10:51 +00:00
Glenn L McGrath
25bca9566d
Remove entries from the accept list as they are matched so we can determine if any files that were specified in the list wernt found.
2002-10-19 02:18:51 +00:00
Eric Andersen
71ae64bdc6
last_patch61 from vodz:
...
New complex patch for decrease size devel version. Requires previous patch.
Also removed small problems from dutmp and tar applets.
Also includes vodz' last_patch61_2:
Last patch correcting comment for #endif and more integrated
with libbb (very reduce size if used "cat" applet also).
Requires last_patch61 for modutils/config.in.
2002-10-10 04:20:21 +00:00
Eric Andersen
d9d47c3078
Patch from Konstantin Isakov <ikm@pisem.net>:
...
In most cases, dirname returns the same argument it was given, so this code
works nice, but there's one special case: when the name contains no
dirname, it returns "." (stored statically in the body of itself), and we
get a segfault in attempt to free() it.
This patch fixes this problem.
2002-09-30 20:14:57 +00:00
Glenn L McGrath
2e41d0cb77
Fix compress support and prevent a segfault
2002-09-27 06:46:02 +00:00
Glenn L McGrath
69eab26401
Remove files made obsolete by new unarchiving code
2002-09-25 03:04:03 +00:00
Glenn L McGrath
7ca04f328e
New common unarchive code.
2002-09-25 02:47:48 +00:00
Manuel Novoa III
6c32a8add4
Modified so that it "works" for archs other than i386... arm in particular.
...
Also tried to clean up the logic a little, and ensure that read errors
or invalid archives resulted in error returns. This could use a lot more
work... Volunteers?
2002-09-17 21:02:16 +00:00
Eric Andersen
8fede28c74
Patch from Matthias Lang <matthias@corelatus.se> to fix gunzip
...
error handling and prevent gunzip from hanging.
2002-09-16 07:25:41 +00:00
Glenn L McGrath
b3c4e9add5
Support for GNU style long filename and linknames
2002-09-15 16:54:49 +00:00
Glenn L McGrath
4534af2763
replace some global const ints with defines
2002-08-22 19:31:35 +00:00
Glenn L McGrath
0775a07d87
Specify cast
2002-08-22 19:22:32 +00:00
Glenn L McGrath
9fef17dec3
Run through indent, fix comments
2002-08-22 18:41:20 +00:00
Glenn L McGrath
99b12543cf
Run through ident, fix comments
2002-08-22 17:47:09 +00:00
Glenn L McGrath
75762705a3
Honour the USTAR prefix field, this enables a 155 byte path length plus the normal 100 byte filename.
...
The catch is gnu tar cannot create archives that use the prefix field, you need to use s-tar.
2002-08-22 11:50:31 +00:00
Glenn L McGrath
1d23f3a492
Enable support for the old tar header format, enable via menu's
2002-08-13 05:06:43 +00:00
Robert Griebl
d378c3149c
Applied vodz' patches #49 and #50 (with a small correction in runshell.c)
...
#49 : I found one memory overflow and memory leak in "ln" applet.
Last patch reduced also 54 bytes. ;)
#50 : I found bug in loginutils/Makefile.in.
New patch have also new function to libbb and
aplied this to applets and other cosmetic changes.
2002-07-19 00:05:54 +00:00
Eric Andersen
2276d83639
Fixup warnings and undefined operations that show up in gcc-3.1
...
-Erik
2002-07-11 11:11:56 +00:00
Glenn L McGrath
a94a06a38e
Patch from Randolfe Averty to fixup package conflict checks, cleanup some memory leaks and reorganise dependency checking.
...
Some further memory leaks fixed by me.
2002-05-29 13:45:34 +00:00
Robert Griebl
94a6a956f0
Support old-style compress (.Z) files via libbb / unzip( ) calls
...
(configurable) - When enabled an applet "uncompress" is also made
available (oddname to gunzip)
[the cvs add for this file got lost somehow...]
2002-05-19 19:00:14 +00:00
Robert Griebl
f6495eb767
Support old-style compress (.Z) files via libbb / unzip( ) calls
...
(configurable) - When enabled an applet "uncompress" is also made
available (oddname to gunzip)
2002-05-15 22:13:47 +00:00
Eric Andersen
114de55668
Patch from Laurence Anderson <L.D.Anderson@warwick.ac.uk> for
...
better tape drive support in tar/cpio by using an intervening
pipe...
2002-04-13 08:43:01 +00:00
Eric Andersen
85208e2ab9
Completely rework the config system so that it no longer annoys me to work on
...
the busybox development tree. This eliminates the use of recursive make, and
once again allows us to run 'make' in a subdirectory with the expected result.
And things are now much faster too. Greatly improved IMHO...
-Erik
2002-04-12 12:05:57 +00:00
Eric Andersen
89de1e7930
Reinitialize initial shift register value for on each pass.
...
-Erik
2002-03-20 13:30:40 +00:00
Glenn L McGrath
87ac7028e0
unzip applet by Laurence Anderson
...
----------------------------------------------------------------------
2002-01-02 13:52:26 +00:00
Matt Kraai
1f0c43668a
Remove == TRUE' tests and convert
!= TRUE' and `== FALSE' tests to use !.
2001-12-20 23:13:26 +00:00
Eric Andersen
db930948a9
More copyright and email addr cleanups
2001-12-06 08:20:14 +00:00
Aaron Lehmann
b9df470c4d
Commit my improvement on Rodney Brown's patch to g(un)zip, decreasing
...
binary size.
2001-12-06 03:22:43 +00:00
Glenn L McGrath
249f39a265
Simplify unzip(), remove unused checks and unneccessary variables
2001-12-05 16:01:02 +00:00
Glenn L McGrath
ef03dbcd4d
Simplify CRC table generation
2001-12-05 13:08:03 +00:00
Glenn L McGrath
38288bbf4c
gunzip was incorrectly reporting a failed crc and length (discovered by
...
Chang, Shu-Hao). The bitbuffer needs to be unwound after decompression,
as it was eating into the crc/size field.
2001-11-29 06:36:56 +00:00
Glenn L McGrath
7134d6581b
Attempt to fix libc compiling error regarding off_t
2001-10-27 13:14:52 +00:00
Glenn L McGrath
95ebf618b7
*** empty log message ***
2001-10-25 14:18:08 +00:00
Eric Andersen
74400ccfd0
Scrub up some function prototypes.
...
-Erik
2001-10-18 04:11:39 +00:00
Eric Andersen
044228d5ec
This is vodz' latest patch. Sorry it took so long...
...
1) ping cleanup (compile fix from this patch already applied).
2) traceroute call not spare ntohl() now (and reduce size);
3) Fix for functions not declared static in insmod, ash, vi and mount.
4) a more simple API cmdedit :))
5) adds "stopped jobs" warning to ash on Ctrl-D and fixes "ignoreeof" option
6) reduce exporting library function index->strchr (traceroute), bzero->memset (syslogd)
2001-07-17 01:12:36 +00:00
Glenn L McGrath
5e66a26eaa
Dont setvbuff in here, must be called just after stream is initialised, glibc tolerates using it later, uclibc doesnt
2001-07-13 06:51:56 +00:00
Glenn L McGrath
93febe672a
free coniditionally, just to make it play nice with dmalloc which is incompatable with standard free()
2001-07-11 07:25:01 +00:00
Manuel Novoa III
a2949aa217
Add some missing includes to kill warnings when building with the default
...
Config.h and using gcc's -fno-builtin. There are probably other files
with the similar problems.
Also, if building against uClibc, don't include asm/unistd.h in syscalls.c
and module_syscalls.c.
2001-06-29 18:59:32 +00:00
Eric Andersen
0d8cc1670c
Fix a type promotion bug discivered and analyzed by Alan Modra
...
<amodra@bigpond.net.au>, which caused false checksum errors
2001-06-27 06:15:50 +00:00
Eric Andersen
04095e58fb
Move messages.c to libbb. Make each string in messages.c be its own .o file.
...
This way, we can new get rid of all that tedious #define rubbish we used to
need to enable specific messages. This way is enormously simpler, and as a
bonus also ends up saving us 96 bytes.
-Erik
2001-04-25 05:39:18 +00:00
Matt Kraai
b181056e06
Eliminated seeks so that we work correctly on pipes, and removed reliance on
...
undefined evaluation ordering. Thanks to Anthony Towns for explanation and
solution.
2001-04-18 14:49:55 +00:00
Glenn L McGrath
f70f6cef39
Disable sigterm
2001-04-11 15:09:30 +00:00
Glenn L McGrath
7fd92949d0
Move unzip, gz_open, gz_close to libbb
2001-04-11 03:11:33 +00:00