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

1517 Commits

Author SHA1 Message Date
Jeremy Allison
c57b32c5ab Allow pdbedit to change a user rid/sid. Based on a fix from Alexander Zagrebin <alexz@visp.ru>.
Jeremy.
2009-04-01 20:21:02 -07:00
Günther Deschner
d0e1ff4aff s3-passdb: add smb_create_user().
Guenther
2009-04-01 19:12:19 +02:00
Michael Adam
6edaf6188c s3: fix the fix for bug #6195 - dont let smbd child processes panic
This patch makes sure the original and temporary TDBs are closed
_before_ the rename. Originally, the open TDB was renamed, and so
the name passdb.tdb.tmp stayed around in the db context. Hence
upon client connect, the smbd children died because reinit_after_fork()
calling tdb_reopen_all() would try to reopen passdb.tdb.tmp which
existed no longer...

Michael
2009-04-01 12:26:36 +02:00
Jeremy Allison
0b890ae19a Fix the problem of 3.0.x passdb databases being version
3 but using a different hash calculation than 3.2.x passwd
databases (also version 3). Introduces a minor version
number.
Jeremy.
2009-03-27 21:29:37 -07:00
Jeremy Allison
d942d248d6 Fix bug #6195 - Migrating from 3.0.x to 3.3.x can fail to update passdb.tdb correctly. For the clustering case.
Clustered setups should have only ever used
the unsigned version of TDB_DATA in the
first place so they can't be in this mess :-).
Just do the normal upgrade in the clustered case.
Jeremy.
2009-03-27 12:13:13 -07:00
Volker Lendecke
f91565544f Fix bug 6097
A client sent a SID with authority 0 and 0 sub-authorities. W2k3 replies with
NT_STATUS_INVALID_SID, even if other SIDs in the list are valid.

Thanks to Pavel <wylda@volny.cz> for the bug report!
2009-03-24 11:59:42 +01:00
Jeremy Allison
f942cb616e Fix bug #6195 - Migrating from 3.0.x to 3.3.x can fail to update passdb.tdb correctly.
This is a really nasty one to fix as in order to successfully update the
passdb.tdb we must do the equivalent of a tdbbackup to move to the new hash
values before we do the upgrade.
Jeremy.
2009-03-18 15:44:13 -07:00
Alexander Zagrebin
b4ae0e8d84 Missing break in conversion function prevents tdb password database update. 2009-03-17 15:38:33 -07:00
Dan Sledz
b6616ca8dc s3 pdb_wbc_sam: LookupRids should return sAMAccountName, not NT4 names
Also fix an incorrect TALLOC_FREE
2009-03-12 13:00:47 -07:00
Volker Lendecke
46bcb10b5a Shape up pdb_search a bit by making it a talloc ctx with a destructor 2009-03-07 17:51:21 +01:00
Tim Prouty
ef89c4bc0d s3 passdb: Add back some useful debug statements
Originally removed in be1dfff02d
2009-03-03 16:49:36 -08:00
Dan Sledz
be1dfff02d It appears that the first time we see a uid/gid that winbind can't map,
we end up returning the null sid instead of falling back to the legacy
code.  Next time through the code we'll hit the negative cache and do
the right thing, but we still fail the first time.

If we fail the winbind id to sid mapping, call the legacy version.  This
catches the case where we don't have a negative cache entry for the mapping.
This is better than returning the NULL sid to the caller.
2009-03-02 16:50:19 -08:00
Volker Lendecke
06b018767b Fix an incompatible pointer passed to winbind_get_groups
This is the same bug that was fixed in other places of the code a few times
already:

A C compiler ONLY does automatic type conversions during an assignment.

Passing down a pointer to type A to a function taking type B as an
argument does NOT do any automatic type conversions.

If required, I can dig up the relevant portions of the C standard.
2009-02-25 13:04:19 +01:00
Dan Sledz
aeab22b55c s3: Rename auth_onefs_wb and pdb_onefs_sam
auth_onefs_wb.c -> auth_wbc.c
pdb_onefs_sam.c -> pdb_wbc_sam.c

No changes to functionality
2009-02-24 16:08:06 -08:00
Volker Lendecke
e9467ff26e Fix a typo 2009-02-21 12:54:34 +01:00
Dan Sledz
fc02c3b089 Introduce a new passdb backend: pdb_onefs_sam
Implements a custom backend for onefs that exclusively uses the wbclient
interface for all passdb calls.
It lacks some features of a standard passdb.
In particular it's a read only interface and doesn't implement privileges.
2009-02-20 19:39:07 -08:00
Jeremy Allison
669f2a02e2 Fix printf warnings found on systems where time_t <> long int.
Jeremy.
2009-02-19 13:36:20 -08:00
Jeremy Allison
fab0baeed1 Fix bug #6117 - Samba 3.3.0: pdbedit -a core dumps.
Jeremy.
2009-02-17 13:43:58 -08:00
Steven Danneman
5cd4b7b7c0 s3: Added new parameter "map untrusted to domain"
When enabled this reverts smbd to the legacy domain remapping behavior when
a user provides an untrusted domain

This partially reverts d8c54fdd
2009-02-12 13:55:44 -08:00
Dan Sledz
d8c54fddda s3: Change behavior when seeing an unknown domain.
After a lot of testing against various Windows servers (W2K, W2K3, W2K8),
within an AD domain it seems that unknown domains will only be translated
to the local account domain, not the netbios name of the member server's
domain.  This makes samba act more like Windows.
2009-02-11 19:39:18 -08:00
Volker Lendecke
b1677505a5 Fix some nonempty blank lines 2009-02-08 13:53:49 +01:00
Volker Lendecke
dba6624dca Fix nonempty blank lines 2009-02-01 14:34:22 +01:00
todd stecher
989ad44d32 Memory leaks and other fixes found by Coverity 2009-01-21 17:13:03 -08:00
Michael Adam
62e7849ddc s3:passdb: put login_cache.tdb into cache_dir, not lock_dir.
Michael
2009-01-16 01:02:22 +01:00
Jeremy Allison
b3e6247a9e Fix bug #6035 - Possible race between fcntl F_SETLKW and alarm delivery.
Jeremy.
2009-01-14 13:17:38 -08:00
Jelmer Vernooij
08259c1c52 Add iconv_convenience argument to size functions. 2009-01-01 04:45:33 +01:00
Stefan Metzmacher
7516ba860c s3:pdb_tdb: store the next rid counter in passdb.tdb instead of winbind_idmap.tdb
This upgrades the TDBSAM_VERSION to 4 and SAMU_BUFFER_V4.

