summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrsiddharth <s@ricketyspace.net>2019-11-28 01:01:35 -0500
committerrsiddharth <s@ricketyspace.net>2020-04-17 20:56:35 -0400
commita9e2410d469049f35715a4732e1cb6ccfc4bf507 (patch)
tree96a9e54a46e8d57f705ca218dd2256e26335c865
parent320172385ef318cfe04f7c5f3af3dda40a429a36 (diff)
nserve: Add ncmd.h
* nserver/src/nserve.c (sanitize, check_cmd): Move functions ... * nserver/src/ncmd.c (sanitize, check_cmd): ... here. * nserver/src/nserve.h (CMD_MIN_SIZE, CMD_MAX_SIZE): Move constants... * nserver/src/ncmd.h (CMD_MIN_SIZE, CMD_MAX_SIZE): ... here. (sanitize, check_cmd): New function declarations.
-rw-r--r--nserver/src/ncmd.c42
-rw-r--r--nserver/src/ncmd.h14
-rw-r--r--nserver/src/nserve.c42
-rw-r--r--nserver/src/nserve.h4
4 files changed, 57 insertions, 45 deletions
diff --git a/nserver/src/ncmd.c b/nserver/src/ncmd.c
new file mode 100644
index 0000000..05785ba
--- /dev/null
+++ b/nserver/src/ncmd.c
@@ -0,0 +1,42 @@
+#include <ncmd.h>
+
+int sanitize(char *cmd)
+{
+ check(cmd != NULL, "cmd is NULL");
+
+ size_t len = strlen(cmd);
+ check(len > 0, "cmd empty");
+
+ // strip newline character at the end.
+ cmd[len - 1] = '\0';
+
+ return 0;
+ error:
+ return -1;
+}
+
+char *check_cmd(char *cmd)
+{
+ char *err = NULL;
+
+ check(cmd != NULL, "cmd is NULL");
+
+ int rc = sanitize(cmd);
+ check(rc != -1, "sanitize failed");
+
+ size_t len = strlen(cmd);
+ if (len >= CMD_MIN_SIZE && len <= CMD_MAX_SIZE) {
+ return NULL;
+ }
+
+ if (len == 0) {
+ err = "closing connection\n";
+ } else {
+ err = "command size invalid\n";
+ }
+
+ return err;
+ error:
+ err = "internal error\n";
+ return err;
+}
diff --git a/nserver/src/ncmd.h b/nserver/src/ncmd.h
new file mode 100644
index 0000000..75ac357
--- /dev/null
+++ b/nserver/src/ncmd.h
@@ -0,0 +1,14 @@
+#ifndef _ncmd_h
+#define _ncmd_h
+
+#include <string.h>
+
+#include <dbg.h>
+
+#define CMD_MIN_SIZE 5
+#define CMD_MAX_SIZE 120
+
+int sanitize(char *cmd);
+char *check_cmd(char *cmd);
+
+#endif
diff --git a/nserver/src/nserve.c b/nserver/src/nserve.c
index 316fdd1..8008562 100644
--- a/nserver/src/nserve.c
+++ b/nserver/src/nserve.c
@@ -25,48 +25,6 @@ int barfsock(char *buf, size_t buf_sz, int sock)
return -1;
}
-int sanitize(char *cmd)
-{
- check(cmd != NULL, "cmd is NULL");
-
- size_t len = strlen(cmd);
- check(len > 0, "cmd empty");
-
- // strip newline character at the end.
- cmd[len - 1] = '\0';
-
- return 0;
- error:
- return -1;
-}
-
-char *check_cmd(char *cmd)
-{
- char *err = NULL;
-
- check(cmd != NULL, "cmd is NULL");
-
- int rc = sanitize(cmd);
- check(rc != -1, "sanitize failed");
-
- size_t len = strlen(cmd);
- if (len >= CMD_MIN_SIZE && len <= CMD_MAX_SIZE) {
- return NULL;
- }
-
- if (len == 0) {
- err = "closing connection\n";
- } else {
- err = "command size invalid\n";
- }
-
- return err;
- error:
- err = "internal error\n";
- return err;
-}
-
-
void nserve(int sock)
{
size_t cmd_sz = 200;
diff --git a/nserver/src/nserve.h b/nserver/src/nserve.h
index 75281ec..4ef8f60 100644
--- a/nserver/src/nserve.h
+++ b/nserver/src/nserve.h
@@ -7,12 +7,10 @@
#include <sys/socket.h>
#include <bstrlib.h>
+#include <ncmd.h>
#include <dbg.h>
#include <ringbuffer.h>
-#define CMD_MIN_SIZE 5
-#define CMD_MAX_SIZE 120
-
void nserve(int sock);
#endif