Denis Vlasenko [Thu, 30 Nov 2006 23:13:59 +0000 (23:13 -0000)]
passwd: micro-optimization
Denis Vlasenko [Thu, 30 Nov 2006 22:40:32 +0000 (22:40 -0000)]
"kernel config" -> "busybox config"
suggested by Roberto A. Foglietta <roberto.foglietta@gmail.com>
Denis Vlasenko [Thu, 30 Nov 2006 21:11:01 +0000 (21:11 -0000)]
"make bigdata" biggest offender dealt with:
xmalloc 16Kb buffer instead of keeping it in bss
Denis Vlasenko [Thu, 30 Nov 2006 20:57:50 +0000 (20:57 -0000)]
ed: convert style to bbox's. No code changes.
Denis Vlasenko [Thu, 30 Nov 2006 20:41:28 +0000 (20:41 -0000)]
passwd: small size optimization. salt generation improved
(really generated different salts even if called back-to-back).
Denis Vlasenko [Thu, 30 Nov 2006 16:41:15 +0000 (16:41 -0000)]
passwd: rework:
* do not make backup copy by copying (just retain old file)
* correctly fall back to /etc/passwd if user is not in shadow
* fix bug with overlong passwd entries
* be permissive on some kinds of failures
* reduce stack usage
* code size: -500 bytes
Bernhard Reutner-Fischer [Thu, 30 Nov 2006 14:53:51 +0000 (14:53 -0000)]
- save 4 bytes
text data bss dec hex filename
764 0 80 844 34c vlock.o.oorig
760 0 80 840 348 vlock.o
Denis Vlasenko [Wed, 29 Nov 2006 23:15:04 +0000 (23:15 -0000)]
Well, I am not 100.00% usre that uint16 will suffice there.
We don't lose anything by using 'unsigned' instead.
Denis Vlasenko [Wed, 29 Nov 2006 22:47:42 +0000 (22:47 -0000)]
another -90 bytes. That #define is **evil**
Denis Vlasenko [Wed, 29 Nov 2006 22:33:47 +0000 (22:33 -0000)]
mkfs.minix: more cleanups, -~300 bytes of code.
Added debugging support.
Denis Vlasenko [Wed, 29 Nov 2006 18:15:52 +0000 (18:15 -0000)]
cut 0.5k off mkfs.minix
assorted strtoul fixes (that's what brought me into minix)...
Denis Vlasenko [Wed, 29 Nov 2006 15:58:50 +0000 (15:58 -0000)]
httpd: fix decode of '/' when called via -d
Denis Vlasenko [Wed, 29 Nov 2006 14:32:01 +0000 (14:32 -0000)]
od: fix buglet in --traditional, microoptimization,
document coreutils bug
bloat-o-meter: account for objects in rodata too
Denis Vlasenko [Wed, 29 Nov 2006 12:00:28 +0000 (12:00 -0000)]
getopt32-ification of fdisk
Denis Vlasenko [Wed, 29 Nov 2006 11:09:43 +0000 (11:09 -0000)]
fix support for globally disabling --long-options.
(disabling them saves ~4K on fully configured bbox)
Denis Vlasenko [Tue, 28 Nov 2006 23:37:46 +0000 (23:37 -0000)]
od: sometime ago I landed BIG od implementation
from coreutils. My fault. This commit contains
cleanups and size reductions.
Denis Vlasenko [Tue, 28 Nov 2006 10:54:16 +0000 (10:54 -0000)]
fix bug in new str -> num convertors
Denis Vlasenko [Tue, 28 Nov 2006 00:46:49 +0000 (00:46 -0000)]
usage: fix few help texts, fix breakage: '\<tab>'
sequence utterly confused cpp :)
Denis Vlasenko [Tue, 28 Nov 2006 00:21:46 +0000 (00:21 -0000)]
udhcpc: fix my breakage
Denis Vlasenko [Tue, 28 Nov 2006 00:06:39 +0000 (00:06 -0000)]
fix udhcpc help message, take steps to make usage.h less messy
Denis Vlasenko [Mon, 27 Nov 2006 23:44:57 +0000 (23:44 -0000)]
do not overflow ifr_name. maybe it was safe in some places,
but not everywhere. err to the safe side.
Denis Vlasenko [Mon, 27 Nov 2006 23:43:28 +0000 (23:43 -0000)]
udhcpc: convert to getopt32
Denis Vlasenko [Mon, 27 Nov 2006 20:24:40 +0000 (20:24 -0000)]
tar: fix misplaced --exclude long option definition
Denis Vlasenko [Mon, 27 Nov 2006 19:50:16 +0000 (19:50 -0000)]
Closing bug 1040:
The "quiet" option is quietly (hah) ignored. It should be passed through
to the mount() syscall in the comma separated list of options.
I found the problem with the vfat/msdos filesystems, which uses
a quiet option to override some complaints and errors.
Denis Vlasenko [Mon, 27 Nov 2006 17:29:09 +0000 (17:29 -0000)]
erase_mtab: do not limit ourself to 40 mtab entries
Denis Vlasenko [Mon, 27 Nov 2006 16:59:15 +0000 (16:59 -0000)]
fix remaining survivors of the return(a) cleanup
Denis Vlasenko [Mon, 27 Nov 2006 16:49:55 +0000 (16:49 -0000)]
style cleanup: return(a) -> return a, part 2
Denis Vlasenko [Mon, 27 Nov 2006 16:49:31 +0000 (16:49 -0000)]
style cleanup: return(a) -> return a, part 1
Denis Vlasenko [Mon, 27 Nov 2006 16:48:17 +0000 (16:48 -0000)]
byteswap ops had extra mask ops - removed
Denis Vlasenko [Mon, 27 Nov 2006 15:12:16 +0000 (15:12 -0000)]
svn add bb_strtonum.c :(
Denis Vlasenko [Mon, 27 Nov 2006 14:44:18 +0000 (14:44 -0000)]
Provide our own isdigit macro. saves more than 400 bytes.
Denis Vlasenko [Mon, 27 Nov 2006 14:43:21 +0000 (14:43 -0000)]
safe_strtoXX interface proved to be a bit unconvenient.
Remove it, introduce saner bb_strtoXX.
Saved ~350 bytes.
Bernhard Reutner-Fischer [Mon, 27 Nov 2006 13:58:18 +0000 (13:58 -0000)]
- minor shrinkage
text data bss dec hex filename
773 0 80 853 355 vlock.o.orig
766 0 80 846 34e vlock.o
Denis Vlasenko [Mon, 27 Nov 2006 10:03:21 +0000 (10:03 -0000)]
ifconfig: do not try to continue on errors. not much sence in doing that
IMHO, but requires extra code.
Denis Vlasenko [Mon, 27 Nov 2006 01:04:23 +0000 (01:04 -0000)]
deluser: the same code, but a bit less obfuscated.
Denis Vlasenko [Mon, 27 Nov 2006 00:54:59 +0000 (00:54 -0000)]
deluser: size reduction by 60 bytes.
patch from Tito <farmatito@tiscali.it>
Denis Vlasenko [Sun, 26 Nov 2006 22:17:46 +0000 (22:17 -0000)]
added gcc flag which is needed for ULLONG_MAX to appear
on Tito's box
Denis Vlasenko [Sun, 26 Nov 2006 20:13:39 +0000 (20:13 -0000)]
Closing bug 730. libbb run_parts is using scandir (a GNUism),
and it is used only by run_parts applet, so move it there.
Also saved ~30 bytes (prolly gcc autoinlining...).
Denis Vlasenko [Sun, 26 Nov 2006 17:07:38 +0000 (17:07 -0000)]
added small doc about tar 'pax header' format
Denis Vlasenko [Sun, 26 Nov 2006 15:48:54 +0000 (15:48 -0000)]
sort: two small optimizations
Denis Vlasenko [Sun, 26 Nov 2006 15:48:03 +0000 (15:48 -0000)]
sort: reformat entire file wrt style.
fix single obvious bug: right hand was 0 here:
flags & (FLAG_b&FLAG_d&FLAG_f&FLAG_i&FLAG_bb)
fixed to use |
Denis Vlasenko [Sun, 26 Nov 2006 15:45:17 +0000 (15:45 -0000)]
small fixes:
fix xstrdup to not grossly overallocate memory
use xopen instean of xopen3 in several places
etc.
Denis Vlasenko [Sun, 26 Nov 2006 15:42:03 +0000 (15:42 -0000)]
tar: refuse to untar files with "/../" components
Denis Vlasenko [Sun, 26 Nov 2006 01:46:59 +0000 (01:46 -0000)]
tar: correctly skip (and warn about) pax headers.
plug memory leak. save 50 bytes.
Wooohooo! we finally can unpack kernel tarballs!
Denis Vlasenko [Sat, 25 Nov 2006 23:56:50 +0000 (23:56 -0000)]
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 ;)
Denis Vlasenko [Sat, 25 Nov 2006 23:50:28 +0000 (23:50 -0000)]
tee: fix bug: argv[-1] is a no-no!
bb_full_fd_action: optimize
die_if_ferror: "<applet>: filename" isn't a good err msg, add "..I/O error"
Denis Vlasenko [Sat, 25 Nov 2006 23:47:32 +0000 (23:47 -0000)]
tar: small fix and small optimization
Denis Vlasenko [Sat, 25 Nov 2006 14:49:04 +0000 (14:49 -0000)]
small improvements in str -> num convertors
Denis Vlasenko [Sat, 25 Nov 2006 14:48:09 +0000 (14:48 -0000)]
tar: abort if tarring up file larger that 64Gb
(otherwise we will produce garbled tarfile)
Denis Vlasenko [Sat, 25 Nov 2006 14:46:21 +0000 (14:46 -0000)]
dd: support >2gb values for seek, skip, count
Denis Vlasenko [Sat, 25 Nov 2006 14:44:13 +0000 (14:44 -0000)]
regularize str -> num convertors
Denis Vlasenko [Fri, 24 Nov 2006 22:42:44 +0000 (22:42 -0000)]
small optimization
Denis Vlasenko [Fri, 24 Nov 2006 21:55:55 +0000 (21:55 -0000)]
tar: fix multiple -t and/or -v options handling.
do not process list of files to tar up in reverse order.
Denis Vlasenko [Fri, 24 Nov 2006 21:54:44 +0000 (21:54 -0000)]
tar: sanitize option handling
Denis Vlasenko [Fri, 24 Nov 2006 18:53:13 +0000 (18:53 -0000)]
tar: buglet fix
Denis Vlasenko [Fri, 24 Nov 2006 17:21:44 +0000 (17:21 -0000)]
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
Denis Vlasenko [Fri, 24 Nov 2006 15:38:03 +0000 (15:38 -0000)]
hunt down improper include <>, make mkswap output 4Gb+ friendly
Denis Vlasenko [Fri, 24 Nov 2006 15:06:28 +0000 (15:06 -0000)]
svn add makedev.c. Forgot as usual... :(
Denis Vlasenko [Fri, 24 Nov 2006 14:59:45 +0000 (14:59 -0000)]
tar: small fixes:
* size-optimize mapping code
* kill double close
Denis Vlasenko [Fri, 24 Nov 2006 14:57:31 +0000 (14:57 -0000)]
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!!!)
Denis Vlasenko [Fri, 24 Nov 2006 14:55:23 +0000 (14:55 -0000)]
tar: cry murder and bail out if file shrinks under us while we tar it up
Denis Vlasenko [Fri, 24 Nov 2006 14:54:27 +0000 (14:54 -0000)]
glibc makedev() is a large inline. Save 700+ bytes by wrapping it
into a function.
Denis Vlasenko [Fri, 24 Nov 2006 14:53:18 +0000 (14:53 -0000)]
header_verbose_list: stop truncating file size in listing
Denis Vlasenko [Fri, 24 Nov 2006 14:51:01 +0000 (14:51 -0000)]
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
Denis Vlasenko [Thu, 23 Nov 2006 15:59:12 +0000 (15:59 -0000)]
md5sum: make -c grok formats like "
68b329da9893e34099c7d8ad5cb9c940 *foo".
Also eradicate 95 bytes of bloat.
Denis Vlasenko [Thu, 23 Nov 2006 15:08:37 +0000 (15:08 -0000)]
ifupdown:
ifconfig said to set iface up before it processes hw %hwaddress%,
which then of course fails. Thus we run two separate ifconfig
Denis Vlasenko [Thu, 23 Nov 2006 15:07:38 +0000 (15:07 -0000)]
ifupdown: save some 100+ bytes of code in addstr()
Denis Vlasenko [Thu, 23 Nov 2006 13:10:23 +0000 (13:10 -0000)]
wget: -O - still outputs progressbar (to stderr)
Noticed dead code. -100 bytes.
Denis Vlasenko [Thu, 23 Nov 2006 12:57:49 +0000 (12:57 -0000)]
add "wpad" DHCP option. Spotted some optimization opportunities: -80 bytes
Denis Vlasenko [Wed, 22 Nov 2006 23:22:06 +0000 (23:22 -0000)]
introduce setsockopt_reuseaddr(int fd), setsockopt_broadcast(int fd),
use them where appropriate. 200 bytes saved
Bernhard Reutner-Fischer [Wed, 22 Nov 2006 18:40:06 +0000 (18:40 -0000)]
- add FIXME to brokenness in the installer..
Bernhard Reutner-Fischer [Wed, 22 Nov 2006 18:21:08 +0000 (18:21 -0000)]
- fix typo
Denis Vlasenko [Wed, 22 Nov 2006 17:42:06 +0000 (17:42 -0000)]
fix double merge
Bernhard Reutner-Fischer [Wed, 22 Nov 2006 16:48:29 +0000 (16:48 -0000)]
- update TODOs
Bernhard Reutner-Fischer [Wed, 22 Nov 2006 16:39:48 +0000 (16:39 -0000)]
- revert r15563 (pull current version of taskset off the busybox_scratch branch)
Denis Vlasenko [Wed, 22 Nov 2006 16:10:39 +0000 (16:10 -0000)]
telnetd: move generic stuff into libbb. It will make it easy
to make other server applets IPv6-aware too.
Denis Vlasenko [Wed, 22 Nov 2006 15:57:52 +0000 (15:57 -0000)]
telnetd: if FEATURE_IPV6 is on, telnet will NOT work on IPv4
which is kind of stupid
Denis Vlasenko [Wed, 22 Nov 2006 15:54:52 +0000 (15:54 -0000)]
telnetd: we were having telnetd with is ONLY inetd or ONLY standalone.
What if I need to have both?? This patch introduces
CONFIG_FEATURE_TELNETD_STANDALONE: y - both, n - only inetd.
Bernhard Reutner-Fischer [Wed, 22 Nov 2006 09:39:48 +0000 (09:39 -0000)]
- reinstate "make checkhelp"
Denis Vlasenko [Wed, 22 Nov 2006 02:12:07 +0000 (02:12 -0000)]
#if HAVE_AFINET6 -> #ifdef HAVE_AFINET6
Denis Vlasenko [Tue, 21 Nov 2006 21:35:14 +0000 (21:35 -0000)]
httpd: comment on QUERY_STRING
Denis Vlasenko [Tue, 21 Nov 2006 21:23:21 +0000 (21:23 -0000)]
httpd: add link to docs
Denis Vlasenko [Tue, 21 Nov 2006 20:35:22 +0000 (20:35 -0000)]
xgethostbyname: more readable
Denis Vlasenko [Tue, 21 Nov 2006 20:34:21 +0000 (20:34 -0000)]
bb_INET_default[] is really just a const "default",
nothing INET-specific
Denis Vlasenko [Tue, 21 Nov 2006 20:32:38 +0000 (20:32 -0000)]
ifconfig: looks like char host[128] is not really needed.
Denis Vlasenko [Tue, 21 Nov 2006 19:10:26 +0000 (19:10 -0000)]
wget: yet another contortion for proftpd's PASV response.
Bernhard Reutner-Fischer [Tue, 21 Nov 2006 15:36:08 +0000 (15:36 -0000)]
- add 'ip rule' support. First take..
text data bss dec hex filename
2999 0 0 2999 bb7 networking/libiproute/iprule.o
Denis Vlasenko [Tue, 21 Nov 2006 14:26:37 +0000 (14:26 -0000)]
ifconfig: preparatory patch, no code changes
Denis Vlasenko [Tue, 21 Nov 2006 14:12:53 +0000 (14:12 -0000)]
insmod: set STRVERSIONLEN = 64, convert #ifdef CONFIG to #if ENABLE,
stop using CONFIG_ prefix for non-config-system variables
Denis Vlasenko [Tue, 21 Nov 2006 11:58:14 +0000 (11:58 -0000)]
insmod_ng_main: -80 bytes. Stopp mmapping, use xmalloc_open_read_close().
Bernhard Reutner-Fischer [Tue, 21 Nov 2006 11:23:11 +0000 (11:23 -0000)]
- style fixes
Denis Vlasenko [Tue, 21 Nov 2006 11:15:58 +0000 (11:15 -0000)]
wget: add TODO
Denis Vlasenko [Tue, 21 Nov 2006 11:04:31 +0000 (11:04 -0000)]
wget: fix ftp PASV mode ("numeric" check was too strict)
Bernhard Reutner-Fischer [Tue, 21 Nov 2006 10:53:05 +0000 (10:53 -0000)]
- update defconfig
Denis Vlasenko [Tue, 21 Nov 2006 10:43:02 +0000 (10:43 -0000)]
wget: reduce likelihood of ETA overflow (especially with !LFS)
Denis Vlasenko [Tue, 21 Nov 2006 10:15:25 +0000 (10:15 -0000)]
httpd: slight reduction of #ifdef forest
few other applets: #ifdef CONFIG_ -> #if ENABLE_
traceroute: fix exposed bugs
defconfig: update
Denis Vlasenko [Tue, 21 Nov 2006 00:55:46 +0000 (00:55 -0000)]
cpio: (allegedly) fix bug 0001095:
"cpio hardlink support and possible memory leak fix"
Denis Vlasenko [Tue, 21 Nov 2006 00:12:09 +0000 (00:12 -0000)]
httpd: fix cgi-bin/index.cgi support, add example of it,
stat: fix end-of-line if format is specified (wasn't printing it),
fix %z (time) format to match coreutils 6.3
Denis Vlasenko [Tue, 21 Nov 2006 00:09:37 +0000 (00:09 -0000)]
httpd: LC_TIME locale _must_ be POSIX to httpd! We speak over the net!
Denis Vlasenko [Tue, 21 Nov 2006 00:08:39 +0000 (00:08 -0000)]
httpd: add support for directory indexer (cgi-bin/index.cgi)