53 Commits

Author SHA1 Message Date
skodak
ae040d4bcc MDL-14679 finished moodlelib conversion 2008-05-30 19:59:50 +00:00
iarenaza
f0a729bf9b MDL-14987 Default attribute for Active Directory password expiry is missing
Merged from MOODLE_18_STABLE
2008-05-25 21:53:23 +00:00
skodak
f33e1ed4ae MDL-14679 ok, here is the big patch with new dmllib and ddlib API, some code is already converted, XML db editor works; see tracker for details of regressions and TODOs 2008-05-15 21:40:00 +00:00
skodak
59669b63f0 MDL-14543 fixed broken deleting from auth sync - credit goes to Juris Treibahs ; merged from MOODLE_19_STABLE 2008-04-25 13:22:02 +00:00
dongsheng
4105cafff9 MDL-12531, make the new member value available to all the affected plugins, thanks, Robert 2008-04-08 05:53:12 +00:00
dongsheng
6f87ef52b9 MDL-14055, change to human-readable strings from hard-coded integer, thanks for Matt's patch. 2008-03-26 01:35:04 +00:00
iarenaza
066de339a5 MDL-12858 fix print_error() usage.
print_error()'s third parameter is the URL we jump to (defaults to
$CFG->wwwroot if not set) when we click the 'Continue' button, not the message
string parameter object.

Forward ported from MOODLE_18_STABLE
2008-01-08 00:13:49 +00:00
iarenaza
1e3eee5fe8 MDL-12323 MDL-4061 Don't connect to the LDAP server if update external is not set for any field.
Forward ported from MOODLE_18_STABLE.
2007-12-28 12:06:22 +00:00
martinlanghoff
0cbcc8efc1 user_login() was not converted to using get_cache_flags().
It was still using the 'old' get_config() interface, so the 'cookie'
set by ntlmsso_finish() wasn't retrieved at all, and the automatic
login always failed.

Signed-off-by: Iñaki Arenaza <iarenuno@eteo.mondragon.edu>


Author: Iñaki Arenaza <iarenuno@eteo.mondragon.edu>
Committer: Martin Langhoff <martin@catalyst.net.nz>
2007-11-19 02:43:48 +00:00
martinlanghoff
58eada356d If the cache flag is not set, it doesn't make sense trying to test its value
Signed-off-by: Iñaki Arenaza <iarenuno@eteo.mondragon.edu>


Author: Iñaki Arenaza <iarenuno@eteo.mondragon.edu>
Committer: Martin Langhoff <martin@catalyst.net.nz>
2007-11-19 02:43:34 +00:00
martinlanghoff
a44240fa89 Fix typo in ntlmsso_finish()
Signed-off-by: Iñaki Arenaza <iarenuno@eteo.mondragon.edu>


Author: Iñaki Arenaza <iarenuno@eteo.mondragon.edu>
Committer: Martin Langhoff <martin@catalyst.net.nz>
2007-11-19 02:43:16 +00:00
martinlanghoff
6626b9ab48 MDL-12178 auth/ldap: "creators" role assignment now also supports contexts
Now the DNs that indicate a course-creator role can also be contexts.
This way we support one more widely used practice in the weird and
wonderful LDAP world...
2007-11-14 22:23:45 +00:00
martinlanghoff
4025cf8031 MDL-9399 - auth/ldap NTLM SSO - fix missing global 2007-11-14 22:17:58 +00:00
martinlanghoff
065e2cc094 MDL-9399 auth/ldap: NTLM temp sessions now use cache_flags
cache_flags is now the apropriate way to manage this kind of temp
data. It gives us time expiry and GC for free, so it's a perfect fit
for the job, as it simplifies the code a bit.
2007-11-14 22:12:57 +00:00
martinlanghoff
6221a32121 MDL-9399 auth/ldap: NTLM SSO - move textlib conversion earlier
From Iñaki Arenaza - fix for

... I forgot to put the textlib conversion
call before the block of code that uses $extusername, so it
completely breaks the user validation process.
2007-11-14 22:12:07 +00:00
martinlanghoff
83cd2dce5a MDL-9399 auth/ldap: NTLM SSO - cleanup of sesskey handling
Fix a bug in ntlmsso_finish(), and tighten up user_login() to avoid a
pointless DB lookup if the password doesn't match the sesskey.

