summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/xmpppy/files/xmpppy-hashlib_ssl_deprecation.patch')
-rw-r--r--dev-python/xmpppy/files/xmpppy-hashlib_ssl_deprecation.patch69
1 files changed, 69 insertions, 0 deletions
diff --git a/dev-python/xmpppy/files/xmpppy-hashlib_ssl_deprecation.patch b/dev-python/xmpppy/files/xmpppy-hashlib_ssl_deprecation.patch
new file mode 100644
index 000000000000..489de037a488
--- /dev/null
+++ b/dev-python/xmpppy/files/xmpppy-hashlib_ssl_deprecation.patch
@@ -0,0 +1,69 @@
+--- xmpp/auth.py
++++ xmpp/auth.py
+@@ -21,11 +21,16 @@
+
+ from protocol import *
+ from client import PlugIn
+-import sha,base64,random,dispatcher,re
++import base64,random,dispatcher,re
+
+-import md5
+-def HH(some): return md5.new(some).hexdigest()
+-def H(some): return md5.new(some).digest()
++try:
++ from hashlib import md5, sha1
++except ImportError:
++ from md5 import new as md5
++ from sha import new as sha1
++
++def HH(some): return md5(some).hexdigest()
++def H(some): return md5(some).digest()
+ def C(some): return ':'.join(some)
+
+ class NonSASL(PlugIn):
+@@ -54,15 +59,15 @@
+
+ if query.getTag('digest'):
+ self.DEBUG("Performing digest authentication",'ok')
+- query.setTagData('digest',sha.new(owner.Dispatcher.Stream._document_attrs['id']+self.password).hexdigest())
++ query.setTagData('digest',sha1(owner.Dispatcher.Stream._document_attrs['id']+self.password).hexdigest())
+ if query.getTag('password'): query.delChild('password')
+ method='digest'
+ elif query.getTag('token'):
+ token=query.getTagData('token')
+ seq=query.getTagData('sequence')
+ self.DEBUG("Performing zero-k authentication",'ok')
+- hash = sha.new(sha.new(self.password).hexdigest()+token).hexdigest()
+- for foo in xrange(int(seq)): hash = sha.new(hash).hexdigest()
++ hash = sha1(sha1(self.password).hexdigest()+token).hexdigest()
++ for foo in xrange(int(seq)): hash = sha1(hash).hexdigest()
+ query.setTagData('hash',hash)
+ method='0k'
+ else:
+@@ -81,7 +86,7 @@
+ def authComponent(self,owner):
+ """ Authenticate component. Send handshake stanza and wait for result. Returns "ok" on success. """
+ self.handshake=0
+- owner.send(Node(NS_COMPONENT_ACCEPT+' handshake',payload=[sha.new(owner.Dispatcher.Stream._document_attrs['id']+self.password).hexdigest()]))
++ owner.send(Node(NS_COMPONENT_ACCEPT+' handshake',payload=[sha1(owner.Dispatcher.Stream._document_attrs['id']+self.password).hexdigest()]))
+ owner.RegisterHandler('handshake',self.handshakeHandler,xmlns=NS_COMPONENT_ACCEPT)
+ while not self.handshake:
+ self.DEBUG("waiting on handshake",'notify')
+--- xmpp/transports.py
++++ xmpp/transports.py
+@@ -31,6 +31,7 @@
+ from simplexml import ustr
+ from client import PlugIn
+ from protocol import *
++import warnings
+
+ # determine which DNS resolution library is available
+ HAVE_DNSPYTHON = False
+@@ -312,6 +313,7 @@
+ """ Immidiatedly switch socket to TLS mode. Used internally."""
+ """ Here we should switch pending_data to hint mode."""
+ tcpsock=self._owner.Connection
++ warnings.filterwarnings("ignore", "socket\.ssl.*ssl\.wrap_socket", DeprecationWarning)
+ tcpsock._sslObj = socket.ssl(tcpsock._sock, None, None)
+ tcpsock._sslIssuer = tcpsock._sslObj.issuer()
+ tcpsock._sslServer = tcpsock._sslObj.server()