libsmb and the cli_ routines and libsmbclient connection handling

Richard Sharpe sharpe at ns.aus.com
Thu Jan 25 23:16:47 GMT 2001


At 04:43 AM 1/26/01 +1100, Tim Potter wrote:
>Richard Sharpe writes:
>
>> I am getting to the point where I need to change the functionality of the
>> cli_ routines I use from libsmb in libsmbclient.
>> 
>> Currently, there is a one-to-one connection between a share and a server.
>
>I've got some code in a work area that does this.  Unfortunately
>I'm not sure whether the API is nice or not.  I'll describe it
>and perhaps people can make some comments.
>
>I've basically hacked all the NT pipe specific stuff out of the
>cli_state structure and into a cli_pipe_state structure.  This
>structure also contains a pointer to a cli_state which can be
>shared amongst pipe users:

OK, what you describe is something like what I want to do, but it seems
like there is too much risk of breakage if I change the way things are done
at the moment.

A scan of the source code show that the routine I would have to change,
cli_send_tconX (a badly named routine, BTW, it should have been
connect_share) is used by:

   smbclient
   smbmount
   smbspool
   passchange.c
   nmbd_synclists.c
   several rpc_client files
   an smbd source file (damn it)
   smbwrapper
   and several test and smbtorture stuff ...

So, I have to think carefully before making any such changes and ensure
that everything will work and test that it does work afterwards ...

An alternative is to implement a parallel set of routines that do what I
want to do, but do not disturb the existing functionality.


Regards
-------
Richard Sharpe, sharpe at ns.aus.com
Samba (Team member, www.samba.org), Ethereal (Team member, www.zing.org)
Contributing author, SAMS Teach Yourself Samba in 24 Hours
Author, Special Edition, Using Samba






More information about the samba-technical mailing list