瀏覽代碼

Regenerating user vpn keys

Bob Mottram 7 年之前
父節點
當前提交
063bcca516
共有 1 個文件被更改,包括 28 次插入3 次删除
  1. 28
    3
      src/freedombone-app-vpn

+ 28
- 3
src/freedombone-app-vpn 查看文件

@@ -107,6 +107,7 @@ function vpn_change_tls_port {
107 107
             tlsport=$(<$data)
108 108
             if [ ${#tlsport} -gt 0 ]; then
109 109
                 if [[ "$tlsport" != "$EXISTING_VPN_TLS_PORT" ]]; then
110
+                    clear
110 111
                     VPN_TLS_PORT=$tlsport
111 112
                     write_config_param "VPN_TLS_PORT" "$VPN_TLS_PORT"
112 113
                     sed -i "s|accept =.*|accept = $VPN_TLS_PORT|g" /etc/stunnel/stunnel.conf
@@ -138,6 +139,28 @@ function vpn_change_tls_port {
138 139
     esac
139 140
 }
140 141
 
142
+function vpn_regenerate_client_keys {
143
+    data=$(tempfile 2>/dev/null)
144
+    trap "rm -f $data" 0 1 2 5 15
145
+    dialog --title $"Regenerate VPN keys for a user" \
146
+           --backtitle $"Freedombone Control Panel" \
147
+           --inputbox $'username' 10 50 2>$data
148
+    sel=$?
149
+    case $sel in
150
+        0)
151
+            USERNAME=$(<$data)
152
+            if [ ${#USERNAME} -gt 0 ]; then
153
+                if [ -d /home/$USERNAME ]; then
154
+                    clear
155
+                    create_user_vpn_key $USERNAME
156
+                    dialog --title $"Regenerate VPN keys for a user" \
157
+                           --msgbox $"VPN keys were regenerated for $USERNAME" 6 60
158
+                fi
159
+            fi
160
+            ;;
161
+    esac
162
+}
163
+
141 164
 function configure_interactive_vpn {
142 165
     read_config_param VPN_TLS_PORT
143 166
     while true
@@ -146,9 +169,10 @@ function configure_interactive_vpn {
146 169
         trap "rm -f $data" 0 1 2 5 15
147 170
         dialog --backtitle $"Freedombone Control Panel" \
148 171
                --title $"VPN Configuration" \
149
-               --radiolist $"Choose an operation:" 12 70 2 \
172
+               --radiolist $"Choose an operation:" 13 70 3 \
150 173
                1 $"Change TLS port (currently $VPN_TLS_PORT)" off \
151
-               2 $"Exit" on 2> $data
174
+               2 $"Regenerate keys for a user" off \
175
+               3 $"Exit" on 2> $data
152 176
         sel=$?
153 177
         case $sel in
154 178
             1) return;;
@@ -156,7 +180,8 @@ function configure_interactive_vpn {
156 180
         esac
157 181
         case $(cat $data) in
158 182
             1) vpn_change_tls_port;;
159
-            2) break;;
183
+            2) vpn_regenerate_client_keys;;
184
+            3) break;;
160 185
         esac
161 186
     done
162 187
 }