Age | Commit message (Collapse) | Author | Files | Lines |
|
* 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)
|
|
(This used to be commit 08d7fd31ab250bc6ba3922b36aa7b0cfef1e5bf1)
|
|
Thanks,
Volker
(This used to be commit 49043a756dfa6a973d5605f42068df351a4a9ab5)
|
|
still
lurking...
Volker
(This used to be commit 1345a52794f4f55173ed677af3d0714e88bf17c6)
|
|
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)
|
|
list rather than bailing out
(This used to be commit acff5163ca7be59e01438f7cf63faef9ed54b820)
|
|
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)
|
|
Thanks to tridge's changes to the directory delete on close tests
for catching this.
Jeremy.
(This used to be commit 01ef957d4846191071f95393e6e76e48d4c6aa24)
|
|
jason@ncac.gwu.edu.
Jeremy.
(This used to be commit 0295ed3d5c3bb34ef29d01100a6156a754377930)
|
|
* 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)
|
|
to NULL
out a pointer after talloc_destroy().
Volker
(This used to be commit 788e52eb5d17a8f5b41b6ad5244ccf448fc81a36)
|
|
artificial RO bit on directories in user profiles when
profile acls = yes.
(This used to be commit b698e83a82f96db4a4a6ffa4b61af50c943deff0)
|
|
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)
|
|
client to disconnect after negprot"
We missed one case of ignoring "BSRSPYL ".
Merge for 3.0.21c.
Jeremy.
(This used to be commit 7d21cf420fdecaee43408ad5cc192cc0715d95a2)
|
|
* replace all pdb_{init,fill}_sam_pw() calls with samu_set_unix()
(This used to be commit 6f1afa4acc93a07d0ee9940822d7715acaae634f)
|
|
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)
|
|
macro which sets the freed pointer to NULL.
(This used to be commit b65be8874a2efe5a4b167448960a4fcf6bd995e2)
|
|
trans2findfirst recognises two info levels *not* recognised
by trans2findnext. Add them. Needed for 3.0.21c.
Jeremy.
(This used to be commit bcb87271d60acd4efe666dd061ea2c09b72fd497)
|
|
<sandman@electric-cloud.com>.
mkdir foo returns the wrong error message when file foo exists.
Jeremy.
(This used to be commit c8185e7f94cbcf2125bf0e84db02fb8d19111f60)
|
|
(This used to be commit ed619421de024c44f5f05b3c03bb5311ce73830f)
|
|
Jeremy.
(This used to be commit 006cf9c3654e7f18e01b75a5fe87798df862d26a)
|
|
Jeremy.
(This used to be commit a28bc614a0eb8409a98b254b32ad17c50c2eec0e)
|
|
Volker
(This used to be commit bb40e544de68f01a6e774753f508e69373b39899)
|
|
(This used to be commit a78d94f539e41ac384e09cd6e44cb611dd8e1570)
|
|
set to avoid unnecessary polling.
(This used to be commit 1dce945ccbba25092cf54890301c8f78f8aede33)
|
|
Guenther
(This used to be commit 58baf718be90d750f51cf51a25714fcdcd5679b7)
|
|
Guenther
(This used to be commit 40a21776a7a16f3200e87c6564d9b6e8c481dd1e)
|
|
Guenther
(This used to be commit f60eddc0a4dfe623e5f115533a62c03810fd5f38)
|
|
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)
|
|
(This used to be commit 5d373133cbed8fa40e3a9dcd08d27c35ddff96af)
|
|
Sync with trunk as off r13315
(This used to be commit 17e63ac4ed8325c0d44fe62b2442449f3298559f)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
jason qian <jason@infrant.com> was a *fantastic*
help in tracking this down.
Jeremy.
(This used to be commit 9f4a9c70fa232047868e5d8a3f132a2dd6bfee82)
|
|
3.0.21b now
(This used to be commit 51fe6bd845f33139654f641947cffeaaf8e88124)
|
|
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)
|
|
(I hope). Separate 3.0.21b patch sent to Jerry.
Jeremy.
(This used to be commit 837e7ea7e40cedc6b01e023445feb4a90c4bf8b9)
|
|
entries. Add paranioa to debug so we know when an
entry is unused.
Jeremy.
(This used to be commit fa5fab313e3728ff49c00ca1097242039506f83e)
|
|
SATOH Fumiyasu <fumiyas@miraclelinux.com>
Jerry please pick this up for 3.0.21b.
Jeremy.
(This used to be commit 3f5860b8fb37e854ccf5d9a80848ef759154f88c)
|
|
Jeremy.
(This used to be commit 1ca4abffd04bcc46b61acdc12444f3e2aad0afed)
|
|
(This used to be commit 652b511ff24ce41c7745a0e00363e619e5027828)
|
|
Jeremy.
(This used to be commit f8d09d111ccd8c2805245662e01cd99dba1d9292)
|
|
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)
|
|
<jojowil@hvcc.edu>.
Jeremy.
(This used to be commit 5fc0ef80876a666c285585f8b55e1909e8f2e0bf)
|
|
names
(This used to be commit c08bc30698eac2f3f5dd8257b4fd7c3e23e6de39)
|
|
Caught by Samba4 oplock torture tester.
Jeremy.
(This used to be commit c2476b2f75f6521700107a46028f54110083aa52)
|
|
always linearize into little-endian. Should fix all
Solaris issues with this, plus provide a cleaner base
moving forward for cluster-aware Samba where smbd's
can communicate across different compilers/architectures
(eventually these message will have to go cross-machine).
Jeremy.
(This used to be commit d01824b78576a034428e1cef73868d1169057991)
|
|
before it goes in.
Volker
(This used to be commit 2c3d5c029a31111e1fe84ddc13c1bfc183d8bfde)
|