1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-05 21:57:51 +03:00

185 Commits

Author SHA1 Message Date
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
88002b851b r1462: GENSEC Kerberos and SPENGO work:
- Spelling - it's SPNEGO, not SPENGO
 - SMB signing - Krb5 logins are now correctly signed
 - SPNEGO - Changes to always tell GENSEC about incoming packets, empty or not.

Andrew Bartlett
(This used to be commit cea578d6f39a2ea4a24e7a0064c95193ab6f6df7)
2007-10-10 12:57:32 -05:00
Andrew Bartlett
b62e6f1ec1 r1461: ntlm_check.c is a server-side peice of code, so it belongs in AUTH.
Andrew Bartlett
(This used to be commit 67ac9600664e93aa2fe9426127313b57ddaec2cf)
2007-10-10 12:57:32 -05:00
Andrew Bartlett
e053c719ab r1460: Avoid a compile warning.
Andrew Bartlett
(This used to be commit 10a973da88441b255eda7cbc263ef5c4f2f0fcae)
2007-10-10 12:57:32 -05:00
Andrew Bartlett
df290b04df r1457: Add the GSSAPI layer to our gensec_krb5 code.
Andrew Bartlett
(This used to be commit 893a9a3865d7046d8b1cb0418aaf48b88beefa05)
2007-10-10 12:56:58 -05:00
Jelmer Vernooij
fb8ae4518a r1451: More missing files...
(This used to be commit 7e9884799e4f450b9693b6e29d7490288ebc969e)
2007-10-10 12:56:58 -05:00
Jelmer Vernooij
453e1e79fb r1450: Oops.. Missing files :-)
(This used to be commit eaa2940ba039f59e13d44c6e2dda919ed8e388f5)
2007-10-10 12:56:57 -05:00
Jelmer Vernooij
396a729686 r1449: Use the config system somewhat better in libcli/auth
(This used to be commit 69de0d95c585c1a73072e921884cbd427c160176)
2007-10-10 12:56:57 -05:00
Andrew Bartlett
f9ddbad006 r1448: Indent this so proto doesn't pick it up.
Andrew Bartlett
(This used to be commit 1164be10af8e1b47824df391196ec37c395a4040)
2007-10-10 12:56:57 -05:00
Andrew Bartlett
7980759352 r1447: Fix compile.
Andrew Bartlett
(This used to be commit b97ea8a63f044d2c20781c876575978cc4725285)
2007-10-10 12:56:56 -05:00
Andrew Bartlett
59a3aece81 r1446: Another funciton to avoid in proto.h
Andrew Bartlett
(This used to be commit 310a570936c0d2d5af168aeca1b33206622d8355)
2007-10-10 12:56:56 -05:00
Andrew Bartlett
f17eb8f2a9 r1445: Ensure get_auth_data_from_tkt doesn't get into proto.h
Andrew Bartlett
(This used to be commit 159c234589e8e148180217f9ef4853b3031877db)
2007-10-10 12:56:56 -05:00
Andrew Bartlett
bd38d43214 r1443: More changes towards Kerberos in Samba4's GENSEC.
The kerberos context is now tied in life to the GENSEC context.

Andrew Bartlett
(This used to be commit 64e99170c3b53a14d7f8d29cf78283f2bc22c1f7)
2007-10-10 12:56:56 -05:00
Andrew Bartlett
0f3f9090fa r1442: I was going to rename kerberos.c -> kerberos_kinit.c, but didn't.
Fix config.mk...

(oh, and this file is somehow marked as binary...)

Andrew Bartlett
(This used to be commit 3e9aa67e3fdd9be18bdead6d45a982d30e5fd5b4)
2007-10-10 12:56:56 -05:00
Andrew Bartlett
b615397325 r1441: Indentation and comment fixes.
Andrew Bartlett
(This used to be commit 231e505dea9e9aca28eb336bcbcfb2b7b83c089c)
2007-10-10 12:56:56 -05:00
Andrew Bartlett
b0d94c8e7d r1440: GENSEC improvements:
- Infrustructure for kerberos
 - Don't segfault on un-implemented backend functions
 - Add comments.

