More minor fixes.

-Erik
This commit is contained in:
Erik Andersen 2000-01-07 18:30:40 +00:00
parent 96e2abd084
commit 812d46667d
6 changed files with 39 additions and 33 deletions

View File

@ -1,39 +1,44 @@
0.40
* Added the -s option to du -beppu
* Fixed an embarrasing segfault in head -beppu
* Fixed an bug in syslogd causing it to stop after 20 minutes. -erik
* New Apps: sort, uniq. -beppu
* New Apps: lsmod, rmmod -erik
* New Apps: fbset contributed by Randolph Chung <tausq@debian.org>.
* New App:: loadacm contributed by Peter Novodvorsky <petya@logic.ru>
for loading application character maps for Unicode fonts.
* Major init re-work. init now supports inittab (slightly different
but similar to sysvinit), allowing me to get all the policy out
of init and into the conf file. It works just fine without inittab
being present, but if you dont like the defautl behavior you can
now do something about it. Init is much cleaner as a result.
* Fixed an bug in syslogd causing it to stop after 20 minutes. -erik
* Fixed the embarrasing failure of 'logger -p'. -erik
* Re-worked the source tree a bit so it will compile under glibc 2.0.7
with the 2.0.x Linux kernel.
* Added 'grep -q' thanks to a patch from "Konstantin Boldyshev"
<konst@voshod.com>.
* Implemented sort. -beppu
* Grep -i previously failed on UPPER CASE patterns due to a silly
regexp implementation bug that is now fixed.
* Fixed a bug where tar would set, and then clear SGID and SUID bits.
* Fixed a bug where tar would not set the user and group on device
special files.
* Fixed a bug where tar would not restore the time to files.
* Fixed a major security problem with tar -- it changed ownership
of any file pointed to by a symlink to 777 (like say libc....)
Ouch!!!
* cp and mv were very broken when moving directories. I have rewritten
them so they should now work as expected.
* New app: loadacm contributed by Peter Novodvorsky <petya@logic.ru>
for loading application character maps for Unicode fonts.
* sed now supports addresses (numeric or regexp, with negation) and
has an append command, thanks to Marco Pantaleoni <panta@prosa.it>
* Fixed dmesg. It wasn't parsing its options (-n or -s) properly.
* Some cosmetic fixes to ls output formatting to make it behave more
like GNU ls.
* Fixed a bug where tar would not restore the time to files.
* Fixed a major security problem with tar -- it changed ownership
of any file pointed to by a symlink to 777 (like say libc....)
Ouch!!!
* Fixed a stupid segfault in kill.
* Several fixes from Friedrich Vedder <fwv@myrtle.lahn.de>:
- Added gunzip -t, removed gunzip.c dead code,
- fixed several typos
- Glibc 2.0.7 and libc5 compile fixes
* Grep -i previously failed on UPPER CASE patterns due to a silly
regexp implementation bug that is now fixed.
# Implemented uniq. -beppu
* Fixed a bug where 'mknod --help' would segfault.
-Erik Andersen

5
TODO
View File

@ -10,13 +10,8 @@ around to it some time. If you have any good ideas, please let me know.
-----------
* mknod --help segfaults
* Allow tar to create archives with sockets, devices, and other special files
* Make insmod actually work
* init clearly needs to support some type of minimalist /etc/inittab. I
currently have _way_ too much policy hardcoded in the source. Adding
support for getty has made me realize how much that sucks.
* dnsdomainname
* traceroute/nslookup/netstat
* rdate

View File

