pespin has uploaded this change for review. ( 
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(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-pcap refs/changes/51/39151/1

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: newchange
Gerrit-Project: osmo-pcap
Gerrit-Branch: master
Gerrit-Change-Id: I54f1f0e2976ea235e92a1c527fa80f18ae166992
Gerrit-Change-Number: 39151
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <[email protected]>

Reply via email to