~ubuntu-branches/ubuntu/maverick/samba/maverick-security

« back to all changes in this revision

Viewing changes to source3/smbd/blocking.c

  • Committer: Bazaar Package Importer
  • Author(s): Chuck Short
  • Date: 2010-01-29 06:16:15 UTC
  • mfrom: (0.27.9 upstream) (0.34.4 squeeze)
  • Revision ID: james.westby@ubuntu.com-20100129061615-37hs6xqpsdhjq3ld
Tags: 2:3.4.5~dfsg-1ubuntu1
* Merge from debian testing.  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.
    - Set 'usershare allow guests', so that usershare admins are allowed to create
      public shares in additon to authenticated ones.
    - add map to guest = Bad user, maps bad username to gues access.
  + debian/samba-common.conf:
    - Do not change priority to high if dhclient3 is installed.
    - Use priority medium instead of high for the workgroup question.
  + debian/mksambapasswd.awk:
    - Do not add user with UID less than 1000 to smbpasswd.
  + debian/control: 
    - Make libswbclient0 replace/conflict with hardy's likewise-open.
    - Don't build against ctdb, since its not in main yet.
  + debian/rules:
    - Enable "native" PIE hardening.
    - Add BIND_NOW to maximize benefit of RELRO hardening.
  + Add ufw integration:
    - Created debian/samba.ufw.profile.
    - debian/rules, debian/samba.dirs, debian/samba.files: install
  + Add apoort hook:
    - Created debian/source_samba.py.
    - debian/rules, debian/samba.dirs, debian/samba-common-bin.files: install
  + debian/rules, debian/samba.if-up: allow "NetworkManager" as a recognized address
    family... it's obviously /not/ an address family, but it's what gets
    sent when using NM, so we'll cope for now.  (LP: #462169). Taken from karmic-proposed.
  + debian/control: Recommend keyutils for smbfs (LP: #493565)
  + Dropped patches:
    - debian/patches/security-CVE-2009-3297.patch: No longer needed
    - debian/patches/fix-too-many-open-files.patch: No longer needed

Show diffs side-by-side

added added

removed removed

Lines of Context:
652
652
{
653
653
        struct timeval tv_curr = timeval_current();
654
654
        struct blocking_lock_record *blr, *next = NULL;
655
 
        bool recalc_timeout = False;
656
655
 
657
656
        /*
658
657
         * Go through the queue and see if we can get any of the locks.
670
669
 
671
670
                DEBUG(10, ("Processing BLR = %p\n", blr));
672
671
 
 
672
                /* We use set_current_service so connections with
 
673
                 * pending locks are not marked as idle.
 
674
                 */
 
675
 
 
676
                set_current_service(blr->fsp->conn,
 
677
                                SVAL(blr->req->inbuf,smb_flg),
 
678
                                false);
 
679
 
673
680
                if(blocking_lock_record_process(blr)) {
674
681
                        struct byte_range_lock *br_lck = brl_get_locks(
675
682
                                talloc_tos(), blr->fsp);
690
697
 
691
698
                        DLIST_REMOVE(blocking_lock_queue, blr);
692
699
                        TALLOC_FREE(blr);
693
 
                        recalc_timeout = True;
694
700
                        continue;
695
701
                }
696
702
 
729
735
                        blocking_lock_reply_error(blr,NT_STATUS_FILE_LOCK_CONFLICT);
730
736
                        DLIST_REMOVE(blocking_lock_queue, blr);
731
737
                        TALLOC_FREE(blr);
732
 
                        recalc_timeout = True;
733
738
                }
734
739
        }
735
740
 
736
 
        if (recalc_timeout) {
737
 
                recalc_brl_timeout();
738
 
        }
 
741
        recalc_brl_timeout();
739
742
}
740
743
 
741
744
/****************************************************************************