Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Certificate and buffer capacity #89

Closed
yutakahirano opened this issue Apr 30, 2020 · 13 comments
Closed

Certificate and buffer capacity #89

yutakahirano opened this issue Apr 30, 2020 · 13 comments

Comments

@yutakahirano
Copy link
Contributor

Hi,

Thank you very much for developing this!

We are trying to use this as a test server in web-platform-tests, and I have one problem: the server throws with our certificates.

With web-platform.test.pem and web-platform.test.key in https://github.com/web-platform-tests/wpt/tree/master/tools/certs, it throws an BufferWriteError.

handle: <Handle _SelectorDatagramTransport._read_ready()>
Traceback (most recent call last):
  File "/usr/lib/python3.6/asyncio/events.py", line 145, in _run
    self._callback(*self._args)
  File "/usr/lib/python3.6/asyncio/selector_events.py", line 1068, in _read_ready
    self._protocol.datagram_received(data, addr)
  File "/home/yuta/work/aioquic/src/aioquic/asyncio/server.py", line 144, in datagram_received
    protocol.datagram_received(data, addr)
  File "/home/yuta/work/aioquic/src/aioquic/asyncio/protocol.py", line 135, in datagram_received
    self._quic.receive_datagram(cast(bytes, data), addr, now=self._loop.time())
  File "/home/yuta/work/aioquic/src/aioquic/quic/connection.py", line 870, in receive_datagram
    context, plain_payload
  File "/home/yuta/work/aioquic/src/aioquic/quic/connection.py", line 1929, in _payload_received
    frame_handler(context, frame_type, buf)
  File "/home/yuta/work/aioquic/src/aioquic/quic/connection.py", line 1308, in _handle_crypto_frame
    self.tls.handle_message(event.data, self._crypto_buffers)
  File "/home/yuta/work/aioquic/src/aioquic/tls.py", line 1339, in handle_message
    output_buf[Epoch.ONE_RTT],
  File "/home/yuta/work/aioquic/src/aioquic/tls.py", line 1831, in _server_handle_hello
    for x in [self.certificate] + self.certificate_chain
  File "/home/yuta/work/aioquic/src/aioquic/tls.py", line 921, in push_certificate
    buf, 3, partial(push_certificate_entry, buf), certificate.certificates
  File "/home/yuta/work/aioquic/src/aioquic/tls.py", line 461, in push_list
    func(value)
  File "/home/yuta/work/aioquic/src/aioquic/tls.py", line 917, in push_certificate_entry
    push_opaque(buf, 3, entry[0])
  File "/home/yuta/work/aioquic/src/aioquic/tls.py", line 480, in push_opaque
    buf.push_bytes(value)
aioquic._buffer.BufferWriteError: Write out of bounds
2020-04-30 19:49:35,467 INFO root QUIC event: <class 'aioquic.quic.events.ProtocolNegotiated'>

I found this can be workarounded by changing a buffer capacity in aioquic/quic/connection.py.

self._crypto_buffers = {
    tls.Epoch.INITIAL: Buffer(capacity=4096),
#  tls.Epoch.HANDSHAKE: Buffer(capacity=4096),
    tls.Epoch.HANDSHAKE: Buffer(capacity=16384),
    tls.Epoch.ONE_RTT: Buffer(capacity=4096),
}

Is this a known issue? Is there any clean solution?

Thank you!

@jlaine
Copy link
Contributor

jlaine commented Apr 30, 2020

Hello! I'm glad aioquic is of use to you, and very excited to hear you plan to roll it into web platform tests.

To be honest this is the first time I've seen the capacity of these buffers exceeded. I'm glad a proper exception was raised rather than a crash in our C code, that at least is good news! I'm a bit surprised, as 4096 bytes means that the certificate is already going to span 3 packets, how large is the certificate + chain?

I have no problem raising the size of all these buffers to 8192, would that be sufficient or do we need to go up to 16384 as you did?

Jeremy

@jlaine
Copy link
Contributor

jlaine commented Apr 30, 2020

One warning though: I'm not sure using create_stream is a great idea. I'm not satisfied with the steams API and will possibly remove it in the future. This was an API I added very early in the project's life, and soon realized it was not practical for real cases such as HTTP/3. I'd recommend subclassing QuicConnectionProtocol instead, this is the approach used by most examples (HTTP/3 client and server, siduck client / server, doq client / server).

