ceph/doc/mgr
Ernesto Puerta ff4fb0fbbd
mgr/dashboard: fix SAML input argument handling
Currently dashboard provides a Ceph command to specify location or
contents of SAML2 IdP XML (`idp_metadata` argument). This loose
interface is implemented by trying to:
- First, opens HTTPS connection to whatever that argument contains (it
  might be a proper remote URL, a local file or XML contents).
- Then, tries to open the local file
- Finally, assumes the input argument is an XML and proceeds to parse
  it.

However, as the XML can have an undefined length, when fed as a filename
it results in FreeBSD raising a OSError exception (`Max filename length
exceeded`, 1K). This essentially means that this handling results in
unexpected behaviour, as it pushes the validation & error handling to
the underlying methods.

In this fix, some preliminary validation is performed. Especifically:
- Is the input argument a potential filename?
- Is the input argument complying with URL syntax?

Only if the above checks fail, the input argument is fed into the XML
parser.

Additionally, previous syntax is deprecated, so now, `idp_metadata`
enforces 2 syntaxes:
- Raw XML contents
- URL specification (http, https, and file schemas accepted). For local
file, URL 'file://<path>' should be used instead.

Fixes: https://tracker.ceph.com/issues/41358
Signed-off-by: Ernesto Puerta <epuertat@redhat.com>
2019-08-23 14:35:06 +02:00
..
dashboard_plugins doc: Updated Ceph Dashboard documentation 2019-02-28 17:14:37 +01:00
administrator.rst
ansible.rst doc/mgr/ansible.rst: fix typo 2019-07-02 13:59:19 +08:00
crash.rst doc/mgr/crash: document missing commands, options 2019-07-24 12:57:18 -05:00
dashboard.rst mgr/dashboard: fix SAML input argument handling 2019-08-23 14:35:06 +02:00
deepsea.rst
diskprediction.rst doc: Miscellaneous spelling fixes 2019-03-26 14:52:12 -06:00
hello.rst doc: Replaced "plugin" with "module" in the Mgr documentation 2019-02-27 13:49:47 +01:00
index.rst doc: Updated Ceph Dashboard documentation 2019-02-28 17:14:37 +01:00
influx.rst doc: Replaced "plugin" with "module" in the Mgr documentation 2019-02-27 13:49:47 +01:00
insights.rst doc: Replaced "plugin" with "module" in the Mgr documentation 2019-02-27 13:49:47 +01:00
iostat.rst doc: Replaced "plugin" with "module" in the Mgr documentation 2019-02-27 13:49:47 +01:00
localpool.rst doc: Replaced "plugin" with "module" in the Mgr documentation 2019-02-27 13:49:47 +01:00
modules.rst doc: Replaced "plugin" with "module" in the Mgr documentation 2019-02-27 13:49:47 +01:00
orchestrator_cli.rst python-common: Reference it in the docs 2019-07-26 12:00:33 +02:00
orchestrator_modules.rst mgr/orchestrator: Split *_stateless_service and add get_feature_set 2019-07-31 09:44:57 +02:00
prometheus.rst doc: Updated Ceph Dashboard documentation 2019-02-28 17:14:37 +01:00
restful.rst doc: added section on creating RESTful API user 2019-03-13 20:50:54 -04:00
rook.rst
ssh.rst ssh/orch: add ssh orchestrator 2019-02-20 09:45:48 -08:00
telegraf.rst doc: Replaced "plugin" with "module" in the Mgr documentation 2019-02-27 13:49:47 +01:00
telemetry.rst mon: enable telemetry module by default 2019-08-01 04:55:44 -05:00
zabbix.rst Merge PR #26547 into master 2019-06-03 15:45:42 -05:00