]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Fix all the warnings from lintChanges.py
authorNick Mathewson <nickm@torproject.org>
Mon, 1 Feb 2016 21:46:29 +0000 (16:46 -0500)
committerNick Mathewson <nickm@torproject.org>
Mon, 1 Feb 2016 21:46:29 +0000 (16:46 -0500)
45 files changed:
changes/17573
changes/17926
changes/7419
changes/bug16651
changes/bug17026
changes/bug17027-reject-private-bind-port
changes/bug17194
changes/bug17419
changes/bug17549
changes/bug17562-DataDirectoryGroupReadable
changes/bug17562-allow-root-group-read
changes/bug17562-defer-unix-socket-creation
changes/bug17589
changes/bug17632-no-ipv4-no-localhost
changes/bug17638-ipv6-ersatz-socketpair
changes/bug17686
changes/bug17753
changes/bug17876
changes/bug17923
changes/bug18050
changes/bug18089
changes/bug4483-multiple-consensus-downloads
changes/bug6027
changes/check-crypto-errors
changes/cleanup_17587
changes/decouple_circuit_mark
changes/decouple_conn_attach
changes/feature15775-fallback
changes/feature16774
changes/feature17950
changes/feature17951
changes/feature17986
changes/feature8195
changes/feature8961-replaycache-sha256
changes/first-hop-no-private
changes/geoip-january2016
changes/getinfo-private-exitpolicy
changes/laplace-edge-cases
changes/log_heartbeat_test
changes/routerset-parse-IPv6-literals
changes/sha-unit-tests
changes/ticket15989
changes/ticket17158
changes/warn-when-time-goes-backwards
scripts/maint/lintChanges.py

index fe1fd1c0276c36ded3ed360d01d1c67e2e6869c5..95ef15a1cc5f4f63b6100d1a18327585b7062a14 100644 (file)
@@ -1,3 +1,4 @@
-  o Minor bigfixes (IPv6):
+  o Minor bugfixes (IPv6):
     - Update the limits in max_dl_per_request for IPv6 address
-      length. Closes ticket 17573.
+      length. Fixes bug 17573; bugfix on 0.2.1.5-alpha.
+
index 09bdbbeae70351be4465ef09a113487fb3bc6fe3..ee47db6101df54375364c078200e23e9aac79685 100644 (file)
@@ -1,3 +1,3 @@
-  o Removed code:
+  o Removed features:
     - Remove code for OpenSSL dynamic locks; OpenSSL doesn't use them.
       Closes ticket 17926.
index b792e8f6a0a2243475a8eacdd263cd3d6bba4888..1073d9585ec18887d6043b459a20e30ae55dac8a 100644 (file)
@@ -1,7 +1,6 @@
-  o Minor enhancement (security):
-    - Use explicit_bzero when present
-      from <logan@hackers.mu>.
-    - Use memset_s when present
-      from <selven@hackers.mu>
+  o Minor features (security):
+    - Use explicit_bzero or memset_s when present. Previously, we'd use
+      OpenSSL's OPENSSL_cleanse() function.
+      Closes ticket 7419; patches from <logan@hackers.mu> and <selven@hackers.mu>.
+
 
-    625538405474972d627b26d7a250ea36 (:
index 096daeaf70a0eb67e53978cf0c9ea8b75c4af64f..1b8bd033fab54a828566431f394f49ebb6c3f9ab 100644 (file)
@@ -1,5 +1,6 @@
   o Minor bugfixes (compilation):
 
     - Fix search for libevent libraries on OpenBSD (and similar systems
-      which install libevent 1 and libevent 2 in parallel). Resolves
-      ticket 16651.  Patch from "rubiate".
+      which install libevent 1 and libevent 2 in parallel). Fixes bug
+      16651; bugfix on 0.1.0.7-rc.
+      Patch from "rubiate".
index 8b1ce3c61b13097a30d5b4103d5b19f73c6c7dfa..30e75c22a2b22547650c45503ef298b789148a75 100644 (file)
@@ -1,4 +1,4 @@
-  o Minor features:
+  o Minor features (security):
     - Set unused entires in a smartlist to NULL. This helped catch a
       (harmless) bug, and shouldn't affect performance too much.
       Implements ticket 17026.
index abc1431c9a7bb5ce10b4e225a7a003efadf52020..7d8f023d2d4baf0b53b1e6f54e391cffaec80fea 100644 (file)
@@ -1,7 +1,5 @@
-  o Minor bug fixes (security, exit policies):
+  o Minor bugfixes (security, exit policies):
     - ExitPolicyRejectPrivate rejects more private addresses by default:
       * the relay's outbound bind addresses (if configured), and
       * the relay's configured port addresses (such as ORPort and DirPort).
