Skip to content

Commit e127a71

Browse files
committed
pr9856 option 2: check only if jsessionid is not null
1 parent 3930d00 commit e127a71

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

utils/src/main/java/com/cloud/utils/HttpUtils.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,8 @@ public static boolean validateSessionKey(final HttpSession session, final Map<St
116116
return false;
117117
}
118118
final String jsessionidFromCookie = HttpUtils.findCookie(cookies, "JSESSIONID");
119-
if (jsessionidFromCookie == null
120-
|| !(jsessionidFromCookie.equals(session.getId()) || jsessionidFromCookie.startsWith(session.getId() + '.'))) {
119+
if (jsessionidFromCookie != null
120+
&& !(jsessionidFromCookie.equals(session.getId()) || jsessionidFromCookie.startsWith(session.getId() + '.'))) {
121121
s_logger.error("JSESSIONID from cookie is invalid.");
122122
return false;
123123
}

utils/src/test/java/com/cloud/utils/HttpUtilsTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public void validateSessionKeyTest() {
7474
params = null;
7575
cookies = new Cookie[]{new Cookie(sessionKeyString, sessionKeyValue)};
7676
assertFalse(HttpUtils.validateSessionKey(session, params, cookies, "randomString", HttpUtils.ApiSessionKeyCheckOption.CookieOrParameter));
77-
assertFalse(HttpUtils.validateSessionKey(session, params, cookies, sessionKeyString, HttpUtils.ApiSessionKeyCheckOption.CookieOrParameter));
77+
assertTrue(HttpUtils.validateSessionKey(session, params, cookies, sessionKeyString, HttpUtils.ApiSessionKeyCheckOption.CookieOrParameter));
7878

7979
// param null, cookies not null test (JSESSIONID is not null and matches)
8080
cookies = new Cookie[2];
@@ -95,7 +95,7 @@ public void validateSessionKeyTest() {
9595
cookies = null;
9696
assertFalse(HttpUtils.validateSessionKey(session, params, cookies, sessionKeyString, HttpUtils.ApiSessionKeyCheckOption.CookieOrParameter));
9797
params.put(sessionKeyString, new String[]{sessionKeyValue});
98-
assertFalse(HttpUtils.validateSessionKey(session, params, cookies, sessionKeyString, HttpUtils.ApiSessionKeyCheckOption.CookieOrParameter));
98+
assertTrue(HttpUtils.validateSessionKey(session, params, cookies, sessionKeyString, HttpUtils.ApiSessionKeyCheckOption.CookieOrParameter));
9999

100100
// both param and cookies not null test (JSESSIONID is null)
101101
params = new HashMap<String, Object[]>();
@@ -104,7 +104,7 @@ public void validateSessionKeyTest() {
104104
params.put(sessionKeyString, new String[]{"incorrectValue"});
105105
assertFalse(HttpUtils.validateSessionKey(session, params, cookies, sessionKeyString, HttpUtils.ApiSessionKeyCheckOption.CookieOrParameter));
106106
params.put(sessionKeyString, new String[]{sessionKeyValue});
107-
assertFalse(HttpUtils.validateSessionKey(session, params, cookies, sessionKeyString, HttpUtils.ApiSessionKeyCheckOption.CookieOrParameter));
107+
assertTrue(HttpUtils.validateSessionKey(session, params, cookies, sessionKeyString, HttpUtils.ApiSessionKeyCheckOption.CookieOrParameter));
108108

109109
// both param and cookies not null test (JSESSIONID is not null but mismatches)
110110
params = new HashMap<String, Object[]>();

0 commit comments

Comments
 (0)