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

1068 Commits

Author SHA1 Message Date
Volker Lendecke
9f662094af After talking with abartlet remove the fix for bug 707 again.
Volker
(This used to be commit 0c8ee04c78)
2004-01-01 21:10:35 +00:00
Volker Lendecke
31ff56fd3e Fix for bug 707, getent group for huge ads groups (>1500 members)
This introduces range retrieval of ADS attributes.

I've rewritten most of Gnther's patch, partly to remove code duplication and
partly to get the retrieval of members in one rush, not interrupted by the
lookups for the DN.

Andrew, you told me that you would like to see a check whether the AD sequence
number is the same before and after the retrieval to achieve atomicity. This
would be trivial to add, but I'm not sure that we want this, as this adds two
roundtrips to every membership query. We can not know before the first query
whether we get additional range values, and at that point it's too late to ask
for the USN.

Tested with a group of 4000 members along with lots of small groups.

Volker
(This used to be commit 9d8235bf41)
2004-01-01 20:30:50 +00:00
Andrew Bartlett
5eee23cc64 auth/auth_util.c:
- Fill in the 'backup' idea of a domain, if the DC didn't supply one.  This
   doesn't seem to occour in reality, hence why we missed the typo.

lib/charcnv.c:
lib/smbldap.c:
libads/ldap.c:
libsmb/libsmbclient.c:
printing/nt_printing.c:
 - all the callers to pull_utf8_allocate() pass a char ** as the first
   parammeter, so don't make them all cast it to a void **

nsswitch/winbind_util.c:
 - Allow for a more 'correct' view of when usernames should be qualified
   in winbindd.  If we are a PDC, or have 'winbind trusted domains only',
   then for the authentication returns stip the domain portion.
 - Fix valgrind warning about use of free()ed name when looking up our
   local domain.  lp_workgroup() is maniplated inside a procedure that
   uses it's former value.  Instead, use the fact that our local domain is
   always the first in the list.

Andrew Bartlett
(This used to be commit 494781f628)
2003-12-31 00:31:43 +00:00
Jeremy Allison
ec83590024 Fix from ndb@theghet.to to allow an existing LDAP machine account to be
re-used, rather than created from scratch.
Jeremy.
(This used to be commit 6d46e66ac2)
2003-12-13 01:43:54 +00:00
Volker Lendecke
203710ea6d Get rid of a const warning
Volker
(This used to be commit 94860687c5)
2003-11-26 09:58:41 +00:00
Andrew Bartlett
fcbfc7ad06 Changes all over the shop, but all towards:
- NTLM2 support in the server
 - KEY_EXCH support in the server
 - variable length session keys.

In detail:

 - NTLM2 is an extension of NTLMv1, that is compatible with existing
domain controllers (unlike NTLMv2, which requires a DC upgrade).

 * This is known as 'NTLMv2 session security' *

(This is not yet implemented on the RPC pipes however, so there may
well still be issues for PDC setups, particuarly around password
changes.  We do not fully understand the sign/seal implications of
NTLM2 on RPC pipes.)

This requires modifications to our authentication subsystem, as we
must handle the 'challege' input into the challenge-response algorithm
being changed.  This also needs to be turned off for
'security=server', which does not support this.

- KEY_EXCH is another 'security' mechanism, whereby the session key
actually used by the server is sent by the client, rather than being
the shared-secret directly or indirectly.

- As both these methods change the session key, the auth subsystem
needed to be changed, to 'override' session keys provided by the
backend.

- There has also been a major overhaul of the NTLMSSP subsystem, to merge the 'client' and 'server' functions, so they both operate on a single structure.  This should help the SPNEGO implementation.

- The 'names blob' in NTLMSSP is always in unicode - never in ascii.
Don't make an ascii version ever.

- The other big change is to allow variable length session keys.  We
have always assumed that session keys are 16 bytes long - and padded
to this length if shorter.  However, Kerberos session keys are 8 bytes
long, when the krb5 login uses DES.

 * This fix allows SMB signging on machines not yet running MIT KRB5 1.3.1. *

- Add better DEBUG() messages to ntlm_auth, warning administrators of
misconfigurations that prevent access to the privileged pipe.  This
should help reduce some of the 'it just doesn't work' issues.

- Fix data_blob_talloc() to behave the same way data_blob() does when
passed a NULL data pointer.  (just allocate)


REMEMBER to make clean after this commit - I have changed plenty of data structures...
(This used to be commit f3bbc87b0d)
2003-11-22 13:19:38 +00:00
Jeremy Allison
bb0598faf5 Put strcasecmp/strncasecmp on the banned list (except for needed calls
in iconv.c and nsswitch/). Using them means you're not thinking about multibyte at
all and I really want to discourage that.
Jeremy.
(This used to be commit d7e35dfb92)
2003-10-22 23:38:20 +00:00
Tim Potter
72b9e5571a Add configure test for krb5_keytab_entry keyblock vs key member. Bug #636.
(This used to be commit 3daefe9d17)
2003-10-17 04:59:07 +00:00
Gerald Carter
48958b0105 don't call ads_destroy() twice; fixes segfault in winbindd when DC goes down; bug 437
(This used to be commit 1cfbd92404)
2003-10-03 21:43:09 +00:00
Jeremy Allison
ca1c6ebb11 Fix a nasty mess, and also bug #296. passdb/pdb_ldap.c was not converting
to/from utf8 for some calls. The libads code gets this right. Wonder why
the passdb code doesn't use it ?
Jeremy.
(This used to be commit 910d21d316)
2003-09-10 22:33:06 +00:00
Gerald Carter
d5bef211d0 revert retry loops in winbindd_ads as abartket points out, we
already have ads_search_retry() for this.  However, neither
domain_sid() nor sequence_nunber() used this function.  So modify
them to us ads_do_search_retry() so we can specify the base search
DN and scope.
(This used to be commit 89f6adf830)
2003-09-06 18:02:19 +00:00
Jim McDonough
d517c1d613 Try to add memory keytab support. It also includes much of the generic
keytab support code, but it won't be enabled until we add that to smb.conf.
Adapted from the work of Guenther Deschner (gd@suse.com).

Please hammer on this...
(This used to be commit a26fa5bee2)
2003-09-03 00:45:15 +00:00
Volker Lendecke
51dfb55b8a Fix segfault. krb5_free_ticket does not check if it got a NULL ticket.
(This used to be commit 97e4778103)
2003-08-25 09:13:20 +00:00
Gerald Carter
8bfe26b62d metze's autogenerate patch for version.h
(This used to be commit ae452e51b0)
2003-08-20 17:13:38 +00:00
Andrew Bartlett
f1be3a5c5d - Make 'net' use a single funciton for setting the 'use machine account' code.
- Make winbindd try to use kerberos for connections to DCs, so that it can
   access RA=2 servers, particularly for netlogon.
 - Make rpcclient follow the new flags for the NETLOGON pipe
 - Make all the code that uses schannel use the centralised functions for doing so.

Andrew Bartlett
(This used to be commit 96b4187963)
2003-08-19 22:47:10 +00:00
Tim Potter
45b9fd9fb9 Don't print out error in ads_do_search_retry() when it suceeds.
(This used to be commit 617feab422)
2003-08-15 21:23:25 +00:00
Gerald Carter
c904740e95 s/OM_uint32//uint32/g
(This used to be commit f8a092e7b4)
2003-08-15 21:19:34 +00:00
Herb Lewis
aa39cc37da get rid of more compiler warnings
(This used to be commit 398bd14fc6)
2003-08-15 04:42:05 +00:00
Volker Lendecke
c9aa836204 Fix memleaks.
Currently I'm compiling against MIT Kerberos 1.2.8.

Anthony, you said you have a heimdal installation available. Could you
please compile this stuff with krb and check it with valgrind?

Thanks,

Volker
(This used to be commit d8ab446859)
2003-08-15 01:46:09 +00:00
Volker Lendecke
bb6dff2cb1 In ads_verify_realm, all we use in the ADS_STRUCT is the
auth.realm. So directly pass that instead of setting up and tearing
down the ADS_STRUCT.

Volker
(This used to be commit ce5b8d2ec2)
2003-08-14 21:07:49 +00:00
Jim McDonough
9f2e6167d2 Update my copyrights according to my agreement with IBM
(This used to be commit c9b209be2b)
2003-08-01 15:21:20 +00:00
Gerald Carter
0d087e3ba2 working on transtive trusts issue:
* use DsEnumerateDomainTrusts() instead of LDAP search.
    wbinfo -m now lists all trusted downlevel domains and
    all domains in the forest.

Thnigs to do:

  o Look at Krb5 connection trusted domains
  o make sure to initial the trusted domain cache as soon
    as possible