@ -27,9 +27,9 @@
#include <fcntl.h>
#include <unistd.h>
static const char mknod_usage[] = "mknod [OPTION]... NAME TYPE MAJOR MINOR\n\n"
static const char mknod_usage[] = "mknod NAME TYPE MAJOR MINOR\n\n"
"Make block or character special files.\n\n"
"Options:\n"
"TYPEs include:\n"
"\tb:\tMake a block (buffered) device.\n"
"\tc or u:\tMake a character (un-buffered) device.\n"
"\tp:\tMake a named pipe. Major and minor are ignored for named pipes.\n";
@ -40,6 +40,9 @@ mknod_main(int argc, char** argv)
mode_t mode = 0;
dev_t dev = 0;
if ( argc != 5 || **(argv+1) == '-' ) {
usage (mknod_usage);
}
switch(argv[2][0]) {
case 'c':
case 'u':

12
init.c
View File

@ -312,7 +312,7 @@ static void console_init()
/* check for serial console and disable logging to tty3 & running a
* shell to tty2 */
if (ioctl(0,TIOCGSERIAL,&sr) == 0) {
message(LOG|CONSOLE, "serial console detected. Disabling 2nd virtual terminal.\r\n", console );
message(LOG|CONSOLE, "serial console detected. Disabling virtual terminals.\r\n", console );
log = NULL;
second_console = NULL;
}
@ -523,8 +523,8 @@ void new_initAction (initActionEnum action,
} else
strncpy(newAction->console, console, 255);
newAction->pid = 0;
message(LOG|CONSOLE, "process='%s' action='%d' console='%s'\n",
newAction->process, newAction->action, newAction->console);
// message(LOG|CONSOLE, "process='%s' action='%d' console='%s'\n",
// newAction->process, newAction->action, newAction->console);
}
void delete_initAction (initAction *action)
@ -542,9 +542,9 @@ void delete_initAction (initAction *action)
/* NOTE that if BB_FEATURE_USE_INITTAB is NOT defined,
* then parse_inittab() simply adds in some default
* actions(i.e runs INIT_SCRIPT and then starts a pair
* of "askfirst" shells. If BB_FEATURE_USE_INITTAB
* _is_ defined, but /etc/inittab is missing == same
* default behavior.
* of "askfirst" shells). If BB_FEATURE_USE_INITTAB
* _is_ defined, but /etc/inittab is missing, this
* results in the same set of default behaviors.
* */
void parse_inittab(void)
{

View File

@ -312,7 +312,7 @@ static void console_init()
/* check for serial console and disable logging to tty3 & running a
* shell to tty2 */
if (ioctl(0,TIOCGSERIAL,&sr) == 0) {
message(LOG|CONSOLE, "serial console detected. Disabling 2nd virtual terminal.\r\n", console );
message(LOG|CONSOLE, "serial console detected. Disabling virtual terminals.\r\n", console );
log = NULL;
second_console = NULL;
}
@ -523,8 +523,8 @@ void new_initAction (initActionEnum action,
} else
strncpy(newAction->console, console, 255);
newAction->pid = 0;
message(LOG|CONSOLE, "process='%s' action='%d' console='%s'\n",
newAction->process, newAction->action, newAction->console);
// message(LOG|CONSOLE, "process='%s' action='%d' console='%s'\n",
// newAction->process, newAction->action, newAction->console);
}
void delete_initAction (initAction *action)
@ -542,9 +542,9 @@ void delete_initAction (initAction *action)
/* NOTE that if BB_FEATURE_USE_INITTAB is NOT defined,
* then parse_inittab() simply adds in some default
* actions(i.e runs INIT_SCRIPT and then starts a pair
* of "askfirst" shells. If BB_FEATURE_USE_INITTAB
* _is_ defined, but /etc/inittab is missing == same
* default behavior.
* of "askfirst" shells). If BB_FEATURE_USE_INITTAB
* _is_ defined, but /etc/inittab is missing, this
* results in the same set of default behaviors.
* */
void parse_inittab(void)
{

View File

@ -27,9 +27,9 @@
#include <fcntl.h>
#include <unistd.h>
static const char mknod_usage[] = "mknod [OPTION]... NAME TYPE MAJOR MINOR\n\n"
static const char mknod_usage[] = "mknod NAME TYPE MAJOR MINOR\n\n"
"Make block or character special files.\n\n"
"Options:\n"
"TYPEs include:\n"
"\tb:\tMake a block (buffered) device.\n"
"\tc or u:\tMake a character (un-buffered) device.\n"
"\tp:\tMake a named pipe. Major and minor are ignored for named pipes.\n";
@ -40,6 +40,9 @@ mknod_main(int argc, char** argv)
mode_t mode = 0;
dev_t dev = 0;
if ( argc != 5 || **(argv+1) == '-' ) {
usage (mknod_usage);
}
switch(argv[2][0]) {
case 'c':
case 'u':