Benjamin Renard
0ec390e1fe
Add API feature
...
Some major changes have been made to handle this new feature :
- LSsession now have a flag about API mode. The displayTemplate() and
displayAjaxReturn() methods have been adjust to correctly handle this
mode.
- LSauth system have been adjust to handle a custom API mode :
- LSauthMethod can support or not this mode : the $api_mode_supported
permit to defined if supported (default, false). Currently, only
HTTP (default in API mode) and annonymous mode support it.
- An api_access parameter permit to configure witch type of user
LSobject types could use the API. This flag must be set to True to
allow a type of LSobject (default: False). In a same way, a
web_access parameter now permit to disable Web access for some
types of users (but this parameter is optional and its default value
is True).
- The HTTP method is the privileged first method for API mode. In this
mode, if auth data aren't present in environment, it will request it
by triggered a 403 HTTP error. Realm can be configured with new
LSAUTHMETHOD_HTTP_API_REALM constant.
- The LStemplate system handle API mode to correctly react on errors: it
return a JSON answer instead of HTML page. Error pages also now return
adjusted HTTP code (404 or 500).
- The LSurl system have been adjust to handle API mode :
- On declaring handlers, we could now specify if it's an API view with
new $api_mode paremeter of add_handler() method
- The LSurlRequest object have a new attribute to check if it's an API
request
- The error_404() method handle the API mode to return JSON answer.
Furthermore, if no handlers matched with the requested URL, API mode
is automatically enabled if the requested URL starts with 'api/'.
- LSform implement it own API mode flag and a new submited flag that
be toggle via the new setSubmited() method. Some major changes also
occured on LSformElement classes to specifically handle API
input/output for each types of attributes:
- a new getApiValue() method permit to retrieve the API value of the
attribute (on show API view)
- the getPostData() method now have to correctly handle API input for
the attribute (on create/modify API views). A programmatic way have
been adopted for each types of attributes.
- The LSimport and LScli create/modify commands also evolved to enable
API mode of the LSform. This permit to take advantage of the new
capability of LSform/LSformElement to handle input values with a
programmatic way.
- New routes have been add to handle API views. All this new routes
start with 'api/1.0/' and use the same URL schema as the web UI. The
API currently permit to search/show/add/modify/remove LSobjects and
manages their relations.
2021-02-03 14:40:28 +01:00
Benjamin Renard
e92bc10c8b
LSldapObject: fix default $attrValues handling for updateObjectsInRelation/deleteOneObjectInRelation methods
2021-02-03 14:19:37 +01:00
Benjamin Renard
305d7447ff
LSsession: Fix relationCanAccess() method and add debuging infos
2021-02-03 12:44:38 +01:00
Benjamin Renard
841b3d0bcf
LSsearch::setParamsFromRequest(): add check on parameters load from request data
2021-02-02 20:42:02 +01:00
Benjamin Renard
eb8cfbf66a
LSsearch: rename method setParamsFormPostData() to setParamsFromRequest()
2021-02-02 20:30:08 +01:00
Benjamin Renard
2544687b27
LSsession::checkAccess(): fix checking read right
2021-02-02 20:28:02 +01:00
Benjamin Renard
cb0106fda9
LSurlRequest: fix fatal error on logging
2021-01-29 17:12:29 +01:00
Benjamin Renard
ac7e042c2a
LSattribute: add default LDAP & HTML type (ascii / text)
2021-01-29 15:59:13 +01:00
Benjamin Renard
40a17c3524
LSlang: improve generate_lang_file command
...
Improve detection in PHP files, add detection in LSaddons/LSauthMethod
config files and includes PHP files. Add -I/--include-upstream parameter
(and use it for generate_ldapsaisie_pot command)
2021-01-29 15:23:22 +01:00
Benjamin Renard
bc9cc77cde
LSattr_ldap::shadowExpire: fix to rounding method to avoid date change
2021-01-29 12:30:59 +01:00
Benjamin Renard
d48a3c2dc0
LSexample/LSpeople: fix sambaPwdCanChange as single-value
2021-01-29 12:00:03 +01:00
Benjamin Renard
29e499e1d6
LSldapObject::submitChange(): fix error renaming LSobject
...
Old RDN value was keep and block the update ot the other changed
attributes.
2021-01-28 16:59:42 +01:00
Benjamin Renard
fadfe2d2ba
LSldapObject::validateAttrData(): fix fatal errors on missing formated log messages
2021-01-28 16:57:51 +01:00
Benjamin Renard
2fec564d91
LSexample/LSgroup: upgrade generate_gidNumber_withSambaDomainObject to generate_samba_gidNumber
2021-01-28 16:43:48 +01:00
Benjamin Renard
9680f8a18e
LSform: fix displaying error in form in case of global error
2021-01-18 15:04:14 +01:00
Benjamin Renard
957777d44f
LSldapObject::validateAttrData(): fix checking LDAP validation result
2021-01-18 15:03:26 +01:00
Benjamin Renard
7ef6e57c49
LSldapObject::submitChange(): code cleaning
2020-12-22 19:46:57 +01:00
Benjamin Renard
a353ca5c37
LSldapObject::submitChange(): Add security check about isNew() return
2020-12-22 19:45:35 +01:00
Benjamin Renard
06b8fddc51
LSldapObject::validateAttrData(): check return type of LSldap::getNumberResult()
2020-12-22 19:44:51 +01:00
Benjamin Renard
89ecbb8a5c
LSldap: fix search & getNumberResult methods to use basedn from configuration instead of empty one.
2020-12-22 19:43:50 +01:00
Benjamin Renard
14352da6bd
LSformElement::jsonCompositeAttribute: Fix PHP warning
2020-12-22 19:32:14 +01:00
Benjamin Renard
514a2eb0fd
Code cleaning
2020-12-22 18:42:56 +01:00
Benjamin Renard
7535530416
LSformRule: do not defined validate_one_by_one constant visibility
...
To keep compatibility with PHP < 7.1.
2020-12-22 18:05:28 +01:00
Benjamin Renard
43d2620f8e
CLI search: add JSON output (with -j|--json parameters)
...
Futhermore, --pretty parameter also permit to prettify the JSON
output.
2020-12-22 11:01:38 +01:00
Benjamin Renard
1c13aa7cdd
CLI search: add --all parameter to permit to disable pagination
2020-12-22 11:00:49 +01:00
Benjamin Renard
f6f2e352bc
CLI show: add JSON output (with -j|--json parameters)
...
Futhermore, -p|--pretty parameter also permit to prettify the JSON
output.
2020-12-22 10:31:23 +01:00
Benjamin Renard
d39bba45fb
CLI show: fix handling --raw-values parameter
2020-12-22 10:27:22 +01:00
Benjamin Renard
1428b5df62
LSattr_ldap::pwdHistory: fix fatal error on time encoding.
2020-12-21 14:54:37 +01:00
Benjamin Renard
114e3c48ac
LSformRule: add validate_values() method and use it to value rules
...
Also add validate_one_by_one class constant to allow to handle
validation on all values together instead of one-by-one.
2020-12-21 14:53:36 +01:00
Benjamin Renard
089693ea0e
Fix/improve LSsession_13 errors (unconfigured/unknown custom action function)
2020-12-16 17:42:55 +01:00
Benjamin Renard
d59f8c52bb
HTML buttons are now handle by default CSS (and light-blue one)
2020-12-16 17:22:39 +01:00
Benjamin Renard
443d51865f
Add LStable CSS class to make easier to create customized table
2020-12-16 17:21:47 +01:00
Benjamin Renard
28ac541c3c
Fix possibility to scroll the menu on responsive view
2020-12-16 14:51:26 +01:00
Benjamin Renard
0f0bff5a77
LSldapObject::submitChange(): on new object, check if generated DN is not already affected
2020-12-14 19:42:19 +01:00
Benjamin Renard
ab922356c0
LSsession :: loadLSprofilesLSobjects(): fix a PHP warning
2020-12-14 19:37:13 +01:00
Benjamin Renard
a49cf4ba0c
LSldapObject: fix/improve validateAttrData()
2020-12-14 19:36:21 +01:00
Benjamin Renard
8b292f538d
LSconfig :: get(): add array casting (using ensureIsArray())
2020-12-14 19:35:03 +01:00
Benjamin Renard
2abc369c73
LSformElement::labeledValue: fix label translation on freeze view
2020-12-10 17:21:21 +01:00
Benjamin Renard
f6a6c226f4
LSattribute: fix handling default_value in generateValue()
2020-12-02 20:17:18 +01:00
Benjamin Renard
852b375964
LSattribute: fix canBeGenerated() when default_value isn't a string
2020-12-02 19:53:29 +01:00
Benjamin Renard
1da0693138
LSaddon::samba: fix PHP warning about LS_SAMBA_UNIX_ID_POOL_DN contant
2020-12-02 19:49:37 +01:00
Benjamin Renard
a7ab192274
Add LSldap_attr::pwdHistory
2020-12-02 18:12:00 +01:00
Benjamin Renard
c6501d479b
LSattr_html::jsonCompositeAttribute: Add fullWidth parameter and improve responsive display
2020-12-02 17:43:55 +01:00
Benjamin Renard
2161cc701a
LSattr_ldap::compositeValueToJSON: use static instead of self keyword
...
Use static instead of self keyword to use static method. This permit to
easily override this class.
2020-12-02 16:37:41 +01:00
Benjamin Renard
bc462c07b6
Add some debugging/trace messages
2020-12-01 16:48:07 +01:00
Benjamin Renard
597054acad
LSattr_ldap::shadowExpire: fix getUpdateData()
...
Fix to return a correctly rounded value as string.
2020-12-01 16:43:31 +01:00
Benjamin Renard
42dd0aa728
LSformElement :: date: fix getPostData() method
2020-12-01 16:42:20 +01:00
Benjamin Renard
3c75ef482e
Remove historic read right on all attributes of the hard-coded "admin" LSprofile
2020-12-01 16:40:21 +01:00
Benjamin Renard
4e8a6db06b
LSaddon::posix: fix generate_shadowLastChange()
...
Just return a timestamp because its designed to be used with
LSattr_ldap_shadowExpire that will handled the division by 86400.
2020-12-01 16:37:01 +01:00
Benjamin Renard
0addf22c2e
LSldapObject :: _updateData(): make method protected instead of private
...
This change allow this method usage from children classes to allow
custom relation implementations.
2020-12-01 15:04:20 +01:00
Benjamin Renard
b4a5824ee8
Code cleaning
2020-11-30 19:44:14 +01:00
Benjamin Renard
106a2d9f04
Use ensureIsArray() helper to make code more readable
2020-11-30 19:43:52 +01:00
Benjamin Renard
770533b7ec
Ensure attributes values are always an array in LSattribute & LSattr_ldap
2020-11-30 19:37:44 +01:00
Benjamin Renard
f7231229f5
LSsession: fix errors in changeAuthUser() and add logging messages
2020-11-30 16:13:36 +01:00
Benjamin Renard
335d6a4efa
Default config files: add ending-line commas to avoid problem on editing
2020-11-25 15:59:36 +01:00
Benjamin Renard
b93187f208
LSformElement::labeledValue: add translate_labels parameter and fix translating it
2020-11-25 15:46:25 +01:00
Benjamin Renard
b00f59af2e
light-blue.css: improve custom select display
2020-11-25 15:37:56 +01:00
Benjamin Renard
88248506cf
LSformElement::labeledValue: fix/improve display
2020-11-25 15:20:25 +01:00
Benjamin Renard
ef9470bf31
LSexample: fix value_attribute ('dn' vs '%{dn}')
2020-11-24 19:50:44 +01:00
Benjamin Renard
8b996885d1
LSsession: improve loadLSaddons() method
2020-11-17 17:56:04 +01:00
Benjamin Renard
56ffbd7a71
Fix bug in last commit
2020-11-17 17:47:50 +01:00
Benjamin Renard
d5bfddf124
LSaddon::mail: Add test_send_mail CLI command
2020-11-17 11:26:06 +01:00
Benjamin Renard
6c35af3109
Fix PHP warning about undefined constant SELF (routes.php)
2020-10-08 18:08:35 +02:00
Benjamin Renard
3598e48c6e
LSaddon::LSaccessRightsMatrixView: handle customActions & customSearchActions
2020-09-23 14:10:50 +02:00
Benjamin Renard
85b74feb86
LSaddon SUPANN: add supannCheckEntityCouldBeDeleted() function
2020-09-22 20:47:03 +02:00
Benjamin Renard
43cf5ccd7a
LSaddon SUPANN: add support for some attributes
...
Add support of following attributes:
- supannCivilite:
add supannGetCivilitePossibleValues()
- eduPersonAffiliation:
add supannGetAffiliationPossibleValues() and
supannCheckEduPersonAffiliation()
- supannCheckEduPersonAffiliation:
add supannGetAffiliationPossibleValues() and
supannCheckEduPersonPrimaryAffiliation()
- supannCheckEduPersonPrimaryAffiliation:
add generate_eduPersonPrincipalName()
2020-09-22 18:10:05 +02:00
Benjamin Renard
de62999fea
LSattr_html::select_list: add get_possible_values parameter
2020-09-22 15:04:31 +02:00
Benjamin Renard
8f407e9345
Add LSaddon::showTechInfo
2020-09-21 15:47:07 +02:00
Benjamin Renard
5315005382
LSldapObject::loadData(): explicitly list need attributes in LDAP request
2020-09-21 12:45:39 +02:00
Benjamin Renard
9edfa2b92e
LSldap::getAttrs(): add $attrs and $include_internal optional parameters
2020-09-21 12:45:33 +02:00
Benjamin Renard
d6c9e358f3
LSaddon::mail: add possibility to send HTML email
2020-09-16 10:35:47 +02:00
Benjamin Renard
255817d7aa
Improve POSIX support and add examples to handle this type of attributes
2020-09-11 13:54:08 +02:00
Benjamin Renard
bf482c648f
LSattr_ldap::shadowExpire: fix getUpdateData() method to return string values
2020-09-11 13:40:48 +02:00
Benjamin Renard
41d816c025
LSformElement: 📅 add clear btn
2020-09-11 13:38:07 +02:00
Benjamin Renard
e4ca5bbf71
LSformElement: 📅 Make today btn working even if input is empty
2020-09-11 13:35:35 +02:00
Benjamin Renard
052882eb49
Fix handling "0" (zero string) value
2020-09-11 13:34:42 +02:00
Benjamin Renard
822d777dfd
LSaddon::samba: fix home and profile path formats
2020-09-11 12:12:43 +02:00
Benjamin Renard
1169772c4a
LSattr_html::select_list: clean code of getPossibleValues() method
2020-09-10 15:53:19 +02:00
Benjamin Renard
b8c00a8708
LSattr_html::select_box: fix double translation of labels on unfreeze field
2020-09-10 15:52:29 +02:00
Benjamin Renard
e62ddbdc19
LSformElement::image: fix error on non-AJAX form when no file is submited
2020-09-10 15:46:10 +02:00
Benjamin Renard
aeea76ab2a
LSform: fix/improve handling config
...
Permit to fix handling ajaxSubmit form.
2020-09-10 15:45:26 +02:00
Benjamin Renard
00132e32ad
LSform: fix non-AJAX form submission (or form with input[type=file])
2020-09-10 15:43:52 +02:00
Benjamin Renard
060ebf1bff
Allow conversion of LSattr_ldap to string
2020-09-10 12:26:48 +02:00
Benjamin Renard
00d92d1c37
generate_lang_file CLI command: improve logging
2020-09-10 12:26:25 +02:00
Benjamin Renard
4e87ddb898
generate_lang_file CLI command: factor handling possible_values of select list&box
2020-09-10 12:09:26 +02:00
Benjamin Renard
d344c56f45
generate_lang_file CLI command: fix PHP warning
2020-09-10 12:07:04 +02:00
Benjamin Renard
be04b6becf
Add warning on unknown key requested using __get methods
2020-09-10 10:38:35 +02:00
Benjamin Renard
d0d3e944ed
Extend LSlog_handler using LSlog_staticLoggerClass
2020-09-10 10:26:49 +02:00
Benjamin Renard
988054bfc5
LSlog handlers: fix log TRACE enabled error (even if disabled)
2020-09-10 10:17:19 +02:00
Benjamin Renard
1e6fa6fe8e
Improve samba config in LSexample
2020-09-09 20:20:03 +02:00
Benjamin Renard
fd4bf4f38a
Fix some PHP5 syntax errors
2020-09-09 20:11:03 +02:00
Benjamin Renard
02ad9ded1e
generate_lang_file CLI command: add Q choice in interactive mode to quit
2020-09-09 20:06:43 +02:00
Benjamin Renard
b3210c0108
Update french translation
2020-09-09 19:05:01 +02:00
Benjamin Renard
63f57cfd77
LSldap: fix/improve update() and getEntry() methods
2020-09-09 19:02:32 +02:00
Benjamin Renard
a4183a88fc
Improve Samba support using LSaddon::samba
2020-09-09 19:00:55 +02:00
Benjamin Renard
15941ac678
Add LSattr LDAP & HTML sambaAcctFlags type
2020-09-09 18:45:34 +02:00
Benjamin Renard
7e74853021
LSattr_html::date & LSformRule: 📅 add special_values parameter
2020-09-09 18:40:44 +02:00
Benjamin Renard
cccce6edb5
LSldapObject::submitChange(): improve logging
2020-09-09 18:36:46 +02:00
Benjamin Renard
6a3fd60d3e
LSformElement::getEmptyField() / LSformElement.tpl: Provide value index as $value_idx template variable
2020-09-08 18:42:54 +02:00
Benjamin Renard
df1c46eab6
Add __toString() method to all common extendable PHP classes
...
This permit to make context logging easier.
2020-09-08 17:29:10 +02:00
Benjamin Renard
e89d13d002
LSsearch: fix PHP warning
2020-09-08 16:36:54 +02:00
Benjamin Renard
14bccc1e17
LSrelation: check relation is correctly configured before using it
...
To avoid some unreal warnings in case of misconfigured relation
2020-09-03 18:59:13 +02:00
Benjamin Renard
88d8d7f026
LSrelation: fix error codes prefix
2020-09-03 18:38:08 +02:00
Benjamin Renard
9db67eb2ba
LSsession: improve error messages
2020-09-03 18:31:53 +02:00
Benjamin Renard
1d1e813edf
Fix typo in french translation
2020-09-03 18:07:45 +02:00
Benjamin Renard
bbaa0a99df
Auto declare simple PHP class for simple LSObject type
...
On LSsession::loadLSobject(), if PHP class file is not found, a simple
one will be declare.
2020-09-03 16:00:51 +02:00
Benjamin Renard
406b017023
Add method LSldapObject::isValidTypeName() and use it in LSsession::loadLSobject()
2020-09-03 15:40:59 +02:00
Benjamin Renard
4c427b26d6
Improve logging on LSobject & LSattribute triggers executions
2020-08-26 18:08:14 +02:00
Benjamin Renard
8be45249cb
LSformRule :: imagesize: use self :: log_debug() instead of LSdebug()
2020-08-26 16:11:21 +02:00
Benjamin Renard
5b9e6409f4
LSform: fix call of LSformRules validate method to provide LSformElement by ref
2020-08-26 16:10:50 +02:00
Benjamin Renard
4c1c7b2fae
LSldapObject->getValue(): add $first and $default parameters
2020-08-26 12:56:58 +02:00
Benjamin Renard
699631b63c
LsformRule: provide reference to LSformElement instead of copied value
2020-08-26 11:45:59 +02:00
Benjamin Renard
f0ef642cf0
LScli::add_command(): fix typo in comment
2020-08-25 20:33:08 +02:00
Benjamin Renard
a8e2ecc343
Translate LSerror message at formating/diplaying time
...
It's permit to be sure to translate message in the right user language,
even if its context isn't loaded at error emission time.
2020-08-25 17:31:50 +02:00
Benjamin Renard
827cf2ca7f
Handle redirections of old-style URL even if user not authenticated
...
It's avoid to display error only after login form success.
2020-08-25 17:14:34 +02:00
Benjamin Renard
3d49092262
LSlang: fix warning about return not True
2020-08-25 11:01:28 +02:00
Benjamin Renard
75cbea9459
modify page: fix URL encode object DN in redirection URL
2020-08-25 10:55:28 +02:00
Benjamin Renard
a7d202e5ff
LScli: add --trace parameter
2020-08-24 18:03:50 +02:00
Benjamin Renard
8a1eefc5e3
LSsession::loadLSprofiles(): restructuring code and improve comments and logging
2020-08-24 17:56:42 +02:00
Benjamin Renard
c4dc2a0441
LSsearch::getHash(): fix handling onlyAccessible parameter
2020-08-24 16:55:24 +02:00
Benjamin Renard
11c2e3c9d4
LSsearch: remove buggy _hash cache parameter and replace it by an hash accessible key
2020-08-24 16:54:43 +02:00
Benjamin Renard
7c8fb87c99
LSsearchEntry: remove useless $hash private property
2020-08-24 16:14:16 +02:00
Benjamin Renard
70370f99f9
LSsearch: fix/improve logging
2020-08-24 16:04:23 +02:00
Benjamin Renard
e8768d94ce
LStemplate::getImagePath(): handle SVG image type/ext as prefered format
2020-08-20 18:29:19 +02:00
Benjamin Renard
ada72f3604
light-blue.css: fix objet link color in list when table row is hover
2020-08-20 18:25:04 +02:00
Benjamin Renard
b13ff9b832
LSurl::redirect: fix handling absolute URL without protocol
...
For instance "//localhost/phpldapadmin/")
2020-08-20 18:11:48 +02:00
Benjamin Renard
34d7e10f9a
Log referer URL in case of old-style URL redirection
2020-08-19 15:35:18 +02:00
Benjamin Renard
845fdbb4d8
LSauthMethod :: authenticate(): fix PHP warning
2020-08-19 15:11:49 +02:00
Benjamin Renard
f223827157
LSsession::includeFile(): improve logging
2020-08-17 20:04:21 +02:00
Benjamin Renard
cdd6189e91
dumpFile(): add $force_download and $filename parameters
2020-08-13 16:20:34 +02:00
Benjamin Renard
8d48716e7b
LSaccessRightsMatrixView: fix th.rotate-45 borders
2020-08-12 17:25:04 +02:00
Benjamin Renard
848d85589b
LSauthMethod_basic::authenticate(): add debug/trace messages
2020-08-07 18:27:54 +02:00
Benjamin Renard
5fcf3bbf9c
LSsession: add trace messages in whoami() and canAccess methods
2020-08-07 18:19:24 +02:00
Benjamin Renard
1f1a4e16fa
LSsession: add log_exception() method
2020-08-07 18:17:02 +02:00
Benjamin Renard
f234709722
LSlog: add TRACE log level
2020-08-07 18:05:50 +02:00
Benjamin Renard
42e6437966
LSsession: fix usage of self :: $topDn instead of self :: getTopDn()
2020-08-07 17:40:40 +02:00
Benjamin Renard
3ce495c2c3
LSerror: format error message at adding time
...
Format error message at adding time to make sure to be able to format
it, even if the component triggered it is not loaded.
2020-08-07 16:11:32 +02:00
Benjamin Renard
b0b50c51e4
light-blue.css: globally improve style and use dark-grey for text
2020-08-07 16:07:54 +02:00
Benjamin Renard
82198c26a9
LSmail: fix select mail style
2020-08-07 11:39:08 +02:00
Benjamin Renard
6eee099bd2
LScli: fix --sub-dn autocompletion even if LDAP server not selected
2020-08-07 11:09:20 +02:00
Benjamin Renard
3dc0d7f637
LScli :: search: remove buggy --subDn parameter
2020-08-07 10:55:18 +02:00
Benjamin Renard
5bbe076e23
LScli: fix handling LDAP servers with configured subDn
...
In case of LDAP server with configured subDn, always select a subDn,
even if user didn't make it with --sub-dn parameter. Futhermore, in BASH
autocompletion, autocomplete LSobject types with only available ones in
current subDn.
2020-08-07 10:39:41 +02:00
Benjamin Renard
5e3071d24c
light-blue.css: improve handling loginform/recoverpasswordform style
2020-08-06 17:34:38 +02:00
Benjamin Renard
00bb46f6f1
login / recoverPassword forms: fix logo style when is too large
2020-08-06 17:18:00 +02:00
Benjamin Renard
82d6583ad9
light-blue.css: fix loginform/recoverpasswordform style
2020-08-06 17:02:44 +02:00
Benjamin Renard
d5d88d2601
LSsession : fix handling subDn in recoverPassword feature
2020-08-06 17:01:51 +02:00
Benjamin Renard
ba85e5c2fc
LSerror: fix PHP error
2020-08-06 16:44:18 +02:00
Benjamin Renard
14f28a1ec0
LScli: add global --sub-dn parameter
2020-08-06 16:43:50 +02:00
Benjamin Renard
3dbfe18afb
LSsession: add setSubDn() method
2020-08-06 16:43:35 +02:00
Benjamin Renard
1420439403
LScli: fix autocomplete_LSobject_types() in case of configured subDn
2020-08-06 15:11:41 +02:00