xpra icon
Bug tracker and wiki

Opened 6 weeks ago

Closed 6 weeks ago

Last modified 3 weeks ago

#2877 closed defect (fixed)

Websocket header case sensitivity

Reported by: Mark Harkin Owned by: Antoine Martin
Priority: major Milestone: 4.1
Component: client Version: 3.0.x
Keywords: Cc:

Description

Traefik2 chooses to use lower case 's' in 'Sec-Websocket-Accept' 'Sec-Websocket-Protocol'. This breaks xpra wss connection with traefik ssl termination. A little annoying but http header parsing should be case insensitive.

The below fix worked for me:

https://github.com/mjharkin/Xpra/commit/772eafb0164560fa0e8f4f574f383d80bd82f245

Change History (2)

comment:1 Changed 6 weeks ago by Antoine Martin

Resolution: fixed
Status: newclosed

Thanks!

Applied in r27480.

comment:2 Changed 3 weeks ago by Antoine Martin

Damn.

There is no CaseInsensitiveDict in python2, so the backport broke all the python2 builds.
Fixed the lazy way (no support for case insensitive attributes with python2): r27624.

It also broke packaging on macos.

So at that point, I decided to just re-write it without using CaseInsensitiveDict: r27626.

Note: See TracTickets for help on using tickets.