lemonldap-ng issueshttps://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/-/issues2018-11-29T17:58:01Zhttps://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/-/issues/1560Do not require to edit /etc/hosts to add reload vhost2018-11-29T17:58:01ZClément OUDOTDo not require to edit /etc/hosts to add reload vhostWe don't need to edit /etc/hosts, we should instead set the reload URL key to localhost, so it works by default at first installation. We then have a documentation to explain how configure reload URLs for cluster or complex installations.We don't need to edit /etc/hosts, we should instead set the reload URL key to localhost, so it works by default at first installation. We then have a documentation to explain how configure reload URLs for cluster or complex installations.2.0.0Clément OUDOTClément OUDOThttps://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/-/issues/1503RENATER metadata download script2018-11-08T14:48:33ZClément OUDOTRENATER metadata download scriptWhen using SAML with RENATER (or eduGAIN), we need to download metadata of all registered partners and configure them inside LL:NG. Unless this, the WAYF (see #1478) is not working, as the selected partner is not registered.
Technical d...When using SAML with RENATER (or eduGAIN), we need to download metadata of all registered partners and configure them inside LL:NG. Unless this, the WAYF (see #1478) is not working, as the selected partner is not registered.
Technical details for script implementation: https://services.renater.fr/federation/technique/metadata2.0.0Clément OUDOTClément OUDOThttps://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/-/issues/1488Be tolerant with whitespaces in ini file2018-08-12T20:33:28ZPaul CurieBe tolerant with whitespaces in ini file### Concerned version
Version: 2.0.0 beta1
Platform: Debian / Nginx 1.14
### Summary
When converting my config from files to pgsql, I can't.
### Logs
```
root@llng1-dev:~# /usr/share/lemonldap-ng/bin/convertConfig --current=/etc/le...### Concerned version
Version: 2.0.0 beta1
Platform: Debian / Nginx 1.14
### Summary
When converting my config from files to pgsql, I can't.
### Logs
```
root@llng1-dev:~# /usr/share/lemonldap-ng/bin/convertConfig --current=/etc/lemonldap-ng/old.ini --new=/etc/lemonldap-ng/lemonldap-ng.ini
Undefined subroutine &Lemonldap::NG::Common::Conf::Backends::CDBI ::prereq called at /usr/share/perl5/Lemonldap/NG/Common/Conf.pm line 409.
```
cat /etc/lemonldap-ng/old.ini
```
[all]
[configuration]
type = File
dirName = /var/lib/lemonldap-ng/conf
```
cat /etc/lemonldap-ng/lemonldap-ng.ini
```
type = CDBI
dbiChain = DBI:Pg:database=lemonldap;host=localhost
dbiUser = lemonldap
dbiPassword = password
dbiTable = lmconfig
;type=File
;dirName = /var/lib/lemonldap-ng/conf
```
psql is ok :
```
root@llng1-dev:~# psql -h localhost -d lemonldap -U lemonldap -W
Mot de passe pour l'utilisateur lemonldap :
psql (9.6.10)
Connexion SSL (protocole : TLSv1.2, chiffrement : ECDHE-RSA-AES256-GCM-SHA384, bits : 256, compression : désactivé)
Saisissez « help » pour l'aide.
lemonldap=> \q
```
### Backends used
Files/PGSQL
Thanks2.0.0YaddYaddhttps://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/-/issues/1208YAML configuration backend2018-05-19T19:41:46ZYaddYAML configuration backendSeems easily to parse than JSON for some toolsSeems easily to parse than JSON for some tools2.0.0YaddYaddhttps://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/-/issues/1205Remove "experimental" from lemonldap-ng-cli2018-05-19T19:41:45ZClément OUDOTRemove "experimental" from lemonldap-ng-cliThe lemonldap-ng-cli can now be used with configuration tools like puppet or ansible, and works well. I think we can remove the "experimental" warning of this tool.The lemonldap-ng-cli can now be used with configuration tools like puppet or ansible, and works well. I think we can remove the "experimental" warning of this tool.2.0.0YaddYaddhttps://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/-/issues/1201IPv6 support2018-05-19T19:41:45ZYaddIPv6 supportAdd some IPv6 support :
* in Safelib:
** *{{isInNet6($ipAddr, '2134::/16')}}*: return true if $ipAddr is in 2134::/16 network
* for Session Explorer:
** *{{isIpv6($ipAddr)}}*: check if $ipAddr is a IPv6 address
** some features to displa...Add some IPv6 support :
* in Safelib:
** *{{isInNet6($ipAddr, '2134::/16')}}*: return true if $ipAddr is in 2134::/16 network
* for Session Explorer:
** *{{isIpv6($ipAddr)}}*: check if $ipAddr is a IPv6 address
** some features to display IPv6 addresses2.0.0YaddYaddhttps://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/-/issues/1174Auth and UserDB REST (delegation by web-service)2018-05-19T19:41:44ZMathieu Lecompte-melançonAuth and UserDB REST (delegation by web-service)That could be intresting to have a Backend(Authentification/Users/password) base on a specified Web Service API..
that way, we just have to implement our Web service in our main programming langage like Java/DotNet/ect.. and make all cu...That could be intresting to have a Backend(Authentification/Users/password) base on a specified Web Service API..
that way, we just have to implement our Web service in our main programming langage like Java/DotNet/ect.. and make all customization under the api on our responsability...2.0.0YaddYaddhttps://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/-/issues/1173Performance: minimize Apache::Session access2018-05-19T19:41:44ZYaddPerformance: minimize Apache::Session accessLemonldap::NG::Common::Session always untie %data. So getApacheSession() + session->update($info) ties 2 times %data.
This issue will give possibility to directly attach and update %data in getApacheSession().Lemonldap::NG::Common::Session always untie %data. So getApacheSession() + session->update($info) ties 2 times %data.
This issue will give possibility to directly attach and update %data in getApacheSession().2.0.0YaddYaddhttps://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/-/issues/1169Be consistent in session "private" variable names2018-05-19T19:41:44ZClément OUDOTBe consistent in session "private" variable namesWe have sessions data which are set by LL::NG and other which come from UserDB backend.
Some of variables set by LL::NG are prefixed with "_" but not all. We can maybe work on this for 2.0
See also http://lemonldap-ng.org/documentation...We have sessions data which are set by LL::NG and other which come from UserDB backend.
Some of variables set by LL::NG are prefixed with "_" but not all. We can maybe work on this for 2.0
See also http://lemonldap-ng.org/documentation/latest/variables2.0.0YaddYaddhttps://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/-/issues/1162Capability to use Log4Perl (and other log backends)2018-06-13T19:34:33ZYaddCapability to use Log4Perl (and other log backends)Create Lemonldap::NG::Common::Logger::* classes to be able to choose logging stack.Create Lemonldap::NG::Common::Logger::* classes to be able to choose logging stack.2.0.0YaddYaddhttps://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/-/issues/1118Manage unicode in session and configuration backends2018-05-19T19:41:41ZClément OUDOTManage unicode in session and configuration backendsWe need to have a clean solution in order to have unicode in our backends, without needed to convert encoding in our code.
For backends that are not compatible with UTF-8, an ASCII conversion must be done.We need to have a clean solution in order to have unicode in our backends, without needed to convert encoding in our code.
For backends that are not compatible with UTF-8, an ASCII conversion must be done.2.0.0YaddYaddhttps://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/-/issues/830AuthMulti : display multiple forms2018-05-18T05:17:42ZMaxime De roucyAuthMulti : display multiple formsThis patch modify the form used by the multi module.
It display all the forms of the modules in the Multi string in one page.This patch modify the form used by the multi module.
It display all the forms of the modules in the Multi string in one page.2.0.0YaddYaddhttps://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/-/issues/757"Attempt to free unreferenced scalar" in Lemonldap::NG::Common::Session2018-05-15T20:31:11ZClément OUDOT"Attempt to free unreferenced scalar" in Lemonldap::NG::Common::SessionLes erreurs suivantes sont visibles dans les logs :
{panel}
Attempt to free unreferenced scalar: SV 0x7f651397cd08, Perl interpreter: 0x7f64f12c0e70 at /usr/share/perl5/Lemonldap/NG/Common/Session.pm line 84.
Attempt to free unreferenced...Les erreurs suivantes sont visibles dans les logs :
{panel}
Attempt to free unreferenced scalar: SV 0x7f651397cd08, Perl interpreter: 0x7f64f12c0e70 at /usr/share/perl5/Lemonldap/NG/Common/Session.pm line 84.
Attempt to free unreferenced scalar: SV 0x7f6513b4b898, Perl interpreter: 0x7f64f12c0e70 at /usr/share/perl5/Lemonldap/NG/Common/Session.pm line 150.
Attempt to free unreferenced scalar: SV 0x7f6513b4c1b0, Perl interpreter: 0x7f64f12c0e70 at /usr/share/perl5/Lemonldap/NG/Common/Session.pm line 111.
Attempt to free unreferenced scalar: SV 0x7f6512e5c760, Perl interpreter: 0x7f64f12c0e70 at /usr/share/perl5/Lemonldap/NG/Common/Session.pm line 112.
{panel}
Certainement lié à la version de Mouse qui est assez ancienne.2.0.0YaddYaddhttps://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/-/issues/713Request management to handle sessions2018-05-18T05:17:37ZFX DeltombeRequest management to handle sessionsCreating a session causes four request to session backend (at least for SQL session backend, but I guess it behave the same with any backend), one insert request and three update,
* the first one to add "_session_kind" => "SSO",
* the se...Creating a session causes four request to session backend (at least for SQL session backend, but I guess it behave the same with any backend), one insert request and three update,
* the first one to add "_session_kind" => "SSO",
* the second one to add session data
* the third one to add "updateTime" and "_issuerDB"
Till version 1.3, it was done with two requests, one insert and one update. And it could be done with one single request.
As same, logout causes three select requests to read user session, whereas a single request is enough.2.0.0YaddYaddhttps://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/-/issues/651Common::CGI::abort should return 500 as HTTP status code2018-05-18T05:17:34ZJean-Charles RogezCommon::CGI::abort should return 500 as HTTP status codeWhen an error occurs, LemonLDAP return a 200 status code instead of a 500 code.
This prevents load balancers to remove the defect services from their pools.
Patch attached.When an error occurs, LemonLDAP return a 200 status code instead of a 500 code.
This prevents load balancers to remove the defect services from their pools.
Patch attached.2.0.0YaddYaddhttps://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/-/issues/595Portal powered by FastCGI (using Plack)2018-12-21T10:26:30ZYaddPortal powered by FastCGI (using Plack)For performances _(and many bugs with ModPerl::Registry / Apache-2.4)_, all CGI are replaced by FastCGI using [Plack|https://metacpan.org/pod/Plack] like Manager-1.9. This allows also a better Nginx integration.For performances _(and many bugs with ModPerl::Registry / Apache-2.4)_, all CGI are replaced by FastCGI using [Plack|https://metacpan.org/pod/Plack] like Manager-1.9. This allows also a better Nginx integration.2.0.0YaddYaddhttps://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/-/issues/587Selecting language while connecting to LemonLDAP2018-05-18T05:17:31ZIheb KhemissiSelecting language while connecting to LemonLDAPHi,
First of all, thank you for your hard work.
During our migration process to LemonLDAP (while creating a new skin) I have encountered a problem concerning the ability to select a language (instead of the browser's language sent in t...Hi,
First of all, thank you for your hard work.
During our migration process to LemonLDAP (while creating a new skin) I have encountered a problem concerning the ability to select a language (instead of the browser's language sent in the HTTP header "Accept Languague").
Currently, during the connexion process, my app's users can select which language to choose regardless of the browser's language (which is used by default if the user hasn't choosen a diffrent one). Users can also specify a language in the query string (i.e. http://example.com?lang=fr).
So is there any way to do this with LemonLDAP's skins ? basically, what I want to do is to add some flags in the login page and if the user clicks the flag, I respond with the page translated in the selected language and I continue using the selected language.
I have thought of some solutions (but none of them is appealing enough) :
1) Updating the "Accept-Language" header by adding the value of the LANG param (extracted from the QUERY-STRING) using a lemonldap's custom function.
2) Updating the "Accept-Language" header or the environment variable "HTTP_ACCEPT_LANGUAGE" using a LL::NG Handler
3) Updating the "Accept-Language" header by prepending the value of the LANG param (extracted from the QUERY-STRING and transformed to correct format) using Apache's mods --> I don't know how to preprend the param's value to the header.
4) Creating a patch to the "extract_lang" method to accept other entries.
Should I use one of them or is there a better method ?
Thank you very much (and sorry for the lengthy mail),
Best regards,
Iheb2.0.0YaddYadd