This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author tzickel
Recipients christian.heimes, tzickel
Date 2020-04-12.17:28:17
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1586712498.2.0.649122705148.issue40262@roundup.psfhosted.org>
In-reply-to
Content
I am writing this as a bug, as I have an object which implements the buffer protocol but not the __len__.

SSL's recv_into seems to require the buffer object to implement __len__, but this is unlike the socket recv_into which uses the buffer protocol length.

Here is the socket.recv_into implementation:
https://github.com/python/cpython/blob/402e1cdb132f384e4dcde7a3d7ec7ea1fc7ab527/Modules/socketmodule.c#L3556

as you can see, the length is optional, and it not given, it takes it from the buffer protocol length.

But here is SSL recv_into implementation:
https://github.com/python/cpython/blob/master/Lib/ssl.py#L1233

if length is not given, it tries to call the __len__ of the object itself (not it's buffer protocol).
History
Date User Action Args
2020-04-12 17:28:18tzickelsetrecipients: + tzickel, christian.heimes
2020-04-12 17:28:18tzickelsetmessageid: <1586712498.2.0.649122705148.issue40262@roundup.psfhosted.org>
2020-04-12 17:28:17tzickellinkissue40262 messages
2020-04-12 17:28:17tzickelcreate