From 364911be5e5ed5d02d947b9b8acfc568d5e4bc4d Mon Sep 17 00:00:00 2001
From: Denton Gentry <dgentry@google.com>
Date: Wed, 25 Apr 2012 22:59:26 -0700
Subject: [PATCH 1/6] File based ntp_wait

---
 ntpd.c |   22 +++++++++++++++++++++-
 ntpd.h |    1 +
 2 files changed, 22 insertions(+), 1 deletions(-)

diff --git a/ntpd.c b/ntpd.c
index 66b236e..6c39af0 100644
--- a/ntpd.c
+++ b/ntpd.c
@@ -45,6 +45,7 @@ int		check_child(pid_t, const char *);
 int		dispatch_imsg(struct ntpd_conf *);
 int		ntpd_adjtime(double);
 void		ntpd_settime(double);
+void		ntpd_write_synced(const char *filename);
 
 volatile sig_atomic_t	 quit = 0;
 volatile sig_atomic_t	 reconfig = 0;
@@ -100,7 +101,7 @@ main(int argc, char *argv[])
 	log_init(1);		/* log to stderr until daemonized */
 	res_init();		/* XXX */
 
-	while ((ch = getopt(argc, argv, "df:sS")) != -1) {
+	while ((ch = getopt(argc, argv, "df:sSw:")) != -1) {
 		switch (ch) {
 		case 'd':
 			conf.debug = 1;
@@ -114,6 +115,9 @@ main(int argc, char *argv[])
 		case 'S':
 			conf.settime = 0;
 			break;
+		case 'w':
+			conf.synced_file = optarg;
+			break;
 		default:
 			usage();
 			/* NOTREACHED */
@@ -281,6 +285,7 @@ dispatch_imsg(struct ntpd_conf *conf)
 				fatalx("invalid IMSG_ADJTIME received");
 			memcpy(&d, imsg.data, sizeof(d));
 			n = ntpd_adjtime(d);
+			ntpd_write_synced(conf->synced_file);
 			imsg_compose(ibuf, IMSG_ADJTIME, 0, 0, &n, sizeof(n));
 			break;
 		case IMSG_SETTIME:
@@ -291,6 +296,7 @@ dispatch_imsg(struct ntpd_conf *conf)
 			log_init(conf->debug);
 			memcpy(&d, imsg.data, sizeof(d));
 			ntpd_settime(d);
+			ntpd_write_synced(conf->synced_file);
 			/* daemonize now */
 			if (!conf->debug)
 				if (daemon(1, 0))
@@ -375,3 +381,17 @@ ntpd_settime(double d)
 	    localtime(&tval));
 	log_info("set local clock to %s (offset %fs)", buf, d);
 }
+
+void
+ntpd_write_synced(const char *filename) {
+	int fd;
+	if (filename) {
+		/* because of O_EXCL, this doesn't do anything if the file
+		 * already exists. That's intentional. */
+		fd = open(filename, O_WRONLY | O_CREAT | O_EXCL, 0444);
+		if (fd >= 0) {
+			log_debug("write_synced: file %s created", filename);
+			close(fd);
+		}
+	}
+}
diff --git a/ntpd.h b/ntpd.h
index e501ce0..9fdae0c 100644
--- a/ntpd.h
+++ b/ntpd.h
@@ -132,6 +132,7 @@ struct ntpd_conf {
 	u_int8_t				settime;
 	u_int8_t				debug;
 	u_int32_t				scale;
+	char					*synced_file;
 };
 
 struct buf {
-- 
1.7.7.3

