smbcli connection using public libs only

Thomas Hood jdthood at
Tue Jan 10 06:26:06 MST 2012

Stefan (metze) Metzmacher wrote:

> Please note that the smb_raw_* api is not a supported stable interface,
> it will change in future and hopefully made private again for usage in
> smbtorture only.

Please note that winexe is also using smb_raw_* functions.

The most recent release of winexe, 1.00, is built from a very old snapshot
of Samba 4 with winexe patches applied to it.  The author of winexe and I
have adapted the winexe codebase such that, now, winexe is built in a
directory next to the samba4 tree which must also be built by samba4's waf.
 Our goal is ultimately to be able to build winexe solely against Samba
public headers and libraries as shipped in -dev packages.  In order to
achieve this we have been waiting for additional definitions to be added to
certain published header files, including, for example, smb_cliraw.h.
 Jelmer Vernooij has been helping us with this.

If the smb_raw-* API is going to become private again then we will have to
revise our plans.

winexe/git/source$ grep raw *
async.c:#include "libcli/raw/raw_proto.h"
async.c:#include <samba-4.0/smb_cliraw.h>
async.c: status = smb_raw_read_recv(req, c->io_read);
async.c:       ("ERROR: smb_raw_read_recv - %s\n",
async.c: status = smb_raw_write_recv(req, c->io_write);
async.c:       ("ERROR: smb_raw_write_recv - %s\n",
async.c: status = smb_raw_open_recv(req, c, c->io_open);
async.c:       ("ERROR: smb_raw_open_recv - %s\n",
async.c: c->rreq = smb_raw_read_send(c->tree, c->io_read);
async.c: c->rreq = smb_raw_open_send(c->tree, c->io_open);
async.c:     smb_raw_write_send(c->tree, c->io_write);
async.c:     smb_raw_close_send(c->tree, c->io_close);
svcinstall.c:#include <samba-4.0/smb_cliraw.h>

Winexe source:

Andrew Bartlett wrote:
> I'm wondering if a possible approach would be to code up this against
> the private interfaces, as a patch to Samba?

What would be your recommendation to the winexe developers?
Thomas Hood

More information about the samba-technical mailing list