Browse Source

Merge remote branch 'origin/maint-0.2.2'

Nick Mathewson 14 years ago
parent
commit
a880429a76
3 changed files with 7 additions and 3 deletions
  1. 4 0
      changes/bug2409
  2. 2 2
      src/or/circuitbuild.c
  3. 1 1
      src/or/routerparse.c

+ 4 - 0
changes/bug2409

@@ -0,0 +1,4 @@
+  o Minor bugfixes
+    - Resolve a bug in verifying signatures of directory objects
+      with digests longer than SHA1.  Bugfix on 0.2.2.20-alpha;
+      fixes bug 2409; found by "piebeer".

+ 2 - 2
src/or/circuitbuild.c

@@ -661,9 +661,9 @@ circuit_build_times_update_state(circuit_build_times_t *cbt,
 static void
 circuit_build_times_shuffle_and_store_array(circuit_build_times_t *cbt,
                                             build_time_t *raw_times,
-                                            int num_times)
+                                            uint32_t num_times)
 {
-  int n = num_times;
+  uint32_t n = num_times;
   if (num_times > CBT_NCIRCUITS_TO_OBSERVE) {
     log_notice(LD_CIRC, "The number of circuit times that this Tor version "
                "uses to calculate build times is less than the number stored "

+ 1 - 1
src/or/routerparse.c

@@ -1086,7 +1086,7 @@ check_signature_token(const char *digest,
   signed_digest = tor_malloc(keysize);
   if (crypto_pk_public_checksig(pkey, signed_digest, keysize,
                                 tok->object_body, tok->object_size)
-      < DIGEST_LEN) {
+      < digest_len) {
     log_warn(LD_DIR, "Error reading %s: invalid signature.", doctype);
     tor_free(signed_digest);
     return -1;