metze
2008-12-29 21:10:49 +01:00
Stefan Metzmacher
671469ae7e s3:passdb: add SAMU_BUFFER_V4 with no changes
The upgrade is required because of the followin TDBSAM_VERSION
upgrade.

metze
2008-12-29 21:10:49 +01:00
Stefan Metzmacher
0544734309 s3:passdb: make marshalling struct samu from and to a buffer more generic
This marshalling isn't specific to tdbsam and it's
ugly to have the related functions in two different files.

metze
2008-12-29 21:10:49 +01:00
Jeremy Allison
94df767f21 More asprintf warning fixes.
Jeremy.
2008-12-23 11:45:26 -08:00
Jeremy Allison
aa4abac6b7 Fix more ‘asprintf’, declared with attribute warn_unused_result.
Jeremy.
2008-12-23 10:42:25 -08:00
Jeremy Allison
7fd114bab7 Fix more "warning: ignoring return value of ‘asprintf’, declared with
attribute warn_unused_result"
Jeremy.
2008-12-23 10:27:24 -08:00
Günther Deschner
9203954428 s3-ldapsam: Fix Bug 5957: do not abort rename process on valid rename script.
Guenther
(cherry picked from commit 26139344fd)
(cherry picked from commit 866efa63a2)
2008-12-09 17:41:26 +01:00
Volker Lendecke
3c98d5bd98 Make memcache_add_talloc NULL out the source pointer
This is an orthogonality measure to make clear this pointer now belongs to the
cache.
(cherry picked from commit e6080c6e87d6fe3995b121a772bf3f6343fa666f)
2008-11-14 20:27:46 +01:00
Jeremy Allison
8962be69c7 Make us clean under valgrind --leak-check=full by using talloc_autofree_context() instead of NULL.
Remove the code in memcache that does a TALLOC_FREE on stored pointers. That's a disaster waiting
to happen. If you're storing talloc'ed pointers, you can't know their lifecycle and they should
be deleted when their parent context is deleted, so freeing them at some arbitrary point later
will be a double-free.
Jeremy.
2008-11-06 20:48:13 -08:00
Jeremy Allison
0db0ce4974 Fix bug #5825 - Account locking out doesnt work with an LDAP backend.Based on a problem found by Boyang. Only the pdb_nds backend implements login attempts so this was broken for tdbsam and ldap.
Jeremy.
2008-11-06 06:42:04 -08:00
Günther Deschner
992c03a192 s4-lsa: merge lsa_LookupSids/{2,3} from s3 lsa idl.
Guenther
2008-10-27 19:33:23 +01:00
Jelmer Vernooij
81fabeff2d Use libutil genrand. 2008-10-23 18:46:35 +02:00
Jelmer Vernooij
e16e6e9cb0 Use standard types. 2008-10-22 03:41:24 +02:00
Jelmer Vernooij
389cfee579 Use GUID_random. 2008-10-14 02:41:20 +02:00
Jelmer Vernooij
1b99d8fbb5 Use common util_file code. 2008-10-12 17:34:43 +02:00
Volker Lendecke
f3ba7fc0b9 Store a local schannel key in secrets.tdb 2008-10-06 09:54:16 +02:00
Simo Sorce
3fa16da8c7 Revert "Split lookup_name() and create a new functiong called"
This reverts commit 8594edf666.
(This used to be commit ad462e2e2d)
2008-09-03 14:36:43 -04:00
Simo Sorce
c5894e1477 Merge branch 'v3-devel' of ssh://git.samba.org/data/git/samba into v3-devel
(This used to be commit 8e4dca3b94)
2008-09-03 11:52:54 -04:00
Jeremy Allison
dc3f6b0861 Fix bug spotted by Simo - don't use legacy if expired entry.
Jeremy.
(This used to be commit a7bbd33139)
2008-08-26 18:05:34 -07:00
Jeremy Allison
d1f140a9ba Don't ask winbindd if we got a -ve cache entry.
Jeremy.
(This used to be commit 91f85d0dca)
2008-08-26 16:14:25 -07:00
Simo Sorce
a1de4e988d Merge branch 'v3-devel' of ssh://git.samba.org/data/git/samba into v3-devel
(This used to be commit e038f1cf9f)
2008-08-26 18:56:49 -04:00
Jeremy Allison
95cc5ee395 Fix the build :-(. Ask winbindd if we find a negative cache entry (or should
we just call the legacy function ?).
Jeremy.
(This used to be commit 566d3b6e76)
2008-08-26 15:51:56 -07:00
Jeremy Allison
d2f223d83d Get smbd to look (read-only) into the winbindd cache for uid/gid <--> sid mappings.
Jeremy.
(This used to be commit 31ba955d69)
2008-08-26 14:52:11 -07:00
Simo Sorce
5e7655fa27 Split lookup_name() and create a new functiong called
lookup_domain_name(). This new function accept separated
strings for domain and name.
(This used to be commit 8594edf666)
2008-08-17 19:54:41 -04:00
Andrew Tridgell
fe3dd9b3e6 fixed lots of places that paniced on a failed transaction_commit,
thinking it was a failure of a transaction cancel
(This used to be commit 22dbe158ed)
2008-08-13 11:54:10 +02:00
Andrew Tridgell
0f41961e4f first cut at adding full transactions for ctdb to samba3
(This used to be commit f91a3e0f7b)
2008-08-13 11:54:08 +02:00
Karolin Seeger
669afbc291 pdb_interface: Fix typo in debug message.
Karolin
(This used to be commit e04da654c0)
2008-07-29 12:05:40 +02:00
Jeremy Allison
61859a18f0 Add casts to uint32_t to match prototype for sid_append_rid().
Jeremy.
(This used to be commit 1500401967)
2008-07-24 12:01:46 -07:00
Jeremy Allison
a4932d6657 Use sys_getgrnam not getgrnam. Pointed out by Herb.
Jeremy.
(This used to be commit 43eec65170)
2008-07-24 11:56:49 -07:00
John H Terpstra
b39237d3b3 pdb_ldap: Raise level for debug message to avoid log file flooding.
(This used to be commit 9b863a10da)
2008-07-24 09:49:28 +02:00
Karolin Seeger
490b60b500 Use LDAP macros instead of attribute names.
Karolin
(This used to be commit 7dae8b04f1)
2008-07-18 15:36:20 +02:00
Karolin Seeger
df15541926 Fix typo.
retieve -> retrieve

Karolin
(This used to be commit 37c6413070)
2008-07-14 16:40:36 +02:00
Volker Lendecke
e613ecbea5 Revert "Make use of sid_check_is_in_unix_users/groups"
This reverts commit cd8e63b2b4.
(This used to be commit 061e55d4f4)
2008-07-11 17:53:25 +02:00
Volker Lendecke
68071e94a5 Revert "Don't scream, better explain a bit in comments"
This reverts commit dcc39ed004.
(This used to be commit 26ca09a357)
2008-07-11 17:53:25 +02:00
Volker Lendecke
d803fa6e46 Revert "Remove an unused variable"
This reverts commit 454cb852e0.
(This used to be commit cae8ec3199)
2008-07-11 17:53:25 +02:00
Volker Lendecke
90f3da4720 Fix some memleaks regarding trustdom passwords
(This used to be commit 3d2913d599)
2008-07-10 18:25:00 +02:00
Volker Lendecke
ad91d960d0 Fix some uninitialized variable references via ndr_print
(This used to be commit 26fb3fea81)
2008-07-10 18:24:54 +02:00
Volker Lendecke
516e381e09 Give a nice error message if trying to join with a non-privileged user
(This used to be commit 347772fc39)
2008-07-10 10:48:15 +02:00
Volker Lendecke
b611fd9550 Remove an unused variable
(This used to be commit 454cb852e0)
2008-07-03 16:44:13 +02:00
Volker Lendecke
d1635687ae Don't scream, better explain a bit in comments
(This used to be commit dcc39ed004)
2008-07-03 11:08:51 +02:00
Volker Lendecke
abb42b267b Make use of sid_check_is_in_unix_users/groups
Don't replicate code unnecessarily
(This used to be commit cd8e63b2b4)
2008-07-03 11:08:51 +02:00
Volker Lendecke
0e7d1aae2f Fix a memleak in secrets_fetch_afs_key
Coverity ID 570
(This used to be commit 0f52dc3f7e)
2008-06-07 08:51:35 +02:00
Volker Lendecke
8c98f5af6f Fix a memleak in secrets_fetch_trust_account_password_legacy
Coverity ID 571
(This used to be commit a551773e34)
2008-06-07 08:50:02 +02:00
Volker Lendecke
32452565be Fix a memleak in fetch_ldap_pw
Fix Coverity ID 572, also fix the error check for secrets_fetch failing
(This used to be commit 2663c81a78)
2008-06-07 08:48:13 +02:00
Michael Adam
6cebad5b67 Remove unused function is_trusted_domain_situation().
This combined check has been replaced by is_dc_trusted_domain_situation()
which does not check for lp_allow_trusted_domains().

Michael
(This used to be commit 0a24c038b7)
2008-05-26 16:42:25 +02:00
Michael Adam
6efce4738f passdb: check for is_dc_trusted_domain_situation() in get_trust_pw_hash().
Before fetching legacy password hash, check for trusted domain situation,
but also fail if trusted domain support is not enabled.

Michael
(This used to be commit aa1b8287f4)
2008-05-26 16:42:24 +02:00
Michael Adam
48026d814b passdb: add comment explaining logic in get_trust_pw_clear().
Michael
(This used to be commit 5f197c659e)
2008-05-26 16:42:24 +02:00
Michael Adam
a186e598c4 passdb: in get_trust_pw_clear() correctly fail if trusted domains not supported
(but trusted domain situation was found)

This completes the fix for bugs #5425 and #5451 by Steven Dannemann,
in that now no special cases are left uncovered.

Michael
(This used to be commit 0b26bcd3be)
2008-05-26 16:42:24 +02:00
Michael Adam
4de01a909a Add function is_dc_trusted_domain_situation().
This is like is_trusted_domain_situation() except that it does not
check for lp_allow_trusted_domains().

Michael
(This used to be commit a284c88435)
2008-05-26 16:42:24 +02:00
Gerald W. Carter
b72fc49f44 Manually port Steven Dannenman fix for using the correct machine domain when
looking up trust credentials in our tdb.

   commit fd0ae47046
   Author: Steven Danneman <sdanneman@isilon.com>
   Date:   Thu May 8 13:34:49 2008 -0700

      Use machine account and machine password from our domain when
      contacting trusted domains.
(This used to be commit 69b37ae607)
2008-05-23 15:19:58 -05:00
Tim Prouty
fb37f15600 Cleanup size_t return values in callers of convert_string_allocate
This patch is the second iteration of an inside-out conversion to cleanup
functions in charcnv.c returning size_t == -1 to indicate failure.
(This used to be commit 6b189dabc5)
2008-05-20 22:40:13 +02:00
Volker Lendecke
3643aa9a63 Fix a panic in the [ug]id2sid valgrind bug fix
Always, always run "make test" before pushing stuff :-)
(This used to be commit 1444db8be1)
2008-05-06 13:56:21 +02:00
Volker Lendecke
1fe90d8d04 Fix a valgrind bug in the new [ug]id2sid cache
When we're given a SID, it is not always padded with zeros. Only look at the
initialized parts in the SID.
(This used to be commit 8717085dba)
2008-05-06 12:16:02 +02:00
Volker Lendecke
2b3d03d6f1 Remove unix_homedir from struct user_struct
This makes pdb_get_unix_homedir unused. I wonder if that was ever really used...
(This used to be commit 36bfd32f1f)
2008-05-05 18:28:58 +02:00
Stefan Metzmacher
625f2d6c23 pdb_tdb: fix the upgrade code, db_traverse returns the number of records!
metze
(This used to be commit baaf571d54)
2008-04-15 00:25:11 +02:00
Volker Lendecke
16198dc51e Convert dbwrap_trans_delete to NTSTATUS
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be commit dead193f46)
2008-04-01 14:04:22 +02:00
Volker Lendecke
fcdfff1cc8 Convert dbwrap_trans_store to NTSTATUS
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be commit 5f4de856af)
2008-04-01 14:04:22 +02:00
Stefan Metzmacher
8957f6b0cf pdb_tdb: use != 0 instead off == -1 for dbwrap functions
metze
(This used to be commit d4826a0136)
2008-04-01 14:04:20 +02:00
Stefan Metzmacher
663eb087e6 passdb: guard pdb_generate_sam_sid() with a transaction
This prevents possible races with some dbwrap backends

