reply.refid = reply.xmttime.fraction;
reply.refid = reply.xmttime.fractionl;
server_dispatch(int fd, struct ntpd_conf *conf){	ssize_t			 size;	u_int8_t		 version;	double			 rectime;	struct sockaddr_storage	 fsa;	socklen_t		 fsa_len;	struct ntp_msg		 query, reply;	char			 buf[NTP_MSGSIZE];	fsa_len = sizeof(fsa);	if ((size = recvfrom(fd, &buf, sizeof(buf), 0,	    (struct sockaddr *)&fsa, &fsa_len)) == -1) {		if (errno == EHOSTUNREACH || errno == EHOSTDOWN ||		    errno == ENETDOWN) {			log_warn("recvfrom %s",			    log_sockaddr((struct sockaddr *)&fsa));			return (0);		} else			fatal("recvfrom");	}	rectime = gettime();	if (ntp_getmsg(buf, size, &query) == -1)		return (0);	version = (query.status & VERSIONMASK) >> 3;	bzero(&reply, sizeof(reply));	reply.status = conf->status.leap | (query.status & VERSIONMASK);	if ((query.status & MODEMASK) == MODE_CLIENT)		reply.status |= MODE_SERVER;	else		reply.status |= MODE_SYM_PAS;	reply.stratum =	conf->status.stratum;	reply.ppoll = query.ppoll;	reply.precision = conf->status.precision;	reply.rectime = d_to_lfp(rectime);	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);	if (version > 3)		reply.refid = reply.xmttime.fraction;	else		reply.refid = conf->status.refid;	ntp_sendmsg(fd, (struct sockaddr *)&fsa, &reply, size, 0);	return (0);}