1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-06 13:18:07 +03:00
Commit Graph

1621 Commits

Author SHA1 Message Date
Volker Lendecke
753dcde401 r14036: Ok, the last one generated a const warning. Also fix Coverity # 119.
net rpc vampire is ugly....

Volker
(This used to be commit c1ea48949d)
2007-10-10 11:11:07 -05:00
Volker Lendecke
3cc8b8125a r14035: Fix Coverity bug # 124
(This used to be commit 9fe21fd032)
2007-10-10 11:11:07 -05:00
Volker Lendecke
991fd6c28e r14034: Fix Coverity id # 125.
Jeremy, you might want to take a look here.

Volker
(This used to be commit e6e29937e8)
2007-10-10 11:11:07 -05:00
Volker Lendecke
4479d1b061 r14033: Fix Coverity bug # 126
(This used to be commit bb6d678575)
2007-10-10 11:11:06 -05:00
Jim McDonough
247bacf19b r13968: fix typo, caught by Guenther
(This used to be commit 217d3fbe79)
2007-10-10 11:11:02 -05:00
Jim McDonough
9bc20e14db r13957: Based on patch from Richard Renard <richard.renard@idealx.com>:
Fix machine accounts (should not have valid shells) and users with no
home directory (were getting previous user's directory).
(This used to be commit f629f8a7b9)
2007-10-10 11:11:01 -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 1d710d06a2)
2007-10-10 11:10:59 -05:00
Günther Deschner
9f2e29799e r13864: Some cleanup and the samr set security object function client-side.
Guenther
(This used to be commit 0ae3fddf95)
2007-10-10 11:10:57 -05:00
Günther Deschner
105825cf5a r13861: Avoid "net rpc join" segfaulting when storing the servername in the
affinity cache.

Guenther
(This used to be commit b8c07babbd)
2007-10-10 11:10:57 -05:00
Simo Sorce
092e3ed45a r13846: Take care of system that do not have LDAP libraries
(This used to be commit ab62c8d93a)
2007-10-10 11:10:57 -05:00
Simo Sorce
d54010e219 r13843: Merge in net sam provision and some pdb_ldap fixes
(This used to be commit 705d811808)
2007-10-10 11:10:56 -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 5b89e8bc24)
2007-10-10 11:10:25 -05:00
Alexander Bokovoy
e99814b6ed r13695: Make code consistent with documentation. :-)
smbcontrol was sending messages designated for nmbd and winbindd to smbd. Thus, nmbd and winbindd
were "unshutdownable".
(This used to be commit 52e9b5f89f)
2007-10-10 11:10:24 -05:00
Gerald Carter
d95e13e68f r13679: Commiting the rm_primary_group.patch posted on samba-technical
* ignore the primary group SID attribute from struct samu*
* generate the primary group SID strictlky from the Unix
  primary group when dealing with passdb users
* Fix memory leak in original patch caused by failing to free a
  talloc *
* add wrapper around samu_set_unix() to prevent exposing the create
  BOOL to callers.  Wrappers are samu_set_unix() and samu-allic_rid_unix()
(This used to be commit bcf269e2ec)
2007-10-10 11:10:23 -05:00
Tim Potter
3444017ed3 r13648: Duh.
(This used to be commit 48cd81074e)
2007-10-10 11:10:21 -05:00
Jeremy Allison
202bc164ca r13641: Finish fix for #3510. Don't use client schannel when told
not to, cope with a server that doesn't offer schannel also.
Jeremy
(This used to be commit 68005f6bdb)
2007-10-10 11:10:20 -05:00
Jeremy Allison
0d7f6d650d r13614: First part of the bugfix for #3510 - net join fails
against server with schannel disabled. Second part
will come tomorrow (fixing net_rpc_join_ok()).
Jeremy.
(This used to be commit 7de1ee1861)
2007-10-10 11:10:19 -05:00
Jeremy Allison
b5caff56ec r13607: Fix compile - don't ref auto variable in a structure initialization.
Fix from Richard Bollinger <rabollinger@gmail.com>.
Jeremy.
(This used to be commit 02da5189f1)
2007-10-10 11:10:19 -05:00
Jeremy Allison
b9c73cb520 r13594: Got sense of NTSTATUS check reversed.
Jeremy.
(This used to be commit cd82107989)
2007-10-10 11:10:18 -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 6f1afa4acc)
2007-10-10 11:10:16 -05:00
Volker Lendecke
b7e7a5ef20 r13579: Next try to fix the AIX build. Thanks to Björn for nagging...
Volker
(This used to be commit 4cf5109c7a)
2007-10-10 11:10:15 -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 19b7593972)
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 b65be8874a)
2007-10-10 11:10:14 -05:00
Jeremy Allison
9132acff08 r13553: Fix all our warnings at -O6 on an x86_64 box.
Jeremy.
(This used to be commit ea82958349)
2007-10-10 11:10:13 -05:00
Jeremy Allison
cde2a30d8e r13530: Fix from William Jojo for #1970. Make nmblookup do
a node status on all IP's when requested.
Jeremy.
(This used to be commit 1fcac478cb)
2007-10-10 11:10:10 -05:00
Lars Müller
825f09e14e r13528: Mention the tools and commandline option names used.
(This used to be commit 5db7e9a42a)
2007-10-10 11:10:10 -05:00
Lars Müller
f2a6eeaae9 r13527: Adjust copyright header with information got from the 2.2 cvs tree.
(This used to be commit e00505cc94)
2007-10-10 11:10:10 -05:00
Lars Müller
b1002863e7 r13525: This is only a cleanup to have the memset() and SAFE_FREE() only one
time in the code.

