More minor fixes.
authorErik Andersen <andersen@codepoet.org>
Fri, 7 Jan 2000 18:30:40 +0000 (18:30 -0000)
committerErik Andersen <andersen@codepoet.org>
Fri, 7 Jan 2000 18:30:40 +0000 (18:30 -0000)
 -Erik

Changelog
TODO
coreutils/mknod.c
init.c
init/init.c
mknod.c

index 00ddbfa42e57467bcb5862a45446a8e3f99b1d29..7ebac903fcb36381a2cb7db575a814bd9964267a 100644 (file)
--- a/Changelog
+++ b/Changelog
@@ -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.
+           them so they should now work as expected. 
        * 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
diff --git a/TODO b/TODO
index 3eb2834cf6f79df7ebb654aeaa889202c37acf4c..24df1cf9f8eb40a84c77affc8147f67db61a406a 100644 (file)
--- a/TODO
+++ b/TODO
@@ -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
index c3389cc710c767d2ed6adf1e65de857ce98071a8..5822cd3adb120daf0117c9d56b4ce37c30e8aec0 100644 (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':
diff --git a/init.c b/init.c
index 88b8ed1c1b76063df317de6cbacd88be8b55ac56..9c7710de8edbd579d4fffa215635e07bbc9e055c 100644 (file)
--- a/init.c
+++ b/init.c
@@ -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) 
 {
index 88b8ed1c1b76063df317de6cbacd88be8b55ac56..9c7710de8edbd579d4fffa215635e07bbc9e055c 100644 (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) 
 {
diff --git a/mknod.c b/mknod.c
index c3389cc710c767d2ed6adf1e65de857ce98071a8..5822cd3adb120daf0117c9d56b4ce37c30e8aec0 100644 (file)
--- a/mknod.c
+++ b/mknod.c
@@ -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':