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.

89 lines
2.4 KiB

  1. /*++
  2. Copyright (c) 1991-1996 Microsoft Corporation
  3. Module Name:
  4. nlsecure.h
  5. Abstract:
  6. Private header file to be included by Netlogon service modules that
  7. need to enforce security.
  8. Author:
  9. Cliff Van Dyke (CliffV) 22-Aug-1991
  10. Revision History:
  11. --*/
  12. //
  13. // nlsecure.c will #include this file with NLSECURE_ALLOCATE defined.
  14. // That will cause each of these variables to be allocated.
  15. //
  16. #ifdef NLSECURE_ALLOCATE
  17. #define EXTERN
  18. #else
  19. #define EXTERN extern
  20. #endif
  21. //-------------------------------------------------------------------//
  22. // //
  23. // Object specific access masks //
  24. // //
  25. //-------------------------------------------------------------------//
  26. //
  27. // ConfigurationInfo specific access masks
  28. //
  29. #define NETLOGON_UAS_LOGON_ACCESS 0x0001
  30. #define NETLOGON_UAS_LOGOFF_ACCESS 0x0002
  31. #define NETLOGON_CONTROL_ACCESS 0x0004
  32. #define NETLOGON_QUERY_ACCESS 0x0008
  33. #define NETLOGON_SERVICE_ACCESS 0x0010
  34. #define NETLOGON_FTINFO_ACCESS 0x0020
  35. #define NETLOGON_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | \
  36. NETLOGON_UAS_LOGON_ACCESS | \
  37. NETLOGON_UAS_LOGOFF_ACCESS | \
  38. NETLOGON_CONTROL_ACCESS | \
  39. NETLOGON_SERVICE_ACCESS | \
  40. NETLOGON_FTINFO_ACCESS | \
  41. NETLOGON_QUERY_ACCESS )
  42. //
  43. // Object type names for audit alarm tracking
  44. //
  45. #define NETLOGON_SERVICE_OBJECT TEXT("NetlogonService")
  46. //
  47. // Security descriptors of Netlogon Service objects to control user accesses.
  48. //
  49. EXTERN PSECURITY_DESCRIPTOR NlGlobalNetlogonSecurityDescriptor;
  50. //
  51. // Generic mapping for each Netlogon Service object object
  52. //
  53. EXTERN GENERIC_MAPPING NlGlobalNetlogonInfoMapping
  54. #ifdef NLSECURE_ALLOCATE
  55. = {
  56. STANDARD_RIGHTS_READ, // Generic read
  57. STANDARD_RIGHTS_WRITE, // Generic write
  58. STANDARD_RIGHTS_EXECUTE, // Generic execute
  59. NETLOGON_ALL_ACCESS // Generic all
  60. }
  61. #endif // NLSECURE_ALLOCATE
  62. ;
  63. NTSTATUS
  64. NlCreateNetlogonObjects(
  65. VOID
  66. );
  67. #undef EXTERN