(This used to be commit 0ab00ccaed)
2003-07-31 05:43:47 +00:00
Jeremy Allison
316c77ed0b Don't revert something until you've seen if volker has already fixed it :-).
Jeremy.
(This used to be commit d57d9b99df)
2003-07-30 16:34:14 +00:00
Jeremy Allison
f5799f2db2 Comment out mutex until I get dependencies sorted out...
Jeremy
(This used to be commit 382d1732ca)
2003-07-30 15:30:36 +00:00
Jeremy Allison
1b89b58475 Put mutex around access of replay cache for krb5 tickets. krb5 replay cache
is not multi-process safe.
Jeremy.
(This used to be commit 9e0534a1b6)
2003-07-29 21:32:36 +00:00
Jeremy Allison
b40d1a2a76 Typo on my part. I typed KRB5_KDB_BAD_ENCTYPE when I meant to type KRB5_BAD_ENCTYPE.
Heimdal has the latter, not the former.
Jeremy.
(This used to be commit e8425df77c)
2003-07-29 17:03:51 +00:00
Jim McDonough
15188bcb02 Fix the build on Heimdal. KRB5_KDB_BAD_ENCTYPE doesn't exist on Heimdal, and
it's a different rc than KRB5_BAD_ENCTYPE (which exists on both MIT and
Heimdal).  This will just make the debug show up at level 3 always.

Jeremy, you may want to revisit this, but it's probably not worth the hassle.
(This used to be commit 4ff322ccf9)
2003-07-29 16:34:31 +00:00
Jeremy Allison
05875e573c Improved debug messages whilst trying to track down kerb issues.
Jeremy.
(This used to be commit 29dd71ddea)
2003-07-29 00:31:44 +00:00
Jeremy Allison
4632786cfb W00t! Client smb signing is now working correctly with krb5 and w2k server.
Server code *should* also work (I'll check shortly). May be the odd memory
leak. Problem was we (a) weren't setting signing on in the client krb5 sessionsetup
code (b) we need to ask for a subkey... (c). The client and server need to
ask for local and remote subkeys respectively.
Thanks to Paul Nelson @ Thursby for some sage advice on this :-).
Jeremy.
(This used to be commit 3f9e3b6070)
2003-07-25 23:15:30 +00:00
Gerald Carter
c916e5e390 fix case where no realm or workgroup means to use our own
(This used to be commit 6edc7e0a74)
2003-07-25 16:42:34 +00:00
Gerald Carter
3a00cedc01 connect to the right realm or domain for trusted AD domains
(This used to be commit 83376671c5)
2003-07-23 19:58:01 +00:00
Jeremy Allison
9c15a65dc3 Fixed memory leaks, added krb5 replay cache. Now I need to add code to check
the incoming addresses....
Jeremy.
(This used to be commit 4e9359a1f6)
2003-07-12 00:27:22 +00:00
Tim Potter
62c48a7dbb Fix shadow parameter warning.
(This used to be commit 8d8d85ecd6)
2003-07-10 08:27:55 +00:00
Tim Potter
b5cd4a8643 Call the synchronous version of the ldap delete function otherwise we end up
treating the returned message id as an error code.
(This used to be commit 42fdcef324)
2003-07-07 02:50:09 +00:00
Jeremy Allison
ce72beb2b5 Removed strupper/strlower macros that automatically map to strupper_m/strlower_m.
I really want people to think about when they're using multibyte strings.
Jeremy.
(This used to be commit ff222716a0)
2003-07-03 19:11:31 +00:00
Tim Potter
baf439cd55 Implemented 'net ads printer search' which searches the directory for
published printers.

At the moment we don't search using any parameters but this can be
fixed by changing the LDAP search string.  Also we should contact
the global catalog at SRV _gc._tcp instead of the ldap server we
get back from ads_startup().
(This used to be commit 814519c5de)
2003-07-03 05:08:51 +00:00
Tim Potter
40ece6552d Fix bug in doxygen comments for ads search functions.
(This used to be commit ae6c05ea72)
2003-07-03 04:12:54 +00:00
Tim Potter
47a07aef5d Fix shadow variable warnings.
(This used to be commit 5ffb8e0920)
2003-06-30 05:42:15 +00:00
Gerald Carter
72876b79c9 * fix typos in a few debug statements
* check negative connection cache before ads_try_connect()
  in ads_find_dc()
(This used to be commit 2a76101a3a)
2003-06-25 19:00:15 +00:00
Gerald Carter
f51d769dd3 large change:
*)  consolidates the dc location routines again (dns
    and netbios)  get_dc_list() or get_sorted_dc_list()
    is the authoritative means of locating DC's again.

    (also inludes a flag to get_dc_list() to define
     if this should be a DNS only lookup or not)

    (however, if you set "name resolve order = hosts wins"
     you could still get DNS queries for domain name IFF
     ldap_domain2hostlist() fails.  The answer?  Fix your DNS
     setup)

*)  enabled DOMAIN<0x1c> lookups to be funneled through
    resolve_hosts resulting in a call to ldap_domain2hostlist()
    if lp_security() == SEC_ADS

*)  enables name cache for winbind ADS backend

*)  enable the negative connection cache for winbind
    ADS backend

*)  removes some old dead code

*)  consolidates some duplicate code

*)  moves the internal_name_resolve() to use an IP/port pair
    to deal with SRV RR dns replies.  The namecache code
    also supports the IP:port syntax now as well.

*)  removes 'ads server' and moves the functionality back
    into 'password server' (which can support "hostname:port"
    syntax now but works fine with defaults depending on
    the value of lp_security())
(This used to be commit d7f7fcda42)
2003-06-25 17:41:05 +00:00
Gerald Carter
f36c96d59c * s/get_dc_name/rpc_dc_name/g (revert a previous change)
* move back to qsort() for sorting IP address in get_dc_list()

* remove dc_name_cache in cm_get_dc_name() since it slowed
  things down more than it helped.  I've made a note of where
  to add in the negative connection cache in the ads code.
  Will come back to that.

* fix rpcclient to use PRINTER_ALL_ACCESS for set printer (instead
  of MAX_ALLOWED)

* only enumerate domain local groups in our domain

* simplify ldap search for seqnum in winbindd's rpc backend
(This used to be commit f8cab8635b)
2003-06-23 19:05:23 +00:00
Andrew Tridgell
ec0303820f we need to call ads_first_entry() before using a ldap result,
otherwise we can segv or return garbage
(This used to be commit d1316656b0)
2003-06-16 02:42:00 +00:00
Tim Potter
0a9396dcca Rename some uuid functions so as not to conflict with system
versions.  Fixes bug #154.
(This used to be commit 986eae40f7)
2003-06-13 04:35:53 +00:00
Tim Potter
61742d1117 Fix shadow variable warning.
(This used to be commit c22a4074bd)
2003-06-13 04:29:20 +00:00
Andrew Tridgell
2cfc19f899 added an auth flag that indicates if we should be allowed to fallback
to NTLMSSP for SASL if krb5 fails. This is important as otherwise the
admin may think that a join has succeeeded when kerberos is actually
broken.
(This used to be commit 23a6ea385c)
2003-06-10 03:47:42 +00:00
Andrew Bartlett
adb710d028 No matter how special this session key is, it's not worth a level 0.
Hide it behind a level 10, with #ifdef DEBUG_PASSWORD instead.

Andrew Bartlett
(This used to be commit 9d4e327850)
2003-06-06 10:22:48 +00:00
Jim McDonough
4f276f9696 More on bug 137: rename more of krb5_xxx functions to not start with krb5_
(This used to be commit 10f1da3f4a)
2003-05-30 20:11:34 +00:00
Jim McDonough
1f3b279076 More on bug 137: rename remainder of krb5_xxx functions to not start with krb5_
(This used to be commit 4169de6d8f)
2003-05-30 20:03:18 +00:00
Jim McDonough
0463fc2d77 Fix bug #137: krb5_set_password is already defined in MIT 1.3 libs, so
we wouldn't build.
(This used to be commit 0e9836c4e9)
2003-05-30 19:51:09 +00:00
Jeremy Allison
ec7b079ab3 Patch from Luke Howard <lukeh@PADL.COM> to recognise local groups.
Jeremy.
(This used to be commit d7a23afe14)
2003-05-15 19:43:21 +00:00
Andrew Bartlett
6a19f354e5 Patch from Ken Cross to allow an ADS domain join with a username of the form
user@realm, where realm might not be the realm we are joining.

Andrew Bartlett
(This used to be commit 00e08efb5c)
2003-05-04 02:48:11 +00:00
Andrew Bartlett
7041e295eb Revert patch - we need to try the NTLMSSP code below...
Andrew Bartlett
(This used to be commit 317158972e)
2003-04-24 14:07:13 +00:00
Andrew Bartlett
77ced5915d Use the kerberos error from ads_kinit_password() in the return value from
our SASL code - help in printing a useful error message.

Andrew Bartlett
(This used to be commit 984321bfab)
2003-04-24 14:02:02 +00:00
Andrew Bartlett
f071020f5e Merge from HEAD - save the type of channel used to contact the DC.
This allows us to join as a BDC, without appearing on the network as one
until we have the database replicated, and the admin changes the configuration.

This also change the SID retreval order from secrets.tdb, so we no longer
require a 'net rpc getsid' - the sid fetch during the domain join is sufficient.
Also minor fixes to 'net'.

