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
Michael Adam
30ab3a762e s3:passdb: remove the uid_to_rid method - we only need uid_to_sid
Michael
2009-11-14 01:28:50 +01:00
Michael Adam
3b7448de14 s3:pdb_default_uid_to_sid: fix some debug statements.
Michael
2009-11-14 01:27:45 +01:00
Michael Adam
1e3c4b381a s3:smbd: also fill the memcache with sid<->id mappings in ldapsam_sid_to_id()
not only the persistent idmap cache.

Michael
2009-11-13 16:19:32 +01:00
Michael Adam
d2673253e3 s3:smbd: make idmap cache persistent for "ldapsam:trusted".
This stores the mappings found in the idmap cache (which lives
inside gencache). This cache is already read in sid_to_Xid()
and Xid_to_sid() for ldapsam:trusted, this fills the opposite
direction, massively reducing the number of ldap roundtrips
across smbd restarts.

Michael
2009-11-13 16:19:31 +01:00
Volker Lendecke
1220534716 Fix large paged search
Signed-off-by: Michael Adam <obnox@samba.org>
2009-11-13 11:36:06 +01:00
Volker Lendecke
b067a5e4e8 s3: Remove debug_ctx()
smbd just crashed on me: In a debug message I called a routine preparing a
string that itself used debug_ctx. The outer routine also used it after the
inner routine had returned. It was still referencing the talloc context
that the outer debug_ctx() had given us, which the inner DEBUG had already
freed.
2009-11-03 11:30:00 +01:00
Björn Jacke
7006352206 s3:ldap: don't search when no values where found 2009-11-02 01:55:27 +01:00
Björn Jacke
72cec4a031 ѕ3:ldap: search for account policies in objectclass sambaDomain, not * 2009-10-31 00:48:20 +01:00
Günther Deschner
184afaa04c s3-secrets: use autogenerated code for TRUSTED_DOM_PASS struct parsing from a tdb.
Guenther
2009-10-29 10:49:39 +01:00
Günther Deschner
4df8426768 s3-passdb: move open_schannel_session_store() to passdb/secrets_schannel.c.
Guenther
2009-10-28 12:37:39 +01:00
Günther Deschner
bda047afbc s3-passdb: add secrets_delete_generic().
Guenther
2009-10-28 12:37:38 +01:00
Günther Deschner
d168d7fe3c s3-pdb_ldap: fix crash bug in ldapsam_set_trusteddom_pw().
Thanks Volker for the hint.

Guenther
2009-10-20 21:44:02 +02:00
Günther Deschner
c7023c5a3d s3-lsa: Allow to lookup 'NT AUTHORITY\Anonymous Logon' as well.
This is to finally pass RPC-LSA-LOOKUPNAMES test.

Guenther
2009-10-20 15:28:31 +02:00
Günther Deschner
1f4d26c487 s3-lsa: allow to lookup BUILTIN\ in lsa_LookupNames.
Found by RPC-LSA-LOOKUPNAMES torture test.

Guenther
2009-10-20 15:28:31 +02:00
Jeremy Allison
5cc895983d Fix valgrind memory leak in bug #6814 - Fixes for problems reported by valgrind
Jeremy.
2009-10-15 16:55:40 -07:00
Volker Lendecke
1341d4509c s3: Fix some nonempty blank lines 2009-10-13 20:34:24 +02:00
Günther Deschner
ebe0e64ba9 s3: use enum netr_SchannelType all over the place.
Guenther
2009-10-13 10:21:46 +02:00
Stefan Metzmacher
9801ec5f1a s3:secrets_schannel: revert to using version 1
It doesn't really matter if the entries
have invalid context in it. Older versions of samba
refuse to open the file if the version doesn't match.

If we can't parse individual records, we'll fail schannel binds,
but the clients are supposed to reestablish the netlogon secure channel
by doing ServerReqChallenge/ServerAuthenticate* again. This
will just overwrite the old record.

metze
2009-09-21 06:33:25 +02:00
Günther Deschner
f092d689c5 s3-pdb_ldap: Fix bug #4296: Clean up group membership while deleting a user.
Note that this only is tried with editposix=yes.

