Changeset 222 for branches/samba-3.3.x/source/modules
- Timestamp:
- May 24, 2009, 7:45:16 AM (16 years ago)
- 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 183 183 struct file_id id; 184 184 struct db_context *db; 185 int ret = -1; 185 186 SMB_STRUCT_STAT sbuf; 186 187 … … 189 190 190 191 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); 194 193 } 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 199 205 id = vfs_file_id_from_sbuf(handle->conn, &sbuf); 200 206 … … 266 272 struct db_context *db; 267 273 struct db_record *rec; 274 int ret = -1; 268 275 269 276 DEBUG(10,("store_acl_blob_fsp: storing blob length %u on file %s\n", … … 274 281 275 282 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); 279 284 } 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 284 296 id = vfs_file_id_from_sbuf(handle->conn, &sbuf); 285 297 … … 311 323 struct db_context *db; 312 324 struct db_record *rec; 325 int ret = -1; 313 326 314 327 DEBUG(10,("store_acl_blob_pathname: storing blob " … … 319 332 return NT_STATUS_INTERNAL_DB_CORRUPTION); 320 333 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) { 322 341 return map_nt_error_from_unix(errno); 323 342 } … … 490 509 ret = SMB_VFS_FSTAT(fsp, &sbuf); 491 510 } 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 } 493 516 } 494 517 if (ret == -1) { … … 579 602 SMB_STRUCT_STAT sbuf; 580 603 struct db_context *db; 581 int ret ;604 int ret = -1; 582 605 583 606 SMB_VFS_HANDLE_GET_DATA(handle, db, struct db_context, return -1); 584 607 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) { 586 615 return -1; 587 616 } … … 622 651 SMB_STRUCT_STAT sbuf; 623 652 struct db_context *db; 624 int ret ;653 int ret = -1; 625 654 626 655 SMB_VFS_HANDLE_GET_DATA(handle, db, struct db_context, return -1); 627 656 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) { 629 664 return -1; 630 665 } … … 724 759 } 725 760 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 } 727 766 } else { 728 767 ret = SMB_VFS_FSTAT(fsp, &sbuf); … … 809 848 SMB_STRUCT_STAT sbuf; 810 849 struct db_context *db; 811 int ret ;850 int ret = -1; 812 851 813 852 SMB_VFS_HANDLE_GET_DATA(handle, db, struct db_context, return -1); 814 853 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) { 816 861 return -1; 817 862 } … … 844 889 845 890 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 } 847 896 } else { 848 897 ret = SMB_VFS_FSTAT(fsp, &sbuf); -
branches/samba-3.3.x/source/modules/vfs_acl_xattr.c
r206 r222 385 385 ret = SMB_VFS_FSTAT(fsp, &sbuf); 386 386 } 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 } 388 392 } 389 393 if (ret == -1) { … … 563 567 } 564 568 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 } 566 574 } else { 567 575 ret = SMB_VFS_FSTAT(fsp, &sbuf); -
branches/samba-3.3.x/source/modules/vfs_streams_depot.c
r206 r222 496 496 */ 497 497 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) { 499 505 return -1; 500 506 } … … 680 686 return NT_STATUS_INVALID_PARAMETER; 681 687 } 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 } 683 693 } 684 694 -
branches/samba-3.3.x/source/modules/vfs_streams_xattr.c
r206 r222 136 136 SMB_STRUCT_STAT *sbuf) 137 137 { 138 int ret = -1; 138 139 struct stream_io *io = (struct stream_io *) 139 140 VFS_FETCH_FSP_EXTENSION(handle, fsp); … … 149 150 } 150 151 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) { 152 159 return -1; 153 160 } … … 719 726 return NT_STATUS_INVALID_PARAMETER; 720 727 } 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 } 722 733 } 723 734
Note:
See TracChangeset
for help on using the changeset viewer.