1
0
mirror of https://github.com/samba-team/samba.git synced 2025-05-08 22:50:27 +03:00

89 Commits

Author SHA1 Message Date
Volker Lendecke
bb4856b14a r15608: Fix a couple of Coverity errors
(This used to be commit 696e210bf6688e8b2f408559768173b4bdbda979)
2007-10-10 11:17:03 -05:00
Volker Lendecke
f390936c5b r15566: Fix Coverity bug # 284. The lp_ldap_xx_suffix function only return NULL if
talloc fails.

Volker
(This used to be commit 0ece5b32f97f162be0af2ea3354a597c56ed4373)
2007-10-10 11:17:01 -05:00
Jeremy Allison
4f655c952b r14743: Fix coverity bug #227. Possible deref of null pointer
in error code path.
Jeremy.
(This used to be commit 9117713c5ee220331106d291425703aec4d7dd2c)
2007-10-10 11:15:45 -05:00
Jim McDonough
05ef1d6b5d r14683: Get rid of hardcoded output file. With no arg, print to stdout,
otherwise append to output file specified.
(This used to be commit b4ec93f5a26442d30ba2b8c91d03f3190975efd0)
2007-10-10 11:15:43 -05:00
Jim McDonough
a0e36ddb68 r14681: Get rid of hardcoded /tmp/add.ldif and /tmp/mod.ldif files. Is there a
different directory the temp files should be in, or is /tmp ok?

Still have to get rid of the output file hardcoding, but that is to
come, because I need to cleanup stdout.
(This used to be commit 0d4bd93a5ca4025bbdeb507f4a2d6217cfb39c79)
2007-10-10 11:15:43 -05:00
Jim McDonough
a5eda88677 r14156: Fix coverity #114: free storage alloc'ed by sstring_sub()
(This used to be commit 655fb66b289bdd19c4432eea00fac935184f25c9)
2007-10-10 11:15:14 -05:00
Jim McDonough
c0d4100517 r14155: Fix coverity #115: free storage alloc'ed by sstring_sub()
(This used to be commit a197b8c5cb02c8a5fac3882e7b76bcd7abb0279c)
2007-10-10 11:15:14 -05:00
Jim McDonough
49dec1cac6 r14153: Fix coverity #116: free storage alloc'ed by sstring_sub()
(This used to be commit dbc0ff5544f2d15b1d1bc41319c76274b79d92b4)
2007-10-10 11:15:14 -05:00
Jim McDonough
c53c08ef86 r14152: Fix coverity #117: free storage alloc'ed by sstring_sub
(This used to be commit cf36f5949f8ac5ea020fcaa796ad92852df25ae7)
2007-10-10 11:15:14 -05:00
Jim McDonough
b5f12bc0f8 r14150: Fix coverity #118: not freeing alloc'ed storage returned from
sstring_sub().
(This used to be commit 6ff849f35ae3394d6557f79c73b0fe54fbb86d0f)
2007-10-10 11:15:14 -05:00
Jim McDonough
a2d489c187 r14147: Fix coverity #119. alloc'ed memory returned not saved, so not freed.
Need to go back and correct the assumption that an "ldap xxx suffix"
parm must have an OU.
(This used to be commit 2d7ba11ffbe17af12257a91638be95d09c0c34c5)
2007-10-10 11:15:13 -05:00
Jim McDonough
7a2bc34d4d r14135: Fix for Coverity #123: resource leak. Also rework much of the code to
make it cleaner.  There's still more to do on this...
(This used to be commit f75dad0325aec93cc604ddfbef40d29979d07275)
2007-10-10 11:15:13 -05:00
Jim McDonough
924be04217 r14053: Implement Simo's suggestion: don't use /dev/null for a 'bad' path for
users/workstations
(This used to be commit 2690f015be1f7eb9802f652810e73ff5f5688304)
2007-10-10 11:11:08 -05:00
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 c1ea48949d2692c839f6ced68165cabd76b580ea)
2007-10-10 11:11:07 -05:00
Volker Lendecke
3cc8b8125a r14035: Fix Coverity bug # 124
(This used to be commit 9fe21fd0326e67a4b1006d2b4a24e39e2d57d796)
2007-10-10 11:11:07 -05:00
Jim McDonough
247bacf19b r13968: fix typo, caught by Guenther
(This used to be commit 217d3fbe7923115ae610a39e586ceb93df7683f5)
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 f629f8a7b972f09fe959c68843b9cd5a03abfc76)
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 1d710d06a214f3f1740e80e0bffd6aab44aac2b0)
2007-10-10 11:10:59 -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
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
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
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 f650e3bdafc4c6bcd7eb4bcf8b6b885b979919eb)
2007-10-10 11:06:09 -05:00
Gerald Carter
54abd2aa66 r10656: BIG merge from trunk. Features not copied over
* \PIPE\unixinfo
* winbindd's {group,alias}membership new functions
* winbindd's lookupsids() functionality
* swat (trunk changes to be reverted as per discussion with Deryck)
(This used to be commit 939c3cb5d78e3a2236209b296aa8aba8bdce32d3)
2007-10-10 11:04:48 -05:00
Günther Deschner
375ad586a4 r8786: Fix amazing and long-standing bug where user-accounts are just crippled
accounts (accounts without AcctCtrl set) after a vampire-process.