Andrew Bartlett
(This used to be commit 876e00fd11)
2003-04-21 14:09:03 +00:00
Andrew Bartlett
06c99d15e2 Add const, static and fix a double free() (merge from HEAD).
(This used to be commit 9ba88c7314)
2003-04-21 13:10:35 +00:00
Jim McDonough
bdaac40746 Move PAC decoding over from HEAD.
(This used to be commit b0fd4e5555)
2003-04-16 16:57:01 +00:00
Jelmer Vernooij
f7792732e6 Change variable name to get this working on gcc 3.2 (Merge from HEAD)
(This used to be commit d49113caef)
2003-04-15 17:06:51 +00:00
cvs2svn Import User
a47d06a2c2 This commit was manufactured by cvs2svn to create branch 'SAMBA_3_0'.(This used to be commit 381649916e) 2003-04-13 13:50:46 +00:00
Jim McDonough
1f04eb2e26 Complete what I've seen (and then some)t of the PAC.
I haven't seen the rid+attr arrays for group membership, nor sids or the same
kind of arrays for resource domains, so I don't know how that will work.

Also, the PAC info type 10 is now decoded, but I don't know what it's for.
It has an NTTIME, a 16-bit name length, and a username.  According to M$,
it's not needed, because they didn't doc it...
(This used to be commit 28ab8504cf)
2003-04-09 16:48:59 +00:00
Jim McDonough
31e21b67d9 Decode the PAC! This patch just decodes it and then frees it, so it's just
for doc purposes right now (you can see it in the debug logs).
(This used to be commit 046c2087a1)
2003-04-07 18:01:40 +00:00
Jelmer Vernooij
4905ba282f - Support building all auth modules as .so's
- Change 2 variable names to avoid conflicts (patch by Stephan Kulow <coolo@kde.org>)
(This used to be commit 71b05cd14a)
2003-03-25 14:46:11 +00:00
Andrew Bartlett
83a580f49a Merge from HEAD:
net ads password

Heimdal compile fixes.

Andrew Bartlett
(This used to be commit 3aa4f923e9)
2003-03-17 22:58:24 +00:00
Andrew Bartlett
f06d1b240a The kerberos_verify compoenent of the SessionSetup sync with HEAD.
Andrew Bartlett
(This used to be commit 64796ed27a)
2003-03-17 22:46:12 +00:00
Andrew Bartlett
aa4bfd4711 merge from HEAD - dump tokenGroups as sids.
(This used to be commit f0daa15521)
2003-03-17 22:41:14 +00:00
Andrew Bartlett
2f62a72d9a Changes to help the kerberos change password code work on systems that
have some of the labels 'duplicated' (ie, the defines double-up).

Also, to an ads_connect() to try and find our KDC. (So we don't segfualt
*every* time)

Andrew Bartlett
(This used to be commit 56dce7ddad)
2003-03-16 02:14:05 +00:00
Andrew Bartlett
02abe94f81 - Fix a double-free (I can't say I understand the code, but it matches the other
cases and keeps valgrind quiet).

 - Add static

Andrew Bartlett
(This used to be commit e9da9c500b)
2003-03-12 10:56:55 +00:00
Jeremy Allison
7a9987481e More const fixes.
Jeremy.
(This used to be commit 7b945e10a6)
2003-03-05 01:34:37 +00:00
Jeremy Allison
211dd28a7a More const fixes.
Jeremy.
(This used to be commit fa93763248)
2003-03-05 01:34:34 +00:00
Andrew Bartlett
d116f2c884 tokenGroups are SIDs, so dump them as such.
(This used to be commit 43f07e9de7)
2003-02-25 02:23:19 +00:00
Andrew Bartlett
eb64538dba Patch from Luke Howard to add mutual kerberos authentication, and SMB session
keys for kerberos authentication.

Andrew Bartlett
(This used to be commit 8b798f03db)
2003-02-24 11:09:21 +00:00
Andrew Bartlett
12f2ebf7f0 Always initialise
(This used to be commit ff2b5b2f85)
2003-02-24 03:45:02 +00:00
Andrew Bartlett
a65b65c87a Make sure these values are never uninitialsised.
(This used to be commit eacb8dde7a)
2003-02-24 03:43:49 +00:00
Andrew Bartlett
d1221c9b6c Merge from HEAD client-side authentication changes:
- new kerberos code, allowing the account to change it's own password
   without special SD settings required
 - NTLMSSP client code, now seperated from cliconnect.c
 - NTLMv2 client code
 - SMB signing fixes

Andrew Bartlett
(This used to be commit 837680ca51)
2003-02-24 02:55:00 +00:00
Andrew Bartlett
301ebd6324 Fix a DEBUG() formatting, add some more debug to our SID pulling code and
inline the call to prs_copy_all_data_out() so that we can know we are not
overrunning our buffer.

Also check more return values.

Andrew Bartlett
(This used to be commit e3b73d5d65)
2003-02-22 00:54:08 +00:00
Jim McDonough
de88e704ce libads/krb5_setpw.c
(This used to be commit 4c52d7bd93)
2003-02-19 20:37:34 +00:00
Jim McDonough
83a11f7f0e Sync with HEAD for verifying kerberos tickets.
(This used to be commit 77e1178a88)
2003-02-19 15:48:12 +00:00
Jim McDonough
4560329abb Fix segv in net ads join...an extra & was the culprit
(This used to be commit 1a9050a6fe)
2003-02-19 15:04:04 +00:00
Jim McDonough
ad03d0a4f8 Fix segv in net ads join...an extra & was the culprit
(This used to be commit 9874b233d5)
2003-02-19 15:03:04 +00:00
Andrew Bartlett
251ea1e677 Merge minor library fixes from HEAD to 3.0.
- setenv() replacement
 - mimir's ASN1/SPNEGO typo fixes
 - (size_t)-1 fixes for push_* returns
 - function argument signed/unsigned correction
 - ASN1 error handling (ensure we don't use initiailsed data)
 - extra net ads join error checking
 - allow 'set security discriptor' to fail
 - escape ldap strings in libads.
 - getgrouplist() correctness fixes (include primary gid)

Andrew Bartlett
(This used to be commit e9d6e2ea9a)
2003-02-19 12:31:16 +00:00
Andrew Bartlett
39daab943d Check return values of various join-related functions, and ensure we always
compare push_* returns with (size_t)-1, not < 0.

Andrew Bartlett
(This used to be commit 63f5e92536)
2003-02-19 11:35:02 +00:00
Jim McDonough
adfefcdcb6 Try to get heimdal working with HEAD.
- Provide generic functions for
  - get valid encryption types
  - free encryption types
- Add encryption type parm to generic function create_kerberos_key_from_string()
- Try to merge the two versions (between HEAD and SAMBA_3_0) of kerberos_verify.c

I think this should work for both MIT and heimdal, in HEAD.  If all goes smooth,
I'll move it over to 3.0 soon...
(This used to be commit 45e409fc8d)
2003-02-19 01:16:40 +00:00
Rafal Szczesniak
030beddfb3 Fix of two warnings.
pull_ucs2_talloc function takes char** pointer, not (here
explicitly casted) void** one.


Rafal
(This used to be commit e77c44efd9)
2003-02-18 14:59:21 +00:00
Andrew Bartlett
e4202a9fe7 Antti Andreimann <Antti.Andreimann@mail.ee> has done some changes to enable
users w/o full administrative access on computer accounts to join a
computer into AD domain.

The patch and detailed changelog is available at:
http://www.itcollege.ee/~aandreim/samba

This is a list of changes in general:

1. When creating machine account do not fail if SD cannot be changed.
   setting SD is not mandatory and join will work perfectly without it.
2. Implement KPASSWD CHANGEPW protocol for changing trust password so
   machine account does not need to have reset password right for itself.
3. Command line utilities no longer interfere with user's existing
   kerberos ticket cache.
4. Command line utilities can do kerberos authentication even if
   username is specified (-U). Initial TGT will be requested in this case.

I've modified the patch to share the kinit code, rather than copying it,
and updated it to current CVS.  The other change included in the original patch
(local realms) has been left out for now.

Andrew Bartlett
(This used to be commit ce52f1c2ed)
2003-02-15 00:29:21 +00:00
Jeremy Allison
4cd6e31bd3 Ensure that only parse_prs.c access internal members of the prs_struct.
Needed to move to disk based i/o later.
Jeremy.
(This used to be commit 4c3ee228fc)
2003-02-14 23:04:03 +00:00
Jeremy Allison
8fc1f1aead Ensure that only parse_prs.c access internal members of the prs_struct.
Needed to move to disk based i/o later.
Jeremy.
(This used to be commit a823fee5b4)
2003-02-14 22:55:46 +00:00
Jeremy Allison
abbbaa2f6f Merging from HEAD - add a note about a better method for finding netbios name of workgroup
(not implemented yet)
Jeremy.
(This used to be commit c0eab99753)
2003-02-12 01:07:48 +00:00
Andrew Tridgell
3b562efcbd add a note about a better method for finding netbios name of workgroup
(not implemented yet)
(This used to be commit 8a8cca78ad)
2003-02-12 00:40:41 +00:00
Jeremy Allison
eccae5d23a Mem alloc checks.
Jeremy.
(This used to be commit 46ea028169)
2003-02-04 23:44:28 +00:00
Jeremy Allison
0701e642f2 Mem alloc failure checks.
Jeremy.
(This used to be commit 4e33e3f37f)
2003-02-04 23:44:05 +00:00
Andrew Bartlett
963e88aa90 Merge LDAP filter parinoia from HEAD, a few other pdb_ldap updates and some
misc libads fixes.

Andrew Bartlett
(This used to be commit 9c3a1710ef)
2003-02-01 07:59:29 +00:00
Andrew Bartlett
c2b134cc3b Always escape ldap filter strings. Escaping code was from pam_ldap, but I'm to
blame for the realloc() stuff.

Plus a couple of minor updates to libads.

Andrew Bartlett
(This used to be commit 34b2e558a4)
2003-02-01 05:20:11 +00:00
Jeremy Allison
32bfb31947 Revert tpot's HEAD merge which broke the Heimdal build.
Jeremy.
(This used to be commit 1298ecd0b8)
2003-01-30 18:03:34 +00:00
Tim Potter
cf292aead6 Sync of Heimdal kerberos stuff with HEAD. If this breaks I'm blaming
the dog again.
(This used to be commit 6f89ee2c9d)
2003-01-30 04:40:12 +00:00
Jeremy Allison
755e33ee3f Get smbd to link with Heimdal. Still missing some client progs...
Jeremy.
(This used to be commit 85dda43476)
2003-01-28 00:33:21 +00:00
Jeremy Allison
6cf8ac019e Thanks Meeester Potter, for reverting *all* my Heimdal changes because
I mistyped a comma :-).
Jeremy.
(This used to be commit 04cc149c75)
2003-01-23 18:15:18 +00:00
Tim Potter
c79eccad91 Merge of kerberos changes to make this branch build again!
(This used to be commit 51b319f57f)
2003-01-22 23:32:33 +00:00
Jeremy Allison
e545fe3c0a Get closer to Heimdal compile... Damn. HEAD has different code in
kerberos_verify...
Jeremy.
(This used to be commit e8c4098da6)
2003-01-21 20:43:26 +00:00
Jeremy Allison
b0aadff202 More fixes getting us closer to full Heimdal compile....
Jeremy.
(This used to be commit a7ee6ed645)
2003-01-21 06:23:49 +00:00
Jeremy Allison
e97e51f5fd More fixes getting us closer to full Heimdal compile....
Jeremy.
(This used to be commit 193cc4f4fc)
2003-01-21 06:23:10 +00:00
Gerald Carter
8308ec6979 sanity checks from Ken Cross
(This used to be commit 9f35846b8e)
2003-01-21 01:21:33 +00:00
Gerald Carter
3b35519857 sanity checks from Ken Cross
(This used to be commit ec26877f0b)
2003-01-21 01:20:48 +00:00
Gerald Carter
9eeab10e54 [merge]
* removed unused variable from rpcclient code
* added container option to net command (patch from SuSE)
* Makefile patch for examples/VFS from SuSE
(This used to be commit 25a9681ddd)
2003-01-15 16:10:57 +00:00
Gerald Carter
43e4cae106 * removed unused variable from rpcclient code
* added container option to net command (patch from SuSE)
* Makefile patch for examples/VFS from SuSE
(This used to be commit 4a6d8280ea)
2003-01-15 16:07:14 +00:00
Andrew Bartlett
22d6569ed5 Patch from Nik Conwell <nik@bu.edu>. Don't reference free()ed data when trying
to figure out if we have got our ticket yet.

