1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-25 06:04:04 +03:00

2894 Commits

Author SHA1 Message Date
Gerald Carter
1de2983de4 r14112: * fix checks on return code from register_vuid() which could actually
fail and we would still return success in the SMBsesssetup reply :-(
* Make sure to create the local token for the server_fino struct
  in reply_spnego_kerberos() so that register_vuid() does not fail.
  (how did this ever work?)
(This used to be commit 8dafa45b97020d1aceb027a85e18401c965bf402)
2007-10-10 11:11:13 -05:00
James Peach
f0210601d1 r14111: Work around additional typedefs in the gamin implementation
of the FAM API.
(This used to be commit dc96ce90e50da9a82f941b0b534c0681c8477f5e)
2007-10-10 11:11:12 -05:00
Gerald Carter
9f18298bee r14075: * add support for long variable names in smb.conf in the form of %(....)
* add support for %(DomainSID)
* replace standard_sub_XXX() functions with wrappers around their
  alloc_sub_XXX() counterparts
* add support for using SIDs in read list, et. al. (anything that
  is checked by nt_token_contains_name_in_list())
(This used to be commit 71d960250d2c6d01096a03e98884d3f9c395baa0)
2007-10-10 11:11:09 -05:00
Volker Lendecke
dece1a2db2 r13983: Fix Coverity bug # 111
(This used to be commit 08d7fd31ab250bc6ba3922b36aa7b0cfef1e5bf1)
2007-10-10 11:11:03 -05:00
Volker Lendecke
33c9fbab12 r13980: Fix Coverity bug # 63. Jeremy, could you take a look at this?
Thanks,

Volker
(This used to be commit 49043a756dfa6a973d5605f42068df351a4a9ab5)
2007-10-10 11:11:02 -05:00
Volker Lendecke
92fa7eadc8 r13916: Fix Coverity bug #29. Looks like my code. I wonder how much there is still
lurking...

Volker
(This used to be commit 1345a52794f4f55173ed677af3d0714e88bf17c6)
2007-10-10 11:11:00 -05:00
Jeremy Allison
894358a8f3 r13915: Fixed a very interesting class of realloc() bugs found by Coverity.
realloc can return NULL in one of two cases - (1) the realloc failed,
(2) realloc succeeded but the new size requested was zero, in which
case this is identical to a free() call.

The error paths dealing with these two cases should be different,
but mostly weren't. Secondly the standard idiom for dealing with
realloc when you know the new size is non-zero is the following :

 tmp = realloc(p, size);
 if (!tmp) {
    SAFE_FREE(p);
    return error;
 } else {
    p = tmp;
 }

However, there were *many* *many* places in Samba where we were
using the old (broken) idiom of :

 p = realloc(p, size)
 if (!p) {
    return error;
 }

which will leak the memory pointed to by p on realloc fail.

This commit (hopefully) fixes all these cases by moving to
a standard idiom of :

 p = SMB_REALLOC(p, size)
 if (!p) {
    return error;
 }

Where if the realloc returns null due to the realloc failing
or size == 0 we *guarentee* that the storage pointed to by p
has been freed. This allows me to remove a lot of code that
was dealing with the standard (more verbose) method that required
a tmp pointer. This is almost always what you want. When a
realloc fails you never usually want the old memory, you
want to free it and get into your error processing asap.

For the 11 remaining cases where we really do need to keep the
old pointer I have invented the new macro SMB_REALLOC_KEEP_OLD_ON_ERROR,
which can be used as follows :

 tmp = SMB_REALLOC_KEEP_OLD_ON_ERROR(p, size);
 if (!tmp) {
    SAFE_FREE(p);
    return error;
 } else {
    p = tmp;
 }

SMB_REALLOC_KEEP_OLD_ON_ERROR guarentees never to free the
pointer p, even on size == 0 or realloc fail. All this is
done by a hidden extra argument to Realloc(), BOOL free_old_on_error
which is set appropriately by the SMB_REALLOC and SMB_REALLOC_KEEP_OLD_ON_ERROR
macros (and their array counterparts).

It remains to be seen what this will do to our Coverity bug count :-).