On a semi-related note, have you considered using aiortc for any WebRTC-related tests? My initial motivation for aioquic was to provide a QUIC layer which can used for WebRTC, I plan to integrate the two projects at some point.

@Hexcles
Copy link

Hexcles commented Apr 30, 2020

On a semi-related note, have you considered using aiortc for any WebRTC-related tests? My initial motivation for aioquic was to provide a QUIC layer which can used for WebRTC, I plan to integrate the two projects at some point.

Unfortunately we'd like to maintain Python 2 compatibility as much as possible, so we'll probably need to stick with pywebsocket.

@jlaine
Copy link
Contributor

jlaine commented Apr 30, 2020

I was talking about WebRTC, not WebSockets ;)

aiortc gives you a browserless WebRTC stack in Python.

@Hexcles
Copy link

Hexcles commented Apr 30, 2020 via email

@yutakahirano
Copy link
Contributor Author

Thank you. Apparently 8192 doesn't work and 16384 works for me.

@jlaine
Copy link
Contributor

jlaine commented May 1, 2020

OK thanks. Could you point me to your certificate please, as I don't think I've ever seen one so large?

@yutakahirano
Copy link
Contributor Author

web-platform.test.pem and web-platform.test.key in https://github.com/web-platform-tests/wpt/tree/master/tools/certs.

@Hexcles
Copy link

Hexcles commented May 1, 2020 via email

@jlaine
Copy link
Contributor

jlaine commented May 2, 2020

@Hexcles it definitely is due to the long domain list, just run:

òpenssl x509 -in cacert.pem text