metze
(This used to be commit 9322442510)
2008-04-01 14:04:20 +02:00
Stefan Metzmacher
a5f3911d70 passdb/secrets: add secrets_db_ctx() to get the db_context
metze
(This used to be commit 986bc7e8b2)
2008-04-01 14:04:20 +02:00
Stefan Metzmacher
dbd2e3860d pdb_tdb: use db_open_trans()
metze

Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be commit 9925cc01a2)
2008-03-27 18:14:57 +01:00
Stefan Metzmacher
7d413b8bee pdb_tdb: use db_sam->transaction_start(db_sam) != 0 consistent
metze

Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be commit 3bf9ab640e)
2008-03-27 18:14:57 +01:00
Stefan Metzmacher
4b2ce410a5 passdb/secrets: use db_open_trans()
metze

Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be commit b61b8ca494)
2008-03-27 18:14:57 +01:00
Stefan Metzmacher
3b0592bc15 passdb/secrets: it's enough to use traverse_read() in secrets_trusted_domains()
metze

Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be commit 729f7b9ff3)
2008-03-27 18:14:56 +01:00
Marc VanHeyningen
e06aa46b9f Coverity fixes
(This used to be commit 3fc85d2259)
2008-03-17 20:52:25 +01:00
Volker Lendecke
88ee949777 Convert pdb_tdb to use dbwrap
(This used to be commit 948ab77863)
2008-03-17 11:51:50 +01:00
Volker Lendecke
f3856d074f Fix bug 4901
(This used to be commit 1dd8fa9a52)
2008-03-14 18:01:23 +01:00
Volker Lendecke
28244425b2 Convert secrets.c to use dbwrap
(This used to be commit 9d30e5991c)
2008-03-11 17:09:19 +01:00
Volker Lendecke
1ebfc66b2c Use a separate tdb for mutexes
Another preparation to convert secrets.c to dbwrap: The dbwrap API does not
provide a sane tdb_lock_with_timeout abstraction. In the clustered case the DC
mutex is needed per-node anyway, so it is perfectly fine to use a local mutex
only.
(This used to be commit f94a63cd8f)
2008-03-10 21:08:45 +01:00
Volker Lendecke
d634ab06b3 Convert secrets_lock_trust_account_password to talloc
This is preparing the conversion of secrets.c to ctdb
(This used to be commit 1307f0130c)
2008-03-10 21:08:45 +01:00
Volker Lendecke
b175ffa702 Make use of talloc_asprintf_strupper_m in secrets.c
(This used to be commit 3ac4f935c0)
2008-03-10 09:52:08 +01:00
Volker Lendecke
2e8d375346 Avoid some pointless checks
secrets_init() makes sure that the tdb is initialized
(This used to be commit 8725dbc888)
2008-03-10 09:51:58 +01:00
Volker Lendecke
c2cd0e3c54 Use talloc_tos() in secrets_init
(This used to be commit 27065382d9)
2008-03-10 09:51:51 +01:00
Volker Lendecke
9d7cad7e82 Fix a memleak -- Coverity ID 222
(cherry picked from commit a40781bafa3a8f0c7737164bca6cf74b0a452e72)
(This used to be commit 86cabcad74)
2008-03-05 18:44:26 +01:00
Günther Deschner
2c5e04b1f7 Fix crash bug in pdb_init_ldapsam().
Karolin, this needs to be in 3-2-stable.

