Telewell TW-EA501, TW-EA510 firmwares contain GPL licensed software ------------------------------------------------------------------- Billion BiPAC 7202G and BiPAC 7300G are affected aswell. 1. Download the flash update file $ wget http://www.telewell.fi/paivitykset/tw_ea501/Telewell-TWEA501v2A-V1.23-B002a.zip Alternate files to try: http://www.telewell.fi/paivitykset/tw_ea501/Telewell-TWEA501v2A-V1.23-B002a.zip http://www.telewell.fi/paivitykset/tw_ea510/Telewell-TWEA510v2A-V1.23-B002a.zip http://www.telewell.fi/paivitykset/tw_ea510/Telewell-TWEA510v2rA-V1.23-B002a.zip http://www.telewell.fi/paivitykset/tw_ea510/Telewell-TWEA510v3A-V1.23-B002a.zip If none of these links work, then get the files thru: http://www.telewell.fi/paivitykset/tw_ea501/tw_ea501_versio2_paivitys.htm http://www.telewell.fi/paivitykset/tw_ea501/tw_ea501_versio3_paivitys.htm http://www.telewell.fi/paivitykset/tw_ea510/tw_ea510_versio2_paivitys.htm http://www.telewell.fi/paivitykset/tw_ea510/tw_ea510_versio2r_paivitys.htm http://www.telewell.fi/paivitykset/tw_ea510/tw_ea510_versio3_paivitys.htm (The procedure works with the Billion firmwares aswell, after all Telewell appears to be rebadged Billion device) 2. Unzip the file $ unzip Telewell-TWEA501v2A-V1.23-B002a.zip 3. Compile twcramfsextract.c $ gcc -O2 twcramfsextract.c -o twcramfsextract 4. Extract the cramfs from the flash update: $ ./twcramfsextract < Telewell-TWEA501v2A-V1.23-B002-t0.afw > cramfs 5. Compile cramfsck.c from cramfs-1.1-modified.tar.gz $ tar zxf cramfs-1.1-modified.tar.gz $ make -C cramfs-1.1-modified cramfsck (if you get errors, make sure you have the needed dev packages installed. on debian and variants, as root: apt-get build-dep cramfsprogs) 6. Extract the cramfs filesystem $ fakeroot cramfs-1.1-modified/cramfsck -x /tmp/fs -v cramfs 7. Explore the extracted filesystem in /tmp/fs $ file /tmp/fs/bin/busybox /tmp/fs/bin/busybox: BFLT executable - version 4 ram gotpic BFLT executable is format used in uClinux. The details about the file format is explained here: http://www.beyondlogic.org/uClinux/bflt.htm $ 'grep -r bFLT /tmp/fs 2>/dev/null' will give nice list of BFLT binaries. To extract the compressed executables, use $ tail --bytes +65 /tmp/fs/usr/sbin/iptables | zcat > output For example /tmp/fs/usr/sbin/smtpclient has the following: " Copyright (c) 1997 Ralf S. Engelschall, All rights reserved. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the the GNU General Public License for more details. " 8. Browse the filesystem and examine binaries and files. Also take a look at /tmp/fs/etc/scripts/_updown file. You will find this: " #! /bin/sh # default updown script # Copyright (C) 2000, 2001 D. Hugh Redelmeier, Henry Spencer # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the # Free Software Foundation; either version 2 of the License, or (at your # option) any later version. See . # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # for more details. # # RCSID $Id: _updown,v 1.19 2002/03/25 18:04:42 henry Exp $ " 9. The GPL projects used in the firmware are at least (but not limited to): - uClinux http://www.uclinux.org/ - uClibc http://uclibc.org/about.html - busybox http://www.busybox.net/license.html - netfilter http://www.netfilter.org/licensing.html - iproute2 http://linux-net.osdl.org/index.php/Iproute2 - zebra http://www.zebra.org/what.html - SMTPclient http://engelschall.com/oss/ - Dnsmasq http://thekelleys.org.uk/dnsmasq/doc.html 10. The firmware archives do not include a) complete source code or b) written offer for the source code as required by GPL license. http://www.gnu.org/licenses/gpl.txt -- Harry Sintonen http://creativecommons.org/licenses/by-nc/2.5/