1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-26 10:04:02 +03:00

55 Commits

Author SHA1 Message Date
Andrew Bartlett
7cabdeb7ec r6113: Move GENSEC and the kerberos code out of libcli/auth, and into
auth/gensec and auth/kerberos.

This also pulls the kerberos configure code out of libads (which is
otherwise dead), and into auth/kerberos/kerberos.m4

Andrew Bartlett
(This used to be commit e074d63f3dcf4f84239a10879112ebaf1cfa6c4f)
2007-10-10 13:11:20 -05:00
Andrew Bartlett
e6aeeb5269 r6094: Work on the Kerberos code recently merged from Samba 3.0. This fixes
up issues I introduced during the merge, that caused a segfault.

I've still not got the keytab code to work for me (using Samba3 to
generate the keytab) so this is still not fully tested, but it's
better than it was.

To add debugging, I now use the krb5_get_error_message() function from
Heimdal when present, to return the custom error string, which
contains far, far more information than the simple error code does.

(This last point may well be worth merging back into 3.0)

Andrew Bartlett
(This used to be commit ed5755d9d1e48df7ae77a9410d30e10cb8b0cbd7)
2007-10-10 13:11:18 -05:00
Stefan Metzmacher
70f7c56168 r5601: add a gsskrb5 backend that uses lorikeet-heimdal's new gssapi with
GSS_C_DCE_STYLE support, it's just a start and does work correctly yet

metze
(This used to be commit 87ff661703f467db3dfcb33084041c3e2951e0ee)
2007-10-10 13:10:55 -05:00
Andrew Tridgell
db4ba6e690 r5221: replace the str_list_*() code with new code based on talloc(). This is
a precursor to adding the wins client code in the nbt server.
(This used to be commit e8e499755ab667015740b35a7787134ebe852954)
2007-10-10 13:09:32 -05:00
Stefan Metzmacher
10c211f2af r5199: fix some minor configure bugs
metze
(This used to be commit 274ef2a206aa00b3155adc27f5b7e35d3fa52bf6)
2007-10-10 13:09:30 -05:00
Andrew Bartlett
1a013ce4d3 r5088: Push some of the heimdal tests into a 'if we didn't have krb5-config' block.
This lets krb5-config handle this without us stuffing things up.
Add back the test tridge removed

Andrew Bartlett
(This used to be commit 2206b0e8ca4b9d0be137bd6676e252c3b66faf81)
2007-10-10 13:09:21 -05:00
Andrew Tridgell
087fb574b2 r5083: removed the libcrypto test that is forcing the pull in of the MIT krb5 libs when you
have openssl-dev installed
(This used to be commit 27d79059f809b00c122cfde1a7530a06ee57a471)
2007-10-10 13:09:20 -05:00
Andrew Tridgell
6e614bf632 r5079: don't look for gss_display_status() in libgssapi_krb5 unless we
haven't already got it from libgssapi. This should fix the problem of
building with heimdal when we have MIT installed
(This used to be commit bfa870262e5f5f803a33268fce04831b0670ab67)
2007-10-10 13:09:20 -05:00
Stefan Metzmacher
4998a2cd54 r5045: add TODO comment
metze
(This used to be commit cbb6b80f41a7f9689d1ec5ea2d6caba147260089)
2007-10-10 13:09:17 -05:00
Stefan Metzmacher
d482fd69bb r5041: add more verbose output for the krb5 libs detection
metze
(This used to be commit 917a3b214abd2d92ba8df3e72c4e8711fe523e09)
2007-10-10 13:09:16 -05:00
Andrew Tridgell
759da3b915 r5037: got rid of all of the TALLOC_DEPRECATED stuff. My apologies for the
large commit. I thought this was worthwhile to get done for
consistency.
(This used to be commit ec32b22ed5ec224f6324f5e069d15e92e38e15c0)
2007-10-10 13:09:15 -05:00
Günther Deschner
c922153e20 r5011: Do not use KRB5_CONFIG internally as it is used by MIT and Heimdal to find
the configfile (/etc/krb5.conf). Kerberos-Tests tend to segfault when
reading the krb5-config binary as configuration-file...
Also allow KRB5CONFIG to be passed over again
(KRB5CONFIG=/my/heimdal/bin/krb5-config ./configure...)

