[pypy-issue] Issue #2547: ssl.SSLObject.server_side is missing in py35 branch (pypy/pypy)

Nathaniel Smith issues-reply at bitbucket.org
Sat Apr 29 17:01:50 EDT 2017


New issue 2547: ssl.SSLObject.server_side is missing in py35 branch
https://bitbucket.org/pypy/pypy/issues/2547/sslsslobjectserver_side-is-missing-in-py35

Nathaniel Smith:

It shows up in `dir`, but if you try to access it you get an `AttributeError`:

```
>>>> import ssl
>>>> ctx = ssl.create_default_context()
>>>> so = ctx.wrap_bio(ssl.MemoryBIO(), ssl.MemoryBIO())
>>>> "server_side" in dir(so)
True
>>>> so.server_side
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/njs/pypy/pypy3-v5.7.0-linux64/lib-python/3/ssl.py", line 568, in server_side
    return self._sslobj.server_side
AttributeError: '_SSLSocket' object has no attribute 'server_side'
```

(That's with 5.7.0, but my [CI system says](https://travis-ci.org/python-trio/trio/jobs/227139948) this is also broken on the latest nightly.)

>From a quick check against [the 3.5 docs](https://docs.python.org/3.5/library/ssl.html#ssl.SSLObject) it looks like this is the only `SSLObject` attribute that has this problem.

Weirdly, `ssl.SSLSocket.server_side` seems to work fine; it's just `ssl.SSLObject` that's broken.




More information about the pypy-issue mailing list