Andrew Bartlett
(This used to be commit a66ced2cf6)
2003-01-11 03:29:31 +00:00
Andrew Bartlett
634c54310c Merge from HEAD - make Samba compile with -Wwrite-strings without additional
warnings.  (Adds a lot of const).

Andrew Bartlett
(This used to be commit 3a7458f947)
2003-01-03 08:28:12 +00:00
Andrew Bartlett
6d66fb308a BIG patch...
This patch makes Samba compile cleanly with -Wwrite-strings.
 - That is, all string literals are marked as 'const'.  These strings are
always read only, this just marks them as such for passing to other functions.

What is most supprising is that I didn't need to change more than a few lines of code (all
in 'net', which got a small cleanup of net.h and extern variables).  The rest
is just adding a lot of 'const'.

As far as I can tell, I have not added any new warnings - apart from making all
of tdbutil.c's function const (so they warn for adding that const string to
struct).

Andrew Bartlett
(This used to be commit 92a777d0ea)
2003-01-02 09:07:17 +00:00
Jeremy Allison
944fb243eb Catching up with old patches. Add define for VERITAS quota support.
Check return in ldap.
Jeremy.
(This used to be commit e789edbb28)
2002-12-30 23:55:58 +00:00
Jeremy Allison
64501e44ee Catching up with old patches. Add define for VERITAS quota support.
Check return in ldap.
Jeremy.
(This used to be commit 66eff26fc9)
2002-12-30 23:55:53 +00:00
Jeremy Allison
7f23546730 Forward port the change to talloc_init() to make all talloc contexts
named. Ensure we can query them.
Jeremy.
(This used to be commit 842e08e52a)
2002-12-20 20:23:06 +00:00
Jeremy Allison
ef8bd7c4f7 Forward port the change to talloc_init() to make all talloc contexts
named. Ensure we can query them.
Jeremy.
(This used to be commit 09a218a9f6)
2002-12-20 20:21:31 +00:00
Jim McDonough
81a2a30739 More printer publishing code.
- Add published attribute to info2, needed for win clients to work properly
- Return proper info on getprinter 7

This means you can now look at the sharing tab of a printer and get correct
info about whether it is published or not, and change it.
(This used to be commit d57bddc9b2)
2002-12-13 19:01:27 +00:00
Jim McDonough
bfd8043a40 More printer publishing code.
- Add published attribute to info2, needed for win clients to work properly
- Return proper info on getprinter 7

This means you can now look at the sharing tab of a printer and get correct
info about whether it is published or not, and change it.
(This used to be commit adda04379e)
2002-12-13 18:56:48 +00:00
Jim McDonough
26236b30d0 More printer data to publish
(This used to be commit 6e2f0c4e30)
2002-12-05 19:13:40 +00:00
Jim McDonough
90d9cf973e More printer data to publish
(This used to be commit 82f3a786bf)
2002-12-05 19:13:20 +00:00
Jim McDonough
2e2f58fded Stop using hardcoded key/value strings, be more forgiving of dsspooler/dsdriver info existence.
(This used to be commit 59ced15a1b)
2002-12-03 19:42:39 +00:00
Jim McDonough
2e6c2a1456 Stop using hardcoded key/value strings, be more forgiving of dsspooler/dsdriver info existence.
(This used to be commit ca8735532c)
2002-12-03 19:41:43 +00:00
Gerald Carter
3ab6fcc5c6 [merge from APP_HEAD]
90% fix for CR 1076.  The password server parameter will no take things
like

        password server = DC1 *

which means to contact DC1 first and the go to auto lookup if it
fails.


jerry
(This used to be commit 016ef8b36b)
2002-11-23 14:52:34 +00:00
Gerald Carter
191dff2d27 [merge from APP_HEAD]
90% fix for CR 1076.  The password server parameter will no take things
like

        password server = DC1 *

which means to contact DC1 first and the go to auto lookup if it
fails.


jerry
(This used to be commit c31a17889e)
2002-11-23 14:27:56 +00:00
Jim McDonough
713b2f0b47 Don't pass a function to ADS_ERR_OK().
(This used to be commit a148e4c290)
2002-11-18 20:46:20 +00:00
Jim McDonough
bf909c0c36 Don't pass a function to ADS_ERR_OK().
(This used to be commit dff4c93d85)
2002-11-18 20:45:46 +00:00
Jim McDonough
e4201bec14 Next step of printer publishing.
net ads printer publish <printername> [servername]
Will retreive the DsSpooler and DsDriver info by rpc for a remote server
then publish it.

Next comes doing it within smbd
(This used to be commit 8f047a4492)
2002-11-18 19:59:58 +00:00
Jim McDonough
bbd3e4b40a Next step of printer publishing.
net ads printer publish <printername> [servername]
Will retreive the DsSpooler and DsDriver info by rpc for a remote server
then publish it.

Next comes doing it within smbd
(This used to be commit 64951938cc)
2002-11-18 19:50:36 +00:00
Andrew Bartlett
c64d762997 Updates from HEAD:
- const for PACKS() in lanman.c
 - change auth to 'account before password'
 - add help to net rpc {vampire,samsync}
 - configure updates for sun workshop cc
 - become_root() around pdb_ calls in auth_util for guest login.

