Bob Mottram пре 8 година
родитељ
комит
ef0b5366de
1 измењених фајлова са 13 додато и 8 уклоњено
  1. 13
    8
      src/freedombone-app-etherpad

+ 13
- 8
src/freedombone-app-etherpad Прегледај датотеку

53
                     DDNS_PROVIDER
53
                     DDNS_PROVIDER
54
                     MY_USERNAME)
54
                     MY_USERNAME)
55
 
55
 
56
+function etherpad_password_hash {
57
+    echo $(python -c "from passlib.hash import bcrypt;print(bcrypt.encrypt(\"$1\", rounds=10))")
58
+}
59
+
56
 function change_password_etherpad {
60
 function change_password_etherpad {
57
     change_username="$1"
61
     change_username="$1"
58
-    new_user_password="$2"
62
+    new_user_password=$(etherpad_password_hash "$2")
59
 
63
 
60
     read_config_param ETHERPAD_DOMAIN_NAME
64
     read_config_param ETHERPAD_DOMAIN_NAME
61
 
65
 
62
     if grep "\"$change_username\": {" /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json; then
66
     if grep "\"$change_username\": {" /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json; then
63
         user_line=$(cat /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json | grep "\"$change_username\": {")
67
         user_line=$(cat /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json | grep "\"$change_username\": {")
64
         if [[ "$user_line" == *"\"is_admin\": true"* ]]; then
68
         if [[ "$user_line" == *"\"is_admin\": true"* ]]; then
65
-            sed -i "s|\"$change_username\": {.*|\"$change_username\": { \"password\": \"$new_user_password\", \"is_admin\": true }|g" /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
69
+            sed -i "s|\"$change_username\": {.*|\"$change_username\": { \"hash\": \"$new_user_password\", \"is_admin\": true }|g" /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
66
         else
70
         else
67
-            sed -i "s|\"$change_username\": {.*|\"$change_username\": { \"password\": \"$new_user_password\", \"is_admin\": false },|g" /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
71
+            sed -i "s|\"$change_username\": {.*|\"$change_username\": { \"hash\": \"$new_user_password\", \"is_admin\": false },|g" /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
68
         fi
72
         fi
69
-        ${PROJECT_NAME}-pass -u $change_username -a etherpad -p "$new_user_password"
73
+        ${PROJECT_NAME}-pass -u $change_username -a etherpad -p "$2"
70
         systemctl restart etherpad
74
         systemctl restart etherpad
71
     fi
75
     fi
72
 }
76
 }
146
     echo '  "disableIPlogging" : true,' >> $settings_file
150
     echo '  "disableIPlogging" : true,' >> $settings_file
147
 
151
 
148
     echo '  "users": {' >> $settings_file
152
     echo '  "users": {' >> $settings_file
149
-    echo "    \"${MY_USERNAME}\": { \"password\": \"${ETHERPAD_ADMIN_PASSWORD}\", \"is_admin\": true }" >> $settings_file
153
+    echo "    \"${MY_USERNAME}\": { \"hash\": \"$(etherpad_password_hash "${ETHERPAD_ADMIN_PASSWORD}")\", \"is_admin\": true }" >> $settings_file
150
     echo '  },' >> $settings_file
154
     echo '  },' >> $settings_file
151
 
155
 
152
     echo '  "socketTransportProtocols" : ["xhr-polling", "jsonp-polling", "htmlfile"],' >> $settings_file
156
     echo '  "socketTransportProtocols" : ["xhr-polling", "jsonp-polling", "htmlfile"],' >> $settings_file
187
 
191
 
188
 function add_user_etherpad {
192
 function add_user_etherpad {
189
     new_username="$1"
193
     new_username="$1"
190
-    new_user_password="$2"
194
+    new_user_password=$(etherpad_password_hash "$2")
191
     settings_file=/var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
195
     settings_file=/var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
192
 
196
 
193
     if ! grep -q "\"$new_username\": {" $settings_file; then
197
     if ! grep -q "\"$new_username\": {" $settings_file; then
194
         ${PROJECT_NAME}-pass -u $new_username -a etherpad -p "$new_user_password"
198
         ${PROJECT_NAME}-pass -u $new_username -a etherpad -p "$new_user_password"
195
-        sed -i "/\"users\": {/a    \"$new_username\": { \"password\": \"$new_user_password\", \"is_admin\": false }," $settings_file
199
+        sed -i "/\"users\": {/a    \"$new_username\": { \"hash\": \"$new_user_password\", \"is_admin\": false }," $settings_file
196
         if grep -q "\"$new_username\": {" $settings_file; then
200
         if grep -q "\"$new_username\": {" $settings_file; then
197
             systemctl restart etherpad
201
             systemctl restart etherpad
198
         else
202
         else
458
     repair_databases_script
462
     repair_databases_script
459
 
463
 
460
     apt-get -yq install gzip git curl python libssl-dev pkg-config \
464
     apt-get -yq install gzip git curl python libssl-dev pkg-config \
461
-            build-essential python g++ make checkinstall
465
+            build-essential python g++ make checkinstall \
466
+            python-bcrypt python-passlib
462
 
467
 
463
     function_check install_nodejs
468
     function_check install_nodejs
464
     install_nodejs etherpad
469
     install_nodejs etherpad