-
Bug
-
Resolution: Fixed
-
Low
-
5.2.11, 6.4.13
-
5.02
-
11
-
Severity 3 - Minor
-
5
-
This bug is fixed in:
- 7.10.1+ for 7.10.x
- 7.11.x and above
- 7.6.7+ for 7.6.x only
This means, 7.7.x, 7.8.x, and 7.9.x are all affected and there's no Fix Version in those minor releases. The reason why 7.6.x got a fix is because it's the current Enterprise release (as of Sep 11, 2018).
Summary
User action failed when the URL has pipe "|" character and JIRA is running behind load balancer.
Steps to reproduce
- Setup JIRA behind load balancer
- Perform action, such as transition issue (or user logout)
Expected result
Issue gets transitioned successfully
Actual Result
Transition fails with Communications Breakdown - The JIRA server could not be contacted" error dialog thrown in the UI
Explanation
In Some JIRA URL, the pipe character is not accepted, which is as per stated in the following documentation:
Quoting the paragraph which indicates that the pipe character is excluded:
2.4.3. Excluded US-ASCII Characters
Although they are disallowed within the URI syntax, we include here a
description of those US-ASCII characters that have been excluded and
the reasons for their exclusion.The control characters in the US-ASCII coded character set are not
used within a URI, both because they are non-printable and because
they are likely to be misinterpreted by some control mechanisms.control = <US-ASCII coded characters 00-1F and 7F hexadecimal>
The space character is excluded because significant spaces may
disappear and insignificant spaces may be introduced when URI are
transcribed or typeset or subjected to the treatment of word-
processing programs. Whitespace is also used to delimit URI in many
contexts.space = <US-ASCII coded character 20 hexadecimal>
The angle-bracket "<" and ">" and double-quote (") characters are
excluded because they are often used as the delimiters around URI in
text documents and protocol fields. The character "#" is excluded
because it is used to delimit a URI from a fragment identifier in URI
references (Section 4). The percent character "%" is excluded because
it is used for the encoding of escaped characters.delims = "<" | ">" | "#" | "%" | <">
Other characters are excluded because gateways and other transport
agents are known to sometimes modify such characters, or they are
used as delimiters.unwise =
"{" | "}" | "|" | "\" | "^" | "[" | "]" | "`"Data corresponding to excluded characters must be escaped in order to
be properly represented within a URI.
Due to this, when our customer have JIRA running behind a load balancer that is RFC-2396 aware, some JIRA functionalities may not work. Some of the affected functions are:
- User logout: http://localhost:8082/jira1/logout?atl_token=B6U6-M2L6-IVGN-XXQU|6f38bd4b12160e25f65580b3562a5c2ca3b96457|lin
- Transitioning issue to a new status: http://localhost:8082/jira1/secure/WorkflowUIDispatcher.jspa?id=10500&action=5&atl_token=B6U6-M2L6-IVGN-XXQU|6f38bd4b12160e25f65580b3562a5c2ca3b96457|lin
In both of the above operations, the URL contains the pipe character, which means that the operation will break when we have JIRA running behind a load balancer.
Hence, it will be great if we can substitute the pipe character as needed so that JIRA will be compatible with RFC-2396
Workaround
Replace the pipes with URL encoded character %07C
- mentioned in
-
Page Loading...