Ignore:
Timestamp:
Mar 12, 2008, 9:08:18 AM (17 years ago)
Author:
Paul Smedley
Message:

Update source to 3.0.28a

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/samba-3.0/source/passdb/lookup_sid.c

    r39 r124  
    6161        }
    6262
    63         DEBUG(10,("lookup_name: %s => %s (domain), %s (name)\n",
    64                 full_name, domain, name));
    65 
    6663        if ((domain == NULL) || (name == NULL)) {
    6764                DEBUG(0, ("talloc failed\n"));
     
    7067        }
    7168
    72         if (strequal(domain, get_global_sam_name())) {
     69        DEBUG(10,("lookup_name: %s => %s (domain), %s (name)\n",
     70                full_name, domain, name));
     71        DEBUG(10, ("lookup_name: flags = 0x0%x\n", flags));
     72
     73        if ((flags & LOOKUP_NAME_DOMAIN) &&
     74            strequal(domain, get_global_sam_name()))
     75        {
    7376
    7477                /* It's our own domain, lookup the name in passdb */
     
    8285        }
    8386
    84         if (strequal(domain, builtin_domain_name())) {
    85 
     87        if ((flags & LOOKUP_NAME_BUILTIN) &&
     88            strequal(domain, builtin_domain_name()))
     89        {
    8690                /* Explicit request for a name in BUILTIN */
    8791                if (lookup_builtin_name(name, &rid)) {
     
    99103
    100104        if ((domain[0] != '\0') &&
     105            (flags & ~(LOOKUP_NAME_DOMAIN|LOOKUP_NAME_ISOLATED)) &&
    101106            (winbind_lookup_name(domain, name, &sid, &type))) {
    102107                        goto ok;
     
    133138        /* 1. well-known names */
    134139
    135         if (lookup_wellknown_name(tmp_ctx, name, &sid, &domain)) {
     140        if ((flags & LOOKUP_NAME_WKN) &&
     141            lookup_wellknown_name(tmp_ctx, name, &sid, &domain))
     142        {
    136143                type = SID_NAME_WKN_GRP;
    137144                goto ok;
     
    140147        /* 2. Builtin domain as such */
    141148
    142         if (strequal(name, builtin_domain_name())) {
     149        if ((flags & (LOOKUP_NAME_BUILTIN|LOOKUP_NAME_REMOTE)) &&
     150            strequal(name, builtin_domain_name()))
     151        {
    143152                /* Swap domain and name */
    144153                tmp = name; name = domain; domain = tmp;
     
    150159        /* 3. Account domain */
    151160
    152         if (strequal(name, get_global_sam_name())) {
     161        if ((flags & LOOKUP_NAME_DOMAIN) &&
     162            strequal(name, get_global_sam_name()))
     163        {
    153164                if (!secrets_fetch_domain_sid(name, &sid)) {
    154165                        DEBUG(3, ("Could not fetch my SID\n"));
     
    164175        /* 4. Primary domain */
    165176
    166         if (!IS_DC && strequal(name, lp_workgroup())) {
     177        if ((flags & LOOKUP_NAME_DOMAIN) && !IS_DC &&
     178            strequal(name, lp_workgroup()))
     179        {
    167180                if (!secrets_fetch_domain_sid(name, &sid)) {
    168181                        DEBUG(3, ("Could not fetch the domain SID\n"));
     
    179192              this, tested an XP workstation in a NT domain -- vl */
    180193
    181         if (IS_DC && (secrets_fetch_trusted_domain_password(name, NULL,
    182                                                             &sid, NULL))) {
     194        if ((flags & LOOKUP_NAME_REMOTE) && IS_DC &&
     195            (secrets_fetch_trusted_domain_password(name, NULL, &sid, NULL)))
     196        {
    183197                /* Swap domain and name */
    184198                tmp = name; name = domain; domain = tmp;
     
    189203        /* 6. Builtin aliases */       
    190204
    191         if (lookup_builtin_name(name, &rid)) {
     205        if ((flags & LOOKUP_NAME_BUILTIN) &&
     206            lookup_builtin_name(name, &rid))
     207        {
    192208                domain = talloc_strdup(tmp_ctx, builtin_domain_name());
    193209                sid_copy(&sid, &global_sid_Builtin);
     
    202218        /* Both cases are done by looking at our passdb */
    203219
    204         if (lookup_global_sam_name(name, flags, &rid, &type)) {
     220        if ((flags & LOOKUP_NAME_DOMAIN) &&
     221            lookup_global_sam_name(name, flags, &rid, &type))
     222        {
    205223                domain = talloc_strdup(tmp_ctx, get_global_sam_name());
    206224                sid_copy(&sid, get_global_sam_sid());
Note: See TracChangeset for help on using the changeset viewer.