diff --git a/src/freedombone-addxmpp b/src/freedombone-addxmpp deleted file mode 100755 index 960b24e3..00000000 --- a/src/freedombone-addxmpp +++ /dev/null @@ -1,100 +0,0 @@ -#!/bin/bash -# -# .---. . . -# | | | -# |--- .--. .-. .-. .-.| .-. .--.--. |.-. .-. .--. .-. -# | | (.-' (.-' ( | ( )| | | | )( )| | (.-' -# ' ' --' --' -' - -' ' ' -' -' -' ' - --' -# -# Freedom in the Cloud -# - -# Adds an xmpp user - -# License -# ======= -# -# Copyright (C) 2015-2016 Bob Mottram -# -# 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 . - -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 diff --git a/src/freedombone-app-xmpp b/src/freedombone-app-xmpp index c7f7887c..8089bcb2 100755 --- a/src/freedombone-app-xmpp +++ b/src/freedombone-app-xmpp @@ -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"