Guenther
(This used to be commit d925606bbf869a526a0189485f4011ac359e3323)
2007-10-10 13:09:13 -05:00
Andrew Bartlett
ba5d77bebd r4923: Avoid using krb5-config in the path if a krb5 prefix was already set.
Andrew Bartlett
(This used to be commit ff8298bb90b78dc52c11e2cdecf5041b9e243f35)
2007-10-10 13:09:06 -05:00
Andrew Tridgell
8451b2658c r4817: ccache was being made ineffective on all the build farm machines
because the version number was being auto-updated and included in all
C files. With this change it is only included where needed.
(This used to be commit 520cff73c6dc62ba1050cf7ca5145d50b5f2bb4e)
2007-10-10 13:08:59 -05:00
Andrew Bartlett
2c1e008ee3 r4384: Try again to fix compiling against a specified KRB5 library.
The strong feeling I get is that this is just not possible, if as
Fedora has, the MIT installation is in /usr/lib, but this is one step
closer anyway.

Andrew Bartlett
(This used to be commit da4cf53767ca567497c4c7f341795246bb306892)
2007-10-10 13:07:41 -05:00
Andrew Bartlett
d5fd599678 r4379: Merge more Kerberos related configure checks (by jra, gd and Lars
Mueller <lmuelle@suse.de>) from 3.0 to Samba4.

Andrew Bartlett
(This used to be commit 9c74e04098d50427f93219a6a451c44a2373db46)
2007-10-10 13:07:40 -05:00
Andrew Bartlett
44113c4de1 r4355: More work from the elves on Christmas eve:
- Update Samba4's kerberos code to match the 'salting' changes in
   Samba3 (and many other cleanups by jra).

 - Move GENSEC into the modern era of talloc destructors.  This avoids
   many of the memory leaks in this code, as we now can't somehow
   'forget' to call the end routine.
  - This required fixing some of the talloc hierarchies.

 - The new krb5 seems more sensitive to getting the service name
   right, so start actually setting the service name on the krb5 context.

Andrew Bartlett
(This used to be commit 278bf1a61a6da6ef955a12c13d7b1a0357cebf1f)
2007-10-10 13:07:37 -05:00
Andrew Bartlett
3ad2bf2fa1 r4349: Start to fix the long-standing pain that --with-krb5 would be ignored if krb5-config was in the path.
I'll merge this to Samba3, before trying to merge all of the Samba3
changes to Samba4.

Andrew Bartlett
(This used to be commit 906ba7cb8af02d44c868805e0b108b966f3221af)
2007-10-10 13:07:37 -05:00
Andrew Tridgell
2f9e170f45 r4058: added a type safe version of smb_xmalloc()
(This used to be commit 1235afa5fe3a396cd7a180cbc500834a30fbaa80)
2007-10-10 13:06:20 -05:00
Andrew Tridgell
6e6374cb5b r4055: fixed more places to use type safe allocation macros
(This used to be commit eec698254f67365f27b4b7569fa982e22472aca1)
2007-10-10 13:06:20 -05:00
Andrew Tridgell
58c326809a r4052: fixed a bunch of code to use the type safe _p allocation macros
(This used to be commit 80d15fa3402a9d1183467463f6b21c0b674bc442)
2007-10-10 13:06:18 -05:00
Andrew Tridgell
3643fb1109 r3463: separated out some more headers (asn_1.h, messages.h, dlinklist.h and ioctl.h)
(This used to be commit b97e395c814762024336c1cf4d7c25be8da5813a)
2007-10-10 13:05:17 -05:00
Andrew Tridgell
475c958450 r3425: got rid of a bunch of cruft from rewrite.h
(This used to be commit 3f902f8d851d32fa81d89ed61bfda6edaea00984)
2007-10-10 13:05:08 -05:00
Andrew Tridgell
9d055846f2 r3278: - rewrote the client side rpc connection code to use lib/socket/
rather than doing everything itself. This greatly simplifies the
  code, although I really don't like the socket_recv() interface (it
  always allocates memory for you, which means an extra memcpy in this
  code)

- fixed several bugs in the socket_ipv4.c code, in particular client
  side code used a non-blocking connect but didn't handle EINPROGRESS,
  so it had no chance of working. Also fixed the error codes, using
  map_nt_error_from_unix()

- cleaned up and expanded map_nt_error_from_unix()

- changed interpret_addr2() to not take a mem_ctx. It makes absolutely
  no sense to allocate a fixed size 4 byte structure like this. Dozens
  of places in the code were also using interpret_addr2() incorrectly
  (precisely because the allocation made no sense)
