Bladeren bron

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


svn:r12306

Nick Mathewson 16 jaren geleden
bovenliggende
commit
2645219b4c
4 gewijzigde bestanden met toevoegingen van 17 en 4 verwijderingen
  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.
     - When we have a certificate for an authority, believe that certificate's
       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):
     - 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
           servers ran 24/7. now it triggers every time a server goes
           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.
       - Tor logs the libevent version on startup, for debugging purposes.
         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;
     } else if (!strcmp(argv[i],"--list-fingerprint") ||
                !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. */
       continue;
     } else if (!strcmp(argv[i],"--nt-service") ||
@@ -1203,6 +1204,7 @@ config_get_commandlines(int argc, char **argv, config_line_t **result)
       i += 1;
       continue;
     }
+
     if (i == argc-1) {
       log_warn(LD_CONFIG,"Command-line option '%s' with no value. Failing.",
                argv[i]);

+ 11 - 2
src/or/main.c

@@ -1718,6 +1718,7 @@ handle_signals(int is_parent)
 tor_init(int argc, char *argv[])
 {
   char buf[256];
+  int i, quiet = 0;
   time_of_process_start = time(NULL);
   if (!connection_array)
     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
                       * cheap. */
 
-  /* give it somewhere to log to initially */
-  add_temp_log();
+  /* We search for the "quiet" option first, since it decides whether we
+   * 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. "
       "Do not rely on it for strong anonymity. (Running on %s)",get_version(),