1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-14 19:24:43 +03:00

1869 Commits

Author SHA1 Message Date
Jeremy Allison
e9f51a6e38 Patch from Michael Steffens. In his own words :
-------------------------------------------------------------------------
I think there are basically two problem:

  1. Windows clients do not always send ACEs for SMB_ACL_USER_OBJ, SMB_ACL_GROUP_OBJ,
     and SMB_ACL_OTHER.
     The function ensure_canon_entry_valid() is prepared for that, but tries
     to "guess" values from group or other permissions, respectively, otherwise
     falling back to minimum r-- for the owner. Even if the owner had full
     permissions before setting ACL. This is the problem with W2k clients.

  2. Function set_nt_acl() always chowns *before* attempting to set POSIX ACLs.
     This is ok in a take-ownership situation, but must fail if the file is
     to be given away. This is the problem with XP clients, trying to transfer
     ownership of the original file to the temp file.

The problem with NT4 clients (no ACEs are transferred to the temp file, thus
are lost after moving the temp file to the original name) is a client problem.
It simply doesn't attempt to.

I have played around with that using posic_acls.c from 3.0 merged into 2.2.
As a result I can now present two patches, one for each branch. They
basically modify:

  1. Interpret missing SMB_ACL_USER_OBJ, SMB_ACL_GROUP_OBJ, or SMB_ACL_OTHER
     as "preserve current value" instead of attempting to build one ourself.
     The original code is still in, but only as fallback in case current values
     can't be retrieved.

  2. Rearrange set_nt_acl() such that chown is only done before setting
     ACLs if there is either no change of owning user, or change of owning
     user is towards the current user. Otherwise chown is done after setting
     ACLs.

It now seems to produce reasonable results. (Well, as far as it can. If
NT4 doesn't even try to transfer ACEs, only deliberate use of named default
ACEs and/or "force group" or the crystal ball can help :)
-------------------------------------------------------------------------
Jeremy.
(This used to be commit 1d3b8c528bebfa1971d1affe454a03453335786e)
2003-03-07 19:37:31 +00:00
Jeremy Allison
97d25a7374 Fix noticed by Corny.Bondad@hp.com. Ensure we free up memory on error exit.
Jeremy.
(This used to be commit 05a8a61af83a6d85ddbb70749c8cd0abe9eb8180)
2003-03-07 00:35:24 +00:00
Jeremy Allison
442a55b6b4 Found at Connectathon, .NET RC1 arranges trans/trans2/nttrans parameters
differently to W2K, cope with this.
Jeremy.
(This used to be commit 5e2755508f08ecf561348d4edf0a4064732c5213)
2003-03-07 00:30:47 +00:00
Jeremy Allison
28074d957a Const warning fixes.
Jeremy.
(This used to be commit 30e8ae8e030b5dccaef9612dca24907be547acdf)
2003-03-03 20:12:37 +00:00
Gerald Carter
19995a40c1 don't forget the NULL
(This used to be commit 4aa611958ebedfafbb9bfc1070b7d632272e1aaf)
2003-02-27 23:54:58 +00:00
Gerald Carter
e4c8e7ad8a and the winner of "i should have just written it in assembly
is..."

don't use pstrcpy() when you are not dealing with pstrings.
(This used to be commit e1b21381f3b5cf6f97c101642e9286df9987998e)
2003-02-27 23:21:37 +00:00
Gerald Carter
1738f7c2b7 don't pass NULL pointers to strcmp()
(This used to be commit 9b0a49a0bc177f9637f197b3ab4613f25db1b43d)
2003-02-27 21:37:30 +00:00
Gerald Carter
0d30cdf66c additional fix for CR 601
* distinguish WinXP from Win2k
  * add a 1/3 of a second delay in OpenPrinter
    in order to trigger a LAN/WAN optimization in
    2k clients.
(This used to be commit c7712fa054d21b4884a78b7ea6c0fb8b3d637c6b)
2003-02-27 21:22:36 +00:00
Jeremy Allison
fb3e4b8797 Fix to allow blocking lock notification to be done rapidly (no wait
for smb -> smb lock release). Adds new PENDING_LOCK type to lockdb
(does not interfere with existing locks).
Jeremy.
(This used to be commit 766928bbba1e597c9c2b12458dd8d37e6080593e)
2003-02-27 01:04:34 +00:00
Gerald Carter
23b3b29eec Progress on CR 601
cache the printer_info_2 with the open printer handle.
cache is invalidated on a mod_a_printer() call **on that smbd**.