Even if we now have an additional if statement after the free I prefer
this solution in opposite to the duplicated code we had before.
(This used to be commit 4272419b11)
2007-10-10 11:10:10 -05:00
Lars Müller
394d1aeb8e r13524: Add -t|--password-from-stdin option to pdbedit as we had with Samba 2.2.
This fixes bug #1386.

The initial changes had been made by Carsten Höger <choeger at
open-xhange dot com> for Samba 2.2 while being at SuSE. *sigh*

To not duplicate code from smbpasswd in pdbedit stdin_new_passwd() and
get_pass() are moved from smbpasswd to utils/passwd_util.c.
(This used to be commit dbdc5ba497)
2007-10-10 11:10:10 -05:00
Volker Lendecke
2f2ab29cc1 r13517: Fix typo -- thanks to Karolin Seeger <ks@sernet.de>
(This used to be commit d0efb435e5)
2007-10-10 11:10:09 -05:00
Jeremy Allison
8189bb6e4c r13502: Fix error messages for usershares when smbd is not
running. More generic error return cleanup in libsmb/
needs doing (everything returning NTSTATUS not BOOL).
Jeremy
(This used to be commit 654bb9853b)
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 bb40e544de)
2007-10-10 11:10:06 -05:00
Volker Lendecke
7461a457d1 r13486: Two more -- fix bug 3503
(This used to be commit 62b02a6843)
2007-10-10 11:10:05 -05:00
Gerald Carter
75ef18fa75 r13460: by popular demand....
* remove pdb_context data structure
* set default group for DOMAIN_RID_GUEST user as RID 513 (just
  like Windows)
* Allow RID 513 to resolve to always resolve to a name
* Remove auto mapping of guest account primary group given the
  previous 2 changes
(This used to be commit 7a2da5f0cc)
2007-10-10 11:10:04 -05:00
Gerald Carter
f351b9c6eb r13382: added server affinity cache stores for 'net rpc join' and trusted domain code
(This used to be commit 9eb743584d)
2007-10-10 11:09:57 -05:00
Jeremy Allison
616fea56e7 r13368: I must write out 1000 times, "Don't use C++ reserved words..."
Jeremy.
(This used to be commit b1ebc12b50)
2007-10-10 11:06:26 -05:00
Volker Lendecke
aa2e8f6b2c r13351: Fix copyright
(This used to be commit 70114f509c)
2007-10-10 11:06:26 -05:00
Volker Lendecke
da979c9e7e r13350: Implement rpccli_samr_set_domain_info. Weird that it was not around :-)
Implement 'net rpc shell account' -- An editor for account policies

nt_time_to_unix_abs changed its argument which to me seems wrong, and I could
not find a caller that depends on this. So I changed it. Applied some more
const in time.c.

Volker
(This used to be commit fc73690a70)
2007-10-10 11:06:26 -05:00
Volker Lendecke
4c4b5de4c8 r13337: Attempt to fix the AIX build
(This used to be commit b129b4f94f)
2007-10-10 11:06:25 -05:00
Gerald Carter
0af1500fc0 r13316: Let the carnage begin....
Sync with trunk as off r13315
(This used to be commit 17e63ac4ed)
2007-10-10 11:06:23 -05:00
Jeremy Allison
0e551cd5a2 r13262: Arrgggg. Fix smbstatus and swat status to ignore
bloody placeholder share mode entries (I hate
these - I've had to add this filter code now to too
many places :-).
Jeremy.
(This used to be commit 815340e1a4)
2007-10-10 11:06:20 -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 f2a24de769)
2007-10-10 11:06:18 -05:00
Simo Sorce
69981e3341 r13148: Fix bug: #3413
Check that ldap admin dn is defined in smb.conf before
setting the ldap password in secrets.tdb

Based on patch by William Jojo <jojowil@hvcc.edu>

Simo.
(This used to be commit c2c004a620)
2007-10-10 11:06:15 -05:00
Simo Sorce
5301c8b98d r13136: Fix handling user sid and user gid
(This used to be commit 65d5abda68)
2007-10-10 11:06:15 -05:00
Gerald Carter
efc04a2411 r13133: patch from Makr Proehl <m.proehl@science-computing.de> for dumping server role when calling 'testparm -s' (BUG 1336)
(This used to be commit a4c6eceaae)
2007-10-10 11:06:14 -05:00
Jeremy Allison
bdc6f05af5 r13091: Fix gcc warning about using '0' with %s.
Jeremy.
(This used to be commit 5f5f87584f)
2007-10-10 11:06:13 -05:00
Gerald Carter
8cf489e5ac r13083: patch suggested by Adam Nielsen for better smbstatus formatting
(This used to be commit ef69cf9614)
2007-10-10 11:06:13 -05:00
Gerald Carter
0773e79761 r13082: revert an accidentally commited patch (still in progress)
(This used to be commit e43775fb31)
2007-10-10 11:06:12 -05:00
Gerald Carter
e95e6044b0 r13081: correct fix for the segv in nmbd caused by a double free on namerec.
(This used to be commit c908dbc4b2)
2007-10-10 11:06:12 -05:00
Lars Müller
c42be9fd38 r12986: Use d_fprintf(stderr, ...) for any error message in net.
All 'usage' messages are still printed to stdout.

Fix some compiler warnings for system() calls where we didn't used the
return code.  Add appropriate error messages and return with the error
code we got from system() or NT_STATUS_UNSUCCESSFUL.
(This used to be commit f650e3bdaf)
2007-10-10 11:06:09 -05:00