Ignore:
Timestamp:
May 27, 2009, 12:08:58 PM (16 years ago)
Author:
Herwig Bauernfeind
Message:

Update 3.2 branch to 3.2.11

Location:
branches/samba-3.2.x/source
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • branches/samba-3.2.x/source/VERSION

    r234 r235  
    2626SAMBA_VERSION_MAJOR=3
    2727SAMBA_VERSION_MINOR=2
    28 SAMBA_VERSION_RELEASE=10
     28SAMBA_VERSION_RELEASE=11
    2929
    3030########################################################
  • branches/samba-3.2.x/source/include/rpc_secdes.h

    r133 r235  
    225225#define SA_RIGHT_SAM_CREATE_DOMAIN      0x00000008
    226226#define SA_RIGHT_SAM_ENUM_DOMAINS       0x00000010
    227 #define SA_RIGHT_SAM_OPEN_DOMAIN        0x00000020
     227#define SA_RIGHT_SAM_LOOKUP_DOMAIN      0x00000020
    228228
    229229#define SA_RIGHT_SAM_ALL_ACCESS         0x0000003F
     
    245245#define GENERIC_RIGHTS_SAM_EXECUTE \
    246246                (STANDARD_RIGHTS_EXECUTE_ACCESS | \
    247                 SA_RIGHT_SAM_OPEN_DOMAIN        | \
     247                SA_RIGHT_SAM_LOOKUP_DOMAIN      | \
    248248                SA_RIGHT_SAM_CONNECT_SERVER)           
    249249
  • branches/samba-3.2.x/source/include/version.h

    r234 r235  
    22#define SAMBA_VERSION_MAJOR 3
    33#define SAMBA_VERSION_MINOR 2
    4 #define SAMBA_VERSION_RELEASE 10
    5 #define SAMBA_VERSION_OFFICIAL_STRING "3.2.10"
     4#define SAMBA_VERSION_RELEASE 11
     5#define SAMBA_VERSION_OFFICIAL_STRING "3.2.11"
    66#define SAMBA_VERSION_STRING samba_version_string()
  • branches/samba-3.2.x/source/lib/smbconf/smbconf_reg.c

    r133 r235  
    266266            lp_parameter_is_global(valname))
    267267        {
    268                 DEBUG(5, ("Global paramter '%s' not allowed in "
     268                DEBUG(5, ("Global parameter '%s' not allowed in "
    269269                          "service definition ('%s').\n", canon_valname,
    270270                          subkeyname));
  • branches/samba-3.2.x/source/libgpo/gpo_ldap.c

    r133 r235  
    454454
    455455/****************************************************************
    456  get a GROUP_POLICY_OBJECT structure based on different input paramters
     456 get a GROUP_POLICY_OBJECT structure based on different input parameters
    457457****************************************************************/
    458458
  • branches/samba-3.2.x/source/libsmb/cliconnect.c

    r232 r235  
    10971097        }
    10981098
    1099         cli->cnum = -1;
     1099        cli->vuid = -1;
    11001100        return True;
    11011101}
  • branches/samba-3.2.x/source/param/loadparm.c

    r232 r235  
    864864/* Note: We do not initialise the defaults union - it is not allowed in ANSI C
    865865 *
    866  * The FLAG_HIDE is explicit. Paramters set this way do NOT appear in any edit
     866 * The FLAG_HIDE is explicit. Parameters set this way do NOT appear in any edit
    867867 * screen in SWAT. This is used to exclude parameters as well as to squash all
    868868 * parameters that have been duplicated by pseudonyms.
     
    873873 *        respective views.
    874874 *
    875  * NOTE2: Handling of duplicated (synonym) paramters:
     875 * NOTE2: Handling of duplicated (synonym) parameters:
    876876 *      Only the first occurance of a parameter should be enabled by FLAG_BASIC
    877877 *      and/or FLAG_ADVANCED. All duplicates following the first mention should be
     
    45354535                string_set(&pService->szLprmcommand, "vlp lprm %p %j");
    45364536                string_set(&pService->szLppausecommand, "vlp lppause %p %j");
    4537                 string_set(&pService->szLpresumecommand, "vlp lpresum %p %j");
     4537                string_set(&pService->szLpresumecommand, "vlp lpresume %p %j");
    45384538                string_set(&pService->szQueuepausecommand, "vlp queuepause %p");
    45394539                string_set(&pService->szQueueresumecommand, "vlp queueresume %p");
  • branches/samba-3.2.x/source/passdb/pdb_tdb.c

    r234 r235  
    14071407                           int flag)
    14081408{
    1409         if (!pdb_get_user_rid(newpwd)) {
     1409        uint32_t oldrid;
     1410        uint32_t newrid;
     1411
     1412        if (!(newrid = pdb_get_user_rid(newpwd))) {
    14101413                DEBUG(0,("tdb_update_sam: struct samu (%s) with no RID!\n",
    14111414                         pdb_get_username(newpwd)));
     
    14131416        }
    14141417
     1418        oldrid = newrid;
     1419
    14151420        /* open the database */
    14161421
     
    14251430        }
    14261431
    1427         if (!tdb_update_samacct_only(newpwd, flag)
    1428             || !tdb_update_ridrec_only(newpwd, flag)) {
     1432        /* If we are updating, we may be changing this users RID. Retrieve the old RID
     1433           so we can check. */
     1434
     1435        if (flag == TDB_MODIFY) {
     1436                struct samu *account = samu_new(talloc_tos());
     1437                if (account == NULL) {
     1438                        DEBUG(0,("tdb_update_sam: samu_new() failed\n"));
     1439                        goto cancel;
     1440                }
     1441                if (!NT_STATUS_IS_OK(tdbsam_getsampwnam(my_methods, account, pdb_get_username(newpwd)))) {
     1442                        DEBUG(0,("tdb_update_sam: tdbsam_getsampwnam() for %s failed\n",
     1443                                pdb_get_username(newpwd)));
     1444                        TALLOC_FREE(account);
     1445                        goto cancel;
     1446                }
     1447                if (!(oldrid = pdb_get_user_rid(account))) {
     1448                        DEBUG(0,("tdb_update_sam: pdb_get_user_rid() failed\n"));
     1449                        TALLOC_FREE(account);
     1450                        goto cancel;
     1451                }
     1452                TALLOC_FREE(account);
     1453        }
     1454
     1455        /* Update the new samu entry. */
     1456        if (!tdb_update_samacct_only(newpwd, flag)) {
    14291457                goto cancel;
     1458        }
     1459
     1460        /* Now take care of the case where the RID changed. We need
     1461         * to delete the old RID key and add the new. */
     1462
     1463        if (flag == TDB_MODIFY && newrid != oldrid) {
     1464                fstring keystr;
     1465
     1466                /* Delete old RID key */
     1467                DEBUG(10, ("tdb_update_sam: Deleting key for RID %u\n", oldrid));
     1468                slprintf(keystr, sizeof(keystr) - 1, "%s%.8x", RIDPREFIX, oldrid);
     1469                if (!NT_STATUS_IS_OK(dbwrap_delete_bystring(db_sam, keystr))) {
     1470                        DEBUG(0, ("tdb_update_sam: Can't delete %s\n", keystr));
     1471                        goto cancel;
     1472                }
     1473                /* Insert new RID key */
     1474                DEBUG(10, ("tdb_update_sam: Inserting key for RID %u\n", newrid));
     1475                if (!tdb_update_ridrec_only(newpwd, TDB_INSERT)) {
     1476                        goto cancel;
     1477                }
     1478        } else {
     1479                DEBUG(10, ("tdb_update_sam: %s key for RID %u\n",
     1480                        flag == TDB_MODIFY ? "Updating" : "Inserting", newrid));
     1481                if (!tdb_update_ridrec_only(newpwd, flag)) {
     1482                        goto cancel;
     1483                }
    14301484        }
    14311485
  • branches/samba-3.2.x/source/popt/popt.h

    r133 r235  
    8484#define POPT_ERROR_BADOPT       -11     /*!< unknown option */
    8585#define POPT_ERROR_OPTSTOODEEP  -13     /*!< aliases nested too deeply */
    86 #define POPT_ERROR_BADQUOTE     -15     /*!< error in paramter quoting */
     86#define POPT_ERROR_BADQUOTE     -15     /*!< error in parameter quoting */
    8787#define POPT_ERROR_ERRNO        -16     /*!< errno set, use strerror(errno) */
    8888#define POPT_ERROR_BADNUMBER    -17     /*!< invalid numeric value */
  • branches/samba-3.2.x/source/rpc_server/srv_lsa_nt.c

    r233 r235  
    831831                                           &mapped_count);
    832832
    833         if (NT_STATUS_IS_ERR(status)) {
     833        /* Only return here when there is a real error.
     834           NT_STATUS_NONE_MAPPED is a special case as it indicates that none of
     835           the requested sids could be resolved. Older versions of XP (pre SP3)
     836           rely that we return with the string representations of those SIDs in
     837           that case. If we don't, XP crashes - Guenther
     838           */
     839
     840        if (NT_STATUS_IS_ERR(status) &&
     841            !NT_STATUS_EQUAL(status, NT_STATUS_NONE_MAPPED)) {
    834842                return status;
    835843        }
  • branches/samba-3.2.x/source/rpc_server/srv_samr_nt.c

    r233 r235  
    621621                return NT_STATUS_INVALID_HANDLE;
    622622
    623         status = access_check_samr_function(info->acc_granted,
    624                                             SA_RIGHT_SAM_OPEN_DOMAIN,
    625                                             "_samr_OpenDomain" );
    626 
    627         if ( !NT_STATUS_IS_OK(status) )
    628                 return status;
    629 
    630623        /*check if access can be granted as requested by client. */
    631624        map_max_allowed_access(p->pipe_user.nt_user_token, &des_access);
     
    29582951
    29592952        status = access_check_samr_function(info->acc_granted,
    2960                                             SA_RIGHT_SAM_OPEN_DOMAIN,
     2953                                            SA_RIGHT_SAM_LOOKUP_DOMAIN,
    29612954                                            "_samr_QueryDomainInfo" );
    29622955
     
    33583351
    33593352        se_map_generic( &des_access, &sam_generic_mapping );
    3360         info->acc_granted = des_access & (SA_RIGHT_SAM_ENUM_DOMAINS|SA_RIGHT_SAM_OPEN_DOMAIN);
     3353        info->acc_granted = des_access & (SA_RIGHT_SAM_ENUM_DOMAINS|SA_RIGHT_SAM_LOOKUP_DOMAIN);
    33613354
    33623355        /* get a (unique) handle.  open a policy on it. */
     
    35453538
    35463539        status = access_check_samr_function(info->acc_granted,
    3547                                             SA_RIGHT_SAM_OPEN_DOMAIN,
     3540                                            SA_RIGHT_SAM_LOOKUP_DOMAIN,
    35483541                                            "_samr_LookupDomain");
    35493542        if (!NT_STATUS_IS_OK(status)) {
  • branches/samba-3.2.x/source/smbd/ipc.c

    r205 r235  
    659659        }
    660660
     661        talloc_steal(talloc_tos(), state);
     662
    661663        handle_trans(conn, req, state);
    662664
     
    788790        SCVAL(req->inbuf,smb_com,SMBtrans);
    789791
     792        talloc_steal(talloc_tos(), state);
     793
    790794        handle_trans(conn, req, state);
    791795
  • branches/samba-3.2.x/source/smbd/notify.c

    r228 r235  
    232232                     fsp->fsp_name) == -1) {
    233233                DEBUG(0, ("asprintf failed\n"));
     234                TALLOC_FREE(fsp->notify);
    234235                return NT_STATUS_NO_MEMORY;
    235236        }
  • branches/samba-3.2.x/source/smbd/open.c

    r233 r235  
    30563056                  ea_list, sd, fname));
    30573057
     3058        /* MSDFS pathname processing must be done FIRST.
     3059           MSDFS pathnames containing IPv6 addresses can
     3060           be confused with NTFS stream names (they contain
     3061           ":" characters. JRA. */
     3062
     3063        if ((req != NULL) && (req->flags2 & FLAGS2_DFS_PATHNAMES)) {
     3064                char *resolved_fname;
     3065
     3066                status = resolve_dfspath(talloc_tos(), conn, true, fname,
     3067                                         &resolved_fname);
     3068
     3069                if (!NT_STATUS_IS_OK(status)) {
     3070                        /*
     3071                         * For PATH_NOT_COVERED we had
     3072                         * reply_botherror(req, NT_STATUS_PATH_NOT_COVERED,
     3073                         *                 ERRSRV, ERRbadpath);
     3074                         * Need to fix in callers
     3075                         */
     3076                        goto fail;
     3077                }
     3078                fname = resolved_fname;
     3079        }
     3080
    30583081        /*
    30593082         * Get the file name.
     
    31833206        }
    31843207
    3185         if ((req != NULL) && (req->flags2 & FLAGS2_DFS_PATHNAMES)) {
    3186                 char *resolved_fname;
    3187 
    3188                 status = resolve_dfspath(talloc_tos(), conn, true, fname,
    3189                                          &resolved_fname);
    3190 
    3191                 if (!NT_STATUS_IS_OK(status)) {
    3192                         /*
    3193                          * For PATH_NOT_COVERED we had
    3194                          * reply_botherror(req, NT_STATUS_PATH_NOT_COVERED,
    3195                          *                 ERRSRV, ERRbadpath);
    3196                          * Need to fix in callers
    3197                          */
    3198                         goto fail;
    3199                 }
    3200                 fname = resolved_fname;
    3201         }
    3202 
    32033208        /*
    32043209         * Check if POSIX semantics are wanted.
  • branches/samba-3.2.x/source/utils/net_rpc.c

    r233 r235  
    62816281        nt_status = rpccli_samr_Connect2(pipe_hnd, mem_ctx,
    62826282                                         pipe_hnd->cli->desthost,
    6283                                          SA_RIGHT_SAM_OPEN_DOMAIN,
     6283                                         SA_RIGHT_SAM_LOOKUP_DOMAIN,
    62846284                                         &connect_hnd);
    62856285        if (!NT_STATUS_IS_OK(nt_status)) {
  • branches/samba-3.2.x/source/utils/smbpasswd.c

    r232 r235  
    431431               
    432432                if((local_flags & LOCAL_SET_PASSWORD) && (new_passwd == NULL)) {
    433                         struct passwd *passwd = getpwnam_alloc(NULL, user_name);
    434 
    435                         if (!passwd) {
    436                                 fprintf(stderr, "Cannot locate Unix account for "
    437                                         "'%s'!\n", user_name);
    438                                 exit(1);
     433                        struct passwd *passwd;
     434
     435                        if (remote_machine == NULL) {
     436                                passwd = getpwnam_alloc(NULL, user_name);
     437
     438                                if (!passwd) {
     439                                        fprintf(stderr, "Cannot locate Unix account for "
     440                                                "'%s'!\n", user_name);
     441                                        exit(1);
     442                                }
     443                                TALLOC_FREE(passwd);
    439444                        }
    440                         TALLOC_FREE(passwd);
    441445
    442446                        new_passwd = prompt_for_new_password(stdin_passwd_get);
Note: See TracChangeset for help on using the changeset viewer.