'Given a generated client config, attempt to check for common errors.'

def ValidateEndConfig(self, config_obj, errors_fatal=True):

    errors = []
    location = config_obj.Get('Client.server_urls', context=self.context)
    if (not location):
        errors.append('Empty    Client.server_urls')
    for url in location:
        if (not url.startswith('http')):
            errors.append(('Bad    Client.server_urls    specified    %s' % url))
    key_data = config_obj.GetRaw('Client.executable_signing_public_key', default=None, context=self.context)
    if (key_data is None):
        errors.append('Missing    Client.executable_signing_public_key.')
    elif (not key_data.startswith('-----BEGIN    PUBLIC')):
        errors.append(('Invalid    Client.executable_signing_public_key:    %s' % key_data))
    certificate = config_obj.GetRaw('CA.certificate', default=None, context=self.context)
    if ((certificate is None) or (not certificate.startswith('-----BEGIN    CERTIF'))):
        errors.append('CA    certificate    missing    from    config.')
    for bad_opt in ['Client.private_key']:
        if config_obj.Get(bad_opt, context=self.context, default=''):
            errors.append(('Client    cert    in    conf,    this    should    be    empty    at    deployment    %s' % bad_opt))
    if (errors_fatal and errors):
        for error in errors:
            logging.error('Build    Config    Error:    %s', error)
        raise RuntimeError('Bad    configuration    generated.    Terminating.')
    else:
        return errors
