After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 696671 - Gio::Tls*: Ensure their correct functionality.
Gio::Tls*: Ensure their correct functionality.
Status: RESOLVED FIXED
Product: glibmm
Classification: Bindings
Component: giomm
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gtkmm-forge
gtkmm-forge
Depends on:
Blocks:
 
 
Reported: 2013-03-27 06:09 UTC by José Alburquerque
Modified: 2013-05-07 09:04 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Gio::Tls*: Ensure their correct functionality. (12.15 KB, patch)
2013-03-27 06:09 UTC, José Alburquerque
committed Details | Review

Description José Alburquerque 2013-03-27 06:09:04 UTC
Created attachment 239916 [details] [review]
Gio::Tls*: Ensure their correct functionality.

This patch is to show that correct functionality of the Gio::Tls* classes is possible.  A few changes would be needed to Glib::Interface, the _CLASS_INTERFACE macro and Gio::Tls[Client|Server]Connection sources (particularly the implementation of a custom cast constructor) so that the functionality is correct, but in fact, all the classes prove to work (except for TlsServerConnection which would have to be modified like TlsClientConnection and work similarly).

I know the API is new and probably not quite ready.  At least this patch shows that it's not really that far from being usable.
Comment 1 Murray Cumming 2013-03-27 08:47:11 UTC
How confident are you about all this? Would you like to remove all Gio::Tls* API from git master for glibmm 2.36.0 and add it back to git master after branching? That might take the pressure off.
Comment 2 José Alburquerque 2013-03-27 20:49:03 UTC
To be honest, yes, I think that would be best.  That would make it possible to make sure that the API is just right and there wont be a need to break API or ABI when a stable release goes out.  I've removed the related API from the build for now.
Comment 3 José Alburquerque 2013-03-27 20:53:25 UTC
Here's the commit:
https://git.gnome.org/browse/glibmm/commit/?id=45511d8e0ffdda76d792174569535a8b7f326d93
Comment 4 José Alburquerque 2013-04-08 05:08:57 UTC
I'm pretty sure the patch in this bug to fix TlsClientConnection is necessary for the TlsClientConnection class to work properly so I pushed the patch, however, I split the patch in two parts (one fixing TlsCleintConnection and the other adding the basic test) and edited the commit messages so that it is clear what is being done.

I've also fixed TlsServerConnection in similar fashion as TlsClientConnection.  They are parallel classes so they would work in a parallel way.  These are the commits:

https://git.gnome.org/browse/glibmm/commit/?id=ed95a3b5ddfb036e91be5d868e74f23ba304f37b
https://git.gnome.org/browse/glibmm/commit/?id=e9d09efcad4b92ac0fd497eeacf96d988c720319
https://git.gnome.org/browse/glibmm/commit/?id=237cdf9553a247f70fd2f94c1338af31270b1a7f

The Tls* API should be finished fairly soon.
Comment 5 José Alburquerque 2013-04-08 05:10:49 UTC
Comment on attachment 239916 [details] [review]
Gio::Tls*: Ensure their correct functionality.

Committed in two separate commits with edited commit messages.
Comment 6 José Alburquerque 2013-04-16 03:45:51 UTC
I've reviewed the Tls API and can now say that I have confidence that they have been correctly wrapped.  I would feel comfortable with the API being included in a stable release.
Comment 7 Murray Cumming 2013-05-07 09:04:17 UTC
OK. Well done. Then let's close this bug and just open separate bugs if we find problems. Thanks.