[Asterisk-Dev] GPL Violation alert..

Johnathan Corgan 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 
voip-info.org page:


...and a couple asterisk-dev mailing list emails regarding this feature.


More information about the asterisk-dev mailing list