Build: #71 was successful Changes by Florian Schmaus <flo@geekplace.eu>
Code commits
Smack (4.2)
-
Florian Schmaus <flo@geekplace.eu> d804d4ed6d9ef7d2a66e318bf9200c6c93f25b43
Do not abort if we could not get a KeyManagerFactory
using the default algorithm. Instead continue with 'null' as value of
the KeyManager[] array (kms). This makes the SSLContext.init() methods
to search the default security providers for implementations, which is
also OK.
This change is needed because it appears that on Android
KeyManagerFactory.getDefaultAlgorithm returns 'SunX509', which
subsequently results in
W/AbstractXMPPConnection: Connection XMPPTCPConnection[not-authenticated] (0) closed with error
java.security.NoSuchAlgorithmException: KeyManagerFactory SunX509 implementation not found
at org.apache.harmony.security.fortress.Engine.notFound(Engine.java:190)
at org.apache.harmony.security.fortress.Engine.getInstance(Engine.java:139)
at javax.net.ssl.KeyManagerFactory.getInstance(KeyManagerFactory.java:77)
at org.jivesoftware.smack.tcp.XMPPTCPConnection.proceedTLSReceived(XMPPTCPConnection.java:747)
at org.jivesoftware.smack.tcp.XMPPTCPConnection.access$1200(XMPPTCPConnection.java:149)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1053)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$300(XMPPTCPConnection.java:980)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:996)
at java.lang.Thread.run(Thread.java:818)
Note that this is possibly because the Secuurity Provider was
not (yet) intialized.- smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java (version d804d4ed6d9ef7d2a66e318bf9200c6c93f25b43)
-
Florian Schmaus <flo@geekplace.eu> 573358b459bc6402a6eca6f3daf075df3c3f0bf3
Limit the scope of local variables in proceedTLSReceived()
- smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java (version 573358b459bc6402a6eca6f3daf075df3c3f0bf3)