cl_log(LOG_ERR, "Did not know what to do with message (reference=%s)", reference);
cl_log(LOG_ERR, "Did not know what to do with message (crm_msg_reference=%s)", crm_msg_reference);
process_message(xmlNodePtr root_xml_node, gboolean originated_locally, const char *src_node_name){    FNIN();    xmlNodePtr action = validate_crm_message(root_xml_node, NULL, NULL, NULL);    if(root_xml_node == NULL)    {	cl_log(LOG_INFO, "Message was not valid... discarding message.");	FNOUT();    }        const char *reference = xmlGetProp(root_xml_node, XML_MSG_ATTR_REFERENCE);    // try passing the buck first    gboolean processing_complete = relay_message(root_xml_node, originated_locally, src_node_name);    // if that doesn't work, the message is *definitly* for us (where us == dc||crmd)    if(processing_complete == FALSE)    {	const char *sys_from   = xmlGetProp(root_xml_node, XML_MSG_ATTR_SYSFROM);	const char *sys_to  = xmlGetProp(root_xml_node, XML_MSG_ATTR_SYSTO);	const char *op = xmlGetProp(action, XML_CRM_ATTR_OP);  // assume most likely case	gboolean dc_mode = FALSE;	if(strcmp(CRM_SYSTEM_DC, sys_to) == 0)	{	    dc_mode = TRUE;	    op = xmlGetProp(action, XML_DC_ATTR_OP);	}	if(op == NULL)	{	    cl_log(LOG_ERR, "Invalid XML message.  No value %s operation for specified in (%s).", dc_mode?CRM_SYSTEM_DC:CRM_SYSTEM_CRMD, root_xml_node->name); 	    FNOUT();	}	processing_complete = crm_dc_process_message(root_xml_node, action, src_node_name,						     sys_from, sys_to, op, dc_mode);	    }    if(processing_complete != TRUE)	cl_log(LOG_ERR, "Did not know what to do with message (reference=%s)", reference);    else	CRM_DEBUG2("Processing complete for message (reference=%s)", reference);    FNOUT();}