|  | @@ -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 |  
 |