| 
				
			 | 
			
			
				@@ -1013,26 +1013,80 @@ If you get errors during the /configure/ stage then you may need to reboot so th 
			 | 
		
	
		
			
			| 
				1013
			 | 
			
				1013
			 | 
			
			
				 editor /usr/bin/updatedate 
			 | 
		
	
		
			
			| 
				1014
			 | 
			
				1014
			 | 
			
			
				 #+END_SRC 
			 | 
		
	
		
			
			| 
				1015
			 | 
			
				1015
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				1016
			 | 
			
				
			 | 
			
			
				-Add the following: 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1016
			 | 
			
			
				+Add the following, changing /username@mydomainname.com/ to your email address: 
			 | 
		
	
		
			
			| 
				1017
			 | 
			
				1017
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				1018
			 | 
			
				1018
			 | 
			
			
				 #+BEGIN_SRC: bash 
			 | 
		
	
		
			
			| 
				1019
			 | 
			
				1019
			 | 
			
			
				 #!/bin/bash 
			 | 
		
	
		
			
			| 
				1020
			 | 
			
				1020
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				1021
			 | 
			
				1021
			 | 
			
			
				 TIMESOURCE=google.com 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1022
			 | 
			
			
				+TIMESOURCE2=www.ptb.de 
			 | 
		
	
		
			
			| 
				1022
			 | 
			
				1023
			 | 
			
			
				 LOGFILE=/var/log/tlsdate.log 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1024
			 | 
			
			
				+TIMEOUT=5 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1025
			 | 
			
			
				+EMAIL=username@mydomainname.com 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1026
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1027
			 | 
			
			
				+# File which contains the previous date as a number 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1028
			 | 
			
			
				+BEFORE_DATE_FILE=/var/log/tlsdateprevious.txt 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1029
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1030
			 | 
			
			
				+# File which contains the previous date as a string 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1031
			 | 
			
			
				+BEFORE_FULLDATE_FILE=/var/log/tlsdate.txt 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1032
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				1023
			 | 
			
				1033
			 | 
			
			
				 DATE_BEFORE=$(date) 
			 | 
		
	
		
			
			| 
				1024
			 | 
			
				
			 | 
			
			
				-YEAR_BEFORE=$(echo $DATE_BEFORE | awk -F ' ' '{print $6}') 
			 | 
		
	
		
			
			| 
				1025
			 | 
			
				
			 | 
			
			
				-/usr/bin/timeout 3 tlsdate -l -t -H $TIMESOURCE -p 443 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1034
			 | 
			
			
				+BEFORE=$(date -d "$Y-$M-$D" '+%s') 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1035
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1036
			 | 
			
			
				+# If the date was previously set 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1037
			 | 
			
			
				+if [[ -f "$BEFORE_DATE_FILE" ]]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1038
			 | 
			
			
				+    BEFORE_FILE=$(cat $BEFORE_DATE_FILE) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1039
			 | 
			
			
				+    BEFORE_FULLDATE=$(cat $BEFORE_FULLDATE_FILE) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1040
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1041
			 | 
			
			
				+	# is the date going backwards? 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1042
			 | 
			
			
				+    if (( BEFORE_FILE > BEFORE )); then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1043
			 | 
			
			
				+        echo -n "Date went backwards between tlsdate updates. " \ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1044
			 | 
			
			
				+			>> $LOGFILE 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1045
			 | 
			
			
				+		echo -n "$BEFORE_FILE > $BEFORE, " >> $LOGFILE 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1046
			 | 
			
			
				+		echo "$BEFORE_FULLDATE > $DATE_BEFORE" >> $LOGFILE 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1047
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1048
			 | 
			
			
				+		# Send a warning email 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1049
			 | 
			
			
				+		echo $(tail $LOGFILE -n 2) | mail -s "tlsdate anomaly" $EMAIL 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1050
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1051
			 | 
			
			
				+		# Try another time source 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1052
			 | 
			
			
				+		TIMESOURCE=$TIMESOURCE2 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1053
			 | 
			
			
				+    fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1054
			 | 
			
			
				+fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1055
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1056
			 | 
			
			
				+# Set the date 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1057
			 | 
			
			
				+/usr/bin/timeout $TIMEOUT tlsdate -l -t -H $TIMESOURCE -p 443 >> $LOGFILE 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1058
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				1026
			 | 
			
				1059
			 | 
			
			
				 DATE_AFTER=$(date) 
			 | 
		
	
		
			
			| 
				1027
			 | 
			
				
			 | 
			
			
				-YEAR_AFTER=$(echo $DATE_AFTER | awk -F ' ' '{print $6}') 
			 | 
		
	
		
			
			| 
				1028
			 | 
			
				
			 | 
			
			
				-if [ "$YEAR_AFTER" -lt "$YEAR_BEFORE" ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1060
			 | 
			
			
				+AFTER=$(date -d "$Y-$M-$D" '+%s') 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1061
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1062
			 | 
			
			
				+# After setting the date did it go backwards? 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1063
			 | 
			
			
				+if (( AFTER < BEFORE )); then 
			 | 
		
	
		
			
			| 
				1029
			 | 
			
				1064
			 | 
			
			
				 	echo "Incorrect date: $DATE_BEFORE -> $DATE_AFTER" >> $LOGFILE 
			 | 
		
	
		
			
			| 
				1030
			 | 
			
				
			 | 
			
			
				-	date -s "DATE_BEFORE" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1065
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1066
			 | 
			
			
				+	# Send a warning email 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1067
			 | 
			
			
				+	echo $(tail $LOGFILE -n 2) | mail -s "tlsdate anomaly" $EMAIL 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1068
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1069
			 | 
			
			
				+	# Try resetting the date from another time source 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1070
			 | 
			
			
				+	/usr/bin/timeout $TIMEOUT tlsdate -l -t -H $TIMESOURCE2 -p 443 >> $LOGFILE 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1071
			 | 
			
			
				+    DATE_AFTER=$(date) 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1072
			 | 
			
			
				+    AFTER=$(date -d "$Y-$M-$D" '+%s') 
			 | 
		
	
		
			
			| 
				1031
			 | 
			
				1073
			 | 
			
			
				 else 
			 | 
		
	
		
			
			| 
				1032
			 | 
			
				1074
			 | 
			
			
				 	echo -n $TIMESOURCE >> $LOGFILE 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1075
			 | 
			
			
				+	if [[ -f "$BEFORE_DATE_FILE" ]]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1076
			 | 
			
			
				+		echo -n " " >> $LOGFILE 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1077
			 | 
			
			
				+		echo -n $BEFORE_FILE >> $LOGFILE 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1078
			 | 
			
			
				+	fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1079
			 | 
			
			
				+	echo -n " " >> $LOGFILE 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1080
			 | 
			
			
				+	echo -n $BEFORE >> $LOGFILE 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1081
			 | 
			
			
				+	echo -n " " >> $LOGFILE 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1082
			 | 
			
			
				+	echo -n $AFTER >> $LOGFILE 
			 | 
		
	
		
			
			| 
				1033
			 | 
			
				1083
			 | 
			
			
				 	echo -n " " >> $LOGFILE 
			 | 
		
	
		
			
			| 
				1034
			 | 
			
				1084
			 | 
			
			
				 	echo $DATE_AFTER >> $LOGFILE 
			 | 
		
	
		
			
			| 
				1035
			 | 
			
				1085
			 | 
			
			
				 fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1086
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1087
			 | 
			
			
				+# Log the last date 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1088
			 | 
			
			
				+echo "$AFTER" > $BEFORE_DATE_FILE 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1089
			 | 
			
			
				+echo "$DATE_AFTER" > $BEFORE_FULLDATE_FILE 
			 | 
		
	
		
			
			| 
				1036
			 | 
			
				1090
			 | 
			
			
				 #+END_SRC 
			 | 
		
	
		
			
			| 
				1037
			 | 
			
				1091
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				1038
			 | 
			
				1092
			 | 
			
			
				 Save and exit. 
			 |