1
0
mirror of https://github.com/samba-team/samba.git synced 2025-10-31 12:23:52 +03:00
Commit Graph

67 Commits

Author SHA1 Message Date
Andrew Bartlett
2e76a4b8ef r10596: Move the credentials code into it's own subsystem, and push it under auth/
Andrew Bartlett
2007-10-10 13:39:09 -05:00
Jelmer Vernooij
b53313dc51 r10586: Add MergedObject() builder. Default to Library() rather
then StaticLibrary()
2007-10-10 13:39:08 -05:00
Jelmer Vernooij
540155fad3 r10528: Add credentials.h back into includes.h as some compilers don't
seem to be able to handle incomplete enum types.
2007-10-10 13:39:02 -05:00
Jelmer Vernooij
a5b88bcd42 r10513: Reduce some use of pstring. The main reason some parts of the code still
use pstring is next_token() now.
2007-10-10 13:38:58 -05:00
Jelmer Vernooij
03647e1321 r10510: Decrease the amount of data included by includes.h a bit 2007-10-10 13:38:58 -05:00
Jelmer Vernooij
6df956edba r10509: Some more sconscript fixes. Now getting to link stage for smbclient 2007-10-10 13:38:58 -05:00
Andrew Bartlett
194e8f07c0 r10402: Make the RPC-SAMLOGON test pass against Win2k3 SP0 again.
I still have issues with Win2k3 SP1, and Samba4 doesn't pass it's own
test for the moment, but I'm working on these issues :-)

This required a change to the credentials API, so that the special
case for NTLM logins using a principal was indeed handled as a
special, not general case.

Also don't set the realm from a ccache, as then it overrides --option=realm=.

Andrew Bartlett
2007-10-10 13:38:39 -05:00
Jelmer Vernooij
f142c15de1 r10374: Add HAVE_* defines (on command-line or in config.h file) for scons +
some other minor updates
2007-10-10 13:38:33 -05:00
Andrew Bartlett
3c0dc570b8 r10364: Turn gensec:gssapi on by default, except for a login of the form
-Udomain\\user.

This will probably break in a few configurations, so please let me
know.  I'll also work to have a way to inhibit kerberos/ntlmssp, as
this removes -k.

Andrew Bartlett
2007-10-10 13:38:31 -05:00
Jelmer Vernooij
4f0d7f75b9 r10348: Add scons scripts for remaining subsystems. Most subsystems build now,
but final linking still fails (as does generating files asn1, et, idl and proto
files)
2007-10-10 13:38:30 -05:00
Tim Potter
540a3649e8 r10328: Add more emacs python-mode markers. 2007-10-10 13:38:28 -05:00
Jelmer Vernooij
829568d759 r10323: Add first bits required for getting compile with scons working. This does
not work yet and can exist parallel with the existing build system.
2007-10-10 13:38:25 -05:00
Jelmer Vernooij
0963ab9c14 r10316: More dynconfig fixes 2007-10-10 13:38:17 -05:00
Jelmer Vernooij
6685009f6a r10245: Get rid of XFILE in a few places.
Add fdprintf() and vfdprintf() helper functions.
2007-10-10 13:38:11 -05:00
Tim Potter
908ba89259 r9993: Gcc is fussy about the lack of parentheses around assignment statements. 2007-10-10 13:36:27 -05:00
Andrew Bartlett
04af95bd31 r9772: Make credentials callbacks more consistant with the abstraction
function interface used in the credentials code.

