SslSocket encrypted() never called on server side on Ubuntu
-
I am building a server/client using a secured connection. I provided my code in a zip file so you can test it out. The "client" and "server" and "server_signals" folders contain the required pro files. Use it by launching a server and then a client to make a connection.
The "server" folder contains a blocking approach to the problem and works on all OSes no problem.
/!\ Please run the executables from within their folder since I'm using relative paths for the certificates.
If you try to launch the server in the server_signals folder, that code does not work for me on Ubuntu 12.04 LTS x64 (and also x86) nor Fedora 20 x64 (both inside a virtualbox), but works perfectly on OSX Mavericks.
EDIT: A friend just tested the code on Windows 7 x64 and there it also works.
EDIT2: Another friend tested on Arch Linux x64 and it doesn't work, so it's not Virtualbox related but more linux related.I compiled this code using Qt 5.1.2.
When using the server_signals server, the encrypted() signal is never called on the server side in ubuntu or fedora.Inside virtualbox, on Ubuntu 12.04 or Fedora 20 KDE x64, when launching ./server in the server_signals folder, and then ./test in client, the connection times out (encrypted() never called). No Ssl errors or anything are triggered.
On OSX it works no problem.I then tried to compile Qt 4.8 from source with -openssl. When compiling with that version, I get a SslSocketNotifier warning that there are multiple notifiers on one socket (for read). But still same behavior (timeout).
"You can dowload the folder with certificates and everything here":https://dl.dropboxusercontent.com/u/14545897/Qtssl.zip