Jeremy.
(This used to be commit 1d710d06a214f3f1740e80e0bffd6aab44aac2b0)
2007-10-10 11:10:59 -05:00
Gerald Carter
4f636b57c1 r13771: BUG 3534: ignore lines in the username map file with no right hand list rather than bailing out
(This used to be commit acff5163ca7be59e01438f7cf63faef9ed54b820)
2007-10-10 11:10:53 -05:00
Jeremy Allison
b532e86644 r13759: As pointed out by Volker, it isn't much good creating
a new empty acl in remove_posix_acl if you don't bother
to set it on the file in question :-).
Jeremy.
(This used to be commit 12eccc8fe4ed043698970de42921757eb0448c84)
2007-10-10 11:10:52 -05:00
Jeremy Allison
99b74908cd r13748: Don't reference memory after we just freed it (Doh!).
Thanks to tridge's changes to the directory delete on close tests
for catching this.
Jeremy.
(This used to be commit 01ef957d4846191071f95393e6e76e48d4c6aa24)
2007-10-10 11:10:52 -05:00
Jeremy Allison
447d49be9e r13724: Remove unused variable. Bug #3559 from
jason@ncac.gwu.edu.
Jeremy.
(This used to be commit 0295ed3d5c3bb34ef29d01100a6156a754377930)
2007-10-10 11:10:51 -05:00
Günther Deschner
e54786b535 r13711: * Correctly handle acb_info/acct_flags as uint32 not as uint16.
* Fix a couple of related parsing issues.
* in the info3 reply in a samlogon, return the ACB-flags (instead of
  returning zero)

Guenther
(This used to be commit 5b89e8bc24f0fdc8b52d5c9e849aba723df34ea7)
2007-10-10 11:10:25 -05:00
Volker Lendecke
f8fccdfd37 r13694: Committing patch from Aleksey Fedoseev <aleksey at fedoseev dot net> to NULL
out a pointer after talloc_destroy().

Volker
(This used to be commit 788e52eb5d17a8f5b41b6ad5244ccf448fc81a36)
2007-10-10 11:10:24 -05:00
Gerald Carter
04f635f8fc r13675: * patch from Bjoern JACKE <samba@j3e.de> to remove the
artificial RO bit on directories in user profiles when
  profile acls = yes.
(This used to be commit b698e83a82f96db4a4a6ffa4b61af50c943deff0)
2007-10-10 11:10:22 -05:00
Jeremy Allison
0229b65755 r13647: Fix for standalone Samba servers and XP clients. Reverts
part of the PocketPC bugfix. I'm trying to get someone who
has a pocketpc to test this.
Jeremy.
(This used to be commit ce25e6b002f39ba084c3430ca832ad4990cf1994)
2007-10-10 11:10:21 -05:00
Jeremy Allison
7104002cf8 r13604: Fix for bug #3512 "use spnego=no" and "server signing=auto" cause client to disconnect after negprot"
We missed one case of ignoring "BSRSPYL ".
Merge for 3.0.21c.
Jeremy.
(This used to be commit 7d21cf420fdecaee43408ad5cc192cc0715d95a2)
2007-10-10 11:10:19 -05:00
Gerald Carter
cd55919263 r13590: * replace all pdb_init_sam[_talloc]() calls with samu_new()
* replace all pdb_{init,fill}_sam_pw() calls with samu_set_unix()
(This used to be commit 6f1afa4acc93a07d0ee9940822d7715acaae634f)
2007-10-10 11:10:16 -05:00
Gerald Carter
2203bed32c r13576: This is the beginnings of moving the SAM_ACCOUNT data structure
to make full use of the new talloc() interface.  Discussed with Volker
and Jeremy.

* remove the internal mem_ctx and simply use the talloc()
  structure as the context.
* replace the internal free_fn() with a talloc_destructor() function
* remove the unnecessary private nested structure
* rename SAM_ACCOUNT to 'struct samu' to indicate the current an
  upcoming changes.  Groups will most likely be replaced with a
  'struct samg' in the future.

Note that there are now passbd API changes.  And for the most
part, the wrapper functions remain the same.

While this code has been tested on tdb and ldap based Samba PDC's
as well as Samba member servers, there are probably still
some bugs.  The code also needs more testing under valgrind to
ensure it's not leaking memory.

