| 
				
			 | 
			
			
				@@ -92,6 +92,12 @@ USE_HWRNG="yes" 
			 | 
		
	
		
			
			| 
				92
			 | 
			
				92
			 | 
			
			
				 # Whether this system is being installed within a docker container 
			 | 
		
	
		
			
			| 
				93
			 | 
			
				93
			 | 
			
			
				 INSTALLED_WITHIN_DOCKER="no" 
			 | 
		
	
		
			
			| 
				94
			 | 
			
				94
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				
			 | 
			
				95
			 | 
			
			
				+# If you want to run a public mailing list specify its name here. 
			 | 
		
	
		
			
			| 
				
			 | 
			
				96
			 | 
			
			
				+# There should be no spaces in the name 
			 | 
		
	
		
			
			| 
				
			 | 
			
				97
			 | 
			
			
				+PUBLIC_MAILING_LIST= 
			 | 
		
	
		
			
			| 
				
			 | 
			
				98
			 | 
			
			
				+# Optional different domain name for the public mailing list 
			 | 
		
	
		
			
			| 
				
			 | 
			
				99
			 | 
			
			
				+PUBLIC_MAILING_LIST_DOMAIN_NAME= 
			 | 
		
	
		
			
			| 
				
			 | 
			
				100
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				95
			 | 
			
				101
			 | 
			
			
				 # If you want to run an encrypted mailing list specify its name here. 
			 | 
		
	
		
			
			| 
				96
			 | 
			
				102
			 | 
			
			
				 # There should be no spaces in the name 
			 | 
		
	
		
			
			| 
				97
			 | 
			
				103
			 | 
			
			
				 PRIVATE_MAILING_LIST= 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -1665,6 +1671,70 @@ function dynamic_dns_freedns { 
			 | 
		
	
		
			
			| 
				1665
			 | 
			
				1671
			 | 
			
			
				   echo 'dynamic_dns_freedns' >> $COMPLETION_FILE 
			 | 
		
	
		
			
			| 
				1666
			 | 
			
				1672
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				1667
			 | 
			
				1673
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				
			 | 
			
				1674
			 | 
			
			
				+function create_public_mailing_list { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1675
			 | 
			
			
				+  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1676
			 | 
			
			
				+      return 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1677
			 | 
			
			
				+  fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1678
			 | 
			
			
				+  if grep -Fxq "create_public_mailing_list" $COMPLETION_FILE; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1679
			 | 
			
			
				+      return 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1680
			 | 
			
			
				+  fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1681
			 | 
			
			
				+  if [ ! $PUBLIC_MAILING_LIST ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1682
			 | 
			
			
				+      return 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1683
			 | 
			
			
				+  fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1684
			 | 
			
			
				+  # does the mailing list have a separate domain name? 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1685
			 | 
			
			
				+  if [ ! $PUBLIC_MAILING_LIST_DOMAIN_NAME ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1686
			 | 
			
			
				+      PUBLIC_MAILING_LIST_DOMAIN_NAME=$DOMAIN_NAME 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1687
			 | 
			
			
				+  fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1688
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1689
			 | 
			
			
				+  apt-get -y --force-yes install mlmmj 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1690
			 | 
			
			
				+  adduser --system mlmmj 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1691
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1692
			 | 
			
			
				+  # create the list 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1693
			 | 
			
			
				+  mlmmj-make-ml -a -L "$PUBLIC_MAILING_LIST" -c mlmmj 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1694
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1695
			 | 
			
			
				+  echo 'mlmmj_router:' > /etc/exim4/conf.d/router/750_exim4-config_mlmmj 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1696
			 | 
			
			
				+  echo '  driver = accept' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1697
			 | 
			
			
				+  echo '  domains = +mlmmj_domains' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1698
			 | 
			
			
				+  echo '  require_files = MLMMJ_HOME/${lc::$local_part}' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1699
			 | 
			
			
				+  echo '  # Use this instead, if you dont want to give Exim rx rights to mlmmj spool.' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1700
			 | 
			
			
				+  echo '  # Exim will then spawn a new process running under the UID of "mlmmj".' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1701
			 | 
			
			
				+  echo '  #require_files = mlmmj:MLMMJ_HOME/${lc::$local_part}' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1702
			 | 
			
			
				+  echo '  local_part_suffix = +*' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1703
			 | 
			
			
				+  echo '  local_part_suffix_optional' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1704
			 | 
			
			
				+  echo '  headers_remove = Delivered-To' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1705
			 | 
			
			
				+  echo '  headers_add = Delivered-To: $local_part$local_part_suffix@$domain' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1706
			 | 
			
			
				+  echo '  transport = mlmmj_transport' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1707
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1708
			 | 
			
			
				+  echo 'mlmmj_transport:' > /etc/exim4/conf.d/transport/40_exim4-config_mlmmj 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1709
			 | 
			
			
				+  echo '  driver = pipe' >> /etc/exim4/conf.d/transport/40_exim4-config_mlmmj 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1710
			 | 
			
			
				+  echo '  return_path_add' >> /etc/exim4/conf.d/transport/40_exim4-config_mlmmj 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1711
			 | 
			
			
				+  echo '  user = mlmmj' >> /etc/exim4/conf.d/transport/40_exim4-config_mlmmj 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1712
			 | 
			
			
				+  echo '  group = mlmmj' >> /etc/exim4/conf.d/transport/40_exim4-config_mlmmj 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1713
			 | 
			
			
				+  echo '  home_directory = MLMMJ_HOME' >> /etc/exim4/conf.d/transport/40_exim4-config_mlmmj 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1714
			 | 
			
			
				+  echo '  current_directory = MLMMJ_HOME' >> /etc/exim4/conf.d/transport/40_exim4-config_mlmmj 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1715
			 | 
			
			
				+  echo '  command = /usr/local/bin/mlmmj-receive -F -L MLMMJ_HOME/${lc:$local_part}' >> /etc/exim4/conf.d/transport/40_exim4-config_mlmmj 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1716
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1717
			 | 
			
			
				+  if ! grep -q "MLMMJ_HOME=/var/spool/mlmmj" /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1718
			 | 
			
			
				+      sed -i '/MAIN CONFIGURATION SETTINGS/a\MLMMJ_HOME=/var/spool/mlmmj' /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1719
			 | 
			
			
				+  fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1720
			 | 
			
			
				+  if ! grep -q "domainlist mlmmj_domains =" /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1721
			 | 
			
			
				+      sed -i "/MLMMJ_HOME/a\domainlist mlmmj_domains = $PUBLIC_MAILING_LIST_DOMAIN_NAME" /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1722
			 | 
			
			
				+  fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1723
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1724
			 | 
			
			
				+  if ! grep -q ": +mlmmj_domains" /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1725
			 | 
			
			
				+      sed -i 's/domainlist relay_to_domains = MAIN_RELAY_TO_DOMAINS/domainlist relay_to_domains = MAIN_RELAY_TO_DOMAINS : +mlmmj_domains/g' /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1726
			 | 
			
			
				+  fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1727
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1728
			 | 
			
			
				+  if ! grep -q "! +mlmmj_domains" /etc/exim4/conf.d/router/200_exim4-config_primary; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1729
			 | 
			
			
				+      sed -i 's/domains = ! +local_domains/domains = ! +mlmmj_domains : ! +local_domains/g' /etc/exim4/conf.d/router/200_exim4-config_primary 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1730
			 | 
			
			
				+  fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1731
			 | 
			
			
				+  service exim4 restart 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1732
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1733
			 | 
			
			
				+  mailinglistrule $MY_USERNAME "$PUBLIC_MAILING_LIST" "$PUBLIC_MAILING_LIST" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1734
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1735
			 | 
			
			
				+  echo 'create_public_mailing_list' >> $COMPLETION_FILE 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1736
			 | 
			
			
				+} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1737
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				1668
			 | 
			
				1738
			 | 
			
			
				 function create_private_mailing_list { 
			 | 
		
	
		
			
			| 
				1669
			 | 
			
				1739
			 | 
			
			
				   if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then 
			 | 
		
	
		
			
			| 
				1670
			 | 
			
				1740
			 | 
			
			
				       return 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -1677,7 +1747,7 @@ function create_private_mailing_list { 
			 | 
		
	
		
			
			| 
				1677
			 | 
			
				1747
			 | 
			
			
				   if [ ! $PRIVATE_MAILING_LIST ]; then 
			 | 
		
	
		
			
			| 
				1678
			 | 
			
				1748
			 | 
			
			
				       return 
			 | 
		
	
		
			
			| 
				1679
			 | 
			
				1749
			 | 
			
			
				   fi 
			 | 
		
	
		
			
			| 
				1680
			 | 
			
				
			 | 
			
			
				-  if [ $PRIVATE_MAILING_LIST == $MY_USERNAME ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1750
			 | 
			
			
				+  if [[ $PRIVATE_MAILING_LIST == $MY_USERNAME ]]; then 
			 | 
		
	
		
			
			| 
				1681
			 | 
			
				1751
			 | 
			
			
				       echo 'The name of the private mailing list should not be the' 
			 | 
		
	
		
			
			| 
				1682
			 | 
			
				1752
			 | 
			
			
				       echo 'same as your username' 
			 | 
		
	
		
			
			| 
				1683
			 | 
			
				1753
			 | 
			
			
				       exit 10 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -3526,6 +3596,7 @@ configure_firewall_for_email 
			 | 
		
	
		
			
			| 
				3526
			 | 
			
				3596
			 | 
			
			
				 folders_for_mailing_lists 
			 | 
		
	
		
			
			| 
				3527
			 | 
			
				3597
			 | 
			
			
				 folders_for_email_addresses 
			 | 
		
	
		
			
			| 
				3528
			 | 
			
				3598
			 | 
			
			
				 dynamic_dns_freedns 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3599
			 | 
			
			
				+create_public_mailing_list 
			 | 
		
	
		
			
			| 
				3529
			 | 
			
				3600
			 | 
			
			
				 #create_private_mailing_list 
			 | 
		
	
		
			
			| 
				3530
			 | 
			
				3601
			 | 
			
			
				 import_email 
			 | 
		
	
		
			
			| 
				3531
			 | 
			
				3602
			 | 
			
			
				 script_for_attaching_usb_drive 
			 |