diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2010-07-05 15:34:35 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2010-07-05 15:34:35 +0200 |
commit | 3b76e79f14e279a6526809e630e45e4f760d77de (patch) | |
tree | bb479b57c7ad1362f05a0532a7133c0c5232dfeb /package/openntpd/patches/patch-server_c | |
parent | 9bfe4f2061f377306619fa479bc0e7adafb22125 (diff) | |
parent | 1879491b2b6e799b20ac06d1b510726eb200944f (diff) |
Merge branch 'master' of git+ssh://openadk.org/git/openadk
Diffstat (limited to 'package/openntpd/patches/patch-server_c')
-rw-r--r-- | package/openntpd/patches/patch-server_c | 40 |
1 files changed, 40 insertions, 0 deletions
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); |