-      Resolves ticket 17027. Patch by "teor".
-      Patch on 42b8fb5a1523 (11 Nov 2007), released in 0.2.0.11-alpha,
-      and on 0.2.7.3-rc.
+      Fixes bug 17027; bugfix on 0.2.0.11-alpha. Patch by "teor".
index 26549b307f5cc3fb789ede1eb3e3cbe7286271ef..d717489e0e5df5e6fd606e56261c877b8bc52d86 100644 (file)
@@ -1,7 +1,7 @@
-  o Minor feature:
+  o Minor feature (logging):
     - When logging to syslog, allow a tag to be added to the syslog
       identity ("Tor"), i.e. the string prepended to every log message.
       The tag can be configured by setting SyslogIdentityTag and defaults
       to none.  Setting it to "foo" will cause logs to be tagged as
-      "Tor-foo".
+      "Tor-foo". Closes ticket 17194.
 
index 8ad8edd37b47ece1bb0729bc38797e0502dd56df..00fde906bb0c29ac06297ea335b6479bcf6b04f9 100644 (file)
@@ -1,4 +1,3 @@
-
-  o Minor bugfixes:
+  o Minor bugfixes (safe logging):
     - When logging a malformed hostname received through socks4, scrub it
       if SafeLogging says we should. Fixes bug 17419; bugfix on 0.1.1.16-rc.
index 3650608141b484e2ed7db0e75ac3acbf56c130e6..f0bb6903e70b06188abfc35b55a0e2188fd3ceb2 100644 (file)
@@ -1,3 +1,3 @@
-  o Minor bugfixes (compilation):
-    - Repair compilation with the most recent (unreleased, alpha)
-      vesions of OpenSSL 1.1. Fixes bug 17549.
+  o Minor features (compilation):
+    - Repair some compilation issues with some recent (unreleased, alpha)
+      vesions of OpenSSL 1.1. Closes ticket 17549.
index 524e5ef28a5acbf8724dae35eb02fefd16a796af..2299148d38206b85aef41aaf38f7913719f40c8a 100644 (file)
@@ -1,3 +1,5 @@
-  o Minor bug fixes:
+  o Minor features (unix permissions):
     - Introduce DataDirectoryGroupReadable boolean. If set to 1, the
       DataDirectory will be made readable by the default GID.
+      Implements part of ticket 17562. Patch from Jamie Nguyen.
+
index 7a0903c662d3ffbbe7274869de1fdffab18e3e5a..29978fa07d586f2e0c1f4db06f3bdbd1809b401c 100644 (file)
@@ -1,6 +1,7 @@
-  o Minor bug fixes:
+  o Minor features (unix permissions):
     - If any directory created by Tor is marked as group readable, the
       filesystem group is allowed to be either the default GID or the root
       user. Allowing root to read the DataDirectory prevents the need for
       CAP_READ_SEARCH when using systemd's CapabilityBoundingSet, or
       dac_read_search when using SELinux.
+      Implements part of ticket 17562. Patch from Jamie Nguyen.
index f1896c044ae04a33e22edf1e1136da4f317a8082..3e21d358d5f5c9bea19dd51c3885a94f2932d4ef 100644 (file)
@@ -1,4 +1,5 @@
-  o Minor bug fixes:
+  o Minor features (unix permissions):
     - Defer creation of Unix sockets until after setuid. This avoids needing
       CAP_CHOWN and CAP_FOWNER when using systemd's CapabilityBoundingSet, or
       chown and fowner when using SELinux.
+      Implements part of ticket 17562. Patch from Jamie Nguyen.
index 91103276dfe5058231ca54f0bdd54dcc5fe5910a..4144af7c11b3130a0a9b330a8c293e7d2419a694 100644 (file)
@@ -1,4 +1,4 @@
-  o Code simplificiation and refactoring:
+  o Code simplification and refactoring:
     - When a direct directory request fails immediately on launch,
       instead of relaunching that request from inside the code that
       launches it, instead mark the connection for teardown. This
index 04622079d3b6f27c3ac26afb037102af9dd6831d..99a2e2c325560f1a05242e031c1cee3ef0bb9098 100644 (file)
@@ -1,7 +1,5 @@
   o Minor bugfix (unit tests):
     - Make unit tests pass on IPv6-only systems, and systems without
       localhost addresses (like some FreeBSD jails).
