| 
				
			 | 
			
			
				@@ -39,9 +39,10 @@ SSH_HOST_KEY_ALGORITHMS= 
			 | 
		
	
		
			
			| 
				39
			 | 
			
				39
			 | 
			
			
				 XMPP_CIPHERS= 
			 | 
		
	
		
			
			| 
				40
			 | 
			
				40
			 | 
			
			
				 XMPP_ECC_CURVE= 
			 | 
		
	
		
			
			| 
				41
			 | 
			
				41
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				42
			 | 
			
				
			 | 
			
			
				-WIKI_DOMAIN_NAME= 
			 | 
		
	
		
			
			| 
				43
			 | 
			
				42
			 | 
			
			
				 WEBSITES_DIRECTORY='/etc/nginx/sites-available' 
			 | 
		
	
		
			
			| 
				44
			 | 
			
				43
			 | 
			
			
				 DOVECOT_CIPHERS='/etc/dovecot/conf.d/10-ssl.conf' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				44
			 | 
			
			
				+SSH_CONFIG='/etc/ssh/sshd_config' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				45
			 | 
			
			
				+XMPP_CONFIG='/etc/prosody/conf.avail/xmpp.cfg.lua' 
			 | 
		
	
		
			
			| 
				45
			 | 
			
				46
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				46
			 | 
			
				47
			 | 
			
			
				 MINIMUM_LENGTH=6 
			 | 
		
	
		
			
			| 
				47
			 | 
			
				48
			 | 
			
			
				  
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -49,14 +50,14 @@ function get_protocols_from_website { 
			 | 
		
	
		
			
			| 
				49
			 | 
			
				50
			 | 
			
			
				   if [ ! -f $WEBSITES_DIRECTORY/$1 ]; then 
			 | 
		
	
		
			
			| 
				50
			 | 
			
				51
			 | 
			
			
				       return 
			 | 
		
	
		
			
			| 
				51
			 | 
			
				52
			 | 
			
			
				   fi 
			 | 
		
	
		
			
			| 
				52
			 | 
			
				
			 | 
			
			
				-  SSL_PROTOCOLS=$(cat $WEBSITES_DIRECTORY/$1 | grep 'ssl_protocols' | awk -F "ssl_protocols" '{print $2}' | awk -F ';' '{print $1}') 
			 | 
		
	
		
			
			| 
				
			 | 
			
				53
			 | 
			
			
				+  SSL_PROTOCOLS=$(cat $WEBSITES_DIRECTORY/$1 | grep 'ssl_protocols ' | awk -F "ssl_protocols " '{print $2}' | awk -F ';' '{print $1}') 
			 | 
		
	
		
			
			| 
				53
			 | 
			
				54
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				54
			 | 
			
				55
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				55
			 | 
			
				56
			 | 
			
			
				 function get_ciphers_from_website { 
			 | 
		
	
		
			
			| 
				56
			 | 
			
				57
			 | 
			
			
				   if [ ! -f $WEBSITES_DIRECTORY/$1 ]; then 
			 | 
		
	
		
			
			| 
				57
			 | 
			
				58
			 | 
			
			
				       return 
			 | 
		
	
		
			
			| 
				58
			 | 
			
				59
			 | 
			
			
				   fi 
			 | 
		
	
		
			
			| 
				59
			 | 
			
				
			 | 
			
			
				-  SSL_CIPHERS=$(cat $WEBSITES_DIRECTORY/$1 | grep 'ssl_ciphers' | awk -F "ssl_ciphers" '{print $2}' | awk -F "'" '{print $2}') 
			 | 
		
	
		
			
			| 
				
			 | 
			
				60
			 | 
			
			
				+  SSL_CIPHERS=$(cat $WEBSITES_DIRECTORY/$1 | grep 'ssl_ciphers ' | awk -F "ssl_ciphers " '{print $2}' | awk -F "'" '{print $2}') 
			 | 
		
	
		
			
			| 
				60
			 | 
			
				61
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				61
			 | 
			
				62
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				62
			 | 
			
				63
			 | 
			
			
				 function get_website_settings { 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -84,17 +85,42 @@ function get_imap_settings { 
			 | 
		
	
		
			
			| 
				84
			 | 
			
				85
			 | 
			
			
				   fi 
			 | 
		
	
		
			
			| 
				85
			 | 
			
				86
			 | 
			
			
				   # clear commented out cipher list 
			 | 
		
	
		
			
			| 
				86
			 | 
			
				87
			 | 
			
			
				   sed -i "s|#ssl_cipher_list.*||g" $DOVECOT_CIPHERS 
			 | 
		
	
		
			
			| 
				87
			 | 
			
				
			 | 
			
			
				-  if [ ! $SSL_CIPHERS ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				88
			 | 
			
			
				+  if [ $SSL_CIPHERS ]; then 
			 | 
		
	
		
			
			| 
				88
			 | 
			
				89
			 | 
			
			
				       return 
			 | 
		
	
		
			
			| 
				89
			 | 
			
				90
			 | 
			
			
				   fi 
			 | 
		
	
		
			
			| 
				90
			 | 
			
				
			 | 
			
			
				-  if [ ${#SSL_CIPHERS} -lt $MINIMUM_LENGTH ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				91
			 | 
			
			
				+  if [ ${#SSL_CIPHERS} -gt $MINIMUM_LENGTH ]; then 
			 | 
		
	
		
			
			| 
				91
			 | 
			
				92
			 | 
			
			
				       return 
			 | 
		
	
		
			
			| 
				92
			 | 
			
				93
			 | 
			
			
				   fi 
			 | 
		
	
		
			
			| 
				93
			 | 
			
				94
			 | 
			
			
				   SSL_CIPHERS=$(cat $DOVECOT_CIPHERS | grep 'ssl_cipher_list' | awk -F '=' '{print $2}' | awk -F "'" '{print $2}') 
			 | 
		
	
		
			
			| 
				94
			 | 
			
				95
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				95
			 | 
			
				96
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				
			 | 
			
				97
			 | 
			
			
				+function get_xmpp_settings { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				98
			 | 
			
			
				+  if [ ! -f $XMPP_CONFIG ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				99
			 | 
			
			
				+      return 
			 | 
		
	
		
			
			| 
				
			 | 
			
				100
			 | 
			
			
				+  fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				101
			 | 
			
			
				+  XMPP_CIPHERS=$(cat $XMPP_CONFIG | grep 'ciphers ' | awk -F '=' '{print $2}' | awk -F '"' '{print $2}') 
			 | 
		
	
		
			
			| 
				
			 | 
			
				102
			 | 
			
			
				+  XMPP_ECC_CURVE=$(cat $XMPP_CONFIG | grep 'curve ' | awk -F '=' '{print $2}' | awk -F '"' '{print $2}') 
			 | 
		
	
		
			
			| 
				
			 | 
			
				103
			 | 
			
			
				+} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				104
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				105
			 | 
			
			
				+function get_ssh_settings { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				106
			 | 
			
			
				+  if [ -f $SSH_CONFIG ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				107
			 | 
			
			
				+      SSH_CIPHERS=$(cat $SSH_CONFIG | grep 'Ciphers ' | awk -F 'Ciphers ' '{print $2}') 
			 | 
		
	
		
			
			| 
				
			 | 
			
				108
			 | 
			
			
				+      SSH_MACS=$(cat $SSH_CONFIG | grep 'MACs ' | awk -F 'MACs ' '{print $2}') 
			 | 
		
	
		
			
			| 
				
			 | 
			
				109
			 | 
			
			
				+      SSH_KEX=$(cat $SSH_CONFIG | grep 'KexAlgorithms ' | awk -F 'KexAlgorithms ' '{print $2}') 
			 | 
		
	
		
			
			| 
				
			 | 
			
				110
			 | 
			
			
				+  fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				111
			 | 
			
			
				+  if [ -f /etc/ssh/ssh_config ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				112
			 | 
			
			
				+      SSH_HOST_KEY_ALGORITHMS=$(cat /etc/ssh/ssh_config | grep 'HostKeyAlgorithms ' | awk -F 'HostKeyAlgorithms ' '{print $2}') 
			 | 
		
	
		
			
			| 
				
			 | 
			
				113
			 | 
			
			
				+      if [ ! $SSH_CIPHERS ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				114
			 | 
			
			
				+          SSH_CIPHERS=$(cat /etc/ssh/ssh_config | grep 'Ciphers ' | awk -F 'Ciphers ' '{print $2}') 
			 | 
		
	
		
			
			| 
				
			 | 
			
				115
			 | 
			
			
				+      fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				116
			 | 
			
			
				+      if [ ! $SSH_MACS ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				117
			 | 
			
			
				+          SSH_MACS=$(cat /etc/ssh/ssh_config | grep 'MACs ' | awk -F 'MACs ' '{print $2}') 
			 | 
		
	
		
			
			| 
				
			 | 
			
				118
			 | 
			
			
				+      fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				119
			 | 
			
			
				+  fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				120
			 | 
			
			
				+} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				121
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				96
			 | 
			
				122
			 | 
			
			
				 function change_website_settings { 
			 | 
		
	
		
			
			| 
				97
			 | 
			
				
			 | 
			
			
				-  if [ ! $SSL_PROTOCOLS ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				123
			 | 
			
			
				+  if [ ! "$SSL_PROTOCOLS" ]; then 
			 | 
		
	
		
			
			| 
				98
			 | 
			
				124
			 | 
			
			
				       return 
			 | 
		
	
		
			
			| 
				99
			 | 
			
				125
			 | 
			
			
				   fi 
			 | 
		
	
		
			
			| 
				100
			 | 
			
				126
			 | 
			
			
				   if [ ! $SSL_CIPHERS ]; then 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -116,6 +142,7 @@ function change_website_settings { 
			 | 
		
	
		
			
			| 
				116
			 | 
			
				142
			 | 
			
			
				       sed -i "s|ssl_ciphers .*|ssl_ciphers '$SSL_CIPHERS';|g" $WEBSITES_DIRECTORY/$file 
			 | 
		
	
		
			
			| 
				117
			 | 
			
				143
			 | 
			
			
				   done 
			 | 
		
	
		
			
			| 
				118
			 | 
			
				144
			 | 
			
			
				   service nginx restart 
			 | 
		
	
		
			
			| 
				
			 | 
			
				145
			 | 
			
			
				+  echo 'Web security settings changed' 
			 | 
		
	
		
			
			| 
				119
			 | 
			
				146
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				120
			 | 
			
				147
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				121
			 | 
			
				148
			 | 
			
			
				 function change_imap_settings { 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -130,6 +157,122 @@ function change_imap_settings { 
			 | 
		
	
		
			
			| 
				130
			 | 
			
				157
			 | 
			
			
				   fi 
			 | 
		
	
		
			
			| 
				131
			 | 
			
				158
			 | 
			
			
				   sed -i "s|ssl_cipher_list.*|ssl_cipher_list = '$SSL_CIPHERS'|g" $DOVECOT_CIPHERS 
			 | 
		
	
		
			
			| 
				132
			 | 
			
				159
			 | 
			
			
				   service dovecot restart 
			 | 
		
	
		
			
			| 
				
			 | 
			
				160
			 | 
			
			
				+  echo 'imap security settings changed' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				161
			 | 
			
			
				+} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				162
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				163
			 | 
			
			
				+function change_ssh_settings { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				164
			 | 
			
			
				+  if [ -f /etc/ssh/ssh_config ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				165
			 | 
			
			
				+      if [ $SSH_HOST_KEY_ALGORITHMS ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				166
			 | 
			
			
				+          sed -i "s|HostKeyAlgorithms .*|HostKeyAlgorithms $SSH_HOST_KEY_ALGORITHMS|g" /etc/ssh/ssh_config 
			 | 
		
	
		
			
			| 
				
			 | 
			
				167
			 | 
			
			
				+          echo 'ssh client security settings changed' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				168
			 | 
			
			
				+      fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				169
			 | 
			
			
				+  fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				170
			 | 
			
			
				+  if [ -f $SSH_CONFIG ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				171
			 | 
			
			
				+      if [ ! $SSH_CIPHERS ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				172
			 | 
			
			
				+          return 
			 | 
		
	
		
			
			| 
				
			 | 
			
				173
			 | 
			
			
				+      fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				174
			 | 
			
			
				+      if [ ! $SSH_MACS ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				175
			 | 
			
			
				+          return 
			 | 
		
	
		
			
			| 
				
			 | 
			
				176
			 | 
			
			
				+      fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				177
			 | 
			
			
				+      if [ ! $SSH_KEX ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				178
			 | 
			
			
				+          return 
			 | 
		
	
		
			
			| 
				
			 | 
			
				179
			 | 
			
			
				+      fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				180
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				181
			 | 
			
			
				+      sed -i "s|Ciphers .*|Ciphers $SSH_CIPHERS|g" $SSH_CONFIG 
			 | 
		
	
		
			
			| 
				
			 | 
			
				182
			 | 
			
			
				+      sed -i "s|MACs .*|MACs $SSH_MACS|g" $SSH_CONFIG 
			 | 
		
	
		
			
			| 
				
			 | 
			
				183
			 | 
			
			
				+      sed -i "s|KexAlgorithms .*|KexAlgorithms $SSH_KEX|g" $SSH_CONFIG 
			 | 
		
	
		
			
			| 
				
			 | 
			
				184
			 | 
			
			
				+      service ssh restart 
			 | 
		
	
		
			
			| 
				
			 | 
			
				185
			 | 
			
			
				+      echo 'ssh server security settings changed' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				186
			 | 
			
			
				+  fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				187
			 | 
			
			
				+} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				188
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				189
			 | 
			
			
				+function change_xmpp_settings { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				190
			 | 
			
			
				+  if [ ! -f $XMPP_CONFIG ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				191
			 | 
			
			
				+      return 
			 | 
		
	
		
			
			| 
				
			 | 
			
				192
			 | 
			
			
				+  fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				193
			 | 
			
			
				+  if [ ! $XMPP_CIPHERS ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				194
			 | 
			
			
				+      return 
			 | 
		
	
		
			
			| 
				
			 | 
			
				195
			 | 
			
			
				+  fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				196
			 | 
			
			
				+  if [ ! $XMPP_ECC_CURVE ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				197
			 | 
			
			
				+      return 
			 | 
		
	
		
			
			| 
				
			 | 
			
				198
			 | 
			
			
				+  fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				199
			 | 
			
			
				+  sed -i "s|ciphers =.*|ciphers = \"$XMPP_CIPHERS\";|g" $XMPP_CONFIG 
			 | 
		
	
		
			
			| 
				
			 | 
			
				200
			 | 
			
			
				+  sed -i "s|curve =.*|curve = \"$XMPP_ECC_CURVE\";|g" $XMPP_CONFIG 
			 | 
		
	
		
			
			| 
				
			 | 
			
				201
			 | 
			
			
				+  service prosody restart 
			 | 
		
	
		
			
			| 
				
			 | 
			
				202
			 | 
			
			
				+  echo 'xmpp security settings changed' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				203
			 | 
			
			
				+} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				204
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				205
			 | 
			
			
				+function interactive_setup { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				206
			 | 
			
			
				+  if [ $SSL_CIPHERS ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				207
			 | 
			
			
				+      data=$(tempfile 2>/dev/null) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				208
			 | 
			
			
				+      trap "rm -f $data" 0 1 2 5 15 
			 | 
		
	
		
			
			| 
				
			 | 
			
				209
			 | 
			
			
				+      dialog --backtitle "Freedombone Security Configuration" \ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				210
			 | 
			
			
				+          --form "\nWeb/IMAP Ciphers:" 10 95 2 \ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				211
			 | 
			
			
				+          "Protocols:" 1 1 "$SSL_PROTOCOLS" 1 15 90 90 \ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				212
			 | 
			
			
				+          "Ciphers:" 2 1 "$SSL_CIPHERS" 2 15 90 512 \ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				213
			 | 
			
			
				+          2> $data 
			 | 
		
	
		
			
			| 
				
			 | 
			
				214
			 | 
			
			
				+      sel=$? 
			 | 
		
	
		
			
			| 
				
			 | 
			
				215
			 | 
			
			
				+      case $sel in 
			 | 
		
	
		
			
			| 
				
			 | 
			
				216
			 | 
			
			
				+          1) SSL_PROTOCOLS=$(cat $data | sed -n 1p) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				217
			 | 
			
			
				+             SSL_CIPHERS=$(cat $data | sed -n 2p) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				218
			 | 
			
			
				+             ;; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				219
			 | 
			
			
				+          255) exit 0;; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				220
			 | 
			
			
				+      esac 
			 | 
		
	
		
			
			| 
				
			 | 
			
				221
			 | 
			
			
				+  fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				222
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				223
			 | 
			
			
				+  data=$(tempfile 2>/dev/null) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				224
			 | 
			
			
				+  trap "rm -f $data" 0 1 2 5 15 
			 | 
		
	
		
			
			| 
				
			 | 
			
				225
			 | 
			
			
				+  if [ $SSH_HOST_KEY_ALGORITHMS ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				226
			 | 
			
			
				+      dialog --backtitle "Freedombone Security Configuration" \ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				227
			 | 
			
			
				+        --form "\nSecure Shell Ciphers:" 13 95 4 \ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				228
			 | 
			
			
				+         "Ciphers:" 1 1 "$SSH_CIPHERS" 1 15 90 512 \ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				229
			 | 
			
			
				+         "MACs:" 2 1 "$SSH_MACS" 2 15 90 512 \ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				230
			 | 
			
			
				+         "KEX:" 3 1 "$SSH_KEX" 3 15 90 512 \ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				231
			 | 
			
			
				+         "Host key algorithms:" 4 1 "$SSH_HOST_KEY_ALGORITHMS" 4 15 90 512 \ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				232
			 | 
			
			
				+         2> $data 
			 | 
		
	
		
			
			| 
				
			 | 
			
				233
			 | 
			
			
				+      sel=$? 
			 | 
		
	
		
			
			| 
				
			 | 
			
				234
			 | 
			
			
				+      case $sel in 
			 | 
		
	
		
			
			| 
				
			 | 
			
				235
			 | 
			
			
				+          1) SSH_CIPHERS=$(cat $data | sed -n 1p) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				236
			 | 
			
			
				+             SSH_MACS=$(cat $data | sed -n 2p) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				237
			 | 
			
			
				+             SSH_KEX=$(cat $data | sed -n 3p) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				238
			 | 
			
			
				+             SSH_HOST_KEY_ALGORITHMS=$(cat $data | sed -n 4p) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				239
			 | 
			
			
				+             ;; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				240
			 | 
			
			
				+          255) exit 0;; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				241
			 | 
			
			
				+      esac 
			 | 
		
	
		
			
			| 
				
			 | 
			
				242
			 | 
			
			
				+  else 
			 | 
		
	
		
			
			| 
				
			 | 
			
				243
			 | 
			
			
				+      dialog --backtitle "Freedombone Security Configuration" \ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				244
			 | 
			
			
				+        --form "\nSecure Shell Ciphers:" 11 95 3 \ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				245
			 | 
			
			
				+         "Ciphers:" 1 1 "$SSH_CIPHERS" 1 15 90 512 \ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				246
			 | 
			
			
				+         "MACs:" 2 1 "$SSH_MACS" 2 15 90 512 \ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				247
			 | 
			
			
				+         "KEX:" 3 1 "$SSH_KEX" 3 15 90 512 \ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				248
			 | 
			
			
				+         2> $data 
			 | 
		
	
		
			
			| 
				
			 | 
			
				249
			 | 
			
			
				+      sel=$? 
			 | 
		
	
		
			
			| 
				
			 | 
			
				250
			 | 
			
			
				+      case $sel in 
			 | 
		
	
		
			
			| 
				
			 | 
			
				251
			 | 
			
			
				+          1) SSH_CIPHERS=$(cat $data | sed -n 1p) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				252
			 | 
			
			
				+             SSH_MACS=$(cat $data | sed -n 2p) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				253
			 | 
			
			
				+             SSH_KEX=$(cat $data | sed -n 3p) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				254
			 | 
			
			
				+             ;; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				255
			 | 
			
			
				+          255) exit 0;; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				256
			 | 
			
			
				+      esac 
			 | 
		
	
		
			
			| 
				
			 | 
			
				257
			 | 
			
			
				+  fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				258
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				259
			 | 
			
			
				+  if [ $XMPP_CIPHERS ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				260
			 | 
			
			
				+      data=$(tempfile 2>/dev/null) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				261
			 | 
			
			
				+      trap "rm -f $data" 0 1 2 5 15 
			 | 
		
	
		
			
			| 
				
			 | 
			
				262
			 | 
			
			
				+      dialog --backtitle "Freedombone Security Configuration" \ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				263
			 | 
			
			
				+          --form "\nXMPP Ciphers:" 10 95 2 \ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				264
			 | 
			
			
				+          "Ciphers:" 1 1 "$XMPP_CIPHERS" 1 15 90 512 \ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				265
			 | 
			
			
				+          "ECC Curve:" 2 1 "$XMPP_ECC_CURVE" 2 15 50 50 \ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				266
			 | 
			
			
				+          2> $data 
			 | 
		
	
		
			
			| 
				
			 | 
			
				267
			 | 
			
			
				+      sel=$? 
			 | 
		
	
		
			
			| 
				
			 | 
			
				268
			 | 
			
			
				+      case $sel in 
			 | 
		
	
		
			
			| 
				
			 | 
			
				269
			 | 
			
			
				+          1) XMPP_CIPHERS=$(cat $data | sed -n 1p) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				270
			 | 
			
			
				+             XMPP_ECC_CURVE=$(cat $data | sed -n 2p) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				271
			 | 
			
			
				+             ;; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				272
			 | 
			
			
				+          255) exit 0;; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				273
			 | 
			
			
				+      esac 
			 | 
		
	
		
			
			| 
				
			 | 
			
				274
			 | 
			
			
				+  fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				275
			 | 
			
			
				+  clear 
			 | 
		
	
		
			
			| 
				133
			 | 
			
				276
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				134
			 | 
			
				277
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				135
			 | 
			
				278
			 | 
			
			
				 while [[ $# > 1 ]] 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -153,6 +296,12 @@ shift 
			 | 
		
	
		
			
			| 
				153
			 | 
			
				296
			 | 
			
			
				 done 
			 | 
		
	
		
			
			| 
				154
			 | 
			
				297
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				155
			 | 
			
				298
			 | 
			
			
				 get_website_settings 
			 | 
		
	
		
			
			| 
				156
			 | 
			
				
			 | 
			
			
				-#change_website_settings 
			 | 
		
	
		
			
			| 
				157
			 | 
			
				
			 | 
			
			
				-#change_imap_settings 
			 | 
		
	
		
			
			| 
				
			 | 
			
				299
			 | 
			
			
				+get_imap_settings 
			 | 
		
	
		
			
			| 
				
			 | 
			
				300
			 | 
			
			
				+get_ssh_settings 
			 | 
		
	
		
			
			| 
				
			 | 
			
				301
			 | 
			
			
				+get_xmpp_settings 
			 | 
		
	
		
			
			| 
				
			 | 
			
				302
			 | 
			
			
				+interactive_setup 
			 | 
		
	
		
			
			| 
				
			 | 
			
				303
			 | 
			
			
				+change_website_settings 
			 | 
		
	
		
			
			| 
				
			 | 
			
				304
			 | 
			
			
				+change_imap_settings 
			 | 
		
	
		
			
			| 
				
			 | 
			
				305
			 | 
			
			
				+change_ssh_settings 
			 | 
		
	
		
			
			| 
				
			 | 
			
				306
			 | 
			
			
				+change_xmpp_settings 
			 | 
		
	
		
			
			| 
				158
			 | 
			
				307
			 | 
			
			
				 exit 0 
			 |