Browse Source

Handling the global irc password

Bob Mottram 8 years ago
parent
commit
c53f44cddf
1 changed files with 17 additions and 19 deletions
  1. 17
    19
      src/freedombone-app-irc

+ 17
- 19
src/freedombone-app-irc View File

@@ -47,7 +47,6 @@ irc_variables=(MY_USERNAME
47 47
                MY_NAME
48 48
                IRC_PORT
49 49
                IRC_BOUNCER_PORT
50
-               IRC_PASSWORD
51 50
                IRC_ONION_HOSTNAME
52 51
                IRC_OPERATOR_PASSWORD
53 52
                DEFAULT_DOMAIN_NAME
@@ -55,6 +54,10 @@ irc_variables=(MY_USERNAME
55 54
                IRC_BUFFER_LENGTH
56 55
                ONION_ONLY)
57 56
 
57
+function irc_get_global_password {
58
+    echo $(cat /etc/ngircd/ngircd.conf | grep "Password =" | head -n 1 | awk -F '=' '{print $2}')
59
+}
60
+
58 61
 function start_irc_bouncer {
59 62
     update_default_domain
60 63
     if [ ! -f /home/znc/.znc/znc.pem ]; then
@@ -75,7 +78,7 @@ function create_irssi_config {
75 78
 
76 79
     read_config_param IRC_BOUNCER_PORT
77 80
     read_config_param IRC_ONION_PORT
78
-    read_config_param IRC_PASSWORD
81
+    IRC_PASSWORD=$(irc_get_global_password)
79 82
 
80 83
     new_name="$2"
81 84
     if [ ${#new_name} -eq 0 ]; then
@@ -172,10 +175,6 @@ function remove_user_irc {
172 175
     fi
173 176
 }
174 177
 
175
-function irc_get_global_password {
176
-    echo $(cat /etc/ngircd/ngircd.conf | grep "Password =" | head -n 1 | awk -F '=' '{print $2}')
177
-}
178
-
179 178
 function irc_set_global_password_base {
180 179
     NEW_IRC_PASSWORD="$1"
181 180
     EXISTING_IRC_PASSWORD=$(irc_get_global_password)
@@ -241,25 +240,21 @@ function change_password_irc {
241 240
 
242 241
 function add_user_irc_bouncer {
243 242
     new_username="$1"
244
-    new_user_password="$2"
243
+    new_user_password=$(irc_get_global_password)
244
+    IRC_PASSWORD="$new_user_password"
245 245
     is_admin='true'
246 246
     if [ ! $3 ]; then
247 247
         is_admin='false'
248 248
     fi
249 249
 
250
-
251 250
     if [[ $(is_valid_user "$new_username") == "0" ]]; then
252 251
         return
253 252
     fi
254 253
 
255
-    ${PROJECT_NAME}-pass -u $new_username -a irc -p "$new_user_password"
256
-
257 254
     read_config_param IRC_PORT
258 255
     read_config_param DEFAULT_DOMAIN_NAME
259
-    if [ ! $2 ]; then
260
-        read_config_param IRC_PASSWORD
261
-        new_user_password="$IRC_PASSWORD"
262
-    fi
256
+
257
+    ${PROJECT_NAME}-pass -u $new_username -a irc -p "$new_user_password"
263 258
 
264 259
     stop_irc_bouncer
265 260
 
@@ -525,12 +520,15 @@ function install_irc_server {
525 520
 
526 521
     DEFAULTDOMAIN=${DEFAULT_DOMAIN_NAME}
527 522
 
528
-    # create a login password if needed
529
-    if [ ! ${IRC_PASSWORD} ]; then
530
-        IRC_PASSWORD="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
531
-    fi
523
+    IRC_PASSWORD="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
532 524
 
533
-    ${PROJECT_NAME}-pass -u $MY_USERNAME -a irc -p "$IRC_PASSWORD"
525
+    # Change the password for all users
526
+    for d in /home/*/ ; do
527
+        USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
528
+        if [[ $(is_valid_user "$USERNAME") == "1" ]]; then
529
+            ${PROJECT_NAME}-pass -u "$USERNAME" -a irc -p "$IRC_PASSWORD"
530
+        fi
531
+    done
534 532
 
535 533
     echo '**************************************************' > /etc/ngircd/motd
536 534
     echo $'*           F R E E D O M B O N E   I R C        *' >> /etc/ngircd/motd