1
0
mirror of https://github.com/samba-team/samba.git synced 2025-11-20 08:23:50 +03:00
Commit Graph

92 Commits

Author SHA1 Message Date
Andrew Bartlett
c4520ba2e6 r12427: Move SAMR CreateUser2 to transactions, and re-add support for
different computer account types.  (Earlier code changes removed the
BDC case).

We don't use the TemplateDomainController, so just have a
TemplateServer in provision_templates.ldif

Andrew Bartlett
2007-10-10 13:47:37 -05:00
Andrew Bartlett
566bbfd067 r12384: I can't spell... 2007-10-10 13:47:33 -05:00
Andrew Bartlett
e48464c884 r12383: Fixes for Apple's AD client. Don't segfualt in the KDC, and they
require the isSynchronized flag in the rootDSE.

Andrew Bartlett
2007-10-10 13:47:33 -05:00
Andrew Bartlett
6b75573df4 r11995: A big kerberos-related update.
This merges Samba4 up to current lorikeet-heimdal, which includes a
replacement for some Samba-specific hacks.

In particular, the credentials system now supplies GSS client and
server credentials.  These are imported into GSS with
gss_krb5_import_creds().  Unfortunetly this can't take an MEMORY
keytab, so we now create a FILE based keytab as provision and join
time.

Because the keytab is now created in advance, we don't spend .4s at
negprot doing sha1 s2k calls.  Also, because the keytab is read in
real time, any change in the server key will be correctly picked up by
the the krb5 code.

To mark entries in the secrets which should be exported to a keytab,
there is a new kerberosSecret objectClass.  The new routine
cli_credentials_update_all_keytabs() searches for these, and updates
the keytabs.

This is called in the provision.js via the ejs wrapper
credentials_update_all_keytabs().

We can now (in theory) use a system-provided /etc/krb5.keytab, if

krb5Keytab: FILE:/etc/krb5.keytab

is added to the secrets.ldb record.  By default the attribute

privateKeytab: secrets.keytab

is set, pointing to allow the whole private directory to be moved
without breaking the internal links.
2007-10-10 13:46:56 -05:00
Andrew Bartlett
b3929230b2 r11990: Set the password set time as 'now', so it isn't expired back in 2004.
Andrew Bartlett
2007-10-10 13:46:55 -05:00
Andrew Tridgell
4b56c129c6 r11956: removed the old rootdse.ldif, and the provision.js code that uses it 2007-10-10 13:46:50 -05:00
Andrew Tridgell
cfab88fcc2 r11954: add the static rootdse content to the sam ldb,and enable the rootdse
module in @MODULES
2007-10-10 13:46:50 -05:00
Andrew Tridgell
bee45531ea r11499: added a minimal set of display specifiers for mmc to use to display
the core elements of a Samba4 domain
2007-10-10 13:45:45 -05:00
Andrew Tridgell
cbbce4fe40 r11496: add a minimal ads-compatible schema into our sam.ldb setup. This is
needed for mmc management of Samba4.
2007-10-10 13:45:45 -05:00
Andrew Bartlett
8ed6156280 r11357: Add more standard 'servicePrincaipalName' entries to our host account
in provision.

Andrew Bartlett
2007-10-10 13:45:24 -05:00
Andrew Bartlett
ab5dbbe10a r11239: Use ${REALM} for the realm in rootdse.ldif
Add the kpasswd server to our KDC, implementing the 'original' and
Microsoft versions of the protocol.

This works with the Heimdal kpasswd client, but not with MIT, I think
due to ordering issues.  It may not be worth the pain to have this
code go via GENSEC, as it is very, very tied to krb5.

This gets us one step closer to joins from Apple, Samba3 and other
similar implementations.

Andrew Bartlett
2007-10-10 13:45:06 -05:00
Andrew Bartlett
10d692a1c2 r11222: Small provision fixes: canonicalName is now generated, and the DC=
list should be from the dnsdomain (ie lowercae).

Andrew Bartlett
2007-10-10 13:45:05 -05:00
Andrew Bartlett
90642d54e0 r11218: Always return the mutual authentication reply (needed for kpasswd),
and remove now duplicated unwrap_pac().

Andrew Bartlett
2007-10-10 13:45:04 -05:00
Andrew Bartlett
7e01ff11fd r11208: Add DNS entries for finding the kpasswd server to the default zone.
Andrew Bartlett
2007-10-10 13:45:02 -05:00
Andrew Bartlett
205f77c579 r11200: Reposition the creation of the kerberos keytab for GSSAPI and Krb5
authentication.  This pulls the creating of the keytab back to the
credentials code, and removes the special case of 'use keberos keytab
= yes' for now.

