mirror of
https://github.com/ceph/ceph
synced 2025-01-11 05:29:51 +00:00
ff4fb0fbbd
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> |
||
---|---|---|
.. | ||
dashboard_plugins | ||
administrator.rst | ||
ansible.rst | ||
crash.rst | ||
dashboard.rst | ||
deepsea.rst | ||
diskprediction.rst | ||
hello.rst | ||
index.rst | ||
influx.rst | ||
insights.rst | ||
iostat.rst | ||
localpool.rst | ||
modules.rst | ||
orchestrator_cli.rst | ||
orchestrator_modules.rst | ||
prometheus.rst | ||
restful.rst | ||
rook.rst | ||
ssh.rst | ||
telegraf.rst | ||
telemetry.rst | ||
zabbix.rst |