Lines Matching refs:session

110 struct session {  struct
136 uint32 plen, char *source, struct session **sessionp, argument
139 struct session *session);
142 struct session *session, uint32 plen);
143 static int daemon_unpackapplyfilter(PCAP_SOCKET sockctrl, SSL *, struct session *session, uint32 *p…
146 struct session *session, uint32 plen, struct pcap_stat *stats,
163 static void session_close(struct session *);
232 struct session *session = NULL; // struct session main variable in daemon_serviceloop() local
750 if ((!pars.isactive) && (session == NULL || session->sockdata == 0)) in daemon_serviceloop()
902 plen, source, &session, &samp_param, in daemon_serviceloop()
914 if (session) in daemon_serviceloop()
917 &pars, session, plen) == -1) in daemon_serviceloop()
955 session, plen, &stats, svrcapt) == -1) in daemon_serviceloop()
966 if (session) in daemon_serviceloop()
969 if (pcap_stats(session->fp, &stats)) in daemon_serviceloop()
971 svrcapt = session->TotCapt; in daemon_serviceloop()
982 &pars, session) == -1) in daemon_serviceloop()
984 free(session); in daemon_serviceloop()
985 session = NULL; in daemon_serviceloop()
990 free(session); in daemon_serviceloop()
991 session = NULL; in daemon_serviceloop()
1105 if (session) in daemon_serviceloop()
1107 session_close(session); in daemon_serviceloop()
1108 free(session); in daemon_serviceloop()
1109 session = NULL; in daemon_serviceloop()
1955 char *source, struct session **sessionp, in daemon_msg_startcap_req()
1962 struct session *session = NULL; // saves state of session in daemon_msg_startcap_req() local
2004 session = malloc(sizeof(struct session)); in daemon_msg_startcap_req()
2005 if (session == NULL) in daemon_msg_startcap_req()
2011 session->sockdata = INVALID_SOCKET; in daemon_msg_startcap_req()
2012 session->ctrl_ssl = session->data_ssl = NULL; in daemon_msg_startcap_req()
2014 session->have_thread = 0; in daemon_msg_startcap_req()
2025 session->thread = INVALID_HANDLE_VALUE; in daemon_msg_startcap_req()
2027 memset(&session->thread, 0, sizeof(session->thread)); in daemon_msg_startcap_req()
2031 if ((session->fp = pcap_open_live(source, in daemon_msg_startcap_req()
2091 …if ((session->sockdata = sock_open(peerhost, addrinfo, SOCKOPEN_CLIENT, 0, errmsgbuf, PCAP_ERRBUF_… in daemon_msg_startcap_req()
2104 …if ((session->sockdata = sock_open(NULL, addrinfo, SOCKOPEN_SERVER, 1 /* max 1 connection in queue… in daemon_msg_startcap_req()
2109 if (getsockname(session->sockdata, (struct sockaddr *) &saddr, &saddrlen) == -1) in daemon_msg_startcap_req()
2131 session->sockctrl = pars->sockctrl; in daemon_msg_startcap_req()
2132 session->ctrl_ssl = pars->ssl; in daemon_msg_startcap_req()
2133 session->protocol_version = ver; in daemon_msg_startcap_req()
2136 ret = daemon_unpackapplyfilter(pars->sockctrl, pars->ssl, session, &plen, errmsgbuf); in daemon_msg_startcap_req()
2163 startcapreply->bufsize = htonl(pcap_bufsize(session->fp)); in daemon_msg_startcap_req()
2185 socktemp = accept(session->sockdata, (struct sockaddr *) &saddr, &saddrlen); in daemon_msg_startcap_req()
2197 sock_close(session->sockdata, NULL, 0); in daemon_msg_startcap_req()
2198 session->sockdata = socktemp; in daemon_msg_startcap_req()
2208 ssl = ssl_promotion(1, session->sockdata, errbuf, PCAP_ERRBUF_SIZE); in daemon_msg_startcap_req()
2216 session->data_ssl = ssl; in daemon_msg_startcap_req()
2220 session->thread = (HANDLE)_beginthreadex(NULL, 0, daemon_thrdatamain, in daemon_msg_startcap_req()
2221 (void *) session, 0, NULL); in daemon_msg_startcap_req()
2222 if (session->thread == 0) in daemon_msg_startcap_req()
2228 ret = pthread_create(&session->thread, NULL, daemon_thrdatamain, in daemon_msg_startcap_req()
2229 (void *) session); in daemon_msg_startcap_req()
2237 session->have_thread = 1; in daemon_msg_startcap_req()
2243 *sessionp = session; in daemon_msg_startcap_req()
2256 if (session) in daemon_msg_startcap_req()
2258 session_close(session); in daemon_msg_startcap_req()
2259 free(session); in daemon_msg_startcap_req()
2286 if (session) in daemon_msg_startcap_req()
2288 session_close(session); in daemon_msg_startcap_req()
2289 free(session); in daemon_msg_startcap_req()
2297 struct session *session) in daemon_msg_endcap_req() argument
2302 session_close(session); in daemon_msg_endcap_req()
2334 daemon_unpackapplyfilter(PCAP_SOCKET sockctrl, SSL *ctrl_ssl, struct session *session, uint32 *plen… in daemon_unpackapplyfilter() argument
2409 if (pcap_setfilter(session->fp, &bf_prog)) in daemon_unpackapplyfilter()
2411 snprintf(errmsgbuf, PCAP_ERRBUF_SIZE, "RPCAP error: %s", pcap_geterr(session->fp)); in daemon_unpackapplyfilter()
2420 struct session *session, uint32 plen) in daemon_msg_updatefilter_req() argument
2427 ret = daemon_unpackapplyfilter(pars->sockctrl, pars->ssl, session, &plen, errmsgbuf); in daemon_msg_updatefilter_req()
2533 struct session *session, uint32 plen, struct pcap_stat *stats, in daemon_msg_stats_req() argument
2562 if (session && session->fp) in daemon_msg_stats_req()
2564 if (pcap_stats(session->fp, stats) == -1) in daemon_msg_stats_req()
2566 snprintf(errmsgbuf, PCAP_ERRBUF_SIZE, "%s", pcap_geterr(session->fp)); in daemon_msg_stats_req()
2573 netstats->svrcapt = htonl(session->TotCapt); in daemon_msg_stats_req()
2609 struct session *session; // pointer to the struct session for this session in daemon_thrdatamain() local
2622 session = (struct session *) ptr; in daemon_thrdatamain()
2624 session->TotCapt = 0; // counter which is incremented each time a packet is received in daemon_thrdatamain()
2633 if (pcap_snapshot(session->fp) < 0) in daemon_thrdatamain()
2641 pcap_snapshot(session->fp)); in daemon_thrdatamain()
2661 …sendbufsize = sizeof(struct rpcap_header) + sizeof(struct rpcap_pkthdr) + pcap_snapshot(session->f… in daemon_thrdatamain()
2700 …retval = pcap_next_ex(session->fp, &pkt_header, (const u_char **) &pkt_data); // cast to avoid a c… in daemon_thrdatamain()
2726 session->protocol_version, RPCAP_MSG_PACKET, 0, in daemon_thrdatamain()
2744 net_pkt_header->npkt = htonl(++(session->TotCapt)); in daemon_thrdatamain()
2766 …status = sock_send(session->sockdata, session->data_ssl, sendbuf, sendbufidx, errbuf, PCAP_ERRBUF_… in daemon_thrdatamain()
2797 snprintf(errbuf, PCAP_ERRBUF_SIZE, "Error reading the packets: %s", pcap_geterr(session->fp)); in daemon_thrdatamain()
2798 rpcap_senderror(session->sockctrl, session->ctrl_ssl, session->protocol_version, in daemon_thrdatamain()
2999 static void session_close(struct session *session) in session_close() argument
3001 if (session->have_thread) in session_close()
3010 pcap_breakloop(session->fp); in session_close()
3024 SetEvent(pcap_getevent(session->fp)); in session_close()
3032 WaitForSingleObject(session->thread, INFINITE); in session_close()
3038 CloseHandle(session->thread); in session_close()
3039 session->have_thread = 0; in session_close()
3040 session->thread = INVALID_HANDLE_VALUE; in session_close()
3049 pthread_kill(session->thread, SIGUSR1); in session_close()
3057 pthread_join(session->thread, NULL); in session_close()
3058 session->have_thread = 0; in session_close()
3059 memset(&session->thread, 0, sizeof(session->thread)); in session_close()
3064 if (session->data_ssl) in session_close()
3068 ssl_finish(session->data_ssl); in session_close()
3069 session->data_ssl = NULL; in session_close()
3073 if (session->sockdata != INVALID_SOCKET) in session_close()
3075 sock_close(session->sockdata, NULL, 0); in session_close()
3076 session->sockdata = INVALID_SOCKET; in session_close()
3079 if (session->fp) in session_close()
3081 pcap_close(session->fp); in session_close()
3082 session->fp = NULL; in session_close()