On Tue, Dec 01, 2020 at 10:36:43AM -0800, Jakub Kicinski wrote: > > Not sure if this is a bug in requests or not, but the corruption is > > introduced in .text. Here's POC: > > > > ---- > > #!/usr/bin/env python3 > > import requests > > > > pmbx = > > 'https://patchwork.kernel.org/project/netdevbpf/patch/20201130183705.17540-1-t...@redhat.com/mbox/' > > res = requests.get(pmbx) > > > > print('content: ' + res.content.decode().split('\n')[102]) > > print(' text: ' + res.text.split('\n')[102]) > > ---- > > > > $ python3 test.py > > content: Signed-off-by: Toke Høiland-Jørgensen <t...@redhat.com> > > text: Signed-off-by: Toke Høiland-Jørgensen <t...@redhat.com> > > Ah, great! Thank you! I pushed out a patch, I will put it in prod after > the mid-day rush is over.
Following up, this is not a bug in requests, but a bug in patchwork. Here are the headers it sends: $ wget -S https://patchwork.kernel.org/project/netdevbpf/patch/20201130183705.17540-1-t...@redhat.com/mbox/ --2020-12-01 13:45:02-- https://patchwork.kernel.org/project/netdevbpf/patch/20201130183705.17540-1-t...@redhat.com/mbox/ Resolving patchwork.kernel.org (patchwork.kernel.org)... 198.145.29.83 Connecting to patchwork.kernel.org (patchwork.kernel.org)|198.145.29.83|:443... connected. HTTP request sent, awaiting response... HTTP/1.1 200 OK Server: nginx Date: Tue, 01 Dec 2020 18:45:03 GMT Content-Type: text/plain Content-Length: 6151 Connection: keep-alive Content-Disposition: attachment; filename=net-inet_ecn-Fix-endianness-of-checksum-update-when-setting-ECT-1.patch X-Frame-Options: SAMEORIGIN proxy_redirect: off The HTTP/1.1 standard defines the default character encoding as iso-8859-1, so response.text is not wrong. Patchwork should be setting the correct encoding in the header to be utf-8: Content-Type: text/plain; charset=utf-8 (here: https://github.com/getpatchwork/patchwork/blob/master/patchwork/views/patch.py#L157) Since it is, in fact, always utf-8: https://github.com/getpatchwork/patchwork/blob/master/patchwork/views/utils.py#L117 I don't have time to submit a proper patch, so I'm just cowardly cc'ing the patchwork list in hopes that either someone does it for me, or that I remember to do it at some later point. :) -K _______________________________________________ Patchwork mailing list Patchwork@lists.ozlabs.org https://lists.ozlabs.org/listinfo/patchwork