29212 Commits

Author SHA1 Message Date
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
19987407ab MDL-9399 auth/ldap: NTLM SSO - fix hardcoded strings
From Iñaki Arenaza
And here is a little patch with the last remaining non-traslated
strings (unless I missed something).
2007-11-14 22:12:25 +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
6fd511eb1c MDL-9399 moodlelib: set_config() deletes config entries if the value is NULL
New! Improved! If you pass NULL as the value, it will delete the
config entry for you.
2007-11-14 22:10:21 +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
977f5b56e1 MDL-9399 auth/ldap: Add NTLM SSO pages
These pages control the process of attempting an NTLM SSO login
safely. This is very draft and needs real-world testing and polish.

And string localisation too ;-)

  * If NTLM SSO is enabled, and the user's IP addr is in the right
    subnet, the loginpage_hook() of auth/ldap redirects to
    ntlmsso_attempt.php

  * ntlmsso_attempt.php will display a "redirect" msg with an img tag
    pointing to ntlmsso_magic.php, a 3s wait, and a redirect to
    ntlmsso_finish.php

  * ntlmsso_magic.php should be configured to have "Integrated
    Windows Authentication". If it does, it will serve a spacer gif
    and call ntlmsso_magic()

  * ntlmsso_finish.php calls ntlmsso_finish() to complete the SSO
    and handles failures.
2007-11-14 22:08:38 +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
martinlanghoff
cfab8f3946 MDL-9399 - auth/shibboleth: ensure we load enrolments
Most of this code should be replaced with complete_user_login() but it
does a few odd things, so we'll play it safe for now, specially since
I don't have a Shib setup to test...
2007-11-14 22:06:17 +00:00
martinlanghoff
bce3479cc1 loginas: call check_enrolment_plugins()
Admins will want to see an update of the user's enrolments when
they do a login-as.
2007-11-14 22:04:37 +00:00
martinlanghoff
be41678c5e auth/mnet: when landing, user complete_user_login()
By using complete_user_login() we ensure that the session is fully
setup, and that enrolment plugins are called correctly.
2007-11-14 22:04:23 +00:00
martinlanghoff
8f9e1d2c4d accesslib: Move check_enrolment_plugins() to complete_user_login()
... where it belongs ;-)

load_all_capabiloties() gets called at several points where we don't
want to be re-querying the enrolment backends. It needs to  be called
before load_all_capabilities() and only by callers that are setting up
a logon session.

Those callers need to be calling complete_user_login() anyway, as they
need to set the Moodle cookie, log the logon action, etc. In fact,
those callers duplicate a lot of that code already.

The callers that don't duplicate code for the login are actually the
cases where the backend enrolment plugins should not be queried.

To be followed by callers cleanup...
2007-11-14 22:04:05 +00:00
martinlanghoff
a238e822a2 login/index, moodlelib: move session setup logic to complete_user_login()
Move most of the user session setup logic from login/index.php to
complete_user_login().
2007-11-14 22:03:46 +00:00
mudrd8mz
32d46af17d Merged MDL-11332 from stable. 2007-11-14 21:36:16 +00:00
tjhunt
43457dc87c MDL-12066 - Links in the HTML block are not recoded on backup and restore.
This is messy because the links are hidden in the configdata column, which is serialized and base64encoded. So we have to untangle that, then ask the block whether there are any bits of $config that need to be fixed, then re-encode it before backup up. And reverse that on restore. It needs to remain base64 encoded in the backup file, so that the file format is backwards compatible.

I disucssed this with Eloy before doing it.

