[pypy-commit] pypy py3k: Remove "issuer" and "server" attributes from ssl socket.
amauryfa
noreply at buildbot.pypy.org
Sat Dec 17 23:01:06 CET 2011
Author: Amaury Forgeot d'Arc <amauryfa at gmail.com>
Branch: py3k
Changeset: r50639:6a82b1beaf24
Date: 2011-12-17 14:24 +0100
http://bitbucket.org/pypy/pypy/changeset/6a82b1beaf24/
Log: Remove "issuer" and "server" attributes from ssl socket. + Fix
shutdown test
diff --git a/pypy/module/_ssl/interp_ssl.py b/pypy/module/_ssl/interp_ssl.py
--- a/pypy/module/_ssl/interp_ssl.py
+++ b/pypy/module/_ssl/interp_ssl.py
@@ -328,25 +328,13 @@
self.w_socket = None
self.ssl = lltype.nullptr(SSL.TO)
self.peer_cert = lltype.nullptr(X509.TO)
- self._server = lltype.malloc(rffi.CCHARP.TO, X509_NAME_MAXLEN, flavor='raw')
- self._server[0] = '\0'
- self._issuer = lltype.malloc(rffi.CCHARP.TO, X509_NAME_MAXLEN, flavor='raw')
- self._issuer[0] = '\0'
self.shutdown_seen_zero = False
- def server(self, space):
- return space.wrap(rffi.charp2str(self._server))
-
- def issuer(self, space):
- return space.wrap(rffi.charp2str(self._issuer))
-
def __del__(self):
if self.peer_cert:
libssl_X509_free(self.peer_cert)
if self.ssl:
libssl_SSL_free(self.ssl)
- lltype.free(self._server, flavor='raw')
- lltype.free(self._issuer, flavor='raw')
@unwrap_spec(data='bufferstr')
def write(self, space, data):
@@ -513,13 +501,6 @@
if self.peer_cert:
libssl_X509_free(self.peer_cert)
self.peer_cert = libssl_SSL_get_peer_certificate(self.ssl)
- if self.peer_cert:
- libssl_X509_NAME_oneline(
- libssl_X509_get_subject_name(self.peer_cert),
- self._server, X509_NAME_MAXLEN)
- libssl_X509_NAME_oneline(
- libssl_X509_get_issuer_name(self.peer_cert),
- self._issuer, X509_NAME_MAXLEN)
def shutdown(self, space):
w_socket = self._get_socket(space)
@@ -827,8 +808,6 @@
return space.newtuple([w_name, w_value])
SSLSocket.typedef = TypeDef("_SSLSocket",
- server = interp2app(SSLSocket.server),
- issuer = interp2app(SSLSocket.issuer),
write = interp2app(SSLSocket.write),
pending = interp2app(SSLSocket.pending),
read = interp2app(SSLSocket.read),
diff --git a/pypy/module/_ssl/test/test_ssl.py b/pypy/module/_ssl/test/test_ssl.py
--- a/pypy/module/_ssl/test/test_ssl.py
+++ b/pypy/module/_ssl/test/test_ssl.py
@@ -95,20 +95,6 @@
self.s.close()
del ss; gc.collect()
- def test_server(self):
- import ssl, gc
- ss = ssl.wrap_socket(self.s)
- assert isinstance(ss.server(), str)
- self.s.close()
- del ss; gc.collect()
-
- def test_issuer(self):
- import ssl, gc
- ss = ssl.wrap_socket(self.s)
- assert isinstance(ss.issuer(), str)
- self.s.close()
- del ss; gc.collect()
-
def test_write(self):
import ssl, gc
ss = ssl.wrap_socket(self.s)
@@ -142,18 +128,16 @@
del ss; gc.collect()
def test_shutdown(self):
- import ssl, sys, gc
- ss = socket.ssl(self.s)
+ import socket, ssl, sys, gc
+ ss = ssl.wrap_socket(self.s)
ss.write(b"hello\n")
try:
- result = ss.shutdown()
+ ss.shutdown(socket.SHUT_RDWR)
except socket.error, e:
- # xxx obscure case; throwing errno 0 is pretty odd...
if e.errno == 0:
- skip("Shutdown raised errno 0. CPython does this too")
+ pass # xxx obscure case; throwing errno 0 is pretty odd...
raise
- assert result is self.s._sock
- raises(ssl.SSLError, ss.write, b"hello\n")
+ raises(AttributeError, ss.write, b"hello\n")
del ss; gc.collect()
class AppTestConnectedSSL_Timeout(AppTestConnectedSSL):
More information about the pypy-commit
mailing list