(This used to be commit 7f2c771b0e0e98c5c9e5cf662592d64d34ff1205)
2007-10-10 13:04:49 -05:00
Andrew Tridgell
7d32679e96 r2857: this commit gets rid of smb_ucs2_t, wpstring and fpstring, plus lots of associated functions.
The motivation for this change was to avoid having to convert to/from
ucs2 strings for so many operations. Doing that was slow, used many
static buffers, and was also incorrect as it didn't cope properly with
unicode codepoints above 65536 (which could not be represented
correctly as smb_ucs2_t chars)

The two core functions that allowed this change are next_codepoint()
and push_codepoint(). These functions allow you to correctly walk a
arbitrary multi-byte string a character at a time without converting
the whole string to ucs2.

While doing this cleanup I also fixed several ucs2 string handling
bugs. See the commit for details.

The following code (which counts the number of occuraces of 'c' in a
string) shows how to use the new interface:

size_t count_chars(const char *s, char c)
{
	size_t count = 0;

	while (*s) {
		size_t size;
		codepoint_t c2 = next_codepoint(s, &size);
		if (c2 == c) count++;
		s += size;
	}

	return count;
}
(This used to be commit 814881f0e50019196b3aa9fbe4aeadbb98172040)
2007-10-10 12:59:39 -05:00
Andrew Tridgell
44090f273c r2431: got rid of strnequal() in a couple of places
(This used to be commit a1b5880b2e548832eaf4a136aab1aead525c938f)
2007-10-10 12:58:52 -05:00
Stefan Metzmacher
d5b119e0bf r2318: - remove the --with-ads option
- LDAP and KRB5 support are independend in samba4

- make the krb5 tests more readable with reformat

metze
(This used to be commit 75b393275d954e807a23754d44046fc78c43d631)
2007-10-10 12:58:43 -05:00
Andrew Tridgell
43acd52ed9 r2310: fixed some broken if statements in handling --with-krb5
they did not handle the fact that FOUND_KRB5 was not set at all at this point
(This used to be commit d8c97ed02c1215f2cced836fd369db5a3f97f403)
2007-10-10 12:58:42 -05:00
Andrew Bartlett
367fe84c8f r2062: Fix a couple more of the printf warnings (real bugs).
You should never pass a non-constant string as a format for a printf()
function - it could contain printf macros, and these need to be
checked.

Andrew Bartlett
(This used to be commit 183622c9f4dfe858564bbcb8c1a930d69b37f7fa)
2007-10-10 12:58:23 -05:00
Günther Deschner
e5c4c4b108 r2058: Merge heimdal krb5_locate_kdc-fix over from trunk/3_0 although
krb5_locate_kdc is (yet) an unused function in Samba4.

Guenther
(This used to be commit fe93f58dfe208ec814f1e75efde4ececa2b2cb5f)
2007-10-10 12:58:22 -05:00
Andrew Tridgell
b83ba93eae r1983: a completely new implementation of talloc
This version does the following:

  1) talloc_free(), talloc_realloc() and talloc_steal() lose their
     (redundent) first arguments

  2) you can use _any_ talloc pointer as a talloc context to allocate
     more memory. This allows you to create complex data structures
     where the top level structure is the logical parent of the next
     level down, and those are the parents of the level below
     that. Then destroy either the lot with a single talloc_free() or
     destroy any sub-part with a talloc_free() of that part

  3) you can name any pointer. Use talloc_named() which is just like
     talloc() but takes the printf style name argument as well as the
     parent context and the size.

The whole thing ends up being a very simple piece of code, although
some of the pointer walking gets hairy.

So far, I'm just using the new talloc() like the old one. The next
step is to actually take advantage of the new interface
properly. Expect some new commits soon that simplify some common
coding styles in samba4 by using the new talloc().
(This used to be commit e35bb094c52e550b3105dd1638d8d90de71d854f)
2007-10-10 12:58:14 -05:00
Stefan Metzmacher
184bb1ab41 r1794: fix the build MIT krb5
metze
(This used to be commit fe655d047434422eae77486e5fd7fa51eb942677)
2007-10-10 12:57:57 -05:00
Stefan Metzmacher
c5fbb6f23c r1654: rename cli_ -> smbcli_
rename CLI_ -> SMBCLI_

metze
(This used to be commit 8441750fd9427dd6fe477f27e603821b4026f038)
2007-10-10 12:57:47 -05:00
Andrew Tridgell
94fb514376 r1630: - fixed the replacement timegm() function to work correctly for DST changes
- got rid of global_myname(), using lp_netbios_name() instead
(This used to be commit e8d4b390884e487163d81f66a5a7ac1de1305d9a)
2007-10-10 12:57:45 -05:00
Stefan Metzmacher
39c3f22034 r1463: fix the krb5 build
metze
(This used to be commit fc8d00b8ab28535da4ec0b7e6931bbf402a37013)
2007-10-10 12:57:32 -05:00
Andrew Bartlett
bdb0b60861 r1418: Merge Samba 3.0's recent kerberos changes into Samba4. None of this
is used yet.

