Browse Source

don't rely on sys/param.h having a MAX macro.

Switch to local definitions where MAX is needed.
discussed with deraadt@
OPENBSD_5_7
bcook 10 years ago
parent
commit
63d93971e4
2 changed files with 9 additions and 5 deletions
  1. +5
    -3
      src/usr.sbin/ntpd/client.c
  2. +4
    -2
      src/usr.sbin/ntpd/ntp.c

+ 5
- 3
src/usr.sbin/ntpd/client.c View File

@ -1,4 +1,4 @@
/* $OpenBSD: client.c,v 1.93 2014/05/12 20:50:46 miod Exp $ */
/* $OpenBSD: client.c,v 1.94 2015/01/04 01:19:46 bcook Exp $ */
/* /*
* Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org> * Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
@ -121,13 +121,15 @@ client_nextaddr(struct ntp_peer *p)
return (0); return (0);
} }
#define SCALE_MAX(a, b) ((a) > (b) ? (a) : (b))
int int
client_query(struct ntp_peer *p) client_query(struct ntp_peer *p)
{ {
int val; int val;
if (p->addr == NULL && client_nextaddr(p) == -1) { if (p->addr == NULL && client_nextaddr(p) == -1) {
set_next(p, MAX(SETTIME_TIMEOUT,
set_next(p, SCALE_MAX(SETTIME_TIMEOUT,
scale_interval(INTERVAL_QUERY_AGGRESSIVE))); scale_interval(INTERVAL_QUERY_AGGRESSIVE)));
return (0); return (0);
} }
@ -150,7 +152,7 @@ client_query(struct ntp_peer *p)
if (errno == ECONNREFUSED || errno == ENETUNREACH || if (errno == ECONNREFUSED || errno == ENETUNREACH ||
errno == EHOSTUNREACH || errno == EADDRNOTAVAIL) { errno == EHOSTUNREACH || errno == EADDRNOTAVAIL) {
client_nextaddr(p); client_nextaddr(p);
set_next(p, MAX(SETTIME_TIMEOUT,
set_next(p, SCALE_MAX(SETTIME_TIMEOUT,
scale_interval(INTERVAL_QUERY_AGGRESSIVE))); scale_interval(INTERVAL_QUERY_AGGRESSIVE)));
return (-1); return (-1);
} else } else


+ 4
- 2
src/usr.sbin/ntpd/ntp.c View File

@ -1,4 +1,4 @@
/* $OpenBSD: ntp.c,v 1.122 2015/01/04 01:16:10 bcook Exp $ */
/* $OpenBSD: ntp.c,v 1.123 2015/01/04 01:19:46 bcook Exp $ */
/* /*
* Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org> * Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
@ -734,13 +734,15 @@ update_scale(double offset)
conf->scale = QSCALE_OFF_MAX / offset; conf->scale = QSCALE_OFF_MAX / offset;
} }
#define SCALE_MAX(a, b) ((a) > (b) ? (a) : (b))
time_t time_t
scale_interval(time_t requested) scale_interval(time_t requested)
{ {
time_t interval, r; time_t interval, r;
interval = requested * conf->scale; interval = requested * conf->scale;
r = arc4random_uniform(MAX(5, interval / 10));
r = arc4random_uniform(SCALE_MAX(5, interval / 10));
return (interval + r); return (interval + r);
} }


Loading…
Cancel
Save