You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ic...@apache.org on 2018/03/19 09:35:45 UTC

svn commit: r1827180 - in /httpd/httpd/trunk: CHANGES modules/md/mod_md.c

Author: icing
Date: Mon Mar 19 09:35:45 2018
New Revision: 1827180

URL: http://svn.apache.org/viewvc?rev=1827180&view=rev
Log:
mod_md: fixes error in renew window calculation that may lead to mod_md running
     watchdog in a tight loop until actual renewal becomes necessary.

Modified:
    httpd/httpd/trunk/CHANGES
    httpd/httpd/trunk/modules/md/mod_md.c

Modified: httpd/httpd/trunk/CHANGES
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/CHANGES?rev=1827180&r1=1827179&r2=1827180&view=diff
==============================================================================
--- httpd/httpd/trunk/CHANGES [utf-8] (original)
+++ httpd/httpd/trunk/CHANGES [utf-8] Mon Mar 19 09:35:45 2018
@@ -1,6 +1,9 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache 2.5.1
 
+  *) mod_md: fixes error in renew window calculation that may lead to mod_md running
+     watchdog in a tight loop until actual renewal becomes necessary. [Stefan Eissing]
+
   *) mod_md: /.well-known/acme-challenge requests that cannot be answered for hostnames
      outside the configured MDs are free to be answered by other handlers. This allows
      co-existance between mod_md and other ACME clients on the same server (implements PR62189).

Modified: httpd/httpd/trunk/modules/md/mod_md.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/md/mod_md.c?rev=1827180&r1=1827179&r2=1827180&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/md/mod_md.c (original)
+++ httpd/httpd/trunk/modules/md/mod_md.c Mon Mar 19 09:35:45 2018
@@ -698,11 +698,11 @@ static apr_status_t check_job(md_watchdo
             }
         }
         else {
-            job->next_check = job->md->expires - job->md->renew_window;
-
+            /* Renew is not necessary yet, leave job->next_check as 0 since 
+             * that keeps the default schedule of running twice a day. */
             apr_rfc822_date(ts, job->md->expires);
             ap_log_error( APLOG_MARK, APLOG_DEBUG, 0, wd->s, APLOGNO(10053) 
-                         "md(%s): is complete, cert expires %s", job->md->name, ts);
+                         "md(%s): no need to renew yet, cert expires %s", job->md->name, ts);
         }
     }