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

169 Commits

Author SHA1 Message Date
Derrell Lipman
8f371e2ea9 r24466: - Sort ACEs according to http://support.microsoft.com/kb/269175 so that
Windows Explorer doesn't complain about the order (and so that they get
  interpreted properly).

Derrell
2007-10-10 12:29:50 -05:00
Derrell Lipman
319df380e5 r24462: - Removing all ACEs was causing removal of the DACL entirely. Win2000 ignored
the request, presumably due to the PROTECTED flag not being set.  Setting
  that flag (in make_sec_desc()) has much wider implications than just to
  libsmbclient, so instead of modifying that, we'll remove security
  descriptors by setting the number of ACEs to zero.  At some point, we might
  want to look into whether we should actually be setting the PROTECTED flag
  in the DACL.

  Reference http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/distrib/dsce_ctl_qxju.mspx?mfr=true

Derrell
2007-10-10 12:29:50 -05:00
Derrell Lipman
2fde343150 r24410: - I got tricked by function naming. Contrary to what seemed obvious to me,
prs_mem_free() is not the function to be called to free memory allocated by
  prs_alloc_mem().  I've added a comment so others may not get bitten too.

- Remove incorrect memory free calls added yesterday to replace SAFE_FREE.
  The memory is actually now on a talloc context, so gets freed by the caller
  when that context is freed.  We don't need to free it iternally.

Derrell
2007-10-10 12:29:41 -05:00
Derrell Lipman
2ac502e29b r24388: - ACL retrieval provided incomplete information because the buffer pointer was
incremented too far in some circumstances.  In these cases, only the first
 of multiple concatenated strings would be seen.

- Working on bug 4649 pertaining to delete an ACL, this fixes the reported
 crash.  It appears to have been an incomplete switchover from malloc to
 talloc, as the memory was still being freed with SAFE_FREE.

 Deleting ACLs still doesn't work.  Although a valid request is sent to the
 server and a SUCCESS response is returned, the method that's used in
 libsmbclient for deleting ACLs seems to be incorrect.  In looking at the
 samba4 torture tests, it appears that we should be turning on the INHERIT
 flag if we want to delete the ACL.  (I could use some assistance on the
 proper flags to send, from anyone familiar with this stuff.)

- Apply patch from SATOH Fumiyasu to fix bug 4750.  smbc_telldir_ctx() was not
  returning a value useful to smbc_lseekdir_ctx().

Derrell
2007-10-10 12:29:39 -05:00
Andrew Tridgell
b0132e94fc r23784: use the GPLv3 boilerplate as recommended by the FSF and the license text 2007-10-10 12:28:22 -05:00
Jeremy Allison
407e6e695b r23779: Change from v2 or later to v3 or later.
Jeremy.
2007-10-10 12:28:20 -05:00
Günther Deschner
e9a7512a9f r23627: Allow to pass down the lookup-level to rpccli_lsa_lookup_names().
Guenther
2007-10-10 12:23:38 -05:00
Jeremy Allison
073fdc5a58 r23554: Fix bug #4711 by makeing cli_connect return an NTSTATUS.
Long overdue fix....
Jeremy.
2007-10-10 12:23:28 -05:00
Derrell Lipman
6675c8acf1 r23001: - Fix but #4634. Type of the size parameter to getpeername was wrong. 2007-10-10 12:22:13 -05:00
Derrell Lipman
7213b5ebec r22914: - Fixes bug 4599. A missing <code>if</code> statement forced subseqeuent
attempts to set attributes to fail.

- I also noticed that missing attributes were setting an invalid return string
  by getxattr(), e.g. if there was not group, the return string had "GROUP:;"
  instead of excluding the GROUP attribute entirely as it should.  The big
  problem with the way it was, is that the string could not then be passed to
  setxattr() and parsed.
2007-10-10 12:22:07 -05:00
Derrell Lipman
34f77af02e r22850: - Fixes bug 4601. smbc_getxattr() would not, in one case, properly return the
required size of a buffer needed to contain the extended attributes.
2007-10-10 12:22:02 -05:00
Stefan Metzmacher
844dac912c r21932: fix compiler warning.
maybe also for 3.0.25

metze
2007-10-10 12:18:50 -05:00
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