Beispiel #1
0
void
sim_xml_config_set_config_reputation (SimXmlConfig  *xmlconfig,
				     SimConfig     *config,
				     xmlNodePtr     node)
{
  gchar  *value;

  g_return_if_fail (SIM_IS_XML_CONFIG (xmlconfig));
  g_return_if_fail (SIM_IS_CONFIG (config));
  g_return_if_fail (node);

  if (strcmp ((gchar *) node->name, OBJECT_REPUTATION))
    {
      g_message ("Invalid config reputation node %s", node->name);
      return;
    }

  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_FILENAME)))
    {
      config->reputation.filename = g_strdup (value);
      xmlFree(value);      
    }
  else
    {
      config->reputation.filename = NULL;
    }
}
Beispiel #2
0
void
sim_xml_config_set_config_datasources (SimXmlConfig  *xmlconfig,
				       SimConfig     *config,
				       xmlNodePtr     node)
{
  xmlNodePtr  children;

  g_return_if_fail (SIM_IS_XML_CONFIG (xmlconfig));
  g_return_if_fail (SIM_IS_CONFIG (config));
  g_return_if_fail (node);

  if (strcmp ((gchar *) node->name, OBJECT_DATASOURCES))
    {
      g_message ("Invalid config datasources node %s", node->name);
      return;
    }

  children = node->xmlChildrenNode;
  while (children) {
    if (!strcmp ((gchar *) children->name, OBJECT_DATASOURCE))
      {
	sim_xml_config_set_config_datasource (xmlconfig, config, children);
      }

    children = children->next;
  }

}
Beispiel #3
0
void
sim_xml_config_set_config_directive (SimXmlConfig  *xmlconfig,
				     SimConfig     *config,
				     xmlNodePtr     node)
{
  gchar  *value;

  g_return_if_fail (SIM_IS_XML_CONFIG (xmlconfig));
  g_return_if_fail (SIM_IS_CONFIG (config));
  g_return_if_fail (node);

  if (strcmp ((gchar *) node->name, OBJECT_DIRECTIVE))
    {
      g_message ("Invalid config directive node %s", node->name);
      return;
    }

  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_FILENAME)))
    {
      config->directive.filename = g_strdup (value);
      xmlFree(value);      
    }
  else
    {
      config->directive.filename = g_strdup (OS_SIM_GLOBAL_DIRECTIVE_FILE);
    }
}
Beispiel #4
0
void
sim_xml_config_set_config_framework (SimXmlConfig  *xmlconfig,
				  SimConfig     *config,
				  xmlNodePtr     node)
{
  gchar  *value;
  
  g_return_if_fail (SIM_IS_XML_CONFIG (xmlconfig));
  g_return_if_fail (SIM_IS_CONFIG (config));
  g_return_if_fail (node);

  if (strcmp ((gchar *) node->name, OBJECT_FRAMEWORK))
    {
      g_message ("Invalid sensor log node %s", node->name);
      return;
    }

  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_NAME)))
    {
      config->framework.name = g_strdup (value);
      xmlFree(value);      
    }
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_IP)))
    {
      config->framework.host = g_strdup (value);
      xmlFree(value);      
    }
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_PORT)))
    {
      config->framework.port = strtol (value, (char **) NULL, 10);
      xmlFree(value);      
    }
}
Beispiel #5
0
void
sim_xml_config_set_config_log (SimXmlConfig  *xmlconfig,
												       SimConfig     *config,
												       xmlNodePtr     node)
{
  gchar  *value;

  g_return_if_fail (xmlconfig);
  g_return_if_fail (SIM_IS_XML_CONFIG (xmlconfig));
  g_return_if_fail (config);
  g_return_if_fail (SIM_IS_CONFIG (config));
  g_return_if_fail (node);

  if (strcmp ((gchar *) node->name, OBJECT_LOG))
    {
      g_message ("Invalid config log node %s", node->name);
      return;
    }

  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_FILENAME)))
    {
      config->log.filename = g_strdup (value);
      xmlFree(value);      
    }
}
Beispiel #6
0
void
sim_xml_config_set_config_smtp (SimXmlConfig  *xmlconfig,
				SimConfig     *config,
				xmlNodePtr     node)
{
  gchar  *value;

  g_return_if_fail (SIM_IS_XML_CONFIG (xmlconfig));
  g_return_if_fail (SIM_IS_CONFIG (config));
  g_return_if_fail (node);

  if (strcmp ((gchar *) node->name, OBJECT_SMTP))
    {
      g_message ("Invalid config smtp node %s", node->name);
      return;
    }

  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_HOST)))
    {
      config->smtp.host = g_strdup (value);
      xmlFree(value);      
    }
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_PORT)))
    {
      config->smtp.port = strtol (value, (char **) NULL, 10);
      xmlFree(value);      
    }
}
Beispiel #7
0
void
sim_xml_config_set_config_rservers (SimXmlConfig  *xmlconfig,
																		SimConfig     *config,
																		xmlNodePtr     node)
{
  xmlNodePtr  children;
  
  g_return_if_fail (xmlconfig);
  g_return_if_fail (SIM_IS_XML_CONFIG (xmlconfig));
  g_return_if_fail (config);
  g_return_if_fail (SIM_IS_CONFIG (config));
  g_return_if_fail (node);

  if (strcmp ((gchar *) node->name, OBJECT_RSERVERS))
  {
    g_message ("Invalid config rservers node %s", node->name);
    return;
  }

  children = node->xmlChildrenNode;
  while (children) 
	{
    if (!strcmp ((gchar *) children->name, OBJECT_RSERVER))
    {
			sim_xml_config_set_config_rserver (xmlconfig, config, children);
    }

	  children = children->next;
  }

}
Beispiel #8
0
void
sim_xml_config_set_config_scheduler (SimXmlConfig  *xmlconfig,
				     SimConfig     *config,
				     xmlNodePtr     node)
{
  gchar  *value;

  g_return_if_fail (xmlconfig);
  g_return_if_fail (SIM_IS_XML_CONFIG (xmlconfig));
  g_return_if_fail (config);
  g_return_if_fail (SIM_IS_CONFIG (config));
  g_return_if_fail (node);

  if (strcmp ((gchar *) node->name, OBJECT_SCHEDULER))
    {
      g_message ("Invalid config scheduler node %s", node->name);
      return;
    }

  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_INTERVAL)))
    {
      config->scheduler.interval = strtol (value, (char **) NULL, 10);
      xmlFree(value);      
    }
}
Beispiel #9
0
void
sim_xml_config_set_config_datasource (SimXmlConfig  *xmlconfig,
																      SimConfig     *config,
																      xmlNodePtr     node)
{
  SimConfigDS  *ds;
  gchar        *value;

  g_return_if_fail (xmlconfig);
  g_return_if_fail (SIM_IS_XML_CONFIG (xmlconfig));
  g_return_if_fail (config);
  g_return_if_fail (SIM_IS_CONFIG (config));
  g_return_if_fail (node);

  if (strcmp ((gchar *) node->name, OBJECT_DATASOURCE))
    {
      g_message ("Invalid config datasource node %s", node->name);
      return;
    }

  ds = sim_config_ds_new ();
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_NAME)))
    {
      ds->name = g_strdup (value);
      xmlFree(value);      
    }
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_PROVIDER)))
    {
      ds->provider = g_strdup (value);
      xmlFree(value);      
    }
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_DSN)))
    {
      ds->dsn = g_strdup (value);
      xmlFree(value);      
    }
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_LOCAL_DB)))
    {
			if (!g_ascii_strncasecmp (value, "true", 4))
				ds->local_DB = TRUE;
			else
			if (!g_ascii_strncasecmp (value, "false", 4))
				ds->local_DB = FALSE;
			else
			{
				g_message ("Error: Please put a valid value (true/false) in the Local_DB Parameter");
				xmlFree(value);      
				return;
			}
    }
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_RSERVER_NAME)))
    {
      ds->rserver_name = g_strdup (value);
      xmlFree(value);      
    }



  config->datasources = g_list_append (config->datasources, ds);
}
Beispiel #10
0
void
sim_xml_config_set_config_notifies (SimXmlConfig  *xmlconfig,
				    SimConfig     *config,
				    xmlNodePtr     node)
{
  gchar  *value;
  xmlNodePtr  children;
  
  g_return_if_fail (SIM_IS_XML_CONFIG (xmlconfig));
  g_return_if_fail (SIM_IS_CONFIG (config));
  g_return_if_fail (node);

  if (strcmp ((gchar *) node->name, OBJECT_NOTIFIES))
    {
      g_message ("Invalid config notifies node %s", node->name);
      return;
    }

  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_PROGRAM)))
    {
      config->notify_prog = g_strdup (value);
      xmlFree(value);      
    }

  children = node->xmlChildrenNode;
  while (children) {
    if (!strcmp ((gchar *) children->name, OBJECT_NOTIFY))
      {
	sim_xml_config_set_config_notify (xmlconfig, config, children);
      }

    children = children->next;
  }
}
Beispiel #11
0
void
sim_xml_config_set_config_notify (SimXmlConfig  *xmlconfig,
				  SimConfig     *config,
				  xmlNodePtr     node)
{
  SimConfigNotify  *notify;
  gchar            *emails;
  gchar            *levels;
  gchar           **values;
  gint              i;

  g_return_if_fail (xmlconfig);
  g_return_if_fail (SIM_IS_XML_CONFIG (xmlconfig));
  g_return_if_fail (config);
  g_return_if_fail (SIM_IS_CONFIG (config));
  g_return_if_fail (node);

  if (strcmp ((gchar *) node->name, OBJECT_NOTIFY))
    {
      g_message ("Invalid config notify node %s", node->name);
      return;
    }

  emails = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_EMAILS);
  levels = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_ALARM_RISKS);

  if (!emails || !levels)
    {
       if (emails) xmlFree(emails);
       if (levels) xmlFree(levels);
      return;
    }

  notify = sim_config_notify_new ();
  notify->emails = g_strdup (emails);

  values = g_strsplit (levels, SIM_DELIMITER_LIST, 0);
  for (i = 0; values[i] != NULL; i++)
    {
      SimAlarmRiskType risk = sim_get_alarm_risk_from_char (values[i]);
      if (risk != SIM_ALARM_RISK_TYPE_NONE)
	notify->alarm_risks =  g_list_append (notify->alarm_risks, GINT_TO_POINTER (risk));
    }
  g_strfreev (values);
  xmlFree (emails);
  xmlFree (levels);

  config->notifies = g_list_append (config->notifies, notify);
}
Beispiel #12
0
void
sim_xml_config_set_config_idm (SimXmlConfig  *xmlconfig,
											         SimConfig     *config,
														   xmlNodePtr     node)
{
  gchar *value;

  g_return_if_fail (SIM_IS_XML_CONFIG (xmlconfig));
  g_return_if_fail (SIM_IS_CONFIG (config));
  g_return_if_fail (node);

  if (strcmp ((gchar *) node->name, OBJECT_IDM))
  {
    g_message ("Invalid config idm node %s", node->name);
    return;
  }

  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_MSSP)))
  {
    if (!g_ascii_strncasecmp (value, "true", 4))
      config->idm.mssp = TRUE;
    else if (!g_ascii_strncasecmp (value, "false", 4))
      config->idm.mssp = FALSE;
    else
      g_message ("Error: Please put a valid value (true/false) in the IDM MSSP parameter");

    xmlFree (value);
  }
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_IP)))
  {
    config->idm.ip = g_strdup (value);
    xmlFree (value);
  }
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_PORT)))
  {
    config->idm.port = strtol (value, (char **) NULL, 10);
    xmlFree (value);
  }
}
Beispiel #13
0
void
sim_xml_config_set_config_max_event_tmp (SimConfig     *config)
{
	GdaDataModel  *dm;
  GdaValue      *value;
	gchar					*query;

  g_return_if_fail (config);
  g_return_if_fail (SIM_IS_CONFIG (config));


	query = g_strdup_printf ("SELECT value FROM config WHERE conf='max_event_tmp'");	
  dm = sim_database_execute_single_command (ossim.ossimdb, query);

	if (dm)
	{
	  value = (GdaValue *) gda_data_model_get_value_at (dm, 0, 0);
    if (gda_data_model_get_n_rows(dm) !=0) //to avoid (null)-Critical: gda_value_is_null: assertion `value != NULL' failed
    {                                       
      if (!gda_value_is_null (value))
      {
        config->max_event_tmp = gda_value_stringify (value);
      }
      else
        g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "sim_xml_config_set_config_max_event_tmp value null");
    }
    else
      config->max_event_tmp = 0;
	}
	else
	{
		g_message ("Error: Config DATA MODEL ERROR");
    config->max_event_tmp = 0;		
	}

	g_free (query);
}
Beispiel #14
0
void
sim_xml_config_set_config_datasource (SimXmlConfig  *xmlconfig,
																      SimConfig     *config,
																      xmlNodePtr     node)
{
  SimConfigDS  *ds;
  gchar        *value;

  g_return_if_fail (SIM_IS_XML_CONFIG (xmlconfig));
  g_return_if_fail (SIM_IS_CONFIG (config));
  g_return_if_fail (node);

  if (strcmp ((gchar *) node->name, OBJECT_DATASOURCE))
    {
      g_message ("Invalid config datasource node %s", node->name);
      return;
    }

  ds = sim_config_ds_new ();
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_NAME)))
    {
      ds->name = g_strdup (value);
      xmlFree(value);      
    }
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_PROVIDER)))
    {
      ds->provider = g_strdup (value);
      xmlFree(value);      
    }
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_DSN)))
    {
      GString *dsn_new = g_string_new ("");
      gchar **key_value, **split;
      gchar **i;

      /* Adapt the data source name from GDA 2 to GDA 4 */
      key_value = g_strsplit (value, ";", 0);
      for (i = key_value; *i; i++)
      {
        split = g_strsplit (*i, "=", 2);
        if (!strcmp(*split, "USER"))
          g_string_append_printf (dsn_new, "USERNAME=%s;", *(split+1));
        else if (!strcmp(*split, "DATABASE"))
          g_string_append_printf (dsn_new, "DB_NAME=%s;", *(split+1));
        else
          g_string_append_printf (dsn_new, "%s=%s;", *split, *(split+1));

        g_strfreev(split);
      }
      g_strfreev(key_value);

      sim_config_ds_set_dsn_string (ds, g_string_free (dsn_new, FALSE));

      xmlFree(value);
    }
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_LOCAL_DB)))
    {
			if (!g_ascii_strncasecmp (value, "true", 4))
				ds->local_DB = TRUE;
			else
			if (!g_ascii_strncasecmp (value, "false", 4))
				ds->local_DB = FALSE;
			else
			{
				g_message ("Error: Please put a valid value (true/false) in the Local_DB Parameter");
				xmlFree(value);      
				return;
			}
    }
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_RSERVER_NAME)))
    {
      ds->rserver_name = g_strdup (value);
      xmlFree(value);      
    }



  config->datasources = g_list_append (config->datasources, ds);
}
Beispiel #15
0
/*
 *	Load the server's placed "UP" in the architecture, the master/s server/s
 *
 */
