Adding xmpp users defined within the app script

This commit is contained in:
Bob Mottram 2018-02-21 11:02:56 +00:00
parent 200c07a507
commit 925d3b05eb
2 changed files with 21 additions and 106 deletions

View File

@ -1,100 +0,0 @@
#!/bin/bash
#
# .---. . .
# | | |
# |--- .--. .-. .-. .-.| .-. .--.--. |.-. .-. .--. .-.
# | | (.-' (.-' ( | ( )| | | | )( )| | (.-'
# ' ' --' --' -' - -' ' ' -' -' -' ' - --'
#
# Freedom in the Cloud
#
# Adds an xmpp user
# License
# =======
#
# Copyright (C) 2015-2016 Bob Mottram <bob@freedombone.net>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
PROJECT_NAME='freedombone'
export TEXTDOMAIN=${PROJECT_NAME}-addxmpp
export TEXTDOMAINDIR="/usr/share/locale"
EMAIL_ADDRESS=
NEW_USER_PASSWORD=
function show_help {
echo ''
echo $"${PROJECT_NAME}-addxmpp -e [email address] -p [password]"
echo ''
exit 0
}
while [[ $# > 1 ]]
do
key="$1"
case $key in
-h|--help)
show_help
;;
-e|--email)
shift
EMAIL_ADDRESS="$1"
;;
-p|--password|--passphrase)
shift
NEW_USER_PASSWORD="$1"
;;
*)
# unknown option
;;
esac
shift
done
if [ ! -d /etc/prosody ]; then
echo $'xmpp server is not installed'
exit 0
fi
if [ ! $EMAIL_ADDRESS ]; then
show_help
exit 1
fi
USERNAME=$(echo $EMAIL_ADDRESS | awk -F '@' '{print $1}')
if [ ! $NEW_USER_PASSWORD ]; then
prosodyctl adduser $EMAIL_ADDRESS
else
DOMAIN_NAME=$(echo $EMAIL_ADDRESS | awk -F '@' '{print $2}')
prosodyctl register $USERNAME $DOMAIN_NAME "$NEW_USER_PASSWORD"
if [ ! "$?" = "0" ]; then
exit 2
fi
fi
# add the xmpp address to email headers
if [ -f /home/$USERNAME/.muttrc ]; then
if ! grep -q "Jabber-ID" /home/$USERNAME/.muttrc; then
echo "my_hdr Jabber-ID: $EMAIL_ADDRESS" >> /home/$USERNAME/.muttrc
else
sed -i "s|my_hdr Jabber-ID.*|my_hdr Jabber-ID: $EMAIL_ADDRESS|g" /home/$USERNAME/.muttrc
fi
fi
exit 0

View File

@ -271,16 +271,31 @@ function add_user_xmpp {
new_user_password="$2"
XMPP_ONION_HOSTNAME=$(cat /var/lib/tor/hidden_service_xmpp/hostname)
${PROJECT_NAME}-pass -u $new_username -a xmpp -p "$new_user_password"
${PROJECT_NAME}-pass -u "$new_username" -a xmpp -p "$new_user_password"
if [[ $ONION_ONLY != "no" ]]; then
${PROJECT_NAME}-addxmpp -e "$new_username@$XMPP_ONION_HOSTNAME" -p "$new_user_password"
DOMAIN_NAME=$XMPP_ONION_HOSTNAME
else
${PROJECT_NAME}-addxmpp -e "$new_username@$HOSTNAME" -p "$new_user_password"
DOMAIN_NAME=$HOSTNAME
fi
if [ ! "$?" = "0" ]; then
echo '1'
return
EMAIL_ADDRESS="$new_username@$DOMAIN_NAME"
if [ ${#new_user_password} -eq 0 ]; then
prosodyctl adduser $EMAIL_ADDRESS
else
prosodyctl register "$new_username" $DOMAIN_NAME "$new_user_password"
if [ ! "$?" = "0" ]; then
exit 653456375
fi
fi
# add the xmpp address to email headers
if [ -f /home/$new_username/.muttrc ]; then
if ! grep -q "Jabber-ID" /home/$new_username/.muttrc; then
echo "my_hdr Jabber-ID: $EMAIL_ADDRESS" >> /home/$new_username/.muttrc
else
sed -i "s|my_hdr Jabber-ID.*|my_hdr Jabber-ID: $EMAIL_ADDRESS|g" /home/$new_username/.muttrc
fi
fi
add_user_xmpp_client "$new_username" "$new_user_password"