@zillerium, IPFS is a protocol, like HTTP. The protocol itself is content-agnostic. Asking “Would IPFS allow wikileaks to post material?” or “if Google tried to post material, would IPFS allow that?” is like asking whether HTTP would allow those things. It’s not about the protocol allowing these things. It’s about individual nodes on the network allowing or disallowing.
Instead, @martha is asking the right question: How can I avoid hosting content I disapprove of on my own node. You can also extend that to ask how communities, or whole networks of peers, can choose which content they will/won’t host on their nodes.
I think @martha is also getting at the distinction between simply being a node vs. participating in some effort to pin copies of the good content. As @Mateon1pointed out, your node will only hold content that you pulled onto it, so the real question might be “how can I help pin and serve the good content?” The answer here is for communities to create pin sets that list the content they care about. Anyone who wants to support that community’s content can participate in pinning parts of their pinset(s).
There is also the issue of running gateways. If you are exposing your node as a public IPFS-HTTP gateway, anyone can request any content through that gateway by default. This means they can use your gateway as a repeater for any content they want. The simplest fix to prevent this is for nodes to keep a blacklist (and eventually whitelists) of hashes that they will/won’t allow on their gateways, but solutions will get much more nuanced than that over time.
In the long run, I also think that communities and networks of nodes will also develop network-wide blacklists, where the participants in that network will identify the content that they mutually agree not to host.