But it's a start......
(This used to be commit 19b7593972480540283c5bf02c02e5ecd8d2c3f0)
2007-10-10 11:10:15 -05:00
Gerald Carter
fb5362c069 r13571: Replace all calls to talloc_free() with thye TALLOC_FREE()
macro which sets the freed pointer to NULL.
(This used to be commit b65be8874a2efe5a4b167448960a4fcf6bd995e2)
2007-10-10 11:10:14 -05:00
Jeremy Allison
a4d755dacc r13563: Fix bug #3526 found and diagnosed by corinna@vinschen.de.
trans2findfirst recognises two info levels *not* recognised
by trans2findnext. Add them. Needed for 3.0.21c.
Jeremy.
(This used to be commit bcb87271d60acd4efe666dd061ea2c09b72fd497)
2007-10-10 11:10:14 -05:00
Jeremy Allison
51e8dc417b r13559: Fix bug #3522 reported by Sandeep Tamhankar <sandman@electric-cloud.com>.
mkdir foo returns the wrong error message when file foo exists.
Jeremy.
(This used to be commit c8185e7f94cbcf2125bf0e84db02fb8d19111f60)
2007-10-10 11:10:14 -05:00
James Peach
0c0ce531a8 r13500: Fix ordering of FD_* arguments.
(This used to be commit ed619421de024c44f5f05b3c03bb5311ce73830f)
2007-10-10 11:10:07 -05:00
Jeremy Allison
5c149702b0 r13498: Fix the kernel oplocks code for IRIX. Should fix #3515.
Jeremy.
(This used to be commit 006cf9c3654e7f18e01b75a5fe87798df862d26a)
2007-10-10 11:10:07 -05:00
Jeremy Allison
7f7c9849e4 r13497: Fix #3508 from jason@ncac.gwu.edu
Jeremy.
(This used to be commit a28bc614a0eb8409a98b254b32ad17c50c2eec0e)
2007-10-10 11:10:07 -05:00
Volker Lendecke
301d51e13a r13494: Merge the stuff I've done in head the last days.
Volker
(This used to be commit bb40e544de68f01a6e774753f508e69373b39899)
2007-10-10 11:10:06 -05:00
James Peach
8d1b17f50e r13484: Add missing semi-colon.
(This used to be commit a78d94f539e41ac384e09cd6e44cb611dd8e1570)
2007-10-10 11:10:05 -05:00
James Peach
8fbdd112b2 r13482: Push the FAM notification file descriptor into the select
set to avoid unnecessary polling.
(This used to be commit 1dce945ccbba25092cf54890301c8f78f8aede33)
2007-10-10 11:10:05 -05:00
Günther Deschner
72b30eba64 r13444: Add REJECT_REASON_OTHER for samr_chgpasswd_user3
Guenther
(This used to be commit 58baf718be90d750f51cf51a25714fcdcd5679b7)
2007-10-10 11:10:03 -05:00
Günther Deschner
fbf45d8ce9 r13443: Fix the build.
Guenther
(This used to be commit 40a21776a7a16f3200e87c6564d9b6e8c481dd1e)
2007-10-10 11:10:03 -05:00
Günther Deschner
e83c7d0141 r13442: Implement samr_chgpasswd_user3 server-side.
Guenther
(This used to be commit f60eddc0a4dfe623e5f115533a62c03810fd5f38)
2007-10-10 11:10:03 -05:00
Jeremy Allison
687e5be25e r13423: Write wrapper functions (and configure tests) so we can
always assume we can get a struct timespec out of a stat
struct. This will allow us to portably move to nsec timestamps
on files and directories in the file server code in future.
Jeremy.
(This used to be commit 07132d8796a08aa71d6719cb07b5b2c999930632)
2007-10-10 11:10:01 -05:00
Gerald Carter
43526112a3 r13318: remove an unused file
(This used to be commit 5d373133cbed8fa40e3a9dcd08d27c35ddff96af)
2007-10-10 11:06:24 -05:00
Gerald Carter
0af1500fc0 r13316: Let the carnage begin....
Sync with trunk as off r13315
(This used to be commit 17e63ac4ed8325c0d44fe62b2442449f3298559f)
2007-10-10 11:06:23 -05:00
Jeremy Allison
21a30a1346 r13314: This code has been causing problems since 1.9.x I think.
Remove check_for_pipe() - Volker was completely correct.
If it gets re-added it will be in a old open call path, not
in the generic code path.
Jeremy.
(This used to be commit 50c894a6e949d4d3579926650674f381a821a671)
2007-10-10 11:06:23 -05:00
Jeremy Allison
66d5a32d9c r13299: From testing W2K3 and W2K the delete on close bit seems to be always
honored (ie. the file gets deleted) for derectories when set at open
time - even though it doesn't show in the qfileinfo call. This is not
true of files.... (if anyone from the EU is listening, it's stuff like
this that makes CIFS non-documentable :-).
Jeremy.
(This used to be commit e2fc8a196a06f76aa47fabc30872c701a2f7ccec)
2007-10-10 11:06:22 -05:00
Jeremy Allison
d14af63e6a r13293: Rather a big patch I'm afraid, but this should fix bug #3347
by saving the UNIX token used to set a delete on close flag,
and using it when doing the delete. libsmbsharemodes.so still
needs updating to cope with this change.
Samba4 torture tests to follow.
Jeremy.
(This used to be commit 23f16cbc2e8cde97c486831e26bcafd4ab4a9654)
2007-10-10 11:06:21 -05:00
Volker Lendecke
206cbff8b7 r13291: NT checks the minimum password age dynamically. That means we have to ignore
the sambapwdmustchange field if we can access the corresponding account
policy and calculate it dynamically based on the pwdlastset field.

