The Samba-Bugzilla – Attachment 4574 Details for
Bug 6648
smbd/ctdb infinite loop on unlink of non-existent file (stat()=ENOENT), reproduce with smbtorture BASE-BENCH-TORTURE
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
Another GDB session stepping through smbd that is exhibiting the "file isn't there, but I'm trying to delete it" behavior
debug_session-2009_8_19-2.txt (text/plain), 88.71 KB, created by
Andrew Klosterman
on 2009-08-19 16:30:50 UTC
(
hide
)
Description:
Another GDB session stepping through smbd that is exhibiting the "file isn't there, but I'm trying to delete it" behavior
Filename:
MIME Type:
Creator:
Andrew Klosterman
Created:
2009-08-19 16:30:50 UTC
Size:
88.71 KB
patch
obsolete
>(gdb) info breakpoints >Num Type Disp Enb Address What >1 breakpoint keep y 0x00000000004c8d85 in reply_unlink > at smbd/reply.c:2590 > breakpoint already hit 1 time >(gdb) cont >Continuing. > >Breakpoint 1, reply_unlink (req=0x802974520) at smbd/reply.c:2590 >2590 connection_struct *conn = req->conn; >(gdb) list >2585 Reply to a unlink >2586 ****************************************************************************/ >2587 >2588 void reply_unlink(struct smb_request *req) >2589 { >2590 connection_struct *conn = req->conn; >2591 char *name = NULL; >2592 uint32 dirtype; >2593 NTSTATUS status; >2594 bool path_contains_wcard = False; >(gdb) print *req >$96 = {flags2 = 51203, smbpid = 7236, mid = 5708, vuid = 100, tid = 1, > wct = 1 '\001', inbuf = 0x802974480 "", outbuf = 0x0, unread_bytes = 0, > encrypted = false, conn = 0x802927050} >(gdb) print req->inubf >There is no member named inubf. >(gdb) print req->inbuf >$97 = (const unsigned char *) 0x802974480 "" >(gdb) print *(req->inbuf) >$98 = 0 '\0' >(gdb) n >2591 char *name = NULL; >(gdb) n >2594 bool path_contains_wcard = False; >(gdb) n >2595 TALLOC_CTX *ctx = talloc_tos(); >(gdb) n >2597 START_PROFILE(SMBunlink); >(gdb) n >2599 if (req->wct < 1) { >(gdb) n >2605 dirtype = SVAL(req->inbuf,smb_vwv0); >(gdb) n >2607 srvstr_get_path_wcard(ctx, (char *)req->inbuf, req->flags2, &name, >(gdb) n >2610 if (!NT_STATUS_IS_OK(status)) { >(gdb) n >2616 status = resolve_dfspath_wcard(ctx, conn, >(gdb) list >2611 reply_nterror(req, status); >2612 END_PROFILE(SMBunlink); >2613 return; >2614 } >2615 >2616 status = resolve_dfspath_wcard(ctx, conn, >2617 req->flags2 & FLAGS2_DFS_PATHNAMES, >2618 name, >2619 &name, >2620 &path_contains_wcard); >(gdb) n >2621 if (!NT_STATUS_IS_OK(status)) { >(gdb) n >2633 DEBUG(3,("reply_unlink : %s\n",name)); >(gdb) list >2628 reply_nterror(req, status); >2629 END_PROFILE(SMBunlink); >2630 return; >2631 } >2632 >2633 DEBUG(3,("reply_unlink : %s\n",name)); >2634 >2635 status = unlink_internals(conn, req, dirtype, name, >2636 path_contains_wcard); >2637 if (!NT_STATUS_IS_OK(status)) { >(gdb) n >2635 status = unlink_internals(conn, req, dirtype, name, >(gdb) s >unlink_internals (conn=0x802927050, req=0x802974520, dirtype=22, > name_in=0x802974660 "torture.lck", has_wild=false) at smbd/reply.c:2430 >2430 const char *directory = NULL; >(gdb) list >2425 ****************************************************************************/ >2426 >2427 NTSTATUS unlink_internals(connection_struct *conn, struct smb_request *req, >2428 uint32 dirtype, const char *name_in, bool has_wild) >2429 { >2430 const char *directory = NULL; >2431 char *mask = NULL; >2432 char *name = NULL; >2433 char *p = NULL; >2434 int count=0; >(gdb) print conn >$99 = (connection_struct *) 0x802927050 >(gdb) print *conn >$100 = {next = 0x0, prev = 0x0, cnum = 1, params = 0x8029023f0, > force_user = false, vuid_cache = {next_entry = 1, array = {{ > server_info = 0x80298b350, vuid = 100, read_only = false, > admin_user = false}, {server_info = 0x0, vuid = 0, read_only = false, > admin_user = false} <repeats 31 times>}}, dirptr = 0x0, > printer = false, ipc = false, read_only = false, admin_user = false, > dirpath = 0xb964fb "", > connectpath = 0x80290b2e0 "/var/samba/exports/smbtorture/meddy/smbtorture", > origpath = 0x80290b310 "/var/samba/exports/smbtorture/meddy/smbtorture", > vfs = {ops = {connect_fn = 0x802a211b0 <fileid_connect>, > disconnect = 0x802a21620 <fileid_disconnect>, > disk_free = 0x547880 <vfswrap_disk_free>, > get_quota = 0x5478e0 <vfswrap_get_quota>, > set_quota = 0x547910 <vfswrap_set_quota>, > get_shadow_copy_data = 0x547940 <vfswrap_get_shadow_copy_data>, > statvfs = 0x547970 <vfswrap_statvfs>, > fs_capabilities = 0x5479a0 <vfswrap_fs_capabilities>, > opendir = 0x5479b0 <vfswrap_opendir>, > readdir = 0x547ae0 <vfswrap_readdir>, > seekdir = 0x547bb0 <vfswrap_seekdir>, > telldir = 0x547c80 <vfswrap_telldir>, > rewind_dir = 0x547d50 <vfswrap_rewinddir>, > mkdir = 0x547e10 <vfswrap_mkdir>, rmdir = 0x547fb0 <vfswrap_rmdir>, > closedir = 0x548080 <vfswrap_closedir>, open = 0x548150 <vfswrap_open>, > close_fn = 0x548230 <vfswrap_close>, vfs_read = 0x548300 <vfswrap_read>, > pread = 0x548410 <vfswrap_pread>, write = 0x548570 <vfswrap_write>, >---Type <return> to continue, or q <return> to quit--- > pwrite = 0x548680 <vfswrap_pwrite>, lseek = 0x5487d0 <vfswrap_lseek>, > sendfile = 0x5488f0 <vfswrap_sendfile>, > recvfile = 0x548a10 <vfswrap_recvfile>, > rename = 0x548d30 <vfswrap_rename>, fsync = 0x548e20 <vfswrap_fsync>, > stat = 0x548ef0 <vfswrap_stat>, fstat = 0x548fc0 <vfswrap_fstat>, > lstat = 0x549090 <vfswrap_lstat>, unlink = 0x549160 <vfswrap_unlink>, > chmod = 0x549230 <vfswrap_chmod>, fchmod = 0x5493a0 <vfswrap_fchmod>, > chown = 0x549510 <vfswrap_chown>, fchown = 0x5495e0 <vfswrap_fchown>, > lchown = 0x5496c0 <vfswrap_lchown>, chdir = 0x549790 <vfswrap_chdir>, > getwd = 0x549860 <vfswrap_getwd>, ntimes = 0x549930 <vfswrap_ntimes>, > ftruncate = 0x549d90 <vfswrap_ftruncate>, > lock = 0x54a110 <vfswrap_lock>, > kernel_flock = 0x54a200 <vfswrap_kernel_flock>, > linux_setlease = 0x54a3e0 <vfswrap_linux_setlease>, > getlock = 0x54a2e0 <vfswrap_getlock>, > symlink = 0x54a4b0 <vfswrap_symlink>, > vfs_readlink = 0x54a580 <vfswrap_readlink>, > link = 0x54a660 <vfswrap_link>, mknod = 0x54a730 <vfswrap_mknod>, > realpath = 0x54a810 <vfswrap_realpath>, > notify_watch = 0x54a8f0 <vfswrap_notify_watch>, > chflags = 0x54a920 <vfswrap_chflags>, > file_id_create = 0x802a21730 <fileid_file_id_create>, > streaminfo = 0x54a990 <vfswrap_streaminfo>, > get_real_filename = 0x54abc0 <vfswrap_get_real_filename>, > fget_nt_acl = 0x54ac10 <vfswrap_fget_nt_acl>, > get_nt_acl = 0x54acf0 <vfswrap_get_nt_acl>, >---Type <return> to continue, or q <return> to quit--- > fset_nt_acl = 0x54add0 <vfswrap_fset_nt_acl>, > chmod_acl = 0x54aeb0 <vfswrap_chmod_acl>, > fchmod_acl = 0x54af90 <vfswrap_fchmod_acl>, > sys_acl_get_entry = 0x54b060 <vfswrap_sys_acl_get_entry>, > sys_acl_get_tag_type = 0x54b090 <vfswrap_sys_acl_get_tag_type>, > sys_acl_get_permset = 0x54b0c0 <vfswrap_sys_acl_get_permset>, > sys_acl_get_qualifier = 0x54b0f0 <vfswrap_sys_acl_get_qualifier>, > sys_acl_get_file = 0x54b110 <vfswrap_sys_acl_get_file>, > sys_acl_get_fd = 0x54b140 <vfswrap_sys_acl_get_fd>, > sys_acl_clear_perms = 0x54b160 <vfswrap_sys_acl_clear_perms>, > sys_acl_add_perm = 0x54b180 <vfswrap_sys_acl_add_perm>, > sys_acl_to_text = 0x54b1b0 <vfswrap_sys_acl_to_text>, > sys_acl_init = 0x54b1e0 <vfswrap_sys_acl_init>, > sys_acl_create_entry = 0x54b200 <vfswrap_sys_acl_create_entry>, > sys_acl_set_tag_type = 0x54b230 <vfswrap_sys_acl_set_tag_type>, > sys_acl_set_qualifier = 0x54b260 <vfswrap_sys_acl_set_qualifier>, > sys_acl_set_permset = 0x54b290 <vfswrap_sys_acl_set_permset>, > sys_acl_valid = 0x54b2c0 <vfswrap_sys_acl_valid>, > sys_acl_set_file = 0x54b2e0 <vfswrap_sys_acl_set_file>, > sys_acl_set_fd = 0x54b310 <vfswrap_sys_acl_set_fd>, > sys_acl_delete_def_file = 0x54b340 <vfswrap_sys_acl_delete_def_file>, > sys_acl_get_perm = 0x54b360 <vfswrap_sys_acl_get_perm>, > sys_acl_free_text = 0x54b390 <vfswrap_sys_acl_free_text>, > sys_acl_free_acl = 0x54b3b0 <vfswrap_sys_acl_free_acl>, > sys_acl_free_qualifier = 0x54b3d0 <vfswrap_sys_acl_free_qualifier>, > getxattr = 0x54b400 <vfswrap_getxattr>, >---Type <return> to continue, or q <return> to quit--- > lgetxattr = 0x54b440 <vfswrap_lgetxattr>, > fgetxattr = 0x54b480 <vfswrap_fgetxattr>, > listxattr = 0x54b4c0 <vfswrap_listxattr>, > llistxattr = 0x54b4f0 <vfswrap_llistxattr>, > flistxattr = 0x54b520 <vfswrap_flistxattr>, > removexattr = 0x54b560 <vfswrap_removexattr>, > lremovexattr = 0x54b590 <vfswrap_lremovexattr>, > fremovexattr = 0x54b5c0 <vfswrap_fremovexattr>, > setxattr = 0x54b5f0 <vfswrap_setxattr>, > lsetxattr = 0x54b630 <vfswrap_lsetxattr>, > fsetxattr = 0x54b670 <vfswrap_fsetxattr>, > aio_read = 0x54b6c0 <vfswrap_aio_read>, > aio_write = 0x54b6e0 <vfswrap_aio_write>, > aio_return_fn = 0x54b700 <vfswrap_aio_return>, > aio_cancel = 0x54b720 <vfswrap_aio_cancel>, > aio_error_fn = 0x54b750 <vfswrap_aio_error>, > aio_fsync = 0x54b770 <vfswrap_aio_fsync>, > aio_suspend = 0x54b7a0 <vfswrap_aio_suspend>, > aio_force = 0x54b7d0 <vfswrap_aio_force>, > is_offline = 0x54b7f0 <vfswrap_is_offline>, > set_offline = 0x54b8d0 <vfswrap_set_offline>}, handles = { > connect_hnd = 0x802939850, disconnect = 0x802939850, > disk_free = 0x802939050, get_quota = 0x802939050, > set_quota = 0x802939050, get_shadow_copy_data = 0x802939050, > statvfs = 0x802939050, fs_capabilities = 0x802939050, > opendir = 0x802939050, readdir = 0x802939050, seekdir = 0x802939050, >---Type <return> to continue, or q <return> to quit--- > telldir = 0x802939050, rewind_dir = 0x802939050, mkdir = 0x802939050, > rmdir = 0x802939050, closedir = 0x802939050, open = 0x802939050, > close_hnd = 0x802939050, vfs_read = 0x802939050, pread = 0x802939050, > write = 0x802939050, pwrite = 0x802939050, lseek = 0x802939050, > sendfile = 0x802939050, recvfile = 0x802939050, rename = 0x802939050, > fsync = 0x802939050, stat = 0x802939050, fstat = 0x802939050, > lstat = 0x802939050, unlink = 0x802939050, chmod = 0x802939050, > fchmod = 0x802939050, chown = 0x802939050, fchown = 0x802939050, > lchown = 0x802939050, chdir = 0x802939050, getwd = 0x802939050, > ntimes = 0x802939050, ftruncate = 0x802939050, lock = 0x802939050, > kernel_flock = 0x802939050, linux_setlease = 0x802939050, > getlock = 0x802939050, symlink = 0x802939050, > vfs_readlink = 0x802939050, link = 0x802939050, mknod = 0x802939050, > realpath = 0x802939050, notify_watch = 0x802939050, > chflags = 0x802939050, file_id_create = 0x802939850, > streaminfo = 0x802939050, get_real_filename = 0x802939050, > fget_nt_acl = 0x802939050, get_nt_acl = 0x802939050, > fset_nt_acl = 0x802939050, chmod_acl = 0x802939050, > fchmod_acl = 0x802939050, sys_acl_get_entry = 0x802939050, > sys_acl_get_tag_type = 0x802939050, sys_acl_get_permset = 0x802939050, > sys_acl_get_qualifier = 0x802939050, sys_acl_get_file = 0x802939050, > sys_acl_get_fd = 0x802939050, sys_acl_clear_perms = 0x802939050, > sys_acl_add_perm = 0x802939050, sys_acl_to_text = 0x802939050, > sys_acl_init = 0x802939050, sys_acl_create_entry = 0x802939050, > sys_acl_set_tag_type = 0x802939050, sys_acl_set_qualifier = 0x802939050, > sys_acl_set_permset = 0x802939050, sys_acl_valid = 0x802939050, >---Type <return> to continue, or q <return> to quit--- > sys_acl_set_file = 0x802939050, sys_acl_set_fd = 0x802939050, > sys_acl_delete_def_file = 0x802939050, sys_acl_get_perm = 0x802939050, > sys_acl_free_text = 0x802939050, sys_acl_free_acl = 0x802939050, > sys_acl_free_qualifier = 0x802939050, getxattr = 0x802939050, > lgetxattr = 0x802939050, fgetxattr = 0x802939050, > listxattr = 0x802939050, llistxattr = 0x802939050, > flistxattr = 0x802939050, removexattr = 0x802939050, > lremovexattr = 0x802939050, fremovexattr = 0x802939050, > setxattr = 0x802939050, lsetxattr = 0x802939050, > fsetxattr = 0x802939050, aio_read = 0x802939050, > aio_write = 0x802939050, aio_return = 0x802939050, > aio_cancel = 0x802939050, aio_error = 0x802939050, > aio_fsync = 0x802939050, aio_suspend = 0x802939050, > aio_force = 0x802939050, is_offline = 0x802939050, > set_offline = 0x802939050}}, vfs_opaque = {ops = { > connect_fn = 0x547850 <vfswrap_connect>, > disconnect = 0x547870 <vfswrap_disconnect>, > disk_free = 0x547880 <vfswrap_disk_free>, > get_quota = 0x5478e0 <vfswrap_get_quota>, > set_quota = 0x547910 <vfswrap_set_quota>, > get_shadow_copy_data = 0x547940 <vfswrap_get_shadow_copy_data>, > statvfs = 0x547970 <vfswrap_statvfs>, > fs_capabilities = 0x5479a0 <vfswrap_fs_capabilities>, > opendir = 0x5479b0 <vfswrap_opendir>, > readdir = 0x547ae0 <vfswrap_readdir>, > seekdir = 0x547bb0 <vfswrap_seekdir>, >---Type <return> to continue, or q <return> to quit--- > telldir = 0x547c80 <vfswrap_telldir>, > rewind_dir = 0x547d50 <vfswrap_rewinddir>, > mkdir = 0x547e10 <vfswrap_mkdir>, rmdir = 0x547fb0 <vfswrap_rmdir>, > closedir = 0x548080 <vfswrap_closedir>, open = 0x548150 <vfswrap_open>, > close_fn = 0x548230 <vfswrap_close>, vfs_read = 0x548300 <vfswrap_read>, > pread = 0x548410 <vfswrap_pread>, write = 0x548570 <vfswrap_write>, > pwrite = 0x548680 <vfswrap_pwrite>, lseek = 0x5487d0 <vfswrap_lseek>, > sendfile = 0x5488f0 <vfswrap_sendfile>, > recvfile = 0x548a10 <vfswrap_recvfile>, > rename = 0x548d30 <vfswrap_rename>, fsync = 0x548e20 <vfswrap_fsync>, > stat = 0x548ef0 <vfswrap_stat>, fstat = 0x548fc0 <vfswrap_fstat>, > lstat = 0x549090 <vfswrap_lstat>, unlink = 0x549160 <vfswrap_unlink>, > chmod = 0x549230 <vfswrap_chmod>, fchmod = 0x5493a0 <vfswrap_fchmod>, > chown = 0x549510 <vfswrap_chown>, fchown = 0x5495e0 <vfswrap_fchown>, > lchown = 0x5496c0 <vfswrap_lchown>, chdir = 0x549790 <vfswrap_chdir>, > getwd = 0x549860 <vfswrap_getwd>, ntimes = 0x549930 <vfswrap_ntimes>, > ftruncate = 0x549d90 <vfswrap_ftruncate>, > lock = 0x54a110 <vfswrap_lock>, > kernel_flock = 0x54a200 <vfswrap_kernel_flock>, > linux_setlease = 0x54a3e0 <vfswrap_linux_setlease>, > getlock = 0x54a2e0 <vfswrap_getlock>, > symlink = 0x54a4b0 <vfswrap_symlink>, > vfs_readlink = 0x54a580 <vfswrap_readlink>, > link = 0x54a660 <vfswrap_link>, mknod = 0x54a730 <vfswrap_mknod>, > realpath = 0x54a810 <vfswrap_realpath>, > notify_watch = 0x54a8f0 <vfswrap_notify_watch>, >---Type <return> to continue, or q <return> to quit--- > chflags = 0x54a920 <vfswrap_chflags>, > file_id_create = 0x802a21730 <fileid_file_id_create>, > streaminfo = 0x54a990 <vfswrap_streaminfo>, > get_real_filename = 0x54abc0 <vfswrap_get_real_filename>, > fget_nt_acl = 0x54ac10 <vfswrap_fget_nt_acl>, > get_nt_acl = 0x54acf0 <vfswrap_get_nt_acl>, > fset_nt_acl = 0x54add0 <vfswrap_fset_nt_acl>, > chmod_acl = 0x54aeb0 <vfswrap_chmod_acl>, > fchmod_acl = 0x54af90 <vfswrap_fchmod_acl>, > sys_acl_get_entry = 0x54b060 <vfswrap_sys_acl_get_entry>, > sys_acl_get_tag_type = 0x54b090 <vfswrap_sys_acl_get_tag_type>, > sys_acl_get_permset = 0x54b0c0 <vfswrap_sys_acl_get_permset>, > sys_acl_get_qualifier = 0x54b0f0 <vfswrap_sys_acl_get_qualifier>, > sys_acl_get_file = 0x54b110 <vfswrap_sys_acl_get_file>, > sys_acl_get_fd = 0x54b140 <vfswrap_sys_acl_get_fd>, > sys_acl_clear_perms = 0x54b160 <vfswrap_sys_acl_clear_perms>, > sys_acl_add_perm = 0x54b180 <vfswrap_sys_acl_add_perm>, > sys_acl_to_text = 0x54b1b0 <vfswrap_sys_acl_to_text>, > sys_acl_init = 0x54b1e0 <vfswrap_sys_acl_init>, > sys_acl_create_entry = 0x54b200 <vfswrap_sys_acl_create_entry>, > sys_acl_set_tag_type = 0x54b230 <vfswrap_sys_acl_set_tag_type>, > sys_acl_set_qualifier = 0x54b260 <vfswrap_sys_acl_set_qualifier>, > sys_acl_set_permset = 0x54b290 <vfswrap_sys_acl_set_permset>, > sys_acl_valid = 0x54b2c0 <vfswrap_sys_acl_valid>, > sys_acl_set_file = 0x54b2e0 <vfswrap_sys_acl_set_file>, > sys_acl_set_fd = 0x54b310 <vfswrap_sys_acl_set_fd>, >---Type <return> to continue, or q <return> to quit--- > sys_acl_delete_def_file = 0x54b340 <vfswrap_sys_acl_delete_def_file>, > sys_acl_get_perm = 0x54b360 <vfswrap_sys_acl_get_perm>, > sys_acl_free_text = 0x54b390 <vfswrap_sys_acl_free_text>, > sys_acl_free_acl = 0x54b3b0 <vfswrap_sys_acl_free_acl>, > sys_acl_free_qualifier = 0x54b3d0 <vfswrap_sys_acl_free_qualifier>, > getxattr = 0x54b400 <vfswrap_getxattr>, > lgetxattr = 0x54b440 <vfswrap_lgetxattr>, > fgetxattr = 0x54b480 <vfswrap_fgetxattr>, > listxattr = 0x54b4c0 <vfswrap_listxattr>, > llistxattr = 0x54b4f0 <vfswrap_llistxattr>, > flistxattr = 0x54b520 <vfswrap_flistxattr>, > removexattr = 0x54b560 <vfswrap_removexattr>, > lremovexattr = 0x54b590 <vfswrap_lremovexattr>, > fremovexattr = 0x54b5c0 <vfswrap_fremovexattr>, > setxattr = 0x54b5f0 <vfswrap_setxattr>, > lsetxattr = 0x54b630 <vfswrap_lsetxattr>, > fsetxattr = 0x54b670 <vfswrap_fsetxattr>, > aio_read = 0x54b6c0 <vfswrap_aio_read>, > aio_write = 0x54b6e0 <vfswrap_aio_write>, > aio_return_fn = 0x54b700 <vfswrap_aio_return>, > aio_cancel = 0x54b720 <vfswrap_aio_cancel>, > aio_error_fn = 0x54b750 <vfswrap_aio_error>, > aio_fsync = 0x54b770 <vfswrap_aio_fsync>, > aio_suspend = 0x54b7a0 <vfswrap_aio_suspend>, > aio_force = 0x54b7d0 <vfswrap_aio_force>, > is_offline = 0x54b7f0 <vfswrap_is_offline>, >---Type <return> to continue, or q <return> to quit--- > set_offline = 0x54b8d0 <vfswrap_set_offline>}, handles = { > connect_hnd = 0x802939050, disconnect = 0x802939050, > disk_free = 0x802939050, get_quota = 0x802939050, > set_quota = 0x802939050, get_shadow_copy_data = 0x802939050, > statvfs = 0x802939050, fs_capabilities = 0x802939050, > opendir = 0x802939050, readdir = 0x802939050, seekdir = 0x802939050, > telldir = 0x802939050, rewind_dir = 0x802939050, mkdir = 0x802939050, > rmdir = 0x802939050, closedir = 0x802939050, open = 0x802939050, > close_hnd = 0x802939050, vfs_read = 0x802939050, pread = 0x802939050, > write = 0x802939050, pwrite = 0x802939050, lseek = 0x802939050, > sendfile = 0x802939050, recvfile = 0x802939050, rename = 0x802939050, > fsync = 0x802939050, stat = 0x802939050, fstat = 0x802939050, > lstat = 0x802939050, unlink = 0x802939050, chmod = 0x802939050, > fchmod = 0x802939050, chown = 0x802939050, fchown = 0x802939050, > lchown = 0x802939050, chdir = 0x802939050, getwd = 0x802939050, > ntimes = 0x802939050, ftruncate = 0x802939050, lock = 0x802939050, > kernel_flock = 0x802939050, linux_setlease = 0x802939050, > getlock = 0x802939050, symlink = 0x802939050, > vfs_readlink = 0x802939050, link = 0x802939050, mknod = 0x802939050, > realpath = 0x802939050, notify_watch = 0x802939050, > chflags = 0x802939050, file_id_create = 0x802939850, > streaminfo = 0x802939050, get_real_filename = 0x802939050, > fget_nt_acl = 0x802939050, get_nt_acl = 0x802939050, > fset_nt_acl = 0x802939050, chmod_acl = 0x802939050, > fchmod_acl = 0x802939050, sys_acl_get_entry = 0x802939050, > sys_acl_get_tag_type = 0x802939050, sys_acl_get_permset = 0x802939050, >---Type <return> to continue, or q <return> to quit--- > sys_acl_get_qualifier = 0x802939050, sys_acl_get_file = 0x802939050, > sys_acl_get_fd = 0x802939050, sys_acl_clear_perms = 0x802939050, > sys_acl_add_perm = 0x802939050, sys_acl_to_text = 0x802939050, > sys_acl_init = 0x802939050, sys_acl_create_entry = 0x802939050, > sys_acl_set_tag_type = 0x802939050, sys_acl_set_qualifier = 0x802939050, > sys_acl_set_permset = 0x802939050, sys_acl_valid = 0x802939050, > sys_acl_set_file = 0x802939050, sys_acl_set_fd = 0x802939050, > sys_acl_delete_def_file = 0x802939050, sys_acl_get_perm = 0x802939050, > sys_acl_free_text = 0x802939050, sys_acl_free_acl = 0x802939050, > sys_acl_free_qualifier = 0x802939050, getxattr = 0x802939050, > lgetxattr = 0x802939050, fgetxattr = 0x802939050, > listxattr = 0x802939050, llistxattr = 0x802939050, > flistxattr = 0x802939050, removexattr = 0x802939050, > lremovexattr = 0x802939050, fremovexattr = 0x802939050, > setxattr = 0x802939050, lsetxattr = 0x802939050, > fsetxattr = 0x802939050, aio_read = 0x802939050, > aio_write = 0x802939050, aio_return = 0x802939050, > aio_cancel = 0x802939050, aio_error = 0x802939050, > aio_fsync = 0x802939050, aio_suspend = 0x802939050, > aio_force = 0x802939050, is_offline = 0x802939050, > set_offline = 0x802939050}}, vfs_handles = 0x802939850, > server_info = 0x80298b350, force_group_gid = 4294967295, > client_address = "10.0.8.115\000", 'ñ' <repeats 35 times>, vuid = 100, > lastused = 1250703882, lastused_count = 1250703884, used = true, > num_files_open = 0, num_smb_operations = 1584485, encrypt_level = 2, > encrypted_tid = false, case_sensitive = false, case_preserve = true, >---Type <return> to continue, or q <return> to quit--- > short_case_preserve = true, fs_capabilities = 3, hide_list = 0x0, > veto_list = 0x0, veto_oplock_list = 0x0, aio_write_behind_list = 0x0, > dfree_info = 0x0, pending_trans = 0x0, notify_ctx = 0x802905070} >(gdb) print *req >$101 = {flags2 = 51203, smbpid = 7236, mid = 5708, vuid = 100, tid = 1, > wct = 1 '\001', inbuf = 0x802974480 "", outbuf = 0x0, unread_bytes = 0, > encrypted = false, conn = 0x802927050} >(gdb) print dirtype >$102 = 22 >(gdb) print name_in >$103 = 0x802974660 "torture.lck" >(gdb) print has_wild >$104 = false >(gdb) n >2431 char *mask = NULL; >(gdb) n >2432 char *name = NULL; >(gdb) n >2433 char *p = NULL; >(gdb) n >2434 int count=0; >(gdb) n >2435 NTSTATUS status = NT_STATUS_OK; >(gdb) n >2437 TALLOC_CTX *ctx = talloc_tos(); >(gdb) n >2439 status = unix_convert(ctx, conn, name_in, has_wild, &name, NULL, &sbuf); >(gdb) list >2434 int count=0; >2435 NTSTATUS status = NT_STATUS_OK; >2436 SMB_STRUCT_STAT sbuf; >2437 TALLOC_CTX *ctx = talloc_tos(); >2438 >2439 status = unix_convert(ctx, conn, name_in, has_wild, &name, NULL, &sbuf); >2440 if (!NT_STATUS_IS_OK(status)) { >2441 return status; >2442 } >2443 >(gdb) s >unix_convert (ctx=0x802974050, conn=0x802927050, > orig_path=0x802974660 "torture.lck", allow_wcard_last_component=false, > pp_conv_path=0x7fffffffe518, pp_saved_last_component=0x0, > pst=0x7fffffffe490) at smbd/filename.c:131 >131 char *dirpath = NULL; >(gdb) list >126 char **pp_saved_last_component, >127 SMB_STRUCT_STAT *pst) >128 { >129 SMB_STRUCT_STAT st; >130 char *start, *end; >131 char *dirpath = NULL; >132 char *name = NULL; >133 char *stream = NULL; >134 bool component_was_mangled = False; >135 bool name_has_wildcard = False; >(gdb) n >132 char *name = NULL; >(gdb) n >133 char *stream = NULL; >(gdb) n >134 bool component_was_mangled = False; >(gdb) n >135 bool name_has_wildcard = False; >(gdb) n >136 bool posix_pathnames = false; >(gdb) n >138 int ret = -1; >(gdb) n >140 SET_STAT_INVALID(*pst); >(gdb) n >141 *pp_conv_path = NULL; >(gdb) print *pst >$105 = {st_dev = 4294960320, st_ino = 1, st_mode = 26, st_nlink = 0, > st_uid = 0, st_gid = 43467946, st_rdev = 8, st_atimespec = { > tv_sec = 140737488348712, tv_nsec = 34403206272}, st_mtimespec = { > tv_sec = 34403205200, tv_nsec = 13}, st_ctimespec = {tv_sec = 34403206752, > tv_nsec = 13}, st_size = 12680301, st_blocks = 140737488348464, > st_blksize = 8033335, st_flags = 0, st_gen = 1002, st_lspare = -1, > st_birthtimespec = {tv_sec = 34403206763, tv_nsec = 34403206764}} >(gdb) n >142 if(pp_saved_last_component) { >(gdb) n >146 if (conn->printer) { >(gdb) list >141 *pp_conv_path = NULL; >142 if(pp_saved_last_component) { >143 *pp_saved_last_component = NULL; >144 } >145 >146 if (conn->printer) { >147 /* we don't ever use the filenames on a printer share as a >148 filename - so don't convert them */ >149 if (!(*pp_conv_path = talloc_strdup(ctx,orig_path))) { >150 return NT_STATUS_NO_MEMORY; >(gdb) n >155 DEBUG(5, ("unix_convert called on file \"%s\"\n", orig_path)); >(gdb) list >150 return NT_STATUS_NO_MEMORY; >151 } >152 return NT_STATUS_OK; >153 } >154 >155 DEBUG(5, ("unix_convert called on file \"%s\"\n", orig_path)); >156 >157 /* >158 * Conversion to basic unix format is already done in >159 * check_path_syntax(). >(gdb) n >168 SMB_ASSERT(*orig_path != '/'); >(gdb) n >179 if (!*orig_path) { >(gdb) list >174 * searching the cache, but not if we are in a >175 * printing share. >176 * As we know this is valid we can return true here. >177 */ >178 >179 if (!*orig_path) { >180 if (!(name = talloc_strdup(ctx,"."))) { >181 return NT_STATUS_NO_MEMORY; >182 } >183 if (SMB_VFS_STAT(conn,name,&st) == 0) { >(gdb) print orig_path >$106 = 0x802974660 "torture.lck" >(gdb) n >192 if (orig_path[0] == '.' && (orig_path[1] == '/' || >(gdb) n >204 if (!(name = talloc_strdup(ctx, orig_path))) { >(gdb) list >199 &orig_path[2], allow_wcard_last_component); >200 } >201 return result; >202 } >203 >204 if (!(name = talloc_strdup(ctx, orig_path))) { >205 DEBUG(0, ("talloc_strdup failed\n")); >206 return NT_STATUS_NO_MEMORY; >207 } >208 >(gdb) n >218 if (conn->case_sensitive && !conn->case_preserve && >(gdb) list >213 * This is in conflict with the current (3.0.20) man page, but is >214 * what people expect from the "large directory howto". I'll update >215 * the man page. Thanks to jht@samba.org for finding this. JRA. >216 */ >217 >218 if (conn->case_sensitive && !conn->case_preserve && >219 !conn->short_case_preserve) { >220 strnorm(name, lp_defaultcase(SNUM(conn))); >221 } >222 >(gdb) print conn-case_sensitive >No symbol "case_sensitive" in current context. >(gdb) print conn->case_sensitive >$107 = false >(gdb) print conn->case_preserve >$108 = true >(gdb) n >227 if(pp_saved_last_component) { >(gdb) print pp_saved_last_component >$109 = (char **) 0x0 >(gdb) n >237 posix_pathnames = lp_posix_pathnames(); >(gdb) print posix_pathnames >$110 = false >(gdb) n >239 if (!posix_pathnames) { >(gdb) print posix_pathnames >$111 = false >(gdb) n >240 stream = strchr_m(name, ':'); >(gdb) n >242 if (stream != NULL) { >(gdb) n >253 start = name; >(gdb) n >261 if((!conn->case_sensitive || !(conn->fs_capabilities & FILE_CASE_SENSITIVE_SEARCH)) && >(gdb) print stream >$112 = 0x0 >(gdb) print conn->case_sensitive >$113 = false >(gdb) print conn->fs_capabilities >$114 = 3 >(gdb) n >272 if ((dirpath == NULL) && (!(dirpath = talloc_strdup(ctx,"")))) { >(gdb) n >282 if (posix_pathnames) { >(gdb) list >277 >278 /* >279 * stat the name - if it exists then we are all done! >280 */ >281 >282 if (posix_pathnames) { >283 ret = SMB_VFS_LSTAT(conn,name,&st); >284 } else { >285 ret = SMB_VFS_STAT(conn,name,&st); >286 } >(gdb) print posix_pathnames >$115 = false >(gdb) n >285 ret = SMB_VFS_STAT(conn,name,&st); >(gdb) print conn >$116 = (connection_struct *) 0x802927050 >(gdb) print name >$117 = 0x802974700 "torture.lck" >(gdb) print st >$118 = {st_dev = 80, st_ino = 0, st_mode = 16384, st_nlink = 663, st_uid = 8, > st_gid = 43466752, st_rdev = 8, st_atimespec = {tv_sec = 34403205200, > tv_nsec = 34403205200}, st_mtimespec = {tv_sec = 34403206576, > tv_nsec = 34403206576}, st_ctimespec = {tv_sec = 34403206496, > tv_nsec = 140737488347568}, st_size = 34396601705, st_blocks = 12131760, > st_blksize = 43468208, st_flags = 8, st_gen = 43466752, st_lspare = 8, > st_birthtimespec = {tv_sec = 34403206496, tv_nsec = 140737488347632}} >(gdb) n >288 if (ret == 0) { >(gdb) print ret >$119 = -1 >(gdb) print errno >$120 = 2 >(gdb) echo "errno 2 is ENOENT: No such file or directory." >"errno 2 is ENOENT: No such file or directory."(gdb) >"errno 2 is ENOENT: No such file or directory."(gdb) echo >(gdb) print "errno 2 is ENOENT: No such file or directory." >$121 = "errno 2 is ENOENT: No such file or directory." >(gdb) >$122 = "errno 2 is ENOENT: No such file or directory." >(gdb) n >309 DEBUG(5,("unix_convert begin: name = %s, dirpath = %s, start = %s\n", >(gdb) list >304 DEBUG(5,("conversion finished %s -> %s\n",orig_path, name)); >305 *pst = st; >306 goto done; >307 } >308 >309 DEBUG(5,("unix_convert begin: name = %s, dirpath = %s, start = %s\n", >310 name, dirpath, start)); >311 >312 /* >313 * A special case - if we don't have any mangling chars and are case >(gdb) n >318 if ((conn->case_sensitive || !(conn->fs_capabilities & FILE_CASE_SENSITIVE_SEARCH)) && >(gdb) n >328 if (mangle_is_mangled(start, conn->params)) { >(gdb) n >347 end = strchr(start, '/'); >(gdb) list >342 for (; start ; start = (end?end+1:(char *)NULL)) { >343 /* >344 * Pinpoint the end of this section of the filename. >345 */ >346 /* mb safe. '/' can't be in any encoded char. */ >347 end = strchr(start, '/'); >348 >349 /* >350 * Chop the name at this point. >351 */ >(gdb) print start >$123 = 0x802974700 "torture.lck" >(gdb) print end >$124 = 0x7fffffffe390 "ªD\227\002\b" >(gdb) n >352 if (end) { >(gdb) print end >$125 = 0x0 >(gdb) n >356 if (pp_saved_last_component) { >(gdb) list >351 */ >352 if (end) { >353 *end = 0; >354 } >355 >356 if (pp_saved_last_component) { >357 TALLOC_FREE(*pp_saved_last_component); >358 *pp_saved_last_component = talloc_strdup(ctx, >359 end ? end + 1 : start); >360 if (!*pp_saved_last_component) { >(gdb) print pp_saved_last_component >$126 = (char **) 0x0 >(gdb) n >368 if (ISDOT(start)) { >(gdb) print start >$127 = 0x802974700 "torture.lck" >(gdb) n >382 name_has_wildcard = ms_has_wild(start); >(gdb) n >385 if (name_has_wildcard && !allow_wcard_last_component) { >(gdb) n >391 if (name_has_wildcard && end) { >(gdb) n >400 if (posix_pathnames) { >(gdb) print posix_pathnames >$128 = false >(gdb) list >395 >396 /* >397 * Check if the name exists up to this point. >398 */ >399 >400 if (posix_pathnames) { >401 ret = SMB_VFS_LSTAT(conn,name, &st); >402 } else { >403 ret = SMB_VFS_STAT(conn,name, &st); >404 } >(gdb) print ret >$129 = -1 >(gdb) n >403 ret = SMB_VFS_STAT(conn,name, &st); >(gdb) n >406 if (ret == 0) { >(gdb) print ret >$130 = -1 >(gdb) print errno >$131 = 2 >(gdb) print "File still does not exist" >$132 = "File still does not exist" >(gdb) n >441 char *found_name = NULL; >(gdb) list >436 >437 *pst = st; >438 } >439 >440 } else { >441 char *found_name = NULL; >442 >443 /* Stat failed - ensure we don't use it. */ >444 SET_STAT_INVALID(st); >445 >(gdb) print st >$133 = {st_dev = 80, st_ino = 0, st_mode = 16384, st_nlink = 663, st_uid = 8, > st_gid = 43466752, st_rdev = 8, st_atimespec = {tv_sec = 34403205200, > tv_nsec = 34403205200}, st_mtimespec = {tv_sec = 34403206576, > tv_nsec = 34403206576}, st_ctimespec = {tv_sec = 34403206496, > tv_nsec = 140737488347568}, st_size = 34396601705, st_blocks = 12131760, > st_blksize = 43468208, st_flags = 8, st_gen = 43466752, st_lspare = 8, > st_birthtimespec = {tv_sec = 34403206496, tv_nsec = 140737488347632}} >(gdb) n >444 SET_STAT_INVALID(st); >(gdb) print st >$134 = {st_dev = 80, st_ino = 0, st_mode = 16384, st_nlink = 663, st_uid = 8, > st_gid = 43466752, st_rdev = 8, st_atimespec = {tv_sec = 34403205200, > tv_nsec = 34403205200}, st_mtimespec = {tv_sec = 34403206576, > tv_nsec = 34403206576}, st_ctimespec = {tv_sec = 34403206496, > tv_nsec = 140737488347568}, st_size = 34396601705, st_blocks = 12131760, > st_blksize = 43468208, st_flags = 8, st_gen = 43466752, st_lspare = 8, > st_birthtimespec = {tv_sec = 34403206496, tv_nsec = 140737488347632}} >(gdb) n >450 errno = 0; >(gdb) print st >$135 = {st_dev = 80, st_ino = 0, st_mode = 16384, st_nlink = 0, st_uid = 8, > st_gid = 43466752, st_rdev = 8, st_atimespec = {tv_sec = 34403205200, > tv_nsec = 34403205200}, st_mtimespec = {tv_sec = 34403206576, > tv_nsec = 34403206576}, st_ctimespec = {tv_sec = 34403206496, > tv_nsec = 140737488347568}, st_size = 34396601705, st_blocks = 12131760, > st_blksize = 43468208, st_flags = 8, st_gen = 43466752, st_lspare = 8, > st_birthtimespec = {tv_sec = 34403206496, tv_nsec = 140737488347632}} >(gdb) n >456 if (name_has_wildcard || >(gdb) n >462 if (end) { >(gdb) list >457 (get_real_filename_mangled( >458 conn, dirpath, start, >459 talloc_tos(), &found_name) == -1)) { >460 char *unmangled; >461 >462 if (end) { >463 /* >464 * An intermediate part of the name >465 * can't be found. >466 */ >(gdb) print dirpath >$136 = 0x8029747c0 "" >(gdb) print start >$137 = 0x802974700 "torture.lck" >(gdb) print found_name >$138 = 0x0 >(gdb) list >467 DEBUG(5,("Intermediate not found %s\n", >468 start)); >469 *end = '/'; >470 >471 /* >472 * We need to return the fact that the >473 * intermediate name resolution failed. >474 * This is used to return an error of >475 * ERRbadpath rather than ERRbadfile. >476 * Some Windows applications depend on >(gdb) n >506 if ((errno != 0) && (errno != ENOENT) >(gdb) print errno >$139 = 2 >(gdb) n >531 if (!conn->case_preserve || >(gdb) list >526 * We need to strupper() or strlower() it as >527 * this conversion may be used for file creation >528 * purposes. Fix inspired by >529 * Thomas Neumann <t.neumann@iku-ag.de>. >530 */ >531 if (!conn->case_preserve || >532 (mangle_is_8_3(start, False, >533 conn->params) && >534 !conn->short_case_preserve)) { >535 strnorm(start, >(gdb) n >544 if (mangle_is_mangled(start, conn->params) >(gdb) n >571 DEBUG(5,("New file %s\n",start)); >(gdb) n > >Program received signal SIGUSR1, User defined signal 1. >unix_convert (ctx=0x802974050, conn=0x802927050, > orig_path=0x802974660 "torture.lck", allow_wcard_last_component=false, > pp_conv_path=0x7fffffffe518, pp_saved_last_component=0x0, > pst=0x7fffffffe490) at smbd/filename.c:571 >571 DEBUG(5,("New file %s\n",start)); >(gdb) n >718 if (stream != NULL) { >(gdb) print errno >$140 = 2 >(gdb) print dirpath >$141 = 0x8029747c0 "" >(gdb) >$142 = 0x8029747c0 "" >(gdb) list >713 */ >714 >715 DEBUG(5,("conversion finished %s -> %s\n",orig_path, name)); >716 >717 done: >718 if (stream != NULL) { >719 char *tmp = NULL; >720 >721 result = build_stream_path(ctx, conn, orig_path, name, stream, >722 pst, &tmp); >(gdb) print start >$143 = 0x802974700 "torture.lck" >(gdb) n >732 *pp_conv_path = name; >(gdb) print name >$144 = 0x802974700 "torture.lck" >(gdb) print result >$145 = {v = 43466752} >(gdb) print "seems like something else should have happened since the file does not exist ... althogh the name has been converted" >$146 = "seems like something else should have happened since the file does not exist ... althogh the name has been converted" >(gdb) n >733 TALLOC_FREE(dirpath); >(gdb) n >734 return NT_STATUS_OK; >(gdb) n >750 } >(gdb) n >unlink_internals (conn=0x802927050, req=0x802974520, dirtype=22, > name_in=0x802974660 "torture.lck", has_wild=false) at smbd/reply.c:2440 >2440 if (!NT_STATUS_IS_OK(status)) { >(gdb) list >2435 NTSTATUS status = NT_STATUS_OK; >2436 SMB_STRUCT_STAT sbuf; >2437 TALLOC_CTX *ctx = talloc_tos(); >2438 >2439 status = unix_convert(ctx, conn, name_in, has_wild, &name, NULL, &sbuf); >2440 if (!NT_STATUS_IS_OK(status)) { >2441 return status; >2442 } >2443 >2444 p = strrchr_m(name,'/'); >(gdb) print status >$147 = {v = 0} >(gdb) print name_in >$148 = 0x802974660 "torture.lck" >(gdb) print name >$149 = 0x802974700 "torture.lck" >(gdb) n >2444 p = strrchr_m(name,'/'); >(gdb) n >2445 if (!p) { >(gdb) n >2446 directory = talloc_strdup(ctx, "."); >(gdb) n >2447 if (!directory) { >(gdb) print directory >$150 = 0x802974910 "." >(gdb) n >2450 mask = name; >(gdb) n >2466 if (!VALID_STAT(sbuf) && mangle_is_mangled(mask,conn->params)) { >(gdb) n >2477 if (!has_wild) { >(gdb) n >2478 directory = talloc_asprintf(ctx, >(gdb) n >2482 if (!directory) { >(gdb) list >2477 if (!has_wild) { >2478 directory = talloc_asprintf(ctx, >2479 "%s/%s", >2480 directory, >2481 mask); >2482 if (!directory) { >2483 return NT_STATUS_NO_MEMORY; >2484 } >2485 if (dirtype == 0) { >2486 dirtype = FILE_ATTRIBUTE_NORMAL; >(gdb) n >2485 if (dirtype == 0) { >(gdb) print dirtype >$151 = 22 >(gdb) n >2489 status = check_name(conn, directory); >(gdb) print directory >$152 = 0x802974970 "./torture.lck" >(gdb) print *conn >$153 = {next = 0x0, prev = 0x0, cnum = 1, params = 0x8029023f0, > force_user = false, vuid_cache = {next_entry = 1, array = {{ > server_info = 0x80298b350, vuid = 100, read_only = false, > admin_user = false}, {server_info = 0x0, vuid = 0, read_only = false, > admin_user = false} <repeats 31 times>}}, dirptr = 0x0, > printer = false, ipc = false, read_only = false, admin_user = false, > dirpath = 0xb964fb "", > connectpath = 0x80290b2e0 "/var/samba/exports/smbtorture/meddy/smbtorture", > origpath = 0x80290b310 "/var/samba/exports/smbtorture/meddy/smbtorture", > vfs = {ops = {connect_fn = 0x802a211b0 <fileid_connect>, > disconnect = 0x802a21620 <fileid_disconnect>, > disk_free = 0x547880 <vfswrap_disk_free>, > get_quota = 0x5478e0 <vfswrap_get_quota>, > set_quota = 0x547910 <vfswrap_set_quota>, > get_shadow_copy_data = 0x547940 <vfswrap_get_shadow_copy_data>, > statvfs = 0x547970 <vfswrap_statvfs>, > fs_capabilities = 0x5479a0 <vfswrap_fs_capabilities>, > opendir = 0x5479b0 <vfswrap_opendir>, > readdir = 0x547ae0 <vfswrap_readdir>, > seekdir = 0x547bb0 <vfswrap_seekdir>, > telldir = 0x547c80 <vfswrap_telldir>, > rewind_dir = 0x547d50 <vfswrap_rewinddir>, > mkdir = 0x547e10 <vfswrap_mkdir>, rmdir = 0x547fb0 <vfswrap_rmdir>, > closedir = 0x548080 <vfswrap_closedir>, open = 0x548150 <vfswrap_open>, > close_fn = 0x548230 <vfswrap_close>, vfs_read = 0x548300 <vfswrap_read>, > pread = 0x548410 <vfswrap_pread>, write = 0x548570 <vfswrap_write>, >---Type <return> to continue, or q <return> to quit--- > pwrite = 0x548680 <vfswrap_pwrite>, lseek = 0x5487d0 <vfswrap_lseek>, > sendfile = 0x5488f0 <vfswrap_sendfile>, > recvfile = 0x548a10 <vfswrap_recvfile>, > rename = 0x548d30 <vfswrap_rename>, fsync = 0x548e20 <vfswrap_fsync>, > stat = 0x548ef0 <vfswrap_stat>, fstat = 0x548fc0 <vfswrap_fstat>, > lstat = 0x549090 <vfswrap_lstat>, unlink = 0x549160 <vfswrap_unlink>, > chmod = 0x549230 <vfswrap_chmod>, fchmod = 0x5493a0 <vfswrap_fchmod>, > chown = 0x549510 <vfswrap_chown>, fchown = 0x5495e0 <vfswrap_fchown>, > lchown = 0x5496c0 <vfswrap_lchown>, chdir = 0x549790 <vfswrap_chdir>, > getwd = 0x549860 <vfswrap_getwd>, ntimes = 0x549930 <vfswrap_ntimes>, > ftruncate = 0x549d90 <vfswrap_ftruncate>, > lock = 0x54a110 <vfswrap_lock>, > kernel_flock = 0x54a200 <vfswrap_kernel_flock>, > linux_setlease = 0x54a3e0 <vfswrap_linux_setlease>, > getlock = 0x54a2e0 <vfswrap_getlock>, > symlink = 0x54a4b0 <vfswrap_symlink>, > vfs_readlink = 0x54a580 <vfswrap_readlink>, > link = 0x54a660 <vfswrap_link>, mknod = 0x54a730 <vfswrap_mknod>, > realpath = 0x54a810 <vfswrap_realpath>, > notify_watch = 0x54a8f0 <vfswrap_notify_watch>, > chflags = 0x54a920 <vfswrap_chflags>, > file_id_create = 0x802a21730 <fileid_file_id_create>, > streaminfo = 0x54a990 <vfswrap_streaminfo>, > get_real_filename = 0x54abc0 <vfswrap_get_real_filename>, > fget_nt_acl = 0x54ac10 <vfswrap_fget_nt_acl>, > get_nt_acl = 0x54acf0 <vfswrap_get_nt_acl>, >---Type <return> to continue, or q <return> to quit--- > fset_nt_acl = 0x54add0 <vfswrap_fset_nt_acl>, > chmod_acl = 0x54aeb0 <vfswrap_chmod_acl>, > fchmod_acl = 0x54af90 <vfswrap_fchmod_acl>, > sys_acl_get_entry = 0x54b060 <vfswrap_sys_acl_get_entry>, > sys_acl_get_tag_type = 0x54b090 <vfswrap_sys_acl_get_tag_type>, > sys_acl_get_permset = 0x54b0c0 <vfswrap_sys_acl_get_permset>, > sys_acl_get_qualifier = 0x54b0f0 <vfswrap_sys_acl_get_qualifier>, > sys_acl_get_file = 0x54b110 <vfswrap_sys_acl_get_file>, > sys_acl_get_fd = 0x54b140 <vfswrap_sys_acl_get_fd>, > sys_acl_clear_perms = 0x54b160 <vfswrap_sys_acl_clear_perms>, > sys_acl_add_perm = 0x54b180 <vfswrap_sys_acl_add_perm>, > sys_acl_to_text = 0x54b1b0 <vfswrap_sys_acl_to_text>, > sys_acl_init = 0x54b1e0 <vfswrap_sys_acl_init>, > sys_acl_create_entry = 0x54b200 <vfswrap_sys_acl_create_entry>, > sys_acl_set_tag_type = 0x54b230 <vfswrap_sys_acl_set_tag_type>, > sys_acl_set_qualifier = 0x54b260 <vfswrap_sys_acl_set_qualifier>, > sys_acl_set_permset = 0x54b290 <vfswrap_sys_acl_set_permset>, > sys_acl_valid = 0x54b2c0 <vfswrap_sys_acl_valid>, > sys_acl_set_file = 0x54b2e0 <vfswrap_sys_acl_set_file>, > sys_acl_set_fd = 0x54b310 <vfswrap_sys_acl_set_fd>, > sys_acl_delete_def_file = 0x54b340 <vfswrap_sys_acl_delete_def_file>, > sys_acl_get_perm = 0x54b360 <vfswrap_sys_acl_get_perm>, > sys_acl_free_text = 0x54b390 <vfswrap_sys_acl_free_text>, > sys_acl_free_acl = 0x54b3b0 <vfswrap_sys_acl_free_acl>, > sys_acl_free_qualifier = 0x54b3d0 <vfswrap_sys_acl_free_qualifier>, > getxattr = 0x54b400 <vfswrap_getxattr>, >---Type <return> to continue, or q <return> to quit--- > lgetxattr = 0x54b440 <vfswrap_lgetxattr>, > fgetxattr = 0x54b480 <vfswrap_fgetxattr>, > listxattr = 0x54b4c0 <vfswrap_listxattr>, > llistxattr = 0x54b4f0 <vfswrap_llistxattr>, > flistxattr = 0x54b520 <vfswrap_flistxattr>, > removexattr = 0x54b560 <vfswrap_removexattr>, > lremovexattr = 0x54b590 <vfswrap_lremovexattr>, > fremovexattr = 0x54b5c0 <vfswrap_fremovexattr>, > setxattr = 0x54b5f0 <vfswrap_setxattr>, > lsetxattr = 0x54b630 <vfswrap_lsetxattr>, > fsetxattr = 0x54b670 <vfswrap_fsetxattr>, > aio_read = 0x54b6c0 <vfswrap_aio_read>, > aio_write = 0x54b6e0 <vfswrap_aio_write>, > aio_return_fn = 0x54b700 <vfswrap_aio_return>, > aio_cancel = 0x54b720 <vfswrap_aio_cancel>, > aio_error_fn = 0x54b750 <vfswrap_aio_error>, > aio_fsync = 0x54b770 <vfswrap_aio_fsync>, > aio_suspend = 0x54b7a0 <vfswrap_aio_suspend>, > aio_force = 0x54b7d0 <vfswrap_aio_force>, > is_offline = 0x54b7f0 <vfswrap_is_offline>, > set_offline = 0x54b8d0 <vfswrap_set_offline>}, handles = { > connect_hnd = 0x802939850, disconnect = 0x802939850, > disk_free = 0x802939050, get_quota = 0x802939050, > set_quota = 0x802939050, get_shadow_copy_data = 0x802939050, > statvfs = 0x802939050, fs_capabilities = 0x802939050, > opendir = 0x802939050, readdir = 0x802939050, seekdir = 0x802939050, >---Type <return> to continue, or q <return> to quit--- > telldir = 0x802939050, rewind_dir = 0x802939050, mkdir = 0x802939050, > rmdir = 0x802939050, closedir = 0x802939050, open = 0x802939050, > close_hnd = 0x802939050, vfs_read = 0x802939050, pread = 0x802939050, > write = 0x802939050, pwrite = 0x802939050, lseek = 0x802939050, > sendfile = 0x802939050, recvfile = 0x802939050, rename = 0x802939050, > fsync = 0x802939050, stat = 0x802939050, fstat = 0x802939050, > lstat = 0x802939050, unlink = 0x802939050, chmod = 0x802939050, > fchmod = 0x802939050, chown = 0x802939050, fchown = 0x802939050, > lchown = 0x802939050, chdir = 0x802939050, getwd = 0x802939050, > ntimes = 0x802939050, ftruncate = 0x802939050, lock = 0x802939050, > kernel_flock = 0x802939050, linux_setlease = 0x802939050, > getlock = 0x802939050, symlink = 0x802939050, > vfs_readlink = 0x802939050, link = 0x802939050, mknod = 0x802939050, > realpath = 0x802939050, notify_watch = 0x802939050, > chflags = 0x802939050, file_id_create = 0x802939850, > streaminfo = 0x802939050, get_real_filename = 0x802939050, > fget_nt_acl = 0x802939050, get_nt_acl = 0x802939050, > fset_nt_acl = 0x802939050, chmod_acl = 0x802939050, > fchmod_acl = 0x802939050, sys_acl_get_entry = 0x802939050, > sys_acl_get_tag_type = 0x802939050, sys_acl_get_permset = 0x802939050, > sys_acl_get_qualifier = 0x802939050, sys_acl_get_file = 0x802939050, > sys_acl_get_fd = 0x802939050, sys_acl_clear_perms = 0x802939050, > sys_acl_add_perm = 0x802939050, sys_acl_to_text = 0x802939050, > sys_acl_init = 0x802939050, sys_acl_create_entry = 0x802939050, > sys_acl_set_tag_type = 0x802939050, sys_acl_set_qualifier = 0x802939050, > sys_acl_set_permset = 0x802939050, sys_acl_valid = 0x802939050, >---Type <return> to continue, or q <return> to quit--- > sys_acl_set_file = 0x802939050, sys_acl_set_fd = 0x802939050, > sys_acl_delete_def_file = 0x802939050, sys_acl_get_perm = 0x802939050, > sys_acl_free_text = 0x802939050, sys_acl_free_acl = 0x802939050, > sys_acl_free_qualifier = 0x802939050, getxattr = 0x802939050, > lgetxattr = 0x802939050, fgetxattr = 0x802939050, > listxattr = 0x802939050, llistxattr = 0x802939050, > flistxattr = 0x802939050, removexattr = 0x802939050, > lremovexattr = 0x802939050, fremovexattr = 0x802939050, > setxattr = 0x802939050, lsetxattr = 0x802939050, > fsetxattr = 0x802939050, aio_read = 0x802939050, > aio_write = 0x802939050, aio_return = 0x802939050, > aio_cancel = 0x802939050, aio_error = 0x802939050, > aio_fsync = 0x802939050, aio_suspend = 0x802939050, > aio_force = 0x802939050, is_offline = 0x802939050, > set_offline = 0x802939050}}, vfs_opaque = {ops = { > connect_fn = 0x547850 <vfswrap_connect>, > disconnect = 0x547870 <vfswrap_disconnect>, > disk_free = 0x547880 <vfswrap_disk_free>, > get_quota = 0x5478e0 <vfswrap_get_quota>, > set_quota = 0x547910 <vfswrap_set_quota>, > get_shadow_copy_data = 0x547940 <vfswrap_get_shadow_copy_data>, > statvfs = 0x547970 <vfswrap_statvfs>, > fs_capabilities = 0x5479a0 <vfswrap_fs_capabilities>, > opendir = 0x5479b0 <vfswrap_opendir>, > readdir = 0x547ae0 <vfswrap_readdir>, > seekdir = 0x547bb0 <vfswrap_seekdir>, >---Type <return> to continue, or q <return> to quit--- > telldir = 0x547c80 <vfswrap_telldir>, > rewind_dir = 0x547d50 <vfswrap_rewinddir>, > mkdir = 0x547e10 <vfswrap_mkdir>, rmdir = 0x547fb0 <vfswrap_rmdir>, > closedir = 0x548080 <vfswrap_closedir>, open = 0x548150 <vfswrap_open>, > close_fn = 0x548230 <vfswrap_close>, vfs_read = 0x548300 <vfswrap_read>, > pread = 0x548410 <vfswrap_pread>, write = 0x548570 <vfswrap_write>, > pwrite = 0x548680 <vfswrap_pwrite>, lseek = 0x5487d0 <vfswrap_lseek>, > sendfile = 0x5488f0 <vfswrap_sendfile>, > recvfile = 0x548a10 <vfswrap_recvfile>, > rename = 0x548d30 <vfswrap_rename>, fsync = 0x548e20 <vfswrap_fsync>, > stat = 0x548ef0 <vfswrap_stat>, fstat = 0x548fc0 <vfswrap_fstat>, > lstat = 0x549090 <vfswrap_lstat>, unlink = 0x549160 <vfswrap_unlink>, > chmod = 0x549230 <vfswrap_chmod>, fchmod = 0x5493a0 <vfswrap_fchmod>, > chown = 0x549510 <vfswrap_chown>, fchown = 0x5495e0 <vfswrap_fchown>, > lchown = 0x5496c0 <vfswrap_lchown>, chdir = 0x549790 <vfswrap_chdir>, > getwd = 0x549860 <vfswrap_getwd>, ntimes = 0x549930 <vfswrap_ntimes>, > ftruncate = 0x549d90 <vfswrap_ftruncate>, > lock = 0x54a110 <vfswrap_lock>, > kernel_flock = 0x54a200 <vfswrap_kernel_flock>, > linux_setlease = 0x54a3e0 <vfswrap_linux_setlease>, > getlock = 0x54a2e0 <vfswrap_getlock>, > symlink = 0x54a4b0 <vfswrap_symlink>, > vfs_readlink = 0x54a580 <vfswrap_readlink>, > link = 0x54a660 <vfswrap_link>, mknod = 0x54a730 <vfswrap_mknod>, > realpath = 0x54a810 <vfswrap_realpath>, > notify_watch = 0x54a8f0 <vfswrap_notify_watch>, >---Type <return> to continue, or q <return> to quit--- > chflags = 0x54a920 <vfswrap_chflags>, > file_id_create = 0x802a21730 <fileid_file_id_create>, > streaminfo = 0x54a990 <vfswrap_streaminfo>, > get_real_filename = 0x54abc0 <vfswrap_get_real_filename>, > fget_nt_acl = 0x54ac10 <vfswrap_fget_nt_acl>, > get_nt_acl = 0x54acf0 <vfswrap_get_nt_acl>, > fset_nt_acl = 0x54add0 <vfswrap_fset_nt_acl>, > chmod_acl = 0x54aeb0 <vfswrap_chmod_acl>, > fchmod_acl = 0x54af90 <vfswrap_fchmod_acl>, > sys_acl_get_entry = 0x54b060 <vfswrap_sys_acl_get_entry>, > sys_acl_get_tag_type = 0x54b090 <vfswrap_sys_acl_get_tag_type>, > sys_acl_get_permset = 0x54b0c0 <vfswrap_sys_acl_get_permset>, > sys_acl_get_qualifier = 0x54b0f0 <vfswrap_sys_acl_get_qualifier>, > sys_acl_get_file = 0x54b110 <vfswrap_sys_acl_get_file>, > sys_acl_get_fd = 0x54b140 <vfswrap_sys_acl_get_fd>, > sys_acl_clear_perms = 0x54b160 <vfswrap_sys_acl_clear_perms>, > sys_acl_add_perm = 0x54b180 <vfswrap_sys_acl_add_perm>, > sys_acl_to_text = 0x54b1b0 <vfswrap_sys_acl_to_text>, > sys_acl_init = 0x54b1e0 <vfswrap_sys_acl_init>, > sys_acl_create_entry = 0x54b200 <vfswrap_sys_acl_create_entry>, > sys_acl_set_tag_type = 0x54b230 <vfswrap_sys_acl_set_tag_type>, > sys_acl_set_qualifier = 0x54b260 <vfswrap_sys_acl_set_qualifier>, > sys_acl_set_permset = 0x54b290 <vfswrap_sys_acl_set_permset>, > sys_acl_valid = 0x54b2c0 <vfswrap_sys_acl_valid>, > sys_acl_set_file = 0x54b2e0 <vfswrap_sys_acl_set_file>, > sys_acl_set_fd = 0x54b310 <vfswrap_sys_acl_set_fd>, >---Type <return> to continue, or q <return> to quit--- > sys_acl_delete_def_file = 0x54b340 <vfswrap_sys_acl_delete_def_file>, > sys_acl_get_perm = 0x54b360 <vfswrap_sys_acl_get_perm>, > sys_acl_free_text = 0x54b390 <vfswrap_sys_acl_free_text>, > sys_acl_free_acl = 0x54b3b0 <vfswrap_sys_acl_free_acl>, > sys_acl_free_qualifier = 0x54b3d0 <vfswrap_sys_acl_free_qualifier>, > getxattr = 0x54b400 <vfswrap_getxattr>, > lgetxattr = 0x54b440 <vfswrap_lgetxattr>, > fgetxattr = 0x54b480 <vfswrap_fgetxattr>, > listxattr = 0x54b4c0 <vfswrap_listxattr>, > llistxattr = 0x54b4f0 <vfswrap_llistxattr>, > flistxattr = 0x54b520 <vfswrap_flistxattr>, > removexattr = 0x54b560 <vfswrap_removexattr>, > lremovexattr = 0x54b590 <vfswrap_lremovexattr>, > fremovexattr = 0x54b5c0 <vfswrap_fremovexattr>, > setxattr = 0x54b5f0 <vfswrap_setxattr>, > lsetxattr = 0x54b630 <vfswrap_lsetxattr>, > fsetxattr = 0x54b670 <vfswrap_fsetxattr>, > aio_read = 0x54b6c0 <vfswrap_aio_read>, > aio_write = 0x54b6e0 <vfswrap_aio_write>, > aio_return_fn = 0x54b700 <vfswrap_aio_return>, > aio_cancel = 0x54b720 <vfswrap_aio_cancel>, > aio_error_fn = 0x54b750 <vfswrap_aio_error>, > aio_fsync = 0x54b770 <vfswrap_aio_fsync>, > aio_suspend = 0x54b7a0 <vfswrap_aio_suspend>, > aio_force = 0x54b7d0 <vfswrap_aio_force>, > is_offline = 0x54b7f0 <vfswrap_is_offline>, >---Type <return> to continue, or q <return> to quit--- > set_offline = 0x54b8d0 <vfswrap_set_offline>}, handles = { > connect_hnd = 0x802939050, disconnect = 0x802939050, > disk_free = 0x802939050, get_quota = 0x802939050, > set_quota = 0x802939050, get_shadow_copy_data = 0x802939050, > statvfs = 0x802939050, fs_capabilities = 0x802939050, > opendir = 0x802939050, readdir = 0x802939050, seekdir = 0x802939050, > telldir = 0x802939050, rewind_dir = 0x802939050, mkdir = 0x802939050, > rmdir = 0x802939050, closedir = 0x802939050, open = 0x802939050, > close_hnd = 0x802939050, vfs_read = 0x802939050, pread = 0x802939050, > write = 0x802939050, pwrite = 0x802939050, lseek = 0x802939050, > sendfile = 0x802939050, recvfile = 0x802939050, rename = 0x802939050, > fsync = 0x802939050, stat = 0x802939050, fstat = 0x802939050, > lstat = 0x802939050, unlink = 0x802939050, chmod = 0x802939050, > fchmod = 0x802939050, chown = 0x802939050, fchown = 0x802939050, > lchown = 0x802939050, chdir = 0x802939050, getwd = 0x802939050, > ntimes = 0x802939050, ftruncate = 0x802939050, lock = 0x802939050, > kernel_flock = 0x802939050, linux_setlease = 0x802939050, > getlock = 0x802939050, symlink = 0x802939050, > vfs_readlink = 0x802939050, link = 0x802939050, mknod = 0x802939050, > realpath = 0x802939050, notify_watch = 0x802939050, > chflags = 0x802939050, file_id_create = 0x802939850, > streaminfo = 0x802939050, get_real_filename = 0x802939050, > fget_nt_acl = 0x802939050, get_nt_acl = 0x802939050, > fset_nt_acl = 0x802939050, chmod_acl = 0x802939050, > fchmod_acl = 0x802939050, sys_acl_get_entry = 0x802939050, > sys_acl_get_tag_type = 0x802939050, sys_acl_get_permset = 0x802939050, >---Type <return> to continue, or q <return> to quit--- > sys_acl_get_qualifier = 0x802939050, sys_acl_get_file = 0x802939050, > sys_acl_get_fd = 0x802939050, sys_acl_clear_perms = 0x802939050, > sys_acl_add_perm = 0x802939050, sys_acl_to_text = 0x802939050, > sys_acl_init = 0x802939050, sys_acl_create_entry = 0x802939050, > sys_acl_set_tag_type = 0x802939050, sys_acl_set_qualifier = 0x802939050, > sys_acl_set_permset = 0x802939050, sys_acl_valid = 0x802939050, > sys_acl_set_file = 0x802939050, sys_acl_set_fd = 0x802939050, > sys_acl_delete_def_file = 0x802939050, sys_acl_get_perm = 0x802939050, > sys_acl_free_text = 0x802939050, sys_acl_free_acl = 0x802939050, > sys_acl_free_qualifier = 0x802939050, getxattr = 0x802939050, > lgetxattr = 0x802939050, fgetxattr = 0x802939050, > listxattr = 0x802939050, llistxattr = 0x802939050, > flistxattr = 0x802939050, removexattr = 0x802939050, > lremovexattr = 0x802939050, fremovexattr = 0x802939050, > setxattr = 0x802939050, lsetxattr = 0x802939050, > fsetxattr = 0x802939050, aio_read = 0x802939050, > aio_write = 0x802939050, aio_return = 0x802939050, > aio_cancel = 0x802939050, aio_error = 0x802939050, > aio_fsync = 0x802939050, aio_suspend = 0x802939050, > aio_force = 0x802939050, is_offline = 0x802939050, > set_offline = 0x802939050}}, vfs_handles = 0x802939850, > server_info = 0x80298b350, force_group_gid = 4294967295, > client_address = "10.0.8.115\000", 'ñ' <repeats 35 times>, vuid = 100, > lastused = 1250703882, lastused_count = 1250703884, used = true, > num_files_open = 0, num_smb_operations = 1584485, encrypt_level = 2, > encrypted_tid = false, case_sensitive = false, case_preserve = true, >---Type <return> to continue, or q <return> to quit--- > short_case_preserve = true, fs_capabilities = 3, hide_list = 0x0, > veto_list = 0x0, veto_oplock_list = 0x0, aio_write_behind_list = 0x0, > dfree_info = 0x0, pending_trans = 0x0, notify_ctx = 0x802905070} >(gdb) s >check_name (conn=0x802927050, name=0x802974970 "./torture.lck") > at smbd/filename.c:761 >761 if (IS_VETO_PATH(conn, name)) { >(gdb) list >756 a valid one for the user to access. >757 ****************************************************************************/ >758 >759 NTSTATUS check_name(connection_struct *conn, const char *name) >760 { >761 if (IS_VETO_PATH(conn, name)) { >762 /* Is it not dot or dot dot. */ >763 if (!((name[0] == '.') && (!name[1] || >764 (name[1] == '.' && !name[2])))) { >765 DEBUG(5,("check_name: file path name %s vetoed\n", >(gdb) n >771 if (!lp_widelinks(SNUM(conn)) || !lp_symlinks(SNUM(conn))) { >(gdb) n >772 NTSTATUS status = check_reduced_name(conn,name); >(gdb) print name >$154 = 0x802974970 "./torture.lck" >(gdb) s >check_reduced_name (conn=0x802927050, fname=0x802974970 "./torture.lck") > at smbd/vfs.c:848 >848 bool free_resolved_name = False; >(gdb) list >843 { >844 #ifdef REALPATH_TAKES_NULL >845 bool free_resolved_name = True; >846 #else >847 char resolved_name_buf[PATH_MAX+1]; >848 bool free_resolved_name = False; >849 #endif >850 char *resolved_name = NULL; >851 size_t con_path_len = strlen(conn->connectpath); >852 char *p = NULL; >(gdb) n >850 char *resolved_name = NULL; >(gdb) n >851 size_t con_path_len = strlen(conn->connectpath); >(gdb) n >852 char *p = NULL; >(gdb) n >854 DEBUG(3,("reduce_name [%s] [%s]\n", fname, conn->connectpath)); >(gdb) rpint name >Undefined command: "rpint". Try "help". >(gdb) print fname >$155 = 0x802974970 "./torture.lck" >(gdb) print conn->connectpath >$156 = 0x80290b2e0 "/var/samba/exports/smbtorture/meddy/smbtorture" >(gdb) n >859 resolved_name = SMB_VFS_REALPATH(conn,fname,resolved_name_buf); >(gdb) print resolved_name >$157 = 0x0 >(gdb) n >862 if (!resolved_name) { >(gdb) print resolved_name >$158 = 0x7fffffffdea0 "/var/samba/exports/smbtorture/meddy/smbtorture/torture.lck" >(gdb) print errno >$159 = 2 >(gdb) list >857 resolved_name = SMB_VFS_REALPATH(conn,fname,NULL); >858 #else >859 resolved_name = SMB_VFS_REALPATH(conn,fname,resolved_name_buf); >860 #endif >861 >862 if (!resolved_name) { >863 switch (errno) { >864 case ENOTDIR: >865 DEBUG(3,("reduce_name: Component not a directory in getting realpath for %s\n", fname)); >866 return map_nt_error_from_unix(errno); >(gdb) n >926 DEBUG(10,("reduce_name realpath [%s] -> [%s]\n", fname, resolved_name)); >(gdb) n >928 if (*resolved_name != '/') { >(gdb) print resolved_name >$160 = 0x7fffffffdea0 "/var/samba/exports/smbtorture/meddy/smbtorture/torture.lck" >(gdb) list >923 } >924 } >925 >926 DEBUG(10,("reduce_name realpath [%s] -> [%s]\n", fname, resolved_name)); >927 >928 if (*resolved_name != '/') { >929 DEBUG(0,("reduce_name: realpath doesn't return absolute paths !\n")); >930 if (free_resolved_name) { >931 SAFE_FREE(resolved_name); >932 } >(gdb) n >937 if (!lp_widelinks(SNUM(conn)) && (strncmp(conn->connectpath, resolved_name, con_path_len) != 0)) { >(gdb) n >950 if (!lp_symlinks(SNUM(conn))) { >(gdb) print >$161 = 0x7fffffffdea0 "/var/samba/exports/smbtorture/meddy/smbtorture/torture.lck" >(gdb) list >945 /* Check if we are allowing users to follow symlinks */ >946 /* Patch from David Clerc <David.Clerc@cui.unige.ch> >947 University of Geneva */ >948 >949 #ifdef S_ISLNK >950 if (!lp_symlinks(SNUM(conn))) { >951 SMB_STRUCT_STAT statbuf; >952 if ( (SMB_VFS_LSTAT(conn,fname,&statbuf) != -1) && >953 (S_ISLNK(statbuf.st_mode)) ) { >954 if (free_resolved_name) { >(gdb) n >963 DEBUG(3,("reduce_name: %s reduced to %s\n", fname, resolved_name)); >(gdb) n >964 if (free_resolved_name) { >(gdb) n >967 return NT_STATUS_OK; >(gdb) n >968 } >(gdb) n >check_name (conn=0x802927050, name=0x802974970 "./torture.lck") > at smbd/filename.c:773 >773 if (!NT_STATUS_IS_OK(status)) { >(gdb) list >768 } >769 } >770 >771 if (!lp_widelinks(SNUM(conn)) || !lp_symlinks(SNUM(conn))) { >772 NTSTATUS status = check_reduced_name(conn,name); >773 if (!NT_STATUS_IS_OK(status)) { >774 DEBUG(5,("check_name: name %s failed with %s\n",name, >775 nt_errstr(status))); >776 return status; >777 } >(gdb) print status >$162 = {v = 0} >(gdb) n >780 return NT_STATUS_OK; >(gdb) n >781 } >(gdb) n >unlink_internals (conn=0x802927050, req=0x802974520, dirtype=22, > name_in=0x802974660 "torture.lck", has_wild=false) at smbd/reply.c:2490 >2490 if (!NT_STATUS_IS_OK(status)) { >(gdb) list >2485 if (dirtype == 0) { >2486 dirtype = FILE_ATTRIBUTE_NORMAL; >2487 } >2488 >2489 status = check_name(conn, directory); >2490 if (!NT_STATUS_IS_OK(status)) { >2491 return status; >2492 } >2493 >2494 status = do_unlink(conn, req, directory, dirtype); >(gdb) print status >$163 = {v = 0} >(gdb) n >2494 status = do_unlink(conn, req, directory, dirtype); >(gdb) print req >$164 = (struct smb_request *) 0x802974520 >(gdb) print con >No symbol "con" in current context. >(gdb) print conn >$165 = (connection_struct *) 0x802927050 >(gdb) print directory >$166 = 0x802974970 "./torture.lck" >(gdb) print dirtype >$167 = 22 >(gdb) s >do_unlink (conn=0x802927050, req=0x802974520, > fname=0x802974970 "./torture.lck", dirtype=22) at smbd/reply.c:2303 >2303 uint32 dirtype_orig = dirtype; >(gdb) list >2298 uint32 dirtype) >2299 { >2300 SMB_STRUCT_STAT sbuf; >2301 uint32 fattr; >2302 files_struct *fsp; >2303 uint32 dirtype_orig = dirtype; >2304 NTSTATUS status; >2305 >2306 DEBUG(10,("do_unlink: %s, dirtype = %d\n", fname, dirtype )); >2307 >(gdb) n >2306 DEBUG(10,("do_unlink: %s, dirtype = %d\n", fname, dirtype )); >(gdb) n >2308 if (!CAN_WRITE(conn)) { >(gdb) n >2312 if (SMB_VFS_LSTAT(conn,fname,&sbuf) != 0) { >(gdb) list >2307 >2308 if (!CAN_WRITE(conn)) { >2309 return NT_STATUS_MEDIA_WRITE_PROTECTED; >2310 } >2311 >2312 if (SMB_VFS_LSTAT(conn,fname,&sbuf) != 0) { >2313 return map_nt_error_from_unix(errno); >2314 } >2315 >2316 fattr = dos_mode(conn,fname,&sbuf); >(gdb) n >2313 return map_nt_error_from_unix(errno); >(gdb) print errno >$168 = 2 >(gdb) n >2420 } >(gdb) n >unlink_internals (conn=0x802927050, req=0x802974520, dirtype=22, > name_in=0x802974660 "torture.lck", has_wild=false) at smbd/reply.c:2495 >2495 if (!NT_STATUS_IS_OK(status)) { >(gdb) list >2490 if (!NT_STATUS_IS_OK(status)) { >2491 return status; >2492 } >2493 >2494 status = do_unlink(conn, req, directory, dirtype); >2495 if (!NT_STATUS_IS_OK(status)) { >2496 return status; >2497 } >2498 >2499 count++; >(gdb) print status >$169 = {v = 3221225524} >(gdb) n >2496 return status; >(gdb) n >2582 } >(gdb) n >reply_unlink (req=0x802974520) at smbd/reply.c:2637 >2637 if (!NT_STATUS_IS_OK(status)) { >(gdb) print status >$170 = {v = 3221225524} >(gdb) n >2638 if (open_was_deferred(req->mid)) { >(gdb) print req->mid >$171 = 5708 >(gdb) s >open_was_deferred (mid=5708) at smbd/process.c:517 >517 for (pml = deferred_open_queue; pml; pml = pml->next) { >(gdb) list >512 >513 bool open_was_deferred(uint16 mid) >514 { >515 struct pending_message_list *pml; >516 >517 for (pml = deferred_open_queue; pml; pml = pml->next) { >518 if (SVAL(pml->buf.data,smb_mid) == mid) { >519 return True; >520 } >521 } >(gdb) n >518 if (SVAL(pml->buf.data,smb_mid) == mid) { >(gdb) n >519 return True; >(gdb) n >523 } >(gdb) n >reply_unlink (req=0x802974520) at smbd/reply.c:2640 >2640 END_PROFILE(SMBunlink); >(gdb) print "open was deferred" >$172 = "open was deferred" >(gdb) list >2635 status = unlink_internals(conn, req, dirtype, name, >2636 path_contains_wcard); >2637 if (!NT_STATUS_IS_OK(status)) { >2638 if (open_was_deferred(req->mid)) { >2639 /* We have re-scheduled this call. */ >2640 END_PROFILE(SMBunlink); >2641 return; >2642 } >2643 reply_nterror(req, status); >2644 END_PROFILE(SMBunlink); >(gdb) n >2652 } >(gdb) n >switch_message (type=6 '\006', req=0x802974520, size=68) at smbd/process.c:1487 >1487 return req->conn; >(gdb) list >1482 reply_doserror(req, ERRSRV, ERRaccess); >1483 return conn; >1484 } >1485 >1486 smb_messages[type].fn(req); >1487 return req->conn; >1488 } >1489 >1490 /**************************************************************************** >1491 Construct a reply to the incoming packet. >(gdb) print req->conn >$173 = (connection_struct *) 0x802927050 >(gdb) print *(req->conn) >$174 = {next = 0x0, prev = 0x0, cnum = 1, params = 0x8029023f0, > force_user = false, vuid_cache = {next_entry = 1, array = {{ > server_info = 0x80298b350, vuid = 100, read_only = false, > admin_user = false}, {server_info = 0x0, vuid = 0, read_only = false, > admin_user = false} <repeats 31 times>}}, dirptr = 0x0, > printer = false, ipc = false, read_only = false, admin_user = false, > dirpath = 0xb964fb "", > connectpath = 0x80290b2e0 "/var/samba/exports/smbtorture/meddy/smbtorture", > origpath = 0x80290b310 "/var/samba/exports/smbtorture/meddy/smbtorture", > vfs = {ops = {connect_fn = 0x802a211b0 <fileid_connect>, > disconnect = 0x802a21620 <fileid_disconnect>, > disk_free = 0x547880 <vfswrap_disk_free>, > get_quota = 0x5478e0 <vfswrap_get_quota>, > set_quota = 0x547910 <vfswrap_set_quota>, > get_shadow_copy_data = 0x547940 <vfswrap_get_shadow_copy_data>, > statvfs = 0x547970 <vfswrap_statvfs>, > fs_capabilities = 0x5479a0 <vfswrap_fs_capabilities>, > opendir = 0x5479b0 <vfswrap_opendir>, > readdir = 0x547ae0 <vfswrap_readdir>, > seekdir = 0x547bb0 <vfswrap_seekdir>, > telldir = 0x547c80 <vfswrap_telldir>, > rewind_dir = 0x547d50 <vfswrap_rewinddir>, > mkdir = 0x547e10 <vfswrap_mkdir>, rmdir = 0x547fb0 <vfswrap_rmdir>, > closedir = 0x548080 <vfswrap_closedir>, open = 0x548150 <vfswrap_open>, > close_fn = 0x548230 <vfswrap_close>, vfs_read = 0x548300 <vfswrap_read>, > pread = 0x548410 <vfswrap_pread>, write = 0x548570 <vfswrap_write>, >---Type <return> to continue, or q <return> to quit--- > pwrite = 0x548680 <vfswrap_pwrite>, lseek = 0x5487d0 <vfswrap_lseek>, > sendfile = 0x5488f0 <vfswrap_sendfile>, > recvfile = 0x548a10 <vfswrap_recvfile>, > rename = 0x548d30 <vfswrap_rename>, fsync = 0x548e20 <vfswrap_fsync>, > stat = 0x548ef0 <vfswrap_stat>, fstat = 0x548fc0 <vfswrap_fstat>, > lstat = 0x549090 <vfswrap_lstat>, unlink = 0x549160 <vfswrap_unlink>, > chmod = 0x549230 <vfswrap_chmod>, fchmod = 0x5493a0 <vfswrap_fchmod>, > chown = 0x549510 <vfswrap_chown>, fchown = 0x5495e0 <vfswrap_fchown>, > lchown = 0x5496c0 <vfswrap_lchown>, chdir = 0x549790 <vfswrap_chdir>, > getwd = 0x549860 <vfswrap_getwd>, ntimes = 0x549930 <vfswrap_ntimes>, > ftruncate = 0x549d90 <vfswrap_ftruncate>, > lock = 0x54a110 <vfswrap_lock>, > kernel_flock = 0x54a200 <vfswrap_kernel_flock>, > linux_setlease = 0x54a3e0 <vfswrap_linux_setlease>, > getlock = 0x54a2e0 <vfswrap_getlock>, > symlink = 0x54a4b0 <vfswrap_symlink>, > vfs_readlink = 0x54a580 <vfswrap_readlink>, > link = 0x54a660 <vfswrap_link>, mknod = 0x54a730 <vfswrap_mknod>, > realpath = 0x54a810 <vfswrap_realpath>, > notify_watch = 0x54a8f0 <vfswrap_notify_watch>, > chflags = 0x54a920 <vfswrap_chflags>, > file_id_create = 0x802a21730 <fileid_file_id_create>, > streaminfo = 0x54a990 <vfswrap_streaminfo>, > get_real_filename = 0x54abc0 <vfswrap_get_real_filename>, > fget_nt_acl = 0x54ac10 <vfswrap_fget_nt_acl>, > get_nt_acl = 0x54acf0 <vfswrap_get_nt_acl>, >---Type <return> to continue, or q <return> to quit--- > fset_nt_acl = 0x54add0 <vfswrap_fset_nt_acl>, > chmod_acl = 0x54aeb0 <vfswrap_chmod_acl>, > fchmod_acl = 0x54af90 <vfswrap_fchmod_acl>, > sys_acl_get_entry = 0x54b060 <vfswrap_sys_acl_get_entry>, > sys_acl_get_tag_type = 0x54b090 <vfswrap_sys_acl_get_tag_type>, > sys_acl_get_permset = 0x54b0c0 <vfswrap_sys_acl_get_permset>, > sys_acl_get_qualifier = 0x54b0f0 <vfswrap_sys_acl_get_qualifier>, > sys_acl_get_file = 0x54b110 <vfswrap_sys_acl_get_file>, > sys_acl_get_fd = 0x54b140 <vfswrap_sys_acl_get_fd>, > sys_acl_clear_perms = 0x54b160 <vfswrap_sys_acl_clear_perms>, > sys_acl_add_perm = 0x54b180 <vfswrap_sys_acl_add_perm>, > sys_acl_to_text = 0x54b1b0 <vfswrap_sys_acl_to_text>, > sys_acl_init = 0x54b1e0 <vfswrap_sys_acl_init>, > sys_acl_create_entry = 0x54b200 <vfswrap_sys_acl_create_entry>, > sys_acl_set_tag_type = 0x54b230 <vfswrap_sys_acl_set_tag_type>, > sys_acl_set_qualifier = 0x54b260 <vfswrap_sys_acl_set_qualifier>, > sys_acl_set_permset = 0x54b290 <vfswrap_sys_acl_set_permset>, > sys_acl_valid = 0x54b2c0 <vfswrap_sys_acl_valid>, > sys_acl_set_file = 0x54b2e0 <vfswrap_sys_acl_set_file>, > sys_acl_set_fd = 0x54b310 <vfswrap_sys_acl_set_fd>, > sys_acl_delete_def_file = 0x54b340 <vfswrap_sys_acl_delete_def_file>, > sys_acl_get_perm = 0x54b360 <vfswrap_sys_acl_get_perm>, > sys_acl_free_text = 0x54b390 <vfswrap_sys_acl_free_text>, > sys_acl_free_acl = 0x54b3b0 <vfswrap_sys_acl_free_acl>, > sys_acl_free_qualifier = 0x54b3d0 <vfswrap_sys_acl_free_qualifier>, > getxattr = 0x54b400 <vfswrap_getxattr>, >---Type <return> to continue, or q <return> to quit--- > lgetxattr = 0x54b440 <vfswrap_lgetxattr>, > fgetxattr = 0x54b480 <vfswrap_fgetxattr>, > listxattr = 0x54b4c0 <vfswrap_listxattr>, > llistxattr = 0x54b4f0 <vfswrap_llistxattr>, > flistxattr = 0x54b520 <vfswrap_flistxattr>, > removexattr = 0x54b560 <vfswrap_removexattr>, > lremovexattr = 0x54b590 <vfswrap_lremovexattr>, > fremovexattr = 0x54b5c0 <vfswrap_fremovexattr>, > setxattr = 0x54b5f0 <vfswrap_setxattr>, > lsetxattr = 0x54b630 <vfswrap_lsetxattr>, > fsetxattr = 0x54b670 <vfswrap_fsetxattr>, > aio_read = 0x54b6c0 <vfswrap_aio_read>, > aio_write = 0x54b6e0 <vfswrap_aio_write>, > aio_return_fn = 0x54b700 <vfswrap_aio_return>, > aio_cancel = 0x54b720 <vfswrap_aio_cancel>, > aio_error_fn = 0x54b750 <vfswrap_aio_error>, > aio_fsync = 0x54b770 <vfswrap_aio_fsync>, > aio_suspend = 0x54b7a0 <vfswrap_aio_suspend>, > aio_force = 0x54b7d0 <vfswrap_aio_force>, > is_offline = 0x54b7f0 <vfswrap_is_offline>, > set_offline = 0x54b8d0 <vfswrap_set_offline>}, handles = { > connect_hnd = 0x802939850, disconnect = 0x802939850, > disk_free = 0x802939050, get_quota = 0x802939050, > set_quota = 0x802939050, get_shadow_copy_data = 0x802939050, > statvfs = 0x802939050, fs_capabilities = 0x802939050, > opendir = 0x802939050, readdir = 0x802939050, seekdir = 0x802939050, >---Type <return> to continue, or q <return> to quit--- > telldir = 0x802939050, rewind_dir = 0x802939050, mkdir = 0x802939050, > rmdir = 0x802939050, closedir = 0x802939050, open = 0x802939050, > close_hnd = 0x802939050, vfs_read = 0x802939050, pread = 0x802939050, > write = 0x802939050, pwrite = 0x802939050, lseek = 0x802939050, > sendfile = 0x802939050, recvfile = 0x802939050, rename = 0x802939050, > fsync = 0x802939050, stat = 0x802939050, fstat = 0x802939050, > lstat = 0x802939050, unlink = 0x802939050, chmod = 0x802939050, > fchmod = 0x802939050, chown = 0x802939050, fchown = 0x802939050, > lchown = 0x802939050, chdir = 0x802939050, getwd = 0x802939050, > ntimes = 0x802939050, ftruncate = 0x802939050, lock = 0x802939050, > kernel_flock = 0x802939050, linux_setlease = 0x802939050, > getlock = 0x802939050, symlink = 0x802939050, > vfs_readlink = 0x802939050, link = 0x802939050, mknod = 0x802939050, > realpath = 0x802939050, notify_watch = 0x802939050, > chflags = 0x802939050, file_id_create = 0x802939850, > streaminfo = 0x802939050, get_real_filename = 0x802939050, > fget_nt_acl = 0x802939050, get_nt_acl = 0x802939050, > fset_nt_acl = 0x802939050, chmod_acl = 0x802939050, > fchmod_acl = 0x802939050, sys_acl_get_entry = 0x802939050, > sys_acl_get_tag_type = 0x802939050, sys_acl_get_permset = 0x802939050, > sys_acl_get_qualifier = 0x802939050, sys_acl_get_file = 0x802939050, > sys_acl_get_fd = 0x802939050, sys_acl_clear_perms = 0x802939050, > sys_acl_add_perm = 0x802939050, sys_acl_to_text = 0x802939050, > sys_acl_init = 0x802939050, sys_acl_create_entry = 0x802939050, > sys_acl_set_tag_type = 0x802939050, sys_acl_set_qualifier = 0x802939050, > sys_acl_set_permset = 0x802939050, sys_acl_valid = 0x802939050, >---Type <return> to continue, or q <return> to quit--- > sys_acl_set_file = 0x802939050, sys_acl_set_fd = 0x802939050, > sys_acl_delete_def_file = 0x802939050, sys_acl_get_perm = 0x802939050, > sys_acl_free_text = 0x802939050, sys_acl_free_acl = 0x802939050, > sys_acl_free_qualifier = 0x802939050, getxattr = 0x802939050, > lgetxattr = 0x802939050, fgetxattr = 0x802939050, > listxattr = 0x802939050, llistxattr = 0x802939050, > flistxattr = 0x802939050, removexattr = 0x802939050, > lremovexattr = 0x802939050, fremovexattr = 0x802939050, > setxattr = 0x802939050, lsetxattr = 0x802939050, > fsetxattr = 0x802939050, aio_read = 0x802939050, > aio_write = 0x802939050, aio_return = 0x802939050, > aio_cancel = 0x802939050, aio_error = 0x802939050, > aio_fsync = 0x802939050, aio_suspend = 0x802939050, > aio_force = 0x802939050, is_offline = 0x802939050, > set_offline = 0x802939050}}, vfs_opaque = {ops = { > connect_fn = 0x547850 <vfswrap_connect>, > disconnect = 0x547870 <vfswrap_disconnect>, > disk_free = 0x547880 <vfswrap_disk_free>, > get_quota = 0x5478e0 <vfswrap_get_quota>, > set_quota = 0x547910 <vfswrap_set_quota>, > get_shadow_copy_data = 0x547940 <vfswrap_get_shadow_copy_data>, > statvfs = 0x547970 <vfswrap_statvfs>, > fs_capabilities = 0x5479a0 <vfswrap_fs_capabilities>, > opendir = 0x5479b0 <vfswrap_opendir>, > readdir = 0x547ae0 <vfswrap_readdir>, > seekdir = 0x547bb0 <vfswrap_seekdir>, >---Type <return> to continue, or q <return> to quit--- > telldir = 0x547c80 <vfswrap_telldir>, > rewind_dir = 0x547d50 <vfswrap_rewinddir>, > mkdir = 0x547e10 <vfswrap_mkdir>, rmdir = 0x547fb0 <vfswrap_rmdir>, > closedir = 0x548080 <vfswrap_closedir>, open = 0x548150 <vfswrap_open>, > close_fn = 0x548230 <vfswrap_close>, vfs_read = 0x548300 <vfswrap_read>, > pread = 0x548410 <vfswrap_pread>, write = 0x548570 <vfswrap_write>, > pwrite = 0x548680 <vfswrap_pwrite>, lseek = 0x5487d0 <vfswrap_lseek>, > sendfile = 0x5488f0 <vfswrap_sendfile>, > recvfile = 0x548a10 <vfswrap_recvfile>, > rename = 0x548d30 <vfswrap_rename>, fsync = 0x548e20 <vfswrap_fsync>, > stat = 0x548ef0 <vfswrap_stat>, fstat = 0x548fc0 <vfswrap_fstat>, > lstat = 0x549090 <vfswrap_lstat>, unlink = 0x549160 <vfswrap_unlink>, > chmod = 0x549230 <vfswrap_chmod>, fchmod = 0x5493a0 <vfswrap_fchmod>, > chown = 0x549510 <vfswrap_chown>, fchown = 0x5495e0 <vfswrap_fchown>, > lchown = 0x5496c0 <vfswrap_lchown>, chdir = 0x549790 <vfswrap_chdir>, > getwd = 0x549860 <vfswrap_getwd>, ntimes = 0x549930 <vfswrap_ntimes>, > ftruncate = 0x549d90 <vfswrap_ftruncate>, > lock = 0x54a110 <vfswrap_lock>, > kernel_flock = 0x54a200 <vfswrap_kernel_flock>, > linux_setlease = 0x54a3e0 <vfswrap_linux_setlease>, > getlock = 0x54a2e0 <vfswrap_getlock>, > symlink = 0x54a4b0 <vfswrap_symlink>, > vfs_readlink = 0x54a580 <vfswrap_readlink>, > link = 0x54a660 <vfswrap_link>, mknod = 0x54a730 <vfswrap_mknod>, > realpath = 0x54a810 <vfswrap_realpath>, > notify_watch = 0x54a8f0 <vfswrap_notify_watch>, >---Type <return> to continue, or q <return> to quit--- > chflags = 0x54a920 <vfswrap_chflags>, > file_id_create = 0x802a21730 <fileid_file_id_create>, > streaminfo = 0x54a990 <vfswrap_streaminfo>, > get_real_filename = 0x54abc0 <vfswrap_get_real_filename>, > fget_nt_acl = 0x54ac10 <vfswrap_fget_nt_acl>, > get_nt_acl = 0x54acf0 <vfswrap_get_nt_acl>, > fset_nt_acl = 0x54add0 <vfswrap_fset_nt_acl>, > chmod_acl = 0x54aeb0 <vfswrap_chmod_acl>, > fchmod_acl = 0x54af90 <vfswrap_fchmod_acl>, > sys_acl_get_entry = 0x54b060 <vfswrap_sys_acl_get_entry>, > sys_acl_get_tag_type = 0x54b090 <vfswrap_sys_acl_get_tag_type>, > sys_acl_get_permset = 0x54b0c0 <vfswrap_sys_acl_get_permset>, > sys_acl_get_qualifier = 0x54b0f0 <vfswrap_sys_acl_get_qualifier>, > sys_acl_get_file = 0x54b110 <vfswrap_sys_acl_get_file>, > sys_acl_get_fd = 0x54b140 <vfswrap_sys_acl_get_fd>, > sys_acl_clear_perms = 0x54b160 <vfswrap_sys_acl_clear_perms>, > sys_acl_add_perm = 0x54b180 <vfswrap_sys_acl_add_perm>, > sys_acl_to_text = 0x54b1b0 <vfswrap_sys_acl_to_text>, > sys_acl_init = 0x54b1e0 <vfswrap_sys_acl_init>, > sys_acl_create_entry = 0x54b200 <vfswrap_sys_acl_create_entry>, > sys_acl_set_tag_type = 0x54b230 <vfswrap_sys_acl_set_tag_type>, > sys_acl_set_qualifier = 0x54b260 <vfswrap_sys_acl_set_qualifier>, > sys_acl_set_permset = 0x54b290 <vfswrap_sys_acl_set_permset>, > sys_acl_valid = 0x54b2c0 <vfswrap_sys_acl_valid>, > sys_acl_set_file = 0x54b2e0 <vfswrap_sys_acl_set_file>, > sys_acl_set_fd = 0x54b310 <vfswrap_sys_acl_set_fd>, >---Type <return> to continue, or q <return> to quit--- > sys_acl_delete_def_file = 0x54b340 <vfswrap_sys_acl_delete_def_file>, > sys_acl_get_perm = 0x54b360 <vfswrap_sys_acl_get_perm>, > sys_acl_free_text = 0x54b390 <vfswrap_sys_acl_free_text>, > sys_acl_free_acl = 0x54b3b0 <vfswrap_sys_acl_free_acl>, > sys_acl_free_qualifier = 0x54b3d0 <vfswrap_sys_acl_free_qualifier>, > getxattr = 0x54b400 <vfswrap_getxattr>, > lgetxattr = 0x54b440 <vfswrap_lgetxattr>, > fgetxattr = 0x54b480 <vfswrap_fgetxattr>, > listxattr = 0x54b4c0 <vfswrap_listxattr>, > llistxattr = 0x54b4f0 <vfswrap_llistxattr>, > flistxattr = 0x54b520 <vfswrap_flistxattr>, > removexattr = 0x54b560 <vfswrap_removexattr>, > lremovexattr = 0x54b590 <vfswrap_lremovexattr>, > fremovexattr = 0x54b5c0 <vfswrap_fremovexattr>, > setxattr = 0x54b5f0 <vfswrap_setxattr>, > lsetxattr = 0x54b630 <vfswrap_lsetxattr>, > fsetxattr = 0x54b670 <vfswrap_fsetxattr>, > aio_read = 0x54b6c0 <vfswrap_aio_read>, > aio_write = 0x54b6e0 <vfswrap_aio_write>, > aio_return_fn = 0x54b700 <vfswrap_aio_return>, > aio_cancel = 0x54b720 <vfswrap_aio_cancel>, > aio_error_fn = 0x54b750 <vfswrap_aio_error>, > aio_fsync = 0x54b770 <vfswrap_aio_fsync>, > aio_suspend = 0x54b7a0 <vfswrap_aio_suspend>, > aio_force = 0x54b7d0 <vfswrap_aio_force>, > is_offline = 0x54b7f0 <vfswrap_is_offline>, >---Type <return> to continue, or q <return> to quit--- > set_offline = 0x54b8d0 <vfswrap_set_offline>}, handles = { > connect_hnd = 0x802939050, disconnect = 0x802939050, > disk_free = 0x802939050, get_quota = 0x802939050, > set_quota = 0x802939050, get_shadow_copy_data = 0x802939050, > statvfs = 0x802939050, fs_capabilities = 0x802939050, > opendir = 0x802939050, readdir = 0x802939050, seekdir = 0x802939050, > telldir = 0x802939050, rewind_dir = 0x802939050, mkdir = 0x802939050, > rmdir = 0x802939050, closedir = 0x802939050, open = 0x802939050, > close_hnd = 0x802939050, vfs_read = 0x802939050, pread = 0x802939050, > write = 0x802939050, pwrite = 0x802939050, lseek = 0x802939050, > sendfile = 0x802939050, recvfile = 0x802939050, rename = 0x802939050, > fsync = 0x802939050, stat = 0x802939050, fstat = 0x802939050, > lstat = 0x802939050, unlink = 0x802939050, chmod = 0x802939050, > fchmod = 0x802939050, chown = 0x802939050, fchown = 0x802939050, > lchown = 0x802939050, chdir = 0x802939050, getwd = 0x802939050, > ntimes = 0x802939050, ftruncate = 0x802939050, lock = 0x802939050, > kernel_flock = 0x802939050, linux_setlease = 0x802939050, > getlock = 0x802939050, symlink = 0x802939050, > vfs_readlink = 0x802939050, link = 0x802939050, mknod = 0x802939050, > realpath = 0x802939050, notify_watch = 0x802939050, > chflags = 0x802939050, file_id_create = 0x802939850, > streaminfo = 0x802939050, get_real_filename = 0x802939050, > fget_nt_acl = 0x802939050, get_nt_acl = 0x802939050, > fset_nt_acl = 0x802939050, chmod_acl = 0x802939050, > fchmod_acl = 0x802939050, sys_acl_get_entry = 0x802939050, > sys_acl_get_tag_type = 0x802939050, sys_acl_get_permset = 0x802939050, >---Type <return> to continue, or q <return> to quit--- > sys_acl_get_qualifier = 0x802939050, sys_acl_get_file = 0x802939050, > sys_acl_get_fd = 0x802939050, sys_acl_clear_perms = 0x802939050, > sys_acl_add_perm = 0x802939050, sys_acl_to_text = 0x802939050, > sys_acl_init = 0x802939050, sys_acl_create_entry = 0x802939050, > sys_acl_set_tag_type = 0x802939050, sys_acl_set_qualifier = 0x802939050, > sys_acl_set_permset = 0x802939050, sys_acl_valid = 0x802939050, > sys_acl_set_file = 0x802939050, sys_acl_set_fd = 0x802939050, > sys_acl_delete_def_file = 0x802939050, sys_acl_get_perm = 0x802939050, > sys_acl_free_text = 0x802939050, sys_acl_free_acl = 0x802939050, > sys_acl_free_qualifier = 0x802939050, getxattr = 0x802939050, > lgetxattr = 0x802939050, fgetxattr = 0x802939050, > listxattr = 0x802939050, llistxattr = 0x802939050, > flistxattr = 0x802939050, removexattr = 0x802939050, > lremovexattr = 0x802939050, fremovexattr = 0x802939050, > setxattr = 0x802939050, lsetxattr = 0x802939050, > fsetxattr = 0x802939050, aio_read = 0x802939050, > aio_write = 0x802939050, aio_return = 0x802939050, > aio_cancel = 0x802939050, aio_error = 0x802939050, > aio_fsync = 0x802939050, aio_suspend = 0x802939050, > aio_force = 0x802939050, is_offline = 0x802939050, > set_offline = 0x802939050}}, vfs_handles = 0x802939850, > server_info = 0x80298b350, force_group_gid = 4294967295, > client_address = "10.0.8.115\000", 'ñ' <repeats 35 times>, vuid = 100, > lastused = 1250703882, lastused_count = 1250703884, used = true, > num_files_open = 0, num_smb_operations = 1584485, encrypt_level = 2, > encrypted_tid = false, case_sensitive = false, case_preserve = true, >---Type <return> to continue, or q <return> to quit--- > short_case_preserve = true, fs_capabilities = 3, hide_list = 0x0, > veto_list = 0x0, veto_oplock_list = 0x0, aio_write_behind_list = 0x0, > dfree_info = 0x0, pending_trans = 0x0, notify_ctx = 0x802905070} >(gdb) n >1488 } >(gdb) n >construct_reply (inbuf=0x802974480 "", size=68, unread_bytes=0, > encrypted=false) at smbd/process.c:1511 >1511 if (req->unread_bytes) { >(gdb) list >1506 } >1507 init_smb_request(req, (uint8 *)inbuf, unread_bytes, encrypted); >1508 >1509 conn = switch_message(type, req, size); >1510 >1511 if (req->unread_bytes) { >1512 /* writeX failed. drain socket. */ >1513 if (drain_socket(smbd_server_fd(), req->unread_bytes) != >1514 req->unread_bytes) { >1515 smb_panic("failed to drain pending bytes"); >(gdb) n >1520 if (req->outbuf == NULL) { >(gdb) print req->outbuf >$175 = (unsigned char *) 0x0 >(gdb) n >1537 } >(gdb) n >process_smb (inbuf=0x802974480 "", nread=68, unread_bytes=0, encrypted=false) > at smbd/process.c:1568 >1568 trans_num++; >(gdb) list >1563 >1564 show_msg(inbuf); >1565 >1566 construct_reply(inbuf,nread,unread_bytes,encrypted); >1567 >1568 trans_num++; >1569 } >1570 >1571 /**************************************************************************** >1572 Return a string containing the function name of a SMB command. >(gdb) n >1569 } >(gdb) n >smbd_process () at smbd/process.c:1936 >1936 TALLOC_FREE(inbuf); >(gdb) list >1931 return; >1932 } >1933 >1934 process_smb(inbuf, inbuf_len, unread_bytes, encrypted); >1935 >1936 TALLOC_FREE(inbuf); >1937 >1938 num_smbs++; >1939 >1940 /* The timeout_processing function isn't run nearly >(gdb) n >1938 num_smbs++; >(gdb) n >1947 if ((num_smbs % 50) == 0 && need_to_check_log_size()) { >(gdb) n >1951 TALLOC_FREE(frame); >(gdb) n >1952 } >(gdb) n >1915 char *inbuf = NULL; >(gdb) list >1910 >1911 max_recv = MIN(lp_maxxmit(),BUFFER_SIZE); >1912 >1913 while (True) { >1914 NTSTATUS status; >1915 char *inbuf = NULL; >1916 size_t inbuf_len = 0; >1917 bool encrypted = false; >1918 TALLOC_CTX *frame = talloc_stackframe_pool(8192); >1919 >(gdb) info break >Num Type Disp Enb Address What >1 breakpoint keep y 0x00000000004c8d85 in reply_unlink > at smbd/reply.c:2590 > breakpoint already hit 2 times >(gdb) delete 1 >(gdb) info break >No breakpoints or watchpoints. >(gdb) cont >Continuing.
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 6648
:
4573
| 4574 |
4575
|
4576
|
4578