Jarek Potiuk created AIRFLOW-3264:
-------------------------------------
Summary: Only '/' is URL-decoded when parsing hostname in the
Connection
Key: AIRFLOW-3264
URL: https://issues.apache.org/jira/browse/AIRFLOW-3264
Project: Apache Airflow
Issue Type: Bug
Components: database
Reporter: Jarek Potiuk
Parsing of the URL for connection(using AIRFLOW_CONN_ environment variables)
does not perform full URL-decode on the URL. It only handles hard-coded %2f
encode to support "/" in hostname. However there are valid cases where the
hostname, login, password, and query parameters can contain url-encoded values.
For example in cloud-sql-proxy, generated socket path contains ":" (for example
{{/cloudsql/myProject:us-central1:myInstance)}}
We need to URL-encode ":" because otherwise urlparse will treat those ":" as
separator for port number. Similarly user/password can contain url-encoded
characters.
I think we should fully URL-decode all relevant URL fields (including query
parameters, user, password, hostname, path). However it is potentially breaking
change (if someone has a user/password/hostname with % ) so maybe we should do
some compromises around that (for example not decode the password - which are
likely to contain '%' characters) although that would violate URL
encoding/decoding specification.
I will provide proposed fix shortly
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)