From owner-svn-src-all@FreeBSD.ORG Thu Nov 12 19:02:10 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9600010656CB; Thu, 12 Nov 2009 19:02:10 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 82DB88FC2C; Thu, 12 Nov 2009 19:02:10 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nACJ2AgB039578; Thu, 12 Nov 2009 19:02:10 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nACJ2AQP039566; Thu, 12 Nov 2009 19:02:10 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <200911121902.nACJ2AQP039566@svn.freebsd.org> From: Xin LI Date: Thu, 12 Nov 2009 19:02:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r199231 - in head: contrib/libpcap sbin/ifconfig share/man/man4 sys/kern sys/net sys/sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Nov 2009 19:02:10 -0000 Author: delphij Date: Thu Nov 12 19:02:10 2009 New Revision: 199231 URL: http://svn.freebsd.org/changeset/base/199231 Log: Revert revision 199201 for now as it has introduced a kernel vulnerability and requires more polishing. Modified: head/contrib/libpcap/inet.c head/sbin/ifconfig/ifconfig.8 head/sbin/ifconfig/ifconfig.c head/share/man/man4/netintro.4 head/sys/kern/kern_jail.c head/sys/net/if.c head/sys/net/if.h head/sys/net/if_var.h head/sys/sys/param.h head/sys/sys/priv.h head/sys/sys/sockio.h Modified: head/contrib/libpcap/inet.c ============================================================================== --- head/contrib/libpcap/inet.c Thu Nov 12 18:16:35 2009 (r199230) +++ head/contrib/libpcap/inet.c Thu Nov 12 19:02:10 2009 (r199231) @@ -403,30 +403,22 @@ add_addr_to_iflist(pcap_if_t **alldevs, pcap_addr_t *curaddr, *prevaddr, *nextaddr; #ifdef SIOCGIFDESCR struct ifreq ifrdesc; -#ifdef __FreeBSD__ -#define _IFDESCRSIZE 64 - char ifdescr[_IFDESCRSIZE]; -#else char ifdescr[IFDESCRSIZE]; -#endif int s; +#endif +#ifdef SIOCGIFDESCR /* * Get the description for the interface. */ memset(&ifrdesc, 0, sizeof ifrdesc); strlcpy(ifrdesc.ifr_name, name, sizeof ifrdesc.ifr_name); -#ifdef __FreeBSD__ - ifrdesc.ifr_buffer.buffer = ifdescr; - ifrdesc.ifr_buffer.length = _IFDESCRSIZE; -#else ifrdesc.ifr_data = (caddr_t)&ifdescr; -#endif s = socket(AF_INET, SOCK_DGRAM, 0); if (s >= 0) { if (ioctl(s, SIOCGIFDESCR, &ifrdesc) == 0 && - strlen(ifdescr) != 0) - description = ifdescr; + strlen(ifrdesc.ifr_data) != 0) + description = ifrdesc.ifr_data; close(s); } #endif Modified: head/sbin/ifconfig/ifconfig.8 ============================================================================== --- head/sbin/ifconfig/ifconfig.8 Thu Nov 12 18:16:35 2009 (r199230) +++ head/sbin/ifconfig/ifconfig.8 Thu Nov 12 19:02:10 2009 (r199231) @@ -28,7 +28,7 @@ .\" From: @(#)ifconfig.8 8.3 (Berkeley) 1/5/94 .\" $FreeBSD$ .\" -.Dd November 11, 2009 +.Dd September 23, 2009 .Dt IFCONFIG 8 .Os .Sh NAME @@ -258,12 +258,6 @@ Disable permanently promiscuous mode. Another name for the .Fl alias parameter. -.It Cm description Ar value -Specify a description of the interface. -This can be used to label interfaces in situations where they may -otherwise be difficult to distinguish. -.It Cm -description -Clear the interface description. .It Cm down Mark an interface .Dq down . @@ -2518,10 +2512,6 @@ Configure the interface to use 100baseTX, full duplex Ethernet media options: .Dl # ifconfig xl0 media 100baseTX mediaopt full-duplex .Pp -Label the em0 interface as an uplink: -.Pp -.Dl # ifconfig em0 description \&"Uplink to Gigabit Switch 2\&" -.Pp Create the software network interface .Li gif1 : .Dl # ifconfig gif1 create Modified: head/sbin/ifconfig/ifconfig.c ============================================================================== --- head/sbin/ifconfig/ifconfig.c Thu Nov 12 18:16:35 2009 (r199230) +++ head/sbin/ifconfig/ifconfig.c Thu Nov 12 19:02:10 2009 (r199231) @@ -83,8 +83,6 @@ static const char rcsid[] = struct ifreq ifr; char name[IFNAMSIZ]; -char *descr = NULL; -size_t descrlen = 64; int setaddr; int setmask; int doalias; @@ -824,36 +822,6 @@ setifname(const char *val, int dummy __u free(newname); } -/* ARGSUSED */ -static void -setifdescr(const char *val, int dummy __unused, int s, - const struct afswtch *afp) -{ - char *newdescr; - - newdescr = strdup(val); - if (newdescr == NULL) { - warn("no memory to set ifdescr"); - return; - } - ifr.ifr_buffer.buffer = newdescr; - ifr.ifr_buffer.length = strlen(newdescr); - if (ioctl(s, SIOCSIFDESCR, (caddr_t)&ifr) < 0) { - warn("ioctl (set descr)"); - free(newdescr); - return; - } - free(newdescr); -} - -/* ARGSUSED */ -static void -unsetifdescr(const char *val, int value, int s, const struct afswtch *afp) -{ - - setifdescr("", 0, s, 0); -} - #define IFFBITS \ "\020\1UP\2BROADCAST\3DEBUG\4LOOPBACK\5POINTOPOINT\6SMART\7RUNNING" \ "\10NOARP\11PROMISC\12ALLMULTI\13OACTIVE\14SIMPLEX\15LINK0\16LINK1\17LINK2" \ @@ -898,23 +866,6 @@ status(const struct afswtch *afp, const printf(" mtu %d", ifr.ifr_mtu); putchar('\n'); - descr = reallocf(descr, descrlen); - if (descr != NULL) { - do { - ifr.ifr_buffer.buffer = descr; - ifr.ifr_buffer.length = descrlen; - if (ioctl(s, SIOCGIFDESCR, &ifr) == 0) { - if (strlen(descr) > 0) - printf("\tdescription: %s\n", descr); - break; - } - if (errno == ENAMETOOLONG) { - descrlen *= 2; - descr = reallocf(descr, descrlen); - } - } while (errno == ENAMETOOLONG); - } - if (ioctl(s, SIOCGIFCAP, (caddr_t)&ifr) == 0) { if (ifr.ifr_curcap != 0) { printb("\toptions", ifr.ifr_curcap, IFCAPBITS); @@ -1084,10 +1035,6 @@ static struct cmd basic_cmds[] = { DEF_CMD("-arp", IFF_NOARP, setifflags), DEF_CMD("debug", IFF_DEBUG, setifflags), DEF_CMD("-debug", -IFF_DEBUG, setifflags), - DEF_CMD_ARG("description", setifdescr), - DEF_CMD_ARG("descr", setifdescr), - DEF_CMD("-description", 0, unsetifdescr), - DEF_CMD("-descr", 0, unsetifdescr), DEF_CMD("promisc", IFF_PPROMISC, setifflags), DEF_CMD("-promisc", -IFF_PPROMISC, setifflags), DEF_CMD("add", IFF_UP, notealias), Modified: head/share/man/man4/netintro.4 ============================================================================== --- head/share/man/man4/netintro.4 Thu Nov 12 18:16:35 2009 (r199230) +++ head/share/man/man4/netintro.4 Thu Nov 12 19:02:10 2009 (r199231) @@ -32,7 +32,7 @@ .\" @(#)netintro.4 8.2 (Berkeley) 11/30/93 .\" $FreeBSD$ .\" -.Dd November 11, 2009 +.Dd June 18, 2004 .Dt NETINTRO 4 .Os .Sh NAME @@ -277,25 +277,6 @@ and fields of the .Vt ifreq structure, respectively. -.It Dv SIOCGIFDESCR -Get the interface description, returned in the -.Va buffer -field of -.Va ifru_buffer -struct. -The user supplied buffer length should defined in the -.Va length -field of -.Va ifru_buffer -struct passed in as parameter. -.It Dv SIOCSIFDESCR -Set the interface description to the value of the -.Va buffer -field of -.Va ifru_buffer -struct, with -.Va length -field specifying its length. .It Dv SIOCSIFFLAGS Set interface flags field. If the interface is marked down, Modified: head/sys/kern/kern_jail.c ============================================================================== --- head/sys/kern/kern_jail.c Thu Nov 12 18:16:35 2009 (r199230) +++ head/sys/kern/kern_jail.c Thu Nov 12 19:02:10 2009 (r199231) @@ -3467,7 +3467,6 @@ prison_priv_check(struct ucred *cred, in case PRIV_NET_SETIFMTU: case PRIV_NET_SETIFFLAGS: case PRIV_NET_SETIFCAP: - case PRIV_NET_SETIFDESCR: case PRIV_NET_SETIFNAME : case PRIV_NET_SETIFMETRIC: case PRIV_NET_SETIFPHYS: Modified: head/sys/net/if.c ============================================================================== --- head/sys/net/if.c Thu Nov 12 18:16:35 2009 (r199230) +++ head/sys/net/if.c Thu Nov 12 19:02:10 2009 (r199231) @@ -463,8 +463,6 @@ if_free_internal(struct ifnet *ifp) #ifdef MAC mac_ifnet_destroy(ifp); #endif /* MAC */ - if (ifp->if_description != NULL) - sbuf_delete(ifp->if_description); IF_AFDATA_DESTROY(ifp); IF_ADDR_LOCK_DESTROY(ifp); ifq_delete(&ifp->if_snd); @@ -2092,45 +2090,6 @@ ifhwioctl(u_long cmd, struct ifnet *ifp, ifr->ifr_phys = ifp->if_physical; break; - case SIOCGIFDESCR: - IF_AFDATA_RLOCK(ifp); - if (ifp->if_description == NULL) - error = ENOMSG; - else - error = copystr(sbuf_data(ifp->if_description), - ifr->ifr_buffer.buffer, - ifr->ifr_buffer.length, NULL); - IF_AFDATA_RUNLOCK(ifp); - break; - - case SIOCSIFDESCR: - error = priv_check(td, PRIV_NET_SETIFDESCR); - if (error) - return (error); - - IF_AFDATA_WLOCK(ifp); - if (ifp->if_description == NULL) { - ifp->if_description = sbuf_new_auto(); - if (ifp->if_description == NULL) { - error = ENOMEM; - IF_AFDATA_WUNLOCK(ifp); - break; - } - } else - sbuf_clear(ifp->if_description); - - if (sbuf_copyin(ifp->if_description, ifr->ifr_buffer.buffer, - ifr->ifr_buffer.length) == -1) - error = EFAULT; - - if (error == 0) { - sbuf_finish(ifp->if_description); - getmicrotime(&ifp->if_lastchange); - } - IF_AFDATA_WUNLOCK(ifp); - - break; - case SIOCSIFFLAGS: error = priv_check(td, PRIV_NET_SETIFFLAGS); if (error) Modified: head/sys/net/if.h ============================================================================== --- head/sys/net/if.h Thu Nov 12 18:16:35 2009 (r199230) +++ head/sys/net/if.h Thu Nov 12 19:02:10 2009 (r199231) @@ -294,7 +294,6 @@ struct ifreq { struct sockaddr ifru_addr; struct sockaddr ifru_dstaddr; struct sockaddr ifru_broadaddr; - struct { size_t length; caddr_t buffer; } ifru_buffer; short ifru_flags[2]; short ifru_index; int ifru_jid; @@ -308,7 +307,6 @@ struct ifreq { #define ifr_addr ifr_ifru.ifru_addr /* address */ #define ifr_dstaddr ifr_ifru.ifru_dstaddr /* other end of p-to-p link */ #define ifr_broadaddr ifr_ifru.ifru_broadaddr /* broadcast address */ -#define ifr_buffer ifr_ifru.ifru_buffer /* user supplied buffer with its length */ #define ifr_flags ifr_ifru.ifru_flags[0] /* flags (low 16 bits) */ #define ifr_flagshigh ifr_ifru.ifru_flags[1] /* flags (high 16 bits) */ #define ifr_jid ifr_ifru.ifru_jid /* jail/vnet */ Modified: head/sys/net/if_var.h ============================================================================== --- head/sys/net/if_var.h Thu Nov 12 18:16:35 2009 (r199230) +++ head/sys/net/if_var.h Thu Nov 12 19:02:10 2009 (r199231) @@ -198,7 +198,6 @@ struct ifnet { void *if_pf_kif; void *if_lagg; /* lagg glue */ u_char if_alloctype; /* if_type at time of allocation */ - struct sbuf *if_description; /* interface description */ /* * Spare fields are added so that we can modify sensitive data @@ -206,7 +205,7 @@ struct ifnet { * be used with care where binary compatibility is required. */ char if_cspare[3]; - void *if_pspare[7]; + void *if_pspare[8]; int if_ispare[4]; }; Modified: head/sys/sys/param.h ============================================================================== --- head/sys/sys/param.h Thu Nov 12 18:16:35 2009 (r199230) +++ head/sys/sys/param.h Thu Nov 12 19:02:10 2009 (r199231) @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 900003 /* Master, propagated to newvers */ +#define __FreeBSD_version 900002 /* Master, propagated to newvers */ #ifndef LOCORE #include Modified: head/sys/sys/priv.h ============================================================================== --- head/sys/sys/priv.h Thu Nov 12 18:16:35 2009 (r199230) +++ head/sys/sys/priv.h Thu Nov 12 19:02:10 2009 (r199231) @@ -335,7 +335,6 @@ #define PRIV_NET_LAGG 415 /* Administer lagg interface. */ #define PRIV_NET_GIF 416 /* Administer gif interface. */ #define PRIV_NET_SETIFVNET 417 /* Move interface to vnet. */ -#define PRIV_NET_SETIFDESCR 418 /* Set interface description. */ /* * 802.11-related privileges. Modified: head/sys/sys/sockio.h ============================================================================== --- head/sys/sys/sockio.h Thu Nov 12 18:16:35 2009 (r199230) +++ head/sys/sys/sockio.h Thu Nov 12 19:02:10 2009 (r199231) @@ -82,8 +82,6 @@ #define SIOCGIFMAC _IOWR('i', 38, struct ifreq) /* get IF MAC label */ #define SIOCSIFMAC _IOW('i', 39, struct ifreq) /* set IF MAC label */ #define SIOCSIFNAME _IOW('i', 40, struct ifreq) /* set IF name */ -#define SIOCSIFDESCR _IOW('i', 41, struct ifreq) /* set ifnet descr */ -#define SIOCGIFDESCR _IOWR('i', 42, struct ifreq) /* get ifnet descr */ #define SIOCADDMULTI _IOW('i', 49, struct ifreq) /* add m'cast addr */ #define SIOCDELMULTI _IOW('i', 50, struct ifreq) /* del m'cast addr */