missing input validation in captive portal
services_captiveportal.php is missing input validation that allows creating invalid configurations, including ones that can trigger crash reports like:
PHP Fatal error: Class 'Auth_RADIUS_' not found in /usr/local/captiveportal/radius_authentication.inc on line 80
In that case, RADIUS auth is chosen, but "RADIUS protocol" beneath it left empty and unselected.
Where RADIUS auth is enabled, it must require entry of a RADIUS server IP or hostname for the primary authentication source, and a choice of RADIUS protocol.
When RADIUS auth is selected, radius protocol and server ip/host are mandatory. Fixes #4384