pespin has submitted this change. (
https://gerrit.osmocom.org/c/osmo-pcap/+/39151?usp=email )
Change subject: pcap-server: New vty command 'no max-file-size'
......................................................................
pcap-server: New vty command 'no max-file-size'
This new VTY command allows disabling the max-file-size feature.
Change-Id: I54f1f0e2976ea235e92a1c527fa80f18ae166992
---
M include/osmo-pcap/osmo_pcap_server.h
M src/osmo_server_main.c
M src/osmo_server_network.c
M src/osmo_server_vty.c
4 files changed, 20 insertions(+), 3 deletions(-)
Approvals:
Jenkins Builder: Verified
laforge: Looks good to me, but someone else must approve
osmith: Looks good to me, approved
diff --git a/include/osmo-pcap/osmo_pcap_server.h b/include/osmo-pcap/osmo_pcap_server.h
index 6d2afcf..5fe6d11 100644
--- a/include/osmo-pcap/osmo_pcap_server.h
+++ b/include/osmo-pcap/osmo_pcap_server.h
@@ -131,6 +131,7 @@
char *base_path;
mode_t permission_mask;
off_t max_size;
+ bool max_size_enabled;
int max_snaplen;
/* statistics */
diff --git a/src/osmo_server_main.c b/src/osmo_server_main.c
index 4633888..85f4290 100644
--- a/src/osmo_server_main.c
+++ b/src/osmo_server_main.c
@@ -281,7 +281,8 @@
INIT_LLIST_HEAD(&pcap_server->conn);
pcap_server->base_path = talloc_strdup(pcap_server, "./");
pcap_server->permission_mask = 0440;
- pcap_server->max_size = 1073741824;
+ pcap_server->max_size = 1073741824; /* 1024^3, 1GB **/
+ pcap_server->max_size_enabled = true;
pcap_server->max_snaplen = DEFAULT_SNAPLEN;
if (vty_read_config_file(config_file, NULL) < 0) {
diff --git a/src/osmo_server_network.c b/src/osmo_server_network.c
index 1ace77a..e53ce01 100644
--- a/src/osmo_server_network.c
+++ b/src/osmo_server_network.c
@@ -217,6 +217,8 @@
{
off_t cur;
+ if (pcap_server->max_size_enabled)
+ return false;
cur = lseek(conn->local_fd, 0, SEEK_CUR);
if (cur + data->len <= conn->server->max_size)
return false;
diff --git a/src/osmo_server_vty.c b/src/osmo_server_vty.c
index 796aed8..507a477 100644
--- a/src/osmo_server_vty.c
+++ b/src/osmo_server_vty.c
@@ -93,8 +93,10 @@
vty_out(vty, " server ip %s%s", pcap_server->addr, VTY_NEWLINE);
if (pcap_server->port > 0)
vty_out(vty, " server port %d%s", pcap_server->port, VTY_NEWLINE);
- vty_out(vty, " max-file-size %llu%s",
- (unsigned long long) pcap_server->max_size, VTY_NEWLINE);
+ if (pcap_server->max_size_enabled)
+ vty_out(vty, " max-file-size %llu%s", (unsigned long
long)pcap_server->max_size, VTY_NEWLINE);
+ else
+ vty_out(vty, " no max-file-size%s", VTY_NEWLINE);
if (pcap_server->max_snaplen != DEFAULT_SNAPLEN)
vty_out(vty, " server max-snaplen %d%s", pcap_server->max_snaplen,
VTY_NEWLINE);
if (pcap_server->zmq_port > 0)
@@ -198,6 +200,16 @@
"Maximum file size for a trace\n" "Filesize in bytes\n")
{
pcap_server->max_size = strtoull(argv[0], NULL, 10);
+ pcap_server->max_size_enabled = true;
+ return CMD_SUCCESS;
+}
+
+DEFUN(cfg_server_no_max_size,
+ cfg_server_no_max_size_cmd,
+ "no max-file-size",
+ NO_STR "Maximum file size for a trace\n")
+{
+ pcap_server->max_size_enabled = false;
return CMD_SUCCESS;
}
@@ -564,6 +576,7 @@
install_element(SERVER_NODE, &cfg_server_ip_cmd);
install_element(SERVER_NODE, &cfg_server_port_cmd);
install_element(SERVER_NODE, &cfg_server_max_size_cmd);
+ install_element(SERVER_NODE, &cfg_server_no_max_size_cmd);
install_element(SERVER_NODE, &cfg_server_max_snaplen_cmd);
install_element(SERVER_NODE, &cfg_server_zmq_ip_port_cmd);
install_element(SERVER_NODE, &cfg_no_server_zmq_ip_port_cmd);
--
To view, visit
https://gerrit.osmocom.org/c/osmo-pcap/+/39151?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-pcap
Gerrit-Branch: master
Gerrit-Change-Id: I54f1f0e2976ea235e92a1c527fa80f18ae166992
Gerrit-Change-Number: 39151
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>