"Hello message was not valid, discarding. Message: %s", (char*)hello_message->msg_body);
"Hello message was not valid (field %s not found): %s", "uid", (char*)hello_message->msg_body); FNRET(FALSE); } else if (local_client_name == NULL || strlen(local_client_name) == 0){ cl_log(LOG_ERR, "Hello message was not valid (field %s not found): %s", "client name", (char*)hello_message->msg_body); FNRET(FALSE); } else if(local_major_version == NULL || strlen(local_major_version) == 0){ cl_log(LOG_ERR, "Hello message was not valid (field %s not found): %s", "major version", (char*)hello_message->msg_body); FNRET(FALSE); } else if (local_minor_version == NULL || strlen(local_minor_version) == 0){ cl_log(LOG_ERR, "Hello message was not valid (field %s not found): %s", "minor version", (char*)hello_message->msg_body);
process_hello_message(IPC_Message *hello_message,		      char **uid,		      char **client_name,		      char **major_version,		      char **minor_version){	FNIN();	*uid = NULL;	*client_name = NULL;	*major_version = NULL;	*minor_version = NULL;	if (hello_message == NULL || hello_message->msg_body == NULL) {		FNRET(FALSE);	}	xmlDocPtr hello_doc = xmlParseMemory(		hello_message->msg_body,		strlen(hello_message->msg_body));	if (hello_doc == NULL) {		cl_log(LOG_ERR,		       "Expected a Hello message, Got: %s",		       (char*)hello_message->msg_body);		FNRET(FALSE);	}    	xmlNodePtr hello = xmlDocGetRootElement(hello_doc);	if (hello == NULL) {		FNRET(FALSE);	} else if (strcmp("hello", hello->name) != 0) {		FNRET(FALSE);	}	char *local_uid = xmlGetProp(hello, "client_uuid");	char *local_client_name = xmlGetProp(hello, "client_name");	char *local_major_version = xmlGetProp(hello, "major_version");	char *local_minor_version = xmlGetProp(hello, "minor_version");    	if (local_uid == NULL || strlen(local_uid) == 0	    || local_client_name == NULL	    || strlen(local_client_name) == 0	    || local_major_version == NULL	    || strlen(local_major_version) == 0	    || local_minor_version == NULL	    || strlen(local_minor_version) == 0){		cl_log(LOG_ERR,		       "Hello message was not valid, discarding. Message: %s",		       (char*)hello_message->msg_body);		FNRET(FALSE);	}    	*uid           = ha_strdup(local_uid);	*client_name   = ha_strdup(local_client_name);	*major_version = ha_strdup(local_major_version);	*minor_version = ha_strdup(local_minor_version);	FNRET(TRUE);}