Просмотр исходного кода

introduce a check against creation of duplicate aliases

Jiri Kuthan 22 лет назад
Родитель
Сommit
7f314639a3
1 измененных файлов с 19 добавлено и 12 удалено
  1. 19 12
      scripts/sc

+ 19 - 12
scripts/sc

@@ -1,4 +1,4 @@
-#!/bin/sh 
+#!/bin/sh
 #
 #
 # $Id$
 # $Id$
 #
 #
@@ -63,7 +63,7 @@ LAST_LINE='tail -1'
 
 
 # ACL name verification
 # ACL name verification
 VERIFY_ACL=1
 VERIFY_ACL=1
-ACL_GROUPS="local ld int voicemail free-pstn"
+ACL_GROUPS="local ld int voicemail free-pstn prepaid"
 
 
 # expiration time for alias table
 # expiration time for alias table
 FOREVER='2020-05-28 21:32:15'
 FOREVER='2020-05-28 21:32:15'
@@ -219,6 +219,15 @@ check_uri() {
 	echo "$1" | $EGREP "^sip(s)?:([a-zA-Z0-9_]+@)?.*\..*" 
 	echo "$1" | $EGREP "^sip(s)?:([a-zA-Z0-9_]+@)?.*\..*" 
 }
 }
 
 
+# check for alias duplicates
+check_alias() {
+		fifo_cmd ul_show_contact "$ALS_TABLE" "$1" | grep 404 > /dev/null
+		if [ $? -ne 0 ]; then
+			echo error: overlap with an existing alias
+			exit 1
+		fi
+}
+
 
 
 #params: none
 #params: none
 # output: PW
 # output: PW
@@ -433,6 +442,8 @@ usrloc() {
 				fi
 				fi
 			fi
 			fi
 
 
+			check_alias "$SERUSER@$SERDOMAIN"
+
 			fifo_cmd ul_add "$USRLOC_TABLE" "$SERUSER@$SERDOMAIN" "$2" "$FOREVER_REL" "1.00" "0"
 			fifo_cmd ul_add "$USRLOC_TABLE" "$SERUSER@$SERDOMAIN" "$2" "$FOREVER_REL" "1.00" "0"
 			exit $?
 			exit $?
 			;;
 			;;
@@ -787,17 +798,13 @@ case $1 in
 		shift
 		shift
 		credentials $1 $2
 		credentials $1 $2
 		prompt_pw
 		prompt_pw
-	        is_user $1
-        	if [ $? -eq 0 ] ; then
-            		echo user already exists
-            		exit 1
-        	fi  
+	    is_user $1
+        if [ $? -eq 0 ] ; then
+           		echo user already exists
+           		exit 1
+       	fi  
+		check_alias "$SERUSER@$SERDOMAIN"
 
 
-		fifo_cmd ul_show_contact "$ALS_TABLE" "$SERUSER@$SERDOMAIN" | grep 404 > /dev/null
-		if [ $? -ne 0 ]; then
-			echo error: overlap with an existing alias
-			exit 1
-		fi
 
 
 		QUERY="insert into $SUB_TABLE \
 		QUERY="insert into $SUB_TABLE \
 				($SUBSCRIBER_COLUMN,$REALM_COLUMN,$HA1_COLUMN,\
 				($SUBSCRIBER_COLUMN,$REALM_COLUMN,$HA1_COLUMN,\