diff options
author | Piotr Jaroszyński <peper@gentoo.org> | 2008-10-27 12:52:56 +0000 |
---|---|---|
committer | Piotr Jaroszyński <peper@gentoo.org> | 2008-10-27 12:52:56 +0000 |
commit | d256f02039e3ff3352063c1f72bdca921d4d48b2 (patch) | |
tree | 92f555452fe491affec4dbca8da18bea11ee2b04 /net-wireless | |
parent | Sparc stable, Bug #244594. (diff) | |
download | historical-d256f02039e3ff3352063c1f72bdca921d4d48b2.tar.gz historical-d256f02039e3ff3352063c1f72bdca921d4d48b2.tar.bz2 historical-d256f02039e3ff3352063c1f72bdca921d4d48b2.zip |
Add 1.53-r1 straight to x86. Security bug #239371.
Package-Manager: portage-2.2_rc12/cvs/Linux 2.6.26-gentoo x86_64
RepoMan-Options: --force
Diffstat (limited to 'net-wireless')
-rw-r--r-- | net-wireless/ndiswrapper/ChangeLog | 8 | ||||
-rw-r--r-- | net-wireless/ndiswrapper/Manifest | 14 | ||||
-rw-r--r-- | net-wireless/ndiswrapper/files/ndiswrapper-CVE-2008-4395.patch | 86 | ||||
-rw-r--r-- | net-wireless/ndiswrapper/ndiswrapper-1.53-r1.ebuild | 124 |
4 files changed, 220 insertions, 12 deletions
diff --git a/net-wireless/ndiswrapper/ChangeLog b/net-wireless/ndiswrapper/ChangeLog index 35b6ca3931c7..c45f19ff509e 100644 --- a/net-wireless/ndiswrapper/ChangeLog +++ b/net-wireless/ndiswrapper/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for net-wireless/ndiswrapper # Copyright 2000-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/ndiswrapper/ChangeLog,v 1.102 2008/05/30 10:33:36 peper Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-wireless/ndiswrapper/ChangeLog,v 1.103 2008/10/27 12:52:56 peper Exp $ + +*ndiswrapper-1.53-r1 (27 Oct 2008) + + 27 Oct 2008; Piotr Jaroszyński <peper@gentoo.org> + +files/ndiswrapper-CVE-2008-4395.patch, +ndiswrapper-1.53-r1.ebuild: + Add 1.53-r1 straight to x86. Security bug #239371. *ndiswrapper-1.53 (30 May 2008) diff --git a/net-wireless/ndiswrapper/Manifest b/net-wireless/ndiswrapper/Manifest index 63d8a82e0854..6f4c1330e83f 100644 --- a/net-wireless/ndiswrapper/Manifest +++ b/net-wireless/ndiswrapper/Manifest @@ -1,9 +1,7 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - AUX ndiswrapper-1.46-ksrc.patch 1635 RMD160 705a2ebc0198eb9c94e041e544128adb44824733 SHA1 fc44ca239c8a8ab067d88a8371fbafb85a1421e9 SHA256 6b46e194ec4418f6497c97d88679f2ecc02451516396cffda43e3945b02dcf52 AUX ndiswrapper-1.47-ksrc.patch 592 RMD160 ac2831b9f676ab4348875f4fae3e54b99b151790 SHA1 4ab7a69f56251f6055a1ec0e4153a6835792d2cf SHA256 38cc21054be40c047c8135d4eb009dd72573a4fa7edb8ee310769e5c54ee16c1 AUX ndiswrapper-1.50_rc1-makefile.patch 600 RMD160 f8b4f17ba938538303e6c895711933a9464f99cb SHA1 ab868623df14704eb4e09cda7cc7b03801afe09b SHA256 8188c4eb1d6ca8353e3c3de27803563c96db5607492e23ef71bcfbdad9336648 +AUX ndiswrapper-CVE-2008-4395.patch 3032 RMD160 ef09a1bed8d81adb62fe700c144a11e0a3ff9a90 SHA1 d333ef0fc877587a0947b3f4dba49f9586136f86 SHA256 62860197b6f9fa749a3c94c2577a8bd0fd101a518592625b3884ca30b97bf71e AUX ndiswrapper-new_suspend2.patch 891 RMD160 1dbb59e400ea8cac62bbc6cbb2c757b08b078c91 SHA1 6fdde32982d8c422838a3b5f9934245dd5869459 SHA256 dec61532d2c7eec07f387681616026e0472bc1d9024785a1bb5178769f6c2e5c DIST ndiswrapper-1.47.tar.gz 198265 RMD160 72082c5a825e77e444e2cf29f6e6e5fcc11b2e02 SHA1 2431c8f74cab37d3f4c39c6d1b625e0b8312282e SHA256 8ee24f7a4c625fa12deb69d6fa530618c6eca0909848de439f54ebda16e7d312 DIST ndiswrapper-1.48.tar.gz 199830 RMD160 6e50e1b96fa1c33db427e8be85ca842a4a3aa528 SHA1 570f1feece989088ebb086180f0a6533fa92b0d5 SHA256 17a190c8a21f3d5397bc49e743a918a893d9f97af904e72b9a301b086eeb90ba @@ -18,13 +16,7 @@ EBUILD ndiswrapper-1.49.ebuild 2946 RMD160 0fb36a76769e61aa900caa6e1e4b954ebb453 EBUILD ndiswrapper-1.50.ebuild 2945 RMD160 8230368ca8cbc01be87a4aa769b15da442987957 SHA1 107855fa2fc3d8c0c55377c0ca327767a71237f4 SHA256 f046f67f4994609f8cc648c1b555a09188b89bbe9747f65e582762a67fde4cf9 EBUILD ndiswrapper-1.51.ebuild 2946 RMD160 bb0235e729f18a4aa989b07844a884d7b9c52290 SHA1 b59a3407e701c7356dc27d7a1a9c5f900617f7b7 SHA256 9bd728fbb2230f11f59666a48caed8f6225fece6c9186554ff8f7e17d0f7fbbd EBUILD ndiswrapper-1.52.ebuild 2946 RMD160 b38da9817441a0eea032ba4ac0d020bc6e5dc7c0 SHA1 890ae187b4ce48b2f4546cf2341e0027586be228 SHA256 f819c3337caa94702a22c8d6e401f990cef384494f311b58724f7add646bae1a +EBUILD ndiswrapper-1.53-r1.ebuild 3021 RMD160 c056c9659c90d72cc7ca70c69ce915686beafc50 SHA1 438e760b37fc6f709f003cba630c03a1f8d42a05 SHA256 b9253ecd5850bd60b4d64107ef3c162d548b5985deefb2b1779e5ed3cb51b85c EBUILD ndiswrapper-1.53.ebuild 2946 RMD160 374bbb2e51718b38ab33d9ee07184390362bed20 SHA1 bc9d6a89299c6a99a912d64f09c5e9e9cb66e794 SHA256 a5ad6aedd1effd912e3f0496c6a317bc81c9b936b8a179854d98685ff2b271ac -MISC ChangeLog 18609 RMD160 b1b1349228778316276c92146e1a42518f6fc7b4 SHA1 6dd31552bae0d144b43ec0420d51a154fc689c73 SHA256 f12317b746015bfda90ef55899916ac0efc7f9270132f9165af84d37dc8b6678 +MISC ChangeLog 18823 RMD160 5f16837ec4dcfca4d3fc2c06c61858f2a4782a09 SHA1 1d62426127157f456f3f2995d3ec77ec1f739e52 SHA256 1d141bd6c7ed93985eb6a9c27e2bbd9bb4f6b75b4d8f8774e8c24ab83c0a5f87 MISC metadata.xml 480 RMD160 bd309ddc508e0436d0b2bb4c6ac2915fb7d9cea7 SHA1 14a2b92b64b18b0b79653fe64a9c282ae16331f2 SHA256 7ca20f317d16e17be26b34401258fc10ceb6d5698e89fc853fae59aa74cb0e66 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.9 (GNU/Linux) - -iEYEARECAAYFAkg/2AcACgkQppoStNGKGyzMhACgyg+wsHPF5HKk3BZhc1ZY408V -e7UAoJal7nqC+iLDjb8f+ckv96JW6gs0 -=1f8w ------END PGP SIGNATURE----- diff --git a/net-wireless/ndiswrapper/files/ndiswrapper-CVE-2008-4395.patch b/net-wireless/ndiswrapper/files/ndiswrapper-CVE-2008-4395.patch new file mode 100644 index 000000000000..53682e0e629a --- /dev/null +++ b/net-wireless/ndiswrapper/files/ndiswrapper-CVE-2008-4395.patch @@ -0,0 +1,86 @@ +diff --git a/ubuntu/ndiswrapper/iw_ndis.c b/ubuntu/ndiswrapper/iw_ndis.c +index b114ef6..01d3751 100644 +--- a/ubuntu/ndiswrapper/iw_ndis.c ++++ b/ubuntu/ndiswrapper/iw_ndis.c +@@ -47,12 +47,7 @@ int set_essid(struct ndis_device *wnd, const char *ssid, int ssid_len) + req.length = ssid_len; + if (ssid_len) + memcpy(&req.essid, ssid, ssid_len); +- DBG_BLOCK(2) { +- char buf[NDIS_ESSID_MAX_SIZE+1]; +- memcpy(buf, ssid, ssid_len); +- buf[ssid_len] = 0; +- TRACE2("ssid = '%s'", buf); +- } ++ TRACE2("ssid = '%.*s'", ssid_len, ssid); + + res = mp_set(wnd, OID_802_11_SSID, &req, sizeof(req)); + if (res) { +@@ -125,7 +120,6 @@ static int iw_get_essid(struct net_device *dev, struct iw_request_info *info, + EXIT2(return -EOPNOTSUPP); + } + memcpy(extra, req.essid, req.length); +- extra[req.length] = 0; + if (req.length > 0) + wrqu->essid.flags = 1; + else +@@ -1000,7 +994,7 @@ static int iw_set_nick(struct net_device *dev, struct iw_request_info *info, + + if (wrqu->data.length > IW_ESSID_MAX_SIZE || wrqu->data.length <= 0) + return -EINVAL; +- memset(wnd->nick, 0, sizeof(wnd->nick)); ++ wnd->nick_len = wrqu->data.length; + memcpy(wnd->nick, extra, wrqu->data.length); + return 0; + } +@@ -1010,7 +1004,7 @@ static int iw_get_nick(struct net_device *dev, struct iw_request_info *info, + { + struct ndis_device *wnd = netdev_priv(dev); + +- wrqu->data.length = strlen(wnd->nick); ++ wrqu->data.length = wnd->nick_len; + memcpy(extra, wnd->nick, wrqu->data.length); + return 0; + } +diff --git a/ubuntu/ndiswrapper/ndis.h b/ubuntu/ndiswrapper/ndis.h +index 27ba99e..65d6b0b 100644 +--- a/ubuntu/ndiswrapper/ndis.h ++++ b/ubuntu/ndiswrapper/ndis.h +@@ -878,6 +878,7 @@ struct ndis_device { + unsigned long scan_timestamp; + struct encr_info encr_info; + char nick[IW_ESSID_MAX_SIZE]; ++ size_t nick_len; + struct ndis_essid essid; + struct auth_encr_capa capa; + enum ndis_infrastructure_mode infrastructure_mode; +diff --git a/ubuntu/ndiswrapper/proc.c b/ubuntu/ndiswrapper/proc.c +index fd5f433..6feff23 100644 +--- a/ubuntu/ndiswrapper/proc.c ++++ b/ubuntu/ndiswrapper/proc.c +@@ -97,10 +97,8 @@ static int procfs_read_ndis_encr(char *page, char **start, off_t off, + p += sprintf(p, "\n"); + + res = mp_query(wnd, OID_802_11_SSID, &essid, sizeof(essid)); +- if (!res) { +- essid.essid[essid.length] = '\0'; +- p += sprintf(p, "essid=%s\n", essid.essid); +- } ++ if (!res) ++ p += sprintf(p, "essid=%.*s\n", essid.length, essid.essid); + res = mp_query_int(wnd, OID_802_11_ENCRYPTION_STATUS, &encr_status); + if (!res) { + typeof(&wnd->encr_info.keys[0]) tx_key; +diff --git a/ubuntu/ndiswrapper/wrapndis.c b/ubuntu/ndiswrapper/wrapndis.c +index f6e5d46..35ef1cd 100644 +--- a/ubuntu/ndiswrapper/wrapndis.c ++++ b/ubuntu/ndiswrapper/wrapndis.c +@@ -2028,7 +2028,7 @@ static wstdcall NTSTATUS NdisAddDevice(struct driver_object *drv_obj, + wnd->attributes = 0; + wnd->dma_map_count = 0; + wnd->dma_map_addr = NULL; +- wnd->nick[0] = 0; ++ wnd->nick_len = 0; + init_timer(&wnd->hangcheck_timer); + wnd->scan_timestamp = 0; + init_timer(&wnd->iw_stats_timer); diff --git a/net-wireless/ndiswrapper/ndiswrapper-1.53-r1.ebuild b/net-wireless/ndiswrapper/ndiswrapper-1.53-r1.ebuild new file mode 100644 index 000000000000..c19a45ba3da5 --- /dev/null +++ b/net-wireless/ndiswrapper/ndiswrapper-1.53-r1.ebuild @@ -0,0 +1,124 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-wireless/ndiswrapper/ndiswrapper-1.53-r1.ebuild,v 1.1 2008/10/27 12:52:56 peper Exp $ + +inherit linux-mod + +MY_P=${PN}-${PV/_/} + +DESCRIPTION="Wrapper for using Windows drivers for some wireless cards" +HOMEPAGE="http://ndiswrapper.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz" + +LICENSE="GPL-2" +KEYWORDS="~amd64 x86" +IUSE="debug usb" + +DEPEND="sys-apps/pciutils" +RDEPEND="${DEPEND} + net-wireless/wireless-tools" + +CONFIG_CHECK="WIRELESS_EXT" + +S=${WORKDIR}/${MY_P} + +MODULE_NAMES="ndiswrapper(misc:${S}/driver)" +BUILD_TARGETS="all" +MODULESD_NDISWRAPPER_ALIASES=("wlan0 ndiswrapper") + +ERROR_USB="You need to enable USB support in your kernel +to use usb support in ndiswrapper." + +pkg_setup() { + echo + einfo "See http://www.gentoo.org/doc/en/gentoo-kernel.xml" + einfo "for a list of supported kernels." + echo + + use usb && CONFIG_CHECK="${CONFIG_CHECK} USB" + linux-mod_pkg_setup +} + +src_unpack() { + unpack ${A} + convert_to_m "${S}/driver/Makefile" + + cd "${S}/driver" + epatch "${FILESDIR}/ndiswrapper-CVE-2008-4395.patch" +} + +src_compile() { + local params + + # Enable verbose debugging information + if use debug; then + params="DEBUG=3" + use usb && params="${params} USB_DEBUG=1" + fi + + cd utils + emake || die "Compile of utils failed!" + + use usb || params="DISABLE_USB=1" + + # Does not like parallel builds + # http://bugs.gentoo.org/show_bug.cgi?id=154213 + # KBUILD value can't be quoted + # http://bugs.gentoo.org/show_bug.cgi?id=156319 + BUILD_PARAMS="KSRC=${KV_DIR} KVERS=${KV_FULL} KBUILD=${KV_OUT_DIR} ${params} -j1" + linux-mod_src_compile +} + +src_install() { + dodoc AUTHORS ChangeLog INSTALL README + doman ndiswrapper.8 || die + + keepdir /etc/ndiswrapper + + linux-mod_src_install + + cd utils + emake DESTDIR="${D}" install || die "emake install failed" +} + +pkg_postinst() { + linux-mod_pkg_postinst + + echo + elog "NDISwrapper requires .inf and .sys files from a Windows(tm) driver" + elog "to function. Download these to /root for example, then" + elog "run 'ndiswrapper -i /root/foo.inf'. After that you can delete them." + elog "They will be copied to /etc/ndiswrapper/." + elog "Once done, please run 'update-modules'." + elog + + elog "Please look at ${HOMEPAGE}" + elog "for the FAQ, HowTos, tips, configuration, and installation" + elog "information." + elog + + local i=$(lspci -n | egrep 'Class (0280|0200):' | cut -d' ' -f4) + if [[ -n "${i}" ]] ; then + elog "Possible hardware: ${i}" + elog + fi + + elog "NDISwrapper devs need support (_hardware_, cash)." + elog "Don't hesitate if you can help." + elog "See ${HOMEPAGE} for details." + echo + + if [[ ${ROOT} == "/" ]]; then + + einfo "Attempting to automatically reinstall any Windows drivers" + einfo "you might already have." + echo + + local driver + for driver in $(ls /etc/ndiswrapper) ; do + einfo "Driver: ${driver}" + mv "/etc/ndiswrapper/${driver}" "${T}" + ndiswrapper -i "${T}/${driver}/${driver}.inf" + done + fi +} |