diff options
Diffstat (limited to 'src/windows/leash/KrbMiscConfigOpt.cpp')
| -rw-r--r-- | src/windows/leash/KrbMiscConfigOpt.cpp | 1020 |
1 files changed, 1020 insertions, 0 deletions
diff --git a/src/windows/leash/KrbMiscConfigOpt.cpp b/src/windows/leash/KrbMiscConfigOpt.cpp new file mode 100644 index 000000000000..2c7153ef876c --- /dev/null +++ b/src/windows/leash/KrbMiscConfigOpt.cpp @@ -0,0 +1,1020 @@ +//***************************************************************************** +// File: KrbMiscConfigOpt.cpp +// By: Paul B. Hill +// Created: 08/12/1999 +// Copyright: @1999 Massachusetts Institute of Technology - All rights +// reserved. +// Description: CPP file for KrbMiscConfigOpt.cpp. Contains variables +// and functions for Kerberos Properties. +// +// History: +// +// MM/DD/YY Inits Description of Change +// 08/12/99 PBH Original +//***************************************************************************** + +#include "stdafx.h" +#include "Leash.h" +#include "KrbProperties.h" +#include "KrbMiscConfigOpt.h" +#include "LeashFileDialog.h" +#include "LeashMessageBox.h" +#include "lglobals.h" +#include <direct.h> +#include "reminder.h" + +#ifdef _DEBUG +#define new DEBUG_NEW +#undef THIS_FILE +static char THIS_FILE[] = __FILE__; +#endif + + +/////////////////////////////////////////////////////////////////////// +// CKrbMiscConfigOpt property page + +UINT CKrbMiscConfigOpt::m_DefaultLifeTime; +CString CKrbMiscConfigOpt::m_initDefaultLifeTimeMin; +CString CKrbMiscConfigOpt::m_newDefaultLifeTimeMin; +CEdit CKrbMiscConfigOpt::m_krbLifeTimeMinEditbox; +CString CKrbMiscConfigOpt::m_initDefaultLifeTimeHr; +CString CKrbMiscConfigOpt::m_newDefaultLifeTimeHr; +CEdit CKrbMiscConfigOpt::m_krbLifeTimeHrEditbox; +CString CKrbMiscConfigOpt::m_initDefaultLifeTimeDay; +CString CKrbMiscConfigOpt::m_newDefaultLifeTimeDay; +CEdit CKrbMiscConfigOpt::m_krbLifeTimeDayEditbox; + +UINT CKrbMiscConfigOpt::m_DefaultRenewTill; +CString CKrbMiscConfigOpt::m_initDefaultRenewTillMin; +CString CKrbMiscConfigOpt::m_newDefaultRenewTillMin; +CEdit CKrbMiscConfigOpt::m_krbRenewTillMinEditbox; +CString CKrbMiscConfigOpt::m_initDefaultRenewTillHr; +CString CKrbMiscConfigOpt::m_newDefaultRenewTillHr; +CEdit CKrbMiscConfigOpt::m_krbRenewTillHrEditbox; +CString CKrbMiscConfigOpt::m_initDefaultRenewTillDay; +CString CKrbMiscConfigOpt::m_newDefaultRenewTillDay; +CEdit CKrbMiscConfigOpt::m_krbRenewTillDayEditbox; + +UINT CKrbMiscConfigOpt::m_DefaultLifeMin; +CString CKrbMiscConfigOpt::m_initDefaultLifeMinMin; +CString CKrbMiscConfigOpt::m_newDefaultLifeMinMin; +CEdit CKrbMiscConfigOpt::m_krbLifeMinMinEditbox; +CString CKrbMiscConfigOpt::m_initDefaultLifeMinHr; +CString CKrbMiscConfigOpt::m_newDefaultLifeMinHr; +CEdit CKrbMiscConfigOpt::m_krbLifeMinHrEditbox; +CString CKrbMiscConfigOpt::m_initDefaultLifeMinDay; +CString CKrbMiscConfigOpt::m_newDefaultLifeMinDay; +CEdit CKrbMiscConfigOpt::m_krbLifeMinDayEditbox; + +UINT CKrbMiscConfigOpt::m_DefaultLifeMax; +CString CKrbMiscConfigOpt::m_initDefaultLifeMaxMin; +CString CKrbMiscConfigOpt::m_newDefaultLifeMaxMin; +CEdit CKrbMiscConfigOpt::m_krbLifeMaxMinEditbox; +CString CKrbMiscConfigOpt::m_initDefaultLifeMaxHr; +CString CKrbMiscConfigOpt::m_newDefaultLifeMaxHr; +CEdit CKrbMiscConfigOpt::m_krbLifeMaxHrEditbox; +CString CKrbMiscConfigOpt::m_initDefaultLifeMaxDay; +CString CKrbMiscConfigOpt::m_newDefaultLifeMaxDay; +CEdit CKrbMiscConfigOpt::m_krbLifeMaxDayEditbox; + +UINT CKrbMiscConfigOpt::m_DefaultRenewMin; +CString CKrbMiscConfigOpt::m_initDefaultRenewMinMin; +CString CKrbMiscConfigOpt::m_newDefaultRenewMinMin; +CEdit CKrbMiscConfigOpt::m_krbRenewMinMinEditbox; +CString CKrbMiscConfigOpt::m_initDefaultRenewMinHr; +CString CKrbMiscConfigOpt::m_newDefaultRenewMinHr; +CEdit CKrbMiscConfigOpt::m_krbRenewMinHrEditbox; +CString CKrbMiscConfigOpt::m_initDefaultRenewMinDay; +CString CKrbMiscConfigOpt::m_newDefaultRenewMinDay; +CEdit CKrbMiscConfigOpt::m_krbRenewMinDayEditbox; + +UINT CKrbMiscConfigOpt::m_DefaultRenewMax; +CString CKrbMiscConfigOpt::m_initDefaultRenewMaxMin; +CString CKrbMiscConfigOpt::m_newDefaultRenewMaxMin; +CEdit CKrbMiscConfigOpt::m_krbRenewMaxMinEditbox; +CString CKrbMiscConfigOpt::m_initDefaultRenewMaxHr; +CString CKrbMiscConfigOpt::m_newDefaultRenewMaxHr; +CEdit CKrbMiscConfigOpt::m_krbRenewMaxHrEditbox; +CString CKrbMiscConfigOpt::m_initDefaultRenewMaxDay; +CString CKrbMiscConfigOpt::m_newDefaultRenewMaxDay; +CEdit CKrbMiscConfigOpt::m_krbRenewMaxDayEditbox; + + +IMPLEMENT_DYNCREATE(CKrbMiscConfigOpt, CPropertyPage) + +CKrbMiscConfigOpt::CKrbMiscConfigOpt() : CPropertyPage(CKrbMiscConfigOpt::IDD) +{ + m_noLifeTime = FALSE; + + m_DefaultLifeTime = 0; + m_DefaultRenewTill = 0; + m_DefaultLifeMin = 0; + m_DefaultLifeMax = 0; + m_DefaultRenewMin = 0; + m_DefaultRenewMax = 0; + m_initUseKrb4 = m_newUseKrb4 = 0; + m_initKinitPreserve = m_newKinitPreserve = 0; + + //{{AFX_DATA_INIT(CKrbConfigOptions) + //}}AFX_DATA_INIT +} + +CKrbMiscConfigOpt::~CKrbMiscConfigOpt() +{ +} + +VOID CKrbMiscConfigOpt::DoDataExchange(CDataExchange* pDX) +{ + TRACE("Entering CKrbMiscConfigOpt::DoDataExchange -- %d\n", + pDX->m_bSaveAndValidate); + CPropertyPage::DoDataExchange(pDX); + //{{AFX_DATA_MAP(CKrbMscConfigOpt) + + DDX_Control(pDX, IDC_EDIT_LIFETIME_D, m_krbLifeTimeDayEditbox); + DDX_Control(pDX, IDC_EDIT_LIFETIME_H, m_krbLifeTimeHrEditbox); + DDX_Control(pDX, IDC_EDIT_LIFETIME_M, m_krbLifeTimeMinEditbox); + DDX_Control(pDX, IDC_EDIT_RENEWTILL_D, m_krbRenewTillDayEditbox); + DDX_Control(pDX, IDC_EDIT_RENEWTILL_H, m_krbRenewTillHrEditbox); + DDX_Control(pDX, IDC_EDIT_RENEWTILL_M, m_krbRenewTillMinEditbox); + DDX_Control(pDX, IDC_EDIT_LIFE_MIN_D, m_krbLifeMinDayEditbox); + DDX_Control(pDX, IDC_EDIT_LIFE_MIN_H, m_krbLifeMinHrEditbox); + DDX_Control(pDX, IDC_EDIT_LIFE_MIN_M, m_krbLifeMinMinEditbox); + DDX_Control(pDX, IDC_EDIT_LIFE_MAX_D, m_krbLifeMaxDayEditbox); + DDX_Control(pDX, IDC_EDIT_LIFE_MAX_H, m_krbLifeMaxHrEditbox); + DDX_Control(pDX, IDC_EDIT_LIFE_MAX_M, m_krbLifeMaxMinEditbox); + DDX_Control(pDX, IDC_EDIT_RENEW_MIN_D, m_krbRenewMinDayEditbox); + DDX_Control(pDX, IDC_EDIT_RENEW_MIN_H, m_krbRenewMinHrEditbox); + DDX_Control(pDX, IDC_EDIT_RENEW_MIN_M, m_krbRenewMinMinEditbox); + DDX_Control(pDX, IDC_EDIT_RENEW_MAX_D, m_krbRenewMaxDayEditbox); + DDX_Control(pDX, IDC_EDIT_RENEW_MAX_H, m_krbRenewMaxHrEditbox); + DDX_Control(pDX, IDC_EDIT_RENEW_MAX_M, m_krbRenewMaxMinEditbox); + //}}AFX_DATA_MAP +} + + +BOOL CKrbMiscConfigOpt::OnInitDialog() +{ + CPropertyPage::OnInitDialog(); + + DWORD tmp = m_DefaultLifeTime = pLeash_get_default_lifetime(); + if (tmp) + m_noLifeTime = FALSE; // We now have the value. + else + m_noLifeTime = TRUE; + + LPTSTR buf = m_initDefaultLifeTimeDay.GetBuffer(80); + _itoa(tmp/24/60, buf, 10); + tmp %= (24 * 60); + m_initDefaultLifeTimeDay.ReleaseBuffer(); + m_newDefaultLifeTimeDay = m_initDefaultLifeTimeDay; + + buf = m_initDefaultLifeTimeHr.GetBuffer(80); + _itoa(tmp/60, buf, 10); + tmp %= 60; + m_initDefaultLifeTimeHr.ReleaseBuffer(); + m_newDefaultLifeTimeHr = m_initDefaultLifeTimeHr; + + buf = m_initDefaultLifeTimeMin.GetBuffer(80); + _itoa(tmp, buf, 10); + m_initDefaultLifeTimeMin.ReleaseBuffer(); + m_newDefaultLifeTimeMin = m_initDefaultLifeTimeMin; + + tmp = m_DefaultRenewTill = pLeash_get_default_renew_till(); + buf = m_initDefaultRenewTillDay.GetBuffer(80); + _itoa(tmp/24/60, buf, 10); + tmp %= (24 * 60); + m_initDefaultRenewTillDay.ReleaseBuffer(); + m_newDefaultRenewTillDay = m_initDefaultRenewTillDay; + + buf = m_initDefaultRenewTillHr.GetBuffer(80); + _itoa(tmp/60, buf, 10); + tmp %= 60; + m_initDefaultRenewTillHr.ReleaseBuffer(); + m_newDefaultRenewTillHr = m_initDefaultRenewTillHr; + + buf = m_initDefaultRenewTillMin.GetBuffer(80); + _itoa(tmp, buf, 10); + m_initDefaultRenewTillMin.ReleaseBuffer(); + m_newDefaultRenewTillMin = m_initDefaultRenewTillMin; + + tmp = m_DefaultLifeMin = pLeash_get_default_life_min(); + buf = m_initDefaultLifeMinDay.GetBuffer(80); + _itoa(tmp/24/60, buf, 10); + tmp %= (24 * 60); + m_initDefaultLifeMinDay.ReleaseBuffer(); + m_newDefaultLifeMinDay = m_initDefaultLifeMinDay; + + buf = m_initDefaultLifeMinHr.GetBuffer(80); + _itoa(tmp/60, buf, 10); + tmp %= 60; + m_initDefaultLifeMinHr.ReleaseBuffer(); + m_newDefaultLifeMinHr = m_initDefaultLifeMinHr; + + buf = m_initDefaultLifeMinMin.GetBuffer(80); + _itoa(tmp, buf, 10); + m_initDefaultLifeMinMin.ReleaseBuffer(); + m_newDefaultLifeMinMin = m_initDefaultLifeMinMin; + + tmp = m_DefaultLifeMax = pLeash_get_default_life_max(); + buf = m_initDefaultLifeMaxDay.GetBuffer(80); + _itoa(tmp/24/60, buf, 10); + tmp %= (24 * 60); + m_initDefaultLifeMaxDay.ReleaseBuffer(); + m_newDefaultLifeMaxDay = m_initDefaultLifeMaxDay; + + buf = m_initDefaultLifeMaxHr.GetBuffer(80); + _itoa(tmp/60, buf, 10); + tmp %= 60; + m_initDefaultLifeMaxHr.ReleaseBuffer(); + m_newDefaultLifeMaxHr = m_initDefaultLifeMaxHr; + + buf = m_initDefaultLifeMaxMin.GetBuffer(80); + _itoa(tmp, buf, 10); + m_initDefaultLifeMaxMin.ReleaseBuffer(); + m_newDefaultLifeMaxMin = m_initDefaultLifeMaxMin; + + tmp = m_DefaultRenewMin = pLeash_get_default_renew_min(); + buf = m_initDefaultRenewMinDay.GetBuffer(80); + _itoa(tmp/24/60, buf, 10); + tmp %= (24 * 60); + m_initDefaultRenewMinDay.ReleaseBuffer(); + m_newDefaultRenewMinDay = m_initDefaultRenewMinDay; + + buf = m_initDefaultRenewMinHr.GetBuffer(80); + _itoa(tmp/60, buf, 10); + tmp %= 60; + m_initDefaultRenewMinHr.ReleaseBuffer(); + m_newDefaultRenewMinHr = m_initDefaultRenewMinHr; + + buf = m_initDefaultRenewMinMin.GetBuffer(80); + _itoa(tmp, buf, 10); + m_initDefaultRenewMinMin.ReleaseBuffer(); + m_newDefaultRenewMinMin = m_initDefaultRenewMinMin; + + tmp = m_DefaultRenewMax = pLeash_get_default_renew_max(); + buf = m_initDefaultRenewMaxDay.GetBuffer(80); + _itoa(tmp/24/60, buf, 10); + tmp %= (24 * 60); + m_initDefaultRenewMaxDay.ReleaseBuffer(); + m_newDefaultRenewMaxDay = m_initDefaultRenewMaxDay; + + buf = m_initDefaultRenewMaxHr.GetBuffer(80); + _itoa(tmp/60, buf, 10); + tmp %= 60; + m_initDefaultRenewMaxHr.ReleaseBuffer(); + m_newDefaultRenewMaxHr = m_initDefaultRenewMaxHr; + + buf = m_initDefaultRenewMaxMin.GetBuffer(80); + _itoa(tmp, buf, 10); + m_initDefaultRenewMaxMin.ReleaseBuffer(); + m_newDefaultRenewMaxMin = m_initDefaultRenewMaxMin; + + if (!CLeashApp::m_hKrb5DLL) + { + GetDlgItem(IDC_EDIT_RENEWTILL_D)->EnableWindow(FALSE); + GetDlgItem(IDC_EDIT_RENEWTILL_H)->EnableWindow(FALSE); + GetDlgItem(IDC_EDIT_RENEWTILL_M)->EnableWindow(FALSE); + GetDlgItem(IDC_EDIT_RENEW_MIN_D)->EnableWindow(FALSE); + GetDlgItem(IDC_EDIT_RENEW_MIN_H)->EnableWindow(FALSE); + GetDlgItem(IDC_EDIT_RENEW_MIN_M)->EnableWindow(FALSE); + GetDlgItem(IDC_EDIT_RENEW_MAX_D)->EnableWindow(FALSE); + GetDlgItem(IDC_EDIT_RENEW_MAX_H)->EnableWindow(FALSE); + GetDlgItem(IDC_EDIT_RENEW_MAX_M)->EnableWindow(FALSE); + } + +#ifndef NO_KRB4 + m_initUseKrb4 = m_newUseKrb4 = (CLeashApp::m_hKrb4DLL ? pLeash_get_default_use_krb4() : 0); + CheckDlgButton(IDC_CHECK_REQUEST_KRB4, m_initUseKrb4); + if ( !CLeashApp::m_hKrb4DLL ) + GetDlgItem(IDC_CHECK_REQUEST_KRB4)->EnableWindow(FALSE); +#else +////Or remove these completely? + m_initUseKrb4 = m_newUseKrb4 = 0; + CheckDlgButton(IDC_CHECK_REQUEST_KRB4, 0); + GetDlgItem(IDC_CHECK_REQUEST_KRB4)->EnableWindow(FALSE); +#endif + + m_initKinitPreserve = m_newKinitPreserve = pLeash_get_default_preserve_kinit_settings(); + CheckDlgButton(IDC_CHECK_PRESERVE_KINIT_OPTIONS, m_initKinitPreserve); + + return(TRUE); +} + +BOOL CKrbMiscConfigOpt::OnApply() +{ + DWORD lifetime = ((atoi(m_newDefaultLifeTimeDay)*24 + atoi(m_newDefaultLifeTimeHr)) * 60) + atoi(m_newDefaultLifeTimeMin); + DWORD renewtill = ((atoi(m_newDefaultRenewTillDay)*24 + atoi(m_newDefaultRenewTillHr)) * 60) + atoi(m_newDefaultRenewTillMin); + DWORD lifemin = ((atoi(m_newDefaultLifeMinDay)*24 + atoi(m_newDefaultLifeMinHr)) * 60) + atoi(m_newDefaultLifeMinMin); + DWORD lifemax = ((atoi(m_newDefaultLifeMaxDay)*24 + atoi(m_newDefaultLifeMaxHr)) * 60) + atoi(m_newDefaultLifeMaxMin); + DWORD renewmin = ((atoi(m_newDefaultRenewMinDay)*24 + atoi(m_newDefaultRenewMinHr)) * 60) + atoi(m_newDefaultRenewMinMin); + DWORD renewmax = ((atoi(m_newDefaultRenewMaxDay)*24 + atoi(m_newDefaultRenewMaxHr)) * 60) + atoi(m_newDefaultRenewMaxMin); + + // If no changes were made, quit this function + if ( m_DefaultLifeTime == lifetime && + m_DefaultRenewTill == renewtill && + m_DefaultLifeMin == lifemin && + m_DefaultLifeMax == lifemax && + m_DefaultRenewMin == renewmin && + m_DefaultRenewMax == renewmax && + m_initUseKrb4 == m_newUseKrb4 && + m_initKinitPreserve == m_newKinitPreserve + ) + return TRUE; + + if ( lifemin > lifemax ) { + MessageBox("The Minimum Ticket Lifetime must be less than the Maximum Ticket Lifetime.", + "Leash", MB_OK); + return(FALSE); + } + + if (lifetime < lifemin || lifetime > lifemax) { + MessageBox("The default Ticket Lifetime must fall within the range specified by the " + "Minimum and Maximum Ticket Lifetime fields", + "Leash", MB_OK); + return(FALSE); + } + + if ( CLeashApp::m_hKrb5DLL && (renewmin > renewmax) ) { + MessageBox("The Minimum Ticket Renewable Lifetime must be less than the Maximum Ticket Renewable Lifetime.", + "Leash", MB_OK); + return(FALSE); + } + + if ( CLeashApp::m_hKrb5DLL && (renewmin < lifemin) ) { + MessageBox("The Minimum Renewable Ticket Lifetime must not be smaller than the Minimum Ticket Lifetime.", + "Leash", MB_OK); + } + + if ( CLeashApp::m_hKrb5DLL && (renewtill < renewmin || renewtill > renewmax) ) { + MessageBox("The default Renewable Ticket Lifetime must fall within the range specified by the " + "Minimum and Maximum Renewable Ticket Lifetime fields", + "Leash", MB_OK); + return(FALSE); + } + + m_DefaultLifeMin = lifemin; + pLeash_set_default_life_min(m_DefaultLifeMin); + m_initDefaultLifeMinDay = m_newDefaultLifeMinDay; + m_initDefaultLifeMinHr = m_newDefaultLifeMinHr ; + m_initDefaultLifeMinMin = m_newDefaultLifeMinMin; + + m_DefaultLifeMax = lifemax; + pLeash_set_default_life_max(m_DefaultLifeMax); + m_initDefaultLifeMaxDay = m_newDefaultLifeMaxDay; + m_initDefaultLifeMaxHr = m_newDefaultLifeMaxHr ; + m_initDefaultLifeMaxMin = m_newDefaultLifeMaxMin; + + m_DefaultRenewMin = renewmin; + pLeash_set_default_renew_min(m_DefaultRenewMin); + m_initDefaultRenewMinDay = m_newDefaultRenewMinDay; + m_initDefaultRenewMinHr = m_newDefaultRenewMinHr ; + m_initDefaultRenewMinMin = m_newDefaultRenewMinMin; + + m_DefaultRenewMax = renewmax; + pLeash_set_default_renew_max(m_DefaultRenewMax); + m_initDefaultRenewMaxDay = m_newDefaultRenewMaxDay; + m_initDefaultRenewMaxHr = m_newDefaultRenewMaxHr ; + m_initDefaultRenewMaxMin = m_newDefaultRenewMaxMin; + + m_DefaultRenewTill = renewtill; + pLeash_set_default_renew_till(m_DefaultRenewTill); + m_initDefaultRenewTillDay = m_newDefaultRenewTillDay; + m_initDefaultRenewTillHr = m_newDefaultRenewTillHr ; + m_initDefaultRenewTillMin = m_newDefaultRenewTillMin; + + if( getenv("LIFETIME") != NULL) + { + MessageBox("The ticket lifetime is being controlled by the environment " + "variable LIFETIME instead of the registry. Leash cannot modify " + "the environment. Use the System control panel instead.", + "Leash", MB_OK); + return(FALSE); + } + + m_DefaultLifeTime = lifetime; + pLeash_set_default_lifetime(m_DefaultLifeTime); + m_initDefaultLifeTimeDay = m_newDefaultLifeTimeDay; + m_initDefaultLifeTimeHr = m_newDefaultLifeTimeHr ; + m_initDefaultLifeTimeMin = m_newDefaultLifeTimeMin; + + // If we're using an environment variable tell the user that we + // can't use Leash to modify the value. + + if (!m_DefaultLifeTime) + { + MessageBox("A lifetime setting of 0 is special in that it means that " + "the application is free to pick whatever default it deems " + "appropriate", + "Leash", MB_OK); + } + +#ifndef NO_KRB4 + if ( m_initUseKrb4 != m_newUseKrb4 ) { + pLeash_set_default_use_krb4(m_newUseKrb4); + } +#endif + + if ( m_initKinitPreserve != m_newKinitPreserve ) { + pLeash_set_default_preserve_kinit_settings(m_newKinitPreserve); + } + + return TRUE; +} + +void CKrbMiscConfigOpt::OnSelchangeEditDefaultLifeTime() +{ + static int in_progress = 0; + if (!in_progress && !m_startupPage2) + { + in_progress = 1; + GetDlgItemText(IDC_EDIT_LIFETIME_D, m_newDefaultLifeTimeDay); + GetDlgItemText(IDC_EDIT_LIFETIME_H, m_newDefaultLifeTimeHr); + GetDlgItemText(IDC_EDIT_LIFETIME_M, m_newDefaultLifeTimeMin); + DWORD value = (((atoi(m_newDefaultLifeTimeDay)*24 + atoi(m_newDefaultLifeTimeHr)) * 60) + atoi(m_newDefaultLifeTimeMin)); + LPSTR buf = m_newDefaultLifeTimeDay.GetBuffer(80); + _itoa(value/24/60, buf, 10); + value %= (24 * 60); + m_newDefaultLifeTimeDay.ReleaseBuffer(); + buf = m_newDefaultLifeTimeHr.GetBuffer(80); + _itoa(value/60, buf, 10); + value %= 60; + m_newDefaultLifeTimeHr.ReleaseBuffer(); + buf = m_newDefaultLifeTimeMin.GetBuffer(80); + _itoa(value, buf, 10); + m_newDefaultLifeTimeMin.ReleaseBuffer(); + SetDlgItemText(IDC_EDIT_LIFETIME_D, m_newDefaultLifeTimeDay); + SetDlgItemText(IDC_EDIT_LIFETIME_H, m_newDefaultLifeTimeHr); + SetDlgItemText(IDC_EDIT_LIFETIME_M, m_newDefaultLifeTimeMin); + SetModified(TRUE); + in_progress = 0; + } +} + +void CKrbMiscConfigOpt::OnEditKillfocusEditDefaultLifeTime() +{ + static int in_progress = 0; + if (!in_progress && !m_startupPage2) + { + in_progress = 1; + GetDlgItemText(IDC_EDIT_LIFETIME_D, m_newDefaultLifeTimeDay); + GetDlgItemText(IDC_EDIT_LIFETIME_H, m_newDefaultLifeTimeHr); + GetDlgItemText(IDC_EDIT_LIFETIME_M, m_newDefaultLifeTimeMin); + DWORD value = (((atoi(m_newDefaultLifeTimeDay)*24 + atoi(m_newDefaultLifeTimeHr)) * 60) + atoi(m_newDefaultLifeTimeMin)); + LPSTR buf = m_newDefaultLifeTimeDay.GetBuffer(80); + _itoa(value/24/60, buf, 10); + value %= (24 * 60); + m_newDefaultLifeTimeDay.ReleaseBuffer(); + buf = m_newDefaultLifeTimeHr.GetBuffer(80); + _itoa(value/60, buf, 10); + value %= 60; + m_newDefaultLifeTimeHr.ReleaseBuffer(); + buf = m_newDefaultLifeTimeMin.GetBuffer(80); + _itoa(value, buf, 10); + m_newDefaultLifeTimeMin.ReleaseBuffer(); + SetDlgItemText(IDC_EDIT_LIFETIME_D, m_newDefaultLifeTimeDay); + SetDlgItemText(IDC_EDIT_LIFETIME_H, m_newDefaultLifeTimeHr); + SetDlgItemText(IDC_EDIT_LIFETIME_M, m_newDefaultLifeTimeMin); + + SetModified(TRUE); + in_progress = 0; + } +} + +void CKrbMiscConfigOpt::ResetDefaultLifeTimeEditBox() +{ + // Reset Config Tab's Default LifeTime Editbox + + DWORD tmp = m_DefaultLifeTime = pLeash_get_default_lifetime(); + LPSTR buf = m_newDefaultLifeTimeDay.GetBuffer(80); + _itoa(tmp/24/60, buf, 10); + tmp %= (24 * 60); + m_newDefaultLifeTimeDay.ReleaseBuffer(); + buf = m_newDefaultLifeTimeHr.GetBuffer(80); + _itoa(tmp/60, buf, 10); + tmp %= 60; + m_newDefaultLifeTimeHr.ReleaseBuffer(); + buf = m_newDefaultLifeTimeMin.GetBuffer(80); + _itoa(tmp, buf, 10); + m_newDefaultLifeTimeMin.ReleaseBuffer(); + + ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_LIFETIME_D, m_newDefaultLifeTimeDay); + ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_LIFETIME_H, m_newDefaultLifeTimeHr); + ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_LIFETIME_M, m_newDefaultLifeTimeMin); +} + + +void CKrbMiscConfigOpt::OnSelchangeEditDefaultRenewTill() +{ + static int in_progress = 0; + if (!in_progress && !m_startupPage2) + { + in_progress = 1; + GetDlgItemText(IDC_EDIT_RENEWTILL_D, m_newDefaultRenewTillDay); + GetDlgItemText(IDC_EDIT_RENEWTILL_H, m_newDefaultRenewTillHr); + GetDlgItemText(IDC_EDIT_RENEWTILL_M, m_newDefaultRenewTillMin); + DWORD value = (((atoi(m_newDefaultRenewTillDay)*24 + atoi(m_newDefaultRenewTillHr)) * 60) + atoi(m_newDefaultRenewTillMin)); + LPSTR buf = m_newDefaultRenewTillDay.GetBuffer(80); + _itoa(value/24/60, buf, 10); + value %= (24 * 60); + m_newDefaultRenewTillDay.ReleaseBuffer(); + buf = m_newDefaultRenewTillHr.GetBuffer(80); + _itoa(value/60, buf, 10); + value %= 60; + m_newDefaultRenewTillHr.ReleaseBuffer(); + buf = m_newDefaultRenewTillMin.GetBuffer(80); + _itoa(value, buf, 10); + m_newDefaultRenewTillMin.ReleaseBuffer(); + SetDlgItemText(IDC_EDIT_RENEWTILL_D, m_newDefaultRenewTillDay); + SetDlgItemText(IDC_EDIT_RENEWTILL_H, m_newDefaultRenewTillHr); + SetDlgItemText(IDC_EDIT_RENEWTILL_M, m_newDefaultRenewTillMin); + SetModified(TRUE); + in_progress = 0; + } +} + +void CKrbMiscConfigOpt::OnEditKillfocusEditDefaultRenewTill() +{ + static int in_progress = 0; + if (!in_progress && !m_startupPage2) + { + in_progress = 1; + GetDlgItemText(IDC_EDIT_RENEWTILL_D, m_newDefaultRenewTillDay); + GetDlgItemText(IDC_EDIT_RENEWTILL_H, m_newDefaultRenewTillHr); + GetDlgItemText(IDC_EDIT_RENEWTILL_M, m_newDefaultRenewTillMin); + DWORD value = (((atoi(m_newDefaultRenewTillDay)*24 + atoi(m_newDefaultRenewTillHr)) * 60) + atoi(m_newDefaultRenewTillMin)); + LPSTR buf = m_newDefaultRenewTillDay.GetBuffer(80); + _itoa(value/24/60, buf, 10); + value %= (24 * 60); + m_newDefaultRenewTillDay.ReleaseBuffer(); + buf = m_newDefaultRenewTillHr.GetBuffer(80); + _itoa(value/60, buf, 10); + value %= 60; + m_newDefaultRenewTillHr.ReleaseBuffer(); + buf = m_newDefaultRenewTillMin.GetBuffer(80); + _itoa(value, buf, 10); + m_newDefaultRenewTillMin.ReleaseBuffer(); + SetDlgItemText(IDC_EDIT_RENEWTILL_D, m_newDefaultRenewTillDay); + SetDlgItemText(IDC_EDIT_RENEWTILL_H, m_newDefaultRenewTillHr); + SetDlgItemText(IDC_EDIT_RENEWTILL_M, m_newDefaultRenewTillMin); + + SetModified(TRUE); + in_progress = 0; + } +} + +void CKrbMiscConfigOpt::ResetDefaultRenewTillEditBox() +{ + // Reset Config Tab's Default RenewTill Editbox + + DWORD tmp = m_DefaultRenewTill = pLeash_get_default_lifetime(); + LPSTR buf = m_newDefaultRenewTillDay.GetBuffer(80); + _itoa(tmp/24/60, buf, 10); + tmp %= (24 * 60); + m_newDefaultRenewTillDay.ReleaseBuffer(); + buf = m_newDefaultRenewTillHr.GetBuffer(80); + _itoa(tmp/60, buf, 10); + tmp %= 60; + m_newDefaultRenewTillHr.ReleaseBuffer(); + buf = m_newDefaultRenewTillMin.GetBuffer(80); + _itoa(tmp, buf, 10); + m_newDefaultRenewTillMin.ReleaseBuffer(); + + ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_RENEWTILL_D, m_newDefaultRenewTillDay); + ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_RENEWTILL_H, m_newDefaultRenewTillHr); + ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_RENEWTILL_M, m_newDefaultRenewTillMin); +} + + +void CKrbMiscConfigOpt::OnSelchangeEditDefaultLifeMin() +{ + static int in_progress = 0; + if (!in_progress && !m_startupPage2) + { + in_progress = 1; + GetDlgItemText(IDC_EDIT_LIFE_MIN_D, m_newDefaultLifeMinDay); + GetDlgItemText(IDC_EDIT_LIFE_MIN_H, m_newDefaultLifeMinHr); + GetDlgItemText(IDC_EDIT_LIFE_MIN_M, m_newDefaultLifeMinMin); + DWORD value = (((atoi(m_newDefaultLifeMinDay)*24 + atoi(m_newDefaultLifeMinHr)) * 60) + atoi(m_newDefaultLifeMinMin)); + LPSTR buf = m_newDefaultLifeMinDay.GetBuffer(80); + _itoa(value/24/60, buf, 10); + value %= (24 * 60); + m_newDefaultLifeMinDay.ReleaseBuffer(); + buf = m_newDefaultLifeMinHr.GetBuffer(80); + _itoa(value/60, buf, 10); + value %= 60; + m_newDefaultLifeMinHr.ReleaseBuffer(); + buf = m_newDefaultLifeMinMin.GetBuffer(80); + _itoa(value, buf, 10); + m_newDefaultLifeMinMin.ReleaseBuffer(); + SetDlgItemText(IDC_EDIT_LIFE_MIN_D, m_newDefaultLifeMinDay); + SetDlgItemText(IDC_EDIT_LIFE_MIN_H, m_newDefaultLifeMinHr); + SetDlgItemText(IDC_EDIT_LIFE_MIN_M, m_newDefaultLifeMinMin); + SetModified(TRUE); + in_progress = 0; + } +} + +void CKrbMiscConfigOpt::OnEditKillfocusEditDefaultLifeMin() +{ + static int in_progress = 0; + if (!in_progress && !m_startupPage2) + { + in_progress = 1; + GetDlgItemText(IDC_EDIT_LIFE_MIN_D, m_newDefaultLifeMinDay); + GetDlgItemText(IDC_EDIT_LIFE_MIN_H, m_newDefaultLifeMinHr); + GetDlgItemText(IDC_EDIT_LIFE_MIN_M, m_newDefaultLifeMinMin); + DWORD value = (((atoi(m_newDefaultLifeMinDay)*24 + atoi(m_newDefaultLifeMinHr)) * 60) + atoi(m_newDefaultLifeMinMin)); + LPSTR buf = m_newDefaultLifeMinDay.GetBuffer(80); + _itoa(value/24/60, buf, 10); + value %= (24 * 60); + m_newDefaultLifeMinDay.ReleaseBuffer(); + buf = m_newDefaultLifeMinHr.GetBuffer(80); + _itoa(value/60, buf, 10); + value %= 60; + m_newDefaultLifeMinHr.ReleaseBuffer(); + buf = m_newDefaultLifeMinMin.GetBuffer(80); + _itoa(value, buf, 10); + m_newDefaultLifeMinMin.ReleaseBuffer(); + SetDlgItemText(IDC_EDIT_LIFE_MIN_D, m_newDefaultLifeMinDay); + SetDlgItemText(IDC_EDIT_LIFE_MIN_H, m_newDefaultLifeMinHr); + SetDlgItemText(IDC_EDIT_LIFE_MIN_M, m_newDefaultLifeMinMin); + + SetModified(TRUE); + in_progress = 0; + } +} + +void CKrbMiscConfigOpt::ResetDefaultLifeMinEditBox() +{ + // Reset Config Tab's Default LifeMin Editbox + + DWORD tmp = m_DefaultLifeMin = pLeash_get_default_life_min(); + LPSTR buf = m_newDefaultLifeMinDay.GetBuffer(80); + _itoa(tmp/24/60, buf, 10); + tmp %= (24 * 60); + m_newDefaultLifeMinDay.ReleaseBuffer(); + buf = m_newDefaultLifeMinHr.GetBuffer(80); + _itoa(tmp/60, buf, 10); + tmp %= 60; + m_newDefaultLifeMinHr.ReleaseBuffer(); + buf = m_newDefaultLifeMinMin.GetBuffer(80); + _itoa(tmp, buf, 10); + m_newDefaultLifeMinMin.ReleaseBuffer(); + + ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_LIFE_MIN_D, m_newDefaultLifeMinDay); + ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_LIFE_MIN_H, m_newDefaultLifeMinHr); + ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_LIFE_MIN_M, m_newDefaultLifeMinMin); +} + +void CKrbMiscConfigOpt::OnSelchangeEditDefaultLifeMax() +{ + static int in_progress = 0; + if (!in_progress && !m_startupPage2) + { + in_progress = 1; + GetDlgItemText(IDC_EDIT_LIFE_MAX_D, m_newDefaultLifeMaxDay); + GetDlgItemText(IDC_EDIT_LIFE_MAX_H, m_newDefaultLifeMaxHr); + GetDlgItemText(IDC_EDIT_LIFE_MAX_M, m_newDefaultLifeMaxMin); + DWORD value = (((atoi(m_newDefaultLifeMaxDay)*24 + atoi(m_newDefaultLifeMaxHr)) * 60) + atoi(m_newDefaultLifeMaxMin)); + LPSTR buf = m_newDefaultLifeMaxDay.GetBuffer(80); + _itoa(value/24/60, buf, 10); + value %= (24 * 60); + m_newDefaultLifeMaxDay.ReleaseBuffer(); + buf = m_newDefaultLifeMaxHr.GetBuffer(80); + _itoa(value/60, buf, 10); + value %= 60; + m_newDefaultLifeMaxHr.ReleaseBuffer(); + buf = m_newDefaultLifeMaxMin.GetBuffer(80); + _itoa(value, buf, 10); + m_newDefaultLifeMaxMin.ReleaseBuffer(); + SetDlgItemText(IDC_EDIT_LIFE_MAX_D, m_newDefaultLifeMaxDay); + SetDlgItemText(IDC_EDIT_LIFE_MAX_H, m_newDefaultLifeMaxHr); + SetDlgItemText(IDC_EDIT_LIFE_MAX_M, m_newDefaultLifeMaxMin); + + SetModified(TRUE); + in_progress = 0; + } +} + +void CKrbMiscConfigOpt::OnEditKillfocusEditDefaultLifeMax() +{ + static int in_progress = 0; + if (!in_progress && !m_startupPage2) + { + in_progress = 1; + GetDlgItemText(IDC_EDIT_LIFE_MAX_D, m_newDefaultLifeMaxDay); + GetDlgItemText(IDC_EDIT_LIFE_MAX_H, m_newDefaultLifeMaxHr); + GetDlgItemText(IDC_EDIT_LIFE_MAX_M, m_newDefaultLifeMaxMin); + DWORD value = (((atoi(m_newDefaultLifeMaxDay)*24 + atoi(m_newDefaultLifeMaxHr)) * 60) + atoi(m_newDefaultLifeMaxMin)); + LPSTR buf = m_newDefaultLifeMaxDay.GetBuffer(80); + _itoa(value/24/60, buf, 10); + value %= (24 * 60); + m_newDefaultLifeMaxDay.ReleaseBuffer(); + buf = m_newDefaultLifeMaxHr.GetBuffer(80); + _itoa(value/60, buf, 10); + value %= 60; + m_newDefaultLifeMaxHr.ReleaseBuffer(); + buf = m_newDefaultLifeMaxMin.GetBuffer(80); + _itoa(value, buf, 10); + m_newDefaultLifeMaxMin.ReleaseBuffer(); + SetDlgItemText(IDC_EDIT_LIFE_MAX_D, m_newDefaultLifeMaxDay); + SetDlgItemText(IDC_EDIT_LIFE_MAX_H, m_newDefaultLifeMaxHr); + SetDlgItemText(IDC_EDIT_LIFE_MAX_M, m_newDefaultLifeMaxMin); + + SetModified(TRUE); + in_progress = 0; + } +} + +void CKrbMiscConfigOpt::ResetDefaultLifeMaxEditBox() +{ + // Reset Config Tab's Default LifeMax Editbox + + DWORD tmp = m_DefaultLifeMax = pLeash_get_default_life_min(); + LPSTR buf = m_newDefaultLifeMaxDay.GetBuffer(80); + _itoa(tmp/24/60, buf, 10); + tmp %= (24 * 60); + m_newDefaultLifeMaxDay.ReleaseBuffer(); + buf = m_newDefaultLifeMaxHr.GetBuffer(80); + _itoa(tmp/60, buf, 10); + tmp %= 60; + m_newDefaultLifeMaxHr.ReleaseBuffer(); + buf = m_newDefaultLifeMaxMin.GetBuffer(80); + _itoa(tmp, buf, 10); + m_newDefaultLifeMaxMin.ReleaseBuffer(); + + ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_LIFE_MAX_D, m_newDefaultLifeMaxDay); + ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_LIFE_MAX_H, m_newDefaultLifeMaxHr); + ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_LIFE_MAX_M, m_newDefaultLifeMaxMin); +} + +void CKrbMiscConfigOpt::OnSelchangeEditDefaultRenewMin() +{ + static int in_progress = 0; + if (!in_progress && !m_startupPage2) + { + in_progress = 1; + GetDlgItemText(IDC_EDIT_RENEW_MIN_D, m_newDefaultRenewMinDay); + GetDlgItemText(IDC_EDIT_RENEW_MIN_H, m_newDefaultRenewMinHr); + GetDlgItemText(IDC_EDIT_RENEW_MIN_M, m_newDefaultRenewMinMin); + DWORD value = (((atoi(m_newDefaultRenewMinDay)*24 + atoi(m_newDefaultRenewMinHr)) * 60) + atoi(m_newDefaultRenewMinMin)); + LPSTR buf = m_newDefaultRenewMinDay.GetBuffer(80); + _itoa(value/24/60, buf, 10); + value %= (24 * 60); + m_newDefaultRenewMinDay.ReleaseBuffer(); + buf = m_newDefaultRenewMinHr.GetBuffer(80); + _itoa(value/60, buf, 10); + value %= 60; + m_newDefaultRenewMinHr.ReleaseBuffer(); + buf = m_newDefaultRenewMinMin.GetBuffer(80); + _itoa(value, buf, 10); + m_newDefaultRenewMinMin.ReleaseBuffer(); + SetDlgItemText(IDC_EDIT_RENEW_MIN_D, m_newDefaultRenewMinDay); + SetDlgItemText(IDC_EDIT_RENEW_MIN_H, m_newDefaultRenewMinHr); + SetDlgItemText(IDC_EDIT_RENEW_MIN_M, m_newDefaultRenewMinMin); + + SetModified(TRUE); + in_progress = 0; + } +} + +void CKrbMiscConfigOpt::OnEditKillfocusEditDefaultRenewMin() +{ + static int in_progress = 0; + if (!in_progress && !m_startupPage2) + { + in_progress = 1; + GetDlgItemText(IDC_EDIT_RENEW_MIN_D, m_newDefaultRenewMinDay); + GetDlgItemText(IDC_EDIT_RENEW_MIN_H, m_newDefaultRenewMinHr); + GetDlgItemText(IDC_EDIT_RENEW_MIN_M, m_newDefaultRenewMinMin); + DWORD value = (((atoi(m_newDefaultRenewMinDay)*24 + atoi(m_newDefaultRenewMinHr)) * 60) + atoi(m_newDefaultRenewMinMin)); + LPSTR buf = m_newDefaultRenewMinDay.GetBuffer(80); + _itoa(value/24/60, buf, 10); + value %= (24 * 60); + m_newDefaultRenewMinDay.ReleaseBuffer(); + buf = m_newDefaultRenewMinHr.GetBuffer(80); + _itoa(value/60, buf, 10); + value %= 60; + m_newDefaultRenewMinHr.ReleaseBuffer(); + buf = m_newDefaultRenewMinMin.GetBuffer(80); + _itoa(value, buf, 10); + m_newDefaultRenewMinMin.ReleaseBuffer(); + SetDlgItemText(IDC_EDIT_RENEW_MIN_D, m_newDefaultRenewMinDay); + SetDlgItemText(IDC_EDIT_RENEW_MIN_H, m_newDefaultRenewMinHr); + SetDlgItemText(IDC_EDIT_RENEW_MIN_M, m_newDefaultRenewMinMin); + + SetModified(TRUE); + in_progress = 0; + } +} + +void CKrbMiscConfigOpt::ResetDefaultRenewMinEditBox() +{ + // Reset Config Tab's Default RenewMin Editbox + + DWORD tmp = m_DefaultRenewMin = pLeash_get_default_life_min(); + LPSTR buf = m_newDefaultRenewMinDay.GetBuffer(80); + _itoa(tmp/24/60, buf, 10); + tmp %= (24 * 60); + m_newDefaultRenewMinDay.ReleaseBuffer(); + buf = m_newDefaultRenewMinHr.GetBuffer(80); + _itoa(tmp/60, buf, 10); + tmp %= 60; + m_newDefaultRenewMinHr.ReleaseBuffer(); + buf = m_newDefaultRenewMinMin.GetBuffer(80); + _itoa(tmp, buf, 10); + m_newDefaultRenewMinMin.ReleaseBuffer(); + + ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_RENEW_MIN_D, m_newDefaultRenewMinDay); + ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_RENEW_MIN_H, m_newDefaultRenewMinHr); + ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_RENEW_MIN_M, m_newDefaultRenewMinMin); +} + +void CKrbMiscConfigOpt::OnSelchangeEditDefaultRenewMax() +{ + static int in_progress = 0; + if (!in_progress && !m_startupPage2) + { + in_progress = 1; + GetDlgItemText(IDC_EDIT_RENEW_MAX_D, m_newDefaultRenewMaxDay); + GetDlgItemText(IDC_EDIT_RENEW_MAX_H, m_newDefaultRenewMaxHr); + GetDlgItemText(IDC_EDIT_RENEW_MAX_M, m_newDefaultRenewMaxMin); + DWORD value = (((atoi(m_newDefaultRenewMaxDay)*24 + atoi(m_newDefaultRenewMaxHr)) * 60) + atoi(m_newDefaultRenewMaxMin)); + LPSTR buf = m_newDefaultRenewMaxDay.GetBuffer(80); + _itoa(value/24/60, buf, 10); + value %= (24 * 60); + m_newDefaultRenewMaxDay.ReleaseBuffer(); + buf = m_newDefaultRenewMaxHr.GetBuffer(80); + _itoa(value/60, buf, 10); + value %= 60; + m_newDefaultRenewMaxHr.ReleaseBuffer(); + buf = m_newDefaultRenewMaxMin.GetBuffer(80); + _itoa(value, buf, 10); + m_newDefaultRenewMaxMin.ReleaseBuffer(); + SetDlgItemText(IDC_EDIT_RENEW_MAX_D, m_newDefaultRenewMaxDay); + SetDlgItemText(IDC_EDIT_RENEW_MAX_H, m_newDefaultRenewMaxHr); + SetDlgItemText(IDC_EDIT_RENEW_MAX_M, m_newDefaultRenewMaxMin); + + SetModified(TRUE); + in_progress = 0; + } +} + +void CKrbMiscConfigOpt::OnEditKillfocusEditDefaultRenewMax() +{ + static int in_progress = 0; + if (!in_progress && !m_startupPage2) + { + in_progress = 1; + GetDlgItemText(IDC_EDIT_RENEW_MAX_D, m_newDefaultRenewMaxDay); + GetDlgItemText(IDC_EDIT_RENEW_MAX_H, m_newDefaultRenewMaxHr); + GetDlgItemText(IDC_EDIT_RENEW_MAX_M, m_newDefaultRenewMaxMin); + DWORD value = (((atoi(m_newDefaultRenewMaxDay)*24 + atoi(m_newDefaultRenewMaxHr)) * 60) + atoi(m_newDefaultRenewMaxMin)); + LPSTR buf = m_newDefaultRenewMaxDay.GetBuffer(80); + _itoa(value/24/60, buf, 10); + value %= (24 * 60); + m_newDefaultRenewMaxDay.ReleaseBuffer(); + buf = m_newDefaultRenewMaxHr.GetBuffer(80); + _itoa(value/60, buf, 10); + value %= 60; + m_newDefaultRenewMaxHr.ReleaseBuffer(); + buf = m_newDefaultRenewMaxMin.GetBuffer(80); + _itoa(value, buf, 10); + m_newDefaultRenewMaxMin.ReleaseBuffer(); + SetDlgItemText(IDC_EDIT_RENEW_MAX_D, m_newDefaultRenewMaxDay); + SetDlgItemText(IDC_EDIT_RENEW_MAX_H, m_newDefaultRenewMaxHr); + SetDlgItemText(IDC_EDIT_RENEW_MAX_M, m_newDefaultRenewMaxMin); + + SetModified(TRUE); + in_progress = 0; + } +} + +void CKrbMiscConfigOpt::ResetDefaultRenewMaxEditBox() +{ + // Reset Config Tab's Default RenewMax Editbox + + DWORD tmp = m_DefaultRenewMax = pLeash_get_default_life_min(); + LPSTR buf = m_newDefaultRenewMaxDay.GetBuffer(80); + _itoa(tmp/24/60, buf, 10); + tmp %= (24 * 60); + m_newDefaultRenewMaxDay.ReleaseBuffer(); + buf = m_newDefaultRenewMaxHr.GetBuffer(80); + _itoa(tmp/60, buf, 10); + tmp %= 60; + m_newDefaultRenewMaxHr.ReleaseBuffer(); + buf = m_newDefaultRenewMaxMin.GetBuffer(80); + _itoa(tmp, buf, 10); + m_newDefaultRenewMaxMin.ReleaseBuffer(); + + ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_RENEW_MAX_D, m_newDefaultRenewMaxDay); + ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_RENEW_MAX_H, m_newDefaultRenewMaxHr); + ::SetDlgItemText(::GetForegroundWindow(), IDC_EDIT_RENEW_MAX_M, m_newDefaultRenewMaxMin); +} + +void CKrbMiscConfigOpt::OnCheckUseKrb4() +{ + m_newUseKrb4 = (BOOL)IsDlgButtonChecked(IDC_CHECK_REQUEST_KRB4); +} + +void CKrbMiscConfigOpt::OnCheckKinitPreserve() +{ + m_newKinitPreserve = (BOOL)IsDlgButtonChecked(IDC_CHECK_PRESERVE_KINIT_OPTIONS); +} + +void CKrbMiscConfigOpt::OnShowWindow(BOOL bShow, UINT nStatus) +{ + CPropertyPage::OnShowWindow(bShow, nStatus); + + if (CLeashApp::m_hKrb5DLL) + ResetDefaultLifeTimeEditBox(); + + SetDlgItemText(IDC_EDIT_LIFETIME_D, m_newDefaultLifeTimeDay); + SetDlgItemText(IDC_EDIT_LIFETIME_H, m_newDefaultLifeTimeHr); + SetDlgItemText(IDC_EDIT_LIFETIME_M, m_newDefaultLifeTimeMin); + SetDlgItemText(IDC_EDIT_RENEWTILL_D, m_newDefaultRenewTillDay); + SetDlgItemText(IDC_EDIT_RENEWTILL_H, m_newDefaultRenewTillHr); + SetDlgItemText(IDC_EDIT_RENEWTILL_M, m_newDefaultRenewTillMin); + SetDlgItemText(IDC_EDIT_LIFE_MIN_D, m_newDefaultLifeMinDay); + SetDlgItemText(IDC_EDIT_LIFE_MIN_H, m_newDefaultLifeMinHr); + SetDlgItemText(IDC_EDIT_LIFE_MIN_M, m_newDefaultLifeMinMin); + SetDlgItemText(IDC_EDIT_LIFE_MAX_D, m_newDefaultLifeMaxDay); + SetDlgItemText(IDC_EDIT_LIFE_MAX_H, m_newDefaultLifeMaxHr); + SetDlgItemText(IDC_EDIT_LIFE_MAX_M, m_newDefaultLifeMaxMin); + SetDlgItemText(IDC_EDIT_RENEW_MIN_D, m_newDefaultRenewMinDay); + SetDlgItemText(IDC_EDIT_RENEW_MIN_H, m_newDefaultRenewMinHr); + SetDlgItemText(IDC_EDIT_RENEW_MIN_M, m_newDefaultRenewMinMin); + SetDlgItemText(IDC_EDIT_RENEW_MAX_D, m_newDefaultRenewMaxDay); + SetDlgItemText(IDC_EDIT_RENEW_MAX_H, m_newDefaultRenewMaxHr); + SetDlgItemText(IDC_EDIT_RENEW_MAX_M, m_newDefaultRenewMaxMin); +} + +BOOL CKrbMiscConfigOpt::PreTranslateMessage(MSG* pMsg) +{ + if (!m_startupPage2) + { + if (m_noLifeTime) + { + MessageBox("A lifetime setting of 0 is special in that it means that " + "the application is free to pick whatever default it deems " + "appropriate", + "Leash", MB_OK); + m_noLifeTime = FALSE; + } + } + + m_startupPage2 = FALSE; + return CPropertyPage::PreTranslateMessage(pMsg); +} + + +BEGIN_MESSAGE_MAP(CKrbMiscConfigOpt, CPropertyPage) + //{{AFX_MSG_MAP(CKrbConfigOptions) + ON_WM_SHOWWINDOW() + + ON_EN_KILLFOCUS(IDC_EDIT_LIFETIME_D, OnEditKillfocusEditDefaultLifeTime) + ON_CBN_SELCHANGE(IDC_EDIT_LIFETIME_D, OnSelchangeEditDefaultLifeTime) + ON_EN_KILLFOCUS(IDC_EDIT_LIFETIME_H, OnEditKillfocusEditDefaultLifeTime) + ON_CBN_SELCHANGE(IDC_EDIT_LIFETIME_H, OnSelchangeEditDefaultLifeTime) + ON_EN_KILLFOCUS(IDC_EDIT_LIFETIME_M, OnEditKillfocusEditDefaultLifeTime) + ON_CBN_SELCHANGE(IDC_EDIT_LIFETIME_M, OnSelchangeEditDefaultLifeTime) + + ON_EN_KILLFOCUS(IDC_EDIT_RENEWTILL_D, OnEditKillfocusEditDefaultRenewTill) + ON_CBN_SELCHANGE(IDC_EDIT_RENEWTILL_D, OnSelchangeEditDefaultRenewTill) + ON_EN_KILLFOCUS(IDC_EDIT_RENEWTILL_H, OnEditKillfocusEditDefaultRenewTill) + ON_CBN_SELCHANGE(IDC_EDIT_RENEWTILL_H, OnSelchangeEditDefaultRenewTill) + ON_EN_KILLFOCUS(IDC_EDIT_RENEWTILL_M, OnEditKillfocusEditDefaultRenewTill) + ON_CBN_SELCHANGE(IDC_EDIT_RENEWTILL_M, OnSelchangeEditDefaultRenewTill) + + ON_EN_KILLFOCUS(IDC_EDIT_LIFE_MIN_D, OnEditKillfocusEditDefaultLifeMin) + ON_CBN_SELCHANGE(IDC_EDIT_LIFE_MIN_D, OnSelchangeEditDefaultLifeMin) + ON_EN_KILLFOCUS(IDC_EDIT_LIFE_MIN_H, OnEditKillfocusEditDefaultLifeMin) + ON_CBN_SELCHANGE(IDC_EDIT_LIFE_MIN_H, OnSelchangeEditDefaultLifeMin) + ON_EN_KILLFOCUS(IDC_EDIT_LIFE_MIN_M, OnEditKillfocusEditDefaultLifeMin) + ON_CBN_SELCHANGE(IDC_EDIT_LIFE_MIN_M, OnSelchangeEditDefaultLifeMin) + + ON_EN_KILLFOCUS(IDC_EDIT_LIFE_MAX_D, OnEditKillfocusEditDefaultLifeMax) + ON_CBN_SELCHANGE(IDC_EDIT_LIFE_MAX_D, OnSelchangeEditDefaultLifeMax) + ON_EN_KILLFOCUS(IDC_EDIT_LIFE_MAX_H, OnEditKillfocusEditDefaultLifeMax) + ON_CBN_SELCHANGE(IDC_EDIT_LIFE_MAX_H, OnSelchangeEditDefaultLifeMax) + ON_EN_KILLFOCUS(IDC_EDIT_LIFE_MAX_M, OnEditKillfocusEditDefaultLifeMax) + ON_CBN_SELCHANGE(IDC_EDIT_LIFE_MAX_M, OnSelchangeEditDefaultLifeMax) + + ON_EN_KILLFOCUS(IDC_EDIT_RENEW_MIN_D, OnEditKillfocusEditDefaultRenewMin) + ON_CBN_SELCHANGE(IDC_EDIT_RENEW_MIN_D, OnSelchangeEditDefaultRenewMin) + ON_EN_KILLFOCUS(IDC_EDIT_RENEW_MIN_H, OnEditKillfocusEditDefaultRenewMin) + ON_CBN_SELCHANGE(IDC_EDIT_RENEW_MIN_H, OnSelchangeEditDefaultRenewMin) + ON_EN_KILLFOCUS(IDC_EDIT_RENEW_MIN_M, OnEditKillfocusEditDefaultRenewMin) + ON_CBN_SELCHANGE(IDC_EDIT_RENEW_MIN_M, OnSelchangeEditDefaultRenewMin) + + ON_EN_KILLFOCUS(IDC_EDIT_RENEW_MAX_D, OnEditKillfocusEditDefaultRenewMax) + ON_CBN_SELCHANGE(IDC_EDIT_RENEW_MAX_D, OnSelchangeEditDefaultRenewMax) + ON_EN_KILLFOCUS(IDC_EDIT_RENEW_MAX_H, OnEditKillfocusEditDefaultRenewMax) + ON_CBN_SELCHANGE(IDC_EDIT_RENEW_MAX_H, OnSelchangeEditDefaultRenewMax) + ON_EN_KILLFOCUS(IDC_EDIT_RENEW_MAX_M, OnEditKillfocusEditDefaultRenewMax) + ON_CBN_SELCHANGE(IDC_EDIT_RENEW_MAX_M, OnSelchangeEditDefaultRenewMax) + + ON_BN_CLICKED(IDC_CHECK_REQUEST_KRB4, OnCheckUseKrb4) + ON_BN_CLICKED(IDC_CHECK_PRESERVE_KINIT_OPTIONS, OnCheckKinitPreserve) + //}}AFX_MSG_MAP +END_MESSAGE_MAP() |