Guenther
(This used to be commit 0d73bde6de)
2008-03-04 11:03:35 +01:00
Volker Lendecke
3176392878 Fix some warnings
warning: ignoring return value of 'asprintf', declared with attribute warn_unused_result
(This used to be commit ad37b7b0ae)
2008-02-25 16:09:26 +01:00
Karolin Seeger
cdb88dcf6b Change ldap search filter. This function is also used to search machine accounts which may be located in a different ou. This is an extension to e71a48bb80.
Karolin
(This used to be commit e5cc8b683c)
2008-02-19 12:35:54 +01:00
Günther Deschner
7dfeae6073 Use netr_SamInfo3 in remaining places.
Guenther
(This used to be commit 92fca97951)
2008-02-17 02:12:01 +01:00
Stefan Metzmacher
cedfcaec0c nsswitch: convert winbind_env_set(), winbind_on() and winbind_off() into macros
metze
(This used to be commit 5f623f54a9)
2008-02-13 10:44:52 +01:00
Günther Deschner
e4501b0913 Add get_logon_hours_from_pdb() (inspired by samba4).
Guenther
(This used to be commit e1bcb7d82f)
2008-02-12 14:52:25 +01:00
Karolin Seeger
cd50bc575e Change ldap search filter. This function is also used to search machine accounts which may be organized in a different ou.
Karolin
(This used to be commit e71a48bb80)
2008-02-11 10:03:47 +01:00
Günther Deschner
7ec5bfc49f More paranoid checks for secrets_init() success.
Guenther
(This used to be commit 5e60852bae)
2008-02-09 02:05:39 +01:00
Karolin Seeger
932ec38a87 Fix typo.
Karolin
(This used to be commit 53b83bb53f)
2008-02-08 10:05:47 +01:00
Jeremy Allison
8b3004bcf9 Don't return true on talloc fail.
Jeremy.
(This used to be commit 21594cb34c)
2008-02-05 18:05:59 -08:00
Volker Lendecke
a31d5e49fe Fix valgrind errors
We need to keep the names around on the search. Probably a tdb_move would do it
here as well, but RPC is not the fastest thing on earth anyway...

