1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-29 21:47:30 +03:00

179 Commits

Author SHA1 Message Date
Gerald Carter
0af1500fc0 r13316: Let the carnage begin....
Sync with trunk as off r13315
(This used to be commit 17e63ac4ed8325c0d44fe62b2442449f3298559f)
2007-10-10 11:06:23 -05:00
Günther Deschner
8a30b3226d r13020: Prevent cli_krb5_get_ticket of getting into an infite loop. This whole
area of code needs to be reworked later on.

Guenther
(This used to be commit 088abfcdd1d6b28409d4b2917bc2aeb5d371f675)
2007-10-10 11:06:10 -05:00
Jeremy Allison
90372e1e93 r13012: Fix #3421 - it turns out krb5_kt_get_entry() on MIT
does an implicit open/read/close and blows away an
open keytab handle - so make sure we use a new
handle.
Wonderful analysis from Luke <ldeller@xplantechnology.com>
helped fix this.
Jeremy.
(This used to be commit 9d2f2385ad68cbe11bdfb82b5f2d016626f6e679)
2007-10-10 11:06:10 -05:00
Volker Lendecke
f99b429446 r11551: Add a few more initialize_krb5_error_table
(This used to be commit d92c83aa42fe64a0e996094d1a983f0279c7c707)
2007-10-10 11:05:20 -05:00
Günther Deschner
879eb0933e r10907: Handle the case when we can't verify the PAC signature because the
ticket was encrypted using a DES key (and the Windows KDC still puts
CKSUMTYPE_HMAC_MD5_ARCFOUR in the PAC).

In that case, return to old behaviour and ignore the PAC.

Thanks to Chengjie Liu <chengjie.liu@datadomain.com>.

Guenther
(This used to be commit 48d8a9dd9f573d0d913a26a62e4ad3d224731343)
2007-10-10 11:04:55 -05:00
Volker Lendecke
aa0dff680d r10671: Attempt to fix the build on machines without kerberos headers.
Volker
(This used to be commit cb816e65a95802d5172c410d1acda2da070b871d)
2007-10-10 11:04:49 -05:00
Gerald Carter
54abd2aa66 r10656: BIG merge from trunk. Features not copied over
* \PIPE\unixinfo
* winbindd's {group,alias}membership new functions
* winbindd's lookupsids() functionality
* swat (trunk changes to be reverted as per discussion with Deryck)
(This used to be commit 939c3cb5d78e3a2236209b296aa8aba8bdce32d3)
2007-10-10 11:04:48 -05:00
Günther Deschner
2d878a4b6d r10210: Fix memleak.
Guenther
(This used to be commit 10358d16d7946f6b0c989db8bc26f8840144389b)
2007-10-10 11:03:37 -05:00
Herb Lewis
1c4bbe0654 r6586: get rid of a few more compiler warnings
(This used to be commit 173375f8d88bf8e8db8d60e5d5f0e5dcc28767d9)
2007-10-10 10:56:46 -05:00
Derrell Lipman
1d08b9013a r6392: - Fixes bug 2564: when smbc_opendir() was called with a file rather than
a directory, the errno returned could end up as ENOENT rather than ENOTDIR.

- Fixes some compiler warnings which showed up on IRIX, as reported by
  James Peach.
(This used to be commit 615a62b21f8d2f7f97bde2f166ddd6849d39b95c)
2007-10-10 10:56:40 -05:00
Derrell Lipman
9840db418b r6149: Fixes bugs #2498 and 2484.
1. using smbc_getxattr() et al, one may now request all access control
   entities in the ACL without getting all other NT attributes.
2. added the ability to exclude specified attributes from the result set
   provided by smbc_getxattr() et al, when requesting all attributes,
   all NT attributes, or all DOS attributes.
3. eliminated all compiler warnings, including when --enable-developer
   compiler flags are in use.  removed -Wcast-qual flag from list, as that
   is specifically to force warnings in the case of casting away qualifiers.

Note: In the process of eliminating compiler warnings, a few nasties were
      discovered.  In the file libads/sasl.c, PRIVATE kerberos interfaces
      are being used; and in libsmb/clikrb5.c, both PRIAVE and DEPRECATED
      kerberos interfaces are being used.  Someone who knows kerberos
      should look at these and determine if there is an alternate method
      of accomplishing the task.
