How to use multiple LDAP servers with Moodle 1.8

Re: How to use multiple LDAP servers with Moodle 1.8

by Jaswant Tak -
Number of replies: 107

Hi Iñaki,

I applied the patch and then tried to execute the command

php -f ldapname.php ldap2

But I am getting this message

Default exception handler: <p>Error: Database connection failed</p>
<p>It is possible that the database is overloaded or otherwise not running properly.</p>
<p>The site administrator should also check that the database details have been correctly specified in config.php</p> Debug:
Warning: mysqli::mysqli(): [2002] No such file or directory (trying to connect via unix:///var/mysql/mysql.sock) in /Applications/MAMP/htdocs/moodle232/lib/dml/mysqli_native_moodle_database.php on line 377

Warning: mysqli::mysqli(): (HY000/2002): No such file or directory in /Applications/MAMP/htdocs/moodle232/lib/dml/mysqli_native_moodle_database.php on line 377

Error code: dbconnectionfailed
* line 384 of /lib/dml/mysqli_native_moodle_database.php: dml_connection_exception thrown
* line 344 of /lib/dmllib.php: call to mysqli_native_moodle_database->connect()
* line 476 of /lib/setup.php: call to setup_DB()
* line 30 of /config.php: call to require_once()
* line 28 of /ldapname.php: call to require()

!!! <p>Error: Database connection failed</p>
<p>It is possible that the database is overloaded or otherwise not running properly.</p>
<p>The site administrator should also check that the database details have been correctly specified in config.php</p> !!!

I have macbook and MAMP to run my Moodle. MySQL is connected, I can even access the Moodle in browser. But dont know why I am getting database connection failed message with ldapname.php script.

Please advise.

Thanks,

Jaswant

In reply to Jaswant Tak

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Hi Jaswant,

I don't know why the script can't connect to the database, as it simply includes config.php which does all the work as usual.

Anyway, we don't need the database at all for this script to work. We just include config.php to get the some paths from the configuration settings. So you can modify ldapname.php to catch this exception and ignore it.

Look for the line that reads:


require(dirname(__FILE__).'/config.php');


and change it to this:


try {
require(dirname(__FILE__).'/config.php');
} catch (dml_connection_exception $e) {
// Just continue, we con't need the database for this to work.
}


Depeding on your Moodle debugging settings you might get some warning messages about the failed connection, but the script should continue and do its work.

Saludos.
Iñaki.
In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by ouahib gebraltar -

Hi Iñaki,

    I'm facing the same issue and I don't know how to work it around. 

I have moodle 3.2 version before June 29th 2012, so I dowloaded the above patch ldap-clones-patch-scriptv5_2.3.zip, my database is oracle

when I try the command php -f ldapname.php ldap2 I get the following nasty error : 

<p>The site administrator should verify server configuration</p><p>PHP has not been properly configured with the OCI8 extension so that it can communicate with Oracle. Please check your php.ini file or recompile PHP.</p> !!!

I checked in the php.ini, the OCI8.so extension is there !

 look forward to see your advise.

 

Thanks in advance for your precious help. 

 

Ouahib 

 

 

In reply to ouahib gebraltar

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Hi Oubhib,

PHP can use different php.ini files, depending on whether it's running in web context (as part of the web page request) or in the command line. So make sure you check the php.ini file your command line php is using. You can see which one it's using by executing:


php -i


and looking for the line that reads something similar to this one (this one is for my Debian Linux box, yours can be different).


Loaded Configuration File => /etc/php5/cli/php.ini


Saludos.
Iñaki.
Average of ratings: Useful (1)
In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by SWBH IT -

Hi Iñaki,

Do you have a version of your patch file for Moodle 2.4.1?

Many thanks in advance,

Barny.

In reply to SWBH IT

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Hi Barny,

just had it in my disk but didn't remember to post it before. Here it is (it should work on 2.4.0, 2.4.1 and 2.4.2 current as of today).

Saludos.
Iñaki.
In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by SWBH IT -

Iñaki,

Applyed perfectly and works brilliantly.

Many thanks for your help and putting the effort in to developing this and keeping it up to date.

Thanks again.

Regards,

Barny.

In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by ouahib gebraltar -

Hi Iñaki,

   Thanks a lot for your help. indeed as I'm using Redhat the php.ini should have been put in the right system directory. 

So now I'm able to see the entry Ldap 2 in the authentication list, however when I enter the right AD details in LDAP server 2,which work correctly with default LDAP server, the authentication doesn't work while it woks with normally ldap server .

 

any idea what I should do ?

 

Knowing that I didn't cleanup the DB after the 1st attempt which didn't work, I have just removed the directory auth/ldap2. 

 

Thanks in advance for your help.

Ouahib 

In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by ouahib gebraltar -

Hi Iñaki,

   I did a roolback of my DB and itried again the patch command worked correctly , however for the command 

php -f ldapname.php ldap2

I got the folowing error : 

[root@MEC-SVMOODT01 moodle]# php -f ldapname.php ldap2
patching file auth/ldap2/auth.php
Hunk #2 FAILED at 108.
1 out of 2 hunks FAILED -- saving rejects to file auth/ldap2/auth.php.rej
patching file auth/ldap2/cli/sync_users.php
Hunk #1 FAILED at 50.
1 out of 1 hunk FAILED -- saving rejects to file auth/ldap2/cli/sync_users.php.rej
patching file auth/ldap2/lang/en/auth_ldap2.php
patching file auth/ldap2/ntlmsso_attempt.php
Hunk #1 FAILED at 2.
1 out of 1 hunk FAILED -- saving rejects to file auth/ldap2/ntlmsso_attempt.php.rej
patching file auth/ldap2/ntlmsso_finish.php
patching file auth/ldap2/ntlmsso_magic.php
patching file auth/ldap2/version.php

 

any idea ?

 

Thanks for your help

Ouahib 

In reply to ouahib gebraltar

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Maybe you are using a slightly more recent 2.3 version than the one I used to produce the patches. And those 3 files are slightly different so the patch doesn't apply cleanly. If you tell me your exact Moodle version (the $vesion number from version.php file) I could have a look at it.

Saludos.
Iñaki.
In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by ouahib gebraltar -

Hi Inaki,

  Thanks for your feedback,  the version number I found in the file version.php is 2012061700

 

Thanks

Ouahib

In reply to ouahib gebraltar

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

I have just tried with that version (which by the way is an alpha version before 2.3 stable came out; you should really upgrade it to latest stable 2.3 version) and it has worked as expected.

I reset my installation back to the default original files and executed the "php -f ldapname.php ldap2" command without previously applying the 0001-... patch file and I got exactly the same errors as you. So I highly suspect you simply didn't apply the patch (maybe you executed patch in 'simulate' mode, using --dry-run option).

Saludos. Iñaki.

In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by ouahib gebraltar -

Hi Iñaki,

  Thanks for your feedback, I will try your proposal by upgrading to the stable version of 2.3. 

I have actually applied the patch first before excuting the comand  "php -f ldapname.php ldap2" and I didn't use the "simulate" mode. 

 

Anyways. I will let you know. 

Thanks

Ouahib 

 

In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Imran Hussain -

Hi,

I am having difficulty in applying the patch to the folders using GnuWin32 & cmd.

Is it possible you could send me the patched folder for ldap2 so that I can stick it into the folder path auth/

I would really appreciate it, many thanks.

In reply to Imran Hussain

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Hi,

which exact Moodle version are you using (please, cite the version numbers from version.php, as each version can have slight changes from one each other smile)

Saludos.
Iñaki.
In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Imran Hussain -

Hi,

This is taken from version.php

Moodle Version:

version  = 2012120303.04
release  = '2.4.3+ (Build: 20130405)'

PHP Version: 5.3.10

I did try to patch the files yesturday, first two patches were fine (.patch & .diff) but the php patch did not work. sad 

In reply to Imran Hussain

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Hi Imran,

your version of Moodle is a bit newer that the one I used to create the patch for 2.4, and has a couple of bug fixes that weren't present before. That's why the patches might not apply cleanly. I've created a new version of the patch that should apply cleanly if you follow the instructions given at https://moodle.org/mod/forum/discuss.php?d=74279#p752238

Hope that helps.

Saludos.
Iñaki.
In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Imran Hussain -

Hi Iñaki,

The patch worked a treat. I can now have both staff & student login using the LDAP auth.

Thank you for your time and effort in helping me and others achieve what was required.

Kind Regards.

In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Cristian Zanni -

Hey Iñaki,

it is possible to download some patch to the Moodle 2.1 Version?

Thanks  / Gracias!

Cristian

 

In reply to Cristian Zanni

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

I don't have a patch for 2.1 yet.I'll see if I can make one in a reasonable amount of time.

Saludos. Iñaki.

In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Cristian Zanni -

Nevermind Iñaki, we achieved this by using the folder provided by Flavio Camargo; patch was not needed!

https://moodle.org/pluginfile.php/183/mod_forum/attachment/874648/ldap2.rar

Anyway, i want to appreciate your help here and also make a little contribution: In our scenario, we faced a domain migration. So, some users were migrated from domainA to domainB.

After we applied this workaround (duplicate ldap plugin) we had to UPDATE the "auth" field at mdl_user table of every migrated user by replacing "ldap" to "ldap2" (or the name you used in the second ldap plugin).

This is because the moodle users table were previously populated with the ldap "original" plugin. New users at domainB were able to login smoothly

Cheers!

Saludos!

Cristian

 

 

 

 

 

 

In reply to Cristian Zanni

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

Glad that you didn't need it smile

I had a little spare time today and produced the patch anyway (it was very easy starting from the patch for 2.0.x).

So here it goes in case someone else needs it wink

Saludos. Iñaki.

In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Anthony Connor -

Hi Iñaki,

I am using version 2.4.4+ (Build: 20130621), maturity = MATURITY_STABLE;

PHP version 5.3.10.

Could I use the patch for 2.4.3 ( ldap-clones-patch-scriptv8b_2.4.3.zip) or will it not work. If so any chance you would be able to updating the patch for this version?

It would be brilliant if you could help me out of this jam, many thanks,

Anthony

In reply to Anthony Connor

Re: How to use multiple LDAP servers with Moodle 1.8

by Anthony Connor -

Hi again,

So I decided to try the 2.4.3 ( ldap-clones-patch-scriptv8b_2.4.3.zip) patch on the moodle version 2.4.4+ (Build: 20130621) that I am running and it worked.

I first tried the patch in a test environment - a 32bit ubuntu server (php 5.4.3) and it patched correctly and I was able to successfully edit the LDAP connection settings, enable the new LDAP connection type and login to moodle using valid AD accounts over LDAP.

Thanks for the patch Iñaki. smile

Anthony

In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

Hi there,

in case anyone is interested on it, here's the patch for Moodle 2.5.x (current as of today).

Saludos. Iñaki.

In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Kester David -

Thanks a Mil! Iñaki

 

Works perfect!

In reply to Kester David

Re: How to use multiple LDAP servers with Moodle 1.8

by Lee Procter -

Hi Iñaki,

The patch you have created is an excellent solution and works a treat.

Will there be a update file to support version 2.5.2+ (Build: 20131101) any time soon. We are looking to upgrade very shortly.

 

Lee

 

 

In reply to Lee Procter

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

Hi Lee,

this version should apply cleanly to 2.5.2+ current as of today, and 2.5.3+ current as of today.

Saludos. Iñaki.

In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Lee Procter -

Hi Inaki,

I have tested the patch on ver 2.5.2 but get the following output on the first patch:

patching file auth/ldap/auth.php
patching file auth/ldap/cli/sync_users.php
patching file auth/ldap/config.html
Hunk #3 FAILED at 187.
1 out of 14 hunks FAILED -- saving rejects to file auth/ldap/config.html.rej
patching file auth/ldap/ntlmsso_attempt.php
patching file auth/ldap/ntlmsso_finish.php
patching file auth/ldap/ntlmsso_magic.php
patching file auth/ldap/version.php

 

Any ideas? Thanks in advance

 

In reply to Lee Procter

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Hi Lee,

the patch if for 2.5.2+ (Build 21031101) or later, not for 2.5.2 (Build: 20130909). There's no point in running 2.5.2 when 2.5.2+ is out fixing a few bugs (and not introducing new features). That's why I cooked the patch for 2.5.2+.

Saludos.
Iñaki.
In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Karl Brooker -

Hi Inaki,

Do you plan an update for version 2.6? I've just built a fresh 2.6 box and wondered if I should wait or just try the 2.5.2+ patch.

Regards,
Karl

In reply to Karl Brooker

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Hi Karl,

here's a version for 2.6+ (Build: 20131129), current as of today.

Saludos.
Iñaki.
In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Ernesto Perez -

hi Iñaki Arenaza

I hope you can help me, I'm working with Moodle 2.6 + on windows with wamp. I installed patch.exe but I get the following error when running the. patch

with the instruction of. php no problem, if the directory is generated LDAP2 moodle me but when I open the problem appears.

The "auth_ldap2" plugin is installed in the wrong location "$ CFG-> dirroot/auth/ldap2", the expected location is "$ CFG-> dirroot / auth / ldap"

How I can install the. Patch on windows?

 

In reply to Ernesto Perez

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Hi Ernesto,

make sure you follow the right instructions to apply the patch on Windows, as I said earlier in this thread: https://moodle.org/mod/forum/discuss.php?d=74279#p752740

Saludos.
Iñaki.
In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Ernesto Perez -

Thanks Iñaki

I set up moodle on Ubuntu and I had no problems to clone ldap, I have two domains with organizational units are around 200 each domain. the detail that I have now is that it takes a long time to authenticate a user. as I can do to make it faster reading's site. as I can change the page size to change the value default is 250. the type of encoding that uses my server is utf-8, version 3.

I hope you can help me thanks in advance!

In reply to Ernesto Perez

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Hi Ernesto,

I'm afraid I don't understand what your problem is and why you want to change the page size (which doesn't affect the login time at all).

Could you elaborate it a bit?

Saludos.
Iñaki.

P.S. I speak Spanish, in case you feel you can describe your problem more easily in Spanish smile
In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Alan Hare -

Iñaki,

I tried using your patch ldap-clones-patch-scriptv10_2.5.2 on moodle_2.5.3+_build_20131115 from 11th Nov 2013, but does not work.

  • patch.exe --dry-run -p1 < 0001-Add-support-for-multiple-clones-of-the-LDAP-auth-plu.patch
  • Assertion failed: hunk, file ../patch-2.5.9-src/patch.c, line 354

Thank you for your assistance! smile

In reply to Alan Hare

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Hi Alan,

If you are trying to use these patches on Windows (and it looks like you are using Windows, judging from your patch.exe command smile), make sure you follow the instructions given in this page: http://docs.moodle.org/en/Development:How_to_apply_a_patch#Apply_a_Patch_in_Windows_using_gnuwin32

Saludos.
Iñaki.


In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Alan Hare -

You are correct, I was using the wrong command/file.  :/

When I run the correct file ldapname.diff accoring to the Windows directions I get this

Am I missing something?

In reply to Alan Hare

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

Hi Alan,

you were using the right file, but the wrong procedure (for Windows). The problem is the patch file (0001-bla-bla-bla.patch) has Unix line endings. And patch.exe for Windows doesn't like them (that's why you got an assert failure). You need to convert the Unix line endings to Windows line endings before trying to apply the patch.

That's why the instructions on how to apply a patch on Windows tells you to "Open the patch file with Wordpad, and click 'File' >> 'Save as...', choose a different name for the file eg ('mynewpatch.diff') and "Save as type" >> 'Text Document - MS-DOS Format' " (in the link I provieded before).

Saludos. Iñaki

In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Alan Hare -

Hi Iñaki, Thanks for the reply! smile

I changed the file format as directed in the document, but I still receive an error. 

In reply to Alan Hare

Re: How to use multiple LDAP servers with Moodle 1.8

by Alan Hare -

UPDATE: I went line by line for the config.html section of the patch file and changed it.. they all matched.  Then I was able to run the command "php -f ldapname.php ldap2" to make the duplicate copy of the plugin.

Does the line # error for the patching, does it match up directly to the orignal file being patched?  If so.. for this instance it's a blank like.  I am quite curious what the issue was though.

In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Jamie Kramer -

Hi Iñaki. Thanks for providing this to the community.

I have a suggestion for making this work better on a Mac.

At about line 47 of ldapname.php you have:

} elseif (stristr(PHP_OS, 'win')) {

This causes the script to detect the running os on a Mac as windows and as such, attempts to use the xcopy command. The reason is that PHP_OS on a mac gets set to Darwin.

I added simple logic so now it looks like this:

if (stristr(PHP_OS, 'Darwin')) {

        system('cp -a "'.$ldap_orig.'" "'.$ldap_new.'"');

} elseif (stristr(PHP_OS, 'win')) {

        $ldap_orig = str_replace('/', '\\', $ldap_orig);

        $ldap_new = str_replace('/', '\\', $ldap_new);

        $ldap_orig_langfile = str_replace('/', '\\', $ldap_orig_langfile);

        $ldap_new_langfile = str_replace('/', '\\', $ldap_new_langfile);

        $patch_file_orig = str_replace('/', '\\', $patch_file_orig);

        system('xcopy "'.$ldap_orig.'" "'.$ldap_new.'" /S /E /I');

} else {

        system('cp -a "'.$ldap_orig.'" "'.$ldap_new.'"');

}

 

Regards,

 

Jamie

 

In reply to Jamie Kramer

Re: How to use multiple LDAP servers with Moodle 1.8

by Jamie Kramer -

Also, there is a problem when upgrading a site from say, 2.4 to 2.5. The ldapname script does not seem to set the new ldap name in db/upgrade.php. It is easy enough to fix in the cloned plugin, just by updating db/upgrade.php and replacing ldap with the name of your cloned ldap plugin.

In reply to Jamie Kramer

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Hi Jamie,

thanks a lot for your feeback! I have updated the patches for 2.5, 2.6 and master (current as of today). I didn't notice that from 2.5 onwards db/upgrade.php was used, so my patch missed it. I've also added code to detect Darwin as a Unix platform using the same test code that Moodle uses elsewhere.

I'm going to upload the zip files with the patches in separate posts, as there's a limit of two attachments per post (and to make it clearer which zip file corresponds to which Moodle version).

Saludos.
Iñaki.
In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
This is the updated version of the patch for master 2.7dev (Build: 20140307) or later.

Saludos.
Iñaki.
In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
This is the updated version of the patch for master 2.8dev (Build: 20140529) or later.

Saludos.
Iñaki.
In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Wolfgang Hollauf -

Dear Inaki

Build: 20140529 works quite fine in moodle 2.7+ stable version!!! smile

Very nice job!!!!

thank you very much!

wolfgang

In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by ashley savage -

good morning, having troubles with this updated patch as-well, tried both and both failed... just crashes patch.exe "This application has requested the Runtime to terminate"... I'm running windows 2008 R2 server MSSQL and IIS 7.5


thanks for all you work on this... been running great with moodle 2.5 and your older patches...


ash 

In reply to ashley savage

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Hi Ashley,

make sure you follow the instructions from http://docs.moodle.org/dev/How_to_apply_a_patch#Apply_a_Patch_in_Windows_using_gnuwin32

I create the patches on Linux, and the Windows version of patch has a tendency of blowing up when dealing with files using Linux/Unix line endings.

Saludos.
Iñaki.
In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by ashley savage -

gday and thanks for your reply, yeah must be doing something wrong... now getting

C:\moodle>patch.exe --dry-run -p1 < ldapname.diff

can't find file to patch at input line 4

Perhaps you used the wrong -p or --strip option?

The text leading up to this was:

--------------------------

|diff -urN auth/%%LDAPNAME%%/auth.php auth/%%LDAPNAME%%/auth.php

|--- auth/%%LDAPNAME%%/auth.php 2012-12-10 17:02:03.375012706 +0100

|+++ auth/%%LDAPNAME%%/auth.php 2012-12-10 17:02:31.139150376 +0100

--------------------------

File to patch:


can you shed any light ????


thanks again for all your work...

ash

In reply to ashley savage

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Hi Ashley,

see this post earlier in this same forum thread: https://moodle.org/mod/forum/discuss.php?d=74279#p752238 smile

Saludos.
Iñaki.
In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by ashley savage -

thanks again for all your help, but no love with windows... got the patch.exe working, but now just come up asking for "file to patch" 

thanks again

will keep trying


ash

In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Wolfgang Hollauf -

Hi Inaki,

i have installed moodle 2.7+ stable and tried out your version 14 and 15 (2.7dev and 2.8dev) -> both are not working!? sad do you have a version for teh stable 2.7+


best

wolfgang

In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
This is the updated version of the patch for 2.7+ (Build: 20140529).

Saludos.
Iñaki.
In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Miika Lippojoki -

Hello Iñaki,


We were upgrading our Moodle to 2.7+ and found your ldap plugin(version 16_27+) very useful when working with multiple domains at our environment. Thank you for the excellent work!

However, we found out that when adding multiple domains to work with, you cannot use upper case letters when naming the ldap plugins with the command php -f ldapname.php.

For example, we tried to make plugin called ldapSCHOOL with command "php -f ldapname.php ldapSCHOOL" and the result was that the folders were created to filesystem but in Moodle the plugin never showed up to the Notifications -page under Site Administration.

After we changed the ldapname to ldapschool, everything worked as it should.

Do you have any idea what was causing this?


Yours,


Miika Lippojoki
ICT-coordinator
Kainuu Vocational College, Finland

In reply to Miika Lippojoki

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Hi Miika,

I know this answer is a bit late, but the problem is has strict rules on how to name plugins. And they are stricted than I thought they were (it seems the developers made them stricter around Moodle 2.2 but I didn't notice, and didn't update my patch to take them into account).

Currently plugin names can only contain lowercase ASCII letters, numbers and underscores (but numbers and underscores are strongly discouraged by Moodle developers!). And the plugin name must start with a lowercase ASCII letter.

That's why your copy of the plugin didn't show up in the Notifications page: it wasn't considered a valid plugin name, and thus it was completely ignored.

I have update the patch scripts to comply with the rules and reject any plugin name that would be considered invalid by Moodle.

Saludos.
Iñaki.
In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Here are the (updated) patches for Moodle 2.7.3+ and 2.8.1+ current as of today. They already have the stricter plugin name validation rules added.

Saludos.
Iñaki.
Average of ratings: Useful (1)
In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Domenic Silletti -

Hi,

I tried running the patch for 2.6.2 on a 2.6.5 system (OS is RedHat 6, 64bit) and got numerous "Hunk" errors; is there a specific patch for my system or is there another one I should be using?

Thanks,

Domenic

In reply to Domenic Silletti

Re: How to use multiple LDAP servers with Moodle 1.8

by Domenic Silletti -

Update, I ran the 2.6.2 patch again on my system and it ran with no issues.  I now have my Moodle talking to 2 different Active Directory Domains.

In reply to Iñaki Arenaza

Tárgy: Re: How to use multiple LDAP servers with Moodle 1.8

by Tamas Mako -

Hi Inaki

I'm using Moodle 2.8.3+ (Build: 20150205) system. I need a multiple LDAP because I have to authenticate from two different domain. I installed your script and the patch process worked fine and I created ldap2 (auth/ldap2). I added correctly to authentication method as well and then I encountered in a weird problem, when I try to login:

Ldap: I can see this address  /auth/ldap/ntlmsso_attempt.php

Attempting Single Sign On via NTLM...

/auth/ldap/ntlmsso_finish.php

Auto-login failed, try the normal login page...


Ldap2: I can see this address  /auth/ldap2/ntlmsso_attempt.php

Attempting Single Sign On via NTLM...

/auth/ldap/ntlmsso_finish.php

Auto-login failed, try the normal login page...

I can see just this running login proccess continuously and I cannot reach the normal login page,


Do you have any idea what caused this problem?

I attached a pic about my auth manager window I think the user don't appear in ldap2 auth.

Kind Reagards
Tom

Attachment moodleldap.png
In reply to Tamas Mako

Re: Tárgy: Re: How to use multiple LDAP servers with Moodle 1.8

by Michael Lynn -

When I tested this on Totara 2.7.6 (Moodle 2.7.9) if NTLM is enabled the problem is in ntlmsso_finish.php

It reaches an end state here:

// If ntlmsso_finish() succeeds, then the code never returns,
// so we only worry about failure.
if (!$authplugin->ntlmsso_finish()) {

// code to redirect with error code

}

I changed my code to then attempt a connection on ldap2.

if (!$authplugin->ntlmsso_finish()) {

     // My Change. try ldap2.
    redirect($CFG->httpswwwroot . '/auth/ldap2/ntlmsso_attempt.php');

}

In ldap2/ntlmsso_finish.php it tries ldap3/ntlmsso_attempt.php etc.

 

In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Here are the (updated) patches for Moodle 2.7.7+ and 2.8.4 (that applies cleanly on 2.8.4+ and 2.8.5+ too) current as of today.

Saludos.
Iñaki.
In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Waku Worldrings -

Hola Iñaki, tengo un problema en Moodle 2.8.5, el script funciona y me duplica el plugin, hasta ahí todo perfecto (bajo centOS).

Me sale esto:


sh: patch: no se encontró la orden


El problema viene que me sale un mensaje de actualizar la base de datos de moodle y al hacerlo me da un error:


La extensión "auth_ldap" está instalado en la ubicación incorrecta "$CFG->dirroot/auth/ldap2"; la ubicación prevista es "$CFG->dirroot/auth/ldap"

Más información sobre este error

Debug info: 
Error code: detectedmisplacedplugin
Stack trace:
  • line 450 of /lib/upgradelib.php: plugin_misplaced_exception thrown
  • line 1626 of /lib/upgradelib.php: call to upgrade_plugins()
  • line 434 of /admin/index.php: call to upgrade_noncore()

In my bad English:

when i run your script, i get some errors, the first is "sh: patch: command not found"


And later when i enter to administration panel of moodle, a message appears whit the error that i have posted above.


Thank you for your free support to all us Iñaki.


Edito /edit:


He instalado patch y me da el siguiente error

i have instaled patch and now i have this error:


Hunk #1 FAILED at 25.

1 out of 1 hunk FAILED -- saving rejects to file auth/ldap2/version.php.rej

In reply to Waku Worldrings

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

Hola Waku,

¿qué versión exacta de Moodle tienes? (la puedes encontrar en el fichero version.php). Es para intentar reproducir el problema (ya que dependiendo de la versión, puede haber más o menos cambios en el área que toca el parche).

English version:

What exact Moodle version do you have? (you can find that our in version.php file). This will help me reproduce the problema (depending on the Moodle version, there can be more or less changes in the area affected by the patch)

Saludos. Iñaki.

In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Waku Worldrings -

ante todo, Muchas gracias por responder y querer ayudarme.

El archivo php contiene lo siguiente:


defined('MOODLE_INTERNAL') || die();


$version  = 2014111005.00;              // 20141110      = branching date YYYYMMDD - do not modify!

                                        //         RR    = release increments - 00 in DEV branches.

                                        //           .XX = incremental changes.


$release  = '2.8.5 (Build: 20150310)'; // Human-friendly version name


$branch   = '28';                       // This version's branch.

$maturity = MATURITY_STABLE;             // This version's maturity level.


Muchas gracias.

In reply to Waku Worldrings

Re: How to use multiple LDAP servers with Moodle 1.8

by Waku Worldrings -

El problema que no me había modificado el archivo versions.php, lo he modificado a mano cambiando $plugin->component = 'auth_ldap'; 

a $plugin->component = 'auth_ldap2'; 


Ese era el problema en mi caso, un saludo.

In reply to Waku Worldrings

Re: How to use multiple LDAP servers with Moodle 1.8

by Anthony Cascianelli -

Does anyone know if this patch works for Moodle 2.9+?

In reply to Anthony Cascianelli

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
If you use the attached file, it should smile

Saludos.
Iñaki.
In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Nicolas REI -

Hello Inaki,


Thank's for your Patch.

I use this patch on mooble created by Bitnami and server 2012 R2.

My problem is the same of Pandiarajan : Error1.jpg


And no solution in this page.

If you have and idea...

Sorry for my English :/


Server 2012R2 Moodle 2.9.1 Patch 2.9+

Merci ;)

