瀏覽代碼

r16322@catbus: nickm | 2007-11-01 00:26:15 -0400
Implement --quiet.


svn:r12306

Nick Mathewson 17 年之前
父節點
當前提交
2645219b4c
共有 4 個文件被更改,包括 17 次插入4 次删除
  1. 2 0
      ChangeLog
  2. 1 1
      doc/TODO
  3. 3 1
      src/or/config.c
  4. 11 2
      src/or/main.c

+ 2 - 0
ChangeLog

@@ -39,6 +39,8 @@ Changes in version 0.2.0.10-alpha - 2007-1?-??
       how skewed they are, and how much this matters.
       how skewed they are, and how much this matters.
     - When we have a certificate for an authority, believe that certificate's
     - When we have a certificate for an authority, believe that certificate's
       claims about the authority's IP address.
       claims about the authority's IP address.
+    - New --quiet command-line option to suppress the default console log.
+      Good in combination with --hash-password.
 
 
   o Minor features (controller):
   o Minor features (controller):
     - When reporting clock skew, and we only have a lower bound on the amount
     - When reporting clock skew, and we only have a lower bound on the amount

+ 1 - 1
doc/TODO

@@ -97,7 +97,7 @@ Things we'd like to do in 0.2.0.x:
           unreachable is bunk -- it's leftover from the time when all
           unreachable is bunk -- it's leftover from the time when all
           servers ran 24/7. now it triggers every time a server goes
           servers ran 24/7. now it triggers every time a server goes
           away and then returns before the old descriptor has expired.
           away and then returns before the old descriptor has expired.
-      - add a --quiet commandline option that suppresses logs. useful
+      o add a --quiet commandline option that suppresses logs. useful
         for --hashed-password and maybe others.
         for --hashed-password and maybe others.
       - Tor logs the libevent version on startup, for debugging purposes.
       - Tor logs the libevent version on startup, for debugging purposes.
         This is great. But it does this before configuring the logs, so
         This is great. But it does this before configuring the logs, so

+ 3 - 1
src/or/config.c

@@ -1195,7 +1195,8 @@ config_get_commandlines(int argc, char **argv, config_line_t **result)
       continue;
       continue;
     } else if (!strcmp(argv[i],"--list-fingerprint") ||
     } else if (!strcmp(argv[i],"--list-fingerprint") ||
                !strcmp(argv[i],"--verify-config") ||
                !strcmp(argv[i],"--verify-config") ||
-               !strcmp(argv[i],"--ignore-missing-torrc")) {
+               !strcmp(argv[i],"--ignore-missing-torrc") ||
+               !strcmp(argv[i],"--quiet")) {
       i += 1; /* command-line option. ignore it. */
       i += 1; /* command-line option. ignore it. */
       continue;
       continue;
     } else if (!strcmp(argv[i],"--nt-service") ||
     } else if (!strcmp(argv[i],"--nt-service") ||
@@ -1203,6 +1204,7 @@ config_get_commandlines(int argc, char **argv, config_line_t **result)
       i += 1;
       i += 1;
       continue;
       continue;
     }
     }
+
     if (i == argc-1) {
     if (i == argc-1) {
       log_warn(LD_CONFIG,"Command-line option '%s' with no value. Failing.",
       log_warn(LD_CONFIG,"Command-line option '%s' with no value. Failing.",
                argv[i]);
                argv[i]);

+ 11 - 2
src/or/main.c

@@ -1718,6 +1718,7 @@ handle_signals(int is_parent)
 tor_init(int argc, char *argv[])
 tor_init(int argc, char *argv[])
 {
 {
   char buf[256];
   char buf[256];
+  int i, quiet = 0;
   time_of_process_start = time(NULL);
   time_of_process_start = time(NULL);
   if (!connection_array)
   if (!connection_array)
     connection_array = smartlist_create();
     connection_array = smartlist_create();
@@ -1737,8 +1738,16 @@ tor_init(int argc, char *argv[])
   addressmap_init(); /* Init the client dns cache. Do it always, since it's
   addressmap_init(); /* Init the client dns cache. Do it always, since it's
                       * cheap. */
                       * cheap. */
 
 
-  /* give it somewhere to log to initially */
+  /* We search for the "quiet" option first, since it decides whether we
-  add_temp_log();
+   * will log anything at all to the command line. */
+  for (i=1;i<argc;++i) {
+    if (!strcmp(argv[i], "--quiet")) /*DOCDOC in mangpage.*/
+      quiet = 1;
+  }
+  if (!quiet) {
+    /* give it somewhere to log to initially */
+    add_temp_log();
+  }
 
 
   log(LOG_NOTICE, LD_GENERAL, "Tor v%s. This is experimental software. "
   log(LOG_NOTICE, LD_GENERAL, "Tor v%s. This is experimental software. "
       "Do not rely on it for strong anonymity. (Running on %s)",get_version(),
       "Do not rely on it for strong anonymity. (Running on %s)",get_version(),