コード例 #1
0
int			init_sov(globals_t *g)
{
	u_int	i;

	g->hosts = (hostinfo_t **)malloc(sizeof(hostinfo_t*) * g->option.host_count + 1);
	g->hosts[g->option.host_count] = 0;
	for (i = 0; i < g->option.host_count; i++)
	{
		if (g->option.verbose)
			printf("Resolving host '%s'..." EOL, g->option.hosts[i]);
		g->hosts[i] = get_hostinfo(g->option.hosts[i], g->option.port);
		if (!g->hosts[i])
			return 0;
	}

	if (g->option.inject_device_name)
	{
		if (g->option.verbose)
			printf("Preparing injection device '%s'..." EOL,
			g->option.inject_device_name);
		if (!add_pcap_output_device(&g->output_devices,
			g->option.inject_device_name,
	#ifdef WIN32
			g->option.inject_ethernet_source,
			g->option.inject_ethernet_destination,
	#endif
			g->option.port))
			return 0;
	}
	else
	{
	if (g->option.verbose)
		printf("Opening %s UDP socket on port %hu..." EOL,
		g->option.bind_udp_port ? "listening" : "raw",
		g->option.port);
	if (!add_socket_output_device(&g->output_devices,
		g->option.port, !g->option.bind_udp_port))
		return 0;
	}

	if (g->option.verbose)
		printf("Capture '%s' on '%s'" EOL, g->option.pcap_filter, g->option.capture_device_name);
	g->capture_device = init_pcapture(g->option.capture_device_name, g->option.pcap_filter);
	if (!g->capture_device)
		return 0;
	return 1;
}
コード例 #2
0
LibMuttng::LibMuttng () {
  if (!debugObj) {

    core_init();

    /* before we have all library-internal options, get other stuff */
    get_userinfo();
    get_hostinfo();

    debugObj = new Debug (Homedir, NULL, Umask);

    /* register all options for library globally */
    Option* d = new IntOption("debug_level","0",&DebugLevel,0,5);
    connectSignal<LibMuttng,Option*>(d->sigOptionChange,this,
                                     &LibMuttng::setDebugLevel);
    ConfigManager::regOption(d);
    ConfigManager::regOption(new StringOption("send_charset",
                                        "us-ascii:iso-8859-1:iso-8859-15:utf-8",
                                        &SendCharset));
    ConfigManager::regOption(new StringOption("charset",
                                        get_charset(),
                                        &Charset));

    ConfigManager::regOption(new SysOption("muttng_core_version","\""CORE_VERSION"\""));
    ConfigManager::regOption(new SysOption("muttng_libmuttng_version",
                                     "\""LIBMUTTNG_VERSION"\""));
    ConfigManager::regOption(new SysOption("muttng_hostname",Hostname));
    ConfigManager::regOption(new SysOption("muttng_system",OSName));
    ConfigManager::regOption(new SysOption("muttng_dnsname",Fqdn.str));

    /* register all options within library modules */
    LocalMailbox::reg();
#ifdef LIBMUTTNG_POP3
    POP3Mailbox::reg();
#endif
#ifdef LIBMUTTNG_NNTP
    NNTPMailbox::reg();
#endif
#ifdef LIBMUTTNG_IMAP
    ImapMailbox::reg();
#endif
    MboxMailbox::reg();
    MmdfMailbox::reg();
    MHMailbox::reg();
    MaildirMailbox::reg();

    SubjectHeader::reg();

    Connection::reg();
#ifdef LIBMUTTNG_SSL_OPENSSL
    SSLConnection::reg();
#endif
#ifdef LIBMUTTNG_SSL_GNUTLS
    TLSConnection::reg();
#endif

#ifdef LIBMUTTNG_CACHE_QDBM
    Cache::reg();
#endif

#ifdef CORE_LIBICONV
    ConfigManager::regFeature("iconv");
#endif
#ifdef CORE_INTL
    ConfigManager::regFeature("intl");
#endif
#ifdef CORE_PCRE
    ConfigManager::regFeature("pcre");
#endif
#ifdef CORE_LIBIDN
    ConfigManager::regFeature("idna");
#endif

    buffer_init(&AttachMarker);
    buffer_add_str(&AttachMarker,"\033]9;",3);
    buffer_add_snum(&AttachMarker,time(NULL),-1);
    buffer_add_ch(&AttachMarker,'\a');

    connectSignal(displayMessage,this,&LibMuttng::debugMessage);
    connectSignal(displayProgress,this,&LibMuttng::debugProgress);
    connectSignal(displayWarning,this,&LibMuttng::debugWarning);
    connectSignal(displayError,this,&LibMuttng::debugError);
  }

  this->debug = debugObj;
}