New Accounts tend to hace no acb_info at all which means "0"
(ACB_NORMAL). Unless 0 becomes not 0 we don't do anything and set *no*
acctrl for normal users at all (!). Those crippled users now don't show
up in usrmgr since 3.0.20somethings ldap-routines now finally test if
the attribute is there.

Guenther
(This used to be commit c270ae79b5ef6d27a2a9e5a2d4f6bb20f7107b16)
2007-10-10 11:00:17 -05:00
Günther Deschner
36f0225e5f r8396: fix some compile warnings.
Guenther
(This used to be commit af1aa09cde91078496a29f3a73c69a65ca2c3f6a)
2007-10-10 11:00:04 -05:00
Jim McDonough
e0ffbfc558 r8189: commit vampire ldif patch, mostly from Don Watson (dwatson@us.ibm.com). Yes,
that's my copyright...that's just how we have to do things at big blue.

Adds subcommand to vampire to allow data to be put into an ldif file instead
of actually writing to the passdb.  See "net rpc help vampire" for usage
info.  This should be added to docs as well.
(This used to be commit cb5634a305256a70daa2fcbd85d9a5459b4aeaa3)
2007-10-10 10:58:18 -05:00
Jeremy Allison
19ca97a70f r7882: Looks like a large patch - but what it actually does is make Samba
safe for using our headers and linking with C++ modules. Stops us
from using C++ reserved keywords in our code.
Jeremy
(This used to be commit 9506b8e145982b1160a2f0aee5c9b7a54980940a)
2007-10-10 10:58:00 -05:00
Gerald Carter
450e8d5749 r7130: remove 'winbind enable local accounts' code from the 3.0 tree
(This used to be commit 318c3db4cb1c85be40b2f812f781bcf5f1da5c19)
2007-10-10 10:57:01 -05:00
Volker Lendecke
83e11ba86c r6263: Get rid of generate_wellknown_sids, they are const static and initializable
statically.

Volker
(This used to be commit 3493d9f383567d286e69c0e60c0708ed400a04d9)
2007-10-10 10:56:33 -05:00
Tim Potter
5d88feaaad r5909: Remove some unecessary casts. Patch from Jason Mader for bugzill #2468.
(This used to be commit ede9fd08cf0ce04528f73c74e2345ba46d26f1e2)
2007-10-10 10:56:08 -05:00
Günther Deschner
6c84ecb556 r5349: After talking with Jerry, reverted the addition of account policies to
passdb in 3_0 (they are still in trunk).

Guenther
(This used to be commit fdf9bdbbac1d8d4f3b3e1fc7e49c1e659b9301b1)
2007-10-10 10:55:38 -05:00
Günther Deschner
5f54cc9bd3 r5264: Log with loglevel 0 when account-administration scripts fail.
Guenther
(This used to be commit 3d391ef149639750db376b05528a27422f8a3321)
2007-10-10 10:55:35 -05:00
Günther Deschner
b4afdc08d5 r4925: Migrate Account Policies to passdb (esp. replicating ldapsam).
Does automated migration from account_policy.tdb v1 and v2 and offers a
pdbedit-Migration interface. Jerry, please feel free to revert that if
you have other plans.

Guenther
(This used to be commit 75af83dfcd8ef365b4b1180453060ae5176389f5)
2007-10-10 10:55:08 -05:00
Günther Deschner
2b21e9004f r4877: When vampiring account policy AP_LOCK_ACCOUNT_DURATION honour "Lockout
Duration: Forever".

