[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [tor/master] Short-circuit the no-decompression-needed case, for clarity



commit 9018da06c783dbc8a6d1e10b0c3ae2790d052981
Author: Nick Mathewson <nickm@xxxxxxxxxxxxxx>
Date:   Tue Jun 20 11:46:54 2017 -0400

    Short-circuit the no-decompression-needed case, for clarity
    
    This commit is mostly just deindentation.
---
 src/or/directory.c | 157 +++++++++++++++++++++++++++--------------------------
 1 file changed, 80 insertions(+), 77 deletions(-)

diff --git a/src/or/directory.c b/src/or/directory.c
index 52a24e0..89e4bbc4 100644
--- a/src/or/directory.c
+++ b/src/or/directory.c
@@ -2205,88 +2205,91 @@ dir_client_decompress_response_body(char **bodyp, size_t *bodylenp,
                        conn->base_.purpose == DIR_PURPOSE_FETCH_MICRODESC);
 
   int plausible = body_is_plausible(body, body_len, conn->base_.purpose);
-  if (compression != NO_METHOD || !plausible) {
-    int severity = LOG_DEBUG;
-    char *new_body = NULL;
-    size_t new_len = 0;
-    const char *description1, *description2;
-    int want_to_try_both = 0;
-    int tried_both = 0;
-    compress_method_t guessed = detect_compression_method(body, body_len);
-
-    description1 = compression_method_get_human_name(compression);
-
-    if (BUG(description1 == NULL))
-      description1 = compression_method_get_human_name(UNKNOWN_METHOD);
-
-    if (guessed == UNKNOWN_METHOD && !plausible)
-      description2 = "confusing binary junk";
-    else
-      description2 = compression_method_get_human_name(guessed);
 
-    /* Tell the user if we don't believe what we're told about compression.*/
-    want_to_try_both = (compression == UNKNOWN_METHOD ||
-                        guessed != compression);
-    if (want_to_try_both) {
-      severity = LOG_INFO;
-    }
+  if (plausible && compression == NO_METHOD) {
+    return 0;
+  }
 
-    tor_log(severity, LD_HTTP,
-            "HTTP body from server '%s:%d' was labeled as %s, "
-            "%s it seems to be %s.%s",
-            conn->base_.address, conn->base_.port, description1,
-            guessed != compression?"but":"and",
-            description2,
-            (compression>0 && guessed>0 && want_to_try_both)?
-            "  Trying both.":"");
-
-    /* Try declared compression first if we can.
-     * tor_compress_supports_method() also returns true for NO_METHOD.
-     * Ensure that the server is not sending us data compressed using a
-     * compression method that is not allowed for anonymous connections. */
-    if (anonymized_connection &&
-        ! allowed_anonymous_connection_compression_method(compression)) {
-      warn_disallowed_anonymous_compression_method(compression);
-      rv = -1;
-      goto done;
-    }
+  int severity = LOG_DEBUG;
+  char *new_body = NULL;
+  size_t new_len = 0;
+  const char *description1, *description2;
+  int want_to_try_both = 0;
+  int tried_both = 0;
+  compress_method_t guessed = detect_compression_method(body, body_len);
 
-    if (tor_compress_supports_method(compression))
-      tor_uncompress(&new_body, &new_len, body, body_len, compression,
-                     !allow_partial, LOG_PROTOCOL_WARN);
+  description1 = compression_method_get_human_name(compression);
 
-    /* Okay, if that didn't work, and we think that it was compressed
-     * differently, try that. */
-    if (anonymized_connection &&
-        ! allowed_anonymous_connection_compression_method(guessed)) {
-      warn_disallowed_anonymous_compression_method(guessed);
-      rv = -1;
-      goto done;
-    }
+  if (BUG(description1 == NULL))
+    description1 = compression_method_get_human_name(UNKNOWN_METHOD);
 
-    if (!new_body && tor_compress_supports_method(guessed) &&
-        compression != guessed) {
-      tor_uncompress(&new_body, &new_len, body, body_len, guessed,
-                     !allow_partial, LOG_PROTOCOL_WARN);
-      tried_both = 1;
-    }
-    /* If we're pretty sure that we have a compressed directory, and
-     * we didn't manage to uncompress it, then warn and bail. */
-    if (!plausible && !new_body) {
-      log_fn(LOG_PROTOCOL_WARN, LD_HTTP,
-             "Unable to decompress HTTP body (tried %s%s%s, server '%s:%d').",
-             description1,
-             tried_both?" and ":"",
-             tried_both?description2:"",
-             conn->base_.address, conn->base_.port);
-      rv = -1;
-      goto done;
-    }
-    if (new_body) {
-      tor_free(*bodyp);
-      *bodyp = new_body;
-      *bodylenp = new_len;
-    }
+  if (guessed == UNKNOWN_METHOD && !plausible)
+    description2 = "confusing binary junk";
+  else
+    description2 = compression_method_get_human_name(guessed);
+
+  /* Tell the user if we don't believe what we're told about compression.*/
+  want_to_try_both = (compression == UNKNOWN_METHOD ||
+                      guessed != compression);
+  if (want_to_try_both) {
+    severity = LOG_INFO;
+  }
+
+  tor_log(severity, LD_HTTP,
+          "HTTP body from server '%s:%d' was labeled as %s, "
+          "%s it seems to be %s.%s",
+          conn->base_.address, conn->base_.port, description1,
+          guessed != compression?"but":"and",
+          description2,
+          (compression>0 && guessed>0 && want_to_try_both)?
+          "  Trying both.":"");
+
+  /* Try declared compression first if we can.
+   * tor_compress_supports_method() also returns true for NO_METHOD.
+   * Ensure that the server is not sending us data compressed using a
+   * compression method that is not allowed for anonymous connections. */
+  if (anonymized_connection &&
+      ! allowed_anonymous_connection_compression_method(compression)) {
+    warn_disallowed_anonymous_compression_method(compression);
+    rv = -1;
+    goto done;
+  }
+
+  if (tor_compress_supports_method(compression))
+    tor_uncompress(&new_body, &new_len, body, body_len, compression,
+                   !allow_partial, LOG_PROTOCOL_WARN);
+
+  /* Okay, if that didn't work, and we think that it was compressed
+   * differently, try that. */
+  if (anonymized_connection &&
+      ! allowed_anonymous_connection_compression_method(guessed)) {
+    warn_disallowed_anonymous_compression_method(guessed);
+    rv = -1;
+    goto done;
+  }
+
+  if (!new_body && tor_compress_supports_method(guessed) &&
+      compression != guessed) {
+    tor_uncompress(&new_body, &new_len, body, body_len, guessed,
+                   !allow_partial, LOG_PROTOCOL_WARN);
+    tried_both = 1;
+  }
+  /* If we're pretty sure that we have a compressed directory, and
+   * we didn't manage to uncompress it, then warn and bail. */
+  if (!plausible && !new_body) {
+    log_fn(LOG_PROTOCOL_WARN, LD_HTTP,
+           "Unable to decompress HTTP body (tried %s%s%s, server '%s:%d').",
+           description1,
+           tried_both?" and ":"",
+           tried_both?description2:"",
+           conn->base_.address, conn->base_.port);
+    rv = -1;
+    goto done;
+  }
+  if (new_body) {
+    tor_free(*bodyp);
+    *bodyp = new_body;
+    *bodylenp = new_len;
   }
 
  done:



_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits