Denis Vlasenko
c1660fea6d
tar: refuse to untar files with "/../" components
2006-11-26 15:42:03 +00:00
Denis Vlasenko
b596335868
tar: correctly skip (and warn about) pax headers.
...
plug memory leak. save 50 bytes.
Wooohooo! we finally can unpack kernel tarballs!
2006-11-26 01:46:59 +00:00
Denis Vlasenko
7725d0ff5c
tar: add support for FEATURE_TAR_GNU_EXTENSIONS so than we can save
...
long names now. We were able to read such tars, but not create.
+275 bytes. Without FEATURE_TAR_GNU_EXTENSIONS: -25 bytes.
We still cannot unpack Linux kernels, but not for long ;)
2006-11-25 23:56:50 +00:00
Denis Vlasenko
87cd4a87e3
tar: small fix and small optimization
2006-11-25 23:47:32 +00:00
Denis Vlasenko
f2408e6c3f
tar: abort if tarring up file larger that 64Gb
...
(otherwise we will produce garbled tarfile)
2006-11-25 14:48:09 +00:00
Denis Vlasenko
3feb2fc535
tar: fix multiple -t and/or -v options handling.
...
do not process list of files to tar up in reverse order.
2006-11-24 21:55:55 +00:00
Denis Vlasenko
d031ffa623
tar: sanitize option handling
2006-11-24 21:54:44 +00:00
Denis Vlasenko
b833ca9d2d
tar: buglet fix
2006-11-24 18:53:13 +00:00
Denis Vlasenko
d6772501db
tar: fix and sanitize handling of long filenames/linknames
...
(GNU extensions 'K' and 'L').
We correctly handle them when untarring now, but unfortunately
we still don't use them when tarring! That stupid 100 char limit
is still there!
The biggest problem is that we don't support 'pax' tar format.
Linux kernel tarballs are in this format... shame
2006-11-24 17:21:44 +00:00
Denis Vlasenko
b8a8e601df
tar: small fixes:
...
* size-optimize mapping code
* kill double close
2006-11-24 14:59:45 +00:00
Denis Vlasenko
c50f370f98
tar: cache [ug]id->username/groupname mappings. Cuts down amount
...
of open/read/close of /etc/passwd and /etc/group
dramatically (we were rereading those for each untarred file!!!)
2006-11-24 14:57:31 +00:00
Denis Vlasenko
4fbb584a0e
tar: cry murder and bail out if file shrinks under us while we tar it up
2006-11-24 14:55:23 +00:00
Denis Vlasenko
cf30cc82a3
header_verbose_list: stop truncating file size in listing
2006-11-24 14:53:18 +00:00
Denis Vlasenko
376ce1e775
tar:
...
* unpack: handle tar header fields which are not NUL terminated
* pack: handle 4+GB files correctly
* pack: refuse to store 101+ softlinks (was truncating link
target name)
* pack: mask mode with 07777
2006-11-24 14:51:01 +00:00
Denis Vlasenko
9229794ab3
insmod_ng_main: -80 bytes. Stopp mmapping, use xmalloc_open_read_close().
2006-11-21 11:58:14 +00:00
Denis Vlasenko
3eb91c2e35
cpio: (allegedly) fix bug 0001095:
...
"cpio hardlink support and possible memory leak fix"
2006-11-21 00:55:46 +00:00
Denis Vlasenko
5af906e7c8
rename: compare_string_array -> index_in_str_array
...
introduce index_in_substr_array and use it in
iproute2
2006-11-05 18:05:09 +00:00
Denis Vlasenko
8c35d65c43
recursive_action: add depth param
...
chmod: match coreutils versus following links
2006-10-27 23:42:25 +00:00
Denis Vlasenko
d3d004dd35
last nail into error_msg() (de)capitalization
2006-10-27 09:02:31 +00:00
Denis Vlasenko
ddec5af6b0
rename functions to more understandable names
2006-10-26 23:25:17 +00:00
Denis Vlasenko
e1a0d486e4
message string changes, mostly for consistency, also -32 bytes in .rodata
2006-10-20 13:28:22 +00:00
Denis Vlasenko
ea62077b85
add open_read_close() and similar stuff
2006-10-14 02:23:43 +00:00
Denis Vlasenko
2d5ca60bfb
bb_get_[chomped]line_from_file wasn't descriptive enough.
...
Renaming...
2006-10-12 22:43:20 +00:00
Denis Vlasenko
9c267b851e
style fixes
2006-10-12 20:06:18 +00:00
Denis Vlasenko
a6dbb08a48
small style fixes
2006-10-12 19:29:44 +00:00
Denis Vlasenko
1114de7219
od: provide full-blown od from coreutils if CONFIG_DESKTOP
2006-10-10 23:26:05 +00:00
Denis Vlasenko
cba9ef5523
fixes from Vladimir Dronnikov <dronnikov@gmail.ru>
2006-10-10 21:00:47 +00:00
Denis Vlasenko
7039a66b58
correct largefile support, add comments about it.
2006-10-08 17:54:47 +00:00
Denis Vlasenko
1385899416
attempt to regularize atoi mess.
2006-10-08 12:49:22 +00:00
Denis Vlasenko
7d219aab70
build system overhaul
2006-10-05 10:17:08 +00:00
Denis Vlasenko
8f8f268cfd
bb_applet_name -> applet_name
2006-10-03 21:00:43 +00:00
Denis Vlasenko
67b23e6043
getopt_ulflags -> getopt32.
...
It is impossible to formulate sane ABI based on
size of ulong because it can be 32-bit or 64-bit.
Basically it means that you cannot portably use
more that 32 option chars in one call anyway...
Make it explicit.
2006-10-03 21:00:06 +00:00
Denis Vlasenko
cf94446af7
random style fixes
2006-10-03 19:02:20 +00:00
Denis Vlasenko
bb119d059a
gzip: add a bit of comment. The code itself
...
is too bloated to work on it...
2006-10-01 16:44:04 +00:00
Denis Vlasenko
97a8dd3857
g[un]zip: add support for -v (verbose).
...
Add CONFIG_DESKTOP, almost all bloat from this change
is hidden under that.
2006-10-01 15:55:11 +00:00
Denis Vlasenko
aecabffb8b
dpkg: fix use-after-free (bug 939)
2006-09-30 21:05:25 +00:00
Denis Vlasenko
3038ac9c19
vconfig: fix bug 701 (I be damned if I understand it)
2006-09-30 19:37:25 +00:00
Denis Vlasenko
a959588b80
Yet another silly little byte saving. couldn't -> cannot
2006-09-29 21:30:43 +00:00
Denis Vlasenko
5492884311
dpkg: style fixes; short -> int (generated code is smaller)
2006-09-28 22:35:42 +00:00
Denis Vlasenko
57308afb5b
dpkg: reduce bss usage by ~130 kbytes (yes, kilobytes!)
...
at the cost of ~100 bytes of text.
Improves friendliness to nommu systems.
(Dunno whether nommu people ever use dpkg, though...)
2006-09-28 22:34:46 +00:00
Denis Vlasenko
ce97960a6e
usage.h: remove ugly tricks. We have USE_FEATURE_xxx now.
...
Few bugs are now exposed...
2006-09-27 23:31:08 +00:00
Denis Vlasenko
c16bd212e3
silly switch style fix
2006-09-27 19:51:06 +00:00
Denis Vlasenko
6429aabbf1
bb_askpass: shorten static password buffer. 256 is way too large.
...
simplify code a bit.
2006-09-23 12:22:11 +00:00
Denis Vlasenko
01e88f0339
gzip: getopt_ulflags'isation
2006-09-22 15:13:38 +00:00
Denis Vlasenko
9213a9e0f2
whitespace cleanup
2006-09-17 16:28:10 +00:00
Rob Landley
20cc6d567f
Remove pointless "const". Bloatcheck says 0 bytes difference.
2006-09-12 21:42:17 +00:00
Bernhard Reutner-Fischer
64d7e93081
- convert a few xopen3(,,0) into xopen(,). Also peruse the fact that xopen defaults to 0777 on it's own, so we don't need to xopen3(,,0777).
...
Saves a few bytes:
$ size busybox.old busybox text data bss dec hex filename
839676 8780 243592 1092048 10a9d0 busybox.old
839660 8780 243592 1092032 10a9c0 busybox
$ make CC=gcc-4.2-HEAD bloatcheck
function old new delta
static.vconfig_main 281 279 -2
static.rx_main 1076 1074 -2
static.mt_main 294 292 -2
static.gzip_main 753 751 -2
static.mkfs_minix_main 4034 4030 -4
static.unzip_main 1771 1766 -5
static.crontab_main 1513 1507 -6
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/7 up/down: 0/-23) Total: -23 bytes
2006-09-11 16:01:40 +00:00
Rob Landley
1bfca7bac7
Cleanup headers and replace the zero padding with an even smaller version.
...
One of the pads turned out to be unnecessary: sizeof(struct TarHeader) is
TAR_BLOCK_SIZE, the padding's in the struct. The others could be done inline
with bb_common_bufsiz1.
This is a cleanup I did to Denis' patch long ago, but got sidetracked by
what turned into svn 15660.
2006-09-10 03:20:37 +00:00
Denis Vlasenko
0c45bb23d2
tar: fix "xopen with O_CREAT" warning, improve zero padding write
...
(was doing zillions of 1-byte write syscalls)
2006-09-09 12:49:03 +00:00
Denis Vlasenko
9cac521f07
using [xa]sprintf for string concatenation is neat and saves
...
~100 bytes according to bloatcheck. Also this fixes bug in rpm
2006-09-09 12:24:19 +00:00