diff --git a/INSTALL b/INSTALL
index ff131ae0b3209dbd0cba5f273a0d6cee8f14dcff..04e613b0f6c1b6c3b2d7f7e86446f3393b1c0be4 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,6 +1,7 @@
 
-Most users should simply follow the directions at
-http://www.torproject.org/docs/tor-doc-unix
+Most users who realize that INSTALL files still exist should simply
+follow the directions at
+https://www.torproject.org/docs/tor-doc-unix
 
 If you got the source from Subversion, run "./autogen.sh", which will
 run the various auto* programs and then run ./configure for you. From
diff --git a/LICENSE b/LICENSE
index cdd40e920dc5efa7fb6447c501612871b2392f4b..6c50b10a0c738e1bcc7d5ab6a020f8409def7935 100644
--- a/LICENSE
+++ b/LICENSE
@@ -3,7 +3,7 @@
 
         It also lists the licenses for other components used by Tor.
 
-       For more information about Tor, see http://www.torproject.org/.
+       For more information about Tor, see https://www.torproject.org/.
 
              If you got this file as a part of a larger bundle,
         there may be other license terms that you should be aware of.
diff --git a/contrib/tor-ctrl.sh b/contrib/tor-ctrl.sh
index 0bee9d8990a9986641f1ab77581c24e745ef6c06..e28c45d6131bcaa54802df936b3d7900c6f28b83 100644
--- a/contrib/tor-ctrl.sh
+++ b/contrib/tor-ctrl.sh
@@ -11,7 +11,7 @@
 #
 # tor-ctrl will return 0 if it was successful and 1 if not, 2 will be returned
 # if something (telnet, xxd) is missing.  4 will be returned if it executed
-# serveral commands from a file.
+# several commands from a file.
 #
 # For setting the bandwidth for specific times of the day, I suggest calling
 # tor-ctrl via cron, e.g.:
@@ -49,10 +49,11 @@
 # Also have a look at my page:
 # http://ge.mine.nu/
 #
-# 2007-10-03: First version, only changing bandwidth possible
+# 2007-10-03: First version, only changing bandwidth possible.
 # 2007-10-04: Renaming to "tor-ctrl", added a lot of functions, it's now a
-#             general-purpose tool added control_auth_cookie/controlpassword
-#             auth, getopts, program checks, readinf from file etc.
+#             general-purpose tool.
+#             Added control_auth_cookie/controlpassword auth, getopts,
+#             program checks, reading from file etc.
 
 VERSION=v1
 TORCTLIP=127.0.0.1
diff --git a/doc/spec/proposals/105-handshake-revision.txt b/doc/spec/proposals/105-handshake-revision.txt
index c4fb50a40f2269b4657384bc59d1d25e8ffe1a30..709c01663daef4f8cef8295947e4c5c1049badca 100644
--- a/doc/spec/proposals/105-handshake-revision.txt
+++ b/doc/spec/proposals/105-handshake-revision.txt
@@ -121,9 +121,9 @@ Proposal:
    VERSIONS cell before sending any other cells.  (But see below.)
 
          VersionsLen          [1 byte]
-         Versions             [NumVersions bytes]
+         Versions             [VersionsLen bytes]
 
-   "Versions" is a sequence of NumVersions bytes.  Each value between 1 and
+   "Versions" is a sequence of VersionsLen bytes.  Each value between 1 and
    127 inclusive represents a single version; current implementations MUST
    ignore other bytes.  Parties should list all of the versions which they
    are able and willing to support.  Parties can only communicate if they
diff --git a/doc/spec/proposals/122-unnamed-flag.txt b/doc/spec/proposals/122-unnamed-flag.txt
index 6d3d8c639c1d61174aa6efea7b0f425b7645abe5..8b169b6535bab6476d19194a0f8d70d62d256ffb 100644
--- a/doc/spec/proposals/122-unnamed-flag.txt
+++ b/doc/spec/proposals/122-unnamed-flag.txt
@@ -107,19 +107,19 @@ Status: Open
 
 4. Changes to the v2 directory
 
-  Previously v2 authorities that had a binding for a server named Bob did
+  Previously, v2 authorities that had a binding for a server named Bob did
   not list any other server named Bob.  This will change too:
 
   Version 2 authorities will start listing all routers they know about,
   whether they conflict with a name-binding or not:  Servers for which
   this authority has a binding will continue to be marked Named,
-  additionally all other servers of that will be listed without the
+  additionally all other servers of that nickname will be listed without the
   Named flag (i.e. there will be no Unnamed flag in v2 status documents).
 
   Clients already should handle having a named Bob alongside unnamed
   Bobs correctly, and having the unnamed Bobs in the status file even
-  without the named server is no worse than the curren status quo where
-  clients learn about those severs from other authorities.
+  without the named server is no worse than the current status quo where
+  clients learn about those servers from other authorities.
 
   The benefit of this is that an authority's opinion on a server like
   Guard, Stable, Fast etc. can now be learned by clients even if that
diff --git a/src/or/control.c b/src/or/control.c
index 249406de88bb8932e0c0fa851065790a4c672419..c176e47eabe5d82c0035b8ed7c5b01bb556f0542 100644
--- a/src/or/control.c
+++ b/src/or/control.c
@@ -1251,7 +1251,7 @@ getinfo_helper_misc(control_connection_t *conn, const char *question,
 /** Awful hack: return a newly allocated string based on a routerinfo and
  * (possibly) an extrainfo, sticking the read-history and write-history from
  * <b>ei</b> into the resulting string.  The thing you get back won't
- * necessarily have a valid signature.
+ * have a valid signature.
  *
  * New code should never use this; it's for backward compatibiliy.
  *
diff --git a/src/or/networkstatus.c b/src/or/networkstatus.c
index 41f62119df4a2128393613a2e0032d7e2bce96be..8135ed5e178316418106198f03d1b0df171905bb 100644
--- a/src/or/networkstatus.c
+++ b/src/or/networkstatus.c
@@ -862,7 +862,7 @@ networkstatus_get_live_consensus(time_t now)
 }
 
 /** Copy all the ancillary information (like router download status and so on)
- * from <b>old_c</b> to <b>new_c</b> */
+ * from <b>old_c</b> to <b>new_c</b>. */
 static void
 networkstatus_copy_old_consensus_info(networkstatus_vote_t *new_c,
                                       const networkstatus_vote_t *old_c)
@@ -1138,7 +1138,7 @@ download_status_map_update_from_v2_networkstatus(void)
 }
 
 /** Update our view of the list of named servers from the most recently
- * retrieved networkstatus consensus */
+ * retrieved networkstatus consensus. */
 static void
 routerstatus_list_update_named_server_map(void)
 {
@@ -1157,9 +1157,9 @@ routerstatus_list_update_named_server_map(void)
     });
 }
 
-/** Given a list <b>routers</b> of routerinfo_t *, update each status fields
+/** Given a list <b>routers</b> of routerinfo_t *, update each status field
  * according to our current consensus networkstatus.  May re-order
- * <b>router</b>. */
+ * <b>routers</b>. */
 void
 routers_update_status_from_consensus_networkstatus(smartlist_t *routers,
                                                    int reset_failures)