Andrew Bartlett
(This used to be commit 43e90eb6e3)
2002-11-15 21:43:57 +00:00
Andrew Bartlett
77d0ff6357 Include the hostname we are trying to match with $@, to allow easier debugging.
(This used to be commit f5d8afc626)
2002-11-15 21:25:40 +00:00
Jeremy Allison
2f194322d4 Removed global_myworkgroup, global_myname, global_myscope. Added liberal
dashes of const. This is a rather large check-in, some things may break.
It does compile though :-).
Jeremy.
(This used to be commit f755711df8)
2002-11-12 23:20:50 +00:00
Jeremy Allison
250c980119 Removed global_myworkgroup, global_myname, global_myscope. Added liberal
dashes of const. This is a rather large check-in, some things may break.
It does compile though :-).
Jeremy.
(This used to be commit 82b8f749a3)
2002-11-12 23:15:52 +00:00
Jeremy Allison
f48a8615d6 After the lord mayors parade......
Janitor for tridge :-).
Jeremy.
(This used to be commit 76cdfbd510)
2002-11-10 03:07:19 +00:00
Andrew Tridgell
a46d452926 make sure that if kerberos fails we can fall back on NTLMSSP for SASL
(This used to be commit 69dba08c40)
2002-11-10 00:35:04 +00:00
Tim Potter
ab1cf8d1cf Merge of get_dc_list() api change from HEAD.
(This used to be commit 6ba7847ce2)
2002-11-06 05:14:15 +00:00
Tim Potter
ea24bb2da8 Merge of get_dc_list() api change. This was slightly more intrusive
than the version in APPLIANCE so watch out for boogs.
(This used to be commit 1e054e3db6)
2002-11-06 01:29:07 +00:00
Jim McDonough
69a2042dc6 Re-enable use of existing kerberos tickets.
(This used to be commit 6ec5dce698)
2002-10-31 19:20:33 +00:00
Jim McDonough
3b3c7914e2 Take out gcb2gtype and gtype2gcb fns. They were using symbols not defined
in 3.0 (new SAM in HEAD).  Nobody was referencing these fns...
(This used to be commit 386cc92dfa)
2002-10-30 20:31:02 +00:00
Jim McDonough
4a7c48aaf0 Merge from HEAD:
GUID formatting on ads dump
Allow rc4-hmac when available
.NET likes both forms of servicePrincipalName in machine account record
(This used to be commit 89e3a3da5d)
2002-10-29 14:47:11 +00:00
Jeremy Allison
515e6a268e Merge tridge's blank password fix from HEAD.
Jeremy.
(This used to be commit eadfd312ba)
2002-10-24 01:05:30 +00:00
Andrew Tridgell
306e4cbead fixed a possible segv when dealing with a blank password
(This used to be commit d5d0d0de50)
2002-10-23 00:02:26 +00:00
Jim McDonough
e042a93cce Format objectGUIDs on ads dumps.
(This used to be commit 7eaf7e7115)
2002-10-18 20:11:29 +00:00
Andrew Tridgell
aadae4f84a only set UF_USE_DES_KEY_ONLY if we are using krb5 libraries that can't
do type 23
(This used to be commit c0612272e8)
2002-10-04 07:47:42 +00:00
Andrew Tridgell
14f65fb897 support all permitted encoding types in tickets. This allows us to
decode a type 23 ticket when the machine account is setup for non-DES
tickets
(This used to be commit 144d4429d7)
2002-10-04 07:41:56 +00:00
Andrew Tridgell
fa066fdde3 .NET likes both forms of servicePrincipalName in the machine account
record
(This used to be commit 8ff6d40d7f)
2002-10-03 14:23:06 +00:00
Gerald Carter
f2d1f19a66 syncing up with HEAD. Seems to be a lot of differences creeping in
(i ignored the new SAMBA stuff, but the rest of this looks like it should
have been merged already).
(This used to be commit 3de09e5cf1)
2002-10-01 18:26:00 +00:00
Andrew Bartlett
ad8a22e570 Updates from Samba HEAD:
- Fix segfaults in the 'net ads' commands when no password is provided
 - Readd --with-ldapsam for 2.2 compatability.  This conditionally compiles the
   old options, but the actual code is available on all ldap systems.
 - Fix shadow passwords (as per work with vl)
 - Fix sending plaintext passwords to unicode servers (again vl)
 - Add a bit of const to secrets.c functions
 - Fix some spelling and grammer by vance.
 - Document the -r option in smbgroupedit.

There are more changes in HEAD, I'm only merging the changes I've been involved
with.

Andrew Bartlett
(This used to be commit 83973c3893)
2002-10-01 13:10:57 +00:00
cvs2svn Import User
6007a592b2 This commit was manufactured by cvs2svn to create branch 'SAMBA_3_0'.(This used to be commit eb5ce70e2f) 2002-10-01 01:06:38 +00:00
Andrew Bartlett
4e73790e3a Try to compile as much as possible with only ldap, but not kerberos.
(This used to be commit 9615ab10c0)
2002-09-28 14:42:32 +00:00
Andrew Bartlett
8b197158c9 Add the beginings of sam_ads to the tree.
This module, primarilly the work of "Stefan (metze) Metzmacher"
<metze@metzemix.de>, uses the Active Directory schema to store the
user/group/other information.  I've been testing it against a real AD server,
and it is intended to work with OpenLDAP as well.

I've moved a few functions around in our other libads code, which has made it
easier to tap into that existing code.

Also, I've made some changes to the SAM interface, I hope there are not too
many objections...   To ensure we don't get silly bugs in the skel module, it
is now in the default compile.  This way you should not forget to update it :-)

Andrew Bartlett
(This used to be commit 24fb0cde2f)
2002-09-28 12:27:04 +00:00
Andrew Bartlett
bc828246db This needs to be #ifdef HAVE_LDAP.
(This used to be commit 2b54a2fc2c)
2002-09-28 00:47:06 +00:00
Andrew Bartlett
7e4afe5381 Move a number of ADS related functions out into utility libs, so that things
like metze's sam_ads can also use them.

Also add error checking etc to a few more functions.

Andrew Bartlett
(This used to be commit c864edf4fb)
2002-09-27 12:23:47 +00:00
Andrew Bartlett
55b6cebbd4 Some small cleanups to the libads code (mainly error checking), and give a
sane prototype for the push_utf8_allocate code.

Andrew Bartlett
(This used to be commit ce00a3238e)
2002-09-27 03:05:20 +00:00
Gerald Carter
a834a73e34 sync'ing up for 3.0alpha20 release
(This used to be commit 65e7b5273b)
2002-09-25 15:19:00 +00:00
cvs2svn Import User
3054ef8a6e This commit was manufactured by cvs2svn to create branch 'SAMBA_3_0'.(This used to be commit 9a5541595f) 2002-09-25 12:59:48 +00:00
Andrew Bartlett
b06d2abe74 Another patch from metze, towards his work on sam_ads.
See mx-ldap.sf.net for his current progress.
(This used to be commit 9c62d1312f)
2002-09-25 09:40:45 +00:00
Andrew Bartlett
6f67ae667a Avoid a segfault in net join when you have not done an kinit, and it's falling
back to NTLMSSP.  We need to get the password out of the user, and this
eventually does.

Andrew Bartlett
(This used to be commit bb518a3bae)
2002-09-25 09:32:08 +00:00
Andrew Tridgell
b33681fc0b Add clock skew handling to our kerberos code. This allows us to cope with
the DC being out of sync with the local machine.
(This used to be commit 0d28d76947)
2002-09-17 12:12:50 +00:00
Andrew Tridgell
fffd0eb142 another const cleanup
(This used to be commit 443d5ebafa)
2002-09-17 12:07:47 +00:00
Andrew Bartlett
7a76d0e854 Seems I missed commiting this when I added the rest of metze's ADS patch.
Oh well, here it is...

Andrew Bartlett
(This used to be commit 7c2a667640)
2002-09-06 13:46:36 +00:00
Andrew Bartlett
eec38ee3bb Patch from "Stefan (metze) Metzmacher" <metze@metzemix.de>
to extend the ADS_STATUS system to include NTSTATUS, and to provide a better
general infrustructure for his sam_ads work.

I've also added some extra failure mode DEBUG()s to parts of the code.

NOTE:  The ADS_ERR_OK() macro is rather sensitive to braketing issues - without
the final set of brakets, the test is essentially inverted - causing some
intersting 'error = success' messages...

Andrew Bartlett
(This used to be commit 5b9a7ab901)
2002-09-06 11:46:59 +00:00
Andrew Bartlett
4aad4d7c73 Add some DEBUG()s to some libads failure modes.
(This used to be commit ad3c8da13b)
2002-09-06 10:39:34 +00:00
Andrew Tridgell
dcd0291694 convert the LDAP/SASL code to use GSS-SPNEGO if possible
we now do this:

- look for suported SASL mechanisms on the LDAP server
- choose GSS-SPNEGO if possible
- within GSS-SPNEGO choose KRB5 if we can do a kinit
- otherwise use NTLMSSP

This change also means that we no longer rely on having a gssapi
library to do ADS.

