set_xml_property_copy( options, CRM_OP_JOINACK, XML_BOOLEAN_TRUE);
ha_msg_add(acknak, CRM_OP_JOINACK, XML_BOOLEAN_TRUE);
finalize_join_for(gpointer key, gpointer value, gpointer user_data){	xmlNodePtr tmp1 = NULL;	xmlNodePtr tmp2 = NULL;	xmlNodePtr options     = NULL;	const char *join_to = NULL;	const char *join_state = NULL;	if(key == NULL || value == NULL) {		return;	}	options     = create_xml_node(NULL, XML_TAG_OPTIONS);	join_to    = (const char *)key;	join_state = (const char *)value;	/* make sure the node exists in the config section */	create_node_entry(join_to, join_to, CRMD_JOINSTATE_MEMBER);	/* perhaps we shouldnt special case this... */	if(safe_str_eq(join_to, fsa_our_uname)) {		/* mark ourselves confirmed */		g_hash_table_insert(confirmed_nodes, crm_strdup(fsa_our_uname),				    crm_strdup(CRMD_JOINSTATE_MEMBER));		/* make sure our cluster state is set correctly */		tmp1 = create_node_state(			join_to, join_to, ACTIVESTATUS,			NULL, ONLINESTATUS, join_state, join_state);		if(tmp1 != NULL) {			tmp2 = create_cib_fragment(tmp1, NULL);			update_local_cib(tmp2, TRUE);			free_xml(tmp2);			free_xml(tmp1);		} else {			crm_err("Could not create our node state");			/* TODO: raise an error input */		}		/* update our LRM data */		tmp1 = do_lrm_query(TRUE);		if(tmp1 != NULL) {			update_local_cib(tmp1, TRUE);			free_xml(tmp1);		} else {			crm_err("Could not determin current LRM state");			/* TODO: raise an error input */		}		num_join_invites++;		crm_info("Completed local cluster membership");		return;	}		/* create the ack/nack */	if(safe_str_eq(join_state, CRMD_JOINSTATE_MEMBER)) {		crm_info("ACK'ing join request from %s, state %s",			 join_to, join_state);		num_join_invites++;		set_xml_property_copy(			options, CRM_OP_JOINACK, XML_BOOLEAN_TRUE);	} else {		crm_warn("NACK'ing join request from %s, state %s",			 join_to, join_state);				set_xml_property_copy(			options, CRM_OP_JOINACK, XML_BOOLEAN_FALSE);	}	/* send the ack/nack to the node */	send_request(options, NULL, CRM_OP_JOINACK,		     join_to, CRM_SYSTEM_CRMD, NULL);	}