-      Fixes bug #17632; bugfix on unit tests in 0.2.7.3-rc.
-      c464a367728d was a partial fix for this issue in #17255;
-      it was released in unit tests in 0.2.7.4-rc.
+      Fixes bug 17632; bugfix on 0.2.7.3-rc.
       Patch by "teor".
index 6193065ff3ab52df0cb7d1363a02fb49da65ee19..90a74f419f96b9be82e625efe63236e8f090f246 100644 (file)
@@ -1,5 +1,5 @@
   o Minor bugfix (IPv6 compatibility, unit tests):
     - Make tor_ersatz_socketpair work on IPv6-only systems.
-      Fixes bug #17638; bugfix on a very early tor version,
-      earlier than 22dba27d8dd5 (23 Nov 2004) / svn:r2943.
+      Fixes bug 17638; bugfix on 0.0.2pre8.
       Patch by "teor".
+
index 8fa16c794bf4f34c5a3528d4c2bca0959f85efdd..78e6c8f92b25fc65c95792235732bdd2f4cb0808 100644 (file)
@@ -1,4 +1,4 @@
-  o Minor features:
+  o Minor features (security):
     - Adjust Tor's use of OpenSSL's RNG APIs so that they absolutely,
       positively are not allowed to fail. Previously we depended on
       internals about OpenSSL behavior. Closes ticket 17686.
index 7d227d856c6fafc064d8aee496ab4ed59010b2c1..918712f5c35bc0f4664dfec5e2f0bb78f015db29 100644 (file)
@@ -1,4 +1,4 @@
-  o Minor bugfixes (code correctness)
+  o Minor bugfixes (code correctness):
     - Assert that allocated memory held by the reputation code is freed
       according to its internal counters. Fixes bug 17753; bugfix on
       tor-0.1.1.1-alpha.
index 1bd3dd7c1b4f1596f2cb3da064737be24e12c240..7446336c24b956027e7ae0f615d155fe2843416a 100644 (file)
@@ -1,4 +1,4 @@
-  o Minor bugfixes:
+  o Minor bugfixes (client, correctness):
     - When closing an entry connection, generate a warning if we should
       have sent an end cell for it but we haven't.  Fixes bug 17876;
       bugfix on 0.2.3.2-alpha.
index ea3996071170697f71a76f6f91f1c8781fd37424..d8285202015929f5c3f1f186fef46e6ded79f7ce 100644 (file)
@@ -1,4 +1,4 @@
-  o Minor bugfixes:
+  o Minor bugfixes (portability):
     - Remove an #endif from configure.ac so that we correctly detect
       the presence of in6_addr.s6_addr32. Fixes bug 17923; bugfix on
       0.2.0.13-alpha.
index ce24a7738a35cba86fefd393195b29a88758e24b..4457ed262ecb68b6f0e08b0b728d6465ffa3dbac 100644 (file)
@@ -1,7 +1,7 @@
-  o Minor fixes (relays):
+  o Minor bugfixes (relays):
     - Check that both the ORPort and DirPort (if present) are reachable
       before publishing a relay descriptor. Otherwise, relays publish a
       descriptor with DirPort 0 when the DirPort reachability test takes
       longer than the ORPort reachability test.
-      Closes bug #18050. Reported by "starlight", patch by "teor".
-      Bugfix on 0.1.0.1-rc, commit a1f1fa6ab on 27 Feb 2005.
+      Fixes bug 18050; bugfix on 0.1.0.1-rc.
+      Reported by "starlight", patch by "teor".
index c1fb342f7764fc55fe686ab03a56bf785a9d62de..b1ebd45545270469aeb6ded060274d2928b7faba 100644 (file)
@@ -1,6 +1,5 @@
-  o Minor fixes (security):
+  o Minor bugfixes (security):
     - Make memwipe() do nothing when passed a NULL pointer
       or zero size. Check size argument to memwipe() for underflow.
