Leaked source code of windows server 2003
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.

177 lines
3.8 KiB

  1. /*++
  2. Copyright (c) 1994-1998 Microsoft Corporation
  3. Module Name :
  4. authent.cpp
  5. Abstract:
  6. WWW Authentication Dialog Definitions
  7. Author:
  8. Ronald Meijer (ronaldm)
  9. Project:
  10. Internet Services Manager
  11. Revision History:
  12. --*/
  13. #ifndef __SECCOM_H__
  14. #define __SECCOM_H__
  15. //{{AFX_INCLUDES()
  16. #include "certmap.h"
  17. #include "certauth.h"
  18. #include "certwiz.h"
  19. //}}AFX_INCLUDES
  20. class CSecCommDlg : public CDialog
  21. /*++
  22. Class Description:
  23. Authantication dialog
  24. Public Interface:
  25. CSecCommDlg : Constructor
  26. --*/
  27. {
  28. //
  29. // Construction
  30. //
  31. public:
  32. CSecCommDlg(
  33. IN LPCTSTR lpstrServerName, // For API name only
  34. IN LPCTSTR lpstrMetaPath, // For use in ocx only
  35. IN CString & strBasicDomain,
  36. IN DWORD & dwAuthFlags,
  37. IN CComAuthInfo * pAuthInfo,
  38. IN DWORD & dwAccessPermissions,
  39. IN BOOL fIsMasterInstance,
  40. IN BOOL fSSLSupported,
  41. IN BOOL fSSL128Supported,
  42. IN BOOL fU2Installed,
  43. IN CString & strCTLIdentifier,
  44. IN CString & strCTLStoreName,
  45. IN BOOL fEditCTLs,
  46. IN BOOL fIsLocal,
  47. IN CWnd * pParent = NULL OPTIONAL
  48. );
  49. ~CSecCommDlg();
  50. //
  51. // Dialog Data
  52. //
  53. public:
  54. CString m_strCTLIdentifier;
  55. CString m_strCTLStoreName;
  56. BOOL m_bCTLDirty;
  57. protected:
  58. //
  59. // Radio button values
  60. //
  61. enum
  62. {
  63. RADIO_NO_CERT,
  64. RADIO_ACCEPT_CERT,
  65. RADIO_REQ_CERT,
  66. };
  67. //{{AFX_DATA(CSecCommDlg)
  68. enum { IDD = IDD_SECURE_COMMUNICATIONS };
  69. int m_nRadioNoCert;
  70. BOOL m_fAccountMapping;
  71. BOOL m_fRequireSSL;
  72. BOOL m_fRequire128BitSSL;
  73. BOOL m_fEnableCtl;
  74. CString m_strCtl;
  75. CStatic m_static_CTLPrompt;
  76. CStatic m_static_CTLSeparator;
  77. CButton m_check_AccountMapping;
  78. CButton m_check_RequireSSL;
  79. CButton m_check_Require128BitSSL;
  80. CButton m_check_EnableDS;
  81. CButton m_check_EnableCtl;
  82. CButton m_button_EditCtl;
  83. CButton m_button_NewCtl;
  84. CCertmap m_ocx_ClientMappings;
  85. CComboBox m_combo_ctl;
  86. //}}AFX_DATA
  87. CButton m_radio_RequireCert;
  88. CButton m_radio_AcceptCert;
  89. CCertWiz m_ocx_CertificateAuthorities;
  90. //
  91. // Overrides
  92. //
  93. protected:
  94. //{{AFX_VIRTUAL(CSecCommDlg)
  95. protected:
  96. virtual void DoDataExchange(CDataExchange * pDX);
  97. //}}AFX_VIRTUAL
  98. //
  99. // Implementation
  100. //
  101. protected:
  102. //{{AFX_MSG(CSecCommDlg)
  103. virtual BOOL OnInitDialog();
  104. virtual void OnOK();
  105. afx_msg void OnCheckSslAccountMapping();
  106. afx_msg void OnCheckRequireSsl();
  107. afx_msg void OnRadioAcceptCert();
  108. afx_msg void OnRadioNoCert();
  109. afx_msg void OnRadioRequireCert();
  110. afx_msg void OnButtonEditCtl();
  111. afx_msg void OnCheckEnableCtl();
  112. afx_msg void OnButtonNewCtl();
  113. afx_msg void OnSelchangeComboCtl();
  114. afx_msg void OnDestroy();
  115. //}}AFX_MSG
  116. DECLARE_MESSAGE_MAP()
  117. void SetControlStates();
  118. private:
  119. BOOL AddCTLToList(PCCTL_CONTEXT pCTL, BOOL fSelect);
  120. PCCTL_CONTEXT CallCTLWizard(PCCTL_CONTEXT pCTLSrc);
  121. void InitializeCTLList();
  122. void CleanUpCTLList();
  123. HCERTSTORE m_hCTLStore;
  124. INT m_iLastUsedCert;
  125. DWORD & m_dwAuthFlags;
  126. CComAuthInfo * m_pAuthInfo;
  127. DWORD & m_dwAccessPermissions;
  128. DWORD m_dwInstance;
  129. BOOL m_fEditCTLs;
  130. BOOL m_fSSLEnabledOnServer;
  131. BOOL m_fSSLInstalledOnServer;
  132. BOOL m_fSSL128Supported;
  133. BOOL m_fU2Installed;
  134. BOOL m_fIsLocal;
  135. BOOL m_fIsMasterInstance;
  136. CString m_strServerName;
  137. CString m_strMetaPath;
  138. };
  139. #endif // __SECCOM_H__