Volker
(This used to be commit b02b1d3ef3bceec1957d025c642e306a65310d22)
2007-10-10 11:06:21 -05:00
Jeremy Allison
86c9bac4c3 r13274: Fix for bug #3467. Not a show stopper.
jason qian <jason@infrant.com> was a *fantastic*
help in tracking this down.
Jeremy.
(This used to be commit 9f4a9c70fa232047868e5d8a3f132a2dd6bfee82)
2007-10-10 11:06:20 -05:00
Gerald Carter
d75dc6fa20 r13233: build fixes for smbmnt; remove unused variable; ready to ship 3.0.21b now
(This used to be commit 51fe6bd845f33139654f641947cffeaaf8e88124)
2007-10-10 11:06:19 -05:00
Derrell Lipman
9c15bd311d 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.)
(This used to be commit f2a24de769d1b2266e576597c57a8e3b1e2a2b51)
2007-10-10 11:06:18 -05:00
Jeremy Allison
bd34c2ac25 r13198: Fix issues exposed by Jerry's testing on 64-bit Solaris
(I hope). Separate 3.0.21b patch sent to Jerry.
Jeremy.
(This used to be commit 837e7ea7e40cedc6b01e023445feb4a90c4bf8b9)
2007-10-10 11:06:17 -05:00
Jeremy Allison
6a097ab20e r13192: Fix up alignment issues when printing share mode
entries. Add paranioa to debug so we know when an
entry is unused.
Jeremy.
(This used to be commit fa5fab313e3728ff49c00ca1097242039506f83e)
2007-10-10 11:06:16 -05:00
Jeremy Allison
c4307da13b r13125: Very well spotted crash bug fix for #3343 from
SATOH Fumiyasu <fumiyas@miraclelinux.com>
Jerry please pick this up for 3.0.21b.
Jeremy.
(This used to be commit 3f5860b8fb37e854ccf5d9a80848ef759154f88c)
2007-10-10 11:06:14 -05:00
Jeremy Allison
b3109006c5 r13095: Fix warnings assigning int to a size_t.
Jeremy.
(This used to be commit 1ca4abffd04bcc46b61acdc12444f3e2aad0afed)
2007-10-10 11:06:13 -05:00
James Peach
543ff192b3 r13027: Support file change notifications from FAM.
(This used to be commit 652b511ff24ce41c7745a0e00363e619e5027828)
2007-10-10 11:06:11 -05:00
Jeremy Allison
9ed5127776 r13023: Ensure we notice if we exit due to guest user setup fail.
Jeremy.
(This used to be commit f8d09d111ccd8c2805245662e01cd99dba1d9292)
2007-10-10 11:06:10 -05:00
Jeremy Allison
2dd7fd8f69 r12956: Fix for bug #3035 from SATOH Fumiyasu <fumiyas@miraclelinux.com>
On a Windows share, a file with read-only dosmode can be opened with
DELETE_ACCESS. But on a Samba share (delete readonly = no), it
fails with NT_STATUS_CANNOT_DELETE error.

This semantic causes a problem that a user can not
rename a file with read-only dosmode on a Samba share
from a Windows command prompt (i.e. cmd.exe, but can rename
from Windows Explorer).

Jeremy.
(This used to be commit dd185c7aa8de156dab58b065bf73905b2a29f40d)
2007-10-10 11:06:09 -05:00
Jeremy Allison
bfc2bf8178 r12938: Fix for #3408 (change password fails) from William Jojo <jojowil@hvcc.edu>.
Jeremy.
(This used to be commit 5fc0ef80876a666c285585f8b55e1909e8f2e0bf)
2007-10-10 11:06:08 -05:00
Gerald Carter
005c88054f r12916: use rpcstr_pull() instead of unistr_to_ascii() when validating share names
(This used to be commit c08bc30698eac2f3f5dd8257b4fd7c3e23e6de39)
2007-10-10 11:06:07 -05:00
Jeremy Allison
d86ebaf198 r12885: Oops. Missed last part of correct patch for #3348.
Caught by Samba4 oplock torture tester.
Jeremy.
(This used to be commit c2476b2f75f6521700107a46028f54110083aa52)
2007-10-10 11:06:05 -05:00