]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Fix 13941: make calling log_new_relay_greeting() optional.
authormeejah <meejah@meejah.ca>
Thu, 11 Dec 2014 05:30:14 +0000 (22:30 -0700)
committermeejah <meejah@meejah.ca>
Fri, 12 Dec 2014 01:43:51 +0000 (18:43 -0700)
Specifically, only if we're creating secret_id_key do we log the
greeting (and then only if the key is actually created).

changes/bug13941 [new file with mode: 0644]
src/or/rendservice.c
src/or/router.c
src/or/router.h

diff --git a/changes/bug13941 b/changes/bug13941
new file mode 100644 (file)
index 0000000..eae748c
--- /dev/null
@@ -0,0 +1,4 @@
+  o Minor bugfixes (hidden services):
+    - When adding a new hidden-service (for example, via SETCONF) Tor
+      no longer logs a congratulations for running a relay.
+
index 26e5659123d33d5964df0741d6f72a32e8c0443d..5766cfc78d8c869b8378a587a4d9fc13def6e3b8 100644 (file)
@@ -738,7 +738,7 @@ rend_service_load_keys(rend_service_t *s)
              s->directory);
     return -1;
   }
-  s->private_key = init_key_from_file(fname, 1, LOG_ERR);
+  s->private_key = init_key_from_file(fname, 1, LOG_ERR, 0);
   if (!s->private_key)
     return -1;
 
index 01838b4b3ecefce5b7979a47f98bc741819dede6..56bb909952858e9e3de37cc5007bc3f20f0e8525 100644 (file)
@@ -392,10 +392,12 @@ log_new_relay_greeting(void)
 /** Try to read an RSA key from <b>fname</b>.  If <b>fname</b> doesn't exist
  * and <b>generate</b> is true, create a new RSA key and save it in
  * <b>fname</b>.  Return the read/created key, or NULL on error.  Log all
- * errors at level <b>severity</b>.
+ * errors at level <b>severity</b>. If <b>log_greeting</b> is non-zero and a
+ * new key was created, log_new_relay_greeting() is called.
  */
 crypto_pk_t *
-init_key_from_file(const char *fname, int generate, int severity)
+init_key_from_file(const char *fname, int generate, int severity,
+                   int log_greeting)
 {
   crypto_pk_t *prkey = NULL;
 
@@ -433,7 +435,9 @@ init_key_from_file(const char *fname, int generate, int severity)
           goto error;
         }
         log_info(LD_GENERAL, "Generated key seems valid");
-        log_new_relay_greeting();
+        if (log_greeting) {
+            log_new_relay_greeting();
+        }
         if (crypto_pk_write_private_key_to_filename(prkey, fname)) {
           tor_log(severity, LD_FS,
               "Couldn't write generated key to \"%s\".", fname);
@@ -545,7 +549,7 @@ load_authority_keyset(int legacy, crypto_pk_t **key_out,
 
   fname = get_datadir_fname2("keys",
                  legacy ? "legacy_signing_key" : "authority_signing_key");
-  signing_key = init_key_from_file(fname, 0, LOG_INFO);
+  signing_key = init_key_from_file(fname, 0, LOG_INFO, 0);
   if (!signing_key) {
     log_warn(LD_DIR, "No version 3 directory key found in %s", fname);
     goto done;
@@ -828,7 +832,7 @@ init_keys(void)
   /* 1b. Read identity key. Make it if none is found. */
   keydir = get_datadir_fname2("keys", "secret_id_key");
   log_info(LD_GENERAL,"Reading/making identity key \"%s\"...",keydir);
-  prkey = init_key_from_file(keydir, 1, LOG_ERR);
+  prkey = init_key_from_file(keydir, 1, LOG_ERR, 1);
   tor_free(keydir);
   if (!prkey) return -1;
   set_server_identity_key(prkey);
@@ -851,7 +855,7 @@ init_keys(void)
   /* 2. Read onion key.  Make it if none is found. */
   keydir = get_datadir_fname2("keys", "secret_onion_key");
   log_info(LD_GENERAL,"Reading/making onion key \"%s\"...",keydir);
-  prkey = init_key_from_file(keydir, 1, LOG_ERR);
+  prkey = init_key_from_file(keydir, 1, LOG_ERR, 1);
   tor_free(keydir);
   if (!prkey) return -1;
   set_onion_key(prkey);
@@ -876,7 +880,7 @@ init_keys(void)
 
   keydir = get_datadir_fname2("keys", "secret_onion_key.old");
   if (!lastonionkey && file_status(keydir) == FN_FILE) {
-    prkey = init_key_from_file(keydir, 1, LOG_ERR); /* XXXX Why 1? */
+    prkey = init_key_from_file(keydir, 1, LOG_ERR, 0); /* XXXX Why 1? */
     if (prkey)
       lastonionkey = prkey;
   }
index 16d3845be17a55b035d9b84c856b91469c8de6ea..b5d7f1105383d9d4d75197bd293f806b032f3f16 100644 (file)
@@ -29,7 +29,7 @@ crypto_pk_t *get_my_v3_legacy_signing_key(void);
 void dup_onion_keys(crypto_pk_t **key, crypto_pk_t **last);
 void rotate_onion_key(void);
 crypto_pk_t *init_key_from_file(const char *fname, int generate,
-                                    int severity);
+                                    int severity, int log_greeting);
 void v3_authority_check_key_expiry(void);
 
 di_digest256_map_t *construct_ntor_key_map(void);