Sfoglia il codice sorgente

Command to remove SIP user

Bob Mottram 9 anni fa
parent
commit
5f7447665a
3 ha cambiato i file con 81 aggiunte e 1 eliminazioni
  1. 5
    0
      Makefile
  2. 3
    1
      src/freedombone-addsipuser
  3. 73
    0
      src/freedombone-rmsipuser

+ 5
- 0
Makefile Vedi File

@@ -42,6 +42,7 @@ install:
42 42
 	install -m 755 src/${APP}-controlpanel ${DESTDIR}${PREFIX}/bin/control
43 43
 	install -m 755 src/${APP}-logging ${DESTDIR}${PREFIX}/bin
44 44
 	install -m 755 src/${APP}-addsipuser ${DESTDIR}${PREFIX}/bin
45
+	install -m 755 src/${APP}-rmsipuser ${DESTDIR}${PREFIX}/bin
45 46
 	mkdir -m 755 -p ${DESTDIR}${PREFIX}/share/man/man1
46 47
 	install -m 644 man/${APP}.1.gz ${DESTDIR}${PREFIX}/share/man/man1
47 48
 	install -m 644 man/${APP}-keydrive.1.gz ${DESTDIR}${PREFIX}/share/man/man1
@@ -69,6 +70,8 @@ install:
69 70
 	install -m 644 man/${APP}-mesh.1.gz ${DESTDIR}${PREFIX}/share/man/man1
70 71
 	install -m 644 man/${APP}-controlpanel.1.gz ${DESTDIR}${PREFIX}/share/man/man1
71 72
 	install -m 644 man/${APP}-logging.1.gz ${DESTDIR}${PREFIX}/share/man/man1
73
+	install -m 644 man/${APP}-addsipuser.1.gz ${DESTDIR}${PREFIX}/share/man/man1
74
+	install -m 644 man/${APP}-rmsipuser.1.gz ${DESTDIR}${PREFIX}/share/man/man1
72 75
 uninstall:
73 76
 	rm -f ${PREFIX}/share/man/man1/${APP}.1.gz
74 77
 	rm -f ${PREFIX}/share/man/man1/${APP}-keydrive.1.gz
@@ -97,6 +100,7 @@ uninstall:
97 100
 	rm -f ${PREFIX}/share/man/man1/${APP}-controlpanel.1.gz
98 101
 	rm -f ${PREFIX}/share/man/man1/${APP}-logging.1.gz
99 102
 	rm -f ${PREFIX}/share/man/man1/${APP}-addsipuser.1.gz
103
+	rm -f ${PREFIX}/share/man/man1/${APP}-rmsipuser.1.gz
100 104
 	rm -rf ${PREFIX}/share/${APP}
101 105
 	rm -f ${PREFIX}/bin/${APP}
102 106
 	rm -f ${PREFIX}/bin/zeronetavahi
@@ -128,6 +132,7 @@ uninstall:
128 132
 	rm -f ${PREFIX}/bin/${APP}-controlpanel
129 133
 	rm -f ${PREFIX}/bin/${APP}-logging
130 134
 	rm -f ${PREFIX}/bin/${APP}-addsipuser
135
+	rm -f ${PREFIX}/bin/${APP}-rmsipuser
131 136
 clean:
132 137
 	rm -f \#* \.#* debian/*.substvars debian/*.log
133 138
 	rm -fr deb.* debian/${APP}

+ 3
- 1
src/freedombone-addsipuser Vedi File

@@ -146,10 +146,12 @@ fi
146 146
 
147 147
 sip_user_exists
148 148
 
149
-if [[ USER_EXISTS == "yes" ]]; then
149
+if [[ $USER_EXISTS == "yes" ]]; then
150 150
     update_sip_user
151
+    echo "SIP user $MY_USERNAME amended"
151 152
 else
152 153
     add_sip_user
154
+    echo "SIP user $MY_USERNAME added"
153 155
 fi
154 156
 
155 157
 service sipwitch restart

+ 73
- 0
src/freedombone-rmsipuser Vedi File

@@ -29,4 +29,77 @@
29 29
 # You should have received a copy of the GNU General Public License
30 30
 # along with this program. If not, see <http://www.gnu.org/licenses/>.
31 31
 
32
+MY_USERNAME=$1
33
+CONFIG_FILE=/etc/sipwitch.conf
34
+USER_EXISTS="no"
35
+
36
+function show_help {
37
+    echo ''
38
+    echo 'freedombone-rmsipuser [username]'
39
+    echo ''
40
+    exit 0
41
+}
42
+
43
+function sip_user_exists {
44
+    for line in $ (cat $CONFIG_FILE)
45
+    do
46
+        if [[ "$line" == "<user id=\"$MY_USERNAME\">" ]]; then
47
+            USER_EXISTS="yes"
48
+            return
49
+        fi
50
+    done
51
+}
52
+
53
+function remove_sip_user {
54
+    USER_FOUND=
55
+    NEW_CONFIG_FILE="${CONFIG_FILE}.new"
56
+    if [ -f $NEW_CONFIG_FILE ]; then
57
+        rm -f $NEW_CONFIG_FILE
58
+    fi
59
+    touch $NEW_CONFIG_FILE
60
+    for line in $ (cat $CONFIG_FILE)
61
+    do
62
+        if [ ! $USER_FOUND ]; then
63
+            if [[ "$line" == "<user id=\"$MY_USERNAME\">" ]]; then
64
+                USER_FOUND="yes"
65
+            fi
66
+        fi
67
+        if [ ! $USER_FOUND ]; then
68
+            echo "$line" >> $NEW_CONFIG_FILE
69
+        else
70
+            if [[ "$line" == '</user>' ]]; then
71
+                USER_FOUND=
72
+            fi
73
+        fi
74
+    done
75
+    mv $NEW_CONFIG_FILE $CONFIG_FILE
76
+}
77
+
78
+if [ ! $MY_USERNAME ]; then
79
+    show_help
80
+fi
81
+
82
+if [ ! -f $CONFIG_FILE ]; then
83
+    echo "SIP configuration file not found"
84
+    exit 1
85
+fi
86
+
87
+# the user must already exist on the system
88
+if [ ! -d /home/$MY_USERNAME ]; then
89
+    echo "User $MY_USERNAME not found"
90
+    exit 2
91
+fi
92
+
93
+sip_user_exists
94
+
95
+if [[ $USER_EXISTS != "yes" ]]; then
96
+    echo 'User not found within SIP configuration file'
97
+    exit 3
98
+fi
99
+
100
+remove_sip_user
101
+
102
+service sipwitch restart
103
+
104
+echo "SIP user $MY_USERNAME removed"
32 105
 exit 0