Andrew Bartlett
(This used to be commit 1c31aa42710421917428d6ba86328ea5179751bd)
2007-10-10 12:56:56 -05:00
Andrew Bartlett
43e7d4109f r1439: Once we are authenticated, always return NT_STATUS_OK. (Makes SPENGO
easier to code, as it may return an 'ok' with an empty blob).

Andrew Bartlett
(This used to be commit e48557158ed99eee7d3ef8231c629bbd14cda9d3)
2007-10-10 12:56:56 -05:00
Andrew Bartlett
47fc62a097 r1438: Record the principal name we are sent in the SPENGO mechListMIC in a
seperate char *, not a DATA_BLOB.

This allows us to tell if we were sent a string here, or a real MIC.
(This used to be commit 06b997c826e3ec00e0528da800e3eae0e3497a54)
2007-10-10 12:56:56 -05:00
Andrew Bartlett
b0d61c8b42 r1437: Intermediate commit of krb5 for GENSEC.
The session key in the client is wrong, we don't do signing/sealing
and we are sending raw Kerberos, not GSSAPI.

But it's a start, and if we continue to have to call Krb5 directly,
this will be the basis.

I also intend to provide an alternate implementation, using just
GSSAPI.

Andrew Bartlett
(This used to be commit eb0dd4a821dc3dbe370aea9a9c9fb05cf2592e4d)
2007-10-10 12:56:56 -05:00
Andrew Bartlett
74508c718b r1436: Move GENSEC across to config.mk
Andrew Bartlett
(This used to be commit 2de3a3082344fd292b1084a73a332549d6b2e25d)
2007-10-10 12:56:55 -05:00
Stefan Metzmacher
efb010202f r1429: enable spnego in smbclient too.
metze
(This used to be commit ae2e6b58629397d75a3e446ff0c50b594d029206)
2007-10-10 12:56:55 -05:00
Andrew Bartlett
102f5bc17d r1426: Fix some of my silly compile errors...
Andrew Bartlett
(This used to be commit c283837556109b9392a8cdcd867e5ae0dac1509b)
2007-10-10 12:56:55 -05:00
Andrew Bartlett
82e59d11c3 r1423: Make sure to destory the mem_ctx.
Andrew Bartlett
(This used to be commit c5a1529d54e6b8ec2bbf7017a2f48d7535f1f016)
2007-10-10 12:56:55 -05:00
Stefan Metzmacher
7caf17319a r1421: fix a uninitialized var (thanks valgrind:-)
add a view debug messages

metze
(This used to be commit 79953dccc1f21dbabddff73a4b6d862eace29eb9)
2007-10-10 12:56:54 -05:00
Stefan Metzmacher
7381ba30c4 r1420: be more strict reject if the context has the wrong type
metze
(This used to be commit db19d6047c25698d0c3b7aeaab77b2a02385dbb5)
2007-10-10 12:56:54 -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
Stefan Metzmacher
2c87cb390d r1409: if we have no user name don't use extended security
the capabilities in the union smb_sesssetup should be used to decide
if we can use extented security

metze
(This used to be commit e3760fcc17cc645d942f0fc7f7325976391309ea)
2007-10-10 12:56:54 -05:00
Stefan Metzmacher
0fa2b94c56 r1406: I got spnego in the smb client working
so I set 'use spnego = True'

metze
(This used to be commit e06898f88c82c286574f9d73de1a9de829b1ded8)
2007-10-10 12:56:54 -05:00
Andrew Bartlett
e59e82b902 r1372: Remove the 'default' case from the SPENGO state machine, and fix up
some compiler warnings that allowed us to see.

