From 489d5453e0ed06d3567b39afb481e55a29ab7f88 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Fri, 2 Jul 2010 15:36:48 +0200 Subject: implement a dumb mode for offline servers use -i to activate. --- package/openntpd/patches/patch-server_c | 40 +++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 package/openntpd/patches/patch-server_c (limited to 'package/openntpd/patches/patch-server_c') diff --git a/package/openntpd/patches/patch-server_c b/package/openntpd/patches/patch-server_c new file mode 100644 index 000000000..ae1614afa --- /dev/null +++ b/package/openntpd/patches/patch-server_c @@ -0,0 +1,40 @@ +--- openntpd-3.9p1.orig/server.c 2006-05-14 07:29:21.000000000 +0200 ++++ openntpd-3.9p1/server.c 2010-07-02 15:33:05.061342638 +0200 +@@ -150,21 +150,33 @@ server_dispatch(int fd, struct ntpd_conf + version = (query.status & VERSIONMASK) >> 3; + + bzero(&reply, sizeof(reply)); +- if (conf->status.synced) ++ if (conf->status.synced || conf->ignore) + reply.status = conf->status.leap; + else + reply.status = LI_ALARM; ++ + reply.status |= (query.status & VERSIONMASK); + if ((query.status & MODEMASK) == MODE_CLIENT) + reply.status |= MODE_SERVER; + else + reply.status |= MODE_SYM_PAS; + +- reply.stratum = conf->status.stratum; ++ if (conf->ignore) { ++ reply.stratum = 1; ++ reply.precision = -20; ++ } else { ++ reply.stratum = conf->status.stratum; ++ reply.precision = conf->status.precision; ++ } ++ + reply.ppoll = query.ppoll; +- reply.precision = conf->status.precision; + reply.rectime = d_to_lfp(rectime); +- reply.reftime = d_to_lfp(conf->status.reftime); ++ ++ if (conf->ignore) ++ reply.reftime = d_to_lfp(gettime()); ++ else ++ reply.reftime = d_to_lfp(conf->status.reftime); ++ + reply.xmttime = d_to_lfp(gettime()); + reply.orgtime = query.xmttime; + reply.rootdelay = d_to_sfp(conf->status.rootdelay); -- cgit v1.2.3