This allows (and requires) the callers to specify the credentials for
the server credentails to GENSEC.  This allows kpasswdd (soon to be
added) to use a different set of kerberos credentials.

The 'use kerberos keytab' code will be moved into the credentials
layer, as the layers below now expect a keytab.

We also now allow for the old secret to be stored into the
credentials, allowing service password changes.

Andrew Bartlett
2007-10-10 13:45:00 -05:00
Andrew Tridgell
7e338c23f5 r11113: fixed two small bugs in newuser
- randpass() is now in the random ejs module, not global

- don't dereference the undefined variable on getopt failure
2007-10-10 13:44:52 -05:00
Stefan Metzmacher
9f3b6746d8 r11087: - add type,name,scope as attributes to winsRecords,
so you can use them in search filters,
  only for administration not used inside the winserver code
- fix the samba3 ugrade scripts to create a correct samba4 wins.ldb

metze
2007-10-10 13:44:46 -05:00
Andrew Tridgell
68c5f807fd r10955: finally worked out why our computer accounts were being identified as users in mmc.
The problem was that the samdb module was auto-adding objectClass=user
for these accounts. That would be OK, as computer accounts are
supposed to be in that objectClass, but mmc cares about the order of
the values in the objectClass attribute! It looks for the last value,
and takes that as the value to use when deciding how to manipulate the record.

So, this patch adds an explicit objectClass=user to the record when it
gets created, which tells the samdb module to not add it as well. That
fixes the order. I suspect we are missing something else though - is
objectClass supposed to auto-sort based on the schema?
2007-10-10 13:39:48 -05:00
Andrew Tridgell
61e8b01022 r10916: - finished the 'operational' ldb module
- removed the timestamps module, replacing it with the operational module

- added a ldb_msg_copy_shallow() function which should be used when a module
  wants to add new elements to a message on add/modify. This is needed
  because the caller might be using a constant structure, or may want to
  re-use the structure again

- enabled the UTC time attribute syntaxes in the operational module
2007-10-10 13:39:42 -05:00
Andrew Bartlett
e4fe5802da r10855: Put the domain SID in secrets.ldb by default, and add http as a
default SPN alias.

Andrew Bartlett
2007-10-10 13:39:37 -05:00
Andrew Bartlett
31e755c2ce r10314: Apply the controvertial 'server role =' patch after discussion on the list:
This patch removes the 'domain logon' and 'domain master' controls from
Samba4, in favour of a 'server role =' that users can actually
understand.

We can expand the list of roles as needed, and nobody has to figure out
what a 'domain master' actually means.

