+// Check the modification time of the key and certificate -- reload if they changed
+void update_key_and_cert_if_needed(void) {
+ static time_t cert_mtime = 0;
+ struct stat keystat;
+ struct stat certstat;
+
+ if (stat(file_crpt_file_key, &keystat) != 0) {
+ syslog(LOG_ERR, "%s: %s", file_crpt_file_key, strerror(errno));
+ return;
+ }
+ if (stat(file_crpt_file_cer, &certstat) != 0) {
+ syslog(LOG_ERR, "%s: %s", file_crpt_file_cer, strerror(errno));
+ return;
+ }
+
+ if ((keystat.st_mtime > cert_mtime) || (certstat.st_mtime > cert_mtime)) {
+ bind_to_key_and_certificate();
+ cert_mtime = certstat.st_mtime;
+ }
+}
+
+