diff options
Diffstat (limited to 'include/osmo-pcap/osmo_pcap_server.h')
-rw-r--r-- | include/osmo-pcap/osmo_pcap_server.h | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/include/osmo-pcap/osmo_pcap_server.h b/include/osmo-pcap/osmo_pcap_server.h index a386a2a..c1d318e 100644 --- a/include/osmo-pcap/osmo_pcap_server.h +++ b/include/osmo-pcap/osmo_pcap_server.h @@ -24,9 +24,11 @@ #define OSMO_PCAP_SERVER_H #include "wireformat.h" +#include "osmo_tls.h" #include <osmocom/core/select.h> #include <osmocom/core/linuxlist.h> +#include <osmocom/core/write_queue.h> #include <sys/socket.h> #include <netinet/in.h> @@ -34,6 +36,7 @@ #include <pcap.h> +#include <stdbool.h> #include <time.h> struct rate_ctr_group; @@ -74,7 +77,7 @@ struct osmo_pcap_conn { struct in_addr remote_addr; /* Remote connection */ - struct osmo_fd rem_fd; + struct osmo_wqueue rem_wq; int local_fd; char *curr_filename; @@ -93,6 +96,12 @@ struct osmo_pcap_conn { /* statistics */ struct rate_ctr_group *ctrg; + + /* tls */ + bool tls_use; + bool direct_read; + size_t tls_limit_read; + struct osmo_tls_session tls_session; }; struct osmo_pcap_server { @@ -108,6 +117,20 @@ struct osmo_pcap_server { void *zmq_ctx; void *zmq_publ; + /* tls base */ + bool tls_on; + bool tls_allow_anon; + bool tls_allow_x509; + unsigned tls_log_level; + char *tls_priority; + char *tls_capath; + char *tls_crlfile; + char *tls_server_cert; + char *tls_server_key; + char *tls_dh_pkcs3; + gnutls_dh_params_t dh_params; + bool dh_params_allocated; + char *base_path; off_t max_size; @@ -125,5 +148,6 @@ struct osmo_pcap_conn *osmo_pcap_server_find(struct osmo_pcap_server *ser, void osmo_pcap_server_delete(struct osmo_pcap_conn *conn); void vty_server_init(struct osmo_pcap_server *server); void osmo_pcap_server_close_trace(struct osmo_pcap_conn *conn); +void osmo_pcap_server_close_conn(struct osmo_pcap_conn *conn); #endif |