| 
				
			 | 
			
			
				@@ -3584,115 +3584,23 @@ function time_synchronisation { 
			 | 
		
	
		
			
			| 
				3584
			 | 
			
				3584
			 | 
			
			
				       return 
			 | 
		
	
		
			
			| 
				3585
			 | 
			
				3585
			 | 
			
			
				   fi 
			 | 
		
	
		
			
			| 
				3586
			 | 
			
				3586
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				3587
			 | 
			
				
			 | 
			
			
				-  # remove any previous version of tlsdate compiled from source 
			 | 
		
	
		
			
			| 
				3588
			 | 
			
				
			 | 
			
			
				-  reinstall_tlsdate="no" 
			 | 
		
	
		
			
			| 
				3589
			 | 
			
				
			 | 
			
			
				-  if [ -d $INSTALL_DIR/tlsdate ]; then 
			 | 
		
	
		
			
			| 
				3590
			 | 
			
				
			 | 
			
			
				-      if [ -f /usr/bin/tlsdate ]; then 
			 | 
		
	
		
			
			| 
				3591
			 | 
			
				
			 | 
			
			
				-          echo 'Removing previous tlsdate install' 
			 | 
		
	
		
			
			| 
				3592
			 | 
			
				
			 | 
			
			
				-          rm -rf $INSTALL_DIR/tlsdate 
			 | 
		
	
		
			
			| 
				3593
			 | 
			
				
			 | 
			
			
				-          rm -f /usr/bin/tlsdate 
			 | 
		
	
		
			
			| 
				3594
			 | 
			
				
			 | 
			
			
				-          reinstall_tlsdate="yes" 
			 | 
		
	
		
			
			| 
				3595
			 | 
			
				
			 | 
			
			
				-          echo 'Reinstalling tlsdate' 
			 | 
		
	
		
			
			| 
				3596
			 | 
			
				
			 | 
			
			
				-      fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3587
			 | 
			
			
				+  if [ -f /usr/local/bin/${PROJECT_NAME}-update-date ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3588
			 | 
			
			
				+	  cp /usr/local/bin/${PROJECT_NAME}-update-date /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3589
			 | 
			
			
				+  else 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3590
			 | 
			
			
				+	  cp /usr/bin/${PROJECT_NAME}-update-date /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3597
			 | 
			
				3591
			 | 
			
			
				   fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3592
			 | 
			
			
				+  chmod +x /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3598
			 | 
			
				3593
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				3599
			 | 
			
				3594
			 | 
			
			
				   if grep -Fxq "time_synchronisation" $COMPLETION_FILE; then 
			 | 
		
	
		
			
			| 
				3600
			 | 
			
				
			 | 
			
			
				-      if [[ $reinstall_tlsdate == "no" ]]; then 
			 | 
		
	
		
			
			| 
				3601
			 | 
			
				
			 | 
			
			
				-          return 
			 | 
		
	
		
			
			| 
				3602
			 | 
			
				
			 | 
			
			
				-      fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3595
			 | 
			
			
				+      return 
			 | 
		
	
		
			
			| 
				3603
			 | 
			
				3596
			 | 
			
			
				   fi 
			 | 
		
	
		
			
			| 
				3604
			 | 
			
				3597
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				3605
			 | 
			
				3598
			 | 
			
			
				   apt-get -y install tlsdate 
			 | 
		
	
		
			
			| 
				3606
			 | 
			
				3599
			 | 
			
			
				   apt-get -y remove ntpdate 
			 | 
		
	
		
			
			| 
				3607
			 | 
			
				3600
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				3608
			 | 
			
				
			 | 
			
			
				-  echo '#!/bin/bash' > /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3609
			 | 
			
				
			 | 
			
			
				-  echo "TIMESOURCE='${TLS_TIME_SOURCE1}'" >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3610
			 | 
			
				
			 | 
			
			
				-  echo "TIMESOURCE2='${TLS_TIME_SOURCE2}'" >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3611
			 | 
			
				
			 | 
			
			
				-  echo "COMPLETION_FILE=$COMPLETION_FILE" >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3612
			 | 
			
				
			 | 
			
			
				-  echo 'LOGFILE=/var/log/tlsdate.log' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3613
			 | 
			
				
			 | 
			
			
				-  echo 'TIMEOUT=5' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3614
			 | 
			
				
			 | 
			
			
				-  echo 'if grep -q "Admin user" $COMPLETION_FILE; then' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3615
			 | 
			
				
			 | 
			
			
				-  echo -n '    ADMIN_USER=$(cat $COMPLETION_FILE | grep "Admin user" | ' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3616
			 | 
			
				
			 | 
			
			
				-  echo -n "awk -F ':' '{print " >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3617
			 | 
			
				
			 | 
			
			
				-  echo -n '$2' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3618
			 | 
			
				
			 | 
			
			
				-  echo "}')" >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3619
			 | 
			
				
			 | 
			
			
				-  echo '    EMAIL=$ADMIN_USER@$HOSTNAME' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3620
			 | 
			
				
			 | 
			
			
				-  echo 'else' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3621
			 | 
			
				
			 | 
			
			
				-  echo "    EMAIL=$MY_EMAIL_ADDRESS" >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3622
			 | 
			
				
			 | 
			
			
				-  echo 'fi' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3623
			 | 
			
				
			 | 
			
			
				-  echo '# File which contains the previous date as a number' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3624
			 | 
			
				
			 | 
			
			
				-  echo 'BEFORE_DATE_FILE=/var/log/tlsdateprevious.txt' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3625
			 | 
			
				
			 | 
			
			
				-  echo '# File which contains the previous date as a string' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3626
			 | 
			
				
			 | 
			
			
				-  echo 'BEFORE_FULLDATE_FILE=/var/log/tlsdate.txt' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3627
			 | 
			
				
			 | 
			
			
				-  echo 'DATE_BEFORE=$(date)' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3628
			 | 
			
				
			 | 
			
			
				-  echo 'BEFORE=$(date "+%s")' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3629
			 | 
			
				
			 | 
			
			
				-  echo 'BACKWARDS_BETWEEN=0' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3630
			 | 
			
				
			 | 
			
			
				-  echo 're="^[0-9]+$"' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3631
			 | 
			
				
			 | 
			
			
				-  echo '# If the date was previously set' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3632
			 | 
			
				
			 | 
			
			
				-  echo 'if [ -s "$BEFORE_DATE_FILE" ]; then' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3633
			 | 
			
				
			 | 
			
			
				-  echo '    filesize=$(wc -c "$BEFORE_DATE_FILE" | cut -f 1 -d " ")' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3634
			 | 
			
				
			 | 
			
			
				-  echo '    if [ $filesize -ge 5 ]; then' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3635
			 | 
			
				
			 | 
			
			
				-  echo '        BEFORE_FILE=$(cat $BEFORE_DATE_FILE)' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3636
			 | 
			
				
			 | 
			
			
				-  echo '        if [[ $BEFORE_FILE =~ $re ]]; then' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3637
			 | 
			
				
			 | 
			
			
				-  echo '            BEFORE_FULLDATE=$(cat $BEFORE_FULLDATE_FILE)' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3638
			 | 
			
				
			 | 
			
			
				-  echo '            # is the date going backwards?' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3639
			 | 
			
				
			 | 
			
			
				-  echo '            if (( $BEFORE_FILE > $BEFORE )); then' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3640
			 | 
			
				
			 | 
			
			
				-  echo '                echo -n "Date went backwards between tlsdate updates. " >> $LOGFILE' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3641
			 | 
			
				
			 | 
			
			
				-  echo '                echo -n "$BEFORE_FILE > $BEFORE, " >> $LOGFILE' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3642
			 | 
			
				
			 | 
			
			
				-  echo '                echo "$BEFORE_FULLDATE > $DATE_BEFORE" >> $LOGFILE' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3643
			 | 
			
				
			 | 
			
			
				-  echo '                # Send a warning email' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3644
			 | 
			
				
			 | 
			
			
				-  echo '                echo $(tail $LOGFILE -n 2) | mail -s "tlsdate anomaly" $EMAIL' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3645
			 | 
			
				
			 | 
			
			
				-  echo '                # Try another time source' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3646
			 | 
			
				
			 | 
			
			
				-  echo '                TIMESOURCE=$TIMESOURCE2' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3647
			 | 
			
				
			 | 
			
			
				-  echo '                # try running without any parameters' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3648
			 | 
			
				
			 | 
			
			
				-  echo '                tlsdate >> $LOGFILE' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3649
			 | 
			
				
			 | 
			
			
				-  echo '                BACKWARDS_BETWEEN=1' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3650
			 | 
			
				
			 | 
			
			
				-  echo '            fi' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3651
			 | 
			
				
			 | 
			
			
				-  echo '        fi' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3652
			 | 
			
				
			 | 
			
			
				-  echo '    fi' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3653
			 | 
			
				
			 | 
			
			
				-  echo 'fi' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3654
			 | 
			
				
			 | 
			
			
				-  echo '# Set the date' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3655
			 | 
			
				
			 | 
			
			
				-  echo '/usr/bin/timeout $TIMEOUT tlsdate -l -t -H $TIMESOURCE -p 443 >> $LOGFILE' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3656
			 | 
			
				
			 | 
			
			
				-  echo 'DATE_AFTER=$(date)' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3657
			 | 
			
				
			 | 
			
			
				-  echo 'AFTER=$(date "+%s")' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3658
			 | 
			
				
			 | 
			
			
				-  echo '# After setting the date did it go backwards?' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3659
			 | 
			
				
			 | 
			
			
				-  echo 'if (( $AFTER < $BEFORE )); then' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3660
			 | 
			
				
			 | 
			
			
				-  echo '    echo "Incorrect date: $DATE_BEFORE -> $DATE_AFTER" >> $LOGFILE' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3661
			 | 
			
				
			 | 
			
			
				-  echo '    # Send a warning email' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3662
			 | 
			
				
			 | 
			
			
				-  echo '    echo $(tail $LOGFILE -n 2) | mail -s "tlsdate anomaly" $EMAIL' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3663
			 | 
			
				
			 | 
			
			
				-  echo '    # Try resetting the date from another time source' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3664
			 | 
			
				
			 | 
			
			
				-  echo '    /usr/bin/timeout $TIMEOUT tlsdate -l -t -H $TIMESOURCE2 -p 443 >> $LOGFILE' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3665
			 | 
			
				
			 | 
			
			
				-  echo '    DATE_AFTER=$(date)' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3666
			 | 
			
				
			 | 
			
			
				-  echo '    AFTER=$(date "+%s")' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3667
			 | 
			
				
			 | 
			
			
				-  echo 'else' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3668
			 | 
			
				
			 | 
			
			
				-  echo '    echo -n $TIMESOURCE >> $LOGFILE' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3669
			 | 
			
				
			 | 
			
			
				-  echo '    if [ -s "$BEFORE_DATE_FILE" ]; then' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3670
			 | 
			
				
			 | 
			
			
				-  echo '        echo -n " " >> $LOGFILE' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3671
			 | 
			
				
			 | 
			
			
				-  echo '        echo -n $BEFORE_FILE >> $LOGFILE' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3672
			 | 
			
				
			 | 
			
			
				-  echo '    fi' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3673
			 | 
			
				
			 | 
			
			
				-  echo '    echo -n " " >> $LOGFILE' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3674
			 | 
			
				
			 | 
			
			
				-  echo '    echo -n $BEFORE >> $LOGFILE' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3675
			 | 
			
				
			 | 
			
			
				-  echo '    echo -n " " >> $LOGFILE' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3676
			 | 
			
				
			 | 
			
			
				-  echo '    echo -n $AFTER >> $LOGFILE' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3677
			 | 
			
				
			 | 
			
			
				-  echo '    echo -n " " >> $LOGFILE' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3678
			 | 
			
				
			 | 
			
			
				-  echo '    echo $DATE_AFTER >> $LOGFILE' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3679
			 | 
			
				
			 | 
			
			
				-  echo 'fi' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3680
			 | 
			
				
			 | 
			
			
				-  echo '# Log the last date' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3681
			 | 
			
				
			 | 
			
			
				-  echo 'if [[ $BACKWARDS_BETWEEN == 0 ]]; then' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3682
			 | 
			
				
			 | 
			
			
				-  echo '    echo "$AFTER" > $BEFORE_DATE_FILE' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3683
			 | 
			
				
			 | 
			
			
				-  echo '    echo "$DATE_AFTER" > $BEFORE_FULLDATE_FILE' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3684
			 | 
			
				
			 | 
			
			
				-  echo '    exit 0' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3685
			 | 
			
				
			 | 
			
			
				-  echo 'else' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3686
			 | 
			
				
			 | 
			
			
				-  echo '    exit 1' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3687
			 | 
			
				
			 | 
			
			
				-  echo 'fi' >> /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3688
			 | 
			
				
			 | 
			
			
				-  chmod +x /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				3689
			 | 
			
				3601
			 | 
			
			
				   echo '*/15           * *   *   *   root /usr/bin/updatedate' >> /etc/crontab 
			 | 
		
	
		
			
			| 
				3690
			 | 
			
				3602
			 | 
			
			
				   service cron restart 
			 | 
		
	
		
			
			| 
				3691
			 | 
			
				3603
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				3692
			 | 
			
				
			 | 
			
			
				-  if [[ $reinstall_tlsdate != "no" ]]; then 
			 | 
		
	
		
			
			| 
				3693
			 | 
			
				
			 | 
			
			
				-      echo 'tlsdate was reinstalled' 
			 | 
		
	
		
			
			| 
				3694
			 | 
			
				
			 | 
			
			
				-  fi 
			 | 
		
	
		
			
			| 
				3695
			 | 
			
				
			 | 
			
			
				- 
			 | 
		
	
		
			
			| 
				3696
			 | 
			
				3604
			 | 
			
			
				   echo 'time_synchronisation' >> $COMPLETION_FILE 
			 | 
		
	
		
			
			| 
				3697
			 | 
			
				3605
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				3698
			 | 
			
				3606
			 | 
			
			
				  
			 |