Kreogist / Mu

An open-source music manager.
http://kreogist.github.io/Mu
GNU General Public License v2.0
273 stars 40 forks source link

Windows 10 无法登陆 Kreogist 账户/Windows 10 cannot log in to Kreogist Account #20

Closed Harinlen closed 8 years ago

Harinlen commented 8 years ago

现在已经确认了在 Windows 10 下存在一个已知的bug。无法注册、登录使用 Kreogist 账户。 现在仍然无法确认问题原因。

Now we have already found a bug under Windows 10. Kreogist µ cannot register/log in Kreogist Account. The reason is still unknown.

Harinlen commented 8 years ago

Bug 问题已经确认,Win10下找不到相关的SSL库导致相关SSL库函数无法重定向。从而无法发起SSL对话,反馈为网络无法连接问题。 Bug has been located. Qt network module cannot find SSL libraries and some functions cannot be resolved. So that it cannot start SSL connection and report a connection error.

Harinlen commented 8 years ago

64-bit Windows 7 Ultimate 版下使用Qt 5.6.0+MSVC编译,输出若干函数无法确定的问题:

qt.network.ssl: QSslSocket: cannot resolve TLSv1_1_client_method
qt.network.ssl: QSslSocket: cannot resolve TLSv1_2_client_method
qt.network.ssl: QSslSocket: cannot resolve TLSv1_1_server_method
qt.network.ssl: QSslSocket: cannot resolve TLSv1_2_server_method
qt.network.ssl: QSslSocket: cannot resolve SSL_select_next_proto
qt.network.ssl: QSslSocket: cannot resolve SSL_CTX_set_next_proto_select_cb
qt.network.ssl: QSslSocket: cannot resolve SSL_get0_next_proto_negotiated

初步确定是SSL库缺少导致的问题,使用 OpenSSL x64 1.0.2h 中的dll文件进行逐一检测,发现将libeay32.dll与ssleay32.dll复制后不再显示该问题。等待稍后使用Windows 10进行测试。

Testing under 64-bit Windows 7 Ultimate with Qt 5.6.0+MSVC, Qt output several problems with the function cannot be resolved.

qt.network.ssl: QSslSocket: cannot resolve TLSv1_1_client_method
qt.network.ssl: QSslSocket: cannot resolve TLSv1_2_client_method
qt.network.ssl: QSslSocket: cannot resolve TLSv1_1_server_method
qt.network.ssl: QSslSocket: cannot resolve TLSv1_2_server_method
qt.network.ssl: QSslSocket: cannot resolve SSL_select_next_proto
qt.network.ssl: QSslSocket: cannot resolve SSL_CTX_set_next_proto_select_cb
qt.network.ssl: QSslSocket: cannot resolve SSL_get0_next_proto_negotiated

It could be initially ensured that this is caused by lacking of OpenSSL library files. After analysising with OpenSSL x64 1.0.2h and copying the dll to the directory, we found out that after coping libeay32.dll and ssleay32.dll there's no output of those 'cannot resolve'. It is still waiting for testing under Windows 10.

Harinlen commented 8 years ago

Windows 10 下测试通过,之后的Windows发行版将会携带libeay32的相关文件。 Tested under Windows 10, passed. All the following release will add libeay32 related files.