Nicolas

Attachment Error1.JPG
In reply to Nicolas REI

Re: How to use multiple LDAP servers with Moodle 1.8

by Nicolas REI -

Hello,

i have the solution, just not good format for the patch, now it's good, thank you.


Nico

In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Wendy Gordon -

Hello Iñaki

Thank you for such a great patch. Has a version been done for 2.8.7.

Gracias

In reply to Wendy Gordon

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Hi Wendy,

this version should work with 2.8.7+ (Build: 20150820).

Saludos.
Iñaki.
In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
It seems I forgot to include ldapname.diff in the previous .zip file (thanks Wendy for the heads up!).

This new .zip file includes all the necessary files.

Saludos
Iñaki.
Average of ratings: Useful (1)
In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Daniel Velazquez -
Hi iñaki my Moodle version it's 2.8.7+ I make all the instructions but when I tried to save de changes in the new server LDAP I can't, Here all the details about versión of my Moodle.

defined('MOODLE_INTERNAL') || die();


$version  = 2014111007.02;              // 20141110      = branching date YYYYMMDD - do not modify!

                                        //         RR    = release increments - 00 in DEV branches.

                                        //           .XX = incremental changes.


$release  = '2.8.7+ (Build: 20150716)'; // Human-friendly version name


$branch   = '28';                       // This version's branch.

