Quellcode durchsuchen

hs-v3: Log client auth load activities client side

Signed-off-by: David Goulet <dgoulet@torproject.org>
Suphanat Chunhapanya vor 6 Jahren
Ursprung
Commit
5b2871d2f2
1 geänderte Dateien mit 38 neuen und 29 gelöschten Zeilen
  1. 38 29
      src/feature/hs/hs_client.c

+ 38 - 29
src/feature/hs/hs_client.c

@@ -1567,42 +1567,51 @@ hs_config_client_authorization(const or_options_t *options,
 
     hs_client_service_authorization_t *auth = NULL;
     ed25519_public_key_t identity_pk;
+    log_info(LD_REND, "Loading a client authorization key file %s...",
+             filename);
 
-    if (auth_key_filename_is_valid(filename)) {
-      /* Create a full path for a file. */
-      client_key_file_path = hs_path_from_filename(key_dir, filename);
-      client_key_str = read_file_to_str(client_key_file_path, 0, NULL);
-      /* Free the file path immediately after using it. */
-      tor_free(client_key_file_path);
-
-      /* If we cannot read the file, continue with the next file. */
-      if (!client_key_str) {
-        continue;
-      }
+    if (!auth_key_filename_is_valid(filename)) {
+      log_warn(LD_REND, "The filename is invalid.");
+      continue;
+    }
 
-      auth = parse_auth_file_content(client_key_str);
-      /* Free immediately after using it. */
-      tor_free(client_key_str);
+    /* Create a full path for a file. */
+    client_key_file_path = hs_path_from_filename(key_dir, filename);
+    client_key_str = read_file_to_str(client_key_file_path, 0, NULL);
+    /* Free the file path immediately after using it. */
+    tor_free(client_key_file_path);
 
-      if (auth) {
-        /* Parse the onion address to get an identity public key and use it
-         * as a key of global map in the future. */
-        if (hs_parse_address(auth->onion_address, &identity_pk,
-                             NULL, NULL) < 0) {
-          client_service_authorization_free(auth);
-          continue;
-        }
+    /* If we cannot read the file, continue with the next file. */
+    if (!client_key_str) {
+      log_warn(LD_REND, "The file cannot be read.");
+      continue;
+    }
 
-        if (digest256map_get(auths, identity_pk.pubkey)) {
-          client_service_authorization_free(auth);
+    auth = parse_auth_file_content(client_key_str);
+    /* Free immediately after using it. */
+    tor_free(client_key_str);
+
+    if (auth) {
+      /* Parse the onion address to get an identity public key and use it
+       * as a key of global map in the future. */
+      if (hs_parse_address(auth->onion_address, &identity_pk,
+                           NULL, NULL) < 0) {
+        client_service_authorization_free(auth);
+        log_warn(LD_REND, "The onion address is invalid.");
+        continue;
+      }
 
-          log_warn(LD_REND, "Duplicate authorization for the same hidden "
-                            "service.");
-          goto end;
-        }
+      if (digest256map_get(auths, identity_pk.pubkey)) {
+        client_service_authorization_free(auth);
 
-        digest256map_set(auths, identity_pk.pubkey, auth);
+        log_warn(LD_REND, "Duplicate authorization for the same hidden "
+                          "service.");
+        goto end;
       }
+
+      digest256map_set(auths, identity_pk.pubkey, auth);
+      log_info(LD_REND, "Loaded a client authorization key file %s.",
+               filename);
     }
 
   } SMARTLIST_FOREACH_END(filename);