| 
				
			 | 
			
			
				@@ -56,6 +56,33 @@ function check_keyserver_directory_size { 
			 | 
		
	
		
			
			| 
				56
			 | 
			
				56
			 | 
			
			
				     echo "0" 
			 | 
		
	
		
			
			| 
				57
			 | 
			
				57
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				58
			 | 
			
				58
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				
			 | 
			
				59
			 | 
			
			
				+function keyserver_watchdog { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				60
			 | 
			
			
				+    ADMIN_USERNAME=$(cat $COMPLETION_FILE | grep "Admin user" | awk -F ':' '{print $2}') 
			 | 
		
	
		
			
			| 
				
			 | 
			
				61
			 | 
			
			
				+    ADMIN_EMAIL_ADDRESS=${ADMIN_USERNAME}@${HOSTNAME} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				62
			 | 
			
			
				+    keyserver_size_warning=$"The SKS keyserver database is getting large. Check that you aren't being spammed" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				63
			 | 
			
			
				+    keyserver_disabled_warning=$"The SKS keyserver has been disabled because it is getting too large. This is to prevent flooding attacks from crashing the server." 
			 | 
		
	
		
			
			| 
				
			 | 
			
				64
			 | 
			
			
				+    keyserver_mail_subject_line=$"${PROJECT_NAME} keyserver warning" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				65
			 | 
			
			
				+    keyserver_mail_subject_line_disabled=$"${PROJECT_NAME} keyserver disabled" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				66
			 | 
			
			
				+    read_config_param KEYSERVER_DOMAIN_NAME 
			 | 
		
	
		
			
			| 
				
			 | 
			
				67
			 | 
			
			
				+    keyserver_watchdog_script=/etc/cron.hourly/keyserver-watchdog 
			 | 
		
	
		
			
			| 
				
			 | 
			
				68
			 | 
			
			
				+    echo '#!/bin/bash' > $keyserver_watchdog_script 
			 | 
		
	
		
			
			| 
				
			 | 
			
				69
			 | 
			
			
				+    echo "dirsize=\$(du /var/lib/sks/DB | awk -F ' ' '{print \$1}')" >> $keyserver_watchdog_script 
			 | 
		
	
		
			
			| 
				
			 | 
			
				70
			 | 
			
			
				+    echo 'if [ $dirsize -gt 450000 ]; then' >> $keyserver_watchdog_script 
			 | 
		
	
		
			
			| 
				
			 | 
			
				71
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				72
			 | 
			
			
				+    echo "  echo \"$keyserver_size_warning\" | mail -s \"$keyserver_mail_subject_line\" $ADMIN_EMAIL_ADDRESS" >> $keyserver_watchdog_script 
			 | 
		
	
		
			
			| 
				
			 | 
			
				73
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				74
			 | 
			
			
				+    echo '  if [ $dirsize -gt 500000 ]; then' >> $keyserver_watchdog_script 
			 | 
		
	
		
			
			| 
				
			 | 
			
				75
			 | 
			
			
				+    echo "    nginx_dissite $KEYSERVER_DOMAIN_NAME" >> $keyserver_watchdog_script 
			 | 
		
	
		
			
			| 
				
			 | 
			
				76
			 | 
			
			
				+    echo '    systemctl stop sks' >> $keyserver_watchdog_script 
			 | 
		
	
		
			
			| 
				
			 | 
			
				77
			 | 
			
			
				+    echo '    systemctl disable sks' >> $keyserver_watchdog_script 
			 | 
		
	
		
			
			| 
				
			 | 
			
				78
			 | 
			
			
				+    echo "    echo \"$keyserver_disabled_warning\" | mail -s \"$keyserver_mail_subject_line_disabled\" $ADMIN_EMAIL_ADDRESS" >> $keyserver_watchdog_script 
			 | 
		
	
		
			
			| 
				
			 | 
			
				79
			 | 
			
			
				+    echo '  fi' >> $keyserver_watchdog_script 
			 | 
		
	
		
			
			| 
				
			 | 
			
				80
			 | 
			
			
				+    echo 'fi' >> $keyserver_watchdog_script 
			 | 
		
	
		
			
			| 
				
			 | 
			
				81
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				82
			 | 
			
			
				+    chmod +x $keyserver_watchdog_script 
			 | 
		
	
		
			
			| 
				
			 | 
			
				83
			 | 
			
			
				+} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				84
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				85
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				59
			 | 
			
				86
			 | 
			
			
				 function configure_firewall_for_keyserver { 
			 | 
		
	
		
			
			| 
				60
			 | 
			
				87
			 | 
			
			
				     if [[ $ONION_ONLY != "no" ]]; then 
			 | 
		
	
		
			
			| 
				61
			 | 
			
				88
			 | 
			
			
				         return 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -88,6 +115,8 @@ function reconfigure_keyserver { 
			 | 
		
	
		
			
			| 
				88
			 | 
			
				115
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				89
			 | 
			
				116
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				90
			 | 
			
				117
			 | 
			
			
				 function upgrade_keyserver { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				118
			 | 
			
			
				+    keyserver_watchdog 
			 | 
		
	
		
			
			| 
				
			 | 
			
				119
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				91
			 | 
			
				120
			 | 
			
			
				     CURR_KEYSERVER_WEB_COMMIT=$(get_completion_param "keyserver web commit") 
			 | 
		
	
		
			
			| 
				92
			 | 
			
				121
			 | 
			
			
				     if [[ "$CURR_KEYSERVER_WEB_COMMIT" == "$KEYSERVER_WEB_COMMIT" ]]; then 
			 | 
		
	
		
			
			| 
				93
			 | 
			
				122
			 | 
			
			
				         return 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -260,6 +289,9 @@ function restore_remote_keyserver { 
			 | 
		
	
		
			
			| 
				260
			 | 
			
				289
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				261
			 | 
			
				290
			 | 
			
			
				 function remove_keyserver { 
			 | 
		
	
		
			
			| 
				262
			 | 
			
				291
			 | 
			
			
				     systemctl stop sks 
			 | 
		
	
		
			
			| 
				
			 | 
			
				292
			 | 
			
			
				+    if [ -f /etc/cron.hourly/keyserver-watchdog ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				293
			 | 
			
			
				+        rm /etc/cron.hourly/keyserver-watchdog 
			 | 
		
	
		
			
			| 
				
			 | 
			
				294
			 | 
			
			
				+    fi 
			 | 
		
	
		
			
			| 
				263
			 | 
			
				295
			 | 
			
			
				     apt-get -qy remove sks dirmngr 
			 | 
		
	
		
			
			| 
				264
			 | 
			
				296
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				265
			 | 
			
				297
			 | 
			
			
				     read_config_param "KEYSERVER_DOMAIN_NAME" 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -770,6 +802,8 @@ function install_keyserver { 
			 | 
		
	
		
			
			| 
				770
			 | 
			
				802
			 | 
			
			
				     set_completion_param "keyserver onion domain" "$KEYSERVER_ONION_HOSTNAME" 
			 | 
		
	
		
			
			| 
				771
			 | 
			
				803
			 | 
			
			
				     set_completion_param "sks onion domain" "$SKS_ONION_HOSTNAME" 
			 | 
		
	
		
			
			| 
				772
			 | 
			
				804
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				
			 | 
			
				805
			 | 
			
			
				+    keyserver_watchdog 
			 | 
		
	
		
			
			| 
				
			 | 
			
				806
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				773
			 | 
			
				807
			 | 
			
			
				     APP_INSTALLED=1 
			 | 
		
	
		
			
			| 
				774
			 | 
			
				808
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				775
			 | 
			
				809
			 | 
			
			
				  
			 |