Andrew Bartlett
2007-10-10 13:38:16 -05:00
Jelmer Vernooij
87f25fe49c r10190: Do some very basic input checking when provisioning. 2007-10-10 13:38:06 -05:00
Jelmer Vernooij
a143234ac7 r9951: Add another value to the default HKLM.
Convert Samba3 policy "refuse machine pw change" to registry value.
2007-10-10 13:36:24 -05:00
Jelmer Vernooij
7666993fa9 r9898: Add extra registry key used by WinXP (see r9894) 2007-10-10 13:36:21 -05:00
Jelmer Vernooij
d2db164d6f r9834: More tests for the upgrade from Samba3 2007-10-10 13:36:17 -05:00
Jelmer Vernooij
96ccbd6402 r9829: Registry key and value names are case insensitive 2007-10-10 13:36:16 -05:00
Jelmer Vernooij
488d737fb0 r9816: Work on testsuite for upgrade
Add 'paths' object to provision code.
2007-10-10 13:35:04 -05:00
Jelmer Vernooij
27eefbd905 r9805: Add 'data' property to param EJS object
Write out new smb.conf file. Parameters that have disappeared
between Samba 3 and 4 will optionally be prefixed with 'samba3:'
2007-10-10 13:35:03 -05:00
Jelmer Vernooij
b7c09df9e5 r9793: Be more verbose, check for errors in upgrade script. 2007-10-10 13:35:02 -05:00
Jelmer Vernooij
eb9d615bcd r9786: Move ldb_map into ldb/modules/
Move samba3sam to dsdb/
2007-10-10 13:35:01 -05:00
Jelmer Vernooij
8baa2ac377 r9754: Upgrading with the command line utility now works, at least partially (-:
Upgrading using SWAT should work as well now.
2007-10-10 13:34:56 -05:00
Jelmer Vernooij
435e4c6389 r9744: - [upgrade.js] Start working on smb.conf conversion.
- [ldb_map] Support storing non-mappable data in a fallback LDB
2007-10-10 13:34:55 -05:00
Jelmer Vernooij
d569465dc4 r9735: More work on generating a valid Samba4 configuration using the
Samba3 data (both console and SWAT)
2007-10-10 13:34:55 -05:00
Andrew Tridgell
804f2485d0 r9646: fixed error message 2007-10-10 13:34:37 -05:00
Rafal Szczesniak
1990793b23 r9477: Convert popt options to an ejs object. Doesn't seem to break anything
except of popt help (-h) option (unexpected ?).

rafal
2007-10-10 13:34:20 -05:00
Andrew Tridgell
3f30c6118b r9319: updated newuser script for new OO style for nss object
thanks to Hotarut for spotting this
2007-10-10 13:33:24 -05:00
Andrew Tridgell
f8949869bc r9219: by default be a DC, as the provisioning scripts assume that in other parts 2007-10-10 13:31:32 -05:00
Andrew Bartlett
e6abd9f704 r8999: Use the timestamps module to ensure we update times.
Andrew Bartlett
2007-10-10 13:31:05 -05:00
Rafal Szczesniak
5bf5559e0f r8902: Revert the small change as Andrew Bartlett asked. Now, let's go
and fix howto.txt.

rafal
2007-10-10 13:30:16 -05:00
Rafal Szczesniak
a59594d2d8 r8898: Fix provision script to actually work, since location of smbscript
has changed.

rafal
2007-10-10 13:30:16 -05:00
Andrew Tridgell
3228644cf8 r8857: please don't get fancy with embedded boolean statements in js
code. Especially as this is a new language for most Samba developers,
it is far better to err strongly on the side of readability rather
than trying to save a line of code by using fancy tricks
2007-10-10 13:30:12 -05:00
Andrew Bartlett
1f071b0609 r8790: Finish the migration of aliases and privilages with SamSync, by adding
templating support for foreignSecurityPrincipals to the samdb module.
This is an extension beyond what microsoft does, and has been very
useful :-)

The setup scripts have been modified to use the new template, as has
the SAMR and LSA code.

Other cleanups in LSA remove the assumption that the short domain name
is the first component of the realm.

Also add a lot of useful debug messages, to make it clear how/why the
SamSync may have gone wrong.  Many of these should perhaps be hooked
into an error string.

Andrew Bartlett
2007-10-10 13:30:05 -05:00
Andrew Tridgell
f6d24d063a r8778: index on nCName in sam.ldb. This was costing us about 75% of the time in each smb login 2007-10-10 13:30:04 -05:00
Andrew Bartlett
0cc58f5c3c r8740: Extend the rdn_name module to handle adding the rdn as an attribute. ie:
dn: cn=foo,ou=bar
objectClass: person

implies

dn: cn=foo,ou=bar
objectClass: person
cn: foo
(as well as a pile more default attributes)

We also correct the case in the attirbute to match that in the DN
(win2k3 behaviour) and I have a testsuite (in ejs) to prove it.

This module also found a bug in our provision.ldif, so and reduces
code complexity in the samdb module.

Andrew Bartlett
2007-10-10 13:30:00 -05:00
Andrew Bartlett
2303e24be7 r8677: The first part of the domain name may not be equal to the netbios domain name.
Remove the use of flatname from the main domain object, we no longer
reference it.

Andrew Bartlett
2007-10-10 13:29:53 -05:00
Andrew Bartlett
ed1f2e029c r8667: Further simply the provision script, by removing the 'name' attribute.
This is now calculated on the fly for every add and modify.

Andrew Bartlett
2007-10-10 13:29:52 -05:00
Andrew Bartlett
3462cbadb2 r8662: Revert change to CN=Cert Publishers, this group still needs to
override the template for these attributes.

Andrew Bartlett
2007-10-10 13:29:51 -05:00
Andrew Bartlett
4a8ef7197f r8660: Use templates for the initial provision of user and computer accounts.
This ensures the templating code is used, and also makes it clearer
what I need to duplicate in the vampire area.

Also fix a silly bug in the template application code (the samdb
module) that caused templates to be compleatly unused (my fault, from
my commit last night).

Andrew Bartlett
2007-10-10 13:29:51 -05:00
Andrew Bartlett
940ed9827f r8650: Use the timestamps and a new objectguid module rather than placing
boilerplate attributes in every entry in provision.ldif.

The next step will be to use templates.

Andrew Bartlett
2007-10-10 13:29:50 -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