diff options
author | d3v11 <d3v11@d3v11.ano> | 2012-09-02 00:45:13 +0000 |
---|---|---|
committer | d3v11 <d3v11@d3v11.ano> | 2012-09-02 00:45:13 +0000 |
commit | e168598825a24e352bf1b5e03f02827dc6111bcb (patch) | |
tree | 1e76102d7f761eca02c09f768d07bb3db6800b94 /scripts/add_udpmsg4_chat | |
parent | 8ff22d42bacfcd7e5ea701b0930643c85444b7c8 (diff) | |
download | resdb-e168598825a24e352bf1b5e03f02827dc6111bcb.tar.gz resdb-e168598825a24e352bf1b5e03f02827dc6111bcb.zip |
[scripts/add_udpmsg4_chat] new script for chanserv
Diffstat (limited to 'scripts/add_udpmsg4_chat')
-rwxr-xr-x | scripts/add_udpmsg4_chat | 31 |
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" |