Bug 7849 - RPC-HANDLES test suite uses wrong transport
Summary: RPC-HANDLES test suite uses wrong transport
Status: NEW
Alias: None
Product: Samba 4.0
Classification: Unclassified
Component: smbtorture (show other bugs)
Version: unspecified
Hardware: All Windows NT
: P3 normal (vote)
Target Milestone: ---
Assignee: Andrew Bartlett
QA Contact: samba4-qa@samba.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-12-07 11:56 UTC by Matt Ficken (mail bounces back)
Modified: 2010-12-08 18:53 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matt Ficken (mail bounces back) 2010-12-07 11:56:18 UTC
The RPC-HANDLES test suite uses the TCP transport but must use the named pipe transport instead.

The test suite tests [MS-LSAD]/[MS-LSAT], and even though they aren't the focus of this test suite, the suite fails because they require that only the named pipe transport be used.

When targeting Windows, this test suite must only use the named pipe transport,
[\pipe\lsarpc].
Comment 1 Andrew Bartlett 2010-12-07 20:50:28 UTC
As far as I can tell, the RPC-HANDLES test runs against whatever target you give it on the command line. 

Even so, there certainly have been LSA calls that are available on TCP/IP, depending on the Windows version. 

How are you invoking the test?  What versions on Windows are you using?
Comment 2 Matt Ficken (mail bounces back) 2010-12-08 18:53:40 UTC
Andrew, you're right some LSA functions work on the TCP transport.

Sorry, I forgot a detail behind the transport requirement for
[MS-LSAD]/[MS-LSAT] (see [MS-LSAT] 2.1):

Certain functions may only be used over a named pipe, and certain functions may
only be used over tcp (other functions may be used over either).

Functions Requiring Named Pipe:
LsarOpenPolicy2, LsarOpenPolicy, LsarClose, LsarGetUsername, LsarLookupNames,
LsarLookupNames2, LsarLookupNames3, LsarLookupSids and LsarLookupSids2

Functions Requiring TCP:
LsarLookupNames4 and LsarLookupSids3

Other functions may be used on either transport.

RPC-HANDLES calls LsarOpenPolicy, so it has to use the named pipe transport.

I think only the RAW-* and SMB2-* suites check the --target value, but checking it in RPC-HANDLES (and RPC-OBJECTUUID) would enable/disable any Windows or Samba specific behavior or extension.

When the target value is w2k3, w2k8, winxp, or win7, the test should only use the named pipe transport to be compatible with Windows and [MS-LSAD]/[MS-LSAT] (which in this area, seem written more to comply with existing Windows quirks than well designed behavior).


I have filed a bug report with the team that writes [MS-LSAD] and [MS-LSAT] so that the named pipe and tcp transport requirement in [MS-LSAT] 2.1 is at least copied to [MS-LSAD] 2.1, so it will be more noticeable.


(I am running smbtorture tests listed in the 'tests' file that ships with Samba, as closely to how the buildfarm runs them. I am using the same samba configuration file, I've just changed the realm/domain name. I am testing primarly Windows 2003r2, 2008r2, and 7, from Ubuntu 9.1, on x64 hardware)