A couple of people asked me about interaction between various kinds of blocks and block options, and indeed, in some cases the behaviour was undefined or accidental. I've now implemented the following rules:
* The "anon only" and "prevent account creation" options will be silently ignored on username blocks. * The precedence of blocks in cases of conflict, from highest to lowest, is: * Username block * Single IP block * Range block * Autoblock
This holds regardless of the anon-only option. This means that anon-only range blocks or IP blocks can be used to mitigate the effects of autoblocks on shared IP addresses, because an anon-only block will allow logged in users to edit regardless of the presence of a matching autoblock. This has a potential to be counterintuitive -- unblocking someone's IP can in fact cause them to be blocked. But I thought it was better than the other solutions.
-- Tim Starling