diff options
Diffstat (limited to 'usr/src/cmd/lms/ConfigConnection.cpp')
| -rw-r--r-- | usr/src/cmd/lms/ConfigConnection.cpp | 191 |
1 files changed, 0 insertions, 191 deletions
diff --git a/usr/src/cmd/lms/ConfigConnection.cpp b/usr/src/cmd/lms/ConfigConnection.cpp deleted file mode 100644 index c2ff34a593..0000000000 --- a/usr/src/cmd/lms/ConfigConnection.cpp +++ /dev/null @@ -1,191 +0,0 @@ -/******************************************************************************* - * Copyright (C) 2004-2008 Intel Corp. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * - Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * - Neither the name of Intel Corp. nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL Intel Corp. OR THE CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - *******************************************************************************/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif -#include "ConfigConnection.h" -#include "Lock.h" - -ConfigConnection::ConfigConnection(bool verbose) : -_initState(ConfigConnection::INIT_STATE_DISCONNECTED), -_pthiCommand(verbose, 5000), -_fwulCommand(verbose) -{ -} - -ConfigConnection::~ConfigConnection() -{ -} - -bool ConfigConnection::IsInitialized() -{ - Lock il(_initLock); - return ((_initState == INIT_STATE_CONNECTED) ? true : false); -} - -int ConfigConnection::IsAMTEnabled(bool useOpenPTHI) -{ - FWU_GET_VERSION_MSG_REPLY verMsg; - FWU_GET_INFO_MSG_REPLY infoMsg; - HECI_STATUS heciRet; - int ret = _CFCON_AMT_UNKNOWN; - - if (useOpenPTHI) { - CODE_VERSIONS ver; - AMT_STATUS ast = _pthiCommand.GetCodeVersions(ver); - if (PTHI_STATUS_EMPTY_RESPONSE == ast) { - return _CFCON_AMT_DISABLED; - } - if (AMT_STATUS_SUCCESS == ast) { - return _CFCON_AMT_ENABLED; - } - return ret; - } - - if (_fwulCommand.FWULClient.Init()) { - heciRet = _fwulCommand.GetFWUVersionAndInfo(verMsg, infoMsg); - _fwulCommand.FWULClient.Deinit(); - if (HECI_STATUS_OK == heciRet) { - if (infoMsg.MessageType == FWU_GET_INFO_REPLY) { - return ((MEFWCAPS_MANAGEABILITY_SUPP_AMT - == infoMsg.ManageabilityMode) - ? _CFCON_AMT_ENABLED - : _CFCON_AMT_DISABLED); - } - ret = _CFCON_AMT_AT3; - } - } - - return ret; -} - -bool ConfigConnection::Init(bool checkEnabled) -{ - { - Lock il(_initLock); - if (_initState == INIT_STATE_CONNECTING) { - return false; - } - _initState = INIT_STATE_CONNECTING; - } - - if (!(_pthiCommand.PTHIClient.Init(1))) { - Deinit(); - return false; - } - - if (checkEnabled) { - if (_CFCON_AMT_ENABLED != IsAMTEnabled(true)) { - Deinit(); - return false; - } - } - - { - Lock il(_initLock); - if (_initState != INIT_STATE_CONNECTING) { - _pthiCommand.PTHIClient.Deinit(); - return false; - } - _initState = INIT_STATE_CONNECTED; - } - - return true; -} - -void ConfigConnection::Deinit() -{ - Lock il(_initLock); - if (_initState != INIT_STATE_CONNECTING) { - _pthiCommand.PTHIClient.Deinit(); - } - _initState = INIT_STATE_DISCONNECTED; -} - -#ifdef _REMOTE_SUPPORT - -AMT_STATUS ConfigConnection::RequestEntDNSSuffixList(std::list<std::string> &dnsSuffixList) -{ - Lock l(_requestLock); - - { - Lock il(_initLock); - if (_initState != INIT_STATE_CONNECTED) { - return PTSDK_STATUS_INTERNAL_ERROR; - } - } - - AMT_STATUS result = _pthiCommand.GetDNSSuffixList(dnsSuffixList); - - if (result == AMT_STATUS_INTERNAL_ERROR) { - Lock il(_initLock); - if (!_pthiCommand.PTHIClient.IsInitialized()) { - _initState = INIT_STATE_DISCONNECTED; - } - } - - return result; -} - -AMT_STATUS ConfigConnection::SendEnterpriseAccess(bool access, ATAddress &localIp) -{ - UINT8 hlocalIP[16]; - const struct sockaddr *addr = localIp.addr(); - - Lock l(_requestLock); - - { - Lock il(_initLock); - if (_initState != INIT_STATE_CONNECTED) { - return PTSDK_STATUS_INTERNAL_ERROR; - } - } - - memset(hlocalIP, 0, sizeof(hlocalIP)); - memcpy(hlocalIP, addr->sa_data, localIp.size()); - - AMT_STATUS result = _pthiCommand.SetEnterpriseAccess( - ((localIp.family() == AF_INET6) ? 1 : 0), - hlocalIP, - ((access) ? 1 : 0)); - - if (result == AMT_STATUS_INTERNAL_ERROR) { - Lock il(_initLock); - if (!_pthiCommand.PTHIClient.IsInitialized()) { - _initState = INIT_STATE_DISCONNECTED; - } - } - - return result; -} - -#endif - |
