openshift / oauth-proxy

A reverse proxy that provides authentication with OpenShift via OAuth and Kubernetes service accounts
MIT License
261 stars 137 forks source link

websocket check for upgrade connection header value is case-sensitive #163

Closed shawkins closed 3 years ago

shawkins commented 4 years ago

The upgrade value handling here: https://github.com/openshift/oauth-proxy/blob/6a45377de7d42b3a887dd01e8d9221548da694d4/oauthproxy.go#L97

should be case-insensitive as discussed here: https://stackoverflow.com/questions/10953635/are-the-http-connection-header-values-case-sensitive

A proxied websocket may have issues when accessed by clients that use the lower-case upgrade value, such as tomcat websockets: https://github.com/apache/tomcat/blob/adf4d35169baf102048ebfa13b516e96501451a6/java/org/apache/tomcat/websocket/Constants.java#L89

shawkins commented 4 years ago

This also affects the undertow websocket client: https://github.com/undertow-io/undertow/blob/ff4c9cf37872cb96070ba6a2fcbbaa6df291e390/core/src/main/java/io/undertow/websockets/client/WebSocket13ClientHandshake.java#L98

openshift-bot commented 3 years ago

Issues go stale after 90d of inactivity.

Mark the issue as fresh by commenting /remove-lifecycle stale. Stale issues rot after an additional 30d of inactivity and eventually close. Exclude this issue from closing by commenting /lifecycle frozen.

If this issue is safe to close now please do so with /close.

/lifecycle stale

openshift-bot commented 3 years ago

Stale issues rot after 30d of inactivity.

Mark the issue as fresh by commenting /remove-lifecycle rotten. Rotten issues close after an additional 30d of inactivity. Exclude this issue from closing by commenting /lifecycle frozen.

If this issue is safe to close now please do so with /close.

/lifecycle rotten /remove-lifecycle stale

openshift-bot commented 3 years ago

Rotten issues close after 30d of inactivity.

Reopen the issue by commenting /reopen. Mark the issue as fresh by commenting /remove-lifecycle rotten. Exclude this issue from closing again by commenting /lifecycle frozen.

/close

openshift-ci-robot commented 3 years ago

@openshift-bot: Closing this issue.

In response to [this](https://github.com/openshift/oauth-proxy/issues/163#issuecomment-737111130): >Rotten issues close after 30d of inactivity. > >Reopen the issue by commenting `/reopen`. >Mark the issue as fresh by commenting `/remove-lifecycle rotten`. >Exclude this issue from closing again by commenting `/lifecycle frozen`. > >/close Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.