Browse Source

Command to remove SIP user

Bob Mottram 9 years ago
parent
commit
5f7447665a
3 changed files with 81 additions and 1 deletions
  1. 5
    0
      Makefile
  2. 3
    1
      src/freedombone-addsipuser
  3. 73
    0
      src/freedombone-rmsipuser

+ 5
- 0
Makefile View File

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

+ 3
- 1
src/freedombone-addsipuser View File

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

+ 73
- 0
src/freedombone-rmsipuser View File

29
 # You should have received a copy of the GNU General Public License
29
 # You should have received a copy of the GNU General Public License
30
 # along with this program. If not, see <http://www.gnu.org/licenses/>.
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
 exit 0
105
 exit 0