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.

132 lines
2.5 KiB

  1. #ifndef __SSLCONFIGPROV__HXX_
  2. #define __SSLCONFIGPROV__HXX_
  3. /*++
  4. Copyright (c) 2001 Microsoft Corporation
  5. Module Name :
  6. sslconfigprovserver.cxx
  7. Abstract:
  8. SSL CONFIG PROV server
  9. Listens to commands sent from clients and executes
  10. SSL parameter lookups in the metabase
  11. Author:
  12. Jaroslav Dunajsky April-24-2001
  13. Environment:
  14. Win32 - User Mode
  15. Project:
  16. Stream Filter Worker Process
  17. --*/
  18. #include <sslconfigcommon.hxx>
  19. #include <sslconfigpipe.hxx>
  20. class SSL_CONFIG_PROV_SERVER: protected SSL_CONFIG_PIPE
  21. {
  22. public:
  23. SSL_CONFIG_PROV_SERVER()
  24. :
  25. SSL_CONFIG_PIPE(),
  26. _pAdminBase( NULL ),
  27. _InitStatus( INIT_NONE )
  28. {
  29. }
  30. ~SSL_CONFIG_PROV_SERVER()
  31. {
  32. }
  33. HRESULT
  34. Initialize(
  35. VOID
  36. );
  37. HRESULT
  38. Terminate(
  39. VOID
  40. );
  41. protected:
  42. virtual
  43. HRESULT
  44. PipeListener(
  45. VOID
  46. );
  47. virtual
  48. BOOL
  49. QueryEnablePipeListener(
  50. VOID
  51. )
  52. {
  53. //
  54. // enable launching PipeListener() on private thread
  55. // during Initialize() call
  56. //
  57. return TRUE;
  58. }
  59. HRESULT
  60. SendOneSiteSecureBindings(
  61. IN DWORD dwSiteId,
  62. OPTIONAL IN BOOL fNoResponseOnError = FALSE,
  63. OPTIONAL IN MB * pMb = NULL
  64. );
  65. HRESULT
  66. SendAllSitesSecureBindings(
  67. VOID
  68. );
  69. HRESULT
  70. SendSiteSslConfiguration(
  71. IN DWORD dwSiteId
  72. );
  73. static
  74. HRESULT
  75. ReadMetabaseString(
  76. IN MB * pMb,
  77. IN WCHAR * pszPath,
  78. IN DWORD dwPropId,
  79. IN DWORD cchMetabaseString,
  80. OUT WCHAR * pszMetabaseString
  81. );
  82. static
  83. HRESULT
  84. ReadMetabaseBinary(
  85. IN MB * pMb,
  86. IN WCHAR * pszPath,
  87. IN DWORD dwPropId,
  88. IN OUT DWORD * pcbMetabaseBinary,
  89. OUT BYTE * pbMetabaseBinary
  90. );
  91. private:
  92. SSL_CONFIG_PROV_SERVER( const SSL_CONFIG_PROV_SERVER& );
  93. SSL_CONFIG_PROV_SERVER& operator=( const SSL_CONFIG_PROV_SERVER& );
  94. enum INIT_STATUS
  95. {
  96. INIT_NONE,
  97. INIT_METABASE,
  98. INIT_CONFIG_PIPE
  99. };
  100. INIT_STATUS _InitStatus;
  101. // access to metabase
  102. IMSAdminBase * _pAdminBase;
  103. };
  104. #endif