todo:
- add TLS/SSL support over LDAP
- change to using LDAP/SSL for password change in ADS
(This used to be commit b04e91f660)
2002-08-30 06:59:57 +00:00
Herb Lewis
2d05704d0e fix irix compile errors - cannot initialize array in declaration statement
with non-const values - strsep not defined
(This used to be commit a5c59b2cd1)
2002-08-20 18:43:59 +00:00
Jelmer Vernooij
b2edf254ed sync 3.0 branch with head
(This used to be commit 3928578b52)
2002-08-17 17:00:51 +00:00
Andrew Tridgell
4361b5cea5 when using netbios lookup methods make sure we try any BDCs even if
we get a response from WINS for a PDC, if the PDC isn't responding.
(This used to be commit 57916316ff)
2002-08-06 05:11:57 +00:00
Andrew Tridgell
74c8441e9d fixed a memory corruption bug in ads_try_dns()
(This used to be commit 2ee0abb50f)
2002-08-06 03:26:58 +00:00
Andrew Tridgell
ab9ff0fa73 This fixes a number of ADS problems, particularly with netbiosless
setups.

- split up the ads structure into logical pieces. This makes it much
  easier to keep things like the authentication realm and the server
  realm separate (they can be different).

- allow ads callers to specify that no sasl bind should be performed
(used by "net ads info" for example)

- fix an error with handing ADS_ERROR_SYSTEM() when errno is 0

- completely rewrote the code for finding the LDAP server. Now try DNS
  methods first, and try all DNS servers returned from the SRV DNS
  query, sorted by closeness to our interfaces (using the same sort code
  as we use in replies from WINS servers). This allows us to cope with
  ADS DCs that are down, and ensures we don't pick one that is on the
  other side of the country unless absolutely necessary.

- recognise dnsRecords as binary when displaying them

- cope with the realm not being configured in smb.conf (work it out
  from the LDAP server)

- look at the trustDirection when looking up trusted domains and don't
  include trusts that trust our domains but we don't trust
  theirs.

- use LDAP to query the alternate (netbios) name for a realm, and make
  sure that both and long and short forms of the name are accepted by
  winbindd. Use the short form by default for listing users/groups.

- rescan the list of trusted domains every 5 minutes in case new trust
  relationships are added while winbindd is running

- include transient trust relationships (ie. C trusts B, B trusts A,
  so C trusts A) in winbindd.

- don't do a gratuituous node status lookup when finding an ADS DC (we
  don't need it and it could fail)

- remove unused sid_to_distinguished_name function

- make sure we find the allternate name of our primary domain when
  operating with a netbiosless ADS DC (using LDAP to do the lookup)

- fixed the rpc trusted domain enumeration to support up to approx
  2000 trusted domains (the old limit was 3)

- use the IP for the remote_machine (%m) macro when the client doesn't
  supply us with a name via a netbios session request (eg. port 445)

- if the client uses SPNEGO then use the machine name from the SPNEGO
  auth packet for remote_machine (%m) macro

- add new 'net ads workgroup' command to find the netbios workgroup
  name for a realm
(This used to be commit e358d7b24c)
2002-08-05 02:47:46 +00:00
Andrew Bartlett
056f849f0c Now that I got the function arguments sane, remove the silly (void **) casts
from some of the callers.

Andrew Bartlett
(This used to be commit eb3354aa6c)
2002-08-04 01:16:37 +00:00
Andrew Tridgell
55c978d85e net ads info now reports the IP of the LDAP server as well as its name - very useful in scripts
(This used to be commit fc0d5479b5)
2002-07-30 15:34:10 +00:00
Andrew Tridgell
2edcc96c11 a couple more minor tweaks. This now allows us to operate in ADS mode
without any 'realm =' or 'ads server =' options at all, as long as DNS
is working right.
(This used to be commit d3fecdd042)
2002-07-30 13:27:42 +00:00
Andrew Bartlett
29075c97d3 More fixes towards warnings on the IRIX compiler
(and yes, some of these are real bugs)

In particular, the samr code was doing an &foo of various types, to a function
that assumed uint32.  If time_t isn't 32 bits long, that broke.

They are assignment compatible however, so use that and an intermediate
variable.

Andrew Bartlett
(This used to be commit 30d0998c8c)
2002-07-20 13:02:47 +00:00
Andrew Tridgell
e90b652848 updated the 3.0 branch from the head branch - ready for alpha18
(This used to be commit 03ac082dcb)
2002-07-15 10:35:28 +00:00
cvs2svn Import User
ec167dc9cc This commit was manufactured by cvs2svn to create branch 'SAMBA_3_0'.(This used to be commit b8d39651fb) 2002-07-14 22:15:21 +00:00
Andrew Tridgell
695b346ab5 fix setting machine passwords in the case where a user account of the
same name as the machine name exists. (we ended up setting the users
password, not the machines password!)
(This used to be commit fe1e6233c6)
2002-07-12 02:28:27 +00:00
Andrew Tridgell
5d82785756 this implements a completely new strategy for fetching group
membership from an ADS server. We now use a 'member' query on the
group and do a separate call to convert the resulting distinguished
name to a name, rid etc. This is *much* faster for very large numbers
of groups (on a quantum test system with 10000 groups it drops the
time from an hour to about 35 seconds).

strangely enough, this actually *increases* the amount of ldap
traffic, its just that the MS LDAP server answers these queries much
faster.
(This used to be commit 5538048e4f)
2002-07-11 05:28:08 +00:00
Andrew Tridgell
8fb570e6e0 this fixes the ads dump code
a char** isn't quite the same thing as a struct berval**  :)
(This used to be commit a92834ea94)
2002-07-11 03:41:09 +00:00
Andrew Tridgell
5ae8fa2df1 make sure we disable referrals in all ldap searches - they are badly
broken
(This used to be commit 022073d140)
2002-07-09 15:06:51 +00:00
Jim McDonough
83060558c9 Fix length in snprintf invocation to account for "dn:" in sasl gssapi bind.
Also remove unused line which incremented pointer by the wrong length anyway.

Provided by Anthony Liguori (aliguori@us.ibm.com).
(This used to be commit 47b7a3e0f3)
2002-07-08 20:46:54 +00:00
Andrew Bartlett
21b9280cf5 Kill off const warnings - add a pile of const to various places.
(This used to be commit 1de04ec473)
2002-07-08 02:14:57 +00:00
Andrew Tridgell
9930b0b065 used findstatic.pl to make some variables static and remove some dead
code
(This used to be commit 91ad9041e9)
2002-07-01 09:12:41 +00:00
Andrew Tridgell
859b135773 ads_mod_ber should be static, not public
this fixes the huge number of struct berval warnings on non-ads
compiles
(This used to be commit e7f588d815)
2002-07-01 07:30:40 +00:00
Jim McDonough
f90e74afba Const cleanup...should only be 2 warnings left from calling lib/util_str.c
str_list_copy().  Perhaps its proto should be fixed.
(This used to be commit b81bc2b34b)
2002-06-28 19:25:11 +00:00
Jim McDonough
f0a0c6955b Reduce compiler warnings.
(This used to be commit b361089360)
2002-06-26 17:27:30 +00:00
Andrew Bartlett
0327428f27 Break up samba's object dependencies, and its prototype includes.
Now smbclient, net, and swat use their own proto files - now the global
proto.h

The change to libads/kerberos.c was to break up the dependency on secrets.c -
we want to be able to write an ADS client that doesn't need local secrets.

I have other breakups in the works - I will remove the dependency of
rpc_parse on passdb (and therefore secrets.c) shortly.

(NOTE:  This patch does *not* break up includes.h, or other such forbidden
actions).

Andrew Bartlett
(This used to be commit edb41dad2d)
2002-06-25 02:29:09 +00:00
Jim McDonough
24b67730bf Support utf8 on the wire for ads ldap. DN's are converted, as well as strings,
though it is up to the calling function to decide whether values are
strings or not.  Attributes are not converted at this point, though support
for it would be simple.

I have tested it with users and groups using non-ascii chars, and if the
check for alphanumeric user/domain names is removed form sesssetup.c, even
a user with accented chars can connect, or even login (via winbind).

I have also simplified the interfaces to ads_mod_*, though we will probably
want to expand this by a few functions in the near future.  We just had
too many ways to do the same thing...
(This used to be commit f924cb5358)
2002-06-24 17:50:02 +00:00
Andrew Tridgell
d53b9f113a fixed a spelling mistake
(This used to be commit 5a04ea1f0c)
2002-06-03 02:46:25 +00:00
Andrew Bartlett
31cda568c0 This is meant to be accessed via the helper fn, not directly.
(This used to be commit b84882a628)
2002-05-17 14:35:54 +00:00
Jim McDonough
2503dc8eb8 Add ads group account add function.
(This used to be commit 180311a48c)
2002-05-09 23:44:46 +00:00
Andrew Tridgell
fc78c773f8 fixed trust relationships in ADS winbindd after breaking them with my BDC changes ...
(This used to be commit 8096032663)
2002-04-19 03:00:29 +00:00
Andrew Tridgell
c0a9919430 fixed the fallback to a BDC for ADS connections
(This used to be commit 3e58a1ee83)
2002-04-18 06:56:44 +00:00
Andrew Tridgell
f6929068a1 by using a prompter function we can avoid the bug in the MIT kerberos
libraries with handling blank passwords.
(This used to be commit 59d755ffb5)
2002-04-15 04:55:37 +00:00
Jim McDonough
69f41523b3 A few more updates:
- Add doxygen comments
- remove server sort control (ms implementation was not reliable)
- rename ads_do_search_all2() to ads_do_search_all_fn()
(This used to be commit 7aa5fa6172)
2002-04-10 13:28:03 +00:00
Jim McDonough
40260fdaf9 Several updates to get server side sorting going:
- Added sort control to ads_do_paged_search.  It allows a char * to be passed
  as the sort key.  If NULL, no sort is done.
