From 4d4cbdaf49f616fea47c543fe2cb74d1d8a1e7ff Mon Sep 17 00:00:00 2001 From: Tom Smeding Date: Thu, 25 Jun 2020 22:47:10 +0200 Subject: ssh: WIP ssh proxy server --- ssh/util.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 ssh/util.c (limited to 'ssh/util.c') diff --git a/ssh/util.c b/ssh/util.c new file mode 100644 index 0000000..a8f3c41 --- /dev/null +++ b/ssh/util.c @@ -0,0 +1,29 @@ +#include +#include +#include +#include "util.h" + + +bool parse_host_port(const char *arg, const char **server_host, int *port) { + const char *ptr = strchr(arg, ':'); + if (ptr == NULL) { + *server_host = arg; + } else { + size_t length = ptr - arg; + char *host = malloc(length + 1); + if (!host) { + fprintf(stderr, "Cannot allocate memory!\n"); + exit(1); + } + memcpy(host, arg, length); + host[length] = '\0'; + *server_host = host; + + char *endp; + *port = strtol(ptr + 1, &endp, 10); + if (endp == ptr || *endp != '\0') { + return false; + } + } + return true; +} -- cgit v1.2.3-54-g00ecf