[PATCH} Implement SMB3/SMB3 in smbclient and smbcacls (and generic client library).

Stefan (metze) Metzmacher metze at samba.org
Tue Aug 13 10:55:17 MDT 2013


Hi Jeremy,

>> here're some updates to your patches.
>>
>> - I replaced interpret_protocol() by
>>   lp_set_cmdline("client max protocol", poptGetOptArg(pc));
>>   and lp_cli_max_protocol()
>>
>> - I renamed the new function to cli_smb2_ as prefix
>>   instead of smb2cli_ (this should be used only by the generic toplevel
>>   functions).
>>
>> - I used DEFAULT_SMB2_MAX_CREDITS instead of lp_smb2_max_credits() which
>> is for the server.
>>
>> Then I added some TODOs into commit messages.
>>
>> -  TODO: Fix smb2cli_req_create() to set the credit charge correctly on
>> large-MTU read requests.
>>
>>    If we don't do this right, W2K12 returns INVALID_PARAMETER on SMB2_READ.
>>
>>    Signed-off-by: Jeremy Allison <jra at samba.org>
>>
>>    TODO: let the callers use smb2cli_req_set_credit_charge()
>>    needed for read, query_info, query_directory, ioctl and maybe create
>>
>>    e.g. smb2cli_read_send() should use smb2cli_req_create() followed
>>    by smb2cli_req_set_credit_charge() and smb2cli_req_set_credit_charge()
>>    instead of smb2cli_req_send().
>>
>>   (We can also fix this cleanly later...)
>>
>> - TODO: Fix cli_read_max_bufsize() to cope with available credits in the
>> large MTU case.
>>
>>   Signed-off-by: Jeremy Allison <jra at samba.org>
>>
>>   TODO: this is needed for also for write
>>   and maybe for others too, query_directory, query_info
>>
>>   TODO: this needs to be dynamic as cli_pull() can't use fixed
>>   numbers of outstanging requests nor fixed chunk sizes.
>>
>>   Servers can try to slow down a client and then we would get errors...
> 
> Ok, I'm happy with these changes. I fixed up the patch
> for the minor compile issues and have sent it back for
> your review.
> 
> Let me know when you're happy and feel free to push,
> or I'll push.

Here's my current patchset (from my master3-jra branch)

I've rewritten cli_pull/push to dynamically use up to 256 requests.
The complete set compiles for me, but I haven't done any testing yet.
(I'm compile each commit later...)

I've marked the commits I've done completely new as "TODO testing ..."
and some should be reviewed again by you and one maybe squashed after
your review.

metze
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tmp.diff.gz
Type: application/x-gzip
Size: 33494 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20130813/abf562da/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 261 bytes
Desc: OpenPGP digital signature
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20130813/abf562da/attachment.pgp>


More information about the samba-technical mailing list