#endif
static int gettokens P((FILE *, char *, char **, int *));
static int matchkey P((char *, struct keyword *, int));
-static int getnetnum P((const char *, struct sockaddr_storage *, int));
+enum gnn_type {
+ t_UNK, /* Unknown */
+ t_REF, /* Refclock */
+ t_MSK, /* Network Mask */
+ };
+static int getnetnum P((const char *, struct sockaddr_storage *, int,
+ enum gnn_type));
static void save_resolve P((char *, int, int, int, int, u_int, int,
keyid_t, u_char *));
static void do_resolve_internal P((void));
break;
}
- if (!getnetnum(tokens[istart], &peeraddr, 0)) {
+ if (!getnetnum(tokens[istart], &peeraddr, 0, t_UNK)) {
errflg = -1;
} else {
errflg = 0;
memset((char *)&peeraddr, 0,
sizeof(peeraddr));
peeraddr.ss_family = maskaddr.ss_family;
- if (getnetnum(tokens[i], &peeraddr, 1))
+ if (getnetnum(tokens[i], &peeraddr, 1,
+ t_UNK))
proto_config(PROTO_MULTICAST_ADD,
0, 0., &peeraddr);
}
if (STREQ(tokens[istart], "default")) {
if (peeraddr.ss_family == 0)
peeraddr.ss_family = AF_INET;
- } else if (!getnetnum(tokens[istart], &peeraddr, 1))
+ } else if (!getnetnum(tokens[istart], &peeraddr, 1,
+ t_UNK))
break;
/*
break;
}
i++;
- if (!getnetnum(tokens[i], &maskaddr, 1))
+ if (!getnetnum(tokens[i], &maskaddr, 1,
+ t_MSK))
errflg++;
break;
break;
}
- if (!getnetnum(tokens[istart], &peeraddr, 1))
+ if (!getnetnum(tokens[istart], &peeraddr, 1, t_UNK))
break;
/*
sizeof(maskaddr));
maskaddr.ss_family = peeraddr.ss_family;
if (!getnetnum(tokens[++i],
- &maskaddr, 1)) {
+ &maskaddr, 1, t_UNK)) {
errflg = 1;
break;
}
break;
}
memset((char *)&peeraddr, 0, sizeof(peeraddr));
- if (!getnetnum(tokens[1], &peeraddr, 1))
+ if (!getnetnum(tokens[1], &peeraddr, 1, t_REF))
break;
if (!ISREFCLOCKADR(&peeraddr)) {
getnetnum(
const char *num,
struct sockaddr_storage *addr,
- int complain
+ int complain,
+ enum gnn_type a_type
)
{
struct addrinfo hints;