aboutsummaryrefslogtreecommitdiffstats
path: root/include/osmo-pcap/osmo_pcap_server.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/osmo-pcap/osmo_pcap_server.h')
-rw-r--r--include/osmo-pcap/osmo_pcap_server.h26
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