Example #1
0
static void
client_connected_cb (GServer *server,
                     GConn *conn,
                     gpointer user_data)
{
  OdccmDeviceManager *self = ODCCM_DEVICE_MANAGER (user_data);
  OdccmDeviceManagerPrivate *priv = ODCCM_DEVICE_MANAGER_GET_PRIVATE (self);
  struct in_addr addr;
  OdccmDevice *dev = NULL;
  GSList *cur;

  if (conn == NULL)
    {
      g_warning ("%s: an error occurred", G_STRFUNC);
      return;
    }

  gnet_inetaddr_get_bytes (gnet_tcp_socket_get_remote_inetaddr (conn->socket),
                           (gchar *) &(addr.s_addr));

  for (cur = priv->devices; cur != NULL && dev == NULL; cur = cur->next)
    {
      guint32 cur_addr;

      g_object_get (cur->data, "ip-address", &cur_addr, NULL);

      if (cur_addr == addr.s_addr)
        {
          dev = cur->data;
        }
    }

  if (dev != NULL)
    {
      _odccm_device_client_connected (dev, conn);
    }
  else
    {
#ifdef ENABLE_LEGACY_SUPPORT
      GInetAddr *local_inet_addr = gnet_tcp_socket_get_local_inetaddr (conn->socket);
      if (gnet_inetaddr_get_port(local_inet_addr) == 5679) {
	dev = g_object_new (ODCCM_TYPE_DEVICE_LEGACY, "connection", conn, NULL);
	g_signal_connect(dev, "device-legacy-noping", G_CALLBACK(legacy_device_noping_cb), self);
      }
      else
	dev = g_object_new (ODCCM_TYPE_DEVICE, "connection", conn, NULL);
      gnet_inetaddr_unref(local_inet_addr);
#else
      dev = g_object_new (ODCCM_TYPE_DEVICE, "connection", conn, NULL);
#endif

      priv->devices = g_slist_append (priv->devices, dev);

      g_signal_connect (dev, "notify::object-path",
                        (GCallback) device_obj_path_changed_cb,
                        self);

      gnet_conn_unref (conn);
    }
}
Example #2
0
static void 
sim_host_level_impl_finalize (GObject  *gobject)
{
  SimHostLevel *host_level = SIM_HOST_LEVEL (gobject);

  if (host_level->_priv->ia)
    gnet_inetaddr_unref (host_level->_priv->ia);

  g_free (host_level->_priv);

  G_OBJECT_CLASS (parent_class)->finalize (gobject);
}
Example #3
0
static void
sim_host_impl_finalize (GObject  *gobject)
{
  SimHost *host = SIM_HOST (gobject);

  if (host->_priv->ia)
    gnet_inetaddr_unref (host->_priv->ia);
  if (host->_priv->name)
    g_free (host->_priv->name);

  g_free (host->_priv);

  G_OBJECT_CLASS (parent_class)->finalize (gobject);
}
Example #4
0
/* initialize GNet testing */
static void
gnet_check_init (int *argc, char **argv[])
{
  gnet_init ();

  /* GST_DEBUG_CATEGORY_INIT (check_debug, "check", 0, "check regression tests"); */

  if (g_getenv ("GNET_TEST_DEBUG"))
    _gnet_check_debug = TRUE;

  if (g_getenv ("SOCKS_SERVER")) {
    GInetAddr *ia;

    ia = gnet_socks_get_server ();
    if (ia) {
      gchar *name;

      name = gnet_inetaddr_get_canonical_name (ia);
      g_print ("\nUsing SOCKS %u proxy: %s\n", gnet_socks_get_version(), name);
      g_free (name);
      gnet_inetaddr_unref (ia);
      gnet_socks_set_enabled (TRUE);
    }
  }

  g_log_set_handler (NULL, G_LOG_LEVEL_MESSAGE, gnet_check_log_message_func,
      NULL);
  g_log_set_handler (NULL, G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING,
      gnet_check_log_critical_func, NULL);
  g_log_set_handler ("GNet", G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING,
      gnet_check_log_critical_func, NULL);
  g_log_set_handler ("GLib", G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING,
      gnet_check_log_critical_func, NULL);
  g_log_set_handler ("GLib-GObject", G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING,
      gnet_check_log_critical_func, NULL);

  check_cond = g_cond_new ();
  check_mutex = g_mutex_new ();
}
Example #5
0
static void
sim_event_impl_finalize(GObject *gobject)
{
  int i;
  g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG,"sim_event_impl_finalize");
  SimEvent *event = (SimEvent *) gobject;

  g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG,
      "sim_event_impl_finalize: Id %u, Sid %u, Cid %u", event->id,
      event->snort_sid, event->snort_cid);

  if (event->sensor)
  {
    g_free(event->sensor);
    event->sensor = NULL;
  }
  if (event->device)
  {
    g_free(event->device);
    event->device = NULL;
  }
  if (event->interface)
  {
    g_free(event->interface);
    event->interface = NULL;
  }
  if (event->src_ia)
    gnet_inetaddr_unref(event->src_ia);
  if (event->dst_ia)
    gnet_inetaddr_unref(event->dst_ia);
  if (event->data)
  {
    g_free(event->data);
    event->data = NULL;
  }
  if (event->time_str)
  {
    g_free(event->time_str);
    event->time_str = NULL;
  }
  if (event->role)
    g_free(event->role);
  if (event->log)
  {
    g_free(event->log);
    event->log = NULL;
  }
  if (event->sql_text_fields)
  {
    g_free(event->sql_text_fields);
    event->sql_text_fields = NULL;
  }
  if (event->value)
  {
    g_free(event->value);
    event->value = NULL;
  }

  g_free (event->rep_act_src);
  g_free (event->rep_act_dst);

  for (i = 0; i < N_TEXT_FIELDS; i++)
  {
    if(event->textfields[i])
    {
      g_free(event->textfields[i]);
      event->textfields[i] = NULL;
    }
  }
  if (event->buffer)
  {
    g_free(event->buffer);
    event->buffer = NULL;
  }

  if (event->plugin_sid_name)
  {
    g_free(event->plugin_sid_name);
    event->plugin_sid_name =  NULL;
  }
  if (event->packet)
  {
      g_object_unref(event->packet);
  }

  if (event->backlog_list)
    {
      GList *node;
      for (node = g_list_first(event->backlog_list); node != NULL; node
          = g_list_next(node))
        {
          g_object_unref(G_OBJECT(node->data));
        }
      g_list_free(event->backlog_list);
    }
  G_OBJECT_CLASS(parent_class)->finalize(gobject);
}