summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/add_udpmsg4_chat31
1 files changed, 31 insertions, 0 deletions
diff --git a/scripts/add_udpmsg4_chat b/scripts/add_udpmsg4_chat
new file mode 100755
index 0000000..6600fad
--- /dev/null
+++ b/scripts/add_udpmsg4_chat
@@ -0,0 +1,31 @@
+#!/bin/sh
+if [ -z $3 ]; then
+ echo "Usage: $0 <chat> <owner> <pubkey> <seckey>" >&2; exit 255
+fi
+chat="$1"
+owner="$2"
+pubkey="$3"
+seckey="$4"
+
+if [ "$(echo -n "${chat/chat\//}" | tr -d 'A-Za-z0-9_-' | wc -c | tr -d ' \t')" != 0 ]; then
+ echo "udpmsg4 chats do not allow funny chars." >&2; exit 255
+fi
+if ((`echo -n "${chat/chat\//}" | wc -c` > 32)); then
+ echo "udpmsg4 chats cannot be greater than 32 chars." >&2; exit 255
+fi
+if [ "$(echo "$chat" | head -c5)" != chat/ ]; then
+ echo "udpmsg4 chats start with chat/." >&2; exit 255
+fi
+if ((`echo -n "$pubkey$seckey" | tr -d 'a-fA-F0-9' | wc -c | tr -d ' \t'` != 0)); then
+ echo "nacl keys are hex chars." >&2; exit 255
+fi
+if ((`echo -n "$pubkey$seckey" | wc -c` != 128)); then
+ echo "nacl keys are 64 chars." >&2; exit 255
+fi
+
+fullchat=db/udpmsg4_chat/${chat/chat\//}
+mkdir -p $fullchat || exit 1
+mkdir -p $fullchat/@ || exit 1
+echo -n "$owner" >"$fullchat/@/owner"
+echo -n "$pubkey" >"$fullchat/@/pubkey"
+echo -n "$seckey" >"$fullchat/@/seckey"