$maturity = MATURITY_STABLE;             // This version's maturity level.

Saludos.


In reply to Daniel Velazquez

Re: How to use multiple LDAP servers with Moodle 1.8

by Noveck Gowandan -

Good day fellow Moodlers,

Are there any plans to port this mod over to Moodle 3?

Thanks for all that you guys do!

Regards,
Noveck

In reply to Noveck Gowandan

Re: How to use multiple LDAP servers with Moodle 1.8

by Emma Richardson -
Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Plugin developers

I just copied over the cloned folder and it is running just fine on 3.0.

In reply to Noveck Gowandan

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Hi Noveck,

The attached patch applies cleanly to 3.0.1, 3.0.2 and 3.0.3 (current as of today). And with some offset warnings to 3.0 (but still working ok).

Saludos.
Iñaki.
In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
It seems a small bug slipped in the previous version of the patch fro 3.0.x. It's harmless if you only create a single additional LDAP auth plugin clone, but it screws things up if you use more than one.

The attached .zip file fixes the bug.

Saludos.
Iñaki.
In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Saravanan PP -

Dear Iñaki,


I have tried this version (ldap-clones-patch-script_3.0+_v2.zip) in my moodle server version 3.0. I am getting the following error when I try this patch.


[E6320@Qmoodles moodle_30]$ php -f ldapname.php ldaptmtl

