diff options
author | Marco Neumann | 2016-01-13 12:38:04 +0100 |
---|---|---|
committer | Marco Neumann | 2016-01-13 13:17:42 +0100 |
commit | eb2d7dbca47a22bd7310c51345161bd93c4c9230 (patch) | |
tree | 446edde2f7a5e00eaa0818ede4c7735c35c94ea7 | |
parent | c3dc8954488e3da8b34b70e5bb73430b2a2a4000 (diff) | |
download | aur-eb2d7dbca47a22bd7310c51345161bd93c4c9230.tar.gz |
Update to latest upstream (0.6.2)
* Syncs with latest fwinst.sh.
* Updates to driver version 0.6.2. This includes the kernel-3.16 and
grsecurity patch so we don't need these anymore.
* Adds p7zip and wget as a build-time dependencies.
* Makes firmware check more secure (MD5->SHA512).
-rw-r--r-- | .SRCINFO | 20 | ||||
-rw-r--r-- | PKGBUILD | 20 | ||||
-rw-r--r-- | fwinst.patch | 38 | ||||
-rw-r--r-- | grsecurity.patch | 157 | ||||
-rw-r--r-- | kernel-3.16.patch | 12 |
5 files changed, 47 insertions, 200 deletions
@@ -1,25 +1,25 @@ +# Generated by mksrcinfo v8 +# Wed Jan 13 12:17:23 UTC 2016 pkgbase = sixfireusb-dkms pkgdesc = Kernel modules for the Terratec DMX6FireUSB soundcard, including firmware - pkgver = 0.6.1 - pkgrel = 3 + pkgver = 0.6.2 + pkgrel = 1 url = http://sourceforge.net/projects/sixfireusb install = sixfireusb.install arch = i686 arch = x86_64 license = GPL + makedepends = p7zip + makedepends = wget depends = dkms optdepends = linux-headers: build the module against Arch kernel - source = http://sourceforge.net/projects/sixfireusb/files/sixfireusb-0.6.1.tar.bz2 + source = http://sourceforge.net/projects/sixfireusb/files/sixfireusb-0.6.2.tar.bz2 source = http://sourceforge.net/projects/sixfireusb/files/tools/fwinst.sh - source = kernel-3.16.patch - source = grsecurity.patch source = fwinst.patch source = dkms.conf - sha512sums = 6428fe074dd2717bcf6f2bdb38b5612694d66254021cc5a627ef5bccf2a7cbfd0e8cb9ca4be4f9855fe89d9be47a9943bbf368d8aec45eda08e4290ede9e9d34 - sha512sums = 84aabf90510c1a42e25e9c07eb4e41f45fa967c1bbf4e89c4f4355a0adcab58727f3f759cecbed078e6f2a17e8eaafc8c55aad77e164ef0539b4eec162e5b5cc - sha512sums = 9d612518c48873d1ae9bd28a55b7a54cbb8e4836a87cf9c8870ae5038850107539b3b13684610f31aa2543dae3123cc88f02e477a891d2c3baae6157b0151083 - sha512sums = 1c5ed0652f83f68c12c05b6675af85ded4b31696db0c07047555ee028f82ecf5c69a1de3d452e82ee137187254f6c27305ee650cc636e003ba1ebeedc007017a - sha512sums = f900df734deaab5070fdc7daf43700307259fb82a6846eb3765eff9fbd041eb12fb2f04158105c749f6a06217cd44097e08cc230c5fc76ef3bad078d697ed6b8 + sha512sums = e79e4a62762626d966fa8c169b8666a0cfa3af8516e6f8a97e1a1d211d1deb1ed26bd2c5c8a4b563e03718c232e832686be783abbb66e5b49c8cc31858752068 + sha512sums = 2cf369af6f8628796cbc47732335c2c00de8454f20ef06014bf11ba967dd791b3074c85f171964a77a72dd835917f84a85e073ca7194cfdd3a86e841efac0005 + sha512sums = c2d593bb00d8db87cab31ad1c4684453f167646e5173cab216098c584a9fe530c532513a916397e0923de02dddb0f83256f904e00cbb40dce60234b56fa8a09b sha512sums = 43880b03da504b390471084e140e3b119080621792a9aad41e92e7372fb56fe88321289419f04ce33687955d45dfff049d3ba9b2df5eefee3d061ecb597372d8 pkgname = sixfireusb-dkms @@ -2,27 +2,27 @@ # Author (fixes): Marco Neumann <marco@crepererum.net> pkgname=sixfireusb-dkms -pkgver=0.6.1 -pkgrel=3 +pkgver=0.6.2 +pkgrel=1 pkgdesc="Kernel modules for the Terratec DMX6FireUSB soundcard, including firmware" arch=('i686' 'x86_64') url="http://sourceforge.net/projects/sixfireusb" license=('GPL') depends=('dkms') optdepends=('linux-headers: build the module against Arch kernel') +makedepends=( + 'p7zip' + 'wget' +) source=(http://sourceforge.net/projects/sixfireusb/files/sixfireusb-$pkgver.tar.bz2 http://sourceforge.net/projects/sixfireusb/files/tools/fwinst.sh - kernel-3.16.patch - grsecurity.patch fwinst.patch dkms.conf ) sha512sums=( - '6428fe074dd2717bcf6f2bdb38b5612694d66254021cc5a627ef5bccf2a7cbfd0e8cb9ca4be4f9855fe89d9be47a9943bbf368d8aec45eda08e4290ede9e9d34' - '84aabf90510c1a42e25e9c07eb4e41f45fa967c1bbf4e89c4f4355a0adcab58727f3f759cecbed078e6f2a17e8eaafc8c55aad77e164ef0539b4eec162e5b5cc' - '9d612518c48873d1ae9bd28a55b7a54cbb8e4836a87cf9c8870ae5038850107539b3b13684610f31aa2543dae3123cc88f02e477a891d2c3baae6157b0151083' - '1c5ed0652f83f68c12c05b6675af85ded4b31696db0c07047555ee028f82ecf5c69a1de3d452e82ee137187254f6c27305ee650cc636e003ba1ebeedc007017a' - 'f900df734deaab5070fdc7daf43700307259fb82a6846eb3765eff9fbd041eb12fb2f04158105c749f6a06217cd44097e08cc230c5fc76ef3bad078d697ed6b8' + 'e79e4a62762626d966fa8c169b8666a0cfa3af8516e6f8a97e1a1d211d1deb1ed26bd2c5c8a4b563e03718c232e832686be783abbb66e5b49c8cc31858752068' + '2cf369af6f8628796cbc47732335c2c00de8454f20ef06014bf11ba967dd791b3074c85f171964a77a72dd835917f84a85e073ca7194cfdd3a86e841efac0005' + 'c2d593bb00d8db87cab31ad1c4684453f167646e5173cab216098c584a9fe530c532513a916397e0923de02dddb0f83256f904e00cbb40dce60234b56fa8a09b' '43880b03da504b390471084e140e3b119080621792a9aad41e92e7372fb56fe88321289419f04ce33687955d45dfff049d3ba9b2df5eefee3d061ecb597372d8' ) install=sixfireusb.install @@ -30,8 +30,6 @@ install=sixfireusb.install build() { patch -Np1 -i fwinst.patch -o fwinst-patched.sh --follow-symlink cd "${srcdir}"/sixfireusb-$pkgver - patch -Np1 -i ../kernel-3.16.patch - patch -Np1 -i ../grsecurity.patch } package() { diff --git a/fwinst.patch b/fwinst.patch index 66ea1563829d..691aa0e38f74 100644 --- a/fwinst.patch +++ b/fwinst.patch @@ -1,6 +1,6 @@ -diff -aur sixfireusb-0.6.1/fwinst.sh sixfireusb-0.6.1/fwinst.sh ---- sixfireusb-0.6.1/fwinst.sh 2015-10-16 17:15:26.986916637 +0200 -+++ sixfireusb-0.6.1/fwinst.sh 2015-10-18 10:48:10.764352290 +0200 +diff -aur sixfireusb-0.6.2/fwinst.sh sixfireusb-0.6.2/fwinst.sh +--- sixfireusb-0.6.2/fwinst.sh 2016-01-13 12:32:46.658997492 +0100 ++++ sixfireusb-0.6.2/fwinst.sh 2016-01-13 12:59:59.438633828 +0100 @@ -19,7 +19,7 @@ # (at your option) any later version. # @@ -10,16 +10,18 @@ diff -aur sixfireusb-0.6.1/fwinst.sh sixfireusb-0.6.1/fwinst.sh export FW_6FIRE_PATH=$FW_PATH/6fire cleanup() { rm -Rf /tmp/dmx -@@ -58,7 +58,7 @@ +@@ -63,8 +63,8 @@ + fi step_success - step_begin "Downloading windows driver" --if ! wget "http://ftp.terratec.de/Audio/DMX_6fire_USB/Updates/DMX_6fire_USB_Setup_1.23.0.02_XP_Vista_7.exe" -q -O /tmp/dmx.exe ; then -+if ! wget "http://terratec.ultron.info/Audio/DMX_6fire_USB/Updates/History/Windows/DMX_6fire_USB_Setup_1.23.0.02_XP_Vista_7.exe" -q -O /tmp/dmx.exe ; then - step_error "Internet connection alive? Perhaps a new driver version is available.\nIf that is the case, please redownload this script." +-step_begin "Checking MD-5 checksum of windows driver" +-if ! echo "86049155f9326a77329d87f7b027a8b9 /tmp/dmx.exe" | md5sum -c >/dev/null 2>&1 ; then ++step_begin "Checking SHA512 checksum of windows driver" ++if ! echo "4a71d2cbf092b0c13afc4ec475e9b6eca48f68e3ca47cff96ffb71bc51dea09c0b19a0e90150ac40cbcf231bc3570e187dc9cb447c2a309472c1e237d501c5b1 /tmp/dmx.exe" | sha512sum -c >/dev/null 2>&1 ; then + step_error "Downloaded windows driver has wrong MD-5 checksum." fi step_success -@@ -80,15 +80,15 @@ +@@ -80,35 +80,35 @@ step_success step_begin "Extracting firmware files" @@ -38,7 +40,23 @@ diff -aur sixfireusb-0.6.1/fwinst.sh sixfireusb-0.6.1/fwinst.sh step_error "Extraction of file 'dmx6firel2.ihx' failed." fi step_success -@@ -108,7 +108,7 @@ + +-step_begin "Checking MD-5 checksums of firmware files" +-if ! echo "fa80973cb8c02097712933bd1d1c23b2 /tmp/dmx6firel2.ihx" | md5sum -c >/dev/null 2>&1 ; then ++step_begin "Checking SHA512 checksums of firmware files" ++if ! echo "6c90f63df6b6a536d5895ac30fcf58ef613ad731d9652f2269f74bae36741527d1ef275d2e50711b0782dfd5e64b0fafcb6c50dcaf5d4910c4200c77ef41ca78 /tmp/dmx6firel2.ihx" | sha512sum -c >/dev/null 2>&1 ; then + step_error "File 'dmx6firel2.ihx' has wrong MD-5 checksum." + fi + +-if ! echo "7497b6b80d43e68f13b6929934ab60f4 /tmp/dmx6fireap.ihx" | md5sum -c >/dev/null 2>&1; then ++if ! echo "2b10c9348cf7ad4296141dd16db0e1b6298020ee5467cc80836f597d5f8d6b01a8276c44a446462de554cf562a11b98de63ae4852dd7ca04408dca5f5cc227c5 /tmp/dmx6fireap.ihx" | sha512sum -c >/dev/null 2>&1; then + step_error "File 'dmx6fireap.ihx' has wrong MD-5 checksum." + fi + +-if ! echo "a65eecc11adc87af7307f5266ad31d65 /tmp/dmx6firecf.bin" | md5sum -c >/dev/null 2>&1 ; then ++if ! echo "ddef0fbeff9e15e0bdcbfff8767c49adb3a0f08b68c0bcf1e38e666b03a2bafef672a2bec0918a75780ebaa477627ef639443d0adeaeacea3d56af1b66acb85f /tmp/dmx6firecf.bin" | sha512sum -c >/dev/null 2>&1 ; then + step_error "File 'dmx6firecf.bin' has wrong MD-5 checksum." + fi step_success step_begin "Installing firmware files" diff --git a/grsecurity.patch b/grsecurity.patch deleted file mode 100644 index 94c342d47658..000000000000 --- a/grsecurity.patch +++ /dev/null @@ -1,157 +0,0 @@ -diff -aur sixfireusb-0.6.1/firmware.c sixfireusb-0.6.1/firmware.c ---- sixfireusb-0.6.1/firmware.c 2014-08-15 18:33:06.000000000 +0200 -+++ sixfireusb-0.6.1/firmware.c 2014-12-11 00:40:40.234928691 +0100 -@@ -207,7 +207,7 @@ - unsigned int postaddr, u8 *postdata, unsigned int postlen) - { - int ret; -- u8 data; -+ u8 *data; - struct usb_device *device = interface_to_usbdev(intf); - const struct firmware *fw = NULL; - struct ihex_record *rec = kmalloc(sizeof(struct ihex_record), -@@ -216,8 +216,15 @@ - if (!rec) - return -ENOMEM; - -+ data = kmalloc(1, GFP_KERNEL); -+ if (!data) { -+ kfree(rec); -+ return -ENOMEM; -+ } -+ - ret = request_firmware(&fw, fwname, &device->dev); - if (ret < 0) { -+ kfree(data); - kfree(rec); - snd_printk(KERN_ERR PREFIX "error requesting ezusb " - "firmware %s.\n", fwname); -@@ -225,6 +232,7 @@ - } - ret = usb6fire_fw_ihex_init(fw, rec); - if (ret < 0) { -+ kfree(data); - kfree(rec); - release_firmware(fw); - snd_printk(KERN_ERR PREFIX "error validating ezusb " -@@ -232,9 +240,10 @@ - return ret; - } - /* upload firmware image */ -- data = 0x01; /* stop ezusb cpu */ -- ret = usb6fire_fw_ezusb_write(device, 0xa0, 0xe600, &data, 1); -+ *data = 0x01; /* stop ezusb cpu */ -+ ret = usb6fire_fw_ezusb_write(device, 0xa0, 0xe600, data, 1); - if (ret < 0) { -+ kfree(data); - kfree(rec); - release_firmware(fw); - snd_printk(KERN_ERR PREFIX "unable to upload ezusb " -@@ -246,6 +255,7 @@ - ret = usb6fire_fw_ezusb_write(device, 0xa0, rec->address, - rec->data, rec->len); - if (ret < 0) { -+ kfree(data); - kfree(rec); - release_firmware(fw); - snd_printk(KERN_ERR PREFIX "unable to upload ezusb " -@@ -262,12 +272,14 @@ - if (ret < 0) { - snd_printk(KERN_ERR PREFIX "unable to upload ezusb " - "firmware %s: post urb.\n", fwname); -+ kfree(data); - return ret; - } - } - -- data = 0x00; /* resume ezusb cpu */ -- ret = usb6fire_fw_ezusb_write(device, 0xa0, 0xe600, &data, 1); -+ *data = 0x00; /* resume ezusb cpu */ -+ ret = usb6fire_fw_ezusb_write(device, 0xa0, 0xe600, data, 1); -+ kfree(data); - if (ret < 0) { - snd_printk(KERN_ERR PREFIX "unable to upload ezusb " - "firmware %s: end message.\n", fwname); -@@ -361,12 +373,13 @@ - struct usb_device *device = interface_to_usbdev(intf); - /* buffer: 8 receiving bytes from device and - * sizeof(EP_W_MAX_PACKET_SIZE) bytes for non-const copy */ -- u8 buffer[12]; -+ u8 *buffer = kmalloc(12, GFP_KERNEL); - - ret = usb6fire_fw_ezusb_read(device, 1, 0, buffer, 8); - if (ret < 0) { - snd_printk(KERN_ERR PREFIX "unable to receive device " - "firmware state.\n"); -+ kfree(buffer); - return ret; - } - -@@ -376,44 +389,60 @@ - for (i = 0; i < 8; i++) - snd_printk("%02x ", buffer[i]); - snd_printk("\n"); -+ kfree(buffer); - return -EIO; - } - /* do we need fpga loader ezusb firmware? */ - if (buffer[3] == 0x01) { - ret = usb6fire_fw_ezusb_upload(intf, - "6fire/dmx6firel2.ihx", 0, NULL, 0); -- if (ret < 0) -+ if (ret < 0) { -+ kfree(buffer); - return ret; -+ } -+ kfree(buffer); - return FW_NOT_READY; - } - /* do we need fpga firmware and application ezusb firmware? */ - else if (buffer[3] == 0x02) { - ret = usb6fire_fw_check(buffer + 4); -- if (ret < 0) -+ if (ret < 0) { -+ kfree(buffer); - return ret; -+ } - ret = usb6fire_fw_fpga_upload(intf, "6fire/dmx6firecf.bin"); -- if (ret < 0) -+ if (ret < 0) { -+ kfree(buffer); - return ret; -+ } - memcpy(buffer, ep_w_max_packet_size, - sizeof(ep_w_max_packet_size)); - ret = usb6fire_fw_ezusb_upload(intf, "6fire/dmx6fireap.ihx", - 0x0003, buffer, sizeof(ep_w_max_packet_size)); -- if (ret < 0) -+ if (ret < 0) { -+ kfree(buffer); - return ret; -+ } -+ kfree(buffer); - return FW_NOT_READY; - } - /* all fw loaded? */ -- else if (buffer[3] == 0x03) -- return usb6fire_fw_check(buffer + 4); -+ else if (buffer[3] == 0x03) { -+ ret = usb6fire_fw_check(buffer + 4);; -+ kfree(buffer); -+ return ret; - /* unknown data? */ -- else { -+ } else { - snd_printk(KERN_ERR PREFIX "unknown device firmware state " - "received from device: "); - for (i = 0; i < 8; i++) - snd_printk("%02x ", buffer[i]); - snd_printk("\n"); -+ kfree(buffer); - return -EIO; - } -+ -+ kfree(buffer); - return 0; - } - diff --git a/kernel-3.16.patch b/kernel-3.16.patch deleted file mode 100644 index 5f5b197e819b..000000000000 --- a/kernel-3.16.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -aur sixfireusb-0.6.1/chip.c sixfireusb-0.6.1/chip.c ---- sixfireusb-0.6.1/chip.c 2013-12-10 04:46:22.000000000 +0100 -+++ sixfireusb-0.6.1/chip.c 2014-10-04 23:04:38.663734490 +0200 -@@ -143,7 +143,7 @@ - snd_printk(KERN_ERR PREFIX "can't set first interface.\n"); - return -EIO; - } -- ret = snd_card_create(index[regidx], id[regidx], THIS_MODULE, -+ ret = snd_card_new(&intf->dev, index[regidx], id[regidx], THIS_MODULE, - sizeof(struct sfire_chip), &card); - if (ret < 0) { - snd_printk(KERN_ERR PREFIX "cannot create alsa card.\n"); |