Help with respect to smbios

Michael_E_Brown at Dell.com Michael_E_Brown at Dell.com
Tue May 2 17:09:15 CDT 2006


Ok, to go forward with this, we can do two things:
 
1) remove exception on security initialization failure.
    -- This is already checked in and will be in my next release.
 
2) For documentation purposes, we can extend the exception error message
so that it is clear why it failed. We can change SmbiosTable.cpp line
187 where it discards lower-level exceptions and have it save up the
various messages into a string or array that we put into the final
exception message. This way the developer gets a better error message
about what has failed.
    -- Patch for this would be appreciated.
--
Michael


________________________________

	From: libsmbios-devel-bounces at lists.us.dell.com
[mailto:libsmbios-devel-bounces at lists.us.dell.com] On Behalf Of
Antony_Sakkariaz at dell.com
	Sent: Friday, April 28, 2006 10:31 AM
	To: Brown, Michael E
	Cc: Singh, Mutum; libsmbios-devel at lists.us.dell.com
	Subject: RE: Help with respect to smbios
	
	

	Hello Michael, 

	Good morning. 

	I believe your first way is good. 
	In this approach, libsmbios will call CoInitializeSecurity(),
but if it fails (with RPC_E_TOO_LATE), then no exception is thrown.

	In this scenario, the application had initialized the security
already. 

	However, I believe libsmbios needs the particular security
settings for the subsequent COM calls (packet encryption, client
impersonation, and secure reference count) to succeed.

	Therefore, if the application had initialized with default COM
security, some of the subsequent calls (like CreateInstanceEnum()) would
fail.

	This necessitates at least documenting somewhere, that if the
client application that uses libsmbios makes use of COM before calling
SmbiosWinWMIStrategy::getSmbiosTable(), it must initialize COM security
with appropriate levels, during startup.

	If the client application does not use COM, then there are no
problems because CoInitializeSecurity() in libsmbios would succeed.

	Kindly provide your thoughts, and please suggest how shall we
proceed with respect to the changes in libsmbios. 

	Thanks, 
	Antony 


	_____________________________________________ 
	From:   Brown, Michael E  
	Sent:   Thursday, April 27, 2006 9:32 PM 
	To:     Sakkariaz, Antony 
	Cc:     Singh, Mutum; 'libsmbios-devel at lists.us.dell.com' 
	Subject:        RE: Help with respect to smbios 

	Antony, 
	        Thanks for digging into this so thoroughly. What would
be really good is if we could get a patch into base libsmbios so that
anybody can disable this with an API call rather than having to patch
the source. There are two ways I can think of to do this.

	        The best way would be automatic fallback. First thing
would be to remove the exception for when security initialization fails.
Next, can you suggest a way we can automatically recover from the
instance where CoCreateInstance() fails?

	        Another way to do this would be to pass in a parameter
to the factory function saying not to initialize WMI. This requires
people to know they are going to use WMI, though, so I don't like it as
much.

	-- 
	Michael 

		_____________________________________________ 
		From:   Sakkariaz, Antony  
		Sent:   Thursday, April 27, 2006 10:44 AM 
		To:     Brown, Michael E 
		Cc:     Singh, Mutum 
		Subject:        RE: Help with respect to smbios 

		Hi, 

		Good morning! 

		After many tests, I found the reason: 
		CoInitializeSecurity() call in GetWMISMBIOSEntry() fails
(SmbiosStrategy_Windows.cpp), and throws exception. 
		The error code is 80010119, which is RPC_E_TOO_LATE. 
		This error occurs when already someone else had
initialized security. 

		In PowerEdge Diagnostics, many components including
vendor provided ones use WMI. 
		So it is quite possible that they initialize security
before we reach this point. 

		Commenting it out did not work either, because the call
IWbemServices::CreateInstanceEnum fails. 

		Solution: 
		Initialize COM security with the necessary flags at the
beginning of the application. 
		After I did this, AND commented out the exception throw
statement in GetWMISMBIOSEntry(), the problem is solved. 

		Thanks, 
		Antony 


		_____________________________________________ 
		From:   Sakkariaz, Antony  
		Sent:   Wednesday, April 26, 2006 8:08 PM 
		To:     Brown, Michael E 
		Cc:     Singh, Mutum 
		Subject:        RE: Help with respect to smbios 

		This is on Windows. 
		Yes I've logged in as administrator. 

		Are there any changes in smbios for 9G platforms? 


		_____________________________________________ 
		From:   Brown, Michael E  
		Sent:   Wednesday, April 26, 2006 8:04 PM 
		To:     Sakkariaz, Antony 
		Cc:     Singh, Mutum 
		Subject:        RE: Help with respect to smbios 

		Are you running on windows or linux? Are you running
with administrative privleges? 

			_____________________________________________ 
			From:   Sakkariaz, Antony  
			Sent:   Wednesday, April 26, 2006 9:29 AM 
			To:     Brown, Michael E 
			Cc:     Singh, Mutum 
			Subject:        Help with respect to smbios 

			Hi, 

			Good morning. 

			I am from PowerEdge Diagnostics team, and handle
memory diagnostics. 
			Memory diagnostics uses smbios interface to get
information about the memory DIMMs. 

			When calling the getSingleton() method of
SmbiosFactory, exception is thrown stating "Could not instantiate SMBIOS
table."

			As the result, memory DIMM status could not be
obtained. 

			Could you please let me know what might be the
reason? 
			If you need any information like logs, please
let me know. 

			Interestingly, this problem occurs only in the
GUI mode of the application, and not in CLI mode (PowerEdge Diagnostics
supports both GUI and CLI modes of operation).

			PowerEdge Diagnostics version used: 2.7 
			Platform: PE2900 (Montreal) 
			SMBIOS version: 0.10.6 

			Many thanks in advance for your help! 

			Regards, 
			Antony 
			 << File: version.mk >> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.us.dell.com/pipermail/libsmbios-devel/attachments/20060502/5e1f844e/attachment.htm 


More information about the libsmbios-devel mailing list