Guenther
2009-09-02 12:40:47 +02:00
Günther Deschner
360868b6e8 s3-schannel: remove remaining code that was using "struct dcinfo".
Guenther
2009-08-27 15:55:20 +02:00
Günther Deschner
b089506136 s3-schannel: upgrade old format schannel_store.tdb.
Guenther
2009-08-27 15:55:20 +02:00
Günther Deschner
a09b627ecc s3-schannel: add simple wrappers to fetch and store schannel auth info.
Guenther
2009-08-27 15:55:19 +02:00
Günther Deschner
7c972d83d2 s3-schannel: make open_schannel_session_store() public.
Guenther
2009-08-27 15:55:19 +02:00
Günther Deschner
20225d83dd s3-pdb_ldap: Make ldapsam_alias_memberships behave like the tdbsam equivalent.
This lets samr_GetAliasMembership return with NT_STATUS_OK when called with 0
sids (just what w2k3 does).

Guenther
2009-08-03 16:32:15 +02:00
Volker Lendecke
a488334bf1 Rename LOOKUP_NAME_EXPLICIT to LOOKUP_NAME_NO_NSS
It took me a bit to understand what this flag does. I hope this is
a bit clearer, at least it is to me.
2009-07-31 23:19:05 +02:00
Michael Adam
d498532389 s3:passdb: use transaction_wrapped write in tdbsam_new_rid()
Now all tdb writes in passdb use transactions.

Michael
2009-07-29 16:26:30 +02:00
Michael Adam
8da2f93716 s3:secrets: use transaction wrapped store in get rand seed.
Now secrets.tdb is only writen with transactions.

Michael
2009-07-29 16:26:29 +02:00
Michael Adam
ded0ce8345 s3:dbwrap: change dbwrap_change_uint32_atomic() to return NTSTATUS not uint32_t.
Michael
2009-07-29 16:26:21 +02:00
Jeremy Allison
0259a303f4 Fix Coverity CIDs 887, 888. Don't pass NULL's to functions
that deref them.
Jeremy.
2009-07-17 21:50:33 -07:00
Günther Deschner
4b6401ab2c s3-passdb: fix wbc build warning.
Guenther
2009-07-14 23:37:36 +02:00
Volker Lendecke
d050541330 Fix bug 5886
Ok, that's a very long-standing one. I finally got around to install a recent
OpenLDAP and test the different variants of setting a NULL password etc.

Thanks all for your patience!

Volker
2009-07-14 23:16:28 +02:00
Günther Deschner
9f15ef11bd s3-account_policy: add pdb_policy_type enum.
Guenther
2009-07-14 12:12:18 +02:00
Günther Deschner
e4fca7466d s3-pdb_ads: set correct pdb field with the value from 'accountExpires' attribute.
Guenther
2009-07-13 21:56:31 +02:00
Günther Deschner
05fbe0c7f7 libds: merge the UF<->ACB flag mapping functions.
Guenther
2009-07-13 15:36:07 +02:00
Volker Lendecke
afc6f607d5 Return 0 domains from enum_trusteddoms 2009-07-10 22:01:56 +02:00
Volker Lendecke
d8556bbf13 Quieten events and tldap debug messages 2009-07-10 22:01:56 +02:00
Volker Lendecke
c624a704be Make escape_ldap_string take a talloc context 2009-07-09 22:25:29 +02:00
Volker Lendecke
a5cd278f6f pdb_ads: For cached samu entries, priv is NULL
We have to recreate the priv entry on demand. This needs fixing in
passdb... :-)
2009-07-04 12:54:23 +02:00
Volker Lendecke
bfd82e4979 Add pdb_ads_get_domain_info 2009-07-04 12:54:23 +02:00
Volker Lendecke
f6ce7e0625 pdb_ads: Use tldap_fetch_rootdse in pdb_ads_connect 2009-07-04 12:54:22 +02:00
Volker Lendecke
98fb2a18f9 pdb_ads: Fetch the domain GUID 2009-07-04 12:54:22 +02:00
Volker Lendecke
b8322ec2b2 Add pdb_get_domain_info 2009-07-04 12:54:22 +02:00
Volker Lendecke
1c778aa19a Make pdb_ads return an additional flag 2009-07-04 12:54:22 +02:00
Volker Lendecke
91a8cb851e Fix bug #6431 - local groups from 3.0 setups no longer found.
Search for groups without group suffix, group suffix is only used for new entries.
2009-06-30 11:42:15 -07:00
Günther Deschner
28ef5c3ece s3-pdb_tdb: give 'unknown_str' the proper name 'comment' and set comment in passdb.
pdb_{get,set}_comment were already existing in the API but were never used.

