smb2 testing

Stefan (metze) Metzmacher metze at
Mon Sep 26 03:01:08 MDT 2011

Hi Herb,

> On Fri, Sep 23, 2011 at 08:57:08AM -0700, Herb Lewis wrote:
>> what tests do we have that specifically test smb2 support?
> smbtorture (from source4) has a set of SMB2 specific tests.

smbtorture --list |grep smb2 should give the list of tests.

> Metze (in master) is working on replacing our client libraries with
> code that will work over both SMB1 and SMB2 so we can run
> all our normal tests over both protocols (should be finished
> in the next couple of weeks at max).

The idea if that the new code can handle the low level work
for SMB1 and SMB2.

I'm currently at the stage where the source3 client library uses the new
(it's very similar to the old code, mostly just copy and renames
and unifying the async_smb.c and smb2cli_base.c code).
"make test" passes this rewrite and the caller don't have to change.

The source4/libcli/smb2 code also uses the new low level smbXcli_base.[ch]
code. (I just need to fix some minor bugs, "make test" almost passes).

I've started to base the source4/libcli/raw code on the new low level code,
but there's a bit more work required to get that finished.

The low level code is fully async using our tevent_req infrastructure,
which makes it relatively easy to use as the caller just has to follow
the same rules as with all the other code in our tree. While it allows
us to also test very complex async request patterns, which is important
as SMB2 client typically use parallel requests. For simple things the higher
layers will also provide sync functions.

It's able to negotiate everything from the every old SMB "Core" protocol
up to the brand new SMB 2.22.

It has support SMB 1 signing (I think we finally match the behavior of
Windows completely)
and also SMB2 signing. It has support for SMB 2.10 Multi-Credits and
it's able to
support SMB 2.22 multi-channel session setups.

My work in progress is available here:;a=shortlog;h=refs/heads/master4-smb2
(Note: this is really work in progress and might not compile from time
to time,
 but you can get the idea.... Also I might move the new code around
before it will
 arrive in master)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 262 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the samba-technical mailing list