Ignore:
Timestamp:
Nov 27, 2012, 4:43:17 PM (13 years ago)
Author:
Silvan Scherrer
Message:

Samba Server: updated trunk to 3.6.0

Location:
trunk/server
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/server

  • trunk/server/libds/common/flag_mapping.c

    r414 r745  
    55   Copyright (C) Stefan (metze) Metzmacher 2002
    66   Copyright (C) Andrew Tridgell 2004
     7   Copyright (C) Matthias Dieter Wallnöfer 2010
    78
    89   This program is free software; you can redistribute it and/or modify
     
    2324#include "librpc/gen_ndr/samr.h"
    2425#include "../libds/common/flags.h"
     26#include "flag_mapping.h"
    2527
    2628/*
     
    5052        { UF_DONT_REQUIRE_PREAUTH, ACB_DONT_REQUIRE_PREAUTH },
    5153        { UF_PASSWORD_EXPIRED, ACB_PW_EXPIRED },
    52         { UF_NO_AUTH_DATA_REQUIRED, ACB_NO_AUTH_DATA_REQD }
     54        { UF_NO_AUTH_DATA_REQUIRED, ACB_NO_AUTH_DATA_REQD },
     55        { UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION, ACB_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION },
     56        { UF_PARTIAL_SECRETS_ACCOUNT, ACB_PARTIAL_SECRETS_ACCOUNT },
     57        { UF_USE_AES_KEYS, ACB_USE_AES_KEYS }
    5358};
    5459
    5560uint32_t ds_acb2uf(uint32_t acb)
    5661{
    57         uint32_t i, ret = 0;
     62        unsigned int i;
     63        uint32_t ret = 0;
    5864        for (i=0;i<ARRAY_SIZE(acct_flags_map);i++) {
    5965                if (acct_flags_map[i].acb & acb) {
     
    6975uint32_t ds_uf2acb(uint32_t uf)
    7076{
    71         uint32_t i;
     77        unsigned int i;
    7278        uint32_t ret = 0;
    7379        for (i=0;i<ARRAY_SIZE(acct_flags_map);i++) {
     
    145151        return SID_NAME_UNKNOWN;
    146152}
     153
     154/* get the default primary group RID for a given userAccountControl
     155 * (information according to MS-SAMR 3.1.1.8.1) */
     156uint32_t ds_uf2prim_group_rid(uint32_t uf)
     157{
     158        uint32_t prim_group_rid = DOMAIN_RID_USERS;
     159
     160        if ((uf & UF_PARTIAL_SECRETS_ACCOUNT)
     161         && (uf & UF_WORKSTATION_TRUST_ACCOUNT))    prim_group_rid = DOMAIN_RID_READONLY_DCS;
     162        else if (uf & UF_SERVER_TRUST_ACCOUNT)      prim_group_rid = DOMAIN_RID_DCS;
     163        else if (uf & UF_WORKSTATION_TRUST_ACCOUNT) prim_group_rid = DOMAIN_RID_DOMAIN_MEMBERS;
     164
     165        return prim_group_rid;
     166}
Note: See TracChangeset for help on using the changeset viewer.