Merged from MOODLE_19_STABLE.
2007-11-14 17:03:32 +00:00
tjhunt
9cb69c1910 MDL-12172 - print_continue should create a method="get" button, not post. Merged from MOODLE_19_STABLE. 2007-11-14 16:34:26 +00:00
urs_hunkler
f72d4df82e merged from 1.9 :: added 2 CSS definitions to dimm the summary and the course no. in a hidden course topic. 2007-11-14 16:06:58 +00:00
tjhunt
4932ccc776 Delete commented-out code that was actually not commented out properly, and so caused warnings. Merged from MOODLE_18_STABLE. 2007-11-14 14:48:50 +00:00
bobopinna
48466ed9a7 MDL-12118 Fixed learner_response report. It was changed by SCORM2004 3rd Ed. specification 2007-11-14 13:10:34 +00:00
skodak
190af29fef MDL-12146 grade category defaults, forced settings and advanced options, merged from MOODLE_19_STABLE 2007-11-14 11:52:21 +00:00
bobopinna
f652028012 Fixed MDL-11914 2007-11-14 09:52:16 +00:00
toyomoyo
5e900da1ce removing duplicate entries in grade_grades prior to adding unique key 2007-11-14 05:07:33 +00:00
toyomoyo
cccade627d MDL-12140, making most common non-weighted and weighted settings easy for teachers 2007-11-14 02:12:40 +00:00
martinlanghoff
8c80cc1738 htmlarea: fix in FF - MDL-11242
The previous fix for IE left some problems in the FF side of
things because we were trying additions/substractions on
width once its had turned to a string of value + unit.

Do the math before we attach 'px' to it...
2007-11-14 01:25:20 +00:00
fmarier
af5dd7c547 mod/quiz: Revert commit which added the "go back to course" link 2007-11-14 01:13:37 +00:00
poltawski
4b991ddd18 Adding a comment pointing to MDL-3964 which explains why we leave the
badword in the filter span title (as I almost 'fixed it' so it couldn't
be hovered over)
2007-11-13 20:03:27 +00:00
nicolasconnault
b7cf8eac52 Fixing a few bugs identified by Petr and attacking grade_item unit tests 2007-11-13 19:12:37 +00:00
mchurch
5e983a9a2f MDL-11991 Fixing error on undefined method while using the manual plug-in. 2007-11-13 18:07:23 +00:00
nfreear
ab9ad21d0b Follow up fix for MDL-7878 "Link identification and skipping" (and MDL-9306 "Replaced weeks..") - duplicate skip_main_destination(). 2007-11-13 17:16:54 +00:00
mchurch
57b6a704b7 MDL-12149 Added code to check for selected group as well, so that privileged users get correct count when changing groups. 2007-11-13 17:02:53 +00:00
skodak
717f432f2d MDL-12154 used proper cast to float before !== comparison merged from MOODLE_19_STABLE 2007-11-13 16:47:33 +00:00
skodak
4ac209d5bd MDL-12154 used proper cast to float before !== comparison 2007-11-13 16:08:39 +00:00
mchurch
232f2c1d35 MDL-12114 Fixed typo in elements array. 2007-11-13 16:01:44 +00:00
skodak
f1ad9e042a MDL-10901 new SUM aggregation type
MDL-12154 used proper cast to float before !== comparison

part 2
2007-11-13 15:32:16 +00:00
skodak
0758a08e2a MDL-10901 new SUM aggregation type
MDL-12154 used proper cast to float before !== comparison
2007-11-13 15:08:59 +00:00
nfreear
bc1bbaf477 MDL-12153, "Validome - moodle.org invalid - require Content-Script-Type". 2007-11-13 14:46:44 +00:00
nicolasconnault
9a68cffcbb Restoring some of the static calls which were converted unnecessarily 2007-11-13 13:44:27 +00:00
urs_hunkler
7506339261 merged from 1.9 :: removed CSSEdit reference line. 2007-11-13 10:33:04 +00:00
nicolasconnault
aaefeda438 More fine-tuning of gradebook classes 2007-11-13 10:31:08 +00:00
nicolasconnault
795bee3460 Managed to remove static calls from the core gradebook classes without removing support for such calls in gradebook interface code. I used a singleton pattern for this (get_instance in grade_object). 2007-11-13 09:08:43 +00:00
moodler
9e47906cb5 Merged fixes from 1.9 MDL-12145 2007-11-13 08:46:52 +00:00