Darren J Moffat wrote:
> Given that 2007/078 stores the hostid in /etc/hostid (for x86 only) was 
> any consideration given to just using the same mechanism for zones 
> rather than having a different one ?
> 

Yes, I considered it for a time but settled on the solution presented in 
the case because storing a non-global zone's hostid in its configuration 
file is consistent with the current way the zones subsystem works. 
Pertinent zone configuration information is stored in the zone's 
configuration file, so it seems natural to store hostid information 
there as well.  Furthermore, splitting a zone's configuration across 
many files (say, the zone's XML configuration file in /etc/zones and the 
zone's /etc/hostid file) unnecessarily complicates zone configuration 
and booting.  For example, suppose we want to configure a new zone with 
some hostid.  If the zone does not already exist (i.e., if it is not 
installed), then where would we store the hostid?  In the zone's 
configuration file.  But if it will be stored in the zone's 
configuration file, then why create a separate /etc/hostid file for the 
zone later when the hostid is already accessible in the zone's 
configuration file?  Storing a zone's hostid in an /etc/hostid file is 
superfluous.

Additionally, James Carlson made a good point about the security 
provided by storing non-global zone hostids in their /etc/zone 
configuration files.


Darren J Moffat wrote:
 > Why is it acceptable to have a zone's hostid in the clear in the 
global zone /etc/zone/<zonename>.xml for SPARC and x86 file yet it isn't 
acceptable to have the hostid in the clear in /etc/hostid for x86 - even 
when the source code for the silly obfuscation is open source.
 >

What exactly is your concern?  If it is the inconsistency between my 
case and PSARC/2007/078 in that /etc/hostid is obfuscated and non-global 
zone hostids (as stored in their configuration files) are not, then I 
agree that obfuscating the system's hostid is pointless given that 
anyone can examine the source and discover how to circumvent it.  I am 
in favor of removing the obfuscation in /etc/hostid, but I hesitate to 
agree that this falls within the scope of my case.


Brian Ruthven wrote:
 > Just to make sure this has been covered:
 >
 > PSARC/2007/078 (hostids for x86) mentions the legal implications of 
software licensing against hostids. This case proposes that the hostids 
are user-supplied, thus may need a Sun Legal check too.
 >
 > Brian
 >


If I remember correctly (please correct me if I am misunderstanding your 
reference), the concern in the PSARC/2007/078 mail was that placing the 
system's hostid in an /etc/hostid ASCII file would not only invite more 
license circumvention, but also make it appear as though we (Sun) are 
encouraging license circumvention and thus betraying our ISVs that use 
hostids for licensing.  Are you concerned that non-global zone hostid 
emulation might have similar consequences?  If so, then I would argue 
that the concern is unwarranted in this case.

We must remember that zones are configurable virtualized execution 
environments, like virtual operating systems.  (I say this not because I 
think you do not already know it, but to focus our attention on the 
purpose of zones in order to make a more salient point.)  They are 
*meant* to look and feel like machines distinct from their physical 
host.  Emulating hostids is simply another way to customize the 
virtualized environments that zones provide so that system consolidation 
can be more easily facilitated with zones and zone migration across 
physical nodes can be more flexible when legacy licensed software is in 
jeopardy (as my case states).  We are providing non-global zone hostid 
emulation for these reasons alone and should clearly state this in our 
documentation (as I made an effort to do in my proposed man page changes).

It is possible that license circumvention might increase slightly with 
the introduction of non-global zone hostid emulation, but I doubt that 
it would be a significant increase.  For one thing, faking hostids is 
already possible and easily accomplished (for example, see 
http://www.software.com/downloads/purchase/Solaris-Hostid-Controller-buy833075.html).
 
  If a user wants to circumvent hostid-based licensing, then he can do 
so today in a variety of ways at little or no cost (except perhaps two 
minutes of his time) with Sun-developed technologies.  Adding non-global 
zone hostid emulation will not open any new doors to unscrupulous users. 
  Additionally, using non-global zones for the sole purpose of 
circumventing licensing for a handful of programs is a relatively 
expensive solution to an easily-solved problem.  Zones take disk space, 
cpu time, and memory, whereas a five- or six-line DTrace script that 
intercepts sysinfo(2) system calls is much cheaper.  Non-global zone 
hostid emulation will not enlarge the hostid-based licensing 
circumvention problem that our ISVs already face.

Furthermore, I claim that if users were to abuse hostid emulation to 
circumvent software licensing, a use which would not fall within our 
stated (documented) intentions for the technology, then we would not be 
responsible for their actions.  If arguing that the potential for such 
abuse justifies rejecting non-global zone hostid emulation, then 
destructive DTrace scripting should be eliminated because of the ability 
it grants users to (easily) circumvent hostid-based software licensing. 
  However, I imagine that we would not eliminate destructive DTrace 
scripting or consider providing it a betrayal of our ISVs because such 
abuses fall outside of the stated purposes for the technology.  If that 
is the case, then non-global zone hostid emulation should be permitted 
as well.

My two cents,
Jordan

Reply via email to