Thanks to Günther for pointing that out to me!
(This used to be commit c9472ae610)
2008-02-04 19:41:04 +01:00
Volker Lendecke
c246eeb6f1 Remove a static
I very much doubt that this is called enough to justify a global. If this turns
out to be a hot code path, we might reconsider :-)
(This used to be commit 5223d18ea2)
2008-02-04 19:40:08 +01:00
Michael Adam
76e5c1f79a Fix lookup_sids to detect unix_groups and unix_users domain sids.
This fixes panics in wbcLookupRids when 1-2-22 was passed as a
domain sid.

Michael
(This used to be commit c0d9732cf4)
2008-01-25 01:42:22 +01:00
Michael Adam
60daaeeb34 Add a debug message: show the sid lookup_sid() was called for.
Michael
(This used to be commit 6c7c6c3f85)
2008-01-25 01:42:22 +01:00
Michael Adam
d682e04828 Add a debug message to lookup_rids() printing the domain SID.
This is to ease debugging. I sporadically get panics that are
apparently due to NULL domain sid passed to lookup_rids somewhere.

Michael
(This used to be commit 723e877c24)
2008-01-25 01:42:22 +01:00
Jeremy Allison
aa8818bcc3 Fix CID 469. new_acct can't be NULL here.
Jeremy.
(This used to be commit c79e9414c4)
2008-01-12 00:09:35 -08:00
Michael Adam
7c6d77dd88 Fix memleak in ldapsam_rename_sam_account() found by IBM checker.
The check for out of memory was the wrong way round.

Michael
(This used to be commit d7a7b79320)
2008-01-09 22:09:55 +01:00
Michael Adam
f3603d5a5a Convert add_sid_to_array() add_sid_to_array_unique() to return NTSTATUS.
Michael
(This used to be commit 6b2b9a60ef)
2008-01-09 01:47:10 +01:00
Günther Deschner
c0d33508ff Add secrets_shutdown().
Guenther
(This used to be commit dd3fbd93b6)
2008-01-07 12:48:21 +01:00
Jeremy Allison
cfcdeb52bf Fix for bug #5163 from Laurent Pinchart <pinchart@skynet.be>
Failure to change password in ldap is mapped to NT_STATUS_UNSUCCESSFUL unconditionally.
Jeremy.
(This used to be commit 9369d6e907)
2008-01-02 18:20:23 -08:00
Michael Adam
df450fc090 Make pdb_tdb honour a private dir overridden in smb.conf.
One lp_private_dir() has to be used instead of get_dyn_PRIVATE_DIR()
to determine the location of the passdb.tdb.

I noticed this when running make test as a "normal user" from a
build, where I had done "make install" as root before, and so
the passdb.tdb could not be accessed during the startup phase
"CREATE TEST ENVIRONMENT IN ./st ..." in selftest.sh.

Michael
(This used to be commit 1f96389afa)
2007-12-29 21:38:39 -08:00
Volker Lendecke
40bf6730aa passdb.tdb is located in the private directory
Jerry, as part of d6cdbfd87 the default location of passdb.tdb has changed from
the private directory to the state directory. I think because passdb.tdb holds
the password hashes, it is reasonable to keep this next to the smbpasswd file.

Please review and potentially push.

Thanks,

Volker
(This used to be commit c9c7607c40)
2007-12-29 01:01:47 -08:00
Volker Lendecke
3c99b7773e Convert csamuser to memcache
(This used to be commit 476d3abf9c)
2007-12-28 13:13:29 +01:00
Volker Lendecke
e70c97ef85 Remove the sampwent interface
(This used to be commit 9e80b969fb)
2007-12-26 18:57:15 +01:00
Volker Lendecke
f633d348d7 smbpasswd_search_users
(This used to be commit 84af4fb656)
2007-12-26 18:57:14 +01:00
Volker Lendecke
533c7c81fe Add tdbsam_search_users
(This used to be commit 02f0b0bd39)
2007-12-26 18:57:14 +01:00
Volker Lendecke
a55a08a217 Convert the [gu]id_sid cache to memcache
(This used to be commit 4baf36784f)
2007-12-23 12:43:29 +01:00
Volker Lendecke
e518e19bc0 Remove Get_Pwnam and its associated static variable
All callers are replaced by Get_Pwnam_alloc
(This used to be commit 735f593154)
2007-12-19 21:09:10 +01:00
Günther Deschner
d0cd32e2c8 Add and use some keystr functions using talloc_tos() in secrets api.
Guenther
(This used to be commit 6ccbf67a0c)
2007-12-19 11:15:17 +01:00
Michael Adam
a3081ba5b5 Prevent another segfault.
Michael
(This used to be commit 0a9874c1c7)
2007-12-18 01:30:52 +01:00
Michael Adam
9f5a16a22d Remove direct caller of secrets_fetch_trusted_domain_password().
This is a regession introduced by f7efc0eca9.
This calls pdb_get_trusteddom_pw() instead, again.

Michael
(This used to be commit 91be824d2b)
2007-12-17 14:51:37 +01:00
Michael Adam
81327b1613 Fix for bug #4801: Correctly implement lsa lookup levels for lookupnames.
This patch is still incomplete in that winbindd does not walk
the the trusted domains to lookup unqualified names here.
Apart from that this fix should be pretty much complete.

Michael
(This used to be commit f7efc0eca9)
2007-12-17 13:06:13 +01:00
Volker Lendecke
2e07c2ade8 s/sid_to_string/sid_to_fstring/
least surprise for callers
(This used to be commit eb523ba776)
2007-12-15 22:47:30 +01:00
Volker Lendecke
14ef4cdec1 Replace sid_string_static with sid_to_string
This adds 28 fstrings on the stack, but I think an fstring on the stack is
still far better than a static one.
(This used to be commit c7c885078b)
2007-12-15 22:09:37 +01:00
Volker Lendecke
54ae9dfcbc Use sid_string_talloc where we have a tmp talloc ctx
(This used to be commit 0a911d38b8)
2007-12-15 22:09:36 +01:00
Volker Lendecke
900288a2b8 Replace sid_string_static by sid_string_dbg in DEBUGs
(This used to be commit bb35e794ec)
2007-12-15 22:09:36 +01:00
Volker Lendecke
105635e23c Use sid_string_talloc where we have a tmp talloc ctx
(This used to be commit f00ab810d2)
2007-12-15 22:09:35 +01:00
Stefan Metzmacher
adc31b9235 Revert "Fix for bug #4801: Correctly implement lsa lookup levels for lookupnames."
As it breaks all tests which try to join a new machine account.
So more testing is needed...

