Denis Vlasenko
a41fdf331a
preparatory patch for -Wwrite-strings #1
2007-01-29 22:51:00 +00:00
Denis Vlasenko
218f2f4882
accumulated post-1.4.0 fixes
2007-01-24 22:02:01 +00:00
Denis Vlasenko
150f402b36
whitespace fixes (leading spaces to tab)
2007-01-13 21:06:21 +00:00
Denis Vlasenko
f7996f3b70
Trailing whitespace removal over entire tree
2007-01-11 17:20:00 +00:00
Denis Vlasenko
1a8bf7f5d3
missed a few #undefs (no real impact I think)
2007-01-10 20:57:03 +00:00
Denis Vlasenko
7573541f74
fix bug 1146 (gunzip breakage introduced by me --vda)
2007-01-10 20:50:04 +00:00
Denis Vlasenko
db6a5c3f9e
gzip cleanup part #13 - the last for today I think
2007-01-07 19:45:51 +00:00
Denis Vlasenko
3ae6f34135
gzip cleanup part #12
2007-01-07 19:44:57 +00:00
Denis Vlasenko
2f6df7fa0a
gzip cleanup part #11
2007-01-07 19:44:35 +00:00
Denis Vlasenko
56c83eaaf5
gzip cleanup part #10
2007-01-07 19:40:50 +00:00
Denis Vlasenko
89af56b3e5
gzip cleanup part #9
2007-01-07 19:40:34 +00:00
Denis Vlasenko
52933d47bd
gzip cleanup part #8
2007-01-07 19:40:13 +00:00
Denis Vlasenko
ef87d46b8c
gzip cleanup part #7
2007-01-07 19:39:54 +00:00
Denis Vlasenko
1a03c21adf
gzip cleanup part #6
2007-01-07 19:39:34 +00:00
Denis Vlasenko
da31fbc1b1
gzip cleanup part #5
2007-01-07 19:39:02 +00:00
Denis Vlasenko
f824136f6b
gzip cleanup part #4
2007-01-07 19:38:42 +00:00
Denis Vlasenko
ed0f6db35e
gzip cleanup part #3
2007-01-07 19:38:26 +00:00
Denis Vlasenko
30551fd6da
gzip cleanup part #2
2007-01-07 19:38:06 +00:00
Denis Vlasenko
ad403413c7
a ton of gzip changes, split up in compiled and
...
run-tested pieces. Code was rather messy.
It's not a bug fix, more like code cleanup.
This is the first part.
2007-01-07 19:37:42 +00:00
Denis Vlasenko
da98165ad6
kill unused variable
2007-01-06 01:27:24 +00:00
Denis Vlasenko
c7a4aa5c99
move [g]zip decompressor state into malloc'ed buffer. size:
...
text data bss dec hex
5256 0 108 5364 14f4 - old
4915 0 0 4915 1333 - new
2007-01-06 00:03:11 +00:00
Denis Vlasenko
d1a19affeb
split inflate_xx_setup() subroutines from inflate_xx()
2007-01-05 23:58:45 +00:00
Denis Vlasenko
cd42cb8df0
do not expose internal state of [g]zip unpacker.
...
fix memory leak in inflate_gunzip.
2007-01-05 23:56:53 +00:00
Denis Vlasenko
447b543eaf
Stopped doing assignments inside expressions.
...
Who wrote this gem, I wonder?
n -= (e = (e = gunzip_wsize - ((d &= gunzip_wsize - 1) > w ? d : w)) > n ? n : e);
2007-01-05 19:49:02 +00:00
Denis Vlasenko
cc33ef12d2
decompress_unzip: preparatory patch
2007-01-05 19:46:04 +00:00
Denis Vlasenko
3376298b59
Stop tracking buffer size - it is a constant.
...
Stop ignoring write errors.
Fix bugs in this line:
rc->buffer_size = read(rc->fd, RC_BUFFER, rc->buffer_size);
(a) should use safe_read()
(b) just ONE short read (e.g. 4 bytes) will make ALL future reads short!
2007-01-05 14:04:47 +00:00
Denis Vlasenko
98b8e9487d
simplify access to buffer, making code a bit smaller
2007-01-05 13:59:05 +00:00
Bernhard Reutner-Fischer
bfe1950c63
- spelling fix
2007-01-04 15:44:49 +00:00
Denis Vlasenko
bb3d0fab3b
extern variable declaration in a .c file is heresy - fixing it
2007-01-03 01:57:25 +00:00
Denis Vlasenko
3bba545a54
done a dozen of randconfig test. guess what? ALL failed...
...
these are resulting fixes
2006-12-30 17:57:03 +00:00
Denis Vlasenko
9a44c4f91c
bb_xget[pw/gr]nam were horribly misnamed - fixed.
...
uidgid_get -> get_uidgid, add additional param
(numeric_ok). Make chown use it.
chown: fix "chown user: ...."
install: fix incorrect use of bb_xget[pw/gr]nam
2006-12-28 05:44:47 +00:00
Denis Vlasenko
666da5e2c6
merge post-1.3.0 fixes
2006-12-26 18:17:42 +00:00
Denis Vlasenko
bf0a201008
style fixes
...
last xcalloc replaced by xzalloc
2006-12-26 10:42:51 +00:00
Denis Vlasenko
4cccc03768
remove useless casts (type*) xzalloc(...)
2006-12-22 18:37:07 +00:00
Denis Vlasenko
a6df5907d2
dpkg: getopt32-ification etc, -100 bytes
2006-12-22 18:32:40 +00:00
Denis Vlasenko
f4c52b32db
rpm: reformat. was really hard to read
2006-12-22 15:03:50 +00:00
Denis Vlasenko
afc9ff99fd
removal of commented-out cruft
2006-12-22 00:45:27 +00:00
Denis Vlasenko
714701c890
tar et al: die if bb_copyfd_size copies less than asked for.
...
(we have bb_copyfd_exact_size now for that kind of usage)
2006-12-22 00:21:07 +00:00
Denis Vlasenko
b95636c52f
remove casts from xmalloc()
2006-12-19 23:36:04 +00:00
Denis Vlasenko
83e5d6f772
A bunch of defined(__GLIBC__) added. static-linking warning expanded
2006-12-18 21:49:06 +00:00
Denis Vlasenko
c88894602d
tar: report error if child dies while writing out the end of tarball
...
(e.g. out of disk space).
2006-12-17 19:08:20 +00:00
Denis Vlasenko
9f739445cd
inline strcmp(s, "-") [actually macro-ize it for now - gcc is too stupid]
2006-12-16 23:49:13 +00:00
Denis Vlasenko
a597aaddfa
s/extern inline/static ATTRIBUTE_ALWAYS_INLINE/g
...
xstrtou: disallow leading '+'
2006-12-16 23:48:13 +00:00
Bernhard Reutner-Fischer
6f0540e7ec
- remove functions marked as LEGACY in SUSv3 and use their modern counterparts.
2006-12-12 11:50:44 +00:00
Denis Vlasenko
c61852a02b
fix support for globally disabling --long-options.
...
(disabling them saves ~4K on fully configured bbox)
2006-11-29 11:09:43 +00:00
Denis Vlasenko
30d7a346e6
tar: fix misplaced --exclude long option definition
2006-11-27 20:24:40 +00:00
Denis Vlasenko
d9e15f2068
style cleanup: return(a) -> return a, part 2
2006-11-27 16:49:55 +00:00
Denis Vlasenko
079f8afa0a
style cleanup: return(a) -> return a, part 1
2006-11-27 16:49:31 +00:00
Denis Vlasenko
cf749bc10c
small fixes:
...
fix xstrdup to not grossly overallocate memory
use xopen instean of xopen3 in several places
etc.
2006-11-26 15:45:17 +00:00
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
Denis Vlasenko
6d655be5df
removed a lot of trailing \n in bb_msg() calls. It is added
...
automatically by function itself.
2006-09-06 19:02:46 +00:00
Bernhard Reutner-Fischer
5d725462d4
- strip 399424 off the bss by making decompress_uncompress buffers config buffers.
...
Compile tested (too lazy to look for a small .Z on the net).
$ size busybox.old busybox
text data bss dec hex filename
859555 10232 645732 1515519 171fff busybox.old
859683 10232 246308 1116223 11083f busybox
$ make bloatcheck
function old new delta
uncompress 1036 1160 +124
inbuf 2116 4 -2112
outbuf 4100 4 -4096
htab 131072 - -131072
codetab 262144 - -262144
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 1/2 up/down: 124/-399424) Total: -399300 bytes
2006-09-06 15:28:32 +00:00
Rob Landley
02496aa69e
The bb_ prefixes were removed from xasprintf() and xopen() a month ago (in
...
svn 15767).
2006-09-05 13:48:21 +00:00
Denis Vlasenko
1da6a21666
dpkg: fix buffer overflow (bug 983)
2006-09-03 16:33:58 +00:00
Denis Vlasenko
22dca23d52
archival: added O_TRUNC so that when we overwrite files on unpack,
...
we truncate them. Also spotted & fixed hard to trigger bug
with extension handling.
2006-09-03 14:23:29 +00:00
Denis Vlasenko
314908da9e
tar: revert older fix (non-portable), added new one.
...
testsuite tar-extracts-all-subdirs now passes.
2006-09-03 14:04:33 +00:00
Denis Vlasenko
06ab5fb6b9
tar: tar xf foo.tar dir/dir did not extract all subdirs.
...
Added testsuite entry for this
2006-09-02 18:40:10 +00:00
Rob Landley
88621d7398
Svn 16007 broke the build under gcc 4.0.3. This fixes up some of the damage
...
(the e2fsprogs directory is too twisty and evil to easily fix, but I plan
to rewrite it anyway so I'll just bump that up in priority a bit).
2006-08-29 19:41:06 +00:00
Bernhard Reutner-Fischer
d591a360d3
- merge -r15463:15564 from busybox_scratch branch through these changesets:
...
------------------------------------------------------------------------
r15465 | aldot | 2006-06-21 20:48:06 +0200 (Wed, 21 Jun 2006) | 3 lines
- use CONFIG_BUSYBOX_EXEC_PATH as before it one was broken by a recent revert.
- use xchdir() since all is invain if it fails there anyways, supposedly
------------------------------------------------------------------------
r15466 | aldot | 2006-06-21 20:55:16 +0200 (Wed, 21 Jun 2006) | 2 lines
- adjust docs to take CONFIG_BUSYBOX_EXEC_PATH into account.
------------------------------------------------------------------------
r15467 | aldot | 2006-06-21 21:31:24 +0200 (Wed, 21 Jun 2006) | 18 lines
- partial fallout of my TREE_USED touchup against gcc-4.2: rip unused vars, save
s 144 bytes
text data bss dec hex filename
862434 10156 645924 1518514 172bb2 busybox.old
862322 10156 645892 1518370 172b22 busybox
function old new delta
z_len 4 - -4
textend 4 - -4
part_nb 4 - -4
insize 4 - -4
ifile_size 4 - -4
do_link 4 - -4
new_text 70 60 -10
ipaddr_list_link 33 23 -10
gzip_main 898 822 -76
------------------------------------------------------------------------------
(add/remove: 0/6 grow/shrink: 0/3 up/down: 0/-120) Total: -120 bytes
------------------------------------------------------------------------
r15468 | aldot | 2006-06-21 21:43:05 +0200 (Wed, 21 Jun 2006) | 19 lines
- remove useless global exports
function old new delta
rpm_main 940 1601 +661
rpm_getstring 107 112 +5
rpm_getint 148 153 +5
loop_through_files 103 106 +3
fileaction_dobackup 115 113 -2
fileaction_list 5 - -5
rpm_getcount 42 - -42
extract_cpio_gz 161 - -161
rpm_gettags 504 - -504
------------------------------------------------------------------------------
(add/remove: 0/4 grow/shrink: 4/1 up/down: 674/-714) Total: -40 bytes
text data bss dec hex filename
862322 10156 645892 1518370 172b22 busybox.old
862290 10156 645892 1518338 172b02 busybox
------------------------------------------------------------------------
r15555 | aldot | 2006-06-30 14:10:11 +0200 (Fri, 30 Jun 2006) | 22 lines
- shrink syslog a little bit, move a big buffer (for 'line') off the bss, fold s
emaphore stuff into single caller manually.
stats:
function old new delta
logMessage 395 427 +32
message 1245 1257 +12
opts - 4 +4
small 1 - -1
local_logging 4 - -4
doRemoteLog 4 - -4
circular_logging 4 - -4
syslogd_main 1299 1285 -14
static.res 36 16 -20
.rodata 186650 186586 -64
static.line 1025 - -1025
------------------------------------------------------------------------------
(add/remove: 1/5 grow/shrink: 2/3 up/down: 48/-1136) Total: -1088 bytes
cow@s37:~/src/busybox_scratch$ size sysklogd/syslogd.o{.orig,}
text data bss dec hex filename
3723 348 5242 9313 2461 sysklogd/syslogd.o.orig
3697 348 4188 8233 2029 sysklogd/syslogd.o
==============================================================================
Overall bloatcheck for the changeset mentioned above:
function old new delta
rpm_main 953 1608 +655
logMessage 395 427 +32
message 1245 1257 +12
opts - 4 +4
rpm_getstring 107 110 +3
rpm_getint 148 151 +3
loop_through_files 103 104 +1
small 1 - -1
fileaction_dobackup 115 113 -2
z_len 4 - -4
textend 4 - -4
part_nb 4 - -4
local_logging 4 - -4
insize 4 - -4
ifile_size 4 - -4
do_link 4 - -4
doRemoteLog 4 - -4
circular_logging 4 - -4
fileaction_list 5 - -5
new_text 70 60 -10
ipaddr_list_link 33 23 -10
clear_bufs 31 21 -10
syslogd_main 1287 1273 -14
builtin_help 190 176 -14
static.res 36 16 -20
builtin_source 229 199 -30
rpm_getcount 42 - -42
gzip_main 842 786 -56
.rodata 227176 227112 -64
lash_main 609 527 -82
busy_loop 3883 3739 -144
extract_cpio_gz 155 - -155
rpm_gettags 501 - -501
static.line 1025 - -1025
------------------------------------------------------------------------------
(add/remove: 1/15 grow/shrink: 6/12 up/down: 710/-2221) Total: -1511 bytes
2006-08-20 17:35:13 +00:00
Rob Landley
f4e50b0bcd
We haven't got a CONFIG_APT_GET.
2006-08-04 21:12:14 +00:00
Rob Landley
74bb70cf54
Ok, that's not a typo, that's just me not thinking.
2006-08-04 20:19:01 +00:00
Rob Landley
3629d95a24
Typo.
2006-08-04 20:15:18 +00:00
Rob Landley
27d07c9ce2
Now that we have xopen3(), it's just plain unclean to have xopen() with
...
O_CREAT. Two users are still doing it (and thus getting permissions 777),
I'm not sure what permissions they should be using but here they are
changed to xopen3(). This costs us a dozen or so bytes, but removing the
777 from xopen() should get some of that back.
2006-08-04 19:16:31 +00:00
Rob Landley
daf58ef61a
Use xopen3() instead of an after-the-fact chown.
2006-08-04 17:26:58 +00:00
Rob Landley
86b4d64aa3
These should have been part of 15767 too.
2006-08-03 17:58:17 +00:00
Rob Landley
d921b2ecc0
Remove bb_ prefixes from xfuncs.c (and a few other places), consolidate
...
things like xasprintf() into xfuncs.c, remove xprint_file_by_name() (it only
had one user), clean up lots of #includes... General cleanup pass. What I've
been doing for the last couple days.
And it conflicts! I've removed httpd.c from this checkin due to somebody else
touching that file. It builds for me. I have to catch a bus. (Now you know
why I'm looking forward to Mercurial.)
2006-08-03 15:41:12 +00:00
"Robert P. J. Day"
eea561871b
"formated" -> "formatted" throughout the code base.
2006-07-20 19:02:24 +00:00
Rob Landley
534374755d
Cleaup read() and write() variants, plus a couple of new functions like
...
xlseek and fdlength() for the new mkswap.
2006-07-16 08:14:35 +00:00
"Robert P. J. Day"
801ab14013
Add one-line GPL boilerplate to numerous (but not all yet) source files.
2006-07-12 07:56:04 +00:00
Rob Landley
ff6e21c2ce
Fix tar so it can extract git-generated tarballs, based on a suggestion
...
from Erik Frederiksen.
2006-07-06 20:30:19 +00:00
"Robert P. J. Day"
63fc1a9e08
Standardize on the vi editing directives being on the first line.
2006-07-02 19:47:05 +00:00
"Robert P. J. Day"
edd9ca5743
More removal of "#if 0" content.
2006-07-01 14:52:12 +00:00
"Robert P. J. Day"
68229837ff
Remove all usage of the "register" storage class specifier.
2006-07-01 13:08:46 +00:00
Rob Landley
11c7a7bed6
Various cleanups I made while going through Erik Hovland's patch submissions,
...
some of which are even from him. :)
2006-06-25 22:39:24 +00:00
Rob Landley
768945b762
A few patches from Erik Hovland, turning strncpy() into safe_strncpy() and
...
removing some unnecessary code.
2006-06-25 00:34:52 +00:00
Rob Landley
b13fee4cbb
Since rangecoder is just a bunch of C functions, move it into the one user
...
(decompress_unlzma.c). Also a slight #include cleanup, and I've been meaning
to put #include <unistd.h> into libbb.h since it's so darn common...
2006-06-20 22:38:00 +00:00
Rob Landley
c4b673994e
Use xstat() instead of if(stat()) die()
2006-06-13 16:09:16 +00:00
Rob Landley
9a202c9daa
Patch from Denis Vlasenko: unlzma was make files with mode 777. Tweak
...
everything to do stat() and use xopen3().
2006-06-13 14:54:42 +00:00
Bernhard Reutner-Fischer
44e216f264
- use bb_xchdir instead of ignoring eventual errors of chdir
...
Thanks to Erik Hovland
2006-06-10 11:29:44 +00:00
Bernhard Reutner-Fischer
5929edc1fa
- spelling
2006-06-07 20:30:01 +00:00
Bernhard Reutner-Fischer
19008b8373
- reuse strings and messages. Saves about 600B
2006-06-07 20:17:41 +00:00
Bernhard Reutner-Fischer
1b9d7c9aa9
- use bb_msg_{read,write}_error where appropriate.
...
text data bss dec hex filename
825015 9100 645216 1479331 1692a3 busybox.old
824919 9100 645216 1479235 169243 busybox
2006-06-03 22:45:37 +00:00
Bernhard Reutner-Fischer
d2c306e862
- ls: remove unused variable
...
- dpkg.c, diff: use xstat
text data bss dec hex filename
848823 9100 645216 1503139 16efa3 busybox_old
848679 9100 645216 1502995 16ef13 busybox_unstripped
bloatcheck is completely useless as it sees -79 for this, which is bogus.
2006-05-29 12:10:23 +00:00
Rob Landley
1ec5b29054
More size shrinkage.
2006-05-29 07:42:02 +00:00
Rob Landley
bba7f08d27
Add SWAP_LE?? and SWAP_BE?? macros, and make things use them. Converts values
...
to/from little endian or big endian, which is a NOP if that's what the current
platform already is.
2006-05-29 05:51:12 +00:00
Rob Landley
8bb50782a5
Change llist_add_* to take the address of the list rather than returning the new
...
head, and change all the callers.
2006-05-26 23:44:51 +00:00
Bernhard Reutner-Fischer
01d23ade57
- add central knob to turn off getopt_long everywhere. EXPERIMENTAL!
...
Adds "Enable getopt long" under "General options", default y.
Send patches to fix getopt_ulflags and run_parts.c if you turn this off..
See http://busybox.net/lists/busybox/2006-May/021828.html for a start to run-parts
2006-05-26 20:19:22 +00:00
Bernhard Reutner-Fischer
6d0dbeb550
- use ATTRIBUTE_ALWAYS_INLINE if requested
...
- use shorter boilerplate while at it
2006-05-26 13:13:11 +00:00
Bernhard Reutner-Fischer
b1629b1b2a
- remove emacs layout block as suggested by Robert P.J. Day
...
- use shorter boilerplate while at it
2006-05-19 19:29:19 +00:00
Mike Frysinger
d9b6b844e5
pull Rules.mak from top_srcdir as pointed out by Robert P. J. Day on the mailing list
2006-05-13 02:33:41 +00:00
Mike Frysinger
39440e520c
pull Rules.mak from top_srcdir as pointed out by Robert P. J. Day on the mailing list
2006-05-13 02:33:09 +00:00
Rob Landley
2ad1e7ce44
Patch from Vladamir Oleynik, reducing memory consumption.
2006-05-11 15:23:23 +00:00
Rob Landley
a389651115
Remove bb_strlen() in favor of -fno-builtin-strlen. Saves as many bytes
...
as the old optimization did (actually does slightly better under gcc 4.0), and
simplifies the code.
2006-05-07 20:20:34 +00:00
Rob Landley
7e21d5f6b1
Patch from Dennis Vlasenko to add the option to compress help text.
2006-04-27 23:34:46 +00:00
Bernhard Reutner-Fischer
18260d5099
- typo: s/derefernce/dereference/g
...
Thanks to P.J. Day.
2006-04-18 14:17:49 +00:00
Rob Landley
0edbad1a7c
Glenn gave permission for GPLv2 "or later".
2006-04-17 22:49:30 +00:00
Rob Landley
e66c7efc31
Busybox is under the GPL.
2006-04-14 19:25:01 +00:00
Rob Landley
2ec922eed5
Patch from Robert P Day: let menuconfig indent stuff for us, we don't have
...
to do it in Config.in.
2006-04-13 23:22:16 +00:00
Bernhard Reutner-Fischer
6b4377f333
- remove unneeded include, use shorter boilerplate while at it and also
...
shrink filter_accept_reject_list() a tiny bit while at it.
text data bss dec hex filename
59 0 0 59 3b filter_accept_reject_list.o
62 0 0 62 3e filter_accept_reject_list.o.orig
2006-04-13 13:32:16 +00:00
Bernhard Reutner-Fischer
c2cb0f32b4
- patch from Denis Vlasenko to add and use bb_xopen3()
2006-04-13 12:45:04 +00:00
Bernhard Reutner-Fischer
d9cf7ac781
- patch from Denis Vlasenko to add and use bb_xchdir()
2006-04-12 18:39:58 +00:00
Bernhard Reutner-Fischer
dac7ff15b7
- patch from Denis Vlasenko to add and use bb_xsocket() and to use
...
bb_xopen some more while at it.
Also use shorter boilerplate while at it.
2006-04-12 17:55:51 +00:00
Rob Landley
c57ec37959
Patch from Rob Sullivan to consolidate crc32 table generation.
2006-04-10 17:07:15 +00:00
Bernhard Reutner-Fischer
fa939aae81
- include proper headers.
2006-04-05 16:21:37 +00:00
Bernhard Reutner-Fischer
421d9e5941
- move buffer allocation schemes to libbb.h
...
- include the correct headers: applets need busybox.h while lib* need libbb.h
2006-04-03 16:39:31 +00:00
Bernhard Reutner-Fischer
cfb53dfd5e
- include proper prototypes in libunarchive.
2006-04-02 21:50:01 +00:00
Bernhard Reutner-Fischer
7ab5f4d03d
- janitorial: huft_build is never used outside of decompress_unzip.c and has no
...
prototype (which suggests that it's of no general use) so make it static for now.
2006-04-02 21:23:40 +00:00
Bernhard Reutner-Fischer
a1bccc0ba8
- typos: s/compatability/compatibility/g;s/compatable/compatible/g;
2006-04-02 20:17:55 +00:00
Paul Fox
986ab525b8
ensure that corrupted file extraction causes both a message and
...
a failure exit code. delay the error exit until all (good) files
have been extracted.
filesystem errors (nodes of wrong type, permission problems, etc)
still cause immediate failure.
2006-03-27 23:09:14 +00:00
Bernhard Reutner-Fischer
df10094870
- revert back to r14406
2006-03-13 19:04:00 +00:00
Rob Landley
c5b1d4d6b1
Patch from Denis Vlasenko to add xstat() and use it.
2006-03-13 15:45:16 +00:00
Rob Landley
bc68cd14cc
Patch from Denis Vlasenko turning static const int (which gets emitted into
...
the busybox binary) into enums (which don't).
2006-03-10 19:22:06 +00:00
Rob Landley
49a5599ae9
Patch from Denis Vlasenko to make unlzma smaller.
2006-03-09 17:51:25 +00:00
Bernhard Reutner-Fischer
07a79e75f5
- backout using features which are not available with the previous stable
...
version of make (3.71.1).
2006-03-09 09:03:37 +00:00
Rob Landley
dfba741457
Robert P. Day removed 8 gazillion occurrences of "extern" on function
...
definitions. (That should only be on prototypes.)
2006-03-06 20:47:33 +00:00
Rob Landley
688ed0d760
Patch from Robert P. Day, moving byte order checks to use platform.h macros.
2006-03-04 22:40:25 +00:00
Bernhard Reutner-Fischer
022eb311d5
- use absolute path for top_builddir and top_srcdir.
...
Fixes make trying to include the very same file in an endless loop.
2006-03-02 17:33:25 +00:00
Bernhard Reutner-Fischer
5d26126b9e
- fixes parallel builds (make -j)
...
- use less resources for the buildsystem itself
2006-03-01 22:54:48 +00:00
Rob Landley
e7c43b66d7
Cleanup patch from Denis Vlasenko. Mostly variants of removing the if(x)
...
from before "if(x) free(x)".
2006-03-01 16:39:45 +00:00
"Vladimir N. Oleynik"
325da7b509
use bb_xstrndup vs strndup. Thanks rfelker.
2006-03-01 05:39:41 +00:00
Rob Landley
0a7c8ef6e2
Patch from Denis Vlasenko to constify things and fix a few typos.
2006-02-22 17:01:00 +00:00
Rob Landley
d6e14d8bee
Don't build directory libraries unless we're building an applet that needs it.
...
Cherry-picked from Devin Bayer's big MacOS X patch.
2006-02-21 19:11:35 +00:00
Rob Landley
06249fee39
Bug 640: a filename of length exactly 100 could bleed into the next field on
...
display or extract. (Only shows up when no gnu longname extension, either
because it's disabled or because tarball hasn't got it.)
2006-02-20 19:28:53 +00:00
Rob Landley
eb00afb2d5
The gentoo security guys found another way to segfault busybox's decompression
...
code: we can do a null dereference if one of our huffman tables has all zero
length codes. This fixes it. (Thanks solar.)
2006-02-20 02:18:03 +00:00
Rob Landley
efae294b15
Fix for an integer overflow bug that could cause a segfault on certain
...
pathological archives.
(Unlikely to have security implications, the only way to trigger it basically
wound up doing memset(dbuf,x,2^31) and triggering an immediate segfault. The
test basically gives us a more polite error message.)
Thanks to Ned Ludd and the Gentoo security guys for finding this.
2006-02-17 05:19:40 +00:00
Rob Landley
2c98c40ec8
The tendency of vi to auto-indent can be really annoying at times.
2006-02-17 05:12:03 +00:00
Rob Landley
f856eabcde
More whitespace than you can possibly imagine...
2006-02-17 03:43:49 +00:00
Mike Frysinger
b38673fb9f
make the build system puuuuuuuuuuurty
2006-02-02 01:41:53 +00:00
Eric Andersen
2cdd4d56ff
passing around an int as a void* is a very bad idea
2006-01-30 18:33:12 +00:00
Eric Andersen
d78aea8b8e
sort out yet more type issues
2006-01-30 18:00:02 +00:00
Eric Andersen
f55289f4b9
fixup a few types to prevent gcc (rightfully) whining about mixing
...
signed and unsigned, unmatches pointer target types, etc
2006-01-30 17:27:00 +00:00
Bernhard Reutner-Fischer
20f4000086
- add some ATTRIBUTE_UNUSED.
...
- use shorter boilerplate while at it.
2006-01-30 17:17:14 +00:00
Tim Riker
c1ef7bdd8d
just whitespace
2006-01-25 00:08:53 +00:00
Bernhard Reutner-Fischer
86f5c9906b
- add platform.h.
...
- use shorter boilerplate while at it.
2006-01-22 22:55:11 +00:00
Rob Landley
c1d69906a0
Patch from Aurelien Jacobs to add unlzma. (A new decompression type,
...
see www.7-zip.org)
2006-01-20 18:28:50 +00:00
Bernhard Reutner-Fischer
7ca61b6f33
- shared libbusybox.
...
- IMA compilation option (aka IPO, IPA,..)
Please holler if i broke something..
2006-01-15 14:04:57 +00:00
Rob Landley
9e4100bf95
Don't return 0 when there's an error.
2006-01-10 06:19:56 +00:00
Rob Landley
e569553aa0
Bug 547: writing out the tar file header before we confirm we can actually
...
open and read from the file isn't something we can recover from after the
fact. Resequence things to check first, write second.
2006-01-09 03:07:44 +00:00
Mike Frysinger
5990efb795
use MAP_PRIVATE instead of MAP_SHARED for uClinux systems (see Bug 550)
2006-01-04 07:31:19 +00:00
Bernhard Reutner-Fischer
823f80f5ad
- silence warning about unused param
...
needs revisit later on like many others to use ATTRIBUTE_UNUSED from platform.h
2005-12-29 21:17:05 +00:00
Rob Landley
1a78103306
Bug 601: When we fork an archiver and feed stuff to it through a pipe, if
...
we don't close the pipe the child process won't exit, and we'll hang in
waitpid().
2005-12-16 21:33:10 +00:00
Bernhard Reutner-Fischer
126da9ec2d
- typo: s/sucess/success/g
...
What's up with loginutils/su.c line 42: "SYSLOG_SUCESS" ? Please have a look..
2005-12-12 11:20:39 +00:00
"Vladimir N. Oleynik"
a62b0e7459
reduce 3 warning if compile with -W
2005-12-06 12:20:57 +00:00
Rob Landley
5412843e79
I noticed that "tar tvjf file.tbz" was segfaulting. This fixed it.
2005-11-12 02:54:06 +00:00
Rob Landley
f3d6c94c7f
Add --no-same-owner and --no-same-permissions options to tar.
2005-10-27 22:49:08 +00:00
Rob Landley
a4d45d423f
The fact "tar tvjf thing.tbz" didn't work was due to the "-1" in -r11859,
...
which was apparently never tested. That meant that there always had
to be at least one unparsed argument left over, which is not the case for
tar.
2005-10-16 08:42:18 +00:00
Rob Landley
60fe7bfa41
Whitespace and curly bracket cleanup (our tabstop is 4 in busybox),
...
and switch more stuff from CONFIG to ENABLE.
2005-10-16 03:54:49 +00:00
"Vladimir N. Oleynik"
84e7511607
llist must initialize, add loses ifdef, small indent correction
2005-10-15 06:32:38 +00:00
Rob Landley
3ee6c24ea2
Add --exclude option (to make uClibc-0.9.28 headers install using busybox tar).
...
I have no idea how to apply bb_getopt_complementally to a --longopt that
has no short option. The documentation from vodz has a bad case of
babelfish poisoning, and I can't understand it. It sort of seems to
suggest there is a way, but what it is I have no idea. So I used \n as
the short option, which is fairly unlikely to be used for something else. :)
2005-10-15 03:06:21 +00:00
"Vladimir N. Oleynik"
f704b27b5b
- new bb_opt_complementally syntax, use [-:?] only - 'free' chars
...
- new bb_getopt_ulflags features: check max and min args, convert first argv to options special for ar and tar applets
- use bb_default_error_retval for env applet
2005-10-14 09:56:52 +00:00
Bernhard Reutner-Fischer
309dc2d642
- typo in makefile variable: s/archvial/archival/
2005-10-13 10:19:35 +00:00
"Vladimir N. Oleynik"
6c35c7c976
usage bb_dev_null
2005-10-12 15:34:25 +00:00
"Vladimir N. Oleynik"
f1ab127077
Prepend '-' to the first argument if required, more const, indent
2005-10-12 08:34:27 +00:00
"Vladimir N. Oleynik"
f588869696
new featured bb_opt_complementally, correct argc checking
2005-10-12 08:17:29 +00:00
Rob Landley
161aae7273
There doesn't seem to be a standard header for makedev(), but this is close.
2005-10-11 20:17:30 +00:00
"Vladimir N. Oleynik"
064f04e7e2
- use complementally '!' to '?' - 'ask' is best 'free' char for this.
...
- more long opt compatibility, can set flag for long opt struct now
- more logic: check opt-depend requires and global requires, special for 'id' and 'start-stop-daemon' applets.
2005-10-11 14:38:01 +00:00
"Vladimir N. Oleynik"
083d3f49c2
bb_mkdep: Rewroted. removed problem "include name must uniq", speed up * 3.
...
e2fsprogs: remove confuse bb_mkdep. Use internal e2fsprogs includes only.
other: remove confuse bb_mkdep.
2005-10-10 11:35:17 +00:00
Bernhard Reutner-Fischer
0b42a6a8cf
- remove superfluous C statements ";;" in decompress_unzip.c, dpkg_deb.c ifconfig.c
...
- gzip.c: see if O_NOFOLLOW is defined before using it, else take alternate path
closes bug #221 (partially; The rest will follow later).
2005-10-07 11:34:50 +00:00
"Vladimir N. Oleynik"
39a841cecf
change interface to bb_xasprintf() - more perfect for me.
...
ln.c: error_msg(str)->error_msg(%s, str) - remove standart "feature" for hackers
reduce 100 bytes don't care in sum
2005-09-29 16:18:57 +00:00
Rob Landley
1ff789c567
Stop gcc4 from nit-picking about signedness of char *.
2005-09-25 03:12:26 +00:00
Mike Frysinger
62f18e1f20
use the shorter license header
2005-09-24 07:16:29 +00:00
Mike Frysinger
0d4ee68be5
use brief license line
2005-09-24 06:01:57 +00:00
Bernhard Reutner-Fischer
d5bd137a24
- rename libbb's password helpers as suggested in libbb.h
...
my_getpwnam -> bb_xgetpwnam /* dies on error */
my_getgrnam -> bb_xgetgrnam /* dies on error */
my_getgrgid -> bb_getgrgid
my_getpwuid -> bb_getpwuid
my_getug -> bb_getug
2005-09-20 21:06:17 +00:00
Rob Landley
2d2c868aab
Patch from Berhnard Fischer to keep duplicate objects out of the library.
2005-09-14 15:41:18 +00:00
"Vladimir N. Oleynik"
0c520e03b9
remove unrequired dependences
2005-09-14 15:36:56 +00:00
Rob Landley
b7128c6236
Cleanup patch by Bernhard Fischer, removing unnecessary includes of
...
getopt.h, whitespace changes, typos, etc.
2005-09-11 01:05:30 +00:00
"Vladimir N. Oleynik"
1443487c92
typo, thanks, Bernhard Fischer
2005-09-06 13:21:39 +00:00
"Vladimir N. Oleynik"
27421a1878
1) bb_opt_complementaly -> bb_opt_complementally
...
2) better support long options
3) new flag '!' for bb_opt_complementally: produce bb_show_usage() if BB_GETOPT_ERROR internally
2005-09-05 14:46:07 +00:00
Rob Landley
92255d60b8
Fix for bug 383: attempting to "tar c /" would error out because stripping
...
trailing / turns that into an empty string.
2005-09-01 11:36:21 +00:00
Rob Landley
29ee76cb2b
Anand Avati hit an integer overflow problem in our unzip code.
2005-08-31 22:03:15 +00:00
Rob Landley
c8b8a2d0cf
Don't comment warnings, _FIX_ warnings. (And putting in #warnings about
...
other warnings is just gross.)
On a side note, while I was there, I made the code slightly smaller.
2005-08-30 20:26:17 +00:00
Rob Landley
cc8885f6f3
Dirk Clemens pointed out how easy it is to support bzip2 compression, since we
...
shell out to an external program to handle gzip anyway...
2005-08-30 03:40:03 +00:00
Mike Frysinger
1eef0c4571
Bernhard Fischer says: use xmalloc() instead of malloc()
2005-08-16 05:32:42 +00:00
Mike Frysinger
cc428da83f
punt unused variable
2005-07-30 08:58:19 +00:00
Mike Frysinger
d6a2d41db2
tell people to ignore the save_name warning
2005-07-30 08:57:35 +00:00
Mike Frysinger
69024551bf
rename the accept/reject names since accept overrides the accept() socket function
2005-07-30 07:30:26 +00:00
Mike Frysinger
4d00896d05
use toplevel ARFLAGS and update default ARFLAGS to be quiet
2005-07-27 01:09:24 +00:00
Paul Fox
37dd6247dd
applying fix for:
...
0000093: Patch for dpkg - can't handle scripts
Attached patch is needed to fix dpkg's support for preinst,
postinst etc script files.
2005-07-22 13:17:41 +00:00
Paul Fox
0840b76602
applying fixes from:
...
0000142: unzip enhancements
2005-07-20 20:26:49 +00:00
Paul Fox
94ff9f1010
applying fix for:
...
0000262: tar -x doesn't believe it has reached the end of archive
2005-07-20 19:24:13 +00:00
Mike Frysinger
348e84c202
change the hardcoded error constant (0x80000000UL) to a nice flexible define (BB_GETOPT_ERROR)
2005-05-11 00:39:03 +00:00
Mike Frysinger
ae38d65e95
abort if user passes -r or if they dont pass anything
2005-05-09 21:51:41 +00:00
Mike Frysinger
19d7021d99
add comments about ignoring some warnings which are OK
2005-04-23 01:43:07 +00:00
Mike Frysinger
5c9ed9f41a
fix printf warning
2005-04-20 00:28:44 +00:00
Eric Andersen
14f5c8d764
Patch from Bernhard Fischer to make a bunch of symbols static
...
which were otherwise cluttering the global namespace.
2005-04-16 19:39:00 +00:00
Mike Frysinger
4e5936ef95
In Bug 208, bernhardf writes:
...
On machines with only ANSI compliant compilers, not explitily delcaring
an empty parameter list 'void' causes failure.
2005-04-16 04:30:38 +00:00
Manuel Novoa III
df7bfb433e
Bandaid to make "gzip file1 file2 ..." set the decompression lengths correctly
...
in the 2nd and later headers. But this and gunzip really need to be rewritten.
2005-03-02 04:10:46 +00:00
Manuel Novoa III
0d8c652c46
When filling the bit buffer, gzip decompression apparently never checked for end of file, causing it to hang on corrupted input.
2005-03-01 19:29:29 +00:00
Eric Andersen
d2fe81706c
Takeharu KATO writes:
...
Hi,
I found that gcc in cvs (HEAD in 2005/02/11) reject the gzip source
in the busybox.
This is caused by changing gcc's error handling behavior(
The gcc check the function prototype more strictly).
I show the compilation log as follow:
-- compilation log
-- compilation log
To fix the problem, apply the patch which is attached with this
mail.
Please take a look the patch and apply the patch into svn repository.
2005-02-11 19:06:51 +00:00
Rob Landley
ec4f3d95e7
Minor in-passing crapectomy.
2004-12-17 05:23:36 +00:00
Rob Landley
a8b98d63e7
Don't document compiler warnings. _FIX_ compiler warnings.
2004-11-16 12:07:04 +00:00
Eric Andersen
0e020d1025
Make certain clients of bb_make_directory default to honoring
...
the user's umask
2004-10-13 06:25:52 +00:00
Eric Andersen
7daa076d3e
egor duda writes:
...
Hi!
I've created a patch to busybox' build system to allow building it in
separate tree in a manner similar to kbuild from kernel version 2.6.
That is, one runs command like
'make O=/build/some/where/for/specific/target/and/options'
and everything is built in this exact directory, provided that it exists.
I understand that applyingc such invasive changes during 'release
candidates' stage of development is at best unwise. So, i'm currently
asking for comments about this patch, starting from whether such thing
is needed at all to whether it coded properly.
'make check' should work now, and one make creates Makefile in build
directory, so one can run 'make' in build directory after that.
One possible caveat is that if we build in some directory other than
source one, the source directory should be 'distclean'ed first.
egor
2004-10-08 07:46:08 +00:00
Eric Andersen
d952ee2e9e
Make it more apparent that archive creation is not supported
2004-10-07 00:35:59 +00:00
Eric Andersen
b225e2a76b
Fixup some warnings
2004-08-28 00:43:07 +00:00
Eric Andersen
52499cb9ae
Tito writes:
...
Hi,
I've spent the half night staring at the devilish my_getpwuid and my_getgrgid functions
trying to find out a way to avoid actual and future potential buffer overflow problems
without breaking existing code.
Finally I've found a not intrusive way to do this that surely doesn't break existing code
and fixes a couple of problems too.
The attached patch:
1) changes the behaviour of my_getpwuid and my_getgrgid to avoid potetntial buffer overflows
2) fixes all occurences of this function calls in tar.c , id.c , ls.c, whoami.c, logger.c, libbb.h.
3) The behaviour of tar, ls and logger is unchanged.
4) The behavior of ps with somewhat longer usernames messing up output is fixed.
5) The only bigger change was the increasing of size of the buffers in id.c to avoid
false negatives (unknown user: xxxxxx) with usernames longer than 8 chars.
The value i used ( 32 chars ) was taken from the tar header ( see gname and uname).
Maybe this buffers can be reduced a bit ( to 16 or whatever ), this is up to you.
6) The increase of size of the binary is not so dramatic:
size busybox
text data bss dec hex filename
239568 2300 36816 278684 4409c busybox
size busybox_fixed
text data bss dec hex filename
239616 2300 36816 278732 440cc busybox
7) The behaviour of whoami changed:
actually it prints out an username cut down to the size of the buffer.
This could be fixed by increasing the size of the buffer as in id.c or
avoid the use of my_getpwuid and use getpwuid directly instead.
Maybe this colud be also remain unchanged......
Please apply if you think it is ok to do so.
The diff applies on today's cvs tarball (2004-08-25).
Thanks in advance,
Ciao,
Tito
2004-08-26 22:18:59 +00:00
Eric Andersen
4f807a84c5
BusyBox has no business hard coding the number of major and minor bits for a
...
dev_t. This is especially important now that the user space concept of a dev_t
and the kernel concept of a dev_t are divergant. The only bit of user space
allowed to know the number of major and minor bits is include/sys/sysmacros.h
(i.e. part of libc). When used with a current C library and a 2.6.x kernel,
this fix should allow BusyBox to support wide device major/minor numbers.
-Erik
2004-07-26 09:11:12 +00:00
Glenn L McGrath
a88ae491e3
Fixup -T (--files-from) option, works for non-directories now
2004-07-21 09:00:39 +00:00
Glenn L McGrath
f34b0e996b
Update reference for zip format
2004-06-06 10:22:43 +00:00
Eric Andersen
aaff79a8dd
Steve Grubb writes:
...
Hello,
I found and patched 2 more bugs. The first is a misplaced semi-colon. The second
one is a buffer overflow. I doubt the buffer overflow is triggered in real life.
But you never know what those wily hackers are up to.
Thanks,
Steve Grubb
2004-05-05 10:37:49 +00:00
Glenn L McGrath
faa3546fd7
Fix symlink handling and small memory leak
2004-04-29 09:24:19 +00:00
Glenn L McGrath
c6992feee3
Update my email address, document some of my tasks in the AUTHORS file
2004-04-25 05:11:19 +00:00
Eric Andersen
aff114c33d
Larry Doolittle writes:
...
This is a bulk spelling fix patch against busybox-1.00-pre10.
If anyone gets a corrupted copy (and cares), let me know and
I will make alternate arrangements.
Erik - please apply.
Authors - please check that I didn't corrupt any meaning.
Package importers - see if any of these changes should be
passed to the upstream authors.
I glossed over lots of sloppy capitalizations, missing apostrophes,
mixed American/British spellings, and German-style compound words.
What is "pretect redefined for test" in cmdedit.c?
Good luck on the 1.00 release!
- Larry
2004-04-14 17:51:38 +00:00
Glenn L McGrath
958ac18d4e
Add a comment explaining why we have to check for an extra \n
2004-04-09 06:59:05 +00:00
Eric Andersen
762c64fdf1
rename uncompress.c to decompress_uncompress.c
...
rename unzip.c to decompress_unzip.c
2004-04-05 13:03:34 +00:00
Eric Andersen
8ee2b27f0c
Add missing include files
2004-03-27 11:26:32 +00:00
Eric Andersen
70060d25d2
s/fileno\(stdin\)/STDIN_FILENO/g
...
s/fileno\(stdout\)/STDOUT_FILENO/g
2004-03-27 10:02:48 +00:00
Eric Andersen
c7bda1ce65
Remove trailing whitespace. Update copyright to include 2004.
2004-03-15 08:29:22 +00:00
Glenn L McGrath
10b781345f
Fix option handling, -i or -t must be given, if both ignore the -t.
...
Use bb_getopt_ulflags.
2004-02-25 09:30:06 +00:00
Glenn L McGrath
15c3512614
Sometimes i get carried away with the use of function pointers, im sure
...
it seemed like a good idea at the time.
2004-02-21 09:20:56 +00:00
Glenn L McGrath
916ba53f1a
Fix up hard links
2004-02-20 02:34:42 +00:00
Glenn L McGrath
c9f1fce9bb
A strict interpretation of the ustar format requires the type flag to be
...
interpreted, we cannot depend on the file type being set in the mode
field.
2004-02-20 02:25:18 +00:00
Glenn L McGrath
b0e163a93b
Add extra comments, freakout if a pax archive is encoutered.
2004-02-19 08:48:30 +00:00
Glenn L McGrath
a8f756fc7f
Remove debugging
2004-02-17 12:04:13 +00:00
Glenn L McGrath
6aa52234e8
Dont strip trailing '/' until _after_ i test to set if its there !
2004-02-17 11:55:06 +00:00
Eric Andersen
dfcb5b0412
s/u_int/uint/g
2004-01-30 22:54:20 +00:00
Glenn L McGrath
303e989a11
Add the -h, --dereference option for archive creation.
2004-01-25 05:48:28 +00:00
Glenn L McGrath
b03be7f567
Patch from Arthur Othieno, clarify common options between dpkg and dpkg-deb
2004-01-17 03:24:05 +00:00
Glenn L McGrath
1f28b90a9c
Use bb_getopt_ulflags, save 100 bytes and strict argument checking.
2004-01-07 09:24:06 +00:00
Glenn L McGrath
ab7780655b
Use bb_getopt_ulflags, save 150 bytes.
2004-01-05 12:35:05 +00:00
Glenn L McGrath
6cb3bc056c
Use bb_getopt_ulflags, simplify some logic, saves some bytes.
2004-01-05 11:49:55 +00:00
Glenn L McGrath
08ca752c68
Fix usage with libraries, skip symbol table.
2004-01-04 11:06:34 +00:00
Glenn L McGrath
930453bdcf
Use bb_getopt_ulflags, saves some space, better argument checking.
...
Remove ar specific extraction code, always use common extraction code.
2004-01-04 10:28:22 +00:00
Glenn L McGrath
ce91c8ac2b
Isolate code better for unused options, config option to enable long
...
options, add some conditions to the tar tests in testsuite.
2003-12-26 14:01:37 +00:00
Glenn L McGrath
334dc65c92
Fix a bug of mine where extracting files to stdout would extract to
...
much, modified patch from Bastian Blank
2003-12-22 21:02:41 +00:00
Eric Andersen
67ff3a1ffd
Don't hose up perms for files that happen to have symlinks
...
in the tarball that point to them.
-Erik
2003-12-21 08:59:24 +00:00
Glenn L McGrath
142abc18ce
Fix a compile error when only using ar, patch by Paul van Gool
2003-12-05 02:51:21 +00:00
Glenn L McGrath
b8c3a54531
Patch from Ian Campbell, fix or'ed dependencies and handle virtual
...
dependencies.
2003-11-28 22:38:14 +00:00
Glenn L McGrath
e39ee01821
Fix tar hard links
2003-11-27 00:01:43 +00:00
Glenn L McGrath
fea4b446df
Important bugfixes from Ian Campbell.
...
init_archive_deb_data()
We want to filter for data.tar.* in the AR file not the TAR
file, else we get nothing.
all_control_list()
Make the 'extensions' array of control file names a global so it
can be used in unpack_package as well. Name the global
all_control_files. Don't hard code the length of
all_control_files but instead used sizeof.
unpack_package()
Only unpack the control files we are interested in (from
all_control_files). Extract the data.tar.gz into / rather than
the current directory.
dpkg_main()
Configure packages in a second pass so all the packages being
installed are unpacked before configuring.
Some purely cosmetic changes:
header
update list of differences since two of them are no longer true.
The .control file is no longer stored as a result of this patch
-- it was redundant since the info is in status. New packages
appear to be added to the end of the status file now rather than
the start.
remove_package()
Make message printing optional, so we can avoid a redundant
message when replacing/upgrading a package. When we do print
stuff then include the version number.
purge_package()
Print "Purging xxx (yyy) ..." message like the other actions.
configure_package()
Add "..." to "Setting up" message to be consistent with other
actions.
2003-11-26 21:53:37 +00:00
Glenn L McGrath
7ffe133864
As we no longer use function pointers for read in common archiving code
...
archive_xread can be replaced with bb_full_read, and archive_copy_file
with bb_copyfd*
bb_copyfd is split into two functions bb_copyfd_size and bb_copyfd_eof,
they share a common backend.
2003-11-21 22:24:57 +00:00
Glenn L McGrath
1a2d75fd72
Use safe read
2003-11-21 22:17:28 +00:00
Glenn L McGrath
2cd1eb16ad
Remove unused function
2003-11-20 22:36:57 +00:00
Glenn L McGrath
e857122c97
Fix tar-handles-nested-exclude testcase
2003-11-20 10:47:06 +00:00
Glenn L McGrath
bebc40b406
Check at least one context is specified
2003-11-20 09:53:31 +00:00
Glenn L McGrath
ba49651de9
Check there are files to add the archive before removing a specified
...
tar file.
2003-11-20 09:06:10 +00:00
Glenn L McGrath
90c9df93f3
Dont attempt to unlink directories
2003-11-20 08:00:38 +00:00
Glenn L McGrath
56f16b42c9
tar -Z, uncompress support
2003-11-18 21:37:52 +00:00
Glenn L McGrath
20872be9a4
Dont close original file handle, we may need it later.
2003-11-18 21:31:19 +00:00
Glenn L McGrath
3b9fc8fe2a
Make unlink old files default behaviour and add a new option -k to
...
prevent overwritting existing files
2003-11-18 20:23:04 +00:00
Glenn L McGrath
f074afc2a0
Dont free filename, its needed in the extracted files list.
2003-11-17 21:58:00 +00:00
Glenn L McGrath
8dc8cb133c
Fix a bug where cpio wouldnt work unless -u was specified
2003-11-15 23:44:31 +00:00
Glenn L McGrath
5699b8525e
Move from read_gz to the pipe()+fork() method.
...
open_transformer(), common code for pipe+fork.
Function pointer for read() no longer needed.
Allow inflate to be initialised with a specified buffer size to avoid
over-reading.
Reset static variables in inflate_get_next_window to fix a bug where
only the first file in a .zip would be be extracted.
2003-11-15 23:19:05 +00:00
Glenn L McGrath
54ac057c00
Fix memory leaks
2003-11-15 00:24:43 +00:00
Glenn L McGrath
e57feeb9e6
Keep trying to find a good header, if we exit it will cause .tar.gz
...
files to compute incorrect crc and length for gzip
2003-11-14 12:57:14 +00:00
Glenn L McGrath
eba86e2adb
Catch unsupported features
2003-11-14 12:53:42 +00:00
Glenn L McGrath
7b215b99b2
Fix build error with tar -j
2003-11-14 09:22:24 +00:00
Glenn L McGrath
1a41db8eaf
Remove some tar_gz stuff that get dragged in
2003-11-14 09:21:27 +00:00
Glenn L McGrath
94cf153c2b
Remove debugging noise.
2003-11-14 08:30:46 +00:00
Glenn L McGrath
d09bcecda8
Read in blocks rather than one char at a time, greatly improves speed
2003-11-14 08:26:25 +00:00
Eric Andersen
8211db5af0
Vladimir N. Oleynik (vodz) writes:
...
Hi Glenn.
I analysed BSS size gzip applet and found may be mistake:
updcrc() checking if (crc_table_empty) but not resetted this var.
This do make slow gzip applet ;-)
--w
vodz
2003-11-14 02:44:28 +00:00
Eric Andersen
28d4e16cd7
This appears to be the correct fix to make CONFIG_FEATURE_DEB_TAR_BZ2
...
support compile. Glenn, you may want to verify this.
-Erik
2003-11-07 21:31:58 +00:00
Eric Andersen
d2160aaeab
fix comment
2003-11-07 21:22:09 +00:00
Glenn L McGrath
2685724e23
Fix tar -j support
...
Use the old fork() method of tar compression support, rather than
read_bz2....
- (*uncompress)(int in, int out) seems like a more natural interface
for compression code.
- it might improve performance by seperating the work into one cpu
bound and one io bound process.
- There is extra code required to do read_[gz|bunzip] since (*uncompress)(int in,
int out) will normally be used by the standalone compression applet.
There have been problems with this method so if you see a "Short read"
error let me know.
2003-11-05 04:55:58 +00:00
Eric Andersen
8179cf2b78
Put back the tar support stubs (and warnings) for now.
2003-10-31 08:52:57 +00:00
Eric Andersen
0120be94a0
Fix stupid typo
2003-10-31 00:21:28 +00:00
Glenn L McGrath
6530f0d3a1
make CONFIG_FEATURE_UNARCHIVE_TAPE common between itar and cpio, patch
...
by Arthur Othieno
2003-10-29 04:46:30 +00:00
Glenn L McGrath
f235d05773
Use the return value from uncompress_bunzip, fix some typo
2003-10-29 03:37:54 +00:00
Glenn L McGrath
1c834407e3
Add some error messages, use xmalloc instead of malloc
2003-10-28 23:32:12 +00:00
Glenn L McGrath
debb21ece7
Fix a logic error, the old bunzip code returned non-zero for success,
...
new code returns 0 for success.
2003-10-28 23:04:50 +00:00
Glenn L McGrath
e81fc5fb30
Conditionally compile some files.
...
This hides a bug related to the new bunzip code in the tar and dpkg[-deb]
applets.
It will also reduce compile time a little as some unused files wont be
compiled.
2003-10-28 10:44:58 +00:00
Eric Andersen
5fa4db29f7
Another bzip2 update and speedup from Manuel Novoa III, with some
...
additional changes (primarily lots of comments) from Rob Landley.
2003-10-23 06:52:01 +00:00
Eric Andersen
88c916bdec
Andreas Mohr writes:
...
the busybox menuconfig triggered my "inacceptable number of spelling mistakes"
upper level, so I decided to make a patch ;-)
I also improved some wording to describe some things in a better way.
Many thanks for an incredible piece of software!
Andreas Mohr, random OSS developer
2003-10-22 09:58:56 +00:00
Eric Andersen
1acfb72e71
Manuel Novoa III writes:
...
Hello Rob,
Here's a patch to your bunzip-3.c file. Nice work btw.
One minor bug fix... checking for error return when read()ing.
Some size/performance optimizations as well. One instance of
memset() seems unnecssary. You might want to take a look.
Anyway, on my machine, decompressing linux-2.6.0-test7.tar.bz2
to /dev/null gave the following times:
bunzip-3.c bzcat (system) bunzip-3.c (patched)
real 0m24.420s 0m22.725s 0m20.701s
user 0m23.930s 0m22.170s 0m20.180s
sys 0m0.070s 0m0.080s 0m0.140s
Size of the patched version is comparable (slightly larger or
smaller depending on compiler flags).
Manuel
2003-10-18 01:59:46 +00:00
Eric Andersen
0d6d88a205
Rob Landley's new micro-bunzip version 3. Rob writes:
...
The API for using partial writes, as described in my last message, sucked.
So here's a patch against my last patch that changes things so that
write_bunzip_data calls read_bunzip_data itself behind the scenes whenever
necessary. So usage is now just start_bunzip(), write_bunzip_data() until it
returns a negative number, and then the cleanup at the end of
uncompressStream.
It adds 32 bytes to the executable, but it should allow the caller (tar) to be
simplified enough to compensate. Total -Os stripped exe size now 6856 bytes.
Rob
P.S. I attached the whole C file so you don't have to keep incremental
patches straight if you don't want to. :)
P.S. In the version I'm banging on now, I've simplified the license to just
LGPL. I read the OSL a bit more closely and the patent termination clause
would have bit IBM in their counter-suit of SCO if the code in question had
been OSL instead of GPL, and I've decided I just don't want to beta-test
legal code right now.
2003-10-18 01:58:35 +00:00
Glenn L McGrath
91b3d460c7
Fix -C option when creating tar files.
...
Need to chdir after the tar file is opened, so make common tar filename
parsing and send the file descriptor rather than filename to
writeTarFile.
Modify the verboseFlag operation to determine wether to display on
stderr or stdout at display time, simpler than doing it in tar_main.
2003-10-02 14:33:23 +00:00
Eric Andersen
1393a39df4
Do not shadow the global name 'accept'
2003-09-15 08:06:15 +00:00
Glenn L McGrath
beb3bbd991
Fix handling of hardlinks when OLDGNU and GNU extensions arent enabled.
2003-09-12 06:49:09 +00:00
Glenn L McGrath
ef91bf67ed
Use the typeflag to identify if its a hardlink on OLD and GNU posix
...
modes, fixes a bug extracting hardlinks to symlinks.
2003-09-12 06:31:28 +00:00
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
Eric Andersen
6d3c7e7a9c
trivial doc fix
2003-08-22 21:15:07 +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
e5642119ee
Patch from Thomas Cameron:
...
Hello all,
This patch adds more "Help" text to the config system. Almost
all applets now have a help entry. Also, I cleaned up the spacing of
the existing text so that things are consistent. This patch is against
this morning's CVS.
Thomas Cameron
CEI Systems, Inc.
2003-07-14 19:37: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
Eric Andersen
3c5a83c567
As noted by Thomas Eckert:
...
bb-tar "cjf" does not create a valid tbz2-archive -- if fact the result is a
plain tar-file (no compression) -- but does not warn about the unrecognized
parameter combination "cj" (bb does not have bzip2-compression yet, right?).
to fix this I have added an error message stating this does not work.
He also reported
cosmetic: versose "-v" does not show any output when used with "create"
which I have now fixed as well.
-Erik
2003-07-05 21:56:55 +00:00
Eric Andersen
65e20a33c2
Patch from Kent Robotti adding a bunch of needed docs!
...
-Erik
2003-07-05 07:52:35 +00:00
Eric Andersen
a21f4e018a
Glenn McGrath (bug1) isaway from my email till the 17th, but caught me on IRC.
...
He took a look into the recent reports of tar problems, and found an obvious
typo in last_patch91 from vodz which converted tar to use bb_getopt_ulflags.
2003-07-05 06:38:41 +00:00
Eric Andersen
e5920a2dc0
Patch from Kent Robotti adding a bunch of menuconfig help
2003-07-03 10:00:15 +00:00
Eric Andersen
27cb6846d7
last_patch91 from vodz to convert tar to use bb_getopt_ulflags
2003-06-26 09:07:59 +00:00
Glenn L McGrath
a0b3705fa1
Save a few bytes by using bb_getopt_ulflags and a few other minor
...
improvments
2003-06-22 06:59:34 +00:00
Glenn L McGrath
b838420fd5
Handle hard links by converting them to symlinks
2003-06-12 13:47:16 +00:00
Matt Kraai
0861e828d0
Handle -O preceding -x.
2003-05-18 21:12:36 +00:00
Glenn L McGrath
e2aed7ffd7
Always preserve date
2003-04-26 13:16:44 +00:00
Glenn L McGrath
afc01cd485
unlink a previous file before its extracted
2003-04-21 11:03:29 +00:00
Glenn L McGrath
35a5b08eee
unlink() an existing file, before opening it, simply truncating can
...
cause nasty problems if overwriting glibc, spotted by waldi.
2003-04-21 10:07:48 +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
b323162aab
Use libbb/get_line_from_file instead of getline
2002-12-11 03:10:13 +00:00
Glenn L McGrath
38386d7fed
include busybox after libc includes
2002-12-10 02:09:12 +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