~ubuntu-branches/ubuntu/quantal/samba/quantal

« back to all changes in this revision

Viewing changes to source3/rpc_server/lsa/srv_lsa_nt.c

  • Committer: Package Import Robot
  • Author(s): James Page
  • Date: 2012-05-15 17:00:56 UTC
  • mfrom: (178.1.1 precise-security) (0.39.27 sid)
  • Revision ID: package-import@ubuntu.com-20120515170056-gludtas4257eb61q
Tags: 2:3.6.5-2ubuntu1
* Merge from Debian unstable, remaining changes: 
  + debian/patches/VERSION.patch:
    - set SAMBA_VERSION_SUFFIX to Ubuntu.
  + debian/smb.conf:
    - add "(Samba, Ubuntu)" to server string.
    - comment out the default [homes] share, and add a comment about
      "valid users = %S" to show users how to restrict access to
      \\server\username to only username.
    - Other changes now in Debian packaging.
  + debian/samba-common.config:
    - Do not change priority to high if dhclient3 is installed.
    - Use priority medium instead of high for the workgroup question.
  + debian/control:
    - Don't build against or suggest ctdb.
    - Add dependency on samba-common-bin to samba.
  + Add ufw integration:
    - Created debian/samba.ufw.profile
    - debian/rules, debian/samba.install: install profile.
    - debian/control: have samba suggest ufw.
  + Add apport hook:
    - Created debian/source_samba.py.
    - debian/rules, debian/samba-common-bin.install: install hook.
  + Switch to upstart:
    - Added debian/samba.{nmbd,smbd}.upstart.
    - debian/samba.logrotate, debian/samba-common.dhcp, debian/samba.if-up:
      Make upstart compatible.
* d/samba.install, d/samba-common-bin.install: Restore apport hook and ufw
  profile (LP: #999764).
* Dropped:
  + debian/patches/CVE-2012-1182-*.patch: fixed in upstream release 3.6.4.
  + debian/patches/CVE-2012-2111.patch: fixed in upstream release 3.6.5.
  + debian/patches/fix-debuglevel-name-conflict.patch: fixed upstream -
    debug_level is no longer used as a global variable name.
  + debian/patches/error-trans.fix-276472: fixed upstream.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2448
2448
        uint32_t acc_granted;
2449
2449
        struct security_descriptor *psd;
2450
2450
        size_t sd_size;
 
2451
        uint32_t owner_access = (LSA_ACCOUNT_ALL_ACCESS &
 
2452
                        ~(LSA_ACCOUNT_ADJUST_PRIVILEGES|
 
2453
                        LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS|
 
2454
                        SEC_STD_DELETE));
2451
2455
 
2452
2456
        /* find the connection policy handle. */
2453
2457
        if (!find_policy_by_hnd(p, r->in.handle, (void **)(void *)&handle))
2473
2477
 
2474
2478
        status = make_lsa_object_sd(p->mem_ctx, &psd, &sd_size,
2475
2479
                                    &lsa_account_mapping,
2476
 
                                    r->in.sid, LSA_POLICY_ALL_ACCESS);
 
2480
                                    r->in.sid, owner_access);
2477
2481
        if (!NT_STATUS_IS_OK(status)) {
2478
2482
                return status;
2479
2483
        }
2514
2518
        size_t sd_size;
2515
2519
        uint32_t des_access = r->in.access_mask;
2516
2520
        uint32_t acc_granted;
 
2521
        uint32_t owner_access = (LSA_ACCOUNT_ALL_ACCESS &
 
2522
                        ~(LSA_ACCOUNT_ADJUST_PRIVILEGES|
 
2523
                        LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS|
 
2524
                        SEC_STD_DELETE));
2517
2525
        NTSTATUS status;
2518
2526
 
2519
2527
        /* find the connection policy handle. */
2538
2546
        /* get the generic lsa account SD until we store it */
2539
2547
        status = make_lsa_object_sd(p->mem_ctx, &psd, &sd_size,
2540
2548
                                &lsa_account_mapping,
2541
 
                                r->in.sid, LSA_ACCOUNT_ALL_ACCESS);
 
2549
                                r->in.sid, owner_access);
2542
2550
        if (!NT_STATUS_IS_OK(status)) {
2543
2551
                return status;
2544
2552
        }
2886
2894
        /* get the generic lsa account SD for this SID until we store it */
2887
2895
        status = make_lsa_object_sd(p->mem_ctx, &psd, &sd_size,
2888
2896
                                &lsa_account_mapping,
2889
 
                                r->in.sid, LSA_ACCOUNT_ALL_ACCESS);
 
2897
                                NULL, 0);
2890
2898
        if (!NT_STATUS_IS_OK(status)) {
2891
2899
                return status;
2892
2900
        }
2957
2965
        /* get the generic lsa account SD for this SID until we store it */
2958
2966
        status = make_lsa_object_sd(p->mem_ctx, &psd, &sd_size,
2959
2967
                                &lsa_account_mapping,
2960
 
                                r->in.sid, LSA_ACCOUNT_ALL_ACCESS);
 
2968
                                NULL, 0);
2961
2969
        if (!NT_STATUS_IS_OK(status)) {
2962
2970
                return status;
2963
2971
        }