summaryrefslogtreecommitdiffstats
path: root/src/windows/leash/Krb4EditRealmHostList.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/windows/leash/Krb4EditRealmHostList.cpp')
-rw-r--r--src/windows/leash/Krb4EditRealmHostList.cpp193
1 files changed, 193 insertions, 0 deletions
diff --git a/src/windows/leash/Krb4EditRealmHostList.cpp b/src/windows/leash/Krb4EditRealmHostList.cpp
new file mode 100644
index 0000000000..840f6262e0
--- /dev/null
+++ b/src/windows/leash/Krb4EditRealmHostList.cpp
@@ -0,0 +1,193 @@
+// **************************************************************************************
+// File: Krb4EditRealmHostList.cpp
+// By: Arthur David Leather
+// Created: 12/02/98
+// Copyright @1998 Massachusetts Institute of Technology - All rights reserved.
+// Description: CPP file for Krb4EditRealmHostList.h. Contains variables and functions
+// for Kerberos Four Properties
+//
+// History:
+//
+// MM/DD/YY Inits Description of Change
+// 12/02/98 ADL Original
+// **************************************************************************************
+
+
+#include "stdafx.h"
+#include "leash.h"
+#include "Krb4Properties.h"
+#include "Krb4EditRealmHostList.h"
+#include "lglobals.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#undef THIS_FILE
+static char THIS_FILE[] = __FILE__;
+#endif
+
+/////////////////////////////////////////////////////////////////////////////
+// CKrb4EditRealmHostList dialog
+
+CKrb4EditRealmHostList::CKrb4EditRealmHostList(LPSTR editItem, CWnd* pParent)
+ : CDialog(CKrb4EditRealmHostList::IDD, pParent)
+{
+ m_startup = TRUE;
+ m_editItem = _T("");
+
+/*
+ // Parse the passed in item
+ LPSTR pEditItem = editItem;
+ LPSTR findSpace = strchr(editItem, ' ');
+ if (findSpace)
+ *findSpace = 0;
+ else
+ {
+ LeashErrorBox("This is a defective entry in file",
+ CKrb4ConfigFileLocation::m_krbFile);
+ ASSERT(0);
+ m_initRealm = m_newRealm = editItem;
+ m_initHost = m_newHost = _T("");
+ }
+
+ m_initRealm = m_newRealm = editItem; // first token
+
+ pEditItem = strchr(editItem, '\0');
+ if (pEditItem)
+ {
+ pEditItem++;
+ findSpace++;
+ }
+ else
+ ASSERT(0);
+
+ findSpace = strchr(pEditItem, ' ');
+ if (findSpace)
+ {
+ *findSpace = 0;
+ }
+ else
+ {
+ m_initAdmin = m_newAdmin = FALSE;
+ m_initHost = m_newHost = pEditItem; // second token
+ return;
+ }
+
+ m_initHost = m_newHost = pEditItem; // second token
+
+ findSpace++;
+ pEditItem = findSpace;
+ if (pEditItem)
+ {
+ if (strstr(pEditItem, "admin server"))
+ m_initAdmin = m_newAdmin = TRUE;
+ //else
+ //; It must be something else??? :(
+ }
+ else
+ ASSERT(0);
+*/
+ //{{AFX_DATA_INIT(CKrb4EditRealmHostList)
+ // NOTE: the ClassWizard will add member initialization here
+ //}}AFX_DATA_INIT
+}
+
+void CKrb4EditRealmHostList::DoDataExchange(CDataExchange* pDX)
+{
+ CDialog::DoDataExchange(pDX);
+ //{{AFX_DATA_MAP(CKrb4EditRealmHostList)
+ // NOTE: the ClassWizard will add DDX and DDV calls here
+ //}}AFX_DATA_MAP
+}
+
+
+BEGIN_MESSAGE_MAP(CKrb4EditRealmHostList, CDialog)
+ //{{AFX_MSG_MAP(CKrb4EditRealmHostList)
+ ON_WM_SHOWWINDOW()
+ ON_EN_CHANGE(IDC_EDIT_DEFAULT_REALM, OnChangeEditDefaultRealm)
+ ON_EN_CHANGE(IDC_EDIT_REALM_HOSTNAME, OnChangeEditRealmHostname)
+ ON_BN_CLICKED(IDC_RADIO_ADMIN_SERVER, OnRadioAdminServer)
+ ON_BN_CLICKED(IDC_RADIO_NO_ADMIN_SERVER, OnRadioNoAdminServer)
+ //}}AFX_MSG_MAP
+END_MESSAGE_MAP()
+
+/////////////////////////////////////////////////////////////////////////////
+// CKrb4EditRealmHostList message handlers
+
+BOOL CKrb4EditRealmHostList::OnInitDialog()
+{
+ CDialog::OnInitDialog();
+
+ SetDlgItemText(IDC_EDIT_DEFAULT_REALM, m_newRealm);
+ SetDlgItemText(IDC_EDIT_REALM_HOSTNAME, m_newHost);
+
+ if (m_initAdmin)
+ { // has Admin Server
+ CheckRadioButton(IDC_RADIO_ADMIN_SERVER, IDC_RADIO_NO_ADMIN_SERVER, IDC_RADIO_ADMIN_SERVER);
+ }
+ else
+ { // no Admin Server
+ CheckRadioButton(IDC_RADIO_ADMIN_SERVER, IDC_RADIO_NO_ADMIN_SERVER, IDC_RADIO_NO_ADMIN_SERVER);
+ }
+
+ //GetDlgItem(IDC_EDIT_DEFAULT_REALM)->EnableWindow();
+ //GetDlgItem(IDC_EDIT_DEFAULT_REALM)->SetFocus();
+
+ return TRUE;
+}
+
+void CKrb4EditRealmHostList::OnShowWindow(BOOL bShow, UINT nStatus)
+{
+ CDialog::OnShowWindow(bShow, nStatus);
+ m_startup = FALSE;
+}
+
+void CKrb4EditRealmHostList::OnChangeEditDefaultRealm()
+{
+ if (!m_startup)
+ GetDlgItemText(IDC_EDIT_DEFAULT_REALM, m_newRealm);
+}
+
+void CKrb4EditRealmHostList::OnChangeEditRealmHostname()
+{
+ if (!m_startup)
+ GetDlgItemText(IDC_EDIT_REALM_HOSTNAME, m_newHost);
+}
+
+void CKrb4EditRealmHostList::OnRadioAdminServer()
+{
+ m_newAdmin = TRUE;
+}
+
+void CKrb4EditRealmHostList::OnRadioNoAdminServer()
+{
+ m_newAdmin = FALSE;
+}
+
+void CKrb4EditRealmHostList::OnOK()
+{
+ m_newRealm.TrimLeft();
+ m_newRealm.TrimRight();
+ m_newHost.TrimLeft();
+ m_newHost.TrimRight();
+
+ if (m_newRealm.IsEmpty() || m_newHost.IsEmpty())
+ { // stay
+ MessageBox("OnOK::Both Realm and Host fields must be filled in!",
+ "Leash", MB_OK);
+ }
+ else if (-1 != m_newRealm.Find(' ') || -1 != m_newHost.Find(' '))
+ { // stay
+ MessageBox("OnOK::Illegal space found!", "Leash", MB_OK);
+ }
+
+ else
+ CDialog::OnOK(); // exit
+
+ m_editItem = m_newRealm + " " + m_newHost;
+
+ if (m_newAdmin)
+ {
+ m_editItem += " ";
+ m_editItem += ADMIN_SERVER;
+ }
+}