diff --git a/src/usr.sbin/ntpd/ntp.c b/src/usr.sbin/ntpd/ntp.c index 53a0382c..6c5e5a4e 100644 --- a/src/usr.sbin/ntpd/ntp.c +++ b/src/usr.sbin/ntpd/ntp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ntp.c,v 1.35 2004/10/13 09:20:41 henning Exp $ */ +/* $OpenBSD: ntp.c,v 1.36 2004/10/13 12:22:39 henning Exp $ */ /* * Copyright (c) 2003, 2004 Henning Brauer @@ -385,6 +385,10 @@ ntp_adjtime(void) conf->status.reftime = gettime(); conf->status.leap = LI_NOWARNING; /* XXX */ + + if (peers[offset_cnt / 2]->addr->ss.ss_family == AF_INET) + conf->status.refid = ((struct sockaddr_in *) + &peers[offset_cnt / 2]->addr->ss)->sin_addr.s_addr; } free(peers); diff --git a/src/usr.sbin/ntpd/server.c b/src/usr.sbin/ntpd/server.c index 28149ec3..5fb46a3a 100644 --- a/src/usr.sbin/ntpd/server.c +++ b/src/usr.sbin/ntpd/server.c @@ -1,4 +1,4 @@ -/* $OpenBSD: server.c,v 1.13 2004/09/07 22:43:07 henning Exp $ */ +/* $OpenBSD: server.c,v 1.14 2004/10/13 12:22:39 henning Exp $ */ /* * Copyright (c) 2003, 2004 Henning Brauer @@ -140,7 +140,7 @@ server_dispatch(int fd, struct ntpd_conf *conf) if (version > 3) reply.refid = reply.xmttime.fraction; else - reply.refid = 0; /* XXX */ + reply.refid = conf->status.refid; ntp_sendmsg(fd, (struct sockaddr *)&fsa, &reply, size, 0); return (0);