- fixed a bug in the processing of controls (loop wasn't incremented properly)
- Added ads_do_search_all2, which funs a function that is passed in against
  each entry.  No ldapmessage structures are returned.  Allows results to
  be processed as the come in on each page.

I'd like ads_do_search_all2 to replace ads_do_search_all, but there's some
work to be done in winbindd_ads.c first.

Also, perhaps now we can do async ldap searches?  Allow us to process a
page while the server retrieves the next one?
(This used to be commit 95bec4c8ba)
2002-04-05 19:26:52 +00:00
Jim McDonough
f21ccff91f Try harder next time to not duplicate function...take ads_err2string back
out since it's already in ads_errstr() in ads_status.c
(This used to be commit 0475126ffb)
2002-04-04 03:03:00 +00:00
Jim McDonough
3f31475eeb Contains functions to manage/view AD user accounts via ldap. Initially has fns
to find and add a user.
(This used to be commit 773303a284)
2002-04-04 02:51:02 +00:00
Jim McDonough
417b1ce487 Add ads_err2string() function for generating error strings from an ADS_STATUS.
I've got the cases besides gssapi...anyone know how to get those?
(This used to be commit c937e13522)
2002-04-04 02:49:30 +00:00
Jim McDonough
2ed1dfcf4e Added ads_process_results(), which takes a function that is called for each
entry returned from a search, and applies it to the results.  Re-structured
ads_dump to use this, plus changed the ber_free in ads_dump from (b,1) to
(b,0), in accordance with openldap manpages.  Also allows proper free of
result using ldap_msgfree afterwards, so you can do something with the
results after an ads_dump.
(This used to be commit f01f02fc56)
2002-03-29 21:06:33 +00:00
Jim McDonough
90ada79bbf Whoops, left the paged control not critical in the paged search...kind of
defeats the purpose.
(This used to be commit 71806c49b3)
2002-03-27 03:09:50 +00:00
Jim McDonough
1a06eeb6da Add server control to prevent referrals in paged searches. This keeps
the scope limited to the domain at hand, and also keeps the openldap
libs happy, since they don't currently chase referrals and return
server controls properly at the same time.
(This used to be commit 2bebc8a391)
2002-03-27 02:58:58 +00:00
Tim Potter
ce236d1dbf Stomped on some header file version numbers that have crept back in.
(This used to be commit e66bdf1229)
2002-03-22 06:24:38 +00:00
Andrew Tridgell
b462700e53 added a ads_do_search_all() call, which is a more convenient interface
to paged searches. This makes updating winbindd to used paged searches
trivial.
(This used to be commit 514c11b4e3)
2002-03-19 22:14:53 +00:00
Andrew Tridgell
f464ceb109 fixed paged controls on my box. The problem seems to be incorrect
referrals parsing in the openldap libs. By disabling referrals we get
valid controls back and the cookies work.
(This used to be commit 8bf487ddff)
2002-03-19 12:58:38 +00:00
Jim McDonough
0640a5ceeb This adds the Paged Result Control to ads searching. The new function, ads_do_paged_search, is the same as ads_do_search, but it also contains a count of records returned in this page, and a cookie for resuming, to be passed back. The cookie must start off NULL, and when it returns as NULL, the search is done.
(This used to be commit 9afba67f9a)
2002-03-14 17:48:26 +00:00
Andrew Tridgell
2001b83faa detect SIZELIMIT_EXCEEDED in ldap queries and truncate
the problem is, how the heck do we properly handle these? Jerry?

It seems that the Win2000 ADS server only returns a max of 1000 records!
(This used to be commit 9338964720)
2002-03-13 06:43:52 +00:00
Andrew Tridgell
bd3a6e6cc9 put in the ADS DNS hack, but commented out
(This used to be commit 3396a671c5)
2002-03-11 04:06:30 +00:00
Andrew Tridgell
1975b3e4a2 forgotten file, oops
(This used to be commit 98196e79b7)
2002-03-10 06:56:59 +00:00
Andrew Tridgell
cfbbf73677 yipee! Finally put in the patch from Alexey Kotovich
<a.kotovich@sam-solutions.net> that adds the security decsriptor code
for ADS workstation accounts

thanks for your patience Cat, and thanks to Andrew Bartlett for
extensive reviews and suggestions about this code.
(This used to be commit 6891393b5d)
2002-03-10 01:54:44 +00:00
Herb Lewis
23e6fc25e2 fix for IRIX compile error
(This used to be commit 2d620909f9)
2002-03-04 01:07:02 +00:00
Jim McDonough
9fc99e3c55 Fix LDAP modification operation. Cut and paste error: was LDAP_MOD_ADD, should be LDAP_MOD_REPLACE. Caught by Alexey Kotovich.
(This used to be commit be48a05ed9)
2002-02-13 15:00:39 +00:00
Jim McDonough
d6b82723a0 talloc'ify ads modify functions.
(This used to be commit e097666499)
2002-02-12 18:22:47 +00:00
Jim McDonough
a346cfb467 talloc'ify ads modify functions. Also add more complete berval support.
(This used to be commit 1f186c60ad)
2002-02-12 18:22:33 +00:00
Jim McDonough
ad6dfee741 Update for new ads modlist structure passing
(This used to be commit 6169b668fe)
2002-02-11 15:48:01 +00:00
Jim McDonough
d2b65dcbff Add ability to extend ads modification list on the fly. Also add some malloc checks and return ADS_ERROR(LDAP_NO_MEMORY) if they fail.
(This used to be commit 81d76f05d8)
2002-02-11 15:47:02 +00:00
Andrew Tridgell
fb444a546e when a trusted domain is down an ADS server will return a success on a
get trusted domains query but leave the domain SID blank - we need to
fail the add of the trusted domain in winbindd in that case
(This used to be commit 24c7e7a384)
2002-02-07 02:44:37 +00:00
Jim McDonough
9aa88da9d5 Fix ldapmod list overrun check. Also better document and format ldap control for permissive modify.
(This used to be commit 01e7f7c3d9)
2002-02-06 02:28:46 +00:00
Jim McDonough
55b92fdebc Update for function name changes, plus do some of the optional attributes on printer modify, now that the ldap control is working.
(This used to be commit 76afc886a8)
2002-02-02 22:07:22 +00:00
Jim McDonough
81b54940b7 merge in some changes from Alexey Kotovich. Return ADS_STATUS instead of BOOLs. Add support for bervals in mod lists. Also put undocumented AD ldap control in to allow modifications when an attribute does not yet exist.
(This used to be commit 1a2d27b21e)
2002-02-02 22:06:10 +00:00
Jim McDonough
bb8349735f Minor bug fixes, plus support to remove a printer. Commented out optional attributes until a method for checking for their existence is done.
(This used to be commit 538c19a698)
2002-02-02 02:04:01 +00:00
Jim McDonough
0c63216603 Fix build errors on non-ldap systems...change function parms from LDAPMod ** to void **
(This used to be commit 9467792843)
2002-02-01 17:13:39 +00:00
Jim McDonough
aa8ebe3956 Fix file header description and copyright (from cut-and-paste laziness)
(This used to be commit 146c731c35)
2002-02-01 16:58:01 +00:00
Jim McDonough
ecc2e1e3b8 Module for ADS operations on a printer object in the directory. Initially it creates and modifies a printQueue object in the directory
(This used to be commit b14e638aeb)
2002-02-01 16:15:53 +00:00
Jim McDonough
9e75e5c1f0 Add functions for modifying an entry in ADS. Needed for printer publishing.
(This used to be commit 3d8d8cef64)
2002-02-01 16:14:33 +00:00
Tim Potter
cd68afe312 Removed version number from file header.
Changed "SMB/Netbios" to "SMB/CIFS" in file header.
(This used to be commit 6a58c9bd06)
2002-01-30 06:08:46 +00:00
Jim McDonough
de260eadf9 Enable net ads commands to use existing tickets if the user doesn't specify a username on the commandline. Also don't continue past the kinit if a password is entered and fails because existing tickets would be used, which may not be desired if the username was specified.
(This used to be commit 7e5d7dfa83)
2002-01-25 22:07:46 +00:00
Andrew Tridgell
9f85d4ad5f much better support for organisational units in ADS join
(This used to be commit 7e876057d5)
2002-01-16 02:22:30 +00:00
Martin Pool
6059f40763 Move local variable to avoid warning when compiled without GSSAPI.
(This used to be commit 312c6d906e)
2002-01-14 06:34:53 +00:00
Andrew Bartlett
4acb3125cd Fix up 'net ads join' to delete and rejoin if the account already exists.
This fixes up a problem where a machine would join (or downgrade by trust
password change) to NT4 membership and not be able to regain full ADS
membership until a 'net ads leave'.

Andrew Bartlett
(This used to be commit ab8ff85f03)
2002-01-11 04:50:45 +00:00
Andrew Tridgell
9e0297b3ed added nTSecurityDescriptor field to host acct dump
(This used to be commit f383e19e09)
2002-01-03 11:59:33 +00:00
Andrew Bartlett
b5666e2874 Fix up C99 comment.
// -> /* */
(This used to be commit a308abbab7)
2002-01-01 02:31:32 +00:00
Andrew Tridgell
162a6606bd cope with systems that don't have full gssapi libs
(This used to be commit c4d928e55f)
2001-12-31 14:31:13 +00:00
Andrew Bartlett
8536aa5ef3 Allow this to build without LDAP, as per the example below it.
Andrew Bartlett
(This used to be commit f60e445001)
2001-12-31 11:14:38 +00:00
Andrew Bartlett
436595a386 Fix the compile on systems without a full kerberos kit.
Andrew Bartlett
(This used to be commit 33ae29028b)
2001-12-30 06:20:23 +00:00
Andrew Bartlett
34037e2479 Make Samba compile on RH 6.2 again.
We now include the libber.h file if required, but currently we just don't use
ldap.  (I'll chase this up).

In the meantime, I've moved the ads_status code about, its now in its own file,
and has a couple of #ifdefs to allow smbd to link - becouse the lack of LDAP
caused HAVE_ADS to be undefined. (I hope its not too ugly).

Andrew Bartlett
(This used to be commit 14407c87e2)
2001-12-30 05:59:43 +00:00
Andrew Tridgell
401c7495ea added ads_domain_sid() function
(This used to be commit ff002a458a)
2001-12-20 23:35:14 +00:00
Andrew Tridgell
db54a8c041 forgot to commit this file from remus
(This used to be commit 7984ae0121)
2001-12-20 07:46:24 +00:00
Andrew Tridgell
6c7e9dfb29 net ads password and net ads chostpass commands from Remus Koos
(This used to be commit 412e79c448)
2001-12-20 03:54:52 +00:00
Andrew Tridgell
1f31ace6cb much better ADS error handling system
(This used to be commit 05a90a2884)
2001-12-19 12:21:12 +00:00
Andrew Tridgell
105fe2a32e we only have gss_ fns on a krb5 capable box
(This used to be commit 344b786efe)
2001-12-19 09:58:52 +00:00
Andrew Tridgell
a062e58d9e - added initial support for trusted domains in winbindd_ads
- gss error code patch from a.bokovoy@sam-solutions.net
- better sid dumping in ads_dump
- fixed help in wbinfo
(This used to be commit ee1c3e1f04)
2001-12-19 08:44:23 +00:00
Andrew Tridgell
48c45486e3 allow selection of the organisational unit when joining a realm
(This used to be commit f1231c2b54)
2001-12-17 11:16:22 +00:00
Andrew Tridgell
d58b1b5981 better error handling
(This used to be commit ed6279481b)
2001-12-13 11:30:13 +00:00
Andrew Tridgell
75a6ac48a0 try the PDC for our workgroup if we can't find the ldap server
(This used to be commit fc9fd2ca19)
2001-12-13 11:29:49 +00:00
Andrew Tridgell
66d964c9fc allow overriding the local time in kerberos_kinit_password()
(This used to be commit cb9dbcef7c)
2001-12-11 05:15:52 +00:00
Andrew Tridgell
3d27d7b9f7 moved ccache location change into winbindd code
(This used to be commit be254eb13c)
2001-12-10 22:10:31 +00:00
Andrew Tridgell
e051c2c430 make sid_binstring available without HAVE_ADS
(This used to be commit 4a6d297686)
2001-12-10 00:39:01 +00:00
Andrew Tridgell
bc26ea1e5c fixed used of string after free
(This used to be commit f7ead035eb)
2001-12-09 00:45:51 +00:00
Andrew Tridgell
35eb6be4ea fix a DEBUG() line
(This used to be commit 18da530293)
2001-12-08 12:00:27 +00:00
Andrew Tridgell
5d378a280f added internal sasl/gssapi code. This means we are no longer dependent on cyrus-sasl which makes the code much less fragile. Also added code to auto-determine the server name or realm
(This used to be commit 435fdf276a)
2001-12-08 11:18:56 +00:00
Andrew Tridgell
44384354d8 put the winbindd krb5 credentials cache in the lock directory
this prevents it clobbering the users cache
(This used to be commit 3de552f365)
2001-12-06 07:33:35 +00:00
Andrew Tridgell
d412f66cd8 added a propoer kerberos_kinit_password call
contribution from remus@snapserver.com

thanks!
(This used to be commit 3ace8f1fcc)
2001-12-06 05:41:53 +00:00
Andrew Tridgell
410dfc917f fixed a minor password memory leak
(This used to be commit 5985d7e6ee)
2001-12-05 10:44:30 +00:00
Andrew Tridgell
6194d6a541 fix link error
(This used to be commit 58e93a8b7d)
2001-12-05 10:35:25 +00:00
Andrew Tridgell
8aa0a817c1 handle ldap server down better
(This used to be commit 0d85815c99)
2001-12-05 10:14:22 +00:00
Andrew Tridgell
9421ad4a7a added a REALLY gross hack into kerberos_kinit_password so that
winbindd can do a kinit
this will be removed once we have code that gets a tgt
and puts it in a place where cyrus-sasl can see it
(This used to be commit 7d94f1b736)
2001-12-05 09:46:53 +00:00
Andrew Tridgell
5d41807f4d added timeouts and retries to ldap operations
(This used to be commit 4f004eb54d)
2001-12-05 09:19:25 +00:00
Andrew Tridgell
addea9645d moved the sequence number fetch into the backend, and fetch the
sequence number via ldap when using ads
(This used to be commit 9a084f0bb9)
2001-12-05 07:52:44 +00:00
Andrew Tridgell
0799c44680 paranoia fixes in based ldap routines for potential memory leaks
(This used to be commit 13b933104e)
2001-12-05 07:35:57 +00:00
Andrew Tridgell
5f76385e70 more memory leak fixes
(This used to be commit eb6f0e91dd)
2001-12-05 06:26:56 +00:00
Andrew Tridgell
19c0459153 added functions that convert a ads binary blob to a string (for
searching on SID)
(This used to be commit 31d6d049b3)
2001-12-05 04:44:34 +00:00
Andrew Tridgell
3ec4a4def3 added ads_search_dn() and ads_pull_sids()
(This used to be commit bc83d55f44)
2001-12-04 12:08:16 +00:00
Andrew Tridgell
2285b99cb1 added a basic ADS backend to winbind. More work needed, but at
least basic operations work
(This used to be commit 88241cab98)
2001-12-03 06:04:18 +00:00
Andrew Tridgell
3a921f37b7 ads->realm must not be NULL
perhaps we should just fail ads_init() in this case?
(This used to be commit 2a4ce3de6a)
2001-11-29 08:22:45 +00:00
Andrew Tridgell
090acb27c3 define LDAP_PORT when not available
(This used to be commit 5a5f140f84)
2001-11-29 06:38:54 +00:00
Andrew Bartlett
fe64484824 Make better use of the ads_init() function to get the kerberos relam etc.
This allows us to use automagically obtained values in future, and the value
from krb5.conf now.

Also fix mem leaks etc.

Andrew Bartlett
(This used to be commit 8f9ce71781)
2001-11-29 06:21:56 +00:00
Andrew Tridgell
f6b962fba3 fixed some krb5 ifdefs
(This used to be commit 23ef22f117)
2001-11-28 23:54:07 +00:00
Herb Lewis
3a193f1597 add .po32 files to ignore list
(This used to be commit 5f625f2877)
2001-11-28 19:49:43 +00:00
Andrew Tridgell
eec9e8a052 fix a bunch of places where we can double-free a cli structure
(This used to be commit e2ba2383c9)
2001-11-28 03:56:30 +00:00
Andrew Tridgell
cb697dd72a added "net ads user" and "net ads group" commands
(This used to be commit f482583139)
2001-11-25 01:31:07 +00:00
Andrew Tridgell
3906f9dff6 added "net ads status" command
(This used to be commit ae0eabd04c)
2001-11-25 01:06:56 +00:00
Andrew Tridgell
f2e969268d better auto-selection of realm and ldap server
(This used to be commit 69d256af46)
2001-11-25 00:08:48 +00:00
Andrew Tridgell
ad2974cd05 added "net join" command
this completes the first stage of the smbd ADS support
(This used to be commit 058a5aee90)
2001-11-24 14:16:41 +00:00
Tim Potter
2025ef4c18 Ignore *.po files.
(This used to be commit 5d343b4065)
2001-11-23 00:08:12 +00:00
Andrew Tridgell
6464bb0ae5 added the beginnings of ADS support in smbd
(This used to be commit c7f6116919)
2001-11-20 08:54:15 +00:00