[Asterisk-Dev] GPL Violation alert..
jcorgan at aeinet.com
Sun Jun 26 08:56:32 MST 2005
Rob Thomas wrote:
> Tadaah. GPL Violation. Yay for the viral GPL. There doesn't seem to be
> anything in the 'core' apart from the actual kernel module loading
> functions, and a big blob of text saying that you should only use if if
> you've bought the hardware from this certain guy.
> [root at gw wcfxo2]# nm wcfxo2-core.o
> 00000000 T decode
> 00000010 b inb
> 0000001c b init
> 0000000c b inl
> 00000050 T kernel_module_wcfxo2_func
> 00000251 T kernel_module_wcfxo2_func2
> 000002e2 T kernel_module_wcfxo2_initialize
> 00000060 D kernel_module_wcfxo2_pci_tbl
> 00000020 D key
> 00000018 b outb
> 00000014 b outl
> 00000004 b printk
> 00000008 b printk2
> 00000000 d text
> 00000000 b udelay
> 00000040 D wcx100p
A very brief glance through a disassembly of the wcfxo2-core.o binary:
The routine 'decode' (at 00000000 above) is called repeatedly by the
kernel_module_wcfxo2_initialize routine. 'decode' performs some sort of
math operation (which includes comparison, division, and XORing) on a 30
byte fixed value at address 'key' (at 00000020 above):
00000020: F5 00 00 00 23 00 00 00 84 00 00 00 20 00 00 00
00000030: 35 00 00 00 45 00 00 00 21 00 00 00 56 00
So there is more going on here than just kernel load and unload
functions. My speculation is that this is some sort of hardware check
to verify a value tied to the card. Perhaps this is the why the author
desires to keep this in object form as a form a security through
obscurity. Better x86 assembler geeks than I will figure out what this
code does very quickly anyway.
Another interesting point--the author retains the GPL license
notification at the top of the (modified) wcfxo2.c source file.
However, in wcfxo2-module.c, he declares the module license as
Clearly the linkage between the binary module wcfxo2-core.o and the
other two source code files (one of which is distributed under GPL)
triggers the derivative works clause in the GPL, as you noted.
The author is "Marcin Pycko", who is also the domain registrant for
asterisk-x100p.com. Interesting Google results for this name are a
...and a couple asterisk-dev mailing list emails regarding this feature.
More information about the asterisk-dev