1
0
mirror of https://github.com/samba-team/samba.git synced 2025-11-22 16:23:49 +03:00
Commit Graph

157 Commits

Author SHA1 Message Date
Jeremy Allison
1c9e10569c r21768: Fix the client dfs code such that smbclient can
process deep dfs links (ie. links that go to non root
parts of a share). Make the directory handling conanonical
in POSIX and Windows pathname processing.
dfs should not be fully working in client tools. Please
bug me if not.
Jeremy.
2007-10-10 12:18:30 -05:00
Simo Sorce
e7e44554bf r21239: if the workgroup name is longer than 16 chars we get garbage in the string
server_len is usually 256 (fstring).

Correctly terminate saving the lenght
2007-10-10 12:17:50 -05:00
Derrell Lipman
2f9be59c10 r21132: - Fixes bug 4366. Documentation for smbc_utimes() was incorrect.
- Should fix bug 4115 (but needs confirmation from OP).  If the kerberos use
  flag is set in the context, then also pass it to smbc_attr_server for use by
  cli_full_connection()

- Should fix bug 4309 (but needs confirmation from OP).  We no longer send a
  keepalive packet unconditionally.  Instead, we assume (yes, possibly
  incorrectly, but it's the best guess we can make) that if the connection is
  on port 139, it's netbios and otherwise, it isn't.  If netbios is in use, we
  send a keepalive packet.  Otherwise, we check that the connection is alive
  using getpeername().
2007-10-10 12:17:42 -05:00
Jelmer Vernooij
580f2a7197 r20832: Remove extra pointers previously added to unique [out] pointers. Instead,
add [ref] pointers where necessary (top-level [ref] pointers,
by spec, don't appear on the wire).

This brings us closer to the DCE/RPC standard again.
2007-10-10 12:17:11 -05:00
Volker Lendecke
f9edfffeb5 r20333: Fix a couple of Coverity errors in one run, this was a potential NULL dereference 2007-10-10 12:16:41 -05:00
Herb Lewis
41be182f78 r20269: merge -r20264:20267 from SAMBA_3_0_24
more no previous prototype warnings
2007-10-10 12:16:38 -05:00
Volker Lendecke
bc4e0a388a r19797: Convert the remaining pipes to the "new" unique out ptr handling 2007-10-10 12:15:56 -05:00
Volker Lendecke
3a1be1626c r19469: Another user of NetShareEnum 2007-10-10 12:15:37 -05:00
Andrew Tridgell
8438a6a7d4 r18865: fixed some of the most obvious NTSTATUS/WERROR mixups in Samba3. It
still doesn't compile with immediate structures and the
NTSTATUS/WERROR separation, as there are still several places where
the two error types are mixed up. I haven't fixed those as they
require decisions about the rpcclient code that I really don't want to
get into (the error handling there is a mess)

So samba3 compiles now, but only becaise HAVE_IMMEDIATE_STRUCTURES is
not used (look for HAVE_IMMEDIATE_STRUCTURES_XX_DISABLED)
2007-10-10 12:01:06 -05:00
Jelmer Vernooij
ef10672399 r18802: Use the pidl-generated code for the srvsvc interface, both client and server code.
This has had some basic testing. I'll do more during the next couple of days and hopefully also
make RPC-SRVSVC from Samba4 pass against it.
2007-10-10 12:00:59 -05:00
Jelmer Vernooij
b41c52b9db r18745: Use the Samba4 data structures for security descriptors and security descriptor
buffers.

Make security access masks simply a uint32 rather than a structure
with a uint32 in it.
2007-10-10 12:00:54 -05:00
Gerald Carter
3da9f80c28 r18271: Big change:
* autogenerate lsa ndr code
* rename 'enum SID_NAME_USE' to 'enum lsa_SidType'
* merge a log more security descriptor functions from
  gen_ndr/ndr_security.c in SAMBA_4_0

The most embarassing thing is the "#define strlen_m strlen"
We need a real implementation in SAMBA_3_0 which I'll work on
after this code is in.
2007-10-10 11:51:18 -05:00
Derrell Lipman
9b6fee5f6f r18013: Fix for "bug" (enhancement) 3684.
Provide a new option to specify the share mode to be used when opening a
file.
2007-10-10 11:39:48 -05:00
Derrell Lipman
fc5b6e4bd8 r18012: Should fix bug 4018.
NetApp filers expect paths in Open AndX Request to have a leading slash.
Windows clients send the leading slash, so we should too.
2007-10-10 11:39:48 -05:00
Derrell Lipman
fa664b24b8 r18011: Should fix bug 3835.
Jeremy: requires your eyes...

If the remote connection timed out while cli_list() was retrieving its list of
files, the error was not returned to the user, e.g. via smbc_opendir(), so the
user didn't have a way to know to set the timeout longer and try again.  This
problem would occur when a very large directory is being read with a too-small
timeout on the cli.

Jeremy, although there were a couple of areas that needed to be handled, I
needed to make one change that you should bless, in libsmb/clientgen.c.  It
was setting

  cli->smb_rw_error = smb_read_error;

but smb_read_error is zero, so this had no effect.  I'm now doing

  cli->smb_rw_error = READ_TIMEOUT;

instead, and according to the OP, these (cumulative) changes (in a slightly
different form) solve the problem.

Please confirm this smb_rw_error change will have no other adverse effects
that you can see.

Derrell
2007-10-10 11:39:48 -05:00
Derrell Lipman
8e119b64f1 r18009: Fixes bug 4026.
This completes the work Jeremy began last week, disambiguating the meaning of
c_time.  (In POSIX terminology, c_time means "status Change time", not "create
time".)  All uses of c_time, a_time and m_time have now been replaced with
change_time, access_time, and write_time, and when creation time is intended,
create_time is used.

Additionally, the capability of setting and retrieving the create time have
been added to the smbc_setxattr() and smbc_getxattr() functions.  An example
of setting all four times can be seen with the program

  examples/libsmbclient/testacl

with the following command line similar to:

  testacl -f -S "system.*:CREATE_TIME:1000000000,ACCESS_TIME:1000000060,WRITE_TIME:1000000120,CHANGE_TIME:1000000180" 'smb://server/share/testfile.txt'

The -f option turns on the new mode which uses full time names in the
attribute specification (e.g. ACCESS_TIME vs A_TIME).
2007-10-10 11:39:47 -05:00
Jeremy Allison
425280a1d2 r17800: Start using struct timespec internally for file times
on the wire. This allows us to go to nsec resolution
for systems that support it. It should also now be
easy to add a correct "create time" (birth time)
for systems that support it (*BSD). I'll be watching
the build farm closely after this one for breakage :-).
Jeremy.
2007-10-10 11:38:48 -05:00
Jeremy Allison
42a417fb75 r17761: Handle times consistently across all client utils.
Fixes bugs reported in libsmbclient.
Jeremy.
2007-10-10 11:38:47 -05:00
Volker Lendecke
94817a8ef5 r17571: Change the return code of cli_session_setup from BOOL to NTSTATUS
Volker
2007-10-10 11:38:39 -05:00
Volker Lendecke
be9aaffdac r17333: Some C++ warnings 2007-10-10 11:38:26 -05:00
Jeremy Allison
9dafb7f48c r16945: Sync trunk -> 3.0 for 3.0.24 code. Still need
to do the upper layer directories but this is what
everyone is waiting for....

Jeremy.
2007-10-10 11:19:14 -05:00
Jeremy Allison
ee2b2d96b6 r16644: Fix bug #3887 reported by jason@ncac.gwu.edu
by converting the lookup_XX functions to correctly
return SID_NAME_TYPE enums.
Jeremy.
2007-10-10 11:19:05 -05:00
Derrell Lipman
d90061aa93 r16552: Fix bug 3849.
Added a next_token_no_ltrim() function which does not strip leading separator
characters.  The new function is used only where really necessary, even though
it could reasonably be used in many more places, to avoid superfluous code
changes.

Derrell
2007-10-10 11:19:00 -05:00
Derrell Lipman
c1b4c51053 r16550: Fix bug 3866. Thanks for the report!
Although I've never met a computer or compiler that produced pointers to
functions which are a different size than pointers to data, I suppose they
probably exist.  Assigning a pointer to a function is technically illegal in C
anyway.

Change casts of the option_value based on the option_name to use of variable
argument lists.

For binary compatibility, I've maintained but deprecated the old behavior of
debug_stderr (which expected to be passed a NULL or non-NULL pointer) and
added a new option debug_to_stderr which properly expects a boolean (int)
parameter.

Derrell
2007-10-10 11:18:59 -05:00
Volker Lendecke
3df0bf7d60 r16360: Fix Klocwork ID 136 520 521 522 523 542 574 575 576 607
in net_rpc.c: 715 716 732 734 735 736 737 738 739 749

in net_rpc_audit.c: 754 755 756

in net_rpc_join.c: 757

in net_rpc_registry: 766 767

in net_rpc_samsync.c: 771 773

in net_sam.c: 797 798

Volker
2007-10-10 11:18:48 -05:00
Jeremy Allison
e24361ecdd r16287: Use intptr_t to return an integer of an unknown type cast
to void *.
Jeremy.
2007-10-10 11:17:31 -05:00
Derrell Lipman
203b4911c1 r14664: r13868@cabra: derrell | 2006-03-22 17:04:30 -0500
Implement enhancement request 3505.  Two additional features are added here.
 There is now a method of saving an opaque user data handle in the smbc_
 context, and there is now a way to request that the context be passed to the
 authentication function.  See examples/libsmbclient/testbrowse.c for an example
 of using these features.
2007-10-10 11:15:42 -05:00
Jeremy Allison
6de5e9ae46 r14418: Try and fix Coverity #39 and #40 by making the
implicit function contract explicit.
Jeremy.
2007-10-10 11:15:29 -05:00
Jim McDonough
1043e0d90c r14279: Fix coverity #86, 87, 88, 89:
Free grp_sid and owner_sid before returning.  Also, only allow one group
or owner.
2007-10-10 11:15:23 -05:00
Volker Lendecke
97789ec8fc r14241: Fix Coverity bug # 146 2007-10-10 11:15:19 -05:00
Volker Lendecke
019dff53f9 r14236: Fix Coverity bug # 90 2007-10-10 11:15:19 -05:00
Volker Lendecke
26d471c02c r14235: Fix Coverity bug # 91 2007-10-10 11:15:19 -05:00
Volker Lendecke
8a8d9057d9 r14234: Fix Coverity bug # 93 2007-10-10 11:15:19 -05:00
Alexander Bokovoy
6b52423033 r14158: Fix coverity CID #147 -- do not dereference pointers before checking their existence 2007-10-10 11:15:14 -05:00
Gerald Carter
b65be8874a r13571: Replace all calls to talloc_free() with thye TALLOC_FREE()
macro which sets the freed pointer to NULL.
2007-10-10 11:10:14 -05:00
Günther Deschner
c0d91f9d19 r13495: Derell, I'm removing that double setup_logging(), just a typo.
Guenther
2007-10-10 11:10:06 -05:00
Gerald Carter
17e63ac4ed r13316: Let the carnage begin....
Sync with trunk as off r13315
2007-10-10 11:06:23 -05:00
Derrell Lipman
aa25dc1248 r13216: r12422@cabra: derrell | 2006-01-28 23:57:35 -0500
Fix cli_setpathinfo() to actually do what it's supposed to.

 Also, get rid of some apparently drug-induced code to deal with create time
 which isn't being manipulated anyway.
2007-10-10 11:06:18 -05:00
Derrell Lipman
5fbc2fbb46 r13214: r12420@cabra: derrell | 2006-01-28 19:10:58 -0500
This should fix bug #3446.

 - The authentication domain provided an an SMB URL was being ignored.  This
   patch fixes that.

 - There were a number of places where string copies were not being confirmed to
   be properly null-terminated.  Now, all string copies in libsmbclient.c are
   properly null-terminated.
2007-10-10 11:06:18 -05:00
Derrell Lipman
f2a24de769 r13212: r12414@cabra: derrell | 2006-01-28 17:52:17 -0500
lp_load() could not be called multiple times to modify parameter settings based
 on reading from multiple configuration settings.  Each time, it initialized all
 of the settings back to their defaults before reading the specified
 configuration file.

 This patch adds a parameter to lp_load() specifying whether the settings should
 be initialized.  It does, however, still force the settings to be initialized
 the first time, even if the request was to not initialize them.  (Not doing so
 could wreak havoc due to uninitialized values.)
2007-10-10 11:06:18 -05:00
Derrell Lipman
64c8e32b63 r12579: r12122@cabra: derrell | 2005-12-29 12:03:00 -0500
allow for arbitrary option value types
2007-10-10 11:06:00 -05:00
Derrell Lipman
4182eb99af r12576: r12115@cabra: derrell | 2005-12-29 11:16:03 -0500
bug (enhancement) #2651: add option to log debug messages to stderr instead of stdout
2007-10-10 11:05:59 -05:00
Derrell Lipman
0070d816ab r12570: r12084@cabra: derrell | 2005-12-29 10:05:16 -0500
do not open connection when only looking for cached connection; also, fix crash caused by missing initialization following recent locale changes
2007-10-10 11:05:59 -05:00
Derrell Lipman
3d45023368 r12569: r12083@cabra: derrell | 2005-12-29 09:39:45 -0500
fix line length and make formatting/indentation more consistent
2007-10-10 11:05:59 -05:00
Derrell Lipman
85e4cab1d9 r12485: r12044@cabra: derrell | 2005-12-25 16:46:47 -0500
When enumerating what could be a server name or a workgroup name, first
 check for an existing server structure.  If none exists, then go through
 the previous determination of whether it's a serrver or a workgroup.  This
 should avoid doing a NetBIOS name query each time, if we've already
 connected to the specified server.  (While we're at it, clean up indenting
 and line length in this area of code.)
2007-10-10 11:05:58 -05:00
Derrell Lipman
ded5fceef1 r12472: r12040@cabra: derrell | 2005-12-24 23:26:55 -0500
revert immediately previous change and fix problem correctly.  Interfaces were being loaded before all configuration files had been read.  *This* should fix byg 3336.
2007-10-10 11:05:57 -05:00
Derrell Lipman
6d7a9ce7a7 r12471: r12038@cabra: derrell | 2005-12-24 23:17:16 -0500
libsmbclient was not loading the global configuration file.  This should fix 3336.
2007-10-10 11:05:57 -05:00
Derrell Lipman
481abfbab4 r12466: r12028@cabra: derrell | 2005-12-24 20:25:38 -0500
parse dates correctly.  w_time and m_time were reversed.
2007-10-10 11:05:56 -05:00
Derrell Lipman
965025c057 r12235: r11738@cabra: derrell | 2005-12-14 13:15:14 -0500
Ensure that when libsmbclient copies a cli, it prevents the cli from later
 being freed, by turning off the 'allocated' flag.

 Change a DEBUG message in pipe_open code from level 0 to level 1 since
 libsmbclient is now regularly attempting to open a pipe for share enumeration,
 and falling back to RAP if RPC is unavailable (e.g. win98).  We don't want
 the debug message to display when the pipe open fails, under these normal
 circumstances.
2007-10-10 11:05:50 -05:00
Derrell Lipman
62a02b8f2a r12225: r11729@cabra: derrell | 2005-12-13 22:59:45 -0500
1. Fix a crash bug which should have reared its ugly head ages ago, but for
    some reason, remained dormant until recently.  The bug pertained to
    libsmbclient doing a structure assignment of a cli after having opened a
    pipe.  The pipe open code makes a copy of the cli pointer that was passed
    to it.  If the cli is later copied (and that cli pointer that was saved
    is no longer valid), the pipe code will cause a crash during shutdown or
    when the copied cli is closed.

 2. The 'type' field in enumerated shares was not being set correctly with
    the new RPC-based mechanism for enumerating shares.
2007-10-10 11:05:50 -05:00