!!! <p>Error: database driver problem detected</p>

<p>The site administrator should verify server configuration</p><p>PHP has not been properly configured with the MySQLi extension for it to communicate with MySQL. Please check your php.ini file or recompile PHP.</p> !!!


My moodle application is working fine without this MySQLi extension moodle will not function.


Kindly help


Regards,

Saravanan P

In reply to Saravanan PP

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Hi Saravanan,

the error is probably due to the PHP command line interface configuration (php.ini) being different than your PHP web server module configuration (they sometimes use different configuration files for each of them).

Make sure you use the same configuration settings in both cases, and that you execute the command at the top of your Moodle installation directory.

Saludos.
Iñaki.
In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Michael Lynn -

Hi Iñaki,

Just to let you know that ldap-clones-patch-scriptv16_27+.zip works perfectly with Totara 2.7.6 (Moodle 2.7.9). Thank you!

Regards,

Michael.

 

In reply to Michael Lynn

Re: How to use multiple LDAP servers with Moodle 1.8

by Tomas De Amos -

Hi Iñaki.

First of all I want to thank you for your contribution.

I am using Moodle 3.1 and was able to apply the patch.

The additional auth plugin was generated and I was able to install it, activate and configure it.

The issue I`m facing now is that I am not sure if I need to add a scheduled task for this in order to syncronize. When I execute the cron job I only see messages for the first original plugin, but not from the second one added. Is this task necesarry? If yes, How can I add it?

In Scheduled tasks I only see this:

LDAP users sync job \auth_ldap\task\sync_task

This is what I see on cron execution:

Execute scheduled task: Trabajo de sincronización de usuarios LDAP (auth_ldap\task\sync_task)
... started 19:59:10. Current memory use 20.5MB.
Conectando con el servidor LDAP ...Creando la tabla temporal tmp_extuser..Obtenidos 2 registros de LDAPNo hay actualizaciones disponiblesNo hay entradas de usuarios para agregar... used 8 dbqueries
... used 0.56359791755676 seconds
Scheduled task complete: Trabajo de sincronización de usuarios LDAP (auth_ldap\task\sync_task)

Am I missing any configuration?

Thanks in advance for your help.

Tomas.

In reply to Tomas De Amos

Re: How to use multiple LDAP servers with Moodle 1.8

by Emma Richardson -
Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Plugin developers

Yes, your duplicated ldap plugin will not be run through scheduled tasks.  You will need to set up a separate cron job on your server if you want it to sync automatically.

In reply to Emma Richardson

Re: How to use multiple LDAP servers with Moodle 1.8

by Tomas De Amos -

Thanks Emma for your prompt reply.

Excuse me for my ignorance: Can you point me to a document which specifies the steps to set up a separate cron job?

Regards.

Tomas.

In reply to Tomas De Amos

Re: How to use multiple LDAP servers with Moodle 1.8

by Emma Richardson -
Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Plugin developers

That would depend on your server...at some point, you set up a cron job that pointed to admin/cli/cron.php or something similar.  Now you need add another line to that pointing to the sync.php or sync_users.php in your duplicated ldap plugin.

In reply to Emma Richardson

Re: How to use multiple LDAP servers with Moodle 1.8

by Tomas De Amos -

Thanks again Emma.

With your instructions I was able to execute the sincronization script directly from cli folder of the new LDAP plugin that I had generated.

Regards.

Tomas.

In reply to Tomas De Amos

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Hi Tomas,

you are not missing any configuration, as Emma has pointed out.

On the other hand, it turns out that I didn't notice that the patch was failing to take into account the new scheduled tasks sub-system files. So the scheduled tasks were not being created for the cloned plugins.

I have updated the patch to take that into account. Bear in mind that the cloned plugin scheduled tasks are only created during plugin installation (that's the way Moodle behaves, not something patch-specific). So this won't benefit existing users much (unless you backup your cloned plugin settings, uninstall it, re-install it and restore your plugin settings).

I'm attaching updated patches for Moodle 3.1+ (current as of today), and Moodle master. I'll upload and update version for Moodle 3.0+ in a few hours.

Saludos.
Iñaki.
In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Tomas De Amos -

Thanks for your help Iñaki !

Regards.

Tomas.

In reply to Tomas De Amos

Re: How to use multiple LDAP servers with Moodle 1.8

by Michael Lynn -

We are successfully using the clone script with Totara 2.7.6 (Moodle 2.7.9). It works really well.


A problem we have is that sometimes users have duplicate names in the different domains:

Example (names anonymised):

ldap - domain1\jsmith1 (Jonathan Smith)

ldap2 - domain2\jsmith1 (James Smith)

Jonathan Smith logs in and their account in Moodle is created.

When James Smith comes along their account isn't created in Moodle and they are logged in as Jonathan Smith.


This is because the username must be unique.

Question 1:

Am I right in saying that there is no way to map or modify the username created to include some other attribute e.g. country code in the Moodle username?

It might solve the problem if the username was generated with the country code as a prefix:

e.g. uk_jsmith1, us_jsmith1 etc.

We are using NTLM so the username is derived from SAMAccountName.


I can't see how we could even customise the authentication plugin because in auth.php in user_signup() $user->username is already populated with no access to other properties such as countrycode (mapped to c in the Active Directory attributes).


In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

Hi,

I'm a bit behind the promised schedule wink, but here go updated patches for Moodle 3.2 and Moodle master, current as of today.

I'll send patches for Moodle 3.0+ and Moodle 3.1+ in a second message, as I can't attach more than two files per message in this forum.

Saludos. Iñaki.

In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

Hi again,

here are the updated patches for Moodle 3.0+ and Moodle 3.1+.

Saludos. Iñaki.

In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Kimmo Kiiskinen -
Hi

the 3.1-script seems to be causing some errors with Moodle 3.1.6:

1 out of 14 hunks FAILED -- saving rejects to file auth/ldap/config.html.rej
In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Darren Biggs -

Hi Inaki

Your excellent work with the LDAP clones plugin has helped me a lot of the last year or so. I was wondering if you'd had a chance to create a new plugin for Moodle 3.2.2? I've tried the ldap-clones-patch-script_3.2_v1.zip and get the errors in the attached file.

Thanks

Darren


In reply to Darren Biggs

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

Hi Darren,

here's an updated version for Moodle 3.2.2+ (Build: 20170316). It also applies cleanly to 3.2.2 (Build: 20170313).

Saludos. Iñaki.

In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Darren Biggs -

Hi Inaki

That's is fantastic, thank you very much for your help. You are a life saver.

Thanks

Darren

In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Anthony Rimmer -

Hi Iñaki,

I've sent you a PM about this as well, but is there a possibility of a 3.3 patch?

It looks like everything has changed with the LDAP plugin in this release. Has anyone else encountered issues?

Kind regards, 

Anthony

In reply to Anthony Rimmer

Re: How to use multiple LDAP servers with Moodle 1.8

by Mónica Puig-Pey -

Hi Anthony, 

I'm trying to apply this patch por Moodle 3.3 using he latest I found: ldap-clones-patch-script_3.2.2_v2, and I'm having the next message:

patching file auth/ldap/auth.php
Hunk #42 FAILED at 1827.
Hunk #43 FAILED at 1989.
Hunk #44 succeeded at 1828 (offset -180 lines).
Hunk #45 succeeded at 1837 (offset -180 lines).
Hunk #46 succeeded at 1884 (offset -180 lines).
Hunk #47 succeeded at 1993 (offset -180 lines).
Hunk #48 FAILED at 2223.
Hunk #49 succeeded at 2065 (offset -198 lines).
3 out of 49 hunks FAILED -- saving rejects to file auth/ldap/auth.php.rej
patching file auth/ldap/classes/task/sync_task.php
patching file auth/ldap/cli/sync_users.php
can't find file to patch at input line 608
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/auth/ldap/config.html b/auth/ldap/config.html
|index 883eb9d0b52..084dd592d9a 100644
|--- a/auth/ldap/config.html
|+++ b/auth/ldap/config.html
--------------------------
File to patch:

Could you solve it? thanks in advance, 

Regards, 

Monica


In reply to Mónica Puig-Pey

Re: How to use multiple LDAP servers with Moodle 1.8

by Anthony Rimmer -

Hi Monica,

I wanted to reply as you directed your message at me.

It's not something I would be able to help you with, but hopefully Iñaki or another can.

It looks like the settings.php file in 3.3 has superseded the config.html file in lesser versions, which is why the patching is failing. There is no config.html file anymore.

Anthony

In reply to Anthony Rimmer

Re: How to use multiple LDAP servers with Moodle 1.8

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

Hi,

I've been unable to get some spare time to work on this, but I finally managed to have some smile

Here are a couple of versions, one for 3.3, a second one for 3.3.1 (this one applies to 3.3 with just a warning about a single hunk, but i decided to create a separate one for 3.3).

Hope this helps.

Saludos. Iñaki.

In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Mónica Puig-Pey -

Hi Iñaki, 

Thank very much for your time and the new version patch, it's going to be very useful for our site.

I've seen a small mistake I think: in version 3.3.1, at ldapname.diff you are using ldap2 instead of '/auth/'.$this->authtype.'...', so you get an error if you use a different name of ldap2 for the new ldap.

Thanks again, un saludo

Mónica

Average of ratings: Useful (1)
In reply to Iñaki Arenaza

Re: How to use multiple LDAP servers with Moodle 1.8

by Dom Northeast -

Hi Iñaki.,

Thank you for a most useful addition to Moodle, I have been using it successfully for the last couple of years. 


I hope you can assist. I recently upgraded our Moodle to 2.9+ (Build: 20150604) and have attempted to apply your 2.9+ patch but am coming up with a patch error as attached. The server is Centos 6.7. 

Kind Regards

Dominique Northeast




In reply to Dom Northeast

Re: How to use multiple LDAP servers with Moodle 1.8

by Dom Northeast -

Hi Iñaki,

Please ignore my previous request for assistance. I have figured out what I was doing wrong (my own fault as might be expected). I simply needed to cd to the moodle root directory before applying the patch. Once done the patch installed fine.

I had bit of a conflict with the installed version; I was getting a database upgrade error saying:

auth_ldap2

Cannot downgrade auth_ldap from 2015051100 to 2014111001.


However, once I modified the version dates in /auth/ldap2/db/upgrade.php from the older date to the newer, it installed fine and is working as perfectly as ever.


Regards

Dominique Northeast

Average of ratings: Useful (1)