which gives you:

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 783278 (0xbf3ae)
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: CN = web-platform-tests
        Validity
            Not Before: Feb 18 20:29:47 2020 GMT
            Not After : Feb 15 20:29:47 2030 GMT
        Subject: CN = web-platform-tests
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                RSA Public-Key: (2048 bit)
                Modulus:
                    00:bf:7d:69:69:37:75:18:98:c4:88:cd:1e:5c:4b:
                    cd:92:cc:a9:a7:da:ff:00:2b:1b:94:3d:4f:61:0b:
                    c5:bd:2b:3a:00:e4:55:43:29:89:50:66:03:8a:d6:
                    a4:62:2e:f1:18:1e:fe:d1:e8:6b:71:4c:ef:ab:e4:
                    c7:2b:b7:07:af:ec:21:f4:8f:5a:99:d4:ed:83:7f:
                    3d:0f:78:6e:30:78:59:35:05:41:1d:0b:06:72:94:
                    19:b6:35:5d:5c:5e:e4:03:b5:77:57:d8:de:d0:26:
                    cf:73:47:03:8e:a2:7d:6c:db:56:a4:4f:65:2c:d7:
                    a6:e3:60:e5:eb:41:99:f2:76:7d:9e:ab:79:8b:60:
                    4b:d5:48:aa:e5:28:3d:20:05:30:a3:2d:dc:9e:3a:
                    6c:3e:95:3f:c4:0f:71:51:73:60:82:f4:0e:b9:d1:
                    96:a7:75:a2:83:05:14:13:22:cd:7a:ba:f5:94:a5:
                    63:64:97:03:e3:39:ed:ae:25:2e:6b:d4:4f:9d:5f:
                    e5:6f:c1:b4:1e:ee:70:a6:da:3a:7c:5e:65:92:d8:
                    00:bf:7e:d3:ea:e9:f7:6d:84:7b:60:eb:a0:8b:45:
                    32:09:00:41:07:2f:72:e0:e8:b5:64:bc:e9:58:12:
                    17:b7:4f:4e:34:35:d8:4f:fb:78:7f:bd:a0:f4:05:
                    4b:1b
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Basic Constraints: 
                CA:TRUE
            X509v3 Subject Key Identifier: 
                F6:B9:DA:16:07:05:BB:6F:C9:63:30:C6:67:40:CB:03:D3:1E:90:EC
            X509v3 Authority Key Identifier: 
                keyid:F6:B9:DA:16:07:05:BB:6F:C9:63:30:C6:67:40:CB:03:D3:1E:90:EC
                DirName:/CN=web-platform-tests
                serial:0B:F3:AE

            X509v3 Key Usage: 
                Certificate Sign
            X509v3 Name Constraints: 
                Permitted:
                  DNS:web-platform.test
                  DNS:op2.web-platform.test
                  DNS:op9.web-platform.test
                  DNS:op7.web-platform.test
                  DNS:op1.web-platform.test
                  DNS:op3.web-platform.test
                  DNS:op6.web-platform.test
                  DNS:not-web-platform.test
                  DNS:op5.web-platform.test
                  DNS:op4.web-platform.test
                  DNS:op8.web-platform.test
                  DNS:www.web-platform.test
                  DNS:op87.web-platform.test
                  DNS:op80.web-platform.test
                  DNS:op94.web-platform.test
                  DNS:op16.web-platform.test
                  DNS:op40.web-platform.test
                  DNS:op17.web-platform.test
                  DNS:op72.web-platform.test
                  DNS:op64.web-platform.test
                  DNS:op23.web-platform.test
                  DNS:op28.web-platform.test
                  DNS:op13.web-platform.test
                  DNS:op36.web-platform.test
                  DNS:op11.web-platform.test
                  DNS:op79.web-platform.test
                  DNS:op61.web-platform.test
                  DNS:op48.web-platform.test
                  DNS:op19.web-platform.test
                  DNS:op42.web-platform.test
                  DNS:op46.web-platform.test
                  DNS:op37.web-platform.test
                  DNS:op98.web-platform.test
                  DNS:op66.web-platform.test
                  DNS:www1.web-platform.test
                  DNS:op26.web-platform.test
                  DNS:op67.web-platform.test
                  DNS:op73.web-platform.test
                  DNS:op38.web-platform.test
                  DNS:op62.web-platform.test
                  DNS:op58.web-platform.test
                  DNS:op56.web-platform.test
                  DNS:op22.web-platform.test
                  DNS:op24.web-platform.test
                  DNS:www2.web-platform.test
                  DNS:op18.web-platform.test
                  DNS:op74.web-platform.test
                  DNS:op91.web-platform.test
                  DNS:op33.web-platform.test
                  DNS:op69.web-platform.test
                  DNS:op30.web-platform.test
                  DNS:op39.web-platform.test
                  DNS:op52.web-platform.test
                  DNS:op43.web-platform.test
                  DNS:op85.web-platform.test
                  DNS:op34.web-platform.test
                  DNS:op21.web-platform.test
                  DNS:op71.web-platform.test
                  DNS:op50.web-platform.test
                  DNS:op84.web-platform.test
                  DNS:op31.web-platform.test
                  DNS:op54.web-platform.test
                  DNS:op49.web-platform.test
                  DNS:op44.web-platform.test
                  DNS:op45.web-platform.test
                  DNS:op35.web-platform.test
                  DNS:op76.web-platform.test
                  DNS:op14.web-platform.test
                  DNS:op81.web-platform.test
                  DNS:op88.web-platform.test
                  DNS:op20.web-platform.test
                  DNS:op95.web-platform.test
                  DNS:op51.web-platform.test
                  DNS:op86.web-platform.test
                  DNS:op55.web-platform.test
                  DNS:op27.web-platform.test
                  DNS:op12.web-platform.test
                  DNS:op75.web-platform.test
                  DNS:op47.web-platform.test
                  DNS:op96.web-platform.test
                  DNS:op93.web-platform.test
                  DNS:op57.web-platform.test
                  DNS:op63.web-platform.test
                  DNS:op53.web-platform.test
                  DNS:op29.web-platform.test
                  DNS:op25.web-platform.test
                  DNS:op83.web-platform.test
                  DNS:op97.web-platform.test
                  DNS:op41.web-platform.test
                  DNS:op32.web-platform.test
                  DNS:op70.web-platform.test
                  DNS:op60.web-platform.test
                  DNS:op92.web-platform.test
                  DNS:op78.web-platform.test
                  DNS:op89.web-platform.test
                  DNS:op10.web-platform.test
                  DNS:op77.web-platform.test
                  DNS:op59.web-platform.test
                  DNS:op15.web-platform.test
                  DNS:op65.web-platform.test
                  DNS:op68.web-platform.test
                  DNS:op90.web-platform.test
                  DNS:op82.web-platform.test
                  DNS:op6.not-web-platform.test
                  DNS:op8.not-web-platform.test
                  DNS:op9.not-web-platform.test
                  DNS:op4.not-web-platform.test
                  DNS:op7.not-web-platform.test
                  DNS:www.www.web-platform.test
                  DNS:op2.not-web-platform.test
                  DNS:op1.not-web-platform.test
                  DNS:www.not-web-platform.test
                  DNS:op5.not-web-platform.test
                  DNS:op3.not-web-platform.test
                  DNS:op27.not-web-platform.test
                  DNS:op40.not-web-platform.test
                  DNS:op45.not-web-platform.test
                  DNS:op96.not-web-platform.test
                  DNS:op28.not-web-platform.test
                  DNS:op83.not-web-platform.test
                  DNS:op33.not-web-platform.test
                  DNS:op56.not-web-platform.test
                  DNS:www1.not-web-platform.test
                  DNS:op62.not-web-platform.test
                  DNS:op18.not-web-platform.test
                  DNS:op48.not-web-platform.test
                  DNS:op43.not-web-platform.test
                  DNS:op89.not-web-platform.test
                  DNS:op60.not-web-platform.test
                  DNS:op95.not-web-platform.test
                  DNS:op73.not-web-platform.test
                  DNS:op91.not-web-platform.test
                  DNS:op42.not-web-platform.test
                  DNS:op26.not-web-platform.test
                  DNS:op69.not-web-platform.test
                  DNS:op32.not-web-platform.test
                  DNS:op37.not-web-platform.test
                  DNS:op98.not-web-platform.test
                  DNS:op19.not-web-platform.test
                  DNS:op76.not-web-platform.test
                  DNS:op13.not-web-platform.test
                  DNS:op79.not-web-platform.test
                  DNS:www2.www.web-platform.test
                  DNS:op86.not-web-platform.test
                  DNS:op77.not-web-platform.test
                  DNS:op29.not-web-platform.test
                  DNS:op55.not-web-platform.test
                  DNS:op92.not-web-platform.test
                  DNS:op44.not-web-platform.test
                  DNS:op54.not-web-platform.test
                  DNS:op94.not-web-platform.test
                  DNS:op34.not-web-platform.test
                  DNS:op30.not-web-platform.test
                  DNS:www1.www.web-platform.test
                  DNS:op25.not-web-platform.test
                  DNS:op64.not-web-platform.test
                  DNS:op20.not-web-platform.test
                  DNS:op51.not-web-platform.test
                  DNS:op41.not-web-platform.test
                  DNS:op12.not-web-platform.test
                  DNS:op10.not-web-platform.test
                  DNS:op72.not-web-platform.test
                  DNS:op22.not-web-platform.test
                  DNS:op52.not-web-platform.test
                  DNS:op74.not-web-platform.test
                  DNS:op67.not-web-platform.test
                  DNS:op80.not-web-platform.test
                  DNS:op84.not-web-platform.test
                  DNS:op31.not-web-platform.test
                  DNS:op53.not-web-platform.test
                  DNS:op23.not-web-platform.test
                  DNS:op35.not-web-platform.test
                  DNS:op16.not-web-platform.test
                  DNS:op63.not-web-platform.test
                  DNS:op38.not-web-platform.test
                  DNS:op58.not-web-platform.test
                  DNS:op61.not-web-platform.test
                  DNS:op14.not-web-platform.test
                  DNS:op90.not-web-platform.test
                  DNS:op70.not-web-platform.test
                  DNS:op11.not-web-platform.test
                  DNS:op15.not-web-platform.test
                  DNS:op65.not-web-platform.test
                  DNS:op50.not-web-platform.test
                  DNS:op68.not-web-platform.test
                  DNS:op87.not-web-platform.test
                  DNS:op78.not-web-platform.test
                  DNS:www.www2.web-platform.test
                  DNS:op82.not-web-platform.test
                  DNS:op93.not-web-platform.test
                  DNS:www.www1.web-platform.test
                  DNS:op21.not-web-platform.test
                  DNS:op71.not-web-platform.test
                  DNS:op97.not-web-platform.test
                  DNS:op88.not-web-platform.test
                  DNS:op24.not-web-platform.test
                  DNS:op66.not-web-platform.test
                  DNS:op49.not-web-platform.test
                  DNS:op59.not-web-platform.test
                  DNS:op46.not-web-platform.test
                  DNS:op36.not-web-platform.test
                  DNS:op39.not-web-platform.test
                  DNS:op47.not-web-platform.test
                  DNS:op17.not-web-platform.test
                  DNS:op75.not-web-platform.test
                  DNS:op85.not-web-platform.test
                  DNS:op57.not-web-platform.test
                  DNS:www2.not-web-platform.test
                  DNS:op81.not-web-platform.test
                  DNS:www2.www1.web-platform.test
                  DNS:www1.www2.web-platform.test
                  DNS:www2.www2.web-platform.test
                  DNS:www1.www1.web-platform.test
                  DNS:www.www.not-web-platform.test
                  DNS:www2.www.not-web-platform.test
                  DNS:xn--lve-6lad.web-platform.test
                  DNS:www1.www.not-web-platform.test
                  DNS:www.www1.not-web-platform.test
                  DNS:www.www2.not-web-platform.test
                  DNS:www1.www2.not-web-platform.test
                  DNS:www1.www1.not-web-platform.test
                  DNS:www2.www1.not-web-platform.test
                  DNS:www2.www2.not-web-platform.test
                  DNS:xn--lve-6lad.www.web-platform.test
                  DNS:xn--lve-6lad.not-web-platform.test
                  DNS:www.xn--lve-6lad.web-platform.test
                  DNS:www1.xn--lve-6lad.web-platform.test
                  DNS:www2.xn--lve-6lad.web-platform.test
                  DNS:xn--lve-6lad.www2.web-platform.test
                  DNS:xn--lve-6lad.www1.web-platform.test
                  DNS:www.xn--lve-6lad.not-web-platform.test
                  DNS:xn--lve-6lad.www.not-web-platform.test
                  DNS:www1.xn--lve-6lad.not-web-platform.test
                  DNS:www2.xn--lve-6lad.not-web-platform.test
                  DNS:xn--lve-6lad.www1.not-web-platform.test
                  DNS:xn--lve-6lad.www2.not-web-platform.test
                  DNS:xn--n8j6ds53lwwkrqhv28a.web-platform.test
                  DNS:xn--lve-6lad.xn--lve-6lad.web-platform.test
                  DNS:xn--n8j6ds53lwwkrqhv28a.not-web-platform.test
                  DNS:xn--n8j6ds53lwwkrqhv28a.www.web-platform.test
                  DNS:www.xn--n8j6ds53lwwkrqhv28a.web-platform.test
                  DNS:www2.xn--n8j6ds53lwwkrqhv28a.web-platform.test
                  DNS:www1.xn--n8j6ds53lwwkrqhv28a.web-platform.test
                  DNS:xn--n8j6ds53lwwkrqhv28a.www1.web-platform.test
                  DNS:xn--n8j6ds53lwwkrqhv28a.www2.web-platform.test
                  DNS:xn--lve-6lad.xn--lve-6lad.not-web-platform.test
                  DNS:xn--n8j6ds53lwwkrqhv28a.www.not-web-platform.test
                  DNS:www.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test
                  DNS:www1.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test
                  DNS:xn--n8j6ds53lwwkrqhv28a.www1.not-web-platform.test
                  DNS:www2.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test
                  DNS:xn--n8j6ds53lwwkrqhv28a.www2.not-web-platform.test
                  DNS:xn--n8j6ds53lwwkrqhv28a.xn--lve-6lad.web-platform.test
                  DNS:xn--lve-6lad.xn--n8j6ds53lwwkrqhv28a.web-platform.test
                  DNS:xn--lve-6lad.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test
                  DNS:xn--n8j6ds53lwwkrqhv28a.xn--lve-6lad.not-web-platform.test
                  DNS:xn--n8j6ds53lwwkrqhv28a.xn--n8j6ds53lwwkrqhv28a.web-platform.test
                  DNS:xn--n8j6ds53lwwkrqhv28a.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test

            X509v3 Extended Key Usage: 
                TLS Web Server Authentication
            X509v3 Subject Alternative Name: 
                DNS:web-platform.test, DNS:op2.web-platform.test, DNS:op9.web-platform.test, DNS:op7.web-platform.test, DNS:op1.web-platform.test, DNS:op3.web-platform.test, DNS:op6.web-platform.test, DNS:not-web-platform.test, DNS:op5.web-platform.test, DNS:op4.web-platform.test, DNS:op8.web-platform.test, DNS:www.web-platform.test, DNS:op87.web-platform.test, DNS:op80.web-platform.test, DNS:op94.web-platform.test, DNS:op16.web-platform.test, DNS:op40.web-platform.test, DNS:op17.web-platform.test, DNS:op72.web-platform.test, DNS:op64.web-platform.test, DNS:op23.web-platform.test, DNS:op28.web-platform.test, DNS:op13.web-platform.test, DNS:op36.web-platform.test, DNS:op11.web-platform.test, DNS:op79.web-platform.test, DNS:op61.web-platform.test, DNS:op48.web-platform.test, DNS:op19.web-platform.test, DNS:op42.web-platform.test, DNS:op46.web-platform.test, DNS:op37.web-platform.test, DNS:op98.web-platform.test, DNS:op66.web-platform.test, DNS:www1.web-platform.test, DNS:op26.web-platform.test, DNS:op67.web-platform.test, DNS:op73.web-platform.test, DNS:op38.web-platform.test, DNS:op62.web-platform.test, DNS:op58.web-platform.test, DNS:op56.web-platform.test, DNS:op22.web-platform.test, DNS:op24.web-platform.test, DNS:www2.web-platform.test, DNS:op18.web-platform.test, DNS:op74.web-platform.test, DNS:op91.web-platform.test, DNS:op33.web-platform.test, DNS:op69.web-platform.test, DNS:op30.web-platform.test, DNS:op39.web-platform.test, DNS:op52.web-platform.test, DNS:op43.web-platform.test, DNS:op85.web-platform.test, DNS:op34.web-platform.test, DNS:op21.web-platform.test, DNS:op71.web-platform.test, DNS:op50.web-platform.test, DNS:op84.web-platform.test, DNS:op31.web-platform.test, DNS:op54.web-platform.test, DNS:op49.web-platform.test, DNS:op44.web-platform.test, DNS:op45.web-platform.test, DNS:op35.web-platform.test, DNS:op76.web-platform.test, DNS:op14.web-platform.test, DNS:op81.web-platform.test, DNS:op88.web-platform.test, DNS:op20.web-platform.test, DNS:op95.web-platform.test, DNS:op51.web-platform.test, DNS:op86.web-platform.test, DNS:op55.web-platform.test, DNS:op27.web-platform.test, DNS:op12.web-platform.test, DNS:op75.web-platform.test, DNS:op47.web-platform.test, DNS:op96.web-platform.test, DNS:op93.web-platform.test, DNS:op57.web-platform.test, DNS:op63.web-platform.test, DNS:op53.web-platform.test, DNS:op29.web-platform.test, DNS:op25.web-platform.test, DNS:op83.web-platform.test, DNS:op97.web-platform.test, DNS:op41.web-platform.test, DNS:op32.web-platform.test, DNS:op70.web-platform.test, DNS:op60.web-platform.test, DNS:op92.web-platform.test, DNS:op78.web-platform.test, DNS:op89.web-platform.test, DNS:op10.web-platform.test, DNS:op77.web-platform.test, DNS:op59.web-platform.test, DNS:op15.web-platform.test, DNS:op65.web-platform.test, DNS:op68.web-platform.test, DNS:op90.web-platform.test, DNS:op82.web-platform.test, DNS:op6.not-web-platform.test, DNS:op8.not-web-platform.test, DNS:op9.not-web-platform.test, DNS:op4.not-web-platform.test, DNS:op7.not-web-platform.test, DNS:www.www.web-platform.test, DNS:op2.not-web-platform.test, DNS:op1.not-web-platform.test, DNS:www.not-web-platform.test, DNS:op5.not-web-platform.test, DNS:op3.not-web-platform.test, DNS:op27.not-web-platform.test, DNS:op40.not-web-platform.test, DNS:op45.not-web-platform.test, DNS:op96.not-web-platform.test, DNS:op28.not-web-platform.test, DNS:op83.not-web-platform.test, DNS:op33.not-web-platform.test, DNS:op56.not-web-platform.test, DNS:www1.not-web-platform.test, DNS:op62.not-web-platform.test, DNS:op18.not-web-platform.test, DNS:op48.not-web-platform.test, DNS:op43.not-web-platform.test, DNS:op89.not-web-platform.test, DNS:op60.not-web-platform.test, DNS:op95.not-web-platform.test, DNS:op73.not-web-platform.test, DNS:op91.not-web-platform.test, DNS:op42.not-web-platform.test, DNS:op26.not-web-platform.test, DNS:op69.not-web-platform.test, DNS:op32.not-web-platform.test, DNS:op37.not-web-platform.test, DNS:op98.not-web-platform.test, DNS:op19.not-web-platform.test, DNS:op76.not-web-platform.test, DNS:op13.not-web-platform.test, DNS:op79.not-web-platform.test, DNS:www2.www.web-platform.test, DNS:op86.not-web-platform.test, DNS:op77.not-web-platform.test, DNS:op29.not-web-platform.test, DNS:op55.not-web-platform.test, DNS:op92.not-web-platform.test, DNS:op44.not-web-platform.test, DNS:op54.not-web-platform.test, DNS:op94.not-web-platform.test, DNS:op34.not-web-platform.test, DNS:op30.not-web-platform.test, DNS:www1.www.web-platform.test, DNS:op25.not-web-platform.test, DNS:op64.not-web-platform.test, DNS:op20.not-web-platform.test, DNS:op51.not-web-platform.test, DNS:op41.not-web-platform.test, DNS:op12.not-web-platform.test, DNS:op10.not-web-platform.test, DNS:op72.not-web-platform.test, DNS:op22.not-web-platform.test, DNS:op52.not-web-platform.test, DNS:op74.not-web-platform.test, DNS:op67.not-web-platform.test, DNS:op80.not-web-platform.test, DNS:op84.not-web-platform.test, DNS:op31.not-web-platform.test, DNS:op53.not-web-platform.test, DNS:op23.not-web-platform.test, DNS:op35.not-web-platform.test, DNS:op16.not-web-platform.test, DNS:op63.not-web-platform.test, DNS:op38.not-web-platform.test, DNS:op58.not-web-platform.test, DNS:op61.not-web-platform.test, DNS:op14.not-web-platform.test, DNS:op90.not-web-platform.test, DNS:op70.not-web-platform.test, DNS:op11.not-web-platform.test, DNS:op15.not-web-platform.test, DNS:op65.not-web-platform.test, DNS:op50.not-web-platform.test, DNS:op68.not-web-platform.test, DNS:op87.not-web-platform.test, DNS:op78.not-web-platform.test, DNS:www.www2.web-platform.test, DNS:op82.not-web-platform.test, DNS:op93.not-web-platform.test, DNS:www.www1.web-platform.test, DNS:op21.not-web-platform.test, DNS:op71.not-web-platform.test, DNS:op97.not-web-platform.test, DNS:op88.not-web-platform.test, DNS:op24.not-web-platform.test, DNS:op66.not-web-platform.test, DNS:op49.not-web-platform.test, DNS:op59.not-web-platform.test, DNS:op46.not-web-platform.test, DNS:op36.not-web-platform.test, DNS:op39.not-web-platform.test, DNS:op47.not-web-platform.test, DNS:op17.not-web-platform.test, DNS:op75.not-web-platform.test, DNS:op85.not-web-platform.test, DNS:op57.not-web-platform.test, DNS:www2.not-web-platform.test, DNS:op81.not-web-platform.test, DNS:www2.www1.web-platform.test, DNS:www1.www2.web-platform.test, DNS:www2.www2.web-platform.test, DNS:www1.www1.web-platform.test, DNS:www.www.not-web-platform.test, DNS:www2.www.not-web-platform.test, DNS:xn--lve-6lad.web-platform.test, DNS:www1.www.not-web-platform.test, DNS:www.www1.not-web-platform.test, DNS:www.www2.not-web-platform.test, DNS:www1.www2.not-web-platform.test, DNS:www1.www1.not-web-platform.test, DNS:www2.www1.not-web-platform.test, DNS:www2.www2.not-web-platform.test, DNS:xn--lve-6lad.www.web-platform.test, DNS:xn--lve-6lad.not-web-platform.test, DNS:www.xn--lve-6lad.web-platform.test, DNS:www1.xn--lve-6lad.web-platform.test, DNS:www2.xn--lve-6lad.web-platform.test, DNS:xn--lve-6lad.www2.web-platform.test, DNS:xn--lve-6lad.www1.web-platform.test, DNS:www.xn--lve-6lad.not-web-platform.test, DNS:xn--lve-6lad.www.not-web-platform.test, DNS:www1.xn--lve-6lad.not-web-platform.test, DNS:www2.xn--lve-6lad.not-web-platform.test, DNS:xn--lve-6lad.www1.not-web-platform.test, DNS:xn--lve-6lad.www2.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.web-platform.test, DNS:xn--lve-6lad.xn--lve-6lad.web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.www.web-platform.test, DNS:www.xn--n8j6ds53lwwkrqhv28a.web-platform.test, DNS:www2.xn--n8j6ds53lwwkrqhv28a.web-platform.test, DNS:www1.xn--n8j6ds53lwwkrqhv28a.web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.www1.web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.www2.web-platform.test, DNS:xn--lve-6lad.xn--lve-6lad.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.www.not-web-platform.test, DNS:www.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test, DNS:www1.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.www1.not-web-platform.test, DNS:www2.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.www2.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.xn--lve-6lad.web-platform.test, DNS:xn--lve-6lad.xn--n8j6ds53lwwkrqhv28a.web-platform.test, DNS:xn--lve-6lad.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.xn--lve-6lad.not-web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.xn--n8j6ds53lwwkrqhv28a.web-platform.test, DNS:xn--n8j6ds53lwwkrqhv28a.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test
    Signature Algorithm: sha256WithRSAEncryption
         87:93:bb:62:32:4e:90:0f:6d:46:02:c5:f4:77:4f:a0:6a:77:
         96:26:a3:74:c6:f2:99:d9:ae:c6:2a:cc:7b:42:22:f1:a8:3b:
         cd:49:10:82:5d:84:fc:a2:b5:b2:5d:fe:eb:1b:b6:41:13:84:
         b8:5a:7d:e4:22:f5:19:a2:09:96:2f:09:47:b1:d0:87:54:c4:
         76:96:df:a6:71:e2:42:33:34:b7:f4:db:37:31:c0:12:6d:00:
         5a:5f:ff:20:2c:41:d2:88:23:46:45:34:64:75:5a:44:6a:9d:
         ab:5f:cf:9b:72:48:af:d2:e7:dd:cc:63:db:0e:ef:17:71:b0:
         f7:10:9c:9e:d6:3d:a5:ca:eb:ad:32:3b:51:a8:b5:b8:78:6d:
         1c:29:74:bf:2e:26:f1:55:a5:ee:be:50:03:92:eb:83:24:8c:
         ac:85:23:2d:d9:f4:79:5b:f8:73:d5:d3:01:41:4b:cf:56:aa:
         a1:1f:02:82:e4:6e:b7:f4:28:48:e8:06:bb:c8:94:85:df:f3:
         fb:4b:a2:04:d3:51:26:d9:77:ae:bb:a9:ff:3c:49:7f:f4:b5:
         85:4c:11:80:ba:fc:85:22:ca:28:00:c7:f8:4c:8a:e5:82:0c:
         24:b5:d2:65:8b:c1:87:cf:b3:62:70:0d:04:65:48:8a:2f:78:
         d0:69:fb:08

@jlaine
Copy link
Contributor

jlaine commented May 4, 2020

@yutakahirano master should now work for your usecase. I aim to have new release on PyPI before the end of the week

@yutakahirano
Copy link
Contributor Author

Thank you very much!

@jlaine
Copy link
Contributor

jlaine commented May 20, 2020

Huh. And I failed to produce the promised release..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants