1
0
mirror of https://github.com/samba-team/samba.git synced 2025-10-24 15:33:20 +03:00
Commit Graph

381 Commits

Author SHA1 Message Date
Andrew Bartlett
498d72c4ad r12997: Feed the right event context to libnet in ejsnet and the auth code.
This should give better behaviour in SWAT.

Fix authentication as Samba, rather than System, users in SWAT.

Andrew Bartlett
2007-10-10 13:51:15 -05:00
Andrew Bartlett
51eded8180 r12931: Remove some prefixes. We have:
Login failed: Login Failed: Logon failure - please try again

In SWAT currently...

Andrew Bartlett
2007-10-10 13:51:08 -05:00
Andrew Bartlett
a38ceefd11 r12928: This patch improves the interaction between the vampire and provsion code.
Previously, we had to know (or guess) the host and domain guid at the
provision stage.  Now we query the database post-provision, to extract
the values and fill in the zone file.

This allows us to generate a correct zone file in the Windows migration case.

In an effort to make SWAT easier to use, I have removed and renamed
some of the provision options.

I have also fixed a nasty issue in my js code.  I had implictly
declared a global variable of the name 'join', with disasterious
results for any subsequent user of the string utility function:

esp exception - ASSERT at lib/appweb/ejs/ejsParser.c:2064, 0

Backtrace:
        [ 0]       substitute_var:20   ->               list[i] = join("", list2)
        [ 1]           setup_file:9    ->       data = substitute_var(data, subobj)

Andrew Bartlett
2007-10-10 13:51:07 -05:00
Andrew Bartlett
e13cb0ab17 r12918: Don't tell the user the difference between 'no such user' and 'wrong
password'.

Andrew Bartlett
2007-10-10 13:51:02 -05:00
Andrew Bartlett
a5e7c17c34 r12892: Add a 'Migrate from Windows' page to our installation section in SWAT.
Doing this required reworking ejsnet, particularly so it could take a
set of credentials, not just a username and password argument.

This required fixing the ejsnet.js test script, which now adds and
deletes a user, and is run from 'make test'.  This should prevent it
being broken again.

Deleting a user from ejsnet required that the matching backend be
added to libnet, hooking fortunetly onto already existing code for the
actual deletion.

The js credentials interface now handles the 'set machine account' flag.

New functions have been added to provision.js to wrap the basic
operations (so we can write a command line version, as well as the web
based version).

Andrew Bartlett
2007-10-10 13:50:59 -05:00
Andrew Bartlett
002cdcf3ca r12823: Fix up the provison and newuser code in SWAT. This also cleans up the
main provision script a bit, as the argument list was getting out of
control.  (It has been replaced in part with an object).

This also returns the session_info from the auth code into ejs.

We still need access control allowing only root to re-provision.

Andrew Bartlett
2007-10-10 13:50:02 -05:00
Andrew Bartlett
a6028558dc r12822: Given that talloc gives us this extra level of safety, use it.
Andrew Bartlett
2007-10-10 13:50:02 -05:00
Andrew Bartlett
7a7b2668c0 r12819: Fix swat authentication again. We need to pass the socket_address
structure around, so the auth code knows where the request came from.

Andrew Bartlett
2007-10-10 13:50:01 -05:00
Andrew Bartlett
88198c4881 r12804: This patch reworks the Samba4 sockets layer to use a socket_address
structure that is more generic than just 'IP/port'.

It now passes make test, and has been reviewed and updated by
metze. (Thankyou *very* much).

This passes 'make test' as well as kerberos use (not currently in the
testsuite).

The original purpose of this patch was to have Samba able to pass a
socket address stucture from the BSD layer into the kerberos routines
and back again.   It also removes nbt_peer_addr, which was being used
for a similar purpose.

It is a large change, but worthwhile I feel.

Andrew Bartlett
2007-10-10 13:49:57 -05:00
Andrew Bartlett
be9d0cae89 r12746: An initial version of the kludge_acls module.
This should be replaced with real ACLs, which tridge is working on.
In the meantime, the rules are very simple:

- SYSTEM and Administrators can read all.

- Users and anonymous cannot read passwords, can read everything else

- list of 'password' attributes is hard-coded

Most of the difficult work in this was fighting with the C/js
interface to add a system_session() all, as it still doesn't get on
with me :-)

Andrew Bartlett
2007-10-10 13:49:48 -05:00
Andrew Bartlett
874dd09759 r12744: For correctly written scripts, we don't need this anymore. Only use
the cmdline credentials if we ask for it.

