void CVulEngine::_ScanIgnored( HWND hWnd )
{
	if(!m_pVulScanIgnored)
		m_pVulScanIgnored = CreateVulFix();
	
	CWindowVulfixObserver observer(m_MainDlg, hWnd);
	m_pVulScanIgnored->SetObserver(&observer);
	_RelayMessage(hWnd, WMH_SCAN_FIXED_BEGIN, 0, 0 );
	m_pVulScanIgnored->Scan();
	_RelayMessage(hWnd, WMH_SCAN_FIXED_DONE, m_bVulIgnoredCanceled, 0 );
	m_pVulScanIgnored->SetObserver(NULL);
}
Example #2
0
void CVulEngine::_RepairVul(HWND hWnd)
{
	ATLASSERT(m_pVulScan);
	CWindowVulfixObserver observer(hWnd);
	if(!m_pRepairVul)
		m_pRepairVul = CreateRepairVul();
	HRESULT hr = E_POINTER;
	if(m_pRepairVul)
	{
		m_pRepairVul->SetObserver( &observer );
		m_pRepairVul->Reset();
		m_pRepairVul->AddSoftVul(m_pVulScan, m_arrRepairVulSoftIds);
		m_pRepairVul->AddVul(m_pVulScan, m_arrRepairVulIds);

		CString strPath, strImportPath;
		GetDownloadPath( strPath );
		BKSafeConfig::Get_Vulfix_Download_LocalPath( strImportPath );
		BOOL bImportLocal = BKSafeConfig::Get_Vulfix_Download_UseLocal();
		BOOL bDownloadIfImportError = BKSafeConfig::Get_Vulfix_Download_DownloadIfNotExists();
		DWORD dwFlags = 0;
		if(bImportLocal && !strImportPath.IsEmpty())
		{
			dwFlags |= VULFLAG_REPAIR_IMPORT_LOCAL;
			if(bDownloadIfImportError)
				dwFlags |= VULFLAG_REPAIR_DOWNLOAD_IF_FAIL_IMPORT;
		}
		
		hr = m_pRepairVul->Repair(strPath, strImportPath, dwFlags);
		m_pRepairVul->WaitForRepairDone();	
		m_pVulScan->SetObserver(NULL);
	}
	m_isRepairing = FALSE;
	_RelayMessage( hWnd, WMH_REPAIR_DONE, m_bRepairCanceled, hr);
}
Example #3
0
void CVulEngine::_ScanIgnored( HWND hWnd )
{
	DWORD dwFlags = _GetScanFlags();
	if(!m_pVulScanIgnored)
		m_pVulScanIgnored = CreateVulFix();

	HRESULT hr = E_POINTER;
	if(m_pVulScanIgnored)
	{
		CWindowVulfixObserver observer(hWnd);
		m_pVulScanIgnored->SetObserver(&observer);
		_RelayMessage(hWnd, WMH_SCAN_FIXED_BEGIN, 0, 0 );
		hr = m_pVulScanIgnored->Scan( dwFlags );
		m_pVulScanIgnored->SetObserver(NULL);
	}	
	_RelayMessage(hWnd, WMH_SCAN_FIXED_DONE, m_bVulIgnoredCanceled, hr );
}
Example #4
0
void CVulEngine::_ScanFixed(HWND hWnd)
{
	DWORD dwFlags = _GetScanFlags();

	if(!m_pIVulFixed)
		m_pIVulFixed = CreateVulFixed();
	if(!m_pIVulFixedSoft)
		m_pIVulFixedSoft = CreateSoftVulFix();
	
	HRESULT hr = E_POINTER;
	if(m_pIVulFixed && m_pIVulFixedSoft)
	{
		CWindowVulfixObserver observer(hWnd);
		m_pIVulFixed->SetObserver(&observer);
		m_pIVulFixedSoft->SetObserver(&observer);
		_RelayMessage(hWnd, WMH_SCAN_FIXED_BEGIN, 0, 0 );
		hr = m_pIVulFixed->Scan( dwFlags );
		if( SUCCEEDED(hr) && !m_bVulFixedCanceled )
			hr = m_pIVulFixedSoft->Scan( dwFlags );
		m_pIVulFixed->SetObserver(NULL);
		m_pIVulFixedSoft->SetObserver(NULL);
	}
	_RelayMessage(hWnd, WMH_SCAN_FIXED_DONE, m_bVulFixedCanceled, hr );
}
Example #5
0
void CVulEngine::_ScanVul(HWND hWnd)
{
	DWORD dwFlags = _GetScanFlags();
	CWindowVulfixObserver observer( hWnd);
	if(!m_pVulScan)
		m_pVulScan = CreateVulFix();
	
	HRESULT hr = E_POINTER;
	if(m_pVulScan)
	{
		m_pVulScan->SetObserver(&observer);
		
		hr = m_pVulScan->Scan(dwFlags);
		DEBUG_TRACE(_T("CVulEngine::_ScanVul ScanVul %x(%x) \n"), hr, dwFlags);
		m_pVulScan->SetObserver(NULL);
	}
	_RelayMessage(hWnd, WMH_SCAN_DONE, m_bVulScanCanceled, hr);
}
void CVulEngine::_RepairVul(HWND hWnd)
{
	ATLASSERT(m_pVulScan && m_pSoftVulScan);
	CWindowVulfixObserver observer(m_MainDlg, hWnd);
	if(!m_pRepairVul)
		m_pRepairVul = CreateRepairVul();
	m_pRepairVul->SetObserver( &observer );
	m_pRepairVul->AddVul(m_pVulScan, m_arrRepairVulIds);
	m_pRepairVul->AddSoftVul(m_pSoftVulScan, m_arrRepairVulSoftIds);

	CString strPath;
	GetDownloadPath( strPath );
	m_pRepairVul->Repair(strPath, 0);
	m_pRepairVul->WaitForRepairDone();	
	
	_RelayMessage( hWnd, WMH_REPAIR_DONE, m_bRepairCanceled, 0);
	m_pVulScan->SetObserver(NULL);
	m_pSoftVulScan->SetObserver(NULL);
}
void CVulEngine::_ScanVul(HWND hWnd)
{
	CWindowVulfixObserver observer(m_MainDlg, hWnd);
	
	if(m_pVulScan==NULL)
	{
		m_pVulScan = CreateVulFix();
	}
	m_pVulScan->SetObserver(&observer);
	m_pVulScan->Scan();

	if(m_pSoftVulScan==NULL)
	{
		m_pSoftVulScan = CreateSoftVulFix();
	}
	
	m_pVulScan->SetObserver(&observer);
	m_pSoftVulScan->Scan();
	_RelayMessage(hWnd, WMH_SCAN_DONE, 0, 0);
	
	m_pVulScan->SetObserver(NULL);
	m_pSoftVulScan->SetObserver(NULL);
}