Networking Sunview // Avoiding Per-CPU license hassles

gnu at toad.com gnu at toad.com
Tue Dec 5 16:18:37 AEST 1989


hansel at aerospace.aero.org (Steven J. Hansel) wrote:
> I was wondering if there is any way to get one Sun to open Sunview windows
> on another Sun, like X windows does.
> The reason I want to do this is we have some very expensive software that
> is liscenced to run only on one CPU and it would be nice to use other suns
> as Sunview terminals.

I think the X version of Sunview should've been a shared library with the
same calling sequence as Sunview, so that old Sunview applications would
be networkable just by changing the shared library path.  This wouldn't
have worked for all apps, but it would work for most, I think.  However
since Sun has given the source away, perhaps we can do it on our own.

There is an easier way to get around the 'expensive software licensed for
one CPU' problem though.  It's called the "sethostid" hack.  Such software
figures out what CPU it is on by calling "gethostid", a system call.  It
believes whatever the kernel tells it.  However, you as the workstation
owner have the right and privilege of patching your kernel.  If you patch
it to return the same hostid as the single licensed machine, well, that is
between you and your personal morality.  I never did like software for
networked machines that tied itself to a single CPU, nor have I bought or
sold any.  But I've been paid by some major companies to 'fix' the problem
for them, and I think it's time all the 'little people' found out how easy
it is too.

Hint: Copy /vmunix to /vmunix.save.  There is a procedure in /vmunix
called "gethostid".  Disassemble it with "adb".  Replace the call to
"machineid" with an instruction (680x0) or two (SPARC) that will set the
result (d0 or %o0) to the CPUID you are interested in.  Reboot the new
/vmunix and try the "hostid" command.

It occurs to me that you could replace "_gethostid" in your shared library
path and probably get the same result without patching the kernel, if you
are running SunOS 4.0 or greater.  I haven't tried that route.

John Gilmore      {sun,pacbell,uunet,pyramid}!hoptoad!gnu      gnu at toad.com
    Just say *yes* to drugs.  Use your *no*s for government bullshit.



More information about the Comp.sys.sun mailing list