Andrew Bartlett
2007-10-10 13:49:48 -05:00
Andrew Bartlett
0f8c162211 r12738: Use a talloc_reference to ensure this doesn't get free()'ed too early.
Andrew Bartlett
2007-10-10 13:49:47 -05:00
Andrew Bartlett
964f7fc6ca r12708: This is equivilant, but doesn't cause a warning.
Andrew Bartlett
2007-10-10 13:49:44 -05:00
Jelmer Vernooij
10da56fb6c r12699: correctly escape invalid DN characters (reported by Steinar H. Gunderson).
this still doesn't work as a bug in ldb causes it to not understand
escaped characters in DNs when parsing DNs
2007-10-10 13:49:41 -05:00
Jelmer Vernooij
c722f665c9 r12694: Move some headers to the directory of the subsystem they belong to. 2007-10-10 13:49:39 -05:00
Jelmer Vernooij
9e0ba38037 r12622: Move table.c prototypes to seperate header to prevent circular dependencies
with proto.h
2007-10-10 13:49:06 -05:00
Jelmer Vernooij
44f0aba715 r12620: Get rid of automatically generated lists of init functions of subsystems.
This allows Samba libraries to be used by other projects (and parts of
Samba to be built as shared libraries).
2007-10-10 13:49:06 -05:00
Jelmer Vernooij
70e7449318 r12608: Remove some unused #include lines. 2007-10-10 13:49:03 -05:00
Andrew Bartlett
2853ccfc8a r12596: This variable is unused.
Andrew Bartlett
2007-10-10 13:49:00 -05:00
Jelmer Vernooij
ca8db1a0cd r12592: Remove some useless dependencies 2007-10-10 13:49:00 -05:00
Andrew Tridgell
f79d90bd13 r12531: 'make quicktest' was taking 15 minutes on my system due to failing DNS
lookups in load_interfaces(). The reason was my eth0 interface was
down, and it was being interpreted as a DNS name.

This patch changes load_interfaces() to happening automatically when
interfaces are first needed instead of on the startup of every samba
binary. This means that (for example) ldbadd doesn't call
load_interfaces(), which means no slow DNS lookups.

I also reduced the number of static globals in interface.c to 1, and
changed from malloc to talloc

When you want to force a reload of the interfaces list, you now call
unload_interfaces(), which means the next call that needs the
interfaces list will reload it
2007-10-10 13:47:52 -05:00
Jelmer Vernooij
832a1092c9 r12517: Don't generate empty init functions 2007-10-10 13:47:51 -05:00
Jelmer Vernooij
b46eeba9fc r12516: Fix drsuapi and netlogon javascript bindings 2007-10-10 13:47:51 -05:00
Jelmer Vernooij
b1286a6d27 r12514: Move DCE/RPC interface table to a seperate file
Be a bit more strict when checking for duplicate interfaces
2007-10-10 13:47:49 -05:00
Jelmer Vernooij
8aae0f168e r12510: Change the DCE/RPC interfaces to take a pointer to a
dcerpc_interface_table struct rather then a tuple of interface
name, UUID and version.

This removes the requirement for having a global list of DCE/RPC interfaces,
except for these parts of the code that use that list explicitly
(ndrdump and the scanner torture test).

This should also allow us to remove the hack that put the authservice parameter
in the dcerpc_binding struct as it can now be read directly from
dcerpc_interface_table.

I will now modify some of these functions to take a dcerpc_syntax_id
structure rather then a full dcerpc_interface_table.
2007-10-10 13:47:48 -05:00
Jelmer Vernooij
1e8670874b r12501: Merge EJSHeader.pm into EJS.pm and simplify smbcalls_rpc.c a bit,
now that it is guaranteed that the smbcalls modules are always initialized
after the EJS subsystem itself.
2007-10-10 13:47:46 -05:00
Jelmer Vernooij
f6bbc72996 r12500: Use init functions explicitly in a few more places. 'gensec' and 'librpc'
are the only two subsystems left to convert.
2007-10-10 13:47:46 -05:00
Jelmer Vernooij
c92ace494f r12499: Move smb_build.h out of includes.h 2007-10-10 13:47:45 -05:00
Andrew Tridgell
b27d81dca9 r12323: fixeed the use of options.get_credentials() for ldb 2007-10-10 13:47:29 -05:00
Andrew Tridgell
de8975bdd3 r12322: automatically use cmdline_credentials if the ldb object doesn't have
its own credentials element
2007-10-10 13:47:29 -05:00
Andrew Bartlett
ae2f3a64ee r12227: I realised that I wasn't yet seeing authenticated LDAP for the ldb
backend.