Guenther
2009-06-29 22:36:12 +02:00
Stefan Metzmacher
ce8159b30e s3:pdb_ads: we need to make the fd for tldap/tsocket non-blocking
metze
2009-06-29 22:18:14 +02:00
Volker Lendecke
711544d494 Turn the pdb_rid_algorithm into a capabilities call that returns flags 2009-06-28 22:13:50 +02:00
Volker Lendecke
325a58a653 Make pdb_ads survive a restart of Samba4
The search function retries once, the modifying call that hits a dead smbd
returns an error. The next try will reconnect. This was simple to implement and
provides a good compromise against Samba4 idling our connection. Most of the
modifying calls are quickly after a search (like OpenUser) anyway.
2009-06-28 15:51:02 +02:00
Michael Adam
a4bc5bfa95 s3:passdb: fix bug #6509: use gid (not uid) cache in fetch_gid_from_cache().
With the previous code, the cache can never have been hit at all.

Michael
2009-06-26 14:15:44 +02:00
Volker Lendecke
e3fb71dac8 Only set the password if there is one 2009-06-24 16:30:55 +02:00
Volker Lendecke
63a70ba0ad Prepare control support
We will have arrays of controls passed to tldap.c. Follow a mantra from the
classic book "Thinking Forth" by Leo Brodie: Favor counts over terminators :-)

This makes the parameter lists to tldap pretty long, but everyone will have
wrapper routines anyway, see for example tldap_search_fmt. And the OpenLDAP
manpages call the non-_ext routines deprecated, probably for a reason.
2009-06-20 18:54:06 +02:00
Volker Lendecke
62eb817c06 Fix setting passwords in pdb_ads
The samba4 password_hash module does not allow changing the password fields via
the "delete oldval" -> "add newval" set of modify operations, it requires a
single "replace with newval" operation.

Andrew, Samba3 by default uses that delete/add pair to detect if between
fetching the old value and storing the new one the old value has changed. This
is lost by using the "replace" operation.

Would it make sense to add this to the password_hash module?

Volker
2009-06-20 12:15:21 +02:00
Volker Lendecke
eb8c081771 talloc_tos() aborts if it can not get a stackframe 2009-06-20 12:15:21 +02:00
Volker Lendecke
6e4c57ced5 Activate tldap tracing in pdb_ads 2009-06-12 15:04:21 +02:00
Tim Prouty
ef55c2bd91 s3 passdb ads: add missing character 2009-06-11 11:01:51 -07:00
Volker Lendecke
117c19efa4 Implement pdb_enum_alias_memberships 2009-06-11 18:04:35 +02:00
Volker Lendecke
6372bd695d Implement pdb_ads_set_aliasinfo 2009-06-10 23:57:49 +02:00
Volker Lendecke
baa47dd278 pdb_default_aliasinfo is just fine for pdb_ads right now 2009-06-10 23:57:49 +02:00
Volker Lendecke
96df53fdc7 Implement pdb_ads_lookup_rids 2009-06-10 23:08:09 +02:00
Volker Lendecke
6e9e0334ff Fix a segfault in pdb_ads_delete_user()
If a user comes from the passdb cache, priv is NULL
2009-06-10 23:08:09 +02:00
Volker Lendecke
b660e51dec If there are no mods, don't bother the ldap server 2009-06-09 22:40:36 +02:00
Volker Lendecke
078443bc67 Some more fields in pdb_ads_init_ads_from_sam() 2009-06-09 22:40:36 +02:00
Volker Lendecke
9af9a43464 Do not pull samAccountName twice 2009-06-09 21:46:30 +02:00
Volker Lendecke
0302bbda35 No need to free twice -- thanks gd :-) 2009-06-09 15:28:21 +02:00
Volker Lendecke
fa074c9916 Implement pdb_ads_[add|del]_groupmem 2009-06-09 15:25:15 +02:00
Volker Lendecke
63e6bb947a Implement pdb_ads_delete_dom_group 2009-06-09 14:49:34 +02:00
Volker Lendecke
89bd09e7f3 Implement pdb_ads_enum_group_members 2009-06-08 23:59:12 +02:00
Volker Lendecke
46b5cce1e9 Fix some nonempty blank lines 2009-06-08 23:11:14 +02:00
Volker Lendecke
094f47e7cf Fix two 64-bit warnings 2009-06-08 21:14:11 +02:00
Volker Lendecke
275ca400db Implement pdb_[add|del]aliasmem 2009-06-08 21:14:10 +02:00
Volker Lendecke
af82489b41 Do not use a variable format string 2009-06-08 21:14:10 +02:00
Volker Lendecke
7ab4d3fa43 Implement pdb_ads_enum_aliasmem 2009-06-08 21:14:10 +02:00
Volker Lendecke
a51e6ce43c Pass a talloc_ctx to pdb_enum_aliasmem 2009-06-08 21:14:10 +02:00
Volker Lendecke
5ea88420da Implement pdb_ads_delete_alias 2009-06-08 21:14:10 +02:00
Volker Lendecke
66c3cd1e92 Implement pdb_ads_create_dom_group() 2009-06-08 21:14:10 +02:00
Volker Lendecke
e2611e2b12 More pdb_ads stuff 2009-06-07 23:14:40 +02:00
Volker Lendecke
14a2974092 Make "net sam list" work for groups, aliases and builtins 2009-06-07 12:32:29 +02:00
Volker Lendecke
f3b227c0d2 Return full info in pdb_ads_search_users() 2009-06-07 12:32:25 +02:00
Günther Deschner
fbb1e990ab s3-samr: fix return code of _samr_LookupRids when run with pdb_ldap.
when _samr_LookupRids is called with no rids, it needs to return
NT_STATUS_NONE_MAPPED (not NT_STATUS_NO_MEMORY).

Found by RPC-SAMR torture test.

Guenther
2009-06-07 02:24:21 +02:00
Karolin Seeger
c94d1cd7b1 s3/passdb: Fix debug message: 'net setmaxrid' does not exist.
This is aiming bug #6351.

Karolin
2009-06-06 15:11:16 +02:00
Volker Lendecke
23b501e02a Add an early prototyp of pdb_ads.c.
The purpose of this module is to connect to a locally running samba4 ldap
server for an alternative "Franky" setup. Right now it contains a couple of
gross hacks: For example it just takes the s4-chosed RID directly as uid/gid...

Checking in tldap and pdb_ads now, I think 3777 insertions are enough for a
start...
2009-06-06 13:10:30 +02:00
Volker Lendecke
14c1362034 Fix some nonempty blank lines 2009-05-31 12:16:34 +02:00
Günther Deschner
10eec5ebc0 s3-passdb: fix uninitialized variable in local_password_change().
Guenther
2009-05-29 18:08:02 +02:00
Simo Sorce
64d1b5c4e1 Consolidate user create/delete paths in smbpasswd
This patch changes the way smbpasswd behaves when adding/deleting users.
smbpasswd now calls pdb_create_user/pdb_delete_user, this means that if
add/delete user scripts are configured then they are used to create or
delete unix users as well. If the scripts are not defined the behavioris
unchanged.
This also allow to use smbpasswd -a/-x with ldapsam:editposix to allow
automatic creation/deletion of users.

Signed-off-by: Günther Deschner <gd@samba.org>
2009-05-29 18:03:42 +02:00
Günther Deschner
bff54b90c3 util: move add_gid_to_array_unique to toplevel and add add_uid_to_array_unique.
Guenther
2009-05-29 13:49:58 +02:00
Volker Lendecke
01ea4249da TALLOC_ZERO_P->talloc_zero 2009-05-28 10:52:04 +02:00
Volker Lendecke
d07464b21f Do not segfault in pdb_search_destructor if no real search was started 2009-05-28 10:52:04 +02:00
Marc VanHeyningen
75de7c0e87 s3: zero an uninitialized array
Invalid pointers were being dereferenced in lookup_sids causing
occasional seg faults.