Fix bug in ntlm_auth, where we would overwrite the PW specified as a
first input.  (Reported and chased by Kai Blin <blin@gmx.net>, bug
#3040)

Andrew Bartlett
2007-10-10 13:34:59 -05:00
Andrew Bartlett
6202267f6e r9728: A *major* update to the credentials system, to incorporate the
Kerberos CCACHE into the system.

This again allows the use of the system ccache when no username is
specified, and brings more code in common between gensec_krb5 and
gensec_gssapi.

It also has a side-effect that may (or may not) be expected: If there
is a ccache, even if it is not used (perhaps the remote server didn't
want kerberos), it will change the default username.

Andrew Bartlett
2007-10-10 13:34:54 -05:00
Jelmer Vernooij
d89caeb800 r8972: More simplifications... 2007-10-10 13:31:01 -05:00
Jelmer Vernooij
52bb1374bb r8826: Make configure generate config.mk files (with the external libraries
that were found) and a config.pm file (with all substitution variables)
2007-10-10 13:30:09 -05:00
Andrew Tridgell
f8a2b032a7 r8679: only call fault setup once (thanks to andrew for pointing this out) 2007-10-10 13:29:53 -05:00
Andrew Tridgell
acf8c8fd49 r8678: setup for gdb backtrace in 'make test' 2007-10-10 13:29:53 -05:00
Andrew Tridgell
c2691ef712 r8643: - make lp_configfile() work again
- get rid of redundeny dyn_CONFIGFILE argument to lp_load()

- fixed provisioning to work with completely pristine install,
  creating an initial smb.conf is none is present

- added lp.set() and lp.reload() to loadparm ejs object interface
2007-10-10 13:29:48 -05:00
Andrew Tridgell
d7d7f7292b r8067: added a method for disabling the password prompt in programs that want
cmdline credentials, but don't want a prompt if none are supplied
2007-10-10 13:19:04 -05:00
Andrew Bartlett
56a5ccd7d9 r7967: We don't have the ms_krb5 stuff any more.
Andrew Bartlett
2007-10-10 13:18:54 -05:00
Andrew Bartlett
990e061939 r7530: Simply calling convention of lp_load().
This always loads all the services, as we now don't have an easy way
to split out smbd.

Andrew Bartlett
2007-10-10 13:18:07 -05:00
Andrew Bartlett
50f3c2b3a2 r7525: Unify lp_load(), load_interfaces and logging setup into popt().
There is now a new --debug-stderr option to enable debug to STDERR.

popt isn't perfect, but the callbacks are used in all the main Samba
binaries, and should be used in the rest.  This avoids duplicated
code, and ensures every binary is setup correctly.

This also ensures the setup happens early enough to have -s function,
and have a correct impact on the credentials code.  (Fixing a bug that
frustrated tridge earlier today).

The only 'subtle' aspect of all this is that I'm pretty sure that the
SAMBA_COMMON popt code must be above the CREDENTIALS code, in the
popt tables.

Andrew Bartlett
2007-10-10 13:18:06 -05:00
Stefan Metzmacher
d31b4d7df3 r6483: fix anonymous connections, '-U %' or '-U ""%""' can be used for this
metze
2007-10-10 13:16:19 -05:00
Andrew Bartlett
730e6056b7 r6024: Some of the ordering constraints on the popt callbacks were getting
painful, so don't call lp_*() functions until the post stage (rather
than in the cli_credentails_init(), which is called in the pre stage),
and don't open the secrets.ldb looking for the machine account details
until we actually need them (well after popt is done, and we know we have the other things right).

Set the domain and realm, as well as the account and password for -P
(fetch machine password) operation.

Allow NETLOGON credentials to be stored in this structure - will allow
SCHANNEL to be made more generic.

Clarify why we don't do special checks for NULL pointers, particularly
in the anonymous check (it indicates a programmer error, not a
run-time condition).

Also make lib/credentials.c a little more consistant.

Andrew Bartlett
2007-10-10 13:11:15 -05:00
Andrew Bartlett
e13c671619 r5988: Fix the -P option (use machine account credentials) to use the Samba4
secrets system, and not the old system from Samba3.

This allowed the code from auth_domain to be shared - we now only
lookup the secrets.ldb in lib/credentials.c.

In order to link the resultant binary, samdb_search() has been moved
from deep inside rpc_server into lib/gendb.c, along with the existing
gendb_search_v().  The vast majority of this patch is the simple
rename that followed,

(Depending on the whole SAMDB for just this function seemed pointless,
and brought in futher dependencies, such as smbencrypt.c).

Andrew Bartlett
2007-10-10 13:11:12 -05:00
Jelmer Vernooij
ec1eaa274b r5976: SIDs can't have more then 5 subauths (caught by [validate] and
range())
2007-10-10 13:11:11 -05:00
Andrew Bartlett
0453f9d05d r5941: Commit this patch much earlier than I would normally prefer, but metze needs a working tree...
The main volume of this patch was what I started working on today:
 - Cleans up memory handling around DCE/RPC pipes, to have a parent talloc context.
 - Uses sepereate inner loops for some of the DCE/RPC tests

