Ignore:
Timestamp:
May 24, 2009, 7:45:16 AM (16 years ago)
Author:
Herwig Bauernfeind
Message:

Update Samba 3.3 branch to 3.3.2

Location:
branches/samba-3.3.x/source/modules
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/samba-3.3.x/source/modules/vfs_acl_tdb.c

    r206 r222  
    183183        struct file_id id;
    184184        struct db_context *db;
     185        int ret = -1;
    185186        SMB_STRUCT_STAT sbuf;
    186187
     
    189190
    190191        if (fsp && fsp->fh->fd != -1) {
    191                 if (SMB_VFS_FSTAT(fsp, &sbuf) == -1) {
    192                         return map_nt_error_from_unix(errno);
    193                 }
     192                ret = SMB_VFS_FSTAT(fsp, &sbuf);
    194193        } else {
    195                 if (SMB_VFS_STAT(handle->conn, name, &sbuf) == -1) {
    196                         return map_nt_error_from_unix(errno);
    197                 }
    198         }
     194                if (fsp && fsp->posix_open) {
     195                        ret = SMB_VFS_LSTAT(handle->conn, name, &sbuf);
     196                } else {
     197                        ret = SMB_VFS_STAT(handle->conn, name, &sbuf);
     198                }
     199        }
     200
     201        if (ret == -1) {
     202                return map_nt_error_from_unix(errno);
     203        }
     204
    199205        id = vfs_file_id_from_sbuf(handle->conn, &sbuf);
    200206
     
    266272        struct db_context *db;
    267273        struct db_record *rec;
     274        int ret = -1;
    268275
    269276        DEBUG(10,("store_acl_blob_fsp: storing blob length %u on file %s\n",
     
    274281
    275282        if (fsp->fh->fd != -1) {
    276                 if (SMB_VFS_FSTAT(fsp, &sbuf) == -1) {
    277                         return map_nt_error_from_unix(errno);
    278                 }
     283                ret = SMB_VFS_FSTAT(fsp, &sbuf);
    279284        } else {
    280                 if (SMB_VFS_STAT(handle->conn, fsp->fsp_name, &sbuf) == -1) {
    281                         return map_nt_error_from_unix(errno);
    282                 }
    283         }
     285                if (fsp->posix_open) {
     286                        ret = SMB_VFS_LSTAT(handle->conn, fsp->fsp_name, &sbuf);
     287                } else {
     288                        ret = SMB_VFS_STAT(handle->conn, fsp->fsp_name, &sbuf);
     289                }
     290        }
     291
     292        if (ret == -1) {
     293                return map_nt_error_from_unix(errno);
     294        }
     295
    284296        id = vfs_file_id_from_sbuf(handle->conn, &sbuf);
    285297
     
    311323        struct db_context *db;
    312324        struct db_record *rec;
     325        int ret = -1;
    313326
    314327        DEBUG(10,("store_acl_blob_pathname: storing blob "
     
    319332                return NT_STATUS_INTERNAL_DB_CORRUPTION);
    320333
    321         if (SMB_VFS_STAT(handle->conn, fname, &sbuf) == -1) {
     334        if (lp_posix_pathnames()) {
     335                ret = SMB_VFS_LSTAT(handle->conn, fname, &sbuf);
     336        } else {
     337                ret = SMB_VFS_STAT(handle->conn, fname, &sbuf);
     338        }
     339
     340        if (ret == -1) {
    322341                return map_nt_error_from_unix(errno);
    323342        }
     
    490509                        ret = SMB_VFS_FSTAT(fsp, &sbuf);
    491510                } else {
    492                         ret = SMB_VFS_STAT(handle->conn,fname, &sbuf);
     511                        if (fsp && fsp->posix_open) {
     512                                ret = SMB_VFS_LSTAT(handle->conn,fname, &sbuf);
     513                        } else {
     514                                ret = SMB_VFS_STAT(handle->conn,fname, &sbuf);
     515                        }
    493516                }
    494517                if (ret == -1) {
     
    579602        SMB_STRUCT_STAT sbuf;
    580603        struct db_context *db;
    581         int ret;
     604        int ret = -1;
    582605
    583606        SMB_VFS_HANDLE_GET_DATA(handle, db, struct db_context, return -1);
    584607
    585         if (SMB_VFS_STAT(handle->conn, path, &sbuf) == -1) {
     608        if (lp_posix_pathnames()) {
     609                ret = SMB_VFS_LSTAT(handle->conn, path, &sbuf);
     610        } else {
     611                ret = SMB_VFS_STAT(handle->conn, path, &sbuf);
     612        }
     613
     614        if (ret == -1) {
    586615                return -1;
    587616        }
     
    622651        SMB_STRUCT_STAT sbuf;
    623652        struct db_context *db;
    624         int ret;
     653        int ret = -1;
    625654
    626655        SMB_VFS_HANDLE_GET_DATA(handle, db, struct db_context, return -1);
    627656
    628         if (SMB_VFS_STAT(handle->conn, path, &sbuf) == -1) {
     657        if (lp_posix_pathnames()) {
     658                ret = SMB_VFS_LSTAT(handle->conn, path, &sbuf);
     659        } else {
     660                ret = SMB_VFS_STAT(handle->conn, path, &sbuf);
     661        }
     662
     663        if (ret == -1) {
    629664                return -1;
    630665        }
     
    724759                }
    725760                if (fsp->is_directory || fsp->fh->fd == -1) {
    726                         ret = SMB_VFS_STAT(fsp->conn,fsp->fsp_name, &sbuf);
     761                        if (fsp->posix_open) {
     762                                ret = SMB_VFS_LSTAT(fsp->conn,fsp->fsp_name, &sbuf);
     763                        } else {
     764                                ret = SMB_VFS_STAT(fsp->conn,fsp->fsp_name, &sbuf);
     765                        }
    727766                } else {
    728767                        ret = SMB_VFS_FSTAT(fsp, &sbuf);
     
    809848        SMB_STRUCT_STAT sbuf;
    810849        struct db_context *db;
    811         int ret;
     850        int ret = -1;
    812851
    813852        SMB_VFS_HANDLE_GET_DATA(handle, db, struct db_context, return -1);
    814853
    815         if (SMB_VFS_STAT(handle->conn, path, &sbuf) == -1) {
     854        if (lp_posix_pathnames()) {
     855                ret = SMB_VFS_LSTAT(handle->conn, path, &sbuf);
     856        } else {
     857                ret = SMB_VFS_STAT(handle->conn, path, &sbuf);
     858        }
     859
     860        if (ret == -1) {
    816861                return -1;
    817862        }
     
    844889
    845890        if (fsp->is_directory || fsp->fh->fd == -1) {
    846                 ret = SMB_VFS_STAT(fsp->conn,fsp->fsp_name, &sbuf);
     891                if (fsp->posix_open) {
     892                        ret = SMB_VFS_LSTAT(fsp->conn,fsp->fsp_name, &sbuf);
     893                } else {
     894                        ret = SMB_VFS_STAT(fsp->conn,fsp->fsp_name, &sbuf);
     895                }
    847896        } else {
    848897                ret = SMB_VFS_FSTAT(fsp, &sbuf);
  • branches/samba-3.3.x/source/modules/vfs_acl_xattr.c

    r206 r222  
    385385                        ret = SMB_VFS_FSTAT(fsp, &sbuf);
    386386                } else {
    387                         ret = SMB_VFS_STAT(handle->conn,fname, &sbuf);
     387                        if (fsp && fsp->posix_open) {
     388                                ret = SMB_VFS_LSTAT(handle->conn,fname, &sbuf);
     389                        } else {
     390                                ret = SMB_VFS_STAT(handle->conn,fname, &sbuf);
     391                        }
    388392                }
    389393                if (ret == -1) {
     
    563567                }
    564568                if (fsp->is_directory || fsp->fh->fd == -1) {
    565                         ret = SMB_VFS_STAT(fsp->conn,fsp->fsp_name, &sbuf);
     569                        if (fsp->posix_open) {
     570                                ret = SMB_VFS_LSTAT(fsp->conn,fsp->fsp_name, &sbuf);
     571                        } else {
     572                                ret = SMB_VFS_STAT(fsp->conn,fsp->fsp_name, &sbuf);
     573                        }
    566574                } else {
    567575                        ret = SMB_VFS_FSTAT(fsp, &sbuf);
  • branches/samba-3.3.x/source/modules/vfs_streams_depot.c

    r206 r222  
    496496         */
    497497
    498         if (SMB_VFS_NEXT_STAT(handle, fname, &sbuf) == -1) {
     498        if (lp_posix_pathnames()) {
     499                ret = SMB_VFS_NEXT_LSTAT(handle, fname, &sbuf);
     500        } else {
     501                ret = SMB_VFS_NEXT_STAT(handle, fname, &sbuf);
     502        }
     503
     504        if (ret == -1) {
    499505                return -1;
    500506        }
     
    680686                        return NT_STATUS_INVALID_PARAMETER;
    681687                }
    682                 ret = SMB_VFS_NEXT_STAT(handle, fname, &sbuf);
     688                if (lp_posix_pathnames()) {
     689                        ret = SMB_VFS_NEXT_LSTAT(handle, fname, &sbuf);
     690                } else {
     691                        ret = SMB_VFS_NEXT_STAT(handle, fname, &sbuf);
     692                }
    683693        }
    684694
  • branches/samba-3.3.x/source/modules/vfs_streams_xattr.c

    r206 r222  
    136136                               SMB_STRUCT_STAT *sbuf)
    137137{
     138        int ret = -1;
    138139        struct stream_io *io = (struct stream_io *)
    139140                VFS_FETCH_FSP_EXTENSION(handle, fsp);
     
    149150        }
    150151
    151         if (SMB_VFS_STAT(handle->conn, io->base, sbuf) == -1) {
     152        if (lp_posix_pathnames()) {
     153                ret = SMB_VFS_LSTAT(handle->conn, io->base, sbuf);
     154        } else {
     155                ret = SMB_VFS_STAT(handle->conn, io->base, sbuf);
     156        }
     157
     158        if (ret == -1) {
    152159                return -1;
    153160        }
     
    719726                        return NT_STATUS_INVALID_PARAMETER;
    720727                }
    721                 ret = SMB_VFS_STAT(handle->conn, fname, &sbuf);
     728                if (lp_posix_pathnames()) {
     729                        ret = SMB_VFS_LSTAT(handle->conn, fname, &sbuf);
     730                } else {
     731                        ret = SMB_VFS_STAT(handle->conn, fname, &sbuf);
     732                }
    722733        }
    723734
Note: See TracChangeset for help on using the changeset viewer.