The idea is that every time we open an LDB, we can provide a
session_info and/or credentials.  This would allow any ldb to be remote
to LDAP.  We should also support provisioning to a authenticated ldap
server.

(They are separate so we can say authenticate as foo for remote, but
here we just want a token of SYSTEM).

Andrew Bartlett
2007-10-10 13:47:22 -05:00
Rafal Szczesniak
c95d30d38c r12104: Move to (sync) smb_composite_connect from smbcli_tree_full_connection()
This is one of the last places using the latter function.

rafal
2007-10-10 13:47:09 -05:00
Stefan Metzmacher
bd4f85ab5f r12014: free the irpc_request structure with the irpc_call_recv functions,
to match all other _recv functions we have

metze
2007-10-10 13:46:59 -05:00
Stefan Metzmacher
4d35c2b8e6 r12013: fix compiler warnings
metze
2007-10-10 13:46:59 -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
Rafal Szczesniak
6dc67ba6a3 r11814: 1) Set name resolution methods according to smb.conf
2) Set credentials workstation name, otherwise rpc bind function
   segfaults on auth stage

rafal
2007-10-10 13:46:32 -05:00
Rafal Szczesniak
739169e8ed r11748: By default, use name resolution method provided by means
of smb.conf.

rafal
2007-10-10 13:46:21 -05:00
Rafal Szczesniak
90db7f13bc r11588: Remove unused (at the moment) variable and quiet compiler warning.
rafal
2007-10-10 13:45:55 -05:00
Rafal Szczesniak
25310d0592 r11586: Further work on ejs interface for libnet. The idea is to split libnet
functionalities into groups of subcontexts of net subcontext just the
way it's done in net tool. This way we can pass common arguments when
creating subcontext. Also, this may allow easier writing net tool
completely as a script.

At the moment there's a name resolve code segfault to be fixed.

rafal
2007-10-10 13:45:54 -05:00
Simo Sorce
22c8c97e6f r11567: Ldb API change patch.
This patch changes the way lsb_search is called and the meaning of the returned integer.
The last argument of ldb_search is changed from struct ldb_message to struct ldb_result
which contains a pointer to a struct ldb_message list and a count of the number of messages.
The return is not the count of messages anymore but instead it is an ldb error value.

I tryed to keep the patch as tiny as possible bu as you can guess I had to change a good
amount of places. I also tried to double check all my changes being sure that the calling
functions would still behave as before. But this patch is big enough that I fear some bug
may have been introduced anyway even if it passes the test suite. So if you are currently
working on any file being touched please give it a deep look and blame me for any error.

Simo.
2007-10-10 13:45:53 -05:00
Andrew Tridgell
be06785d48 r11498: added an optional extra argument to split to limit the number of
pieces a string is split into. This allows for a fix in the variable
substitution used in provisioning
2007-10-10 13:45:45 -05:00
Andrew Tridgell
91dfe304cf r11474: - enable ldb transactions from ejs
- speed up provisioning a bit using a ldb transaction (also means you
  can't end up with a ldb being half done)
2007-10-10 13:45:41 -05:00
Andrew Tridgell
ebdd1393fd r11458: fixed our ejs smbscript interfaces to use arrays where appropriate. In
js arrays are a special type of object where the length property is
automatic, and cannot be modified manually. Our code was manually
setting length, which made it abort when someone passed in a real ejs
array. To fix this we need to create real arrays instead of objects,
and remove the code that manually sets the length
2007-10-10 13:45:39 -05:00
Andrew Bartlett
767c5ca7be r11439: Make presedence on strcmp comparison clear, and fill in
logon_parameters for the auth subsystem.

Andrew Bartlett
2007-10-10 13:45:37 -05:00
Andrew Tridgell
3333d71ab6 r11365: fixed a comment typo 2007-10-10 13:45:26 -05:00
Andrew Tridgell
7f797e7097 r11354: - generate a ejs error on bad ldif to add/modify
- fixed a double free error in ldb.close()
2007-10-10 13:45:23 -05:00
Rafal Szczesniak
a50a5bef6e r11308: Correctly return status code in case of js error or libnet
function execution error.

rafal
2007-10-10 13:45:17 -05:00
Jelmer Vernooij
b4745032a2 r11303: Support defining and installing public headers for libraries.
Support installing libraries.
Get rid of pkg-config file (will be autogenerated later on).
2007-10-10 13:45:16 -05:00
Rafal Szczesniak
f9c436bbdf r11281: Initial ejs interface for libnet functions.
rafal
2007-10-10 13:45:13 -05:00
Jelmer Vernooij
24e1030090 r11244: Relative path names in .mk files 2007-10-10 13:45:06 -05:00