(This used to be commit 994694f7f26da5099f071e1381271a70407f33bb)
2007-10-10 10:56:24 -05:00
Jeremy Allison
b46913fb95 r4291: More *alloc fixes inspired by Albert Chin (china@thewrittenword.com).
Jeremy
(This used to be commit efc1b688cf9b1a17f1a6bf46d481280ed8bd0c46)
2007-10-10 10:53:42 -05:00
Jeremy Allison
e7a0aabc2e r4020: Fix for crash reported by Bård Kalbakk <baard@inett.biz>.
Don't go fishing for the authorisation data unless we
know it's there.
Jeremy.
(This used to be commit 6f6b4c61e03afb4d35bf6b3ea468fb211d703aa7)
2007-10-10 10:53:28 -05:00
Jeremy Allison
8ea9237d82 r3538: Fix the build with the latest Heimdal code.
Jeremy.
(This used to be commit 34275bae787762646f02ea1dec19d7b3a9a733a3)
2007-10-10 10:53:09 -05:00
Jeremy Allison
e73d23d1ba r3535: Tidy up error reporting. Memory leak with MIT krb5 1.3.5 turns
out to be in the kerberos libraries, not in Samba. Now to test
with Heimdal.
Jeremy
(This used to be commit b08e3bf6fb1052285e4efd669d9717d3a617499d)
2007-10-10 10:53:08 -05:00
Günther Deschner
3688bb079e r3439: Finally fix build for platforms without kerberos.
Guenther
(This used to be commit 05619cfdbf814e5c79e65934b82424eca00c76c4)
2007-10-10 10:53:07 -05:00
Volker Lendecke
c64df4d746 r3407: Fix the build
(This used to be commit b144ce557f516f62ab802fbb277799b10153c8fb)
2007-10-10 10:53:06 -05:00
Jeremy Allison
cf47845b1c r3379: More merging of kerberos keytab and salting fixes from Nalin Dahyabhai <nalin@redhat.com>
(bugid #1717).
Jeremy.
(This used to be commit 30b8807cf6d5c3c5b9947a7e841d69f0b22eb019)
2007-10-10 10:53:05 -05:00
Jeremy Allison
0772ddbae1 r3377: Merge in first part of modified patch from Nalin Dahyabhai <nalin@redhat.com>
for bug #1717.The rest of the code needed to call this patch has not yet been
checked in (that's my next task). This has not yet been tested - I'll do this
once the rest of the patch is integrated.
Jeremy.
(This used to be commit 7565019286cf44f43c8066c005b1cd5c1556435f)
2007-10-10 10:53:05 -05:00
Jeremy Allison
b57feea6d3 r3345: More MIT/Heimdal tests for comparing enctypes now.
Jeremy.
(This used to be commit eefb911d0c66bdee586a86446e16723013f84101)
2007-10-10 10:53:05 -05:00
Jeremy Allison
13542c7b50 r3342: More MIT/Heimdal fixes to allow an enctype to be explicitly set in a krb5_creds
struct.
Jeremy.
(This used to be commit c9b80490128e09442a01dd8ec6f4b453769e82c1)
2007-10-10 10:53:05 -05:00
Günther Deschner
a71c7b4e17 r2474: (re-)fix memleak (initially found by jra).
heimdal 0.6.1rc3 had a bug causing winbindd to die, heimdal version
0.6.1 and higher have that fixed (thanks to Love from Heimdal).

SuSE has been informed about this possible pitfall, any other vendors
that ship with heimdal-0.6.1rc3 to be notified ?

Guenther
(This used to be commit 6239a5bec99c62032e0cde20679a71622dd7a059)
2007-10-10 10:52:44 -05:00
Günther Deschner
83d5892eab r2472: Fixed krb5_krbhost_get_addrinfo()-parameters and make failure
of this call non-critical.

Thanks to Love for the patch and explaining the inner workings of
heimdal.

Guenther
(This used to be commit 4bd9d8240b571fdd8546af4eea3f4f148987d57c)
2007-10-10 10:52:44 -05:00
Günther Deschner
77cc4121cf r2057: Although rarely used, prevent "net lookup kdc" from segfaulting when
using our own implementation of krb5_lookup_kdc with heimdal. Also,
heimdals krb5_krbhst_next() obviously does not retrieve the struct
addrinfo in the krb5_krbhst_info-struct, using
krb5_krbhst_get_addrinfo() instead.

Guenther
(This used to be commit cca660e109cc94b49ac6bf1f2802235d1d4d4383)
2007-10-10 10:52:29 -05:00
Andrew Bartlett
608172ebe3 r1428: Remove *completly bogus* memset. (No doubt my bug, too...).
This memset could well have clobbered bits of the stack, because
session_key changed from

char session_key[16];

to

DATA_BLOB session_key

Andrew Bartlett
(This used to be commit 54248a405c9459f93f4200ebb0dc71748ae2fc83)
2007-10-10 10:52:11 -05:00
Gerald Carter
0122d4ef5e r1407: revert change that broke the build on systems w/o krb5 files
(This used to be commit 89a11b5d7c0939c9344115ef509cbb0567d7524a)
2007-10-10 10:52:10 -05:00
Gerald Carter
824bc32be7 r1399: applying heimdal krb5 fixes from Guenther and fixing compile warnings in libadskerberos_keyatb.c
(This used to be commit 837f56ec8bc171497fb84d332002776313c26305)
2007-10-10 10:52:10 -05:00
Volker Lendecke
d095357d08 r1287: Attempt to fix the build for systems without kerberos headers.
Volker
(This used to be commit 43020cf459da24a915a39b770cec95a524d487c7)
2007-10-10 10:52:04 -05:00
Jeremy Allison
2b76b28932 r1236: Heimdal fixes from Guenther Deschner <gd@sernet.de>, more to come before
it compiles with Heimdal.
Jeremy.
(This used to be commit dd07278b892770ac51750b87a4ab902d4de3a960)
2007-10-10 10:52:01 -05:00
Jeremy Allison
7825677b86 r1222: Valgrind memory leak fixes. Still tracking down a strange one...
Can't fix the krb5 memory leaks inside that library :-(.
Jeremy.
(This used to be commit ad440213aaae58fb5bff6e8a6fcf811c5ba83669)
2007-10-10 10:52:00 -05:00
Jeremy Allison
59d1794527 r1194: Definition of krb5_free_unparsed_name() if we do't have it.
Jeremy.
(This used to be commit 82c219ea023dd546fcde29569725865a42e4198e)
2007-10-10 10:51:59 -05:00
Gerald Carter
63378d6f0e r541: fixing segfault in winbindd caused -r527 -- looks like a bug in heimdal; also initialize some pointers
(This used to be commit be74e88d9a4b74fcaf25b0816e3fa8a487c91ab5)
2007-10-10 10:51:28 -05:00
Jeremy Allison
33ebb4bee5 r527: More memory leak fixes in error paths from kawasa_r@itg.hitachi.co.jp.
Jeremy.
(This used to be commit b2ba4d5c1be6089e3818a20c68e3894432b53d87)
2007-10-10 10:51:27 -05:00
Jim McDonough
3c62df4780 r221: Remainder of bug 1208. We do not remove creds from _any_ FILE ccache,
because not only does it not work on Heimdal, but also since ccaches
created within samba are memory-based, so we shouldn't touch a
FILE-based one (it was probably created via kinit or similar).
(This used to be commit 5971b0980ca8abae2208f22485c5af4c0dde0459)
2007-10-10 10:51:14 -05:00
Jim McDonough
0859a89166 r219: Obtain new tickets if current ones are expired. Next part of fix for
bug 1208. Based on a fix from Guether Deschener.

Outstanding pieces:
- Heimdal FILE-based ccaches don't actually remove creds properly, so we
  need to code a check for this
- what if ticket expires between our check and when we use it?

Guenther has coded up fixes for these parts, but I still need
to review them, as I'm not totally comfortable with the solutions.
(This used to be commit ef008b9710e682f87f0bbf526d30eb5114264233)
2007-10-10 10:51:14 -05:00
Andrew Bartlett
7d068355aa This merges in my 'always use ADS' patch. Tested on a mix of NT and ADS
domains, this patch ensures that we always use the ADS backend when
security=ADS, and the remote server is capable.

The routines used for this behaviour have been upgraded to modern Samba
codeing standards.

This is a change in behaviour for mixed mode domains, and if the trusted
domain cannot be reached with our current krb5.conf file, we will show
that domain as disconnected.

This is in line with existing behaviour for native mode domains, and for
our primary domain.

As a consequence of testing this patch, I found that our kerberos error
handling was well below par - we would often throw away useful error
values.  These changes move more routines to ADS_STATUS to return
kerberos errors.

Also found when valgrinding the setup, fix a few memory leaks.

While sniffing the resultant connections, I noticed we would query our
list of trusted domains twice - so I have reworked some of the code to
avoid that.

Andrew Bartlett
(This used to be commit 7c34de8096b86d2869e7177420fe129bd0c7541d)
2004-01-08 08:19:18 +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 f3bbc87b0dac63426cda6fac7a295d3aad810ecc)
2003-11-22 13:19:38 +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 d8ab44685994b302bb46eed9001c72c194d13dc8)
2003-08-15 01:46:09 +00:00
Herb Lewis
062f89bc28 get rid of some sompiler warnings on IRIX
(This used to be commit a6a39c61e8228c8b3b7552ab3c61ec3a6a639143)
2003-08-15 01:42:30 +00:00
Andrew Bartlett
172766eea7 Change Samba to always use extended security for it's guest logins, (ie,
NTLMSSP with "" username, NULL password), and add --machine-pass (-P) to
all of Samba's clients.

When connecting to an Active Directory DC, you must initiate the CIFS level
session setup with Kerberos, not a guest login.  If you don't, your machine
account is demoted to NT4.

Andrew Bartlett
(This used to be commit 3547cb3def45a90f99f67829a533eac1ccba5e77)
2003-08-14 01:08:00 +00:00
Tim Potter
05540b48f0 Fix unused variable warning.
(This used to be commit 73d02e3a2b0f9e84ab6d8685e4ad6a03ef9249b2)
2003-08-04 06:16:03 +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 3f9e3b60709df5ab755045a093e642510d4cde00)
2003-07-25 23:15:30 +00:00
Jeremy Allison
8c38bb75b7 Add krb5_princ_component to Heimdal. Remove cli_ from mark packet signed.
Jeremy.
(This used to be commit dd46f8b22d6e8411081a1279e1cd32929e40370b)
2003-07-16 19:17:33 +00:00
Andrew Tridgell
1d008cd2cb use ZERO_STRUCT() instead of memset
(This used to be commit 082084042307f5f7d532b28debdeac11753a05f9)
2003-06-10 03:48:09 +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 10f1da3f4a9680a039a2aa26301b97e31c06c38d)
2003-05-30 20:11:34 +00:00
Andrew Bartlett
ec458fa87e Merge from HEAD - sync up SessionSetup code to HEAD, including Luke Howard's
session key and auth verifier patches.

Andrew Bartlett
(This used to be commit 3f9616a68a855acbae3f405c27ee2358fbe7ba2c)
2003-03-17 22:45:16 +00:00
Jim McDonough
217945cfc8 Fix IRIX build...void fn can't return another void fn
(This used to be commit e0c1f9ef61a0ec4f06a0b0e257497943195b5297)
2003-02-21 14:38:14 +00:00
Jim McDonough
83a11f7f0e Sync with HEAD for verifying kerberos tickets.
(This used to be commit 77e1178a888f0d380a5ef94911a8f07bf04a7ba3)
2003-02-19 15:48:12 +00:00
Jim McDonough
d08116ffcb Sync w/HEAD - add DES_CBC_CRC encryption type
(This used to be commit c7934f5cb56d54a90c9ffdbe2f7429a3c9227abe)
2003-02-18 20:57:29 +00:00
Jeremy Allison
f6fbf0c9db Revert tpot's breakage of the Heimdal fixes.
Jeremy.
(This used to be commit 90336900ad2a6d50e1d42f7bc59fdc7c762187d3)
2003-01-30 18:01:03 +00:00