Andrew Bartlett
(This used to be commit 7596f311c9a18314716f64476030ce3dfcdd98bb)
2007-10-10 12:56:54 -05:00
Andrew Bartlett
bf598954f7 r1198: Merge the Samba 3.0 ntlm_auth, including the kerberos and SPENGO parts.
I have moved the SPNEGO and Kerberos code into libcli/auth, and intend
to refactor them into the same format as NTLMSSP.

Andrew Bartlett
(This used to be commit 58da78a7460d5d0a4abee7d7b84799c228e6bc0b)
2007-10-10 12:56:44 -05:00
Tim Potter
21aaa719b5 r1026: Spelling.
(This used to be commit b7fe73613acf5423b77fd91c56849351bf386960)
2007-10-10 12:56:30 -05:00
Stefan Metzmacher
770e3307ce r962: convert 'unsigned' and 'unsigned int' to uint_t
metze
(This used to be commit 57151e80eb1090281401930c8fe25b20a8cf3a38)
2007-10-10 12:56:23 -05:00
Stefan Metzmacher
fa2e9ec311 r960: convert 'unsigned int' to uint_t in the most places
metze
(This used to be commit 18062d2ed9fc9224c43143c10efbf2f6f1f5bbe0)
2007-10-10 12:56:23 -05:00
Stefan Metzmacher
45e93c19ef r943: change samba4 to use 'uint8_t' instead of 'unsigned char'
metze
(This used to be commit b5378803fdcb3b3afe7c2932a38828e83470f61a)
2007-10-10 12:56:21 -05:00
Stefan Metzmacher
fcd718c7d8 r890: convert samba4 to use [u]int8_t instead of [u]int8
metze
(This used to be commit 2986c5f08c8f0c26a2ea7b6ce20aae025183109f)
2007-10-10 12:56:16 -05:00
Stefan Metzmacher
f88bf54c7f r889: convert samba4 to use [u]int16_t instead of [u]int16
metze
(This used to be commit af6f1f8a01bebbecd99bc8c066519e89966e65e3)
2007-10-10 12:56:16 -05:00
Stefan Metzmacher
f9d8f8843d r884: convert samba4 to use [u]int32_t instead of [u]int32
metze
(This used to be commit 0e5517d937a2eb7cf707991d1c7498c1ab456095)
2007-10-10 12:56:15 -05:00
Andrew Bartlett
064e7447be r743: Start on a NETLOGON server in Samba4.
Currently this only authentiates the machine, not real users.

As a consequence of running the Samba4 NETLOGON test against Samba4, I
found a number of issues in the SAMR server, which I have addressed.
There are more templates in the provison.ldif for this reason.

I also added some debug to our credentials code, and fixed some bugs
in the auth_sam module.

The static buffer in generate_random_string() bit me badly, so I
removed it in favor of a talloc based system.

Andrew Bartlett
(This used to be commit 94624e519b66def97758b8a48a01ffe9029176f0)
2007-10-10 12:53:46 -05:00
Stefan Metzmacher
90cde0acd1 r702: fix krb5 linking
metze
(This used to be commit d0145cec9f757d8867d54b1019a3060995a95072)
2007-10-10 12:53:43 -05:00
Stefan Metzmacher
ace1c1f816 r697: make use of SMB_EXT_LIB for LDAP and KRB5
metze
(This used to be commit b054f7d4906d1d2b96b352af09c6bdcf96553c2a)
2007-10-10 12:53:43 -05:00
Stefan Metzmacher
f236700ef6 r665: merge over the new build system from my tmp branch
to the main SAMBA_4_0 tree.

NOTE: that it's not completely ready, but it's functional:-)

metze
(This used to be commit c78a2ddb28ec50d6570a83b1f66f18a5c3621731)
2007-10-10 12:53:36 -05:00
Gerald Carter
381a903d00 r42: importing .cvsignore files
(This used to be commit 11717ae912449bde596ff6cf7d8fddcc86548f15)
2007-10-10 12:50:40 -05:00
Stefan Metzmacher
1c798aba40 - port AUTH and PASSDB subsystems to new
SMB_SUBSYSTEM() scheme

- some const fixes in ntvfs

metze
(This used to be commit af89a78123068767b1d134969c5651a0fd978b0d)
2004-02-03 11:10:56 +00:00