summaryrefslogtreecommitdiff
blob: 489de037a488c1c2fa166b2d2983563f9155f7b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
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()