summaryrefslogtreecommitdiffstats
path: root/freebsd/sbin
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2015-02-02 14:27:13 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2015-02-13 10:34:19 +0100
commit7eeb079d84bc4abe9897be0047fc28a754e46ecd (patch)
tree9b47ac7055ce0cb1e2d86c684a2a7a1cd20c0c4d /freebsd/sbin
parentfreebsd-to-rtems.py: Fix revert includes (diff)
downloadrtems-libbsd-7eeb079d84bc4abe9897be0047fc28a754e46ecd.tar.bz2
Update to FreeBSD 9.3
Diffstat (limited to 'freebsd/sbin')
-rw-r--r--freebsd/sbin/ifconfig/af_inet.c4
-rw-r--r--freebsd/sbin/ifconfig/ifgroup.c4
-rw-r--r--freebsd/sbin/route/keywords2
-rw-r--r--freebsd/sbin/route/route.c24
4 files changed, 28 insertions, 6 deletions
diff --git a/freebsd/sbin/ifconfig/af_inet.c b/freebsd/sbin/ifconfig/af_inet.c
index 0e6ace11..3e9ac8ea 100644
--- a/freebsd/sbin/ifconfig/af_inet.c
+++ b/freebsd/sbin/ifconfig/af_inet.c
@@ -106,8 +106,7 @@ in_getaddr(const char *s, int which)
struct netent *np;
sin->sin_len = sizeof(*sin);
- if (which != MASK)
- sin->sin_family = AF_INET;
+ sin->sin_family = AF_INET;
if (which == ADDR) {
char *p = NULL;
@@ -126,6 +125,7 @@ in_getaddr(const char *s, int which)
*p = '/';
errx(1, "%s: bad value (width %s)", s, errstr);
}
+ min->sin_family = AF_INET;
min->sin_len = sizeof(*min);
min->sin_addr.s_addr = htonl(~((1LL << (32 - masklen)) - 1) &
0xffffffff);
diff --git a/freebsd/sbin/ifconfig/ifgroup.c b/freebsd/sbin/ifconfig/ifgroup.c
index daffb3b0..c8dae3b9 100644
--- a/freebsd/sbin/ifconfig/ifgroup.c
+++ b/freebsd/sbin/ifconfig/ifgroup.c
@@ -62,7 +62,7 @@ setifgroup(const char *group_name, int d, int s, const struct afswtch *rafp)
if (strlcpy(ifgr.ifgr_group, group_name, IFNAMSIZ) >= IFNAMSIZ)
errx(1, "setifgroup: group name too long");
- if (ioctl(s, SIOCAIFGROUP, (caddr_t)&ifgr) == -1)
+ if (ioctl(s, SIOCAIFGROUP, (caddr_t)&ifgr) == -1 && errno != EEXIST)
err(1," SIOCAIFGROUP");
}
@@ -80,7 +80,7 @@ unsetifgroup(const char *group_name, int d, int s, const struct afswtch *rafp)
if (strlcpy(ifgr.ifgr_group, group_name, IFNAMSIZ) >= IFNAMSIZ)
errx(1, "unsetifgroup: group name too long");
- if (ioctl(s, SIOCDIFGROUP, (caddr_t)&ifgr) == -1)
+ if (ioctl(s, SIOCDIFGROUP, (caddr_t)&ifgr) == -1 && errno != ENOENT)
err(1, "SIOCDIFGROUP");
}
diff --git a/freebsd/sbin/route/keywords b/freebsd/sbin/route/keywords
index adfba7cf..676f781d 100644
--- a/freebsd/sbin/route/keywords
+++ b/freebsd/sbin/route/keywords
@@ -1,6 +1,8 @@
# @(#)keywords 8.2 (Berkeley) 3/19/94
# $FreeBSD$
+4
+6
add
atalk
blackhole
diff --git a/freebsd/sbin/route/route.c b/freebsd/sbin/route/route.c
index 158445d8..05b4f5a3 100644
--- a/freebsd/sbin/route/route.c
+++ b/freebsd/sbin/route/route.c
@@ -177,7 +177,7 @@ usage(const char *cp)
if (cp != NULL)
warnx("bad keyword: %s", cp);
(void) fprintf(stderr,
- "usage: route [-dnqtv] command [[modifiers] args]\n");
+ "usage: route [-46dnqtv] command [[modifiers] args]\n");
exit(EX_USAGE);
/* NOTREACHED */
}
@@ -263,8 +263,24 @@ main(int argc, char **argv)
if (argc < 2)
usage(NULL);
- while ((ch = getopt(argc, argv, "nqdtv")) != -1)
+ while ((ch = getopt(argc, argv, "46nqdtv")) != -1)
switch(ch) {
+ case '4':
+#ifdef INET
+ c->af = AF_INET;
+ c->aflen = sizeof(struct sockaddr_in);
+#else
+ errx(1, "IPv4 support is not compiled in");
+#endif
+ break;
+ case '6':
+#ifdef INET6
+ c->af = AF_INET6;
+ c->aflen = sizeof(struct sockaddr_in6);
+#else
+ errx(1, "IPv6 support is not compiled in");
+#endif
+ break;
case 'n':
c->nflag = 1;
break;
@@ -485,10 +501,12 @@ flushroutes(struct rt_ctx *c, int argc, char *argv[])
if (**argv != '-')
usage(*argv);
switch (keyword(*argv + 1)) {
+ case K_4:
case K_INET:
c->af = AF_INET;
break;
#ifdef INET6
+ case K_6:
case K_INET6:
c->af = AF_INET6;
break;
@@ -903,11 +921,13 @@ newroute(struct rt_ctx *c, int argc, char **argv)
c->af = AF_LINK;
c->aflen = sizeof(struct sockaddr_dl);
break;
+ case K_4:
case K_INET:
c->af = AF_INET;
c->aflen = sizeof(struct sockaddr_in);
break;
#ifdef INET6
+ case K_6:
case K_INET6:
c->af = AF_INET6;
c->aflen = sizeof(struct sockaddr_in6);