Selaa lähdekoodia

Handling the global irc password

Bob Mottram 8 vuotta sitten
vanhempi
commit
c53f44cddf
1 muutettua tiedostoa jossa 17 lisäystä ja 19 poistoa
  1. 17
    19
      src/freedombone-app-irc

+ 17
- 19
src/freedombone-app-irc Näytä tiedosto

47
                MY_NAME
47
                MY_NAME
48
                IRC_PORT
48
                IRC_PORT
49
                IRC_BOUNCER_PORT
49
                IRC_BOUNCER_PORT
50
-               IRC_PASSWORD
51
                IRC_ONION_HOSTNAME
50
                IRC_ONION_HOSTNAME
52
                IRC_OPERATOR_PASSWORD
51
                IRC_OPERATOR_PASSWORD
53
                DEFAULT_DOMAIN_NAME
52
                DEFAULT_DOMAIN_NAME
55
                IRC_BUFFER_LENGTH
54
                IRC_BUFFER_LENGTH
56
                ONION_ONLY)
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
 function start_irc_bouncer {
61
 function start_irc_bouncer {
59
     update_default_domain
62
     update_default_domain
60
     if [ ! -f /home/znc/.znc/znc.pem ]; then
63
     if [ ! -f /home/znc/.znc/znc.pem ]; then
75
 
78
 
76
     read_config_param IRC_BOUNCER_PORT
79
     read_config_param IRC_BOUNCER_PORT
77
     read_config_param IRC_ONION_PORT
80
     read_config_param IRC_ONION_PORT
78
-    read_config_param IRC_PASSWORD
81
+    IRC_PASSWORD=$(irc_get_global_password)
79
 
82
 
80
     new_name="$2"
83
     new_name="$2"
81
     if [ ${#new_name} -eq 0 ]; then
84
     if [ ${#new_name} -eq 0 ]; then
172
     fi
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
 function irc_set_global_password_base {
178
 function irc_set_global_password_base {
180
     NEW_IRC_PASSWORD="$1"
179
     NEW_IRC_PASSWORD="$1"
181
     EXISTING_IRC_PASSWORD=$(irc_get_global_password)
180
     EXISTING_IRC_PASSWORD=$(irc_get_global_password)
241
 
240
 
242
 function add_user_irc_bouncer {
241
 function add_user_irc_bouncer {
243
     new_username="$1"
242
     new_username="$1"
244
-    new_user_password="$2"
243
+    new_user_password=$(irc_get_global_password)
244
+    IRC_PASSWORD="$new_user_password"
245
     is_admin='true'
245
     is_admin='true'
246
     if [ ! $3 ]; then
246
     if [ ! $3 ]; then
247
         is_admin='false'
247
         is_admin='false'
248
     fi
248
     fi
249
 
249
 
250
-
251
     if [[ $(is_valid_user "$new_username") == "0" ]]; then
250
     if [[ $(is_valid_user "$new_username") == "0" ]]; then
252
         return
251
         return
253
     fi
252
     fi
254
 
253
 
255
-    ${PROJECT_NAME}-pass -u $new_username -a irc -p "$new_user_password"
256
-
257
     read_config_param IRC_PORT
254
     read_config_param IRC_PORT
258
     read_config_param DEFAULT_DOMAIN_NAME
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
     stop_irc_bouncer
259
     stop_irc_bouncer
265
 
260
 
525
 
520
 
526
     DEFAULTDOMAIN=${DEFAULT_DOMAIN_NAME}
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
     echo '**************************************************' > /etc/ngircd/motd
533
     echo '**************************************************' > /etc/ngircd/motd
536
     echo $'*           F R E E D O M B O N E   I R C        *' >> /etc/ngircd/motd
534
     echo $'*           F R E E D O M B O N E   I R C        *' >> /etc/ngircd/motd