From 602bb38178b8f3f7b5831f1da4a913aad193fde9 Mon Sep 17 00:00:00 2001
From: Bob Mottram <bob@robotics.uk.to>
Date: Sun, 24 Jul 2016 10:20:15 +0100
Subject: [PATCH] Check functions

---
 src/freedombone-utils-setup | 164 ++++++++++++++++++++++++++++++++++++
 1 file changed, 164 insertions(+)

diff --git a/src/freedombone-utils-setup b/src/freedombone-utils-setup
index ee1f77599..632e4954b 100755
--- a/src/freedombone-utils-setup
+++ b/src/freedombone-utils-setup
@@ -235,96 +235,257 @@ function remove_default_user {
 	fi
 }
 
+function create_completion_file {
+	if [ ! -f $COMPLETION_FILE ]; then
+		touch $COMPLETION_FILE
+	fi
+}
+
 function upgrade_installation {
 	# TODO
 	echo ''
 }
 
 function setup_firewall {
+	function_check create_completion_file
+	create_completion_file
+
+	function_check configure_firewall
 	configure_firewall
+
+	function_check configure_firewall_ping
 	configure_firewall_ping
+
+	function_check configure_firewall_for_dns
 	configure_firewall_for_dns
+
+	function_check configure_firewall_for_avahi
 	configure_firewall_for_avahi
 }
 
 function setup_utils {
+	function_check create_completion_file
+	create_completion_file
+
+	function_check read_configuration
 	read_configuration
+
+	function_check upgrade_installation
 	upgrade_installation
+
+	function_check set_default_onion_domains
 	set_default_onion_domains
+
+	function_check locale_setup
 	locale_setup
+
+	function_check parse_args
 	parse_args
+
+	function_check check_domains
 	check_domains
+
+	function_check install_static_network
 	install_static_network
+
+	function_check remove_default_user
 	remove_default_user
+
+	function_check setup_firewall
 	setup_firewall
+
+	function_check create_repo_sources
 	create_repo_sources
+
+	function_check configure_dns
 	configure_dns
+
+	function_check initial_setup
 	initial_setup
+
+	function_check install_tor
 	install_tor
+
+	#function_check resolve_dns_via_tor
 	#resolve_dns_via_tor
+
+	function_check install_command_line_browser
 	install_command_line_browser
+
+	function_check enable_ssh_via_onion
 	enable_ssh_via_onion
+
+	function_check check_date
 	check_date
+
+	function_check install_dynamicdns
 	install_dynamicdns
+
+	function_check randomize_cron
 	randomize_cron
+
+	function_check create_freedns_updater
 	create_freedns_updater
+
+	function_check mark_admin_user_account
 	mark_admin_user_account
+
+	function_check enforce_good_passwords
 	enforce_good_passwords
+
+	function_check install_editor
 	install_editor
+
+	function_check change_login_message
 	change_login_message
+
+	function_check enable_zram
 	enable_zram
+
+	function_check random_number_generator
 	random_number_generator
+
+	function_check set_your_domain_name
 	set_your_domain_name
+
+	function_check time_synchronisation_tlsdate
 	time_synchronisation_tlsdate
+
+	function_check configure_internet_protocol
 	configure_internet_protocol
+
+	function_check create_git_project
 	create_git_project
+
+	function_check setup_wifi
 	setup_wifi
+
+	function_check configure_ssh
 	configure_ssh
+
+	function_check configure_ssh_onion
 	configure_ssh_onion
+
+	function_check allow_ssh_to_onion_address
 	allow_ssh_to_onion_address
+
+	function_check remove_instructions_from_motd
 	remove_instructions_from_motd
+
+	function_check check_hwrng
 	check_hwrng
+
+	function_check search_for_attached_usb_drive
 	search_for_attached_usb_drive
+
+	function_check regenerate_ssh_keys
 	regenerate_ssh_keys
+
+	function_check create_mirrors
 	create_mirrors
+
+	function_check create_upgrade_script
 	create_upgrade_script
+
+	function_check letsencrypt_renewals
 	letsencrypt_renewals
+
+	function_check install_watchdog_script
 	install_watchdog_script
+
+	function_check install_avahi
 	install_avahi
+
+	function_check create_avahi_onion_domains
 	create_avahi_onion_domains
+
+	#function_check install_atheros_wifi
 	#install_atheros_wifi
+
+	function_check route_outgoing_traffic_through_tor
 	route_outgoing_traffic_through_tor
+
+	function_check upgrade_golang
 	upgrade_golang
 }
 
 function setup_email {
+	function_check create_completion_file
+	create_completion_file
+
+	function_check install_email
 	install_email
+
+	function_check create_procmail
 	create_procmail
+
+	function_check handle_admin_emails
 	handle_admin_emails
+
+	function_check spam_filtering
 	spam_filtering
+
+	function_check configure_imap
 	configure_imap
+
+	#function_check configure_imap_client_certs
 	#configure_imap_client_certs
+
+	function_check configure_gpg
 	configure_gpg
+
+	function_check refresh_gpg_keys
 	refresh_gpg_keys
+
+	function_check configure_backup_key
 	configure_backup_key
+
+	function_check install_monkeysphere
 	install_monkeysphere
+
+	function_check encrypt_incoming_email
 	encrypt_incoming_email
+
+	function_check encrypt_outgoing_email
 	encrypt_outgoing_email
+
+	function_check email_client
 	email_client
+
+	function_check email_archiving
 	email_archiving
+
+	function_check email_from_address
 	email_from_address
+
+	function_check create_public_mailing_list
 	create_public_mailing_list
+
+	#function check create_private_mailing_list
 	#create_private_mailing_list
+
+	function_check encrypt_all_email
 	encrypt_all_email
+
+	function_check import_email
 	import_email
 }
 
 function setup_web {
+	function_check create_completion_file
+	create_completion_file
+
+	function_check install_web_server
 	install_web_server
+
+	function_check install_web_server_access_control
 	install_web_server_access_control
 }
 
 function upgrade_apps {
+	function_check create_completion_file
+	create_completion_file
+
 	APPS_COMPLETED=()
 	FILES=/usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-*
 
@@ -344,6 +505,9 @@ function upgrade_apps {
 }
 
 function setup_apps {
+	function_check create_completion_file
+	create_completion_file
+
 	function_check choose_apps_for_variant
 	choose_apps_for_variant "$SYSTEM_TYPE"
 
-- 
GitLab