replace
log_warnx("foo"):
exit(1);
with
fatalx("foo):
OK?
diff --git config.c config.c
index 85d14efedca..e6f48fffec7 100644
--- config.c
+++ config.c
@@ -85,9 +85,8 @@ getconfig(char *intface)
do { \
int64_t t; \
if ((t = agetnum(cap)) < 0) { \
- log_warnx("need %s for interface %s", \
+ fatalx("need %s for interface %s", \
cap, intface); \
- exit(1); \
} \
var = t; \
} while (0)
@@ -129,10 +128,9 @@ getconfig(char *intface)
else
tmp->advlinkopt = 1;
if (tmp->advlinkopt) {
- if ((tmp->sdl = if_nametosdl(intface)) == NULL) {
- log_warnx("can't get information of %s", intface);
- exit(1);
- }
+ if ((tmp->sdl = if_nametosdl(intface)) == NULL)
+ fatalx("can't get information of %s", intface);
+
tmp->ifindex = tmp->sdl->sdl_index;
} else
tmp->ifindex = if_nametoindex(intface);
@@ -146,20 +144,18 @@ getconfig(char *intface)
* set router configuration variables.
*/
MAYHAVE(val, "maxinterval", DEF_MAXRTRADVINTERVAL);
- if (val < MIN_MAXINTERVAL || val > MAX_MAXINTERVAL) {
- log_warnx("maxinterval (%ld) on %s is invalid "
+ if (val < MIN_MAXINTERVAL || val > MAX_MAXINTERVAL)
+ fatalx("maxinterval (%ld) on %s is invalid "
"(must be between %u and %u)", val,
intface, MIN_MAXINTERVAL, MAX_MAXINTERVAL);
- exit(1);
- }
+
tmp->maxinterval = (u_int)val;
MAYHAVE(val, "mininterval", tmp->maxinterval/3);
- if (val < MIN_MININTERVAL || val > (tmp->maxinterval * 3) / 4) {
- log_warnx("mininterval (%ld) on %s is invalid "
+ if (val < MIN_MININTERVAL || val > (tmp->maxinterval * 3) / 4)
+ fatalx("mininterval (%ld) on %s is invalid "
"(must be between %u and %u)",
val, intface, MIN_MININTERVAL, (tmp->maxinterval * 3) / 4);
- exit(1);
- }
+
tmp->mininterval = (u_int)val;
MAYHAVE(val, "chlim", DEF_ADVCURHOPLIMIT);
@@ -169,20 +165,17 @@ getconfig(char *intface)
tmp->managedflg = val & ND_RA_FLAG_MANAGED;
tmp->otherflg = val & ND_RA_FLAG_OTHER;
tmp->rtpref = val & ND_RA_FLAG_RTPREF_MASK;
- if (tmp->rtpref == ND_RA_FLAG_RTPREF_RSV) {
- log_warnx("invalid router preference (%02x) on %s",
+ if (tmp->rtpref == ND_RA_FLAG_RTPREF_RSV)
+ fatalx("invalid router preference (%02x) on %s",
tmp->rtpref, intface);
- exit(1);
- }
MAYHAVE(val, "rltime", tmp->maxinterval * 3);
- if (val && (val < tmp->maxinterval || val > MAX_ROUTERLIFETIME)) {
- log_warnx("router lifetime (%ld) on %s is invalid "
+ if (val && (val < tmp->maxinterval || val > MAX_ROUTERLIFETIME))
+ fatalx("router lifetime (%ld) on %s is invalid "
"(must be 0 or between %d and %d)",
val, intface,
tmp->maxinterval, MAX_ROUTERLIFETIME);
- exit(1);
- }
+
/*
* Basically, hosts MUST NOT send Router Advertisement messages at any
* time (RFC 2461, Section 6.2.3). However, it would sometimes be
@@ -191,36 +184,32 @@ getconfig(char *intface)
* only when router lifetime (on every advertising interface) is
* explicitely set to zero. (see also the above section)
*/
- if (val && forwarding == 0) {
- log_warnx("non zero router lifetime is specified for %s, "
+ if (val && forwarding == 0)
+ fatalx("non zero router lifetime is specified for %s, "
"which must not be allowed for hosts. you must "
"change router lifetime or enable IPv6 forwarding.",
intface);
- exit(1);
- }
+
tmp->lifetime = val & 0xffff;
MAYHAVE(val, "rtime", DEF_ADVREACHABLETIME);
- if (val < 0 || val > MAX_REACHABLETIME) {
+ if (val < 0 || val > MAX_REACHABLETIME)
log_warnx("reachable time (%ld) on %s is invalid"
" (must be no greater than %d)",
val, intface, MAX_REACHABLETIME);
- exit(1);
- }
+
tmp->reachabletime = (u_int32_t)val;
MAYHAVE(val64, "retrans", DEF_ADVRETRANSTIMER);
- if (val64 < 0 || val64 > 0xffffffff) {
- log_warnx("retrans time (%lld) on %s out of range",
+ if (val64 < 0 || val64 > 0xffffffff)
+ fatalx("retrans time (%lld) on %s out of range",
(long long)val64, intface);
- exit(1);
- }
+
tmp->retranstimer = (u_int32_t)val64;
- if (agetnum("hapref") != -1 || agetnum("hatime") != -1) {
- log_warnx("mobile-ip6 configuration not supported");
- exit(1);
- }
+ if (agetnum("hapref") != -1 || agetnum("hatime") != -1)
+ fatalx("mobile-ip6 configuration not supported");
+
/* prefix information */
/*
@@ -251,16 +240,14 @@ getconfig(char *intface)
pfx->origin = PREFIX_FROM_CONFIG;
- if (inet_pton(AF_INET6, addr, &pfx->prefix) != 1) {
- log_warn("inet_pton failed for %s", addr);
- exit(1);
- }
- if (IN6_IS_ADDR_MULTICAST(&pfx->prefix)) {
- log_warnx("multicast prefix (%s) must"
+ if (inet_pton(AF_INET6, addr, &pfx->prefix) != 1)
+ fatal("inet_pton failed for %s", addr);
+
+ if (IN6_IS_ADDR_MULTICAST(&pfx->prefix))
+ fatalx("multicast prefix (%s) must"
" not be advertised on %s",
addr, intface);
- exit(1);
- }
+
if (IN6_IS_ADDR_LINKLOCAL(&pfx->prefix))
log_info("link-local prefix (%s) will be"
" advertised on %s",
@@ -268,12 +255,11 @@ getconfig(char *intface)
makeentry(entbuf, sizeof(entbuf), i, "prefixlen");
MAYHAVE(val, entbuf, 64);
- if (val < 0 || val > 128) {
- log_warnx("prefixlen (%ld) for %s "
+ if (val < 0 || val > 128)
+ fatalx("prefixlen (%ld) for %s "
"on %s out of range",
val, addr, intface);
- exit(1);
- }
+
pfx->prefixlen = (int)val;
makeentry(entbuf, sizeof(entbuf), i, "pinfoflags");
@@ -284,13 +270,12 @@ getconfig(char *intface)
makeentry(entbuf, sizeof(entbuf), i, "vltime");
MAYHAVE(val64, entbuf, DEF_ADVVALIDLIFETIME);
- if (val64 < 0 || val64 > 0xffffffff) {
- log_warnx("vltime (%lld) for"
+ if (val64 < 0 || val64 > 0xffffffff)
+ fatalx("vltime (%lld) for"
" %s/%d on %s is out of range",
(long long)val64,
addr, pfx->prefixlen, intface);
- exit(1);
- }
+
pfx->validlifetime = (u_int32_t)val64;
makeentry(entbuf, sizeof(entbuf), i, "vltimedecr");
@@ -303,13 +288,12 @@ getconfig(char *intface)
makeentry(entbuf, sizeof(entbuf), i, "pltime");
MAYHAVE(val64, entbuf, DEF_ADVPREFERREDLIFETIME);
- if (val64 < 0 || val64 > 0xffffffff) {
- log_warnx("pltime (%lld) for %s/%d on %s"
+ if (val64 < 0 || val64 > 0xffffffff)
+ fatalx("pltime (%lld) for %s/%d on %s"
" is out of range",
(long long)val64,
addr, pfx->prefixlen, intface);
- exit(1);
- }
+
pfx->preflifetime = (u_int32_t)val64;
makeentry(entbuf, sizeof(entbuf), i, "pltimedecr");
@@ -337,19 +321,16 @@ getconfig(char *intface)
if (rti == NULL)
fatal(NULL);
- if (inet_pton(AF_INET6, addr, &rti->prefix) != 1) {
- log_warn("inet_pton failed for %s", addr);
- exit(1);
- }
+ if (inet_pton(AF_INET6, addr, &rti->prefix) != 1)
+ fatal("inet_pton failed for %s", addr);
makeentry(entbuf, sizeof(entbuf), i, "rtplen");
MAYHAVE(val, entbuf, 64);
- if (val < 0 || val > 128) {
- log_warnx("route prefixlen (%ld) for %s "
+ if (val < 0 || val > 128)
+ fatalx("route prefixlen (%ld) for %s "
"on %s out of range",
val, addr, intface);
- exit(1);
- }
+
rti->prefixlen = (int)val;
makeentry(entbuf, sizeof(entbuf), i, "rtflags");
@@ -358,35 +339,31 @@ getconfig(char *intface)
if (strchr(flagstr, 'h'))
val |= ND_RA_FLAG_RTPREF_HIGH;
if (strchr(flagstr, 'l')) {
- if (val & ND_RA_FLAG_RTPREF_HIGH) {
- log_warnx("the \'h\' and \'l\'"
+ if (val & ND_RA_FLAG_RTPREF_HIGH)
+ fatalx("the \'h\' and \'l\'"
" route preferences are"
" exclusive");
- exit(1);
- }
+
val |= ND_RA_FLAG_RTPREF_LOW;
}
} else
MAYHAVE(val, entbuf, 0);
rti->rtpref = val & ND_RA_FLAG_RTPREF_MASK;
- if (rti->rtpref == ND_RA_FLAG_RTPREF_RSV) {
- log_warnx("invalid route preference (%02x)"
+ if (rti->rtpref == ND_RA_FLAG_RTPREF_RSV)
+ fatalx("invalid route preference (%02x)"
" for %s/%d on %s",
rti->rtpref, addr, rti->prefixlen, intface);
- exit(1);
- }
makeentry(entbuf, sizeof(entbuf), i, "rtltime");
MAYHAVE(val64, entbuf, -1);
if (val64 == -1)
val64 = tmp->lifetime;
- if (val64 < 0 || val64 >= 0xffffffff) {
- log_warnx("route lifetime (%d) "
+ if (val64 < 0 || val64 >= 0xffffffff)
+ fatalx("route lifetime (%d) "
" for %s/%d on %s out of range",
rti->rtpref, addr, rti->prefixlen, intface);
- exit(1);
- }
+
rti->lifetime = (uint32_t)val64;
TAILQ_INSERT_TAIL(&tmp->rtinfos, rti, entry);
@@ -429,10 +406,10 @@ getconfig(char *intface)
val = 0;
while ((tmpaddr = strsep(&addr, ","))) {
- if (inet_pton(AF_INET6, tmpaddr, &rds->servers[val]) !=
1) {
- log_warn("inet_pton failed for %s", tmpaddr);
- exit(1);
- }
+ if (inet_pton(AF_INET6, tmpaddr, &rds->servers[val]) !=
+ 1)
+ fatal("inet_pton failed for %s", tmpaddr);
+
val++;
}
}
@@ -489,10 +466,9 @@ getconfig(char *intface)
}
MAYHAVE(val, "mtu", 0);
- if (val < 0 || val > 0xffffffff) {
- log_warnx("mtu (%ld) on %s out of range", val, intface);
- exit(1);
- }
+ if (val < 0 || val > 0xffffffff)
+ fatalx("mtu (%ld) on %s out of range", val, intface);
+
tmp->linkmtu = (u_int32_t)val;
if (tmp->linkmtu == 0) {
char *mtustr;
@@ -500,13 +476,10 @@ getconfig(char *intface)
if ((mtustr = agetstr("mtu", &bp)) &&
strcmp(mtustr, "auto") == 0)
tmp->linkmtu = tmp->phymtu;
- }
- else if (tmp->linkmtu < IPV6_MMTU || tmp->linkmtu > tmp->phymtu) {
- log_warnx("advertised link mtu (%u) on %s is invalid (must"
+ } else if (tmp->linkmtu < IPV6_MMTU || tmp->linkmtu > tmp->phymtu)
+ fatalx("advertised link mtu (%u) on %s is invalid (must"
" be between least MTU (%d) and physical link MTU (%d)",
tmp->linkmtu, intface, IPV6_MMTU, tmp->phymtu);
- exit(1);
- }
/* route information */
MAYHAVE(val, "routes", -1);
diff --git if.c if.c
index c4a4fea1984..95f83d8e822 100644
--- if.c
+++ if.c
@@ -181,8 +181,7 @@ lladdropt_fill(struct sockaddr_dl *sdl, struct nd_opt_hdr
*ndopt)
memcpy(addr, LLADDR(sdl), ETHER_ADDR_LEN);
break;
default:
- log_warn("unsupported link type(%d)", sdl->sdl_type);
- exit(1);
+ fatalx("unsupported link type(%d)", sdl->sdl_type);
}
}
@@ -444,12 +443,11 @@ parse_iflist(struct if_msghdr ***ifmlist_p, char *buf,
size_t bufsize)
if (ifm->ifm_version == RTM_VERSION)
(*ifmlist_p)[ifm->ifm_index] = ifm;
} else {
- log_warn("out of sync parsing NET_RT_IFLIST,"
+ fatalx("out of sync parsing NET_RT_IFLIST,"
" expected %d, got %d, msglen = %d,"
" buf:%p, ifm:%p, lim:%p",
RTM_IFINFO, ifm->ifm_type, ifm->ifm_msglen,
buf, ifm, lim);
- exit(1);
}
for (ifam = (struct ifa_msghdr *)
((char *)ifm + ifm->ifm_msglen);
diff --git rtadvd.c rtadvd.c
index 71419bcf5b9..030e8c45509 100644
--- rtadvd.c
+++ rtadvd.c
@@ -1152,10 +1152,8 @@ sock_open(void)
SLIST_FOREACH(ra, &ralist, entry) {
mreq.ipv6mr_interface = ra->ifindex;
if (setsockopt(sock, IPPROTO_IPV6, IPV6_JOIN_GROUP, &mreq,
- sizeof(mreq)) < 0) {
- log_warn("IPV6_JOIN_GROUP(link) on %s", ra->ifname);
- exit(1);
- }
+ sizeof(mreq)) < 0)
+ fatal("IPV6_JOIN_GROUP(link) on %s", ra->ifname);
}
/* initialize msghdr for receiving packets */
--
I'm not entirely sure you are real.