Yes, this means that the window for admins to step on each other
from different clients just got larger, but since handles a generally
short lived this is probably ok.
(This used to be commit 31272d3b6bb9ec62fd666301c7adfa0c1720a99b)
2003-02-25 20:53:53 +00:00
Andrew Bartlett
266ec4aac0 Merge doxygen, signed/unsigned, const and other small fixes from HEAD to 3.0.
Andrew Bartlett
(This used to be commit 9ef0d40c3f8aef52ab321dc065264c42065bc876)
2003-02-24 03:09:08 +00:00
Andrew Bartlett
e72ecdc862 Merge of server-side authentication changes to 3.0:
- user_ok() and user_in_group() now take a list of groups, instead of
   looking for the user in the members of all groups.

 - The 'server_info' returned from the authentication is now kept around
  - in future we won't copy the sesion key, username etc, we will just
    referece them directly.

 - rhosts upgraded to use the SAM if possible, otherwise fake up based on
   getpwnam().

 - auth_util code to deal with groups upgraded to deal with non-winbind domain
   members again.

Andrew Bartlett
(This used to be commit 74b5436c75114170ce7c780c19226103d0df9060)
2003-02-24 02:35:54 +00:00
Jeremy Allison
486fa37dc6 Added comments to make it clearer when we're assigning a pointer that it
must not be freed afterwards.
Jeremy.
(This used to be commit 4015e39d3666dbe240808c9007a8b8faca012a3d)
2003-02-21 06:25:58 +00:00
Jeremy Allison
3fd3bb38e2 Fix inspired by Stefan (metze) Metzmacher - cache the sidtype also.
Jeremy.
(This used to be commit efc92697801f5e62a89eda33e1826094c096900f)
2003-02-19 22:31:05 +00:00
Jeremy Allison
96cafdd7c7 Fix from Corny.Bondad@hp.com for missing if (setting_acls) on default
perms.
Jeremy.
(This used to be commit 793609cbc2f657b91a59aec4a3f403bf826c7156)
2003-02-19 02:34:44 +00:00
Jeremy Allison
33eb26ba5e Added code based on Michael Steffens <michael.steffens@hp.com> uid/gid
caching code. Reduces load on winbindd. Probably should be moved to
use gencache at some future date.
Jeremy.
(This used to be commit f2674d1ac94fd5928754b8176cdd65eda50bf66e)
2003-02-12 23:51:08 +00:00
Jeremy Allison
7d4eef34e3 Correctly return access denied on share mode deny when we can't open the
file. This is a regression that was damaged by other code.
Jeremy.
(This used to be commit 7844a53df72af8fd2f70d51b784352aeb1298ed2)
2003-02-12 01:13:35 +00:00
Jeremy Allison
dc1f0fd79a Ensure we are not forgetting our janitorial duties...
Jeremy.
(This used to be commit 7812370cabd4a8809eed1eb4968d552bcb0df2f5)
2003-02-12 01:06:52 +00:00
Jeremy Allison
e6ac820d81 Fix delete on close semantics to match W2K. I (think:-) I understand it now :-).
Thanks to Nir Livni <nirl@cyber-ark.com> for giving me the test case to
track it down.
Jeremy.
(This used to be commit 41894489e82a474f4f8f66aa2c7a117ed05b33e1)
2003-02-11 02:24:51 +00:00
Andrew Bartlett
8a20407442 Cleanups: (merge from HEAD)
- use safe_strcpy() instead of pstrcpy() for malloc()ed strings

 - CUPS: a failure in an attempt to automaticly add a printer is not level 0 stuff.

 - Fix up a possible Realloc() failure segfault