Signed-off-by: Tim Prouty <tprouty@samba.org>
2009-05-27 12:37:35 -07:00
Volker Lendecke
49ca690b4b Introduce "struct stat_ex" as a replacement for SMB_STRUCT_STAT
This patch introduces

struct stat_ex {
        dev_t           st_ex_dev;
        ino_t           st_ex_ino;
        mode_t          st_ex_mode;
        nlink_t         st_ex_nlink;
        uid_t           st_ex_uid;
        gid_t           st_ex_gid;
        dev_t           st_ex_rdev;
        off_t           st_ex_size;
        struct timespec st_ex_atime;
        struct timespec st_ex_mtime;
        struct timespec st_ex_ctime;
        struct timespec st_ex_btime; /* birthtime */
        blksize_t       st_ex_blksize;
        blkcnt_t        st_ex_blocks;
};
typedef struct stat_ex SMB_STRUCT_STAT;

It is really large because due to the friendly libc headers playing macro
tricks with fields like st_ino, so I renamed them to st_ex_xxx.

Why this change? To support birthtime, we already have quite a few #ifdef's at
places where it does not really belong. With a stat struct that we control, we
can consolidate the nanosecond timestamps and the birthtime deep in the VFS
stat calls.

At this moment it is triggered by a request to support the birthtime field for
GPFS. GPFS does not extend the system level struct stat, but instead has a
separate call that gets us the additional information beyond posix. Without
being able to do that within the VFS stat calls, that support would have to be
scattered around the main smbd code.

It will very likely break all the onefs modules, but I think the changes will
be reasonably easy to do.
2009-05-26 17:48:23 +02:00
Simo Sorce
4112bb2428 Move smb_create_user() in samsync
It is not used anywhere else, so make it also static and remove
it from proto.h
2009-05-16 15:30:48 -04:00
Aravind Srinivasan
5aefb44bf0 s3: Fallback to the legacy sid_to_(uid|gid) instead of returning NULL.
This is very similar to be1dfff02d
2009-05-12 17:13:40 -07:00
Jeremy Allison
196084d641 Fix the last few format arg missmatches I missed.
Jeremy.
2009-05-12 10:38:00 -07:00
Volker Lendecke
c9efd454c5 Fix bug 6157
This patch picks the alphabetically smallest one of the multi-value attribute
"uid". This fixes a regression against 3.0 and also becomes deterministic.
2009-05-12 15:21:46 +02:00
Jeremy Allison
b4c9cfb2af Fix a bunch of compiler warnings about wrong format types.
Should make Solaris 10 builds look cleaner.
Jeremy.
2009-05-11 21:56:57 -07:00
Björn Jacke
f238809d23 s3/ldap: also handle DirX return codes 2009-05-08 00:33:30 +02:00
Günther Deschner
fee4c99be4 s3-ldap: fix more callers of smbldap_dn_talloc() that were passing a NULL context.
Guenther
2009-05-05 21:22:28 +02:00
Günther Deschner
5b37df21f6 s3-ldapsam: Fix Bug #6313: ldapsam_update_sam_account() crashes while doing talloc_free on malloced memory.
Guenther
2009-05-05 21:14:53 +02:00
Andrew Bartlett
f28f113d8e Rework Samba3 to use new libcli/auth code (partial)
This commit is mostly to cope with the removal of SamOemHash (replaced
by arcfour_crypt()) and other collisions (such as changed function
arguments compared to Samba3).

We still provide creds_hash3 until Samba3 uses the credentials code in
netlogon server

Andrew Bartlett
2009-04-14 16:23:35 +10:00
Andrew Bartlett
3b3e21bd9b Convert Samba3 to use the common lib/util/charset API
This removes calls to push_*_allocate() and pull_*_allocate(), as well
as convert_string_allocate, as they are not in the common API

To allow transition to a common charcnv in future, provide Samba4-like
strupper functions in source3/lib/charcnv.c

(the actual implementation remains distinct, but the API is now shared)

Andrew Bartlett
2009-04-14 12:53:56 +10:00
Andrew Bartlett
9512640155 s3:smbldap Remove smbldap_get_dn
This removes one more caller to pull_utf8_allocate()

Signed-off-by: Günther Deschner <gd@samba.org>
2009-04-06 14:52:51 +02:00