Age | Commit message (Collapse) | Author | Files | Lines |
|
(This used to be commit 93580bce833453ba512ee436d6dfdbdcd2c53777)
|
|
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
(This used to be commit d4b4bae8ded824d06ad5ab0e219f71187ee5c771)
|
|
GetTimeOfDay() seems to no longer be exported. For the smbsh example, just
use the native gettimeofday() for now.
(This used to be commit 296a6783fbc03460e87ac4136a0a9e6d2743b2ff)
|
|
(This used to be commit 2f432842442859f98ecd263464ce02821ab10fca)
|
|
(This used to be commit d0e89d246d8e5e64196d6c1d16d39a70579ca42f)
|
|
Jeremy.
(This used to be commit 407e6e695b8366369b7c76af1ff76869b45347b3)
|
|
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
(This used to be commit 2b4866500640891fcb1ca7b24997df17f1b077cc)
|
|
Incorporate a number of changes suggested by David Collier-Brown Thanks, David!
(This used to be commit 0ae65b9af566e02eece9bb7865047c037468d470)
|
|
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.
(This used to be commit bab0bf7f4f9d2a4b6fcee4429094349302bbeb33)
|
|
(This used to be commit e1df648ea13651e1df3d209937034b351a7f1c2b)
|
|
provided more complete libsmbclient testbrowse utility
(This used to be commit 15736b97c837a16d9c009b8bff18b31429ccbe83)
|