pespin has uploaded this change for review.

View Change

server: Store read buf max len as conn field

This will be useful later on when adding pcapng support, since checks
will become more complex due to different data types to be checked,
based on information from pcap vs pcapng gathered from magic field
inside the received link_hdr buffer.

Change-Id: I8f62aa0bdb04e73223c0c6803a58241f83a5ebe9
---
M include/osmo-pcap/osmo_pcap_server.h
M src/osmo_server_network.c
2 files changed, 4 insertions(+), 5 deletions(-)

git pull ssh://gerrit.osmocom.org:29418/osmo-pcap refs/changes/73/39273/1
diff --git a/include/osmo-pcap/osmo_pcap_server.h b/include/osmo-pcap/osmo_pcap_server.h
index 030a353..ae578b4 100644
--- a/include/osmo-pcap/osmo_pcap_server.h
+++ b/include/osmo-pcap/osmo_pcap_server.h
@@ -99,6 +99,7 @@
int pend;
bool reopen_delayed;
struct osmo_pcap_data *data;
+ size_t data_max_len; /* size of allocated buffer in data->data. */

/* statistics */
struct rate_ctr_group *ctrg;
diff --git a/src/osmo_server_network.c b/src/osmo_server_network.c
index 891ebab..21200ef 100644
--- a/src/osmo_server_network.c
+++ b/src/osmo_server_network.c
@@ -504,7 +504,6 @@
{
struct rate_ctr_group_desc *desc;
struct osmo_pcap_conn *conn;
- size_t buf_size;

llist_for_each_entry(conn, &server->conn, entry) {
if (strcmp(conn->name, name) == 0)
@@ -518,10 +517,9 @@
return NULL;
}

- buf_size = sizeof(struct osmo_pcap_data);
- buf_size += OSMO_MAX(sizeof(struct pcap_file_header),
- sizeof(struct osmo_pcap_pkthdr) + server->max_snaplen);
- conn->data = talloc_zero_size(conn, buf_size);
+ conn->data_max_len = OSMO_MAX(sizeof(struct pcap_file_header),
+ sizeof(struct osmo_pcap_pkthdr) + server->max_snaplen);
+ conn->data = talloc_zero_size(conn, sizeof(struct osmo_pcap_data) + conn->data_max_len);
/* a bit nasty. we do not work with ids but names */
desc = talloc_zero(conn, struct rate_ctr_group_desc);
if (!desc) {

To view, visit change 39273. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: newchange
Gerrit-Project: osmo-pcap
Gerrit-Branch: master
Gerrit-Change-Id: I8f62aa0bdb04e73223c0c6803a58241f83a5ebe9
Gerrit-Change-Number: 39273
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin@sysmocom.de>