Guenther
(This used to be commit aecacf4d9cc5e2aa69b358292b9d591ade696500)
2007-10-10 10:55:06 -05:00
Jim McDonough
846b8d4cfd r4538: Fix bugzilla 2198, accounts which have password last set to 0 are getting
no passwords after vampire.  Set password last set field to now.
(This used to be commit 60c3a638e4e63d009728c2ce7a6264c3c120a9e5)
2007-10-10 10:53:46 -05:00
Günther Deschner
3c1f5a024d r4353: Finally get length of munged_dial correct.
Guenther
(This used to be commit b209f97f246cd65719f1000c7de368babec26d47)
2007-10-10 10:53:46 -05:00
Günther Deschner
a3e4686b50 r4352: Base64-encode munged-dial with correct length in 'net rpc vampire'.
Guenther
(This used to be commit 98f3e3353df988e819bc41d145b13c76e1b86b55)
2007-10-10 10:53:45 -05:00
Günther Deschner
b314cf95ce r4351: Vampire Logon-Hours. Update Logon-Hours only when they have changed.
Guenther
(This used to be commit 0930ad662770278cbe9fd4e3deaa523957b96697)
2007-10-10 10:53:45 -05:00
Jeremy Allison
b46913fb95 r4291: More *alloc fixes inspired by Albert Chin (china@thewrittenword.com).
Jeremy
(This used to be commit efc1b688cf9b1a17f1a6bf46d481280ed8bd0c46)
2007-10-10 10:53:42 -05:00
Günther Deschner
111f62c00c r4287: Vampire SAM_DELTA_DOMAIN_INFO.
Based on samba4-idl. The decoding of account-lockout-string is somewhat
experimental though.

Guenther
(This used to be commit 721bf50d7446b8ce18bc1d45e17d4214d5a43d26)
2007-10-10 10:53:41 -05:00
Günther Deschner
f3074443dc r4130: add bad_password_count and logon_count to vampire (inspired by a patch
from Lars Mueller <lmuelle@suse.de>), just for completeness.

Note that though we have logon_count implemented in all pdb-backends but
never (for good reason!) update the counter.

Guenther
(This used to be commit a03aa0956813998dbbc3c68f6bc5214fd720cdb2)
2007-10-10 10:53:35 -05:00
Günther Deschner
b0beeb8123 r4127: vampire munged_dial.
Guenther
(This used to be commit eb64eb9d572e12b28a67779746b8ddc191497c09)
2007-10-10 10:53:35 -05:00
Jeremy Allison
acf9d61421 r4088: Get medieval on our ass about malloc.... :-). Take control of all our allocation
functions so we can funnel through some well known functions. Should help greatly with
malloc checking.
HEAD patch to follow.
Jeremy.
(This used to be commit 620f2e608f70ba92f032720c031283d295c5c06a)
2007-10-10 10:53:32 -05:00
Tim Potter
b4cf9e9505 r2835: Since we always have -I. and -I$(srcdir) in CFLAGS, we can get rid of
'..' from all #include preprocessor commands.   This fixes bugzilla #1880
where OpenVMS gets confused about the '.' characters.
(This used to be commit 7f161702fa4916979602cc0295919b541912acd6)
2007-10-10 10:52:55 -05:00
Andrew Bartlett
784c631a3a Make it possible to 'net rpc samdump' of any domain you are currently joined
to, despite any smb.conf settings.

Work to allow the same for 'net rpc vampire', but instead give a clear
error message on what is incorrect.

Andrew Bartlett
(This used to be commit 6b629344c5a4061d6052fa91f8429b337bab95fb)
2004-02-08 10:59:09 +00:00
Andrew Bartlett
d198c55877 Make more functions static, and remove duplication in the use of functions
in lib/smbpasswd.c that were exact duplicates of functions in passdb/passdb.c

(These should perhaps be pulled back out to smbpasswd.c, but that can occour
later).

Andrew Bartlett
(This used to be commit fcdc5efb1e245c8fa95cd031f67ec56093b9056e)
2004-02-08 08:38:42 +00:00
Andrew Bartlett
b4593e92ff JHT came up with a nasty (broken) torture case in preparing examples for
his book.

This prompted me to look at the code that reads the unix group list.  This
code did a lot of name -> uid -> name -> sid translations, which caused
problems.  Instead, we now do just name->sid

I also cleaned up some interfaces, and client tools.

Andrew Bartlett
(This used to be commit f9e59f8bc06fae7e5c8cb0980947f78942dc25c0)
2004-01-02 05:32:07 +00:00
Tim Potter
bde2b4a8ec Break out of samsync loop on error.
(This used to be commit f8994483484cab47f0d6a6934979f69402dba894)
2003-10-14 03:50:27 +00:00
Tim Potter
4059dfcca2 Fix error return path memory leaks in vampire code for creating users.
Display an error if we can't create a posix account for the user
(e.g no add user/machine script was specified; bug #323).
(This used to be commit 0c35ba2cd65ff64c5db2b20d5528a0d486cba51e)
2003-09-10 06:58:41 +00:00