metze

This reverts commit dd320c0924.
(This used to be commit cccb80b7b7)
2007-12-14 08:28:10 +01:00
Michael Adam
ce76bcff29 Pass NULL instead of unneeded &sid: pdb_get_trusteddom_pw() checks.
Michael
(This used to be commit b2e12365b5)
2007-12-13 10:15:19 +01:00
Michael Adam
31f221ed93 Rename get_trust_pw() to get_trust_pw_hash().
Michael
(This used to be commit 0cde7ac9cb)
2007-12-13 10:15:19 +01:00
Michael Adam
1084151442 Export logic of get_trust_pw() to new function get_trust_pw_clear().
get_trust_pw() just now computes the md4 hash of the result of
get_trust_pw_clear() if that was successful. As a last resort,
in the non-trusted-domain-situation, get_trust_pw() now tries to
directly obtain the hashed version of the password out of secrets.tdb.

Michael
(This used to be commit 4562342eb8)
2007-12-13 10:15:18 +01:00
Michael Adam
fe969f9a7f Refactor the lagacy part of secrets_fetch_trust_account_password() out
into a new function secrets_fetch_trust_account_password_legacy() that
does only try to obtain the hashed version of the machine password directly
from secrets.tdb.

Michael
(This used to be commit 91da12b751)
2007-12-13 10:15:18 +01:00
Michael Adam
f793c99ca5 Let get_trust_pw() determine the machine_account_name to use.
Up to now each caller used its own logic.

This eliminates code paths where there was a special treatment
of the following situation: the domain given is not our workgroup
(i.e. our own domain) and we are not a DC (i.e. it is not a typical
trusted domain situation). In situation the given domain name was
previously used as the machine account name, resulting in an account
name of DOMAIN\\DOMAIN$, which does not seem very reasonable to me.
get_trust_pw would not have obtained a password in this situation
anyways.

I hope I have not missed an important point here!

Michael
(This used to be commit 6ced4a7f88)
2007-12-13 10:15:17 +01:00
Michael Adam
b99a6b0e8c Remove two unneeded functions.
secrets_store_trust_account_password() and trust_password_delete()
are the write access functions to the SECRETS/$MACHINE.ACC/domain keys
in secrets.tdb, the md4 hashed machine passwords. These are not used
any more: Current code always writes the clear text password.

Michael
(This used to be commit 4788fe3924)
2007-12-13 10:15:13 +01:00
Michael Adam
951466000c Fix for bug #4801: Correctly implement lsa lookup levels for lookupnames.
This is a first patch aimed at fixing bug #4801.
It is still incomplete in that winbindd does not walk
the the trusted domains to lookup unqualified names here.
Apart from that this fix should be pretty much complete.

Michael
(This used to be commit dd320c0924)
2007-12-13 10:15:13 +01:00
Michael Adam
2ade25279c Fix logic and prevent segfaults in secrets trustdom tdb pack code.
New size calculation logic in tdb_trusted_dom_pass_pack()
and tdb_sid_pack() used accumulated sizes as successive offsets
to buffer pointer.

Michael
(This used to be commit 9c24713b40)
2007-12-12 09:47:41 -08:00
Michael Adam
b0469d0b69 Fix secrets_store_trusted_domain_password() after pstring removal.
Jeremy, this small "&" sign has given me a headache... :-)

Michael
(This used to be commit 7590b12a99)
2007-12-12 09:47:28 -08:00
Jeremy Allison
7faee02d0d Remove the char[1024] strings from dynconfig. Replace
them with malloc'ing accessor functions. Should save a
lot of static space :-).
Jeremy.
(This used to be commit 52dc5eaef2)
2007-12-10 11:30:37 -08:00
Jeremy Allison
42cfffae80 Remove next_token - all uses must now be next_token_talloc.
No more temptations to use static length strings.
Jeremy.
(This used to be commit ec003f3936)
2007-12-07 17:32:32 -08:00
Jeremy Allison
bcf033b38e Change tdb_unpack "P" to return a malloc'ed string rather
than expect a pstring space to put data into.
Fix the (few) callers.
Jeremy.
(This used to be commit 7722a7d2c6)
2007-12-03 14:54:06 -08:00
Jeremy Allison
1cd1c9db3f Remove unused prototype for smbldap_get_single_pstring().
Don't use pstr_sprintf() on an fstring - change to talloc.
Jeremy.
(This used to be commit 6cae4b5fa1)
2007-11-27 22:22:35 -08:00
Michael Adam
96ea32b886 Use the proper boolean constants - the type has been
changed from BOOL to bool.

Michael
(This used to be commit 03673f2cd6)
2007-11-27 16:36:06 +01:00
Volker Lendecke
d4bfafa29c Fix bug 5055
(This used to be commit 8bcd2df841)
2007-11-26 15:28:13 +01:00
Volker Lendecke
2b32252b8a Improve debug message
Fix bug 5056, thanks to debian package maintainer
(This used to be commit 5b4ba4bfc5)
2007-11-26 14:36:30 +01:00
Jeremy Allison
7ef6c19074 Remove pstrings from pam_smbpass - make local_password_change
return malloced strings.
Jeremy.
(This used to be commit f652fe2bdb)
2007-11-21 17:42:52 -08:00
Jeremy Allison
66298d8080 More pstring elimination.
Jeremy.
(This used to be commit 15074de938)
2007-11-20 17:18:16 -08:00
Jeremy Allison
51b46147f2 Remove smbldap_get_single_pstring() and all pstrings
from pdb_ldap.c. I don't have an LDAP passdb setup here,
so I'm going to need some help on testing this.
Jeremy.
(This used to be commit 00760451b6)
2007-11-14 16:05:42 -08:00
Stefan Metzmacher
fdc27be1be remove faked_create_user() BUILD_FARM hack as we have nss_wrapper now
metze
(This used to be commit fc98c19048)
2007-11-09 09:53:02 +01:00
Volker Lendecke
33d8317571 static pstring removal
(This used to be commit 5490e2d772)
2007-11-05 03:16:58 +01:00
Gerald (Jerry) Carter
88ee61625a Patch 2 of 3 from Debian Samba packagers:
The point is doing the following associations:

