include $(TOPDIR)/rules.mk
 
 PKG_NAME:=htpdate
-PKG_VERSION:=0.7.2
+PKG_VERSION:=0.8.0
 PKG_RELEASE:=1
-PKG_MD5SUM:=5b5ab483bdb3ebe155c72197e1b885f6
+PKG_MD5SUM:=5fd1ba822e0949a3cb34e3f61fbeb8ca
 
 PKG_SOURCE_URL:=http://www.clevervest.com/htp/archive/c/
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
        install -m0644 ./files/htpdate.default $(IDIR_HTPDATE)/etc/default/htpdate
        install -d -m0755 $(IDIR_HTPDATE)/etc/init.d/
        install -m0755 ./files/htpdate.init $(IDIR_HTPDATE)/etc/init.d/htpdate
+       ln -sf htpdate $(IDIR_HTPDATE)/etc/init.d/S49htpdate
        install -d -m0755 $(IDIR_HTPDATE)/usr/sbin
-       cp -fpR $(PKG_BUILD_DIR)/htpdate $(IDIR_HTPDATE)/usr/sbin/
+       install -m0755 $(PKG_BUILD_DIR)/htpdate $(IDIR_HTPDATE)/usr/sbin/
        $(RSTRIP) $(IDIR_HTPDATE)
        $(IPKG_BUILD) $(IDIR_HTPDATE) $(PACKAGE_DIR)
 
 
--- /dev/null
+diff -ruN htpdate-0.8.0-old/htpdate.c htpdate-0.8.0-new/htpdate.c
+--- htpdate-0.8.0-old/htpdate.c        2005-05-26 23:32:18.000000000 +0200
++++ htpdate-0.8.0-new/htpdate.c        2005-06-02 04:33:33.000000000 +0200
+@@ -243,7 +243,7 @@
+       printf("htpdate version %s\n", version);
+       printf("\
+ Usage: htpdate [-0|-1] [-a|-q|-s] [-d|-D] [-h|-l] [-i pid file] [-m minpoll]\n\
+-        [-M maxpoll] [-P <proxyserver>[:port]] <host[:port]> ...\n\n\
++        [-M maxpoll] [-C limit] [-P <proxyserver>[:port]] <host[:port]> ...\n\n\
+   -0    HTTP/1.0 request (default)\n\
+   -1    HTTP/1.1 request\n\
+   -a    adjust time smoothly\n\
+@@ -257,6 +257,8 @@
+   -m    minimum poll interval (2^m)\n\
+   -M    maximum poll interval (2^M)\n\
+   -P    proxy server\n\
++  -C    time delta limit in server responses (in seconds)\n\
++          default: 1 year, unlimited: 0\n\
+   host  web server hostname or ip address\n\
+   port  port number (default 80 and 8080 for proxy server)\n\n");
+ 
+@@ -271,6 +273,7 @@
+       int                                     port, proxyport = 8080;
+       int                                     sumtime, numservers, validtime, goodtime, mean, i;
+       double                          timeavg;
++      int                                     timedeltalimit = YEAR;
+       unsigned int            nap = 0, when = 500000;
+       unsigned int            minsleep = 10, maxsleep = 18, sleeptime = minsleep;
+       char                            setmode = 0, httpversion = 0, try, param;
+@@ -283,7 +286,7 @@
+ 
+ 
+       /* Parse the command line switches and arguments */
+-      while ( (param = getopt(argc, argv, "01adhi:lm:qsDM:P:") ) != -1)
++      while ( (param = getopt(argc, argv, "01adhi:lm:qsDM:P:C:") ) != -1)
+       switch (param)
+       {
+               case '0':                       /* adjust time */
+@@ -340,6 +343,12 @@
+                               }
+                       }
+                       break;
++              case 'C':                       /* time delta limit in server responses */
++                      if ( (timedeltalimit = atoi(optarg) ) < 0 ) {
++                              printlog( 1, "Invalid time delta limit" );
++                              exit(1);
++                      }
++                      break;
+               case '?':
+                       return 1;
+               default:
+@@ -458,10 +467,12 @@
+                       try--;
+               } while ( timestamp && try && daemonize );
+ 
+-              /* Only include valid responses in timedelta[], |delta time| < year */
+-              if ( ( timestamp > -YEAR ) && ( timestamp < YEAR ) ) {
+-                      timedelta[validtime] = timestamp;
++              timedelta[validtime] = timestamp;
++              /* Only include valid responses in timedelta[], |delta time| < validlimit */
++              if ( ( timedeltalimit == 0 ) || ( ( timestamp > -timedeltalimit ) && ( timestamp < timedeltalimit ) ) ) {
+                       validtime++;
++              } else {
++                      printlog( 0, "Invalid server response (host: %s, time delta: %d, limit: %d)", host, timestamp, timedeltalimit);
+               }
+ 
+               /* Sleep for a while, unless we detected a time offset */
 
+++ /dev/null
---- htpdate-0.7.2-orig/htpdate.c       2005-05-05 20:53:13.000000000 +0200
-+++ htpdate-0.7.2-1/htpdate.c  2005-05-07 15:31:21.000000000 +0200
-@@ -411,11 +411,8 @@
- 
-               timestamp = getHTTPdate( host, port, proxy, proxyport, when );
- 
--              /* Only include valid responses in timedelta[], |delta time| < year */
--              if ( labs(timestamp) < 31536000 ) {
-                       timedelta[validtime] = timestamp;
-                       validtime++;
--              }
- 
-               /* Sleep for a while, unless we detect a time offset */
-               if ( daemonize && (timestamp == 0) )