Esempio n. 1
0
int main(int argc, char *argv[])
{
    char ch;
    if(argc < 2){
	fprintf(stderr,"Usage: ./link_mining -f ../conf/link_mining.xml");
	return 1;
    }
    int is_daemon = 1;
    global_conf_st *g_conf = NULL;
    g_conf = (global_conf_st *)calloc(sizeof(global_conf_st),1);
    set_default_conf(g_conf);
    while( -1 != (ch = getopt(argc,argv,"f:h:?:D"))){
	switch(ch){
	case 'f':
	    init_global_config(g_conf,optarg);
	    break;
	case 'D':
	    is_daemon = 0;
	    break;
	case 'h':
	case '?':
	default:
	    fprintf(stderr,"Usage ./link_ming -f ../conf/link_mining.xml");
	}
    }
    g_thread_init(NULL);
    signal(SIGINT,signal_handler);
    signal(SIGTERM,signal_handler);
    signal(SIGHUP,signal_handler);
    signal(SIGPIPE,SIG_IGN);
    if(is_daemon && (daemon(0,0) == -1)){
	jlog(L_ERR,"daemon error");
    }
    thread_init(g_conf);
    MSG_PROCESSING = 0;
    reload_dump(g_conf);
    pthread_t receive_ppid;
    receive_ppid = init_receive_thread(g_conf);
    int i;
    while(!is_shutdown){
	sleep(1);
    }
    save_dump(g_conf);
    pthread_join(receive_ppid,NULL);
    save_dump(g_conf);
    int len = 0;
    for(i = 0;i<g_conf->max_thread;i++){
	len = g_async_queue_length(threads[i].msg_queue);
	jlog(L_DEBUG,"(%d)len: %d",i,len);
	pthread_cancel(threads[i].ppid);
    }
    pthread_mutex_lock(&init_lock);
    while(init_count >0)
	pthread_cond_wait(&init_cond,&init_lock);
    pthread_mutex_unlock(&init_lock);

    global_conf_free(g_conf);
    return 0;
}
Esempio n. 2
0
void global_kbd(EVENT_MSG *msg,void **usr)
  {
  char c;

  usr;
  if (msg->msg==E_KEYBOARD)
     {
     c=(*(int *)msg->data)>>8;
     if (c==';') save_dump();
     }
Esempio n. 3
0
//-----------------------------------------------------------------------------
static int emulate_client_send_channel_data(
	freerdp* freerdp, int channelId, uint8* data, int size
	)
{
	static int counter = 0;
	counter++;

	printf("Client send to server (%d packet):\n", counter);
	freerdp_hexdump(data, size);

	// add to global dumps list
	save_dump(data, size);

	return 0;
}