Age | Commit message (Collapse) | Author | Files | Lines |
|
Given the tacit (if that) approval by some people, and clear disapproval by
others for my proposed clean-up and reorganization of libsmbclient, I've come
up with a slightly different approach. This commit changes back to the
original libsmbclient.h SMBCCTX structure which will maintain ABI
compatibility. I retain, here, the setter and getter functions which all new
code should use. Older programs already compiled should continue to work
fine. Older programs being recompiled will encounter compile-time errors
(intentionally!) so that the code can be corrected to use the setter/getter
interfaces.
Although this doesn't clean up the interface in the way I had wanted, the code
reorganization and requirement for new programs to use the setters and getters
allows future progress to be made on libsmbclient without further muddying up
the interface, while retaining the ABI compatibility that was the big issue
causing disapproval. I hope that this compromise is adequate.
Derrell
(cherry picked from commit 56429a3d60b2a48963342f6340b3c01469a892c6)
(This used to be commit 7bc53f57dcb1c3bb80cb20796ebfc743c22a76e3)
|
|
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
(cherry picked from commit d4b4bae8ded824d06ad5ab0e219f71187ee5c771)
(This used to be commit 59292c0da8880afd7bac82f6a5bba009f3827ea0)
|
|
Jeremy, in 3.0 we allowed get_mydnsdomname and get_mydnsfullname to fail
without filling in anything useful. Worked fine. Without this patch and a empty
/etc/hosts and no DNS configured, session setup would return
NT_STATUS_BAD_NETWORK_NAME. This is confusing at best, BAD_NETWORK_NAME afaik
is only ever returned from tcon normally.
This restores the 3.0 behaviour.
Comments?
Volker
(This used to be commit 4170259e5f83c281966a80916e4ece6937e08988)
|
|
This reverts commit f5356825698a02df2d400b51dd95d1f857c83e81.
(cherry picked from commit 5f53a62be8a21b8d92ac44b18d202882500356e8)
(This used to be commit 8beead9c936038365f28467e527b2c066e3a5440)
|
|
This reverts commit 844a163458c7585e4306a21ffdae5d08e03d6e4d.
(cherry picked from commit 5ab1cfda500de07ff3c712442ab2fc74eecc8886)
(This used to be commit 7821066d4ff4a8503a596ab342a2a84ed9a9f8b9)
|
|
This reverts commit 719527f55e88f0c5fdceda5c807475aba299c79f.
(cherry picked from commit ac301fada257e2d3b50148109a3d44fa1421b0b4)
(This used to be commit 1bfc4404e7f7314111f979bd09321e39be76bf15)
|
|
Guenther
(This used to be commit b736c77dc6c36dcdb601903fadf0ef7f163052a3)
|
|
(This used to be commit 719527f55e88f0c5fdceda5c807475aba299c79f)
|
|
This is the big (and potentially controversial) one. It took a phone call to
explain to metze what is going on inside cli_pull_read_done, but I would really
like everybody to understand this function. It is a very good and reasonably
complex example of async programming. If we want more asynchronism in s3, this
is what we will have to deal with :-)
Make use of it in the smbclient "get" command.
Volker
(This used to be commit 844a163458c7585e4306a21ffdae5d08e03d6e4d)
|
|
(This used to be commit f5356825698a02df2d400b51dd95d1f857c83e81)
|
|
KRB5.
Jeremy.
(This used to be commit d16c295642c3df49be02440427ded0cd9b4179f5)
|
|
This is == cli_setup_packet but takes an explicit buffer argument
(This used to be commit f64b46dc278899c3449cfd3dbb614aadcf5614d3)
|
|
(This used to be commit e69244a5c8c7c6b7c1897adc4b4b1cfdfc7a7999)
|
|
Guenther
(This used to be commit 74767be627d48eb1a8deea3784847159b536a0fb)
|
|
(This used to be commit ffc1c8cc03e6bad40ed2be91392074b4f038a1bf)
|
|
(This used to be commit db6ae9ed2326e6cd68475375d049084cf1d5a98c)
|
|
Guenther
(This used to be commit b1a4b21f8c35dc23e5c986ebe44d3806055eb39b)
|
|
OS/2 servers. OS/2 returns eclass == ERRDOS && ecode == ERRnofiles
for a zero entry directory listing.
Jeremy.
(This used to be commit b34da627053581a9584367e177566d4a2cef7e82)
|
|
Guenther
(This used to be commit d078a8757182d84dfd3307a2e1b751cf173aaa97)
|
|
Guenther
(This used to be commit 58cca9faf9db506bd2f6eab4a99ef85153797ab2)
|
|
(This used to be commit 6f5051b9c1405ab1dc3e697419ceedb3acac46d8)
|
|
(This used to be commit 7e5752812d6d9e3bcf9a545cbdcf3afe2175dbc4)
|
|
warning: ignoring return value of 'asprintf', declared with attribute warn_unused_result
(This used to be commit ad37b7b0aee265a3e4d8b7552610f4b9a105434d)
|
|
(This used to be commit 621db68f32f7007de8b2c4d7cf604a5778725615)
|
|
(This used to be commit ac027a9b2e84d319f961ac0e84654a0e48920138)
|
|
(This used to be commit 47dd0700b4320bf5ac9a80e71ae82d82d4554e6a)
|
|
Guenther
(This used to be commit 1dcb32424d16cff968a8713352c93c48dec58674)
|
|
Guenther
(This used to be commit 3b0135d57e1e70175a5eec49b603a2e5f700c770)
|
|
Guenther
(This used to be commit bf860ae1ac6765b1eb6e2ca9b667b19b4e661fda)
|
|
Guenther
(This used to be commit 33f91c894488687a42500e751eb9016d99d9129c)
|
|
Guenther
(This used to be commit 2fb73a3545634982d17d3823cb629f06c5779fc0)
|
|
This allows to remove some more old netlogon client calls.
Guenther
(This used to be commit c0b1a876583230a5130f5df1965d6c742961bcdc)
|
|
Guenther
(This used to be commit ea0bf74918e7b009439452ea14ed68b0ce620787)
|
|
Guenther
(This used to be commit 41d33a2507e3fae7837bb8e42b1ac30cc31c31dc)
|
|
Jeremy.
(This used to be commit e3e08c6e7d270e1be7a9d3042b1f36f5a291f90a)
|
|
Guenther
(This used to be commit a25e7ffbca9c2c97dd36b0596e7cb38a72aaf9d9)
|
|
If I'm not completely blind, we should return here. Not doing it here seems not
to be a major flaw, as far as I can see we're only missing the error code. This
might account for some of the very unhelpful NT_STATUS_UNSUCCESSFUL error
messages people see during joins.
All with stake in Samba client, please check!
(This used to be commit eadd15c9363a57c214ede3c489057646baca48f8)
|
|
already got this in the cli_receive_trans calls.
Jeremy.
(This used to be commit 99424bba7bb45b05d970bab4a5e93f2cb636fcbb)
|
|
Jeremy.
(This used to be commit 2e27309401faa554620886b0e369db9d9c08e4fd)
|
|
Jeremy.
(This used to be commit 101f194795f87c709abfdfbcde710131a88f9d20)
|
|
on issues reported by kukks.
Jeremy.
(This used to be commit dcd77dd4f480db3273a56c5740b6e5d78f8be4a9)
|
|
Report and fix from kukks (thanks once again !).
Jeremy.
(This used to be commit 3ca58b792fb10ff2a4c25283c587f8270ed82d74)
|
|
Karolin
(This used to be commit 2bec0a1fb7857e6fb8ec15e5f597b2d4125f105b)
|
|
(This used to be commit ba771bd858602452a9e58c3aab1336f2ac8a25ef)
|
|
(This used to be commit 90554799afa42855c3e7b87dc632e67f0952f988)
|
|
(This used to be commit f9c8ac83ff42137d2101d3bb17e5dcc3c3d70a8f)
|
|
Guenther
(This used to be commit fd490d236b1fb73a75c457b75128c9b98719418f)
|
|
Just a small commit to get a handle on this git thingy. This patch
fixes some missing calls to va_end() to match various calls to va_start()
and VA_COPY().
Tim.
(This used to be commit ec367f307dff7948722b9ac97beb960efd91991f)
|
|
Guenther
(This used to be commit cb1ff32eff06031150a6821658152e02a4077bbd)
|
|
(This used to be commit 4c08725a42a8babf0f078fb4b221a96f58deeb50)
|