1
0
mirror of https://github.com/samba-team/samba.git synced 2025-06-18 19:17:08 +03:00

11 Commits

Author SHA1 Message Date
Derrell Lipman
93580bce83 Remove use of deprecated function 2008-03-02 16:21:48 -05:00
Derrell Lipman
d4b4bae8de Initial revamp of the libsmbclient interface.
The libsmbclient interface has suffered from difficulty of improvement and
feature enrichment without causing ABI breakage.  Although there were a number
of issues, the primary ones were:

(a) the user of the library would manually manipulate the context structure
    members, meaning that nothing in the context structure could change other
    than adding stuff at the end;

(b) there were three methods of setting options: setting bits in a flags field
    within the context structure, setting explicit options variables within an
    options structure in the context structure, and by calling the
    smbc_option_set() function;

(c) the authentication callback did not traditionally provide enough
    information to the callee which required adding an option for a callback
    with a different signature, and now there are requests for even more
    information at the callback, requiring yet a third signature and option to
    set it (if we implement that feature).

This commit provides a reorganization of the code which fixes (a) and (b).
The context structure is now entirely opaque, and there are setter and getter
functions for manipulating it.  This makes maintaining ABI consistency much,
much easier.

Additionally, the options setting/getting has been unified into a single
mechanism using smbc_option_set() and smbc_option_get().

Yet to be completed is a refactoring of the authentication callback (c).

The test programs in examples/libsmbclient have been modified (if necessary;
some applications require no changes at all) for the new API and a few have
been minimally tested.

Derrell
2008-03-01 20:47:22 -05:00
Derrell Lipman
296a6783fb Replace GetTimeOfDay() with gettimeofday() in example program.
GetTimeOfDay() seems to no longer be exported.  For the smbsh example, just
use the native gettimeofday() for now.
2008-01-16 14:37:40 +00:00
Derrell Lipman
2f43284244 Fix compile and linking errors since last this code was tested 2008-01-13 12:07:18 -05:00
Andrew Tridgell
d0e89d246d r23785: use the GPLv3 boilerplate as recommended by the FSF and the license text 2007-10-10 12:28:23 -05:00
Jeremy Allison
407e6e695b r23779: Change from v2 or later to v3 or later.
Jeremy.
2007-10-10 12:28:20 -05:00
Derrell Lipman
2b48665006 r12852: r12150@cabra: derrell | 2006-01-11 13:21:14 -0500
Although RTLD_NEXT was not working properly a number of years ago, it seems to be now.  Replace dlopen(/lib/libc...) with direct use of RTLD_NEXT
2007-10-10 11:06:04 -05:00
Derrell Lipman
0ae65b9af5 r12759: r12128@cabra: derrell | 2006-01-07 15:34:01 -0500
Incorporate a number of changes suggested by David Collier-Brown  Thanks, David!
2007-10-10 11:06:03 -05:00
Derrell Lipman
bab0bf7f4f r7168: Updating file times from libsmbclient was not working for win98. Although
the function that was being used to set attributes is a core protocol
function (SMBsetatr = 0x09), it does not appear to work on win98.  As a
temporary measure, when file times are to be set, this version opens the
file and uses SMBsetattrE = 0x22 instead.  (The other advantage of this
function over the original one is that it supports setting access time as
well as modification time.)

The next step, the proper solution if it can be made to work, is to write
functions that use TRANS2_SET_PATH_INFO instead.
2007-10-10 10:57:04 -05:00
Derrell Lipman
e1df648ea1 r6126: added utility for testing smbc_stat() 2007-10-10 10:56:23 -05:00
Derrell Lipman
15736b97c8 r6108: Added smbsh/smbwrapper for Linux to example/libsmbclient tree; provided more complete libsmbclient testbrowse utility 2007-10-10 10:56:22 -05:00