Andrew Bartlett
(This used to be commit 1a6c2018dd49519e6fccdd5a7f35d70b67d45275)
2007-10-10 12:56:53 -05:00
Stefan Metzmacher
7c139a6815 r1367: SPNEGO know uses gensec_subcontext_start() in all places
metze
(This used to be commit f7379324025c599cd201ce6d0905f0ca2c24ce73)
2007-10-10 12:56:53 -05:00
Stefan Metzmacher
4b7cd833a0 r1366: handle the case where the client need to send the negTokenInit before
getting something from the server.
(this is needed by SPNEGO in dcerpc)

metze
(This used to be commit ec978555f0bd612b80dfa49ccc880a3858285879)
2007-10-10 12:56:53 -05:00
Stefan Metzmacher
c688a1e18f r1365: in SPNEGO_SERVER_TARG we should not check the spnego_negResult
because the client don't send this

metze
(This used to be commit b1217a4ef6592082bb02fd0596a0563bacdf1d8e)
2007-10-10 12:56:53 -05:00
Stefan Metzmacher
6f0d8e67ff r1364: the SPNEGO_SERVER_TARG state is different from the SPNEGO_CLIENT_TARG
the client checks but not send spnego_negResult

metze
(This used to be commit 49e4d375e9504f595aaa64ac62ddb421f082c424)
2007-10-10 12:56:53 -05:00
Stefan Metzmacher
215c400aee r1363: add SPNEGO_NONE_RESULT as spnego_negResult value
this should indicate that we don't send a spnego_negResult t all over the wire

metze
(This used to be commit 69d685d81784e5fb33e41d3244498ac620a2f5f0)
2007-10-10 12:56:53 -05:00
Stefan Metzmacher
1432bb01f3 r1360: - remove unused state SPNEGO_CLIENT_SEND_MECHS
- remove unsed gensec_user forward, it's done by the gensec layer know

metze
(This used to be commit e19e5a91f2fd988546f42473bf241dff3c2fe198)
2007-10-10 12:56:53 -05:00
Stefan Metzmacher
f9c7b6303c r1359: fix uninit var - found by valgrind
metze
(This used to be commit 264afea9ec3ada4df51e5f5de4c0b977024af40b)
2007-10-10 12:56:53 -05:00
Andrew Bartlett
14e8aab182 r1358: Re-indent the SPENGO implementation, and work on the basis of a
switch, rather than a series of if statements.

Also start to use the GENSEC subcontexts, and add some comments
explaining some of the 'odd' logic in parts.

I'll probably break these out into subfunctions soon.

Thanks to metze for getting me to do this :-)

Andrew Bartlett
(This used to be commit 73e03596d3b2ad5927e8154d0fbfbdae9ec3f717)
2007-10-10 12:56:53 -05:00
Andrew Bartlett
93665a132d r1357: Work on GENSEC:
- Add the concept of a 'subcontext' into gensec, so that the spengo
   code doesn't have to figure out how to make one.
   (A subcontext inherits the username, domain, password (or callback)
   from the main context).

 - Add comments to some other routines, and explain a bit about what
   the various 'start' functions are for.

Andrew Bartlett
(This used to be commit 7aedbfbdd92b4ca93cbd0babff16e7526201ee88)
2007-10-10 12:56:53 -05:00
Andrew Bartlett
674ad23789 r1353: Fix compile with new ASN1 peek code.
Andrew Bartlett
(This used to be commit 9039a2a1128d8af278cae76c0aa6d5362b3671e4)
2007-10-10 12:56:52 -05:00
Andrew Bartlett
b359f5d893 r1352: Add a 'peek' function to our ASN1 code, so we can safely perform the
various switches without looking one byte past te end of the buffer.
(This used to be commit 5bce188d429b4166f3d0314922ae40204de182a7)
2007-10-10 12:56:52 -05:00
Stefan Metzmacher
49d6c46fa3 r1350: - init nt_status- found by valgrind
- set auth_type = DCERPC_AUTH_TYPE_SPNEGO

