Ignore:
Timestamp:
Jun 24, 2009, 10:34:52 AM (16 years ago)
Author:
Herwig Bauernfeind
Message:

Update 3.2 to 3.2.13

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/samba-3.2.x/source/smbd/posix_acls.c

    r272 r282  
    23852385
    23862386static bool acl_group_override(connection_struct *conn,
    2387                                 gid_t prim_gid,
     2387                                SMB_STRUCT_STAT *psbuf,
    23882388                                const char *fname)
    23892389{
    2390         SMB_STRUCT_STAT sbuf;
    2391 
    23922390        if ((errno != EPERM) && (errno != EACCES)) {
    23932391                return false;
     
    23962394        /* file primary group == user primary or supplementary group */
    23972395        if (lp_acl_group_control(SNUM(conn)) &&
    2398                         current_user_in_group(prim_gid)) {
     2396                        current_user_in_group(psbuf->st_gid)) {
    23992397                return true;
    24002398        }
     
    24022400        /* user has writeable permission */
    24032401        if (lp_dos_filemode(SNUM(conn)) &&
    2404                         can_write_to_file(conn, fname, &sbuf)) {
     2402                        can_write_to_file(conn, fname, psbuf)) {
    24052403                return true;
    24062404        }
     
    24132411****************************************************************************/
    24142412
    2415 static bool set_canon_ace_list(files_struct *fsp, canon_ace *the_ace, bool default_ace, gid_t prim_gid, bool *pacl_set_support)
     2413static bool set_canon_ace_list(files_struct *fsp, canon_ace *the_ace, bool default_ace, SMB_STRUCT_STAT *psbuf, bool *pacl_set_support)
    24162414{
    24172415        connection_struct *conn = fsp->conn;
     
    25922590                        }
    25932591
    2594                         if (acl_group_override(conn, prim_gid, fsp->fsp_name)) {
     2592                        if (acl_group_override(conn, psbuf, fsp->fsp_name)) {
    25952593                                int sret;
    25962594
     
    26232621                        }
    26242622
    2625                         if (acl_group_override(conn, prim_gid, fsp->fsp_name)) {
     2623                        if (acl_group_override(conn, psbuf, fsp->fsp_name)) {
    26262624                                int sret;
    26272625
     
    36283626                        become_root();
    36293627                }
    3630                 ret = set_canon_ace_list(fsp, file_ace_list, False, sbuf.st_gid, &acl_set_support);
     3628                ret = set_canon_ace_list(fsp, file_ace_list, False, &sbuf, &acl_set_support);
    36313629                if (set_acl_as_root) {
    36323630                        unbecome_root();
     
    36453643                                become_root();
    36463644                        }
    3647                         ret = set_canon_ace_list(fsp, dir_ace_list, True, sbuf.st_gid, &acl_set_support);
     3645                        ret = set_canon_ace_list(fsp, dir_ace_list, True, &sbuf, &acl_set_support);
    36483646                        if (set_acl_as_root) {
    36493647                                unbecome_root();
     
    36703668                        }
    36713669                        if (sret == -1) {
    3672                                 if (acl_group_override(conn, sbuf.st_gid, fsp->fsp_name)) {
     3670                                if (acl_group_override(conn, &sbuf, fsp->fsp_name)) {
    36733671                                        DEBUG(5,("set_nt_acl: acl group control on and "
    36743672                                                "current user in file %s primary group. Override delete_def_acl\n",
     
    37303728                        }
    37313729                        if(sret == -1) {
    3732                                 if (acl_group_override(conn, sbuf.st_gid, fsp->fsp_name)) {
     3730                                if (acl_group_override(conn, &sbuf, fsp->fsp_name)) {
    37333731                                        DEBUG(5,("set_nt_acl: acl group control on and "
    37343732                                                "current user in file %s primary group. Override chmod\n",
Note: See TracChangeset for help on using the changeset viewer.