Instead of testing for __GNUC__, use CHECK_SCANF, like CHECK_PRINTF.

This lets us have the possibility of fine-tuning the check in the tor_sscanf test cases at a later date.
Disable middle relay queue overfill detection code due to possible guard discovery attack
Merge branch 'bug9072-023' into bug9072-024
Merge branch 'bug9072-024' into bug9072-025
forward-port 0.2.4.13-alpha changelog
Limit hidden service descriptors to at most 10 guard nodes.

Fixes bug 9002; bugfix on 0.1.1.11-alpha (which introduced guard
nodes), or on 0.0.6pre1 (which introduced hidden services).
Fix bug 9082: avoid leak when freeing destroy cell queues

In my #7912 fix, there wasn't any code to remove entries from the
(channel, circuit ID)->circuit map corresponding to queued but un-sent
DESTROYs.

Spotted by skruffy. Fixes bug 9082; bug not in any released Tor.
Merge remote-tracking branch 'public/bug9082'
Implement a real OOM-killer for too-long circuit queues.

This implements "algorithm 1" from my discussion of bug #9072: on OOM,
find the circuits with the longest queues, and kill them.  It's also a
fix for #9063 -- without the side-effects of bug #9072.

The memory bounds aren't perfect here, and you need to be sure to
allow some slack for the rest of Tor's usage.

This isn't a perfect fix; the rest of the solutions I describe on
codeable.
Merge branch 'bug9063_redux_023_squashed' into maint-0.2.3
Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4

Conflicts:
	src/or/config.c
	src/or/relay.c
Tweak bug9063_redux patch: {n_p}_chan_cells, not {n,p}_conn_cells
Merge remote-tracking branch 'origin/maint-0.2.4'
Fix a couple of resource leaks in test_config.c

Spotted by Coverity Scan. Not in any released Tor.
Attempt to un-confuse coverity about (false) double-free in bench_onion_ntor.
Fix some problems with the bug9002 fix.

Fixes bug 9090; bug not in any released Tor.
Check more return values in the unit tests
Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
Merge remote-tracking branch 'origin/maint-0.2.4'
Forward-port the 0.2.4.14-alpha changelog