- non discardable state data (all TDB files that may need to be backed
  up) go to statedir
- shared data (codepage stuff) go to codepagedir

The patch *does not change* the default location for these
directories. So, there is no behaviour change when applying it.

The main change is for samba developers who have to think when dealing
with files that previously pertained to libdir whether they:
- go in statedir
- go in codepagedir
- stay in libdir
(This used to be commit d6cdbfd875)
2007-11-01 15:53:44 -04:00
Jeremy Allison
101dc36162 Ensure temporary memory is freed - pointed out by "Li, Ying (ESG)" <ying.li2@hp.com>.
We aren't currently leaking memory, but are leaving it around for
longer than we need to.
Jeremy.
(This used to be commit 25bbc9a661)
2007-10-26 17:58:28 -07:00
Jeremy Allison
30191d1a57 RIP BOOL. Convert BOOL -> bool. I found a few interesting
bugs in various places whilst doing this (places that assumed
BOOL == int). I also need to fix the Samba4 pidl generation
(next checkin).
Jeremy.
(This used to be commit f35a266b3c)
2007-10-18 17:40:25 -07:00
Gerald (Jerry) Carter
e5a951325a [GLUE] Rsync SAMBA_3_2_0 SVN r25598 in order to create the v3-2-test branch.
(This used to be commit 5c6c8e1fe9)
2007-10-10 15:34:30 -05:00
Gerald Carter
99b031e190 r25401: BUG 4982: Don't delete lanman hashes on invalid logins when
using the "lanman auth = no".  Tested by Guenter Kukkukk.
(This used to be commit 611fdd95a5)
2007-10-10 12:31:02 -05:00
Jeremy Allison
ab9d7bf4f9 r25165: Use talloc_asprintf_append_buffer with an unmodified
string.
Jeremy.
(This used to be commit fe30a523df)
2007-10-10 12:30:47 -05:00
Michael Adam
e16f8188ea r25092: Add support for storing trusted domain passwords in LDAP for
passdb backend = ldapsam.

Along with reproducing the functionality of the secrets.tdb
code, I have prepared the handling of the previous trust password
(in case we are contacting a dc which does not yet know of a recent
password change). This information has still to be propagated
to the outside, but this requires a change of the api and also
a change of the secrets.tdb code.

Michael
(This used to be commit 6c3c20e6c4)
2007-10-10 12:30:39 -05:00
Michael Adam
3853c7e144 r25091: Start adding support for storing trusted domain passwords in LDAP
(for passdb backen = ldapsam). At a first step, add the hooks,
calling the secrets_ functions.

Michael
(This used to be commit 9c03cdf3a4)
2007-10-10 12:30:39 -05:00
Michael Adam
85811b273d r24991: Kill all those lots of trailing whitespaces from secrets.c.
These red bars in vi really hurt my eyes... :-o

Michael
(This used to be commit 2e99e141c3)
2007-10-10 12:30:31 -05:00
Michael Adam
f09b0d72f4 r24990: Kill an incredible amount of trailing whitespaces...
Further reformat get_trust_pw to conform to coding rules.

Michael
(This used to be commit b9e76a479e)
2007-10-10 12:30:31 -05:00
Andrew Tridgell
153cfb9c83 r23801: The FSF has moved around a lot. This fixes their Mass Ave address.
(This used to be commit 87c91e4362)
2007-10-10 12:28:27 -05:00
Andrew Tridgell
5e54558c6d r23784: use the GPLv3 boilerplate as recommended by the FSF and the license text
(This used to be commit b0132e94fc)
2007-10-10 12:28:22 -05:00
Jeremy Allison
d824b98f80 r23779: Change from v2 or later to v3 or later.
Jeremy.
(This used to be commit 407e6e695b)
2007-10-10 12:28:20 -05:00
Jeremy Allison
6afbd15b67 r23688: Fix bug #4759 reported by Raul <ismell@ismell.org>.
"N" is not a valid format entry for ber_printf, should be "n"
Jeremy.
(This used to be commit f3bb102c24)
2007-10-10 12:23:45 -05:00
Günther Deschner
39607c9129 r23630: Found out what LSA_LOOKUP_NAMES level 5 means:
only query transitive forest trusts.