metze
(This used to be commit 7354521f3cfaa2ead8fac38a68b7704d43731f72)
2007-10-10 12:56:52 -05:00
Stefan Metzmacher
3acfc94511 r1349: don't segfault with empty data_blob
metze
(This used to be commit a826accd55e90cb0628f198886ba1ae6c845e68b)
2007-10-10 12:56:51 -05:00
Stefan Metzmacher
1828f5d506 r1348: get gensec backend by OID instead of name
metze
(This used to be commit 38e00f87191b86901b603e66aec1e7e71f74c29f)
2007-10-10 12:56:51 -05:00
Stefan Metzmacher
fff5d40ab5 r1347: - remove typedef
- pass down gensec_user to the sub context

- if segfault when mechType is NULL

metze
(This used to be commit 3f84263c27add3bf01eea88618f707da925bed5c)
2007-10-10 12:56:51 -05:00
Stefan Metzmacher
50ce5fd990 r1346: revert my last spnego changes
metze
(This used to be commit 7b8237bfb3c302a448a7db0236c0a953603dcd89)
2007-10-10 12:56:51 -05:00
Stefan Metzmacher
4f0e5e0690 r1345: add extended security spnego support to the smb client
code

set lp_use_spnego = False, because I can't get it working yet
but I commit it so others can help me

metze
(This used to be commit 2445cceba9ab9bd928c8bc50927a39509e4526b0)
2007-10-10 12:56:51 -05:00
Stefan Metzmacher
8bebc53df8 r1344: add gensec_start_mech_by_name()
some gensec spnego fixes
(NULL pointer and length checks)

metze
(This used to be commit 41ff6d0cd47f6295fe7fe1d31fec7306416ce199)
2007-10-10 12:56:51 -05:00
Volker Lendecke
0fa0eaa383 r1342: When fixing _lsa_lookupsids in samba3 I wanted to find out the number of SIDs
w2k3 can handle in a single request. With the samba3 client rpc libs I can do
about 21000 SIDs in a single request. test_many_LookupSIDs with 10000 SIDs
fails on the subsequent request with a NET_WRITE_FAULT. Maybe the Samba4 DCE
people want to take a look at this -- I don't see the problem.

Bug fix: SID components should be treated as unsigned when parsing

Volker
(This used to be commit 8c997a2ad2e89a640f854b556ef76a3d52c15963)
2007-10-10 12:56:51 -05:00
Andrew Bartlett
dc9f55dbec r1294: A nice, large, commit...
This implements gensec for Samba's server side, and brings gensec up
to the standards of a full subsystem.

This means that use of the subsystem is by gensec_* functions, not
function pointers in structures (this is internal).  This causes
changes in all the existing gensec users.

Our RPC server no longer contains it's own generalised security
scheme, and now calls gensec directly.

Gensec has also taken over the role of auth/auth_ntlmssp.c

An important part of gensec, is the output of the 'session_info'
struct.  This is now reference counted, so that we can correctly free
it when a pipe is closed, no matter if it was inherited, or created by
per-pipe authentication.

The schannel code is reworked, to be in the same file for client and
server.

ntlm_auth is reworked to use gensec.

The major problem with this code is the way it relies on subsystem
auto-initialisation.  The primary reason for this commit now.is to
allow these problems to be looked at, and fixed.

There are problems with the new code:
- I've tested it with smbtorture, but currently don't have VMware and
  valgrind working (this I'll fix soon).
- The SPNEGO code is client-only at this point.
- We still do not do kerberos.

Andrew Bartlett
(This used to be commit 07fd885fd488fd1051eacc905a2d4962f8a018ec)
2007-10-10 12:56:49 -05:00
Stefan Metzmacher
25bf685da5 r1274: revert -r 1239 as discussed with abartlet
metze
(This used to be commit 52e2d038252bd745d53c687d266ad3ad62efa6fc)
2007-10-10 12:56:48 -05:00