RFC trying to support non RPC Pipe service(s)

Noel Power nopower at suse.com
Mon Jun 30 11:47:38 MDT 2014


Hi,

I have been looking into MS-WSP which communicates over SMB with named
pipes. However, unlike other named-pipe services it doesn't use RPC. The
patchset attached is a WIP implementation of some infrastructure heavily
based/influenced by the RPC framework to help provide services that use
pipes in that manner and/or create clients that want to communicate with
such services.
In my own mind I have been calling this mode of operation 'raw' pipe (as
opposed to RPC) and I use that term heavily in naming of functions,
files etc.  However, it strikes me that probably the term might mean
something completely different in the SMB world (which I know little
about), if so it would be good to get input for a different term or name
to use if appropriate.
One of my main worries is that I have missed something completely
obvious and that my little bit of work here is completely unnecessary so
it would be good to know if that is the case, e.g. is this nuts?, should
I have done/used something else?
Some other random notes:
  * Currently although the code here should (afaict) be independent of
the RPC implementation it is based on, it lives in the same directory
structure, I can change that of course but I would like to get some more
direction before make possibly useless changes
  * perhaps more could be shared with the existing RPC code :-/ but for
me at the moment there is clarity in the separation
  * I'm aware the DEBUG statements are too many and at inappropriate
debug levels ;-)
  * there is only a source3 implementation, I notice there are also
source4 implementations for rpc servers (but I confess I haven't looked
to see what differences there are or why they are duplicated)
  * similarly the idl only generates a synchronous client helper at the
moment
  * there is a reference implementation of a server and client in the
patch set which probably illustrates things better

thanks,

Noel

ps public repo is here
http://cgit.freedesktop.org/~noelp/noelp-samba/log/?h=smb-raw-pipe-wip
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0005-add-new-test-func-to-send-to-produce-a-large-respons.patch
Type: text/x-diff
Size: 4389 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20140630/c9e9f17c/attachment.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0004-allow-raw-pipe-client-to-bump-transaction-max-data-c.patch
Type: text/x-diff
Size: 5147 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20140630/c9e9f17c/attachment-0001.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-make-it-possible-to-dynamically-set-the-max_data-in-.patch
Type: text/x-diff
Size: 4259 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20140630/c9e9f17c/attachment-0002.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-reference-raw-smb-pipe-test-client-and-server.patch
Type: text/x-diff
Size: 15128 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20140630/c9e9f17c/attachment-0003.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-allow-non-rpc-client-server-implementation-via-SMB-N.patch
Type: text/x-diff
Size: 79085 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20140630/c9e9f17c/attachment-0004.patch>


More information about the samba-technical mailing list