-      Closes bug #18089. Reported by "gk", patch by "teor".
-      Bugfix on 0.2.3.25 and 0.2.4.6-alpha (#7352),
-      commit 49dd5ef3 on 7 Nov 2012.
+      Fixes bug 18089; bugfix on 0.2.3.25 and 0.2.4.6-alpha.
+      Reported by "gk", patch by "teor".
index 23d22a89c4b796fb983ec9c25217c3f7c90bf4b8..7e8bcc24ccd1e6319c8ba24424303fc0feed8b34 100644 (file)
@@ -2,8 +2,8 @@
     - Schedule multiple in-progress consensus downloads during client
       bootstrap. Use the first one that starts downloading, close the
       rest. This reduces failures when authorities are slow or down.
-      With #15775, it reduces failures due to fallback churn.
-      Implements #4483 (reduce failures when authorities are down).
+      Together with the code for feature 15775, it reduces failures due to fallback churn.
+      Implements ticket 4483 (reduce failures when authorities are down).
       Patch by "teor".
-      Implements IPv4 portions of proposal #210 by "mikeperry" and
+      Implements IPv4 portions of proposal 210 by "mikeperry" and
       "teor".
index 5233876a495dcce308ca0f9dee9382451c5c39cf..65be5443e84c212695a3c6acb3bd97a26a0d1688 100644 (file)
@@ -1,4 +1,4 @@
-  o Minor features:
+  o Minor features (IPv6 support):
     - Allow users to configure directory authorities and fallback
       directory servers with IPv6 addresses and ORPorts.  Resolves
       ticket 6027.
index e41862ca1371d17cda7a32c1e2711111f5ed7c10..b3da7a198402c38a0f96e1ab5bfeb6571990ce83 100644 (file)
@@ -1,5 +1,4 @@
   o Minor bugfix (crypto):
     - Check the return value of HMAC and assert on failure.
-      Fixes bug #17658; bugfix on commit in fdbb9cdf746b (11 Oct 2011)
-      in tor version 0.2.3.5-alpha-dev.
+      Fixes bug 17658; bugfix on 0.2.3.6-alpha.
       Patch by "teor".
index 05e00fd9e5df6b11a47d107df05babe6c47e042a..a2cecdd7b4dd31abe113f477a67e0a325a7f91e6 100644 (file)
@@ -1,3 +1,3 @@
-  o Code simplifications and refactorings:
+  o Code simplification and refactoring:
     - Clean up a little duplicated code in crypto_expand_key_material_TAP.
       Closes ticket 17587; patch from "pfrankw".
index 4b7ed778a2bd9eb453d18cb9d20194f0ee84666d..a852f48133a63dc03416b2b6c64376ea47afebb0 100644 (file)
@@ -3,4 +3,4 @@
        a new function run periodically before connections are freed.
        This change removes more than half of the functions currently
        in the "blob".
-       Closes ticket #17218.
+       Closes ticket 17218.
index 6167b4e932f1159395275a054665d339fa738bbd..8619c4d32570e24c2c78a44b53ebc762ede82e9e 100644 (file)
@@ -1,4 +1,4 @@
-  o Code simplification and refactorings:
+  o Code simplification and refactoring:
     - Decouple the list of streams needing to be attached to circuits
       from the overall connection list. This change makes it possible to
       attach streams quickly while both simplifying Tor's callgraph and
index 567d01cc72b89fa7e48f8267bc794b219e30ab51..3a0ff231a269db0646b65d041ffa2cab047bd2d2 100644 (file)
@@ -11,9 +11,9 @@
        and port for a while now (120 days), and have been running, a guard,
        and a v2 directory mirror for most of that time."
       We exclude BadExits and tor versions that aren't recommended.
-      We include an IPv6 address for each FallbackDir (#8374).
-      (Tor might not use IPv6 fallbacks until #6027 is merged.)
+      We include an IPv6 address for each FallbackDir (see ticket 8374).
+      (Tor might not use IPv6 fallbacks until ticket the code for ticket6027 is merged.)
       The unit test ensures that we successfully load all included
       default fallback directories.
-      Closes ticket #15775. Patch by "teor".
+      Closes ticket 15775. Patch by "teor".
       OnionOO script by "weasel", "teor", "gsathya", and "karsten".
index 87ba488cc6faf50bae6136c9a094267146be9952..dc9c3293469d54699ae1a22d0968ee774d05b8b5 100644 (file)
@@ -1,3 +1,3 @@
-  o Minor enhancement:
-    - Adds FallbackDir entries to 'GETINFO config/defaults'. Closes ticket
-      #16774 and 17817. Patch by George Tankersley.
+  o Minor features (controller):
+    - Adds FallbackDir entries to 'GETINFO config/defaults'. Closes tickets
+      16774 and 17817. Patch by George Tankersley.
index 5ea83ecd8e29fd1ff019135c8c8601d2ce567306..bc255a791ea877fa26a378e74d1cdff88806fec0 100644 (file)
@@ -1,4 +1,4 @@
-  o Minor features:
+  o Minor features (relay, address discovery):
     - Add a family argument to get_interface_addresses_raw() and
       subfunctions to make network interface address interogation more
       efficient. Now Tor can specifically ask for IPv4, IPv6 or both
index 42ec32a0dd00105b7e69cc5f94c9f104707fc4a8..67a6a8fd6607f038cae85e5a6caef91ac50706f4 100644 (file)
@@ -1,4 +1,4 @@
-  o Minor features:
+  o Minor features (relay, address discovery):
     - When get_interface_address6_list(.,AF_UNSPEC,.) is called and fails
       to enumerate interface addresses using the platform-specific API,
       have it rely on the UDP socket fallback technique to try and find
index ef82bd350335eab11e7243071fda19c5d1d1fa5f..8039701a3a60975d1988a198d9c3206ac6a580f3 100644 (file)
@@ -1,3 +1,3 @@
-  o Minor features:
+  o Minor features (security):
     - Use SecureMemoryWipe() function to securely clean memory on
       Windows. Implements feature 17986.
index cb81f2e1d044819c3341480c91764879cd0f4368..5c9a36791c9a8e685b6bbfbc2cb48406f759dc35 100644 (file)
@@ -1,4 +1,4 @@
-  o Major features:
+  o Major features (relay):
     - When Tor is started as root on Linux and told to switch user ID, it
       can now retain the capabilitity to bind to low ports.  By default,
       Tor will do this only when it's switching user ID and some low
index c5b5c857dbc2cc31418be6c86d83e61f50b347da..c761aa8dd2430d0cab0b358e656077309453a02a 100644 (file)
@@ -1,4 +1,4 @@
-  o Minor enhancement (replaycache):
+  o Minor features (replaycache):
     - The replay cache now uses SHA256 instead of SHA1.
-      Implements feature #8961.
+      Implements feature 8961.
       Patch by "teor", issue reported by "rransom".
index e8d0684061e14356158ab8c467402c09be1cdcee..4cef638f8fd6b2de567b3e6f9a8598b1493436fb 100644 (file)
@@ -2,7 +2,5 @@
     - Refuse connection requests to private OR addresses unless
       ExtendAllowPrivateAddresses is set. Previously, tor would
       connect, then refuse to send any cells to a private address.
-      Fixes bugs 17674 and 8976; bugfix on b7c172c9ec76 (28 Aug 2012)
-      Original bug 6710, released in 0.2.3.21-rc and an 0.2.2 maint
-      release.
+      Fixes bugs 17674 and 8976; bugfix on 0.2.3.21-rc.
       Patch by "teor".
index fe2d5c7dc738f3459cc10fd1f185ee87e0820b05..0d9466539a35f3b59d0fe577fbfacda18402befe 100644 (file)
@@ -1,4 +1,4 @@
-  o Minor features:
+  o Minor features (geoip):
     - Update geoip and geoip6 to the January 5 2016 Maxmind GeoLite2
       Country database.
 
index e8345167e94911dc0810f5c5f19ca4ca9dc1c63e..29b3d76b67f02de35800bf5c6630d4940e5eb89d 100644 (file)
@@ -3,4 +3,4 @@
       for the reject rules added by ExitPolicyRejectPrivate. This makes
       it easier for stem to display exit policies.
     - Add unit tests for getinfo exit-policy/*.
-      Completes ticket #17183. Patch by "teor".
+      Finishes implementation for ticket 17183. Patch by "teor".
index 6c8c77b040e8f85b0623a09fc55252a0d5d2bf86..b83346e7a086df54647a714b0a2d286e65ce8285 100644 (file)
@@ -1,8 +1,9 @@
-  o Code simplifications and unit tests:
+  o Minor bugfixes (statistics code):
     - Handle edge cases in the laplace functions: avoid division by zero,
       avoid taking the log of zero, and silence clang type conversion
       warnings using round and trunc.  Add unit tests for edge cases with
-      maximal values.
+      maximal values. Fixes part of bug 13192; bugfix on 0.2.6.2-alpha.
     - Consistently check for overflow in round_*_to_next_multiple_of
       functions, and add unit tests with additional and maximal values.
+      Fixes part of bug 13192; bugfix on 0.2.2.1-alpha.
 
index 7db97ed03c2fc63bf1e6739c3d133bc7ad5571ad..7bcc53f9ccd6b7b3509b067d6d43f47476deeb5e 100644 (file)
@@ -3,4 +3,4 @@
       with non-integer offsets. Instead of comparing the end of the
       time string against a constant, compare it to the output of
       format_local_iso_time when given the correct input.
-      Fixes bug 18039.
+      Fixes bug 18039; bugfix on 0.2.5.4-alpha.
index c80c82c22907085474c61533574f10f009a9fb61..52026f3ed4bf127e68a07faf19385d4df5b2160e 100644 (file)
@@ -1,5 +1,3 @@
-  o Minor bug fixes (routersets, IPv6):
+  o Minor bugfixes (routersets, IPv6):
     - routerset_parse now accepts IPv6 literal addresses.
-      Fix for ticket 17060. Patch by "teor".
-      Patch on 3ce6e2fba290 (24 Jul 2008), and related commits,
-      released in 0.2.1.3-alpha.
+      Fixes bug 17060; bugfix on 0.2.1.3-alpha. Patch by "teor".
index 457578d337c689f0da4fea86e3639ec58f72f06a..437bff3e0a8a3885f4651b5ed903deb873faec6c 100644 (file)
@@ -1,5 +1,3 @@
   o Minor bugfixes (unit tests):
     - Check the full results of SHA256 and SHA512 digests in the
-      unit tests.
-      Bugfix on a tor version before the refactoring in git commit
-      cea12251995d (23 Sep 2009). Patch by "teor".
+      unit tests. Bugfix on 0.2.2.4-alpha. Patch by "teor".
index e90d0cf8a40a04ed8a5fbb6aefce330fd32bff22..a0a904b63c4d57ce4089e9abb1598c4d3315efef 100644 (file)
@@ -1,9 +1,9 @@
-  o Minor enhancement (accounting):
+  o Minor features (accounting):
     - Added two modes to AccountingRule in torrc for
       limiting just input or just output.
       Closes ticket 15989; patch from "unixninja92".
 
-  o Minor bugfixe (accounting):
+  o Minor bugfixes (accounting):
     - The max bandwidth when using AccountRule sum
       is now correctly logged. Fixes bug 18024; bugfix on 0.2.6.1-alpha.
       Patch from "unixninja92".
index f65053db99bca2134fe71b5de329f58244d78501..6332248345791783ec5270293cd752a49a8b5992 100644 (file)
@@ -1,7 +1,4 @@
-  o Minor fixes (fallback directories):
-    - Fix a display issue in updateFallbackDirs.py output.
-      Patch by "teor". Not in any released version of tor.
-
   o Minor features (fallback directories):
-    - Add default fallback directories for the 0.2.8 alpha releases.
+    - Add a set of default fallback directories for the 0.2.8 alpha releases.
+      Closes ticket 17158.
       Patch by "teor".
index d7e584d9ff02dec0668723c3ae4d8330f4f748f0..8a9485b0c0fe8da1e5f7f9093295bf8076f8e8a6 100644 (file)
@@ -2,4 +2,4 @@
     - Warn when the system clock is set back in time (when the
       state file was last written in the future). Tor doesn't know
       that consensuses have expired if the clock is in the past.
-      Patch by "teor". Implements ticket #17188.
+      Patch by "teor". Implements ticket 17188.
index c2fc01d2bf68968beb921404fd71c11eb510eae8..a73110dab1074614c90226c562a49d8adba1d790 100755 (executable)
@@ -7,6 +7,20 @@ import re
 import os
 
 
+KNOWN_GROUPS=set([
+    "Minor bugfix",
+    "Minor bugfixes",
+    "Major bugfix",
+    "Major bugfixes",
+    "Minor feature",
+    "Minor features",
+    "Major feature",
+    "Major features",
+    "Testing",
+    "Documentation",
+    "Code simplification and refactoring",
+    "Removed features"])
+
 def lintfile(fname):
     have_warned = []
 
@@ -31,8 +45,16 @@ def lintfile(fname):
     lines = contents.split("\n")
     isBug = ("bug" in lines[0] or "fix" in lines[0])
 
-    if not re.match(r'^[ ]{2}o (.*)', contents):
+    m = re.match(r'^[ ]{2}o ([^\(:]*)([^:]*):', contents)
+    if not m:
         warn("header not in format expected")
+    elif m.group(1).strip() not in KNOWN_GROUPS:
+        warn("Weird header: %r"%m.group(1))
+    elif ( ("bugfix" in m.group(1) or "feature" in m.group(1)) and
+           ("Removed" not in m.group(1)) and
+           '(' not in m.group(2)):
+        warn("Missing subcategory on %s"%m.group(1))
+
 
     contents = " ".join(contents.split())