summaryrefslogtreecommitdiff
path: root/scripts/add_udpmsg4_chat
blob: 6600fad1d12eed97002bbf617ee1627c07bbe83f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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"