Hopefully this makes things work again...
(thanks I~naki for the testing!)
2007-11-14 22:11:48 +00:00
martinlanghoff
355bd271ac MDL-9399 auth/ldap: NTLM SSO - use sesskey and other tidyups
Several tidyups:

- use moodle_strtolower() for utf-8 correctness

 - use sesskey as the key instead of IP addr to support
   proxied users

 - clean the sesskey after success!

 - pull timeout out to a constant: AUTH_NTLMTIMEOUT
2007-11-14 22:11:35 +00:00
martinlanghoff
f8bf0f4afc MDL-9399 auth/ldap: Tighten NTLM AD checks to the appropriate OU
From Iñaki Arenaza...

Right now, if someone logs in via NTLM magic, we don't check if that
user is inside the contexts specified in the LDAP settings. I mean,
if I want to restrict my Moodle site to those users inside a given OU
or subtree of my LDAP directory, with the current code any valid user
in my whole AD domain (and if we are using a GC as the LDAP server,
the whole forest) can log in. We should check that the user is inside
one of the configured contexts before allowing his/her to log in.

Something along the lines of the attached patch could do it.
2007-11-14 22:09:59 +00:00
martinlanghoff
ddf3de6720 MDL-9399 auth/ldap: ntlmsso_finish() now completes the user session setup
As Iñaki points out, ntlmsso_finish() needs to do all the setup that
login/index.php would do for a user once auth succeeds. With this
patch, the session setup is complete so the logon is usable.
2007-11-14 22:09:45 +00:00
martinlanghoff
0a1c2f4a43 MDL-9399 auth/ldap: NTLM redirect only on initial GET
We only want to redirect when users are being shown the login page (on
GET) but not when users are POSTing to it, actually trying to login.
2007-11-14 22:09:29 +00:00
martinlanghoff
02c7f3d98a MDL-9399 auth/ldap: NTLM SSO - lots of fixes from Iñaki
Lots of typos and minor errors fixed by Iñaki. Thanks!
2007-11-14 22:09:15 +00:00
martinlanghoff
3357a506bd MDL-9399 auth/ldap: NTLM SSO - Resolve Moodle cookies issue, tighten config.php require()s
Use $nomoodlecookie global to avoid session troubles. Also

 * Ensure we load the appropriate config.php, even if we are executing
   under a strange environment (ie: with a user's credentials!)

 * Test we have a spacer gif to open before we open it
2007-11-14 22:08:55 +00:00
martinlanghoff
decd80163d MDL-9399 auth/ldap: flesh out ntlmsso_* functions
Flesh out the functions that get the job done. These will be triggered
by PHP files sitting under auth/ldap/ ...

ntlmsso_magic() - here is where the magic happens. Call it serving
something harmless, like a space GIF, from a URL that is blessed with
Integrated Windows Authentication. If the IWA is successful, it will
set a special session cookie in config_plugins table.

It won't complete the job because when we are under IWA magic we
cannot change (even read!) the session data, as the execution happens
under the OS privileges of the actual user acct being logged in (!!!)

ntlmsso_finish() - if it finds the session set by ntlmsso_magic() and
it hasn't expired, it will finish the job of logging in the user, by
calling authenticate_user_login() and exercising the whole auth
machinery.

user_login() - when called by authenticate_user_login() it will check
to see if there's a session setup by ntlmsso_magic() and OK the login
without really asking the AD backend to proof a password we don't have
anyway.
2007-11-14 22:08:11 +00:00
martinlanghoff
1e8713ea64 MDL-9399 auth/ldap: Introducing loginpage_hook(), ntlmsso_attempt(), ntlmsso_finish()
A work in progress -- initial loginpage_hook() and headers for the
remaining functions. One thing to consider here is that this won't
work if there's a proxy in the middle.

Does NTLM auth thingy support proxies?
2007-11-14 22:07:53 +00:00
martinlanghoff
b95b46a897 MDL-9399 auth/ldap: Manage 2 new config settings for NTLM SSO
Changes in the forms and forms handling to set and edit NTLM SSO
related config options.
2007-11-14 22:07:16 +00:00
toyomoyo
3ddcc29e62 MDL-10509, LDAP username to be always in lowercase 2007-11-06 01:01:09 +00:00
iarenaza
bb4e530b93 MDL-11299 - Make objectClass string comparison case insensitive.
LDAP serves accept attribute names in a case insensitive way, so don't
force the users to use any particular spelling.
2007-09-17 21:30:20 +00:00
skodak
f6c80923bf MDL-10921 LDAP Auth to Active Directory requires LDAP_OPT_REFERRALS option set 2007-08-29 20:42:41 +00:00
skodak
90afcf3280 MDL-10260 added new user_delete() hook into auth plugins; refactored user delete code = new function delete_user() in moodlelib.php + improved cleanup in core tables when deleting user 2007-08-21 20:52:36 +00:00
ikawhero
831d450e3f Adding custom profile fields to the signup page.
The only two authentication plugins this affects are email and ldap.
2007-08-20 08:30:34 +00:00
nicolasconnault
e295df447f MDL-10870 All files updated to new build_navigation() method. 2007-08-17 11:18:58 +00:00
poltawski
63b1cf1fe2 MDL-10343 - abort early when can't create temporary tables when syning users
from LDAP
2007-07-22 21:33:31 +00:00
skodak
9347082d10 MDL-10309 Broken password expiration support for LDAP user types rfc2307 and rfc2307bis, patch by Iñaki Arenaza; merged from MOODLE_18_STABLE 2007-07-01 15:42:36 +00:00
skodak
4225d4ba3a MDL-10068 "Lost Password" button does not work for ldap auth 2007-06-10 19:26:12 +00:00
skodak
7a4025d0b6 MDL-10061 LDAP user creation broken for Novell eDirectory since 1.8; patch by Iñaki Arenaza 2007-06-09 15:33:22 +00:00
skodak
bffe39c6d5 MDL-4687 Password expiration support for AD (with patch) - patch by Iñaki Arenaza, thanks! 2007-05-30 08:54:52 +00:00
skodak
81fb221d31 MDL-9626 Enable user signup with Active Directory (via LDAP); patch by Iñaki Arenaza - thanks! 2007-05-30 08:47:00 +00:00
skodak
4db13f9465 MDL-9880 Remove user_activate() method from public API because it was used only from user_confirm() in LDAP, other plugins use only user_confirm()
MDL-9575 fix email signup in ldap auth mod
2007-05-21 20:33:42 +00:00
skodak
2cef74f91f MDL-9861 Password expiration value is calculated wrong when ldap_expirationtime2unix() returns 0 - patch by Iñaki Arenaza; merged from MOODLE_18_STABLE 2007-05-21 20:08:45 +00:00
moodler
d0e84e1be0 Added Iñaki's patch from MDL-7233 for 1.9 - thanks! 2007-05-21 05:23:00 +00:00
skodak
344514fca5 MDL-3339 support md5 and sha1 in ldap when adding or changing passwords; merged from MOODLE_18_STABLE 2007-03-29 19:50:53 +00:00
skodak
cd874e2133 MDL-8590 fixed ldap creators, added new option to specify dn in member attribute; merged from MOODLE_18_STABLE 2007-03-29 15:53:09 +00:00
skodak
a8d58c58e7 MDL-9099 LDAP auth does not allow dn in idnumber field (or other user attributes); patch by Jeff Graham; merged from MOODLE_18_STABLE 2007-03-29 08:42:07 +00:00
skodak
6bc1e5d577 (MDL-8973) Fix OOP model of new multi auth plugins + some other auth related fixes, fixed change_password, ldap updates, etc.; TODO: fix docs 2007-03-22 12:27:52 +00:00
skodak
430759a5fe MDL-8590 auth cleanup - part 6 2007-02-21 21:42:10 +00:00
skodak
139ebfdb3b MDL-8590 auth cleanup - part 1 2007-02-20 17:03:36 +00:00
stronk7
fa96bfaa11 sync_users() now working both under MSSQL and Oracle. Big credits to
Jay Lee for his cool patch about MDL-7525 MDL-8023 MDL-8153

Merged from MOODLE_18_STABLE
2007-02-17 01:26:43 +00:00
toyomoyo
43c6650b35 fixing a typo 2007-02-09 00:34:49 +00:00
donal72
fb5c773965 Auth: Documentation update to reflect changes in signature of user_update_password method 2007-01-28 22:08:59 +00:00
stronk7
60b562c49e Adding some $CFG->dbfamily-s here and there. MDL-7061 2007-01-12 00:06:08 +00:00