Andrew Bartlett
(This used to be commit c1cfc296c2efdb2b5972202146e80f0e3b6a3da4)
2003-02-10 11:47:21 +00:00
Gerald Carter
67acaa0026 check pointer before dereferencing it
(This used to be commit 8712bd1f8eb5321278e7c57bfdc7bdddbdaf1424)
2003-02-07 16:20:42 +00:00
Andrew Tridgell
50edc1a831 merge from head
(This used to be commit fd3216dbcbaec7d64dd24fe2af6c4156935c47e9)
2003-02-07 04:11:36 +00:00
Jeremy Allison
35a8dceb20 Check for too many processes *before* the fork.
Jeremy.
(This used to be commit be54b1b831b0bd6c428558131ea600c46433c090)
2003-02-05 21:16:55 +00:00
Andrew Bartlett
1fb6f689e7 Merge from HEAD: avoid braindead #define on Tru64.
(This used to be commit 299233fbf2328d08546b3b03dceca67083b68493)
2003-02-04 08:27:02 +00:00
Jeremy Allison
ce85e52eff Ensure we only ever set fsp->conn in one place.
Jeremy.
(This used to be commit d8a42753cc1e1a94aa6b816222343e1569521f14)
2003-02-04 01:43:10 +00:00
Jeremy Allison
70a03079a7 Ensure Samba passes the open attribute truncate tests in smbtorture.
Jeremy.
(This used to be commit b3df40bc803e7dc3b66a95eccb335e2b1775560e)
2003-02-04 01:11:56 +00:00
Simo Sorce
df6d278785 untest fix from HEAD/2.2 for wide links parameter bug.
it work properly on 2.2 and the patch apply so I think it should be ok.
(This used to be commit 8498503f1d59636959fe9f97601c55d82a776199)
2003-02-02 18:08:37 +00:00
Andrew Bartlett
3b2244526c Merge of signed/unsigned fixes from HEAD.
(This used to be commit e9f56a157bd472914eebf64fde586104d8274717)
2003-02-01 07:25:53 +00:00
Jeremy Allison
bbf9f09ee5 Add 3 second timeout when terminating server and sending print notify
messages. Stops build-up of large numbers of smbd's waiting to terminate
on large print throughput.
Jeremy.
(This used to be commit 07efebb98473cb3d4adc6b2e0afef3f06dcc99b8)
2003-01-30 23:55:58 +00:00
Tim Potter
142837e5d3 Merge of controversial 'max log size' fix.
(This used to be commit 71e2b60d8f784174cd2a75c5e03bf2a6ab353900)
2003-01-30 04:38:39 +00:00
Jeremy Allison
b61f89826f Fix for interesting resource constraint condition. When all opens are
level 2 and a request for open with no oplock is received then the
smbd should send *synchronous* break messages, not asynchronous,
otherwise it spins very rapidly, releasing the lock, sending the
'break to none' messages and then re-acquiring the lock before
any other process has a chance to get the lock and remove it's own
oplock (at least on linux).
Jeremy
(This used to be commit 33e3e863eb7f35b852384e689f3272784261fc39)
2003-01-30 01:41:46 +00:00
Andrew Bartlett
1cba0a7579 Merge from HEAD:
- NTLMSSP over SPENGO (sesssion-setup-and-x) cleanup and code refactor.
  - also consequential changes to the NTLMSSP and SPNEGO parsing functions
  - and the client code that uses the same functions
 - Add ntlm_auth, a NTLMSSP authentication interface for use by applications
   like Squid and Apache.
  - also consquential changes to use common code for base64 encode/decode.
 - Winbind changes to support ntlm_auth (I don't want this program to need
   to read smb.conf, instead getting all it's details over the pipe).
 - nmbd changes for fstrcat() instead of fstrcpy().

Andrew Bartlett
(This used to be commit fbb46da79cf322570a7e3318100c304bbf33409e)
2003-01-28 12:07:02 +00:00
Gerald Carter
db56e6f8f0 performance patch from HP-UX folks (cant remember who)
(This used to be commit d6c22e693efee88c17f1f0f6c861e7101b3fec99)
2003-01-28 02:15:11 +00:00
Jeremy Allison
dd072d240b Fixed typo found by tpot.
Jeremy.
(This used to be commit 7e2bc1fe58f5da437e55867d1205ca6ceade4c74)
2003-01-24 19:05:32 +00:00
Jeremy Allison
2b79854f06 Fix reference count bug where smbd's would not terminate with no
open resources.
Jeremy.
(This used to be commit b7e5a2c5474e9edd8fa783462af8986b6bd426a5)
2003-01-17 06:34:22 +00:00
Tim Potter
3a5a415988 Remove debugging stmt.
(This used to be commit d74382ccfe7e96e20816dd2d481b79fb66f2f243)
2003-01-15 22:20:16 +00:00
Gerald Carter
99cdb46208 *lots of small merges form HEAD
*sync up configure.in
*don't build torture tools in make all
*make sure to remove torture tools as part of make clean
(This used to be commit 0fb724b3216eeeb97e61ff12755ca3a31bcad6ef)
2003-01-15 18:57:41 +00:00
Gerald Carter
55b8c949aa removing unused variable and unused file
(This used to be commit c8266011b7afc2d6bcb8638c2a5ed3f9116cd88a)
2003-01-14 23:52:42 +00:00
Gerald Carter
90a2412642 make -i flag work lik eit did in 2.2
(This used to be commit 5d821c0e23f96f4da6a29a6bebf800532fcf1aa6)
2003-01-14 15:52:14 +00:00
Andrew Bartlett
27b7e51a3c Merge from HEAD:
- fstring/pstring mixups
 - the detection code that found them (disabled)
 - a bit of whitespace
 - a static

Andrew Bartlett
(This used to be commit 9b70fa868e7d9481f584c83fc4046174e1dedfd9)
2003-01-14 08:53:59 +00:00
Andrew Bartlett
61b65aad13 Merge from HEAD - eliminated unused arguments.
Andrew Bartlett
(This used to be commit 6dd474d8451d39e580834089d7c3614059558354)
2003-01-14 07:49:15 +00:00
Andrew Bartlett
212077afa2 Merge indirection, signed/unsigned and uninitialiased-value fixes from HEAD.
Andrew Bartlett
(This used to be commit 2a1adb8f81d8966e8919fffb9b4c69f3e6acd44f)
2003-01-14 07:26:12 +00:00
Andrew Tridgell
42d9c73424 merge alt_name patch from head
(This used to be commit 20ebdee36d5351731698bdef6602fc73a45b1651)
2003-01-14 03:02:18 +00:00
Gerald Carter
071af8f007 [merge] make sure to update print queue cache during timeout_processing() to send notify events; CR 1491
(This used to be commit f8a915b14d63e4fdb99235053eeb896ef9492068)
2003-01-11 02:38:36 +00:00
Herb Lewis
195ec103d6 Moved smbd process counting functions from smbd/server.c to smbd/process.c
so that bin/vfstest can link.  merge from head
(This used to be commit 9151cd7d64a1ee1277cbcfb3e7ed61c32c1037cf)
2003-01-09 06:26:04 +00:00
Jeremy Allison
a2cce2f075 Ensure we return disk full by default on short writes.
Jeremy.
(This used to be commit 2a974bc284b9d193c24972d073b966eb9b3b3ad0)
2003-01-08 23:49:21 +00:00
Jeremy Allison
38aee23f80 Ensure we don't get an invalid number for total smbd's if the tdb update
fails.
Jeremy.
(This used to be commit e0482594724ebba801bbc39a90a73fafa54f8b9e)
2003-01-08 21:42:53 +00:00
Jeremy Allison
82ecfb9747 Fix erroneous free of SAM_ACCOUNT (make clearer when allocated
memory is being returned).
Jeremy.
(This used to be commit 48774e77ac8e43682f216dea970f8860cecb3818)
2003-01-08 07:02:21 +00:00
Jeremy Allison
7f4177aa9e Fix open problem with changing attributes on an existing file - based
on work by  <steve@griffin.sio2.nl>.
Jeremy.
(This used to be commit 1cff725e37d04e25d2cd5523683b35c82d5040fa)
2003-01-08 02:09:18 +00:00
Jeremy Allison
ebf35917bc Fix memory leaks in pdb_ code.
Jeremy.
(This used to be commit 44ab8dc55e3c37a0fc01529084bcacfc84c1dcee)
2003-01-06 21:48:46 +00:00