recvfile and streams_xattr (and possibly streams_tdb) do not play well together

Richard Sharpe realrichardsharpe at gmail.com
Thu Aug 2 14:17:18 MDT 2012


Hi folks,

Recvfile is wonderful, except when you are trying to use the
streams_xattr module.

In that case, vfs_write_data calls SMB_VFS_RECVFILE rather that SMB_VFS_PWRITE.

To fix this problem, our implementation of recvfile would have to
distinguish between streams and non streams, read the data off of the
socket into a buffer, then call SMB_VFS_PWRITE, which is a pain.

A better approach might be to:

1. Be able to mark FSPs with do_not_use_recvfile, and then
2. In source3/smbd/process.c:receive_smb_raw_talloc, where we check
for !smb_signing etc, also check for !do_not_use_recvfile) and skip
the recvfile path in that case.

That way we can simplify life in VFSs and stop interactions between them.
-- 
Regards,
Richard Sharpe
(何以解憂?唯有杜康。--曹操)


More information about the samba-technical mailing list