Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

266 lines
8.2 KiB

// ftpgenp1.cpp : implementation file
//
#include "stdafx.h"
#include "ISAdmin.h"
#include "compsdef.h"
#include "ftpgenp1.h"
#include "ftpadvp1.h"
#ifdef _DEBUG
#undef THIS_FILE
static char BASED_CODE THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CFTPGENP1 property page
IMPLEMENT_DYNCREATE(CFTPGENP1, CGenPage)
CFTPGENP1::CFTPGENP1() : CGenPage(CFTPGENP1::IDD)
{
//{{AFX_DATA_INIT(CFTPGENP1)
//}}AFX_DATA_INIT
}
CFTPGENP1::~CFTPGENP1()
{
}
void CFTPGENP1::DoDataExchange(CDataExchange* pDX)
{
CGenPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CFTPGENP1)
DDX_Control(pDX, IDC_LOWERCASEFILESDATA1, m_cboxLowercaseFiles);
DDX_Control(pDX, IDC_MSDOSDIROUTPUT, m_cboxMsdosDirOutput);
DDX_Control(pDX, IDC_ENPORTATTACKDATA1, m_cboxEnPortAttack);
DDX_Control(pDX, IDC_ANNOTATEDIRECTORIESDATA1, m_cboxAnnotateDirectories);
DDX_Control(pDX, IDC_ALLOWGUESTACCESSDATA1, m_cboxAllowGuestAccess);
DDX_Control(pDX, IDC_LOGNONANONDATA1, m_cboxLogNonAnon);
DDX_Control(pDX, IDC_LOGANONDATA1, m_cboxLogAnon);
DDX_Control(pDX, IDC_ENSVCLOCDATA1, m_cboxEnSvcLoc);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CFTPGENP1, CGenPage)
//{{AFX_MSG_MAP(CFTPGENP1)
ON_BN_CLICKED(IDC_ENPORTATTACKDATA1, OnEnportattackdata1)
ON_BN_CLICKED(IDC_ENSVCLOCDATA1, OnEnsvclocdata1)
ON_BN_CLICKED(IDC_LOGANONDATA1, OnLoganondata1)
ON_BN_CLICKED(IDC_LOGNONANONDATA1, OnLognonanondata1)
ON_BN_CLICKED(IDC_ALLOWGUESTACCESSDATA1, OnAllowguestaccessdata1)
ON_BN_CLICKED(IDC_ANNOTATEDIRECTORIESDATA1, OnAnnotatedirectoriesdata1)
ON_BN_CLICKED(IDC_LOWERCASEFILESDATA1, OnLowercasefilesdata1)
ON_BN_CLICKED(IDC_MSDOSDIROUTPUT, OnMsdosdiroutput)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CFTPGENP1 message handlers
BOOL CFTPGENP1::OnInitDialog()
{
int i;
CGenPage::OnInitDialog();
// TODO: Add extra initialization here
for (i = 0; i < FTPPage_TotalNumRegEntries; i++) {
m_binNumericRegistryEntries[i].bIsChanged = FALSE;
m_binNumericRegistryEntries[i].ulMultipleFactor = 1;
}
m_binNumericRegistryEntries[FTPPage_EnableSvcLoc].strFieldName = _T(ENABLESVCLOCNAME);
m_binNumericRegistryEntries[FTPPage_EnableSvcLoc].ulDefaultValue = DEFAULTENABLESVCLOC;
m_binNumericRegistryEntries[FTPPage_LogAnonymous].strFieldName = _T(LOGANONYMOUSNAME);
m_binNumericRegistryEntries[FTPPage_LogAnonymous].ulDefaultValue = DEFAULTLOGANONYMOUS;
m_binNumericRegistryEntries[FTPPage_LogNonAnonymous].strFieldName = _T(LOGNONANONYMOUSNAME);
m_binNumericRegistryEntries[FTPPage_LogNonAnonymous].ulDefaultValue = DEFAULTLOGNONANONYMOUS;
m_binNumericRegistryEntries[FTPPage_EnablePortAttack].strFieldName = _T(ENABLEPORTATTACKNAME);
m_binNumericRegistryEntries[FTPPage_EnablePortAttack].ulDefaultValue = DEFAULTENABLEPORTATTACK;
m_binNumericRegistryEntries[FTPPage_AllowGuestAccess].strFieldName = _T(ALLOWGUESTACCESSNAME);
m_binNumericRegistryEntries[FTPPage_AllowGuestAccess].ulDefaultValue = DEFAULTALLOWGUESTACCESS;
m_binNumericRegistryEntries[FTPPage_AnnotateDirectories].strFieldName = _T(ANNOTATEDIRECTORIESNAME);
m_binNumericRegistryEntries[FTPPage_AnnotateDirectories].ulDefaultValue = DEFAULTANNOTATEDIRECTORIES;
m_binNumericRegistryEntries[FTPPage_MsdosDirOutput].strFieldName = _T(MSDOSDIROUTPUTNAME);
m_binNumericRegistryEntries[FTPPage_MsdosDirOutput].ulDefaultValue = DEFAULTMSDOSDIROUTPUT;
m_binNumericRegistryEntries[FTPPage_LowercaseFiles].strFieldName = _T(LOWERCASEFILESNAME);
m_binNumericRegistryEntries[FTPPage_LowercaseFiles].ulDefaultValue = DEFAULTLOWERCASEFILES;
for (i = 0; i < FTPPage_TotalNumRegEntries; i++) {
if (m_rkMainKey->QueryValue(m_binNumericRegistryEntries[i].strFieldName,
m_binNumericRegistryEntries[i].ulFieldValue) != ERROR_SUCCESS) {
m_binNumericRegistryEntries[i].ulFieldValue = m_binNumericRegistryEntries[i].ulDefaultValue;
}
}
m_cboxEnSvcLoc.SetCheck(GETCHECKBOXVALUEFROMREG(m_binNumericRegistryEntries[FTPPage_EnableSvcLoc].ulFieldValue));
m_cboxLogAnon.SetCheck(GETCHECKBOXVALUEFROMREG(m_binNumericRegistryEntries[FTPPage_LogAnonymous].ulFieldValue));
m_cboxLogNonAnon.SetCheck(GETCHECKBOXVALUEFROMREG(m_binNumericRegistryEntries[FTPPage_LogNonAnonymous].ulFieldValue));
m_cboxEnPortAttack.SetCheck(GETCHECKBOXVALUEFROMREG(m_binNumericRegistryEntries[FTPPage_EnablePortAttack].ulFieldValue));
m_cboxAllowGuestAccess.SetCheck(GETCHECKBOXVALUEFROMREG(m_binNumericRegistryEntries[FTPPage_AllowGuestAccess].ulFieldValue));
m_cboxAnnotateDirectories.SetCheck(GETCHECKBOXVALUEFROMREG(m_binNumericRegistryEntries[FTPPage_AnnotateDirectories].ulFieldValue));
m_cboxMsdosDirOutput.SetCheck(GETCHECKBOXVALUEFROMREG(m_binNumericRegistryEntries[FTPPage_MsdosDirOutput].ulFieldValue));
m_cboxLowercaseFiles.SetCheck(GETCHECKBOXVALUEFROMREG(m_binNumericRegistryEntries[FTPPage_LowercaseFiles].ulFieldValue));
m_bSetChanged = TRUE; // Any more changes come from the user
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CFTPGENP1::OnEnportattackdata1()
{
// TODO: Add your control notification handler code here
if (m_bSetChanged) {
m_binNumericRegistryEntries[FTPPage_EnablePortAttack].bIsChanged = TRUE;
m_binNumericRegistryEntries[FTPPage_EnablePortAttack].ulFieldValue =
GETREGVALUEFROMCHECKBOX(m_cboxEnPortAttack.GetCheck());
m_bIsDirty = TRUE;
SetModified(TRUE);
}
}
void CFTPGENP1::OnEnsvclocdata1()
{
// TODO: Add your control notification handler code here
if (m_bSetChanged) {
m_binNumericRegistryEntries[FTPPage_EnableSvcLoc].bIsChanged = TRUE;
m_binNumericRegistryEntries[FTPPage_EnableSvcLoc].ulFieldValue =
GETREGVALUEFROMCHECKBOX(m_cboxEnSvcLoc.GetCheck());
m_bIsDirty = TRUE;
SetModified(TRUE);
}
}
void CFTPGENP1::OnLoganondata1()
{
// TODO: Add your control notification handler code here
if (m_bSetChanged) {
m_binNumericRegistryEntries[FTPPage_LogAnonymous].bIsChanged = TRUE;
m_binNumericRegistryEntries[FTPPage_LogAnonymous].ulFieldValue =
GETREGVALUEFROMCHECKBOX(m_cboxLogAnon.GetCheck());
m_bIsDirty = TRUE;
SetModified(TRUE);
}
}
void CFTPGENP1::OnLognonanondata1()
{
// TODO: Add your control notification handler code here
if (m_bSetChanged) {
m_binNumericRegistryEntries[FTPPage_LogNonAnonymous].bIsChanged = TRUE;
m_binNumericRegistryEntries[FTPPage_LogNonAnonymous].ulFieldValue =
GETREGVALUEFROMCHECKBOX(m_cboxLogNonAnon.GetCheck());
m_bIsDirty = TRUE;
SetModified(TRUE);
}
}
void CFTPGENP1::OnAllowguestaccessdata1()
{
// TODO: Add your control notification handler code here
if (m_bSetChanged) {
m_binNumericRegistryEntries[FTPPage_AllowGuestAccess].bIsChanged = TRUE;
m_binNumericRegistryEntries[FTPPage_AllowGuestAccess].ulFieldValue =
GETREGVALUEFROMCHECKBOX(m_cboxAllowGuestAccess.GetCheck());
m_bIsDirty = TRUE;
SetModified(TRUE);
}
}
void CFTPGENP1::OnAnnotatedirectoriesdata1()
{
// TODO: Add your control notification handler code here
if (m_bSetChanged) {
m_binNumericRegistryEntries[FTPPage_AnnotateDirectories].bIsChanged = TRUE;
m_binNumericRegistryEntries[FTPPage_AnnotateDirectories].ulFieldValue =
GETREGVALUEFROMCHECKBOX(m_cboxAnnotateDirectories.GetCheck());
m_bIsDirty = TRUE;
SetModified(TRUE);
}
}
void CFTPGENP1::OnMsdosdiroutput()
{
// TODO: Add your control notification handler code here
if (m_bSetChanged) {
m_binNumericRegistryEntries[FTPPage_MsdosDirOutput].bIsChanged = TRUE;
m_binNumericRegistryEntries[FTPPage_MsdosDirOutput].ulFieldValue =
GETREGVALUEFROMCHECKBOX(m_cboxMsdosDirOutput.GetCheck());
m_bIsDirty = TRUE;
SetModified(TRUE);
}
}
void CFTPGENP1::OnLowercasefilesdata1()
{
// TODO: Add your control notification handler code here
if (m_bSetChanged) {
m_binNumericRegistryEntries[FTPPage_LowercaseFiles].bIsChanged = TRUE;
m_binNumericRegistryEntries[FTPPage_LowercaseFiles].ulFieldValue =
GETREGVALUEFROMCHECKBOX(m_cboxLowercaseFiles.GetCheck());
m_bIsDirty = TRUE;
SetModified(TRUE);
}
}
void CFTPGENP1::SaveInfo()
{
if (m_bIsDirty) {
SaveNumericInfo(m_binNumericRegistryEntries, FTPPage_TotalNumRegEntries);
}
CGenPage::SaveInfo();
}