summaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
Diffstat (limited to 'src/server')
-rw-r--r--src/server/base64.c34
-rw-r--r--src/server/comms.c68
-rw-r--r--src/server/ws_key.c36
3 files changed, 0 insertions, 138 deletions
diff --git a/src/server/base64.c b/src/server/base64.c
deleted file mode 100644
index e3e0ef6..0000000
--- a/src/server/base64.c
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef BASE64_C
-#define BASE64_C
-
-#include <stddef.h>
-
-static const char b64[] =
- "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- "abcdefghijklmnopqrstuvwxyz"
- "0123456789+/";
-
-void base64_encode(
- const unsigned char *in,
- size_t len,
- char *out
-) {
- size_t i, j = 0;
-
- for (i = 0; i < len; i += 3) {
- unsigned v = in[i] << 16;
-
- if (i + 1 < len) v |= in[i + 1] << 8;
- if (i + 2 < len) v |= in[i + 2];
-
- out[j++] = b64[(v >> 18) & 63];
- out[j++] = b64[(v >> 12) & 63];
-
- out[j++] = (i + 1 < len) ? b64[(v >> 6) & 63] : '=';
- out[j++] = (i + 2 < len) ? b64[v & 63] : '=';
- }
-
- out[j] = 0;
-}
-
-#endif // BASE64_C
diff --git a/src/server/comms.c b/src/server/comms.c
deleted file mode 100644
index 67e42a2..0000000
--- a/src/server/comms.c
+++ /dev/null
@@ -1,68 +0,0 @@
-#include <assert.h>
-#include <string.h>
-#include "../ipc.c"
-#include "../logger/logger.h"
-
-struct str {
- char msg[1023];
- int len;
-};
-
-void set_output(struct str* output, char* msg) {
- int i = 0;
- while (msg[i] != 0) {
- assert(i < 1023);
- output->msg[i] = msg[i];
- i++;
- }
- output->len = i;
-}
-
-struct strs {
- struct str* data;
- int capacity;
- int count;
-};
-
-struct strs init_strs() {
- return (struct strs) {
- .data = malloc(sizeof(struct str) * 10),
- .count = 0,
- .capacity = 10,
- };
-}
-void add_str(struct strs* strs, char* str) {
- if (strs->count + 1 > strs->capacity) {
- strs->capacity += 30;
- strs->data = realloc(strs->data, sizeof(struct str) * strs->capacity);
- }
-
- struct str item;
- set_output(&item, str);
-
- strs->data[strs->count] = item;
- strs->count++;
-}
-
-struct strs handle_input(mqd_t logging, mqd_t tx, mqd_t rx, char* payload, int len) {
- log_infof("after: %d", payload[len]);
- send_queue(tx, payload, len + 1);
- char* buf = read_queue(rx);
-
- struct strs output = init_strs();
-
- if (strcmp(buf, "Sending") != 0) {
- return output;
- }
-
- while (1) {
- char* buf = read_queue(rx);
- if (strcmp(buf, "END-TRANSMISSION") == 0) {
- free(buf);
- break;
- }
- add_str(&output, buf);
- free(buf);
- }
- return output;
-}
diff --git a/src/server/ws_key.c b/src/server/ws_key.c
deleted file mode 100644
index 015605e..0000000
--- a/src/server/ws_key.c
+++ /dev/null
@@ -1,36 +0,0 @@
-#include <openssl/sha.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <string.h>
-#include <stdio.h>
-
-#include "./base64.c"
-
-static const char *GUID = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
-
-void websocket_accept_key(const char *client_key, char *output) {
- char buf[256];
- snprintf(buf, sizeof(buf), "%s%s", client_key, GUID);
-
- unsigned char hash[SHA_DIGEST_LENGTH];
- SHA1((unsigned char *)buf, strlen(buf), hash);
- base64_encode(hash, SHA_DIGEST_LENGTH, output);
-}
-
-char *find_websocket_key(char *req) {
- char *p = strstr(req, "Sec-WebSocket-Key:");
-
- if (!p) return NULL;
-
- p += strlen("Sec-WebSocket-Key:");
-
- while (*p == ' ') p++;
-
- static char key[128];
- int i = 0;
- while (*p && *p != '\r' && *p != '\n')
- key[i++] = *p++;
-
- key[i] = 0;
- return key;
-}