Added some more checks on the protocol settings

1) The values communicated to the different protocols are now
checked against either the protocol specific settings or the
settings that are adapter by the user. Also all user set settings
are checked against what is allowed per protocol.
2) Fix a bug in which the controller socket buffer sizes were wrong
and so the config wasn't communicated properly.