void
sim_xml_config_set_config_rserver (SimXmlConfig  *xmlconfig,
																  SimConfig     *config,
																  xmlNodePtr     node)
{
  SimConfigRServer  *rserver;
  gchar             *value;

  g_return_if_fail (xmlconfig);
  g_return_if_fail (SIM_IS_XML_CONFIG (xmlconfig));
  g_return_if_fail (config);
  g_return_if_fail (SIM_IS_CONFIG (config));
  g_return_if_fail (node);

  if (strcmp ((gchar *) node->name, OBJECT_RSERVER))
  {
    g_message ("Invalid config rserver node %s", node->name);
    return;
  }

  rserver = sim_config_rserver_new ();

  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_NAME)))
  {
    rserver->name = g_strdup (value);
    xmlFree(value);
  }
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_IP)))
  {
    if (value)
		{	
			rserver->ia = gnet_inetaddr_new_nonblock (value, 0);
			if (rserver->ia)
			{
				rserver->ip = g_strdup (value);
				xmlFree(value);			
			}
			else
			{
				g_message ("Error: May be that you introduced a bad remote server IP in the server's config.xml?");
				sim_config_rserver_free(rserver);
				xmlFree(value);			
				return;
			}
		}
		else
		{
			g_message ("Error: May be that you didn't introduced a remote server IP in the server's config.xml?");
      sim_config_rserver_free(rserver);
      return;								
		}
  }
	
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_PORT)))
  {
		if (sim_string_is_number (value, 0))
		{
	    rserver->port = strtol (value, (char **) NULL, 10);
		  xmlFree(value);
		}
		else
		{
			g_message ("Error: May be that you introduced a bad remote IP port in the server's config.xml?");
			sim_config_rserver_free(rserver);
		  xmlFree(value);
			return;											 
		}
  }

	if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_HA_ROLE)))
  {
    if (!g_ascii_strcasecmp (value, "active"))
		{
			rserver->is_HA_server = TRUE;
			rserver->HA_role = HA_ROLE_ACTIVE;
		}
		else				
		if (!g_ascii_strcasecmp (value, "passive"))
		{
			rserver->is_HA_server = TRUE;
			rserver->HA_role = HA_ROLE_PASSIVE;
		}
    else	
		{
			rserver->is_HA_server = FALSE;
			rserver->HA_role = HA_ROLE_NONE;
		}
    xmlFree(value);
  }

	if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_PRIMARY)))
  {
    if (!g_ascii_strcasecmp (value, "true"))
		{
			rserver->primary = TRUE;
		}
		else				
		if (!g_ascii_strcasecmp (value, "false"))
		{
			rserver->primary = FALSE;
		}
		else
		{
      g_message ("Error: May be that you introduced a bad primary in the server's config.xml?: please write TRUE or FALSE");
    	xmlFree(value);
      sim_config_rserver_free(rserver);
			return;
		}
    xmlFree(value);
  }


  if (!rserver->port)
	{
		rserver->port = 40001;
	}

	gnet_inetaddr_set_port (rserver->ia, rserver->port);	
	
  config->rservers = g_list_append (config->rservers, rserver);
}
Beispiel #16
0
void
sim_xml_config_set_config_forensic_storage (SimXmlConfig  *xmlconfig,
											                      SimConfig     *config,
																			      xmlNodePtr     node)
{
  //g_message("LOADING FORENSIC STORAGE CONFIGS");
  gchar  *value;

  // Check validity of all needed objects.
  g_return_if_fail (SIM_IS_XML_CONFIG (xmlconfig));
  g_return_if_fail (SIM_IS_CONFIG (config));
  g_return_if_fail (node);

  //Ensure that the current XML object is the correct for this function
  if (strcmp ((gchar *) node->name, OBJECT_FORENSIC_STORAGE))
  {
    g_message ("Invalid sensor log node %s", node->name);
    return;
  }

  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_FORENSIC_STORAGE_PATH)))
  {
    config->forensic_storage.path = g_strdup (value);
    xmlFree(value);
  }
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_FORENSIC_STORAGE_SIG_TYPE)))
  {
    config->forensic_storage.sig_type = g_strdup (value);
    xmlFree(value);
  }
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_FORENSIC_STORAGE_SIG_CIPHER)))
  {
    config->forensic_storage.sig_cipher = g_strdup (value);
    xmlFree(value);
  }
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_FORENSIC_STORAGE_SIG_BIT)))
  {
    config->forensic_storage.sig_bit = strtol (value, (char **) NULL, 10);
    xmlFree(value);
  }
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_FORENSIC_STORAGE_ENC_TYPE)))
  {
    config->forensic_storage.enc_type = g_strdup (value);
    xmlFree(value);
  }
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_FORENSIC_STORAGE_ENC_CIPHER)))
  {
    config->forensic_storage.enc_cipher = g_strdup (value);
    xmlFree(value);
  }
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_FORENSIC_STORAGE_ENC_BIT)))
  {
    config->forensic_storage.enc_bit = strtol (value, (char **) NULL, 10);
    xmlFree(value);
  }
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_FORENSIC_STORAGE_KEY_SOURCE)))
  {
    config->forensic_storage.key_source = g_strdup (value);
    xmlFree(value);
  }
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_FORENSIC_STORAGE_SIG_PRV_KEY_PATH)))
  {
    config->forensic_storage.sig_prv_key_path = g_strdup (value);
    xmlFree(value);
  }
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_FORENSIC_STORAGE_SIG_PASS)))
  {
    config->forensic_storage.sig_pass = g_strdup (value);
    xmlFree(value);
  }
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_FORENSIC_STORAGE_SIG_PUB_KEY_PATH)))
  {
    config->forensic_storage.sig_pub_key_path = g_strdup (value);
    xmlFree(value);
  }
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_FORENSIC_STORAGE_ENC_PUB_KEY_PATH)))
  {
    config->forensic_storage.enc_pub_key_path = g_strdup (value);
    xmlFree(value);
  }
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_FORENSIC_STORAGE_ENC_PASS)))
  {
    config->forensic_storage.enc_pass = g_strdup (value);
    xmlFree(value);
  }
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_FORENSIC_STORAGE_ENC_PRV_KEY_PATH)))
  {
    config->forensic_storage.enc_prv_key_path = g_strdup (value);
    xmlFree(value);
  }
  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_FORENSIC_STORAGE_CERT_PATH)))
  {
    config->forensic_storage.enc_cert_path = g_strdup (value);
    xmlFree(value);
  }
}
Beispiel #17
0
void
sim_xml_config_set_config_server (SimXmlConfig  *xmlconfig,
				  SimConfig     *config,
				  xmlNodePtr     node)
{
  gchar  *value;

  g_return_if_fail (SIM_IS_XML_CONFIG (xmlconfig));
  g_return_if_fail (SIM_IS_CONFIG (config));
  g_return_if_fail (node);

  if (strcmp ((gchar *) node->name, OBJECT_SERVER))
    {
      g_message ("Invalid config server node %s", node->name);
      return;
    }

  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_PORT)))
    {
      config->server.port = strtol (value, (char **) NULL, 10);
      xmlFree(value);
    }

  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_NAME)))
    {
      config->server.name = g_strdup (value);
      xmlFree(value);
    }

  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_IP)))
    {
      config->server.ip = g_strdup (value);
      xmlFree(value);
    }

	if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_HA_IP)))
    {
      config->server.HA_ip = g_strdup (value);
      xmlFree(value);
    }

	if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_HA_PORT)))
    {
	    if (sim_string_is_number (value, 0))
  	  {
   			config->server.HA_port = atoi (value);
      	xmlFree(value);
		  }
	    else
  	  {
    	  g_message ("Error: May be that you introduced a bad remote HA port in the server's config.xml?");
      	xmlFree(value);
	      return;
  	  }
    }



/*  if ((value = (gchar *) xmlGetProp (node, (xmlChar *) PROPERTY_INTERFACE)))
    {
      config->server.interface = g_strdup (value);
      xmlFree(value);
    }
	*/
}