Ignore:
Timestamp:
Nov 14, 2012, 12:59:34 PM (13 years ago)
Author:
Silvan Scherrer
Message:

Samba Server: update vendor to 3.6.0

File:
1 edited

Legend:

Unmodified
Added
Removed
  • vendor/current/librpc/idl/security.idl

    r414 r740  
    3232interface security
    3333{
     34
     35        typedef bitmap lsa_SystemAccessModeFlags lsa_SystemAccessModeFlags;
    3436
    3537        typedef [public,gensize,noprint,nosize,nopull,nopush] struct {
     
    263265        const string SID_BUILTIN_REMOTE_DESKTOP_USERS   = "S-1-5-32-555";
    264266        const string SID_BUILTIN_NETWORK_CONF_OPERATORS = "S-1-5-32-556";
     267        const string SID_BUILTIN_INCOMING_FOREST_TRUST  = "S-1-5-32-557";
     268        const string SID_BUILTIN_PERFMON_USERS          = "S-1-5-32-558";
     269        const string SID_BUILTIN_PERFLOG_USERS          = "S-1-5-32-559";
     270        const string SID_BUILTIN_AUTH_ACCESS            = "S-1-5-32-560";
     271        const string SID_BUILTIN_TS_LICENSE_SERVERS     = "S-1-5-32-561";
     272
     273        /* SECURITY_NT_SERVICE */
     274        const string NAME_NT_SERVICE            = "NT SERVICE";
     275
     276        const string SID_NT_NT_SERVICE          = "S-1-5-80";
     277        const string SID_NT_TRUSTED_INSTALLER =
     278                "S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464";
    265279
    266280        /* well-known domain RIDs */
    267         const int DOMAIN_RID_LOGON                 = 9;
    268         const int DOMAIN_RID_ADMINISTRATOR         = 500;
    269         const int DOMAIN_RID_GUEST                 = 501;
    270         const int DOMAIN_RID_KRBTGT                = 502;
    271         const int DOMAIN_RID_ADMINS                = 512;
    272         const int DOMAIN_RID_USERS                 = 513;
    273         const int DOMAIN_RID_GUESTS                = 514;
    274         const int DOMAIN_RID_DOMAIN_MEMBERS        = 515;
    275         const int DOMAIN_RID_DCS                   = 516;
    276         const int DOMAIN_RID_CERT_ADMINS           = 517;
    277         const int DOMAIN_RID_SCHEMA_ADMINS         = 518;
    278         const int DOMAIN_RID_ENTERPRISE_ADMINS     = 519;
    279         const int DOMAIN_RID_POLICY_ADMINS         = 520;
    280 
    281 
    282         /*
    283           privilege IDs. Please keep the IDs below 64. If we get more
    284           than 64 then we need to change security_token
    285         */
     281        const int DOMAIN_RID_LOGON                   = 9;
     282        const int DOMAIN_RID_ENTERPRISE_READONLY_DCS = 498;
     283        const int DOMAIN_RID_ADMINISTRATOR           = 500;
     284        const int DOMAIN_RID_GUEST                   = 501;
     285        const int DOMAIN_RID_KRBTGT                  = 502;
     286        const int DOMAIN_RID_ADMINS                  = 512;
     287        const int DOMAIN_RID_USERS                   = 513;
     288        const int DOMAIN_RID_GUESTS                  = 514;
     289        const int DOMAIN_RID_DOMAIN_MEMBERS          = 515;
     290        const int DOMAIN_RID_DCS                     = 516;
     291        const int DOMAIN_RID_CERT_ADMINS             = 517;
     292        const int DOMAIN_RID_SCHEMA_ADMINS           = 518;
     293        const int DOMAIN_RID_ENTERPRISE_ADMINS       = 519;
     294        const int DOMAIN_RID_POLICY_ADMINS           = 520;
     295        const int DOMAIN_RID_READONLY_DCS            = 521;
     296        const int DOMAIN_RID_RAS_SERVERS             = 553;
     297        const int DOMAIN_RID_RODC_ALLOW              = 571;
     298        const int DOMAIN_RID_RODC_DENY               = 572;
     299
     300        /* well-known builtin RIDs */
     301        const int BUILTIN_RID_ADMINISTRATORS            = 544;
     302        const int BUILTIN_RID_USERS                     = 545;
     303        const int BUILTIN_RID_GUESTS                    = 546;
     304        const int BUILTIN_RID_POWER_USERS               = 547;
     305        const int BUILTIN_RID_ACCOUNT_OPERATORS         = 548;
     306        const int BUILTIN_RID_SERVER_OPERATORS          = 549;
     307        const int BUILTIN_RID_PRINT_OPERATORS           = 550;
     308        const int BUILTIN_RID_BACKUP_OPERATORS          = 551;
     309        const int BUILTIN_RID_REPLICATOR                = 552;
     310        const int BUILTIN_RID_RAS_SERVERS               = 553;
     311        const int BUILTIN_RID_PRE_2K_ACCESS             = 554;
     312        const int BUILTIN_RID_REMOTE_DESKTOP_USERS      = 555;
     313        const int BUILTIN_RID_NETWORK_CONF_OPERATORS    = 556;
     314        const int BUILTIN_RID_INCOMING_FOREST_TRUST     = 557;
     315        const int BUILTIN_RID_PERFMON_USERS             = 558;
     316        const int BUILTIN_RID_PERFLOG_USERS             = 559;
     317        const int BUILTIN_RID_AUTH_ACCESS               = 560;
     318        const int BUILTIN_RID_TS_LICENSE_SERVERS        = 561;
     319
     320/********************************************************************
     321 This is a list of privileges reported by a WIndows 2008 R2 DC
     322 just for reference purposes (and I know the LUID is not guaranteed
     323 across reboots):
     324
     3250x00000002          SeCreateTokenPrivilege "Create a token object"
     3260x00000003   SeAssignPrimaryTokenPrivilege "Replace a process level token"
     3270x00000004           SeLockMemoryPrivilege "Lock pages in memory"
     3280x00000005        SeIncreaseQuotaPrivilege "Adjust memory quotas for a process"
     3290x00000006       SeMachineAccountPrivilege "Add workstations to domain"
     3300x00000007                  SeTcbPrivilege "Act as part of the operating system"
     3310x00000008             SeSecurityPrivilege "Manage auditing and security log"
     3320x00000009        SeTakeOwnershipPrivilege "Take ownership of files or other objects"
     3330x0000000a           SeLoadDriverPrivilege "Load and unload device drivers"
     3340x0000000b        SeSystemProfilePrivilege "Profile system performance"
     3350x0000000c           SeSystemtimePrivilege "Change the system time"
     3360x0000000d SeProfileSingleProcessPrivilege "Profile single process"
     3370x0000000e SeIncreaseBasePriorityPrivilege "Increase scheduling priority"
     3380x0000000f       SeCreatePagefilePrivilege "Create a pagefile"
     3390x00000010      SeCreatePermanentPrivilege "Create permanent shared objects"
     3400x00000011               SeBackupPrivilege "Back up files and directories"
     3410x00000012              SeRestorePrivilege "Restore files and directories"
     3420x00000013             SeShutdownPrivilege "Shut down the system"
     3430x00000014                SeDebugPrivilege "Debug programs"
     3440x00000015                SeAuditPrivilege "Generate security audits"
     3450x00000016    SeSystemEnvironmentPrivilege "Modify firmware environment values"
     3460x00000017         SeChangeNotifyPrivilege "Bypass traverse checking"
     3470x00000018       SeRemoteShutdownPrivilege "Force shutdown from a remote system"
     3480x00000019               SeUndockPrivilege "Remove computer from docking station"
     3490x0000001a            SeSyncAgentPrivilege "Synchronize directory service data"
     3500x0000001b     SeEnableDelegationPrivilege "Enable computer and user accounts to be trusted for delegation"
     3510x0000001c         SeManageVolumePrivilege "Perform volume maintenance tasks"
     3520x0000001d          SeImpersonatePrivilege "Impersonate a client after authentication"
     3530x0000001e         SeCreateGlobalPrivilege "Create global objects"
     3540x0000001f SeTrustedCredManAccessPrivilege "Access Credential Manager as a trusted caller"
     3550x00000020              SeRelabelPrivilege "Modify an object label"
     3560x00000021   SeIncreaseWorkingSetPrivilege "Increase a process working set"
     3570x00000022             SeTimeZonePrivilege "Change the time zone"
     3580x00000023   SeCreateSymbolicLinkPrivilege "Create symbolic links"
     359
     360 ********************************************************************/
     361
     362        /* LUID values for privileges known about by Samba (bottom 32 bits of enum, top bits are 0) */
     363
     364        /* we have to define the LUID here due to a horrible check by printmig.exe
     365           that requires the SeBackupPrivilege match what is in Windows.  So match
     366           those that we implement and start Samba privileges at 0x1001 */
     367
    286368        typedef enum {
    287                 SEC_PRIV_SECURITY                  = 1,
    288                 SEC_PRIV_BACKUP                    = 2,
    289                 SEC_PRIV_RESTORE                   = 3,
    290                 SEC_PRIV_SYSTEMTIME                = 4,
    291                 SEC_PRIV_SHUTDOWN                  = 5,
    292                 SEC_PRIV_REMOTE_SHUTDOWN           = 6,
    293                 SEC_PRIV_TAKE_OWNERSHIP            = 7,
    294                 SEC_PRIV_DEBUG                     = 8,
    295                 SEC_PRIV_SYSTEM_ENVIRONMENT        = 9,
    296                 SEC_PRIV_SYSTEM_PROFILE            = 10,
    297                 SEC_PRIV_PROFILE_SINGLE_PROCESS    = 11,
    298                 SEC_PRIV_INCREASE_BASE_PRIORITY    = 12,
    299                 SEC_PRIV_LOAD_DRIVER               = 13,
    300                 SEC_PRIV_CREATE_PAGEFILE           = 14,
    301                 SEC_PRIV_INCREASE_QUOTA            = 15,
    302                 SEC_PRIV_CHANGE_NOTIFY             = 16,
    303                 SEC_PRIV_UNDOCK                    = 17,
    304                 SEC_PRIV_MANAGE_VOLUME             = 18,
    305                 SEC_PRIV_IMPERSONATE               = 19,
    306                 SEC_PRIV_CREATE_GLOBAL             = 20,
    307                 SEC_PRIV_ENABLE_DELEGATION         = 21,
    308                 SEC_PRIV_INTERACTIVE_LOGON         = 22,
    309                 SEC_PRIV_NETWORK_LOGON             = 23,
    310                 SEC_PRIV_REMOTE_INTERACTIVE_LOGON  = 24,
    311                 SEC_PRIV_MACHINE_ACCOUNT           = 25
     369                SEC_PRIV_INVALID                   = 0x0,
     370                SEC_PRIV_INCREASE_QUOTA            = 0x5,
     371                SEC_PRIV_MACHINE_ACCOUNT           = 0x6,
     372                SEC_PRIV_SECURITY                  = 0x8,
     373                SEC_PRIV_TAKE_OWNERSHIP            = 0x09,
     374                SEC_PRIV_LOAD_DRIVER               = 0x0a,
     375                SEC_PRIV_SYSTEM_PROFILE            = 0x0b,
     376                SEC_PRIV_SYSTEMTIME                = 0x0c,
     377                SEC_PRIV_PROFILE_SINGLE_PROCESS    = 0x0d,
     378                SEC_PRIV_INCREASE_BASE_PRIORITY    = 0x0e,
     379                SEC_PRIV_CREATE_PAGEFILE           = 0x0f,
     380                SEC_PRIV_BACKUP                    = 0x11,
     381                SEC_PRIV_RESTORE                   = 0x12,
     382                SEC_PRIV_SHUTDOWN                  = 0x13,
     383                SEC_PRIV_DEBUG                     = 0x14,
     384                SEC_PRIV_SYSTEM_ENVIRONMENT        = 0x16,
     385                SEC_PRIV_CHANGE_NOTIFY             = 0x17,
     386                SEC_PRIV_REMOTE_SHUTDOWN           = 0x18,
     387                SEC_PRIV_UNDOCK                    = 0x19,
     388                SEC_PRIV_ENABLE_DELEGATION         = 0x1b,
     389                SEC_PRIV_MANAGE_VOLUME             = 0x1c,
     390                SEC_PRIV_IMPERSONATE               = 0x1d,
     391                SEC_PRIV_CREATE_GLOBAL             = 0x1e,
     392                /* Samba-specific privs */
     393                SEC_PRIV_PRINT_OPERATOR            = 0x1001,
     394                SEC_PRIV_ADD_USERS                 = 0x1002,
     395                SEC_PRIV_DISK_OPERATOR             = 0x1003
    312396        } sec_privilege;
    313397
     398
     399        /* Bitmap of privilege values for internal use only.  We need
     400         * our own bitmap here as privilages.tdb records these values
     401         * as a bitmap (privilages.ldb uses the string forms).
     402         */
     403        typedef [bitmap64bit] bitmap {
     404                SEC_PRIV_MACHINE_ACCOUNT_BIT            = 0x00000010,
     405
     406                /* Samba-specific privs */
     407                SEC_PRIV_PRINT_OPERATOR_BIT             = 0x00000020,
     408                SEC_PRIV_ADD_USERS_BIT                  = 0x00000040,
     409                SEC_PRIV_DISK_OPERATOR_BIT              = 0x00000080,
     410
     411                SEC_PRIV_REMOTE_SHUTDOWN_BIT            = 0x00000100,
     412                SEC_PRIV_BACKUP_BIT                     = 0x00000200,
     413                SEC_PRIV_RESTORE_BIT                    = 0x00000400,
     414                SEC_PRIV_TAKE_OWNERSHIP_BIT             = 0x00000800,
     415                /* End of privilages implemented before merge to common code */
     416
     417                SEC_PRIV_INCREASE_QUOTA_BIT               = 0x00001000,
     418                SEC_PRIV_SECURITY_BIT                     = 0x00002000,
     419                SEC_PRIV_LOAD_DRIVER_BIT                  = 0x00004000,
     420                SEC_PRIV_SYSTEM_PROFILE_BIT               = 0x00008000,
     421                SEC_PRIV_SYSTEMTIME_BIT                   = 0x00010000,
     422                SEC_PRIV_PROFILE_SINGLE_PROCESS_BIT       = 0x00020000,
     423                SEC_PRIV_INCREASE_BASE_PRIORITY_BIT       = 0x00040000,
     424                SEC_PRIV_CREATE_PAGEFILE_BIT              = 0x00080000,
     425                SEC_PRIV_SHUTDOWN_BIT                     = 0x00100000,
     426                SEC_PRIV_DEBUG_BIT                        = 0x00200000,
     427                SEC_PRIV_SYSTEM_ENVIRONMENT_BIT           = 0x00400000,
     428                SEC_PRIV_CHANGE_NOTIFY_BIT                = 0x00800000,
     429                SEC_PRIV_UNDOCK_BIT                       = 0x01000000,
     430                SEC_PRIV_ENABLE_DELEGATION_BIT            = 0x02000000,
     431                SEC_PRIV_MANAGE_VOLUME_BIT                = 0x04000000,
     432                SEC_PRIV_IMPERSONATE_BIT                  = 0x08000000,
     433                SEC_PRIV_CREATE_GLOBAL_BIT                = 0x10000000
     434        } se_privilege;
     435
     436        typedef [bitmap32bit] bitmap {
     437                LSA_POLICY_MODE_INTERACTIVE             = 0x00000001,
     438                LSA_POLICY_MODE_NETWORK                 = 0x00000002,
     439                LSA_POLICY_MODE_BATCH                   = 0x00000004,
     440                LSA_POLICY_MODE_SERVICE                 = 0x00000010,
     441                LSA_POLICY_MODE_PROXY                   = 0x00000020,
     442                LSA_POLICY_MODE_DENY_INTERACTIVE        = 0x00000040,
     443                LSA_POLICY_MODE_DENY_NETWORK            = 0x00000080,
     444                LSA_POLICY_MODE_DENY_BATCH              = 0x00000100,
     445                LSA_POLICY_MODE_DENY_SERVICE            = 0x00000200,
     446                LSA_POLICY_MODE_REMOTE_INTERACTIVE      = 0x00000400,
     447                LSA_POLICY_MODE_DENY_REMOTE_INTERACTIVE = 0x00000800,
     448                LSA_POLICY_MODE_ALL                     = 0x00000FF7,
     449                LSA_POLICY_MODE_ALL_NT4                 = 0x00000037
     450        } lsa_SystemAccessModeFlags;
    314451
    315452        typedef [public,bitmap8bit] bitmap {
     
    372509                security_ace_type type;  /* SEC_ACE_TYPE_* */
    373510                security_ace_flags flags; /* SEC_ACE_FLAG_* */
    374                 [value(ndr_size_security_ace(r,ndr->iconv_convenience,ndr->flags))] uint16 size;
     511                [value(ndr_size_security_ace(r,ndr->flags))] uint16 size;
    375512                uint32 access_mask;
    376513                [switch_is(type)] security_ace_object_ctr object;
     
    387524        typedef [public,gensize,nosize] struct {
    388525                security_acl_revision revision;
    389                 [value(ndr_size_security_acl(r,ndr->iconv_convenience,ndr->flags))] uint16 size;
     526                [value(ndr_size_security_acl(r,ndr->flags))] uint16 size;
    390527                [range(0,1000)] uint32 num_aces;
    391528                security_ace aces[num_aces];
     
    429566
    430567        typedef [public] struct {
    431                 [range(0,0x40000),value(ndr_size_security_descriptor(sd,ndr->iconv_convenience,ndr->flags))] uint32 sd_size;
     568                [range(0,0x40000),value(ndr_size_security_descriptor(sd,ndr->flags))] uint32 sd_size;
    432569                [subcontext(4)] security_descriptor *sd;
    433570        } sec_desc_buf;
    434571
     572        /* This is not yet sent over the network, but is simply defined in IDL */
    435573        typedef [public] struct {
    436                 dom_sid *user_sid;
    437                 dom_sid *group_sid;
    438574                uint32 num_sids;
    439                 [size_is(num_sids)] dom_sid *sids[*];
    440                 udlong privilege_mask;
    441                 security_acl *default_dacl;
     575                [size_is(num_sids)] dom_sid sids[*];
     576                se_privilege privilege_mask;
     577                lsa_SystemAccessModeFlags rights_mask;
    442578        } security_token;
     579
     580        /* This is not yet sent over the network, but is simply defined in IDL */
     581        typedef [public] struct {
     582                uid_t uid;
     583                uid_t gid;
     584                uint32 ngroups;
     585                [size_is(ngroups)] gid_t groups[*];
     586        } security_unix_token;
    443587
    444588        /* bits that determine which parts of a security descriptor
     
    470614                SEC_GROUP_FROM_PARENT                = 0x00000010
    471615        } security_autoinherit;
     616
     617        /***************************************************************/
     618        /* Extended right guids */
     619
     620        const string GUID_DRS_ALLOCATE_RIDS           = "1abd7cf8-0a99-11d1-adbb-00c04fd8d5cd";
     621        const string GUID_DRS_CHANGE_DOMAIN_MASTER    = "014bf69c-7b3b-11d1-85f6-08002be74fab";
     622        const string GUID_DRS_CHANGE_INFR_MASTER      = "cc17b1fb-33d9-11d2-97d4-00c04fd8d5cd";
     623        const string GUID_DRS_CHANGE_PDC              = "bae50096-4752-11d1-9052-00c04fc2d4cf";
     624        const string GUID_DRS_CHANGE_RID_MASTER       = "d58d5f36-0a98-11d1-adbb-00c04fd8d5cd";
     625        const string GUID_DRS_CHANGE_SCHEMA_MASTER    = "e12b56b6-0a95-11d1-adbb-00c04fd8d5cd";
     626        const string GUID_DRS_GET_CHANGES             = "1131f6aa-9c07-11d1-f79f-00c04fc2dcd2";
     627        const string GUID_DRS_GET_ALL_CHANGES         = "1131f6ad-9c07-11d1-f79f-00c04fc2dcd2";
     628        const string GUID_DRS_GET_FILTERED_ATTRIBUTES = "89e95b76-444d-4c62-991a-0facbeda640c";
     629        const string GUID_DRS_MANAGE_TOPOLOGY         = "1131f6ac-9c07-11d1-f79f-00c04fc2dcd2";
     630        const string GUID_DRS_MONITOR_TOPOLOGY        = "f98340fb-7c5b-4cdb-a00b-2ebdfa115a96";
     631        const string GUID_DRS_REPL_SYNCRONIZE         = "1131f6ab-9c07-11d1-f79f-00c04fc2dcd2";
     632        const string GUID_DRS_RO_REPL_SECRET_SYNC     = "1131f6ae-9c07-11d1-f79f-00c04fc2dcd2";
     633        const string GUID_DRS_USER_CHANGE_PASSWORD    = "ab721a53-1e2f-11d0-9819-00aa0040529b";
     634        const string GUID_DRS_FORCE_CHANGE_PASSWORD   = "00299570-246d-11d0-a768-00aa006e0529";
     635
     636        /***************************************************************/
     637        /* validated writes guids */
     638        const string GUID_DRS_VALIDATE_SPN            = "f3a64788-5306-11d1-a9c5-0000f80367c1";
     639        const string GUID_DRS_SELF_MEMBERSHIP         = "bf9679c0-0de6-11d0-a285-00aa003049e2";
     640        const string GUID_DRS_DNS_HOST_NAME           = "72e39547-7b18-11d1-adef-00c04fd8d5cd";
     641        const string GUID_DRS_ADD_DNS_HOST_NAME       = "80863791-dbe9-4eb8-837e-7f0ab55d9ac7";
     642        const string GUID_DRS_BEHAVIOR_VERSION        = "d31a8757-2447-4545-8081-3bb610cacbf2";
     643
     644        /* A type to describe the mapping of generic access rights to object
     645           specific access rights. */
     646
     647        typedef struct {
     648                uint32 generic_read;
     649                uint32 generic_write;
     650                uint32 generic_execute;
     651                uint32 generic_all;
     652        } generic_mapping;
     653
     654        typedef struct {
     655                uint32 std_read;
     656                uint32 std_write;
     657                uint32 std_execute;
     658                uint32 std_all;
     659        } standard_mapping;
    472660}
Note: See TracChangeset for help on using the changeset viewer.