[
https://issues.apache.org/jira/browse/KNOX-3007?focusedWorklogId=905647&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-905647
]
ASF GitHub Bot logged work on KNOX-3007:
----------------------------------------
Author: ASF GitHub Bot
Created on: 19/Feb/24 09:45
Start Date: 19/Feb/24 09:45
Worklog Time Spent: 10m
Work Description: zeroflag opened a new pull request, #841:
URL: https://github.com/apache/knox/pull/841
## What changes were proposed in this pull request?
## How was this patch tested?
```smalltalk
Teapot on
GET: '/' -> [:req | ZnResponse noContent
addCookie: ((ZnCookie name: 'test' value:'val') expires: 'Sun, 06 Nov
1994 08:49:37 GMT'; yourself);
addCookie: ((ZnCookie name: 'test2' value:'val') expiresTimeStamp:
DateAndTime now; yourself);
addCookie: ((ZnCookie name: 'test3' value:'val') expires: 'Wed,
14-Feb-2024 09:23:27 GMT'; yourself);
yourself ];
start.
```
1.
```xml
<property>
<name>gateway.httpclient.cookieSpec</name>
<value>default</value>
</property>
```
```bash
$ curl -vk -u admin:admin-password
https://localhost:8443/gateway/sandbox/hive
```
```
2024-02-19 10:39:43,751 bf18473d-4b63-4551-9e6a-b7ba49a531ab INFO
knox.gateway (DefaultHttpClientFactory.java:getRequestConfig(243)) - HTTP
client cookie spec is set to default
2024-02-19 10:39:47,167 85a5f49f-fb33-4dc0-8856-873d34efd366 DEBUG http.wire
(Wire.java:wire(73)) - http-outgoing-0 << "Date: Mon, 19 Feb 2024 09:39:47
GMT[\r][\n]"
2024-02-19 10:39:47,167 85a5f49f-fb33-4dc0-8856-873d34efd366 DEBUG http.wire
(Wire.java:wire(73)) - http-outgoing-0 << "Set-Cookie: test=val; expires=Sun,
06 Nov 1994 08:49:37 GMT[\r][\n]"
2024-02-19 10:39:47,168 85a5f49f-fb33-4dc0-8856-873d34efd366 DEBUG http.wire
(Wire.java:wire(73)) - http-outgoing-0 << "Set-Cookie: test2=val; expires=Mon,
19 Feb 2024 09:39:47 GMT[\r][\n]"
2024-02-19 10:39:47,168 85a5f49f-fb33-4dc0-8856-873d34efd366 DEBUG http.wire
(Wire.java:wire(73)) - http-outgoing-0 << "Set-Cookie: test3=val; expires=Wed,
14-Feb-2024 09:23:27 GMT[\r][\n]"
2024-02-19 10:39:47,168 85a5f49f-fb33-4dc0-8856-873d34efd366 DEBUG http.wire
(Wire.java:wire(73)) - http-outgoing-0 << "[\r][\n]"
2024-02-19 10:39:47,170 85a5f49f-fb33-4dc0-8856-873d34efd366 WARN
protocol.ResponseProcessCookies
(ResponseProcessCookies.java:processCookies(130)) - Invalid cookie header:
"Set-Cookie: test=val; expires=Sun, 06 Nov 1994 08:49:37 GMT". Invalid
'expires' attribute: Sun, 06 Nov 1994 08:49:37 GMT
2024-02-19 10:39:47,171 85a5f49f-fb33-4dc0-8856-873d34efd366 WARN
protocol.ResponseProcessCookies
(ResponseProcessCookies.java:processCookies(130)) - Invalid cookie header:
"Set-Cookie: test2=val; expires=Mon, 19 Feb 2024 09:39:47 GMT". Invalid
'expires' attribute: Mon, 19 Feb 2024 09:39:47 GMT
2024-02-19 10:39:47,172 85a5f49f-fb33-4dc0-8856-873d34efd366 DEBUG
protocol.ResponseProcessCookies
(ResponseProcessCookies.java:processCookies(119)) - Cookie accepted
[test3="val", version:0, domain:localhost, path:/, expiry:Wed Feb 14 10:23:27
CET 2024]
```
2.
```xml
<property>
<name>gateway.httpclient.cookieSpec</name>
<value>standard</value>
</property>
```
```bash
$ curl -vk -u admin:admin-password
https://localhost:8443/gateway/sandbox/hive
```
```
2024-02-19 10:38:34,374 1f05a150-b703-441c-a2f2-d1f34b3ffd3d INFO
knox.gateway (DefaultHttpClientFactory.java:getRequestConfig(243)) - HTTP
client cookie spec is set to standard
2024-02-19 10:38:34,515 1f05a150-b703-441c-a2f2-d1f34b3ffd3d DEBUG http.wire
(Wire.java:wire(73)) - http-outgoing-0 << "Set-Cookie: test=val;
expires=Sun, 06 Nov 1994 08:49:37 GMT[\r][\n]"
2024-02-19 10:38:34,516 1f05a150-b703-441c-a2f2-d1f34b3ffd3d DEBUG http.wire
(Wire.java:wire(73)) - http-outgoing-0 << "Set-Cookie: test2=val; expires=Mon,
19 Feb 2024 09:38:34 GMT[\r][\n]"
2024-02-19 10:38:34,516 1f05a150-b703-441c-a2f2-d1f34b3ffd3d DEBUG http.wire
(Wire.java:wire(73)) - http-outgoing-0 << "Set-Cookie: test3=val; expires=Wed,
14-Feb-2024 09:23:27 GMT[\r][\n]"
2024-02-19 10:38:34,517 1f05a150-b703-441c-a2f2-d1f34b3ffd3d DEBUG http.wire
(Wire.java:wire(73)) - http-outgoing-0 << "[\r][\n]"
2024-02-19 10:38:34,524 1f05a150-b703-441c-a2f2-d1f34b3ffd3d DEBUG
protocol.ResponseProcessCookies
(ResponseProcessCookies.java:processCookies(119)) - Cookie accepted
[test="val", version:0, domain:localhost, path:/, expiry:Sun Nov 06 09:49:37
CET 1994]
2024-02-19 10:38:34,524 1f05a150-b703-441c-a2f2-d1f34b3ffd3d DEBUG
protocol.ResponseProcessCookies
(ResponseProcessCookies.java:processCookies(119)) - Cookie accepted
[test2="val", version:0, domain:localhost, path:/, expiry:Mon Feb 19 10:38:34
CET 2024]
2024-02-19 10:38:34,524 1f05a150-b703-441c-a2f2-d1f34b3ffd3d DEBUG
protocol.ResponseProcessCookies
(ResponseProcessCookies.java:processCookies(119)) - Cookie accepted
[test3="val", version:0, domain:localhost, path:/, expiry:Wed Feb 14 10:23:27
CET 2024]
```
Issue Time Tracking
-------------------
Worklog Id: (was: 905647)
Remaining Estimate: 0h
Time Spent: 10m
> Make http client cookie spec parameter configurable
> ---------------------------------------------------
>
> Key: KNOX-3007
> URL: https://issues.apache.org/jira/browse/KNOX-3007
> Project: Apache Knox
> Issue Type: Improvement
> Reporter: Attila Magyar
> Assignee: Attila Magyar
> Priority: Major
> Time Spent: 10m
> Remaining Estimate: 0h
>
> The apache http client rejects cookies if the expiration date doesn't have
> the expected format (EEE, dd-MMM-yy HH:mm:ss z).
> {code}
> 2023-11-20 17:58:51,189 XXX WARN protocol.ResponseProcessCookies
> (ResponseProcessCookies.java:processCookies(130)) - Invalid cookie header:
> "Set-Cookie: sessionid=XXX; expires=Mon, 20 Nov 2023 23:03:51 GMT; HttpOnly;
> Max-Age=300; Path=/; SameSite=Lax; Secure". Invalid 'expires' attribute: Mon,
> 20 Nov 2023 23:03:51 GMT
> {code}
> This can be reconfigured by setting different cookiespec types:
> https://hc.apache.org/httpcomponents-client-4.5.x/current/httpclient/apidocs/org/apache/http/client/config/CookieSpecs.html
--
This message was sent by Atlassian Jira
(v8.20.10#820010)