Guenther
(This used to be commit e744efa1ee)
2007-10-10 12:23:38 -05:00
James Peach
b1ce226af8 r23510: Tidy calls to smb_panic by removing trailing newlines. Print the
failed expression in SMB_ASSERT.
(This used to be commit 171dc060e2)
2007-10-10 12:23:23 -05:00
Gerald Carter
9b78af1f64 r23244: Fix loop with nscd and NSS recusive calls.
> Here's the problem I hit:
>
> getgrnam("foo") -> nscd -> NSS -> winbindd ->
>   winbindd_passdb.c:nam_to_sid() -> lookup_global_sam_name() ->
>   getgrnam("foo") -> nscd -> ....
>
> This is in the SAMBA_3_0 specifically but in theory could happen
> SAMBA_3_0_25 (or 26) for an unknown group.
>
> The attached patch passes down enough state for the
> name_to_sid() call to be able to determine the originating
> winbindd cmd that came into the parent.  So we can avoid
> making more NSS calls if the original call came in trough NSS
> so we don't deadlock ?  But you should still service
> lookupname() calls which are needed for example when
> doing the token access checks for a "valid groups" from
> smb.conf.
>
> I've got this in testing now.  The problem has shown up with the
> DsProvider on OS X and with nscd on SOlaris and Linux.
(This used to be commit bcc8a3290a)
2007-10-10 12:22:58 -05:00
Gerald Carter
86f79c402d r23194: cherry pick two fixes from SAMBA_3_0_26
* strptime() failure check
* make legcacy sid/uid/gid calls static
(This used to be commit 3c9fb1c6f3)
2007-10-10 12:22:53 -05:00
Gerald Carter
fc1f6c7668 r23192: Remove fallback to looking up group mappings by the
Unix name after discussion with Simo.
(This used to be commit 6af4c1a73c)
2007-10-10 12:22:53 -05:00
Simo Sorce
9826a0074a r23051: sid_to_[ug]id fixes for smbd
(This used to be commit 2d636ad2a3)
2007-10-10 12:22:17 -05:00
Gerald Carter
53719c6d7d r23046: Few missing merges from cleaning out the Centeris winbindd tree.
Nothing of major interest.  Will fix a few problems with one way trusts.
(This used to be commit 3d48a7e72d)
2007-10-10 12:22:17 -05:00
Jeremy Allison
c15c0f2a47 r23005: If we're running on a system where time_t is 8 bytes
we have to take care to preserve the "special" values
for Windows of 0x80000000 and 0x7FFFFFFF when casting
between time_t and uint32. Add conversion functions
(and use them).
Jeremy.
(This used to be commit 4e1a0b2549)
2007-10-10 12:22:13 -05:00
Gerald Carter
78c59b56b7 r22977: Trim noise by removing redundant WARNING log message that
would flood at log level 2.  We know when we're using the legacy
mapping code anyways since it will log an informative msg.
(This used to be commit 51aac0fcb4)
2007-10-10 12:22:12 -05:00
Volker Lendecke
b4a7b7a888 r22844: Introduce const DATA_BLOB data_blob_null = { NULL, 0, NULL }; and
replace all data_blob(NULL, 0) calls.
(This used to be commit 3d3d61687e)
2007-10-10 12:22:01 -05:00
Volker Lendecke
9e30a76c04 r22786: Some cleanup by Karolin Seeger: Remove unused pdb_find_alias, and change
return values of some alias-releated pdb functions from BOOL to NTSTATUS

Thanks :-)
(This used to be commit 590d2164b3)
2007-10-10 12:21:57 -05:00
Volker Lendecke
a0f9db7a16 r22767: Argl. Typed in 'svn ci' in the wrong branch. Revert.
(This used to be commit 2c5b951eba)
2007-10-10 12:21:55 -05:00
Volker Lendecke
16ae8eff93 r22766: Merge from 3_0:
r22412 | obnox | 2007-04-20 14:23:36 +0200 (Fr, 20 Apr 2007) | 5 lines

Add a "deletelocalgroup" subcommand to net sam.

Thanks to Karolin Seeger <ks@sernet.de>.
(This used to be commit fb6ac8a5b2)
2007-10-10 12:21:55 -05:00
James Peach
d7041fedc8 r22631: Remove the possibility of sid_check_is_domain and
sid_check_is_in_our_domain getting out of sync.
(This used to be commit bbc102172a)
2007-10-10 12:19:51 -05:00
Volker Lendecke
d02f4f4db7 r22613: Fix an uninitialized variable warning
(This used to be commit d4c5d5ffb3)
2007-10-10 12:19:50 -05:00
Jeremy Allison
be8b0685a5 r22589: Make TALLOC_ARRAY consistent across all uses.
Jeremy.
(This used to be commit 8968808c3b)
2007-10-10 12:19:49 -05:00
Volker Lendecke
4570f1c52a r22125: Fix a warning
(This used to be commit 1c0ceb5fe2)
2007-10-10 12:19:14 -05:00
Jeremy Allison
bc45c82904 r22096: become_root_uid_only() is unneeded - it's only used in
messages.c. Refactor to use become_root() instead and
make it local to messages.c
Jeremy.
(This used to be commit f3ffb3f984)
2007-10-10 12:19:11 -05:00
Gerald Carter
3bdd0e3650 r22066: Ensure that winbind can resolve SIDs in the S-1-22-{1,2}
domain to a uid.gid using the idmap_passdb backend.
(This used to be commit fc1aeee52d)
2007-10-10 12:19:09 -05:00
Stefan Metzmacher
bc2b6436d0 r22009: change TDB_DATA from char * to unsigned char *
and fix all compiler warnings in the users

metze
(This used to be commit 3a28443079)
2007-10-10 12:19:00 -05:00
Stefan Metzmacher
56ba447668 r22001: change prototype of dump_data(), so that it takes unsigned char * now,
which matches what samba4 has.

also fix all the callers to prevent compiler warnings

metze
(This used to be commit fa322f0cc9)
2007-10-10 12:18:59 -05:00
Stefan Metzmacher
e6fda8cbd0 r21983: make use of tdb_*_bystring() and string_term_tdb_data()
to avoid creating the TDB_DATA struct from strings "by hand"

metze
(This used to be commit 5a5579d842)
2007-10-10 12:18:56 -05:00
Stefan Metzmacher
a3a4d6721b r21982: make use of tdb_*_bystring() and string_term_tdb_data()
to avoid creating the TDB_DATA struct from strings "by hand"

metze
(This used to be commit 9ebaa4c573)
2007-10-10 12:18:55 -05:00
Stefan Metzmacher
6e2a411795 r21981: as we use tdb_trans_store(), we should also use tdb_trans_delete()
metze
(This used to be commit 2d2f809968)
2007-10-10 12:18:55 -05:00
Jeremy Allison
772b70b478 r21954: Someone misused a '!' instead of a '~' for a binary NOT
command. Jerry, Simo, please check.
Jeremy.
(This used to be commit 8ff76a9cb8)
2007-10-10 12:18:52 -05:00
James Peach
b4f19aea18 r21881: Make sure we are very specific when testing whether a backand can handle a
particular SID. Make sure that the passdb backend will accept the same set
range of local SIDs that the idmap system sends it.

Simo, Jerry - this is a 3_0_25 candidate. Can you please review?
(This used to be commit 86a70adb6a)
2007-10-10 12:18:43 -05:00
Volker Lendecke
3f6e08db60 r21853: Fix a valgrind error
(This used to be commit d0d16cc55a)
2007-10-10 12:18:38 -05:00