The other and more important part of this patch fixes issues
surrounding the new credentials framwork:

This makes the struct cli_credentials always a talloc() structure,
rather than on the stack.  Parts of the cli_credentials code already
assumed this.

There were other issues, particularly in the DCERPC over SMB handling,
as well as little things that had to be tidied up before test_w2k3.sh
would start to pass.

Andrew Bartlett
2007-10-10 13:11:11 -05:00
Jelmer Vernooij
a0233a3a9a r5932: Use cli_credentials somewhat more in the Gtk+ code
Support ncacn_spx in DCE/RPC bindings.
2007-10-10 13:11:10 -05:00
Jelmer Vernooij
4ad481cfe5 r5929: Use cli_credentials for the SMB functions as well.
Fix a couple of bugs in the new cli_credentials code
2007-10-10 13:11:09 -05:00
Jelmer Vernooij
1d49b57c50 r5917: First step in using the new cli_credentials structure. This patch
puts support for it into popt_common, adds a few utility functions
(in lib/credentials.c) and the callback functions for the command-line
(lib/cmdline/credentials.c). Comments are welcome :-)
2007-10-10 13:11:08 -05:00
Andrew Tridgell
9db6c79e90 r5298: - got rid of pstring.h from includes.h. This at least makes it a bit
less likely that anyone will use pstring for new code

 - got rid of winbind_client.h from includes.h. This one triggered a
   huge change, as winbind_client.h was including system/filesys.h and
   defining the old uint32 and uint16 types, as well as its own
   pstring and fstring.
2007-10-10 13:09:38 -05:00
Stefan Metzmacher
274ef2a206 r5199: fix some minor configure bugs
metze
2007-10-10 13:09:30 -05:00
Stefan Metzmacher
670e088e94 r5135: I prepare a clean up in includes.h
metze
2007-10-10 13:09:25 -05:00
Andrew Tridgell
520cff73c6 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.
2007-10-10 13:08:59 -05:00
Stefan Metzmacher
0ae5794cf4 r4045: readd krb5 support defaulted to disable
use:
gensec:krb5=yes
gensec:ms_krb5=yes

to enable it

or -k on the client tools on the command line

metze
2007-10-10 13:06:17 -05:00
Stefan Metzmacher
51630caeb1 r3750: fix the build
metze
2007-10-10 13:05:50 -05:00
Jelmer Vernooij
cbe819a755 r3730: More build system fixes and simplifications
the hierarchy in the init functions is correct now
will also make it easier to implement some other features
2007-10-10 13:05:47 -05:00
Andrew Tridgell
558de54ec6 r3494: got rid of include/rewrite.h, and split out the dynconfig.h header 2007-10-10 13:05:22 -05:00
Andrew Tridgell
10188869ef r3454: moved a few more things out if includes.h into the include/system/ include files.
this brings us down to about 11k lines of headers included with
includes.h, while still retaining the speed of building with pch
2007-10-10 13:05:13 -05:00
Andrew Tridgell
7b7477ac42 r3453: - split out the auth and popt includes
- tidied up some of the system includes

- moved a few more structures back from misc.idl to netlogon.idl and samr.idl now that pidl
  knows about inter-IDL dependencies
2007-10-10 13:05:13 -05:00
Andrew Tridgell
73ea8ee6c2 r3441: some include file cleanups and general housekeeping 2007-10-10 13:05:11 -05:00
Andrew Tridgell
5921587ec2 r3323: more warning reductions 2007-10-10 13:04:55 -05:00
Stefan Metzmacher
3bbda7475a r3102: typo
metze
2007-10-10 13:02:21 -05:00
Stefan Metzmacher
61de2229e2 r3101: some minor fixes
metze
2007-10-10 13:02:21 -05:00
Stefan Metzmacher
958aa8de63 r3100: support 'bin/smbclient //w2k3-101/c$ -U \\administrator@w2k3.vmnet1.vm.base'
we need to send an empty string as userdomain in this case.
fix bug #1317 in the client side

metze
2007-10-10 13:02:21 -05:00
Andrew Tridgell
814881f0e5 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;
}
2007-10-10 12:59:39 -05:00