void tcp_copy_release_resources() { int i; output_stat(); tc_time_remove_timer(); tc_log_info(LOG_NOTICE, 0, "remove timer over"); destroy_for_sessions(); tc_event_loop_finish(&event_loop); tc_log_info(LOG_NOTICE, 0, "tc_event_loop_finish over"); address_release(); tc_log_end(); #ifdef TCPCOPY_MYSQL_ADVANCED release_mysql_user_pwd_info(); #endif if (clt_settings.transfer.mappings != NULL) { for (i = 0; i < clt_settings.transfer.num; i++) { free(clt_settings.transfer.mappings[i]); } free(clt_settings.transfer.mappings); clt_settings.transfer.mappings = NULL; } }
void tcp_copy_release_resources(void) { #if (TC_PCAP) int i; #endif tc_log_info(LOG_WARN, 0, "sig %d received", tc_over); tc_output_stat(); tc_dest_sess_table(); check_resource_usage(NULL); #if (TC_PLUGIN) if (clt_settings.plugin && clt_settings.plugin->exit_module) { clt_settings.plugin->exit_module(&clt_settings); } #endif tc_event_loop_finish(&event_loop); tc_log_info(LOG_NOTICE, 0, "tc_event_loop_finish over"); #if (TC_DIGEST) tc_destroy_sha1(); tc_destroy_digests(); #endif #if (TC_PCAP) for (i = 0; i < clt_settings.devices.device_num; i++) { if (clt_settings.devices.device[i].pcap != NULL) { pcap_close(clt_settings.devices.device[i].pcap); clt_settings.devices.device[i].pcap = NULL; } } #endif #if (TC_OFFLINE) if (clt_settings.pcap != NULL) { pcap_close(clt_settings.pcap); clt_settings.pcap = NULL; } #endif if (tc_raw_socket_out > 0) { tc_socket_close(tc_raw_socket_out); tc_raw_socket_out = TC_INVALID_SOCK; } #if (TC_PCAP_SND) tc_pcap_over(); #endif tc_destroy_pool(clt_settings.pool); tc_log_end(); }
static void release_resources() { tc_log_info(LOG_NOTICE, 0, "release_resources begin"); interception_over(); tc_event_loop_finish(&s_event_loop); tc_log_info(LOG_NOTICE, 0, "release_resources end except log file"); tc_log_end(); }
static void server_release_resources() { tc_log_info(LOG_WARN, 0, "sig %d received", tc_over); tc_log_info(LOG_NOTICE, 0, "release_resources begin"); interception_over(); tc_event_loop_finish(&s_event_loop); tc_log_info(LOG_NOTICE, 0, "release_resources end except log file"); tc_log_end(); }
void tcp_copy_release_resources() { int i; output_stat(); tc_time_remove_timer(); tc_log_info(LOG_NOTICE, 0, "remove timer over"); destroy_for_sessions(); tc_event_loop_finish(&event_loop); tc_log_info(LOG_NOTICE, 0, "tc_event_loop_finish over"); #if (!TCPCOPY_DR) address_release(); #endif tc_log_end(); #ifdef TCPCOPY_MYSQL_ADVANCED release_mysql_user_pwd_info(); #endif #if (TCPCOPY_PCAP) for (i = 0; i < clt_settings.devices.device_num; i++) { if (clt_settings.devices.device[i].pcap != NULL) { pcap_close(clt_settings.devices.device[i].pcap); clt_settings.devices.device[i].pcap = NULL; } } #endif #if (TCPCOPY_OFFLINE) pcap_close(clt_settings.pcap); #endif if (tc_raw_socket_out > 0) { close(tc_raw_socket_out); tc_raw_socket_out = -1; } if (clt_settings.transfer.mappings != NULL) { for (i = 0; i < clt_settings.transfer.num; i++) { free(clt_settings.transfer.mappings[i]); } free(clt_settings.transfer.mappings); clt_settings.transfer.mappings = NULL; } }
static void server_release_resources() { tc_log_info(LOG_WARN, 0, "sig %d received", tc_over); tc_log_info(LOG_NOTICE, 0, "release_resources begin"); release_tunnel_resources(); server_over(); finally_release_obsolete_events(); tc_event_loop_finish(&s_evt_loop); tc_destroy_pool(srv_settings.pool); tc_destroy_pool(srv_settings.cpool); tc_log_info(LOG_NOTICE, 0, "release_resources end except log file"); tc_log_end(); }
void gryphon_release_resources() { int i; tc_log_info(LOG_WARN, 0, "sig %d received", tc_over); output_stat(); tc_time_remove_timer(); tc_log_info(LOG_NOTICE, 0, "remove timer over"); release_user_resources(); tc_event_loop_finish(&event_loop); tc_log_info(LOG_NOTICE, 0, "tc_event_loop_finish over"); tc_log_end(); if (tc_raw_socket_out > 0) { close(tc_raw_socket_out); tc_raw_socket_out = -1; } #if (GRYPHON_PCAP_SEND) tc_pcap_over(); #endif if (clt_settings.transfer.mappings != NULL) { for (i = 0; i < clt_settings.transfer.num; i++) { free(clt_settings.transfer.mappings[i]); } free(clt_settings.transfer.mappings); clt_settings.transfer.mappings = NULL; } if (clt_settings.mem_pool != NULL) { free(clt_settings.mem_pool); clt_settings.mem_pool = NULL; } }
void tcp_copy_exit() { int i; tc_event_loop_finish(&event_loop); destroy_for_sessions(); if (-1 != raw_sock) { close(raw_sock); raw_sock = -1; } send_close(); address_close_sock(); #if (TCPCOPY_OFFLINE) if (pcap != NULL) { pcap_close(pcap); } #endif tc_log_end(); #ifdef TCPCOPY_MYSQL_ADVANCED release_mysql_user_pwd_info(); #endif if (clt_settings.transfer.mappings != NULL) { for (i = 0; i < clt_settings.transfer.num; i++) { free(clt_settings.transfer.mappings[i]); } free(clt_settings.transfer.mappings); clt_settings.transfer.mappings = NULL; } exit(EXIT_SUCCESS); }
void tcp_copy_release_resources() { int i; tc_log_info(LOG_WARN, 0, "sig %d received", tc_over); output_stat(); tc_time_remove_timer(); tc_log_info(LOG_NOTICE, 0, "remove timer over"); destroy_for_sessions(); tc_event_loop_finish(&event_loop); tc_log_info(LOG_NOTICE, 0, "tc_event_loop_finish over"); #if (TCPCOPY_DIGEST) tc_destroy_sha1(); tc_destroy_digests(); #endif #if (!TCPCOPY_DR) address_release(); #endif tc_log_end(); #ifdef TCPCOPY_MYSQL_ADVANCED release_mysql_user_pwd_info(); #endif #if (TCPCOPY_PCAP) for (i = 0; i < clt_settings.devices.device_num; i++) { if (clt_settings.devices.device[i].pcap != NULL) { pcap_close(clt_settings.devices.device[i].pcap); clt_settings.devices.device[i].pcap = NULL; } } #endif #if (TCPCOPY_OFFLINE) if (clt_settings.pcap != NULL) { pcap_close(clt_settings.pcap); clt_settings.pcap = NULL; } #endif if (tc_raw_socket_out > 0) { tc_socket_close(tc_raw_socket_out); tc_raw_socket_out = TC_INVALID_SOCKET; } #if (TCPCOPY_PCAP_SEND) tc_pcap_over(); #endif if (clt_settings.transfer.mappings != NULL) { for (i = 0; i < clt_settings.transfer.num; i++) { free(clt_settings.transfer.mappings[i]); } free(clt_settings.transfer.mappings); clt_settings.transfer.mappings = NULL; } }