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 774189 - Port libsoup to the new private api
Port libsoup to the new private api
Status: RESOLVED FIXED
Product: libsoup
Classification: Core
Component: API
unspecified
Other All
: Normal normal
: ---
Assigned To: libsoup-maint@gnome.bugs
libsoup-maint@gnome.bugs
Depends on:
Blocks:
 
 
Reported: 2016-11-10 10:00 UTC by Ignacio Casal Quinteiro (nacho)
Modified: 2018-04-16 08:44 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
address: port to use the new private api (11.72 KB, patch)
2016-11-10 10:00 UTC, Ignacio Casal Quinteiro (nacho)
none Details | Review
auth-basic: port to use the new private api (3.03 KB, patch)
2016-11-10 10:00 UTC, Ignacio Casal Quinteiro (nacho)
none Details | Review
auth: port to the new private api (2.75 KB, patch)
2016-11-10 10:00 UTC, Ignacio Casal Quinteiro (nacho)
none Details | Review
auth-digest: port to the new private api (4.28 KB, patch)
2016-11-10 10:00 UTC, Ignacio Casal Quinteiro (nacho)
none Details | Review
auth-domain-basic: port to the new private api (3.22 KB, patch)
2016-11-10 10:00 UTC, Ignacio Casal Quinteiro (nacho)
none Details | Review
auth-domain: port to the new private api (5.96 KB, patch)
2016-11-10 10:01 UTC, Ignacio Casal Quinteiro (nacho)
none Details | Review
auth-domain-digest: port to the new private api (3.27 KB, patch)
2016-11-10 10:01 UTC, Ignacio Casal Quinteiro (nacho)
none Details | Review
auth-manager: port to the new private api (2.09 KB, patch)
2016-11-10 10:01 UTC, Ignacio Casal Quinteiro (nacho)
none Details | Review
auth-negotiate: port to the new private api (5.70 KB, patch)
2016-11-10 10:01 UTC, Ignacio Casal Quinteiro (nacho)
none Details | Review
auth-ntlm: port to the new private api (4.75 KB, patch)
2016-11-10 10:01 UTC, Ignacio Casal Quinteiro (nacho)
none Details | Review
body-input-stream: port to the new private api (1.99 KB, patch)
2016-11-10 10:01 UTC, Ignacio Casal Quinteiro (nacho)
none Details | Review
body-output-stream: port to the new private api (1.89 KB, patch)
2016-11-10 10:01 UTC, Ignacio Casal Quinteiro (nacho)
none Details | Review
cache: port to the new private api (2.53 KB, patch)
2016-11-10 10:01 UTC, Ignacio Casal Quinteiro (nacho)
none Details | Review
cache-input-stream: port to the new private api (2.53 KB, patch)
2016-11-10 10:01 UTC, Ignacio Casal Quinteiro (nacho)
none Details | Review
client-input-stream: port to the new private api (1.88 KB, patch)
2016-11-10 10:01 UTC, Ignacio Casal Quinteiro (nacho)
none Details | Review
connection-auth: port to the new private api (1.64 KB, patch)
2016-11-10 10:01 UTC, Ignacio Casal Quinteiro (nacho)
none Details | Review
connection: port to the new private api (10.39 KB, patch)
2016-11-10 10:01 UTC, Ignacio Casal Quinteiro (nacho)
none Details | Review
content-decoder: port to the new private api (1.66 KB, patch)
2016-11-10 10:02 UTC, Ignacio Casal Quinteiro (nacho)
none Details | Review
content-sniffer-stream: port to the new private api (2.53 KB, patch)
2016-11-10 10:02 UTC, Ignacio Casal Quinteiro (nacho)
none Details | Review
converter-wrapper: port to the new private api (2.05 KB, patch)
2016-11-10 10:02 UTC, Ignacio Casal Quinteiro (nacho)
none Details | Review
cookie-jar: port to the new private api (6.98 KB, patch)
2016-11-10 10:02 UTC, Ignacio Casal Quinteiro (nacho)
none Details | Review
cookie-jar-db: port to the new private api (3.04 KB, patch)
2016-11-10 10:02 UTC, Ignacio Casal Quinteiro (nacho)
none Details | Review
cookie-jar-text: port to the new private api (2.94 KB, patch)
2016-11-10 10:02 UTC, Ignacio Casal Quinteiro (nacho)
none Details | Review
filter-input-stream: port to the new private api (1.77 KB, patch)
2016-11-10 10:02 UTC, Ignacio Casal Quinteiro (nacho)
none Details | Review
io-stream: port to the new private api (1.41 KB, patch)
2016-11-10 10:02 UTC, Ignacio Casal Quinteiro (nacho)
none Details | Review
logger: port to the new private api (7.79 KB, patch)
2016-11-10 10:02 UTC, Ignacio Casal Quinteiro (nacho)
none Details | Review
Port some of the classes to the new glib private api (91.85 KB, patch)
2016-11-14 16:26 UTC, Ignacio Casal Quinteiro (nacho)
committed Details | Review
Define SoupAuthNegotiate unconditionally (1.71 KB, patch)
2016-12-06 12:17 UTC, Allison Karlitskaya (desrt)
committed Details | Review

Description Ignacio Casal Quinteiro (nacho) 2016-11-10 10:00:32 UTC
Start porting some of the classes to the new glib private api.
Each patch is self contained so it can be pushed independently.
Comment 1 Ignacio Casal Quinteiro (nacho) 2016-11-10 10:00:36 UTC
Created attachment 339442 [details] [review]
address: port to use the new private api
Comment 2 Ignacio Casal Quinteiro (nacho) 2016-11-10 10:00:44 UTC
Created attachment 339443 [details] [review]
auth-basic: port to use the new private api
Comment 3 Ignacio Casal Quinteiro (nacho) 2016-11-10 10:00:50 UTC
Created attachment 339444 [details] [review]
auth: port to the new private api
Comment 4 Ignacio Casal Quinteiro (nacho) 2016-11-10 10:00:55 UTC
Created attachment 339445 [details] [review]
auth-digest: port to the new private api
Comment 5 Ignacio Casal Quinteiro (nacho) 2016-11-10 10:00:59 UTC
Created attachment 339446 [details] [review]
auth-domain-basic: port to the new private api
Comment 6 Ignacio Casal Quinteiro (nacho) 2016-11-10 10:01:04 UTC
Created attachment 339447 [details] [review]
auth-domain: port to the new private api
Comment 7 Ignacio Casal Quinteiro (nacho) 2016-11-10 10:01:10 UTC
Created attachment 339448 [details] [review]
auth-domain-digest: port to the new private api
Comment 8 Ignacio Casal Quinteiro (nacho) 2016-11-10 10:01:14 UTC
Created attachment 339449 [details] [review]
auth-manager: port to the new private api
Comment 9 Ignacio Casal Quinteiro (nacho) 2016-11-10 10:01:19 UTC
Created attachment 339450 [details] [review]
auth-negotiate: port to the new private api
Comment 10 Ignacio Casal Quinteiro (nacho) 2016-11-10 10:01:24 UTC
Created attachment 339451 [details] [review]
auth-ntlm: port to the new private api
Comment 11 Ignacio Casal Quinteiro (nacho) 2016-11-10 10:01:29 UTC
Created attachment 339452 [details] [review]
body-input-stream: port to the new private api
Comment 12 Ignacio Casal Quinteiro (nacho) 2016-11-10 10:01:34 UTC
Created attachment 339453 [details] [review]
body-output-stream: port to the new private api
Comment 13 Ignacio Casal Quinteiro (nacho) 2016-11-10 10:01:39 UTC
Created attachment 339454 [details] [review]
cache: port to the new private api
Comment 14 Ignacio Casal Quinteiro (nacho) 2016-11-10 10:01:43 UTC
Created attachment 339455 [details] [review]
cache-input-stream: port to the new private api
Comment 15 Ignacio Casal Quinteiro (nacho) 2016-11-10 10:01:48 UTC
Created attachment 339456 [details] [review]
client-input-stream: port to the new private api
Comment 16 Ignacio Casal Quinteiro (nacho) 2016-11-10 10:01:53 UTC
Created attachment 339457 [details] [review]
connection-auth: port to the new private api
Comment 17 Ignacio Casal Quinteiro (nacho) 2016-11-10 10:01:58 UTC
Created attachment 339458 [details] [review]
connection: port to the new private api
Comment 18 Ignacio Casal Quinteiro (nacho) 2016-11-10 10:02:03 UTC
Created attachment 339459 [details] [review]
content-decoder: port to the new private api
Comment 19 Ignacio Casal Quinteiro (nacho) 2016-11-10 10:02:08 UTC
Created attachment 339460 [details] [review]
content-sniffer-stream: port to the new private api
Comment 20 Ignacio Casal Quinteiro (nacho) 2016-11-10 10:02:13 UTC
Created attachment 339461 [details] [review]
converter-wrapper: port to the new private api
Comment 21 Ignacio Casal Quinteiro (nacho) 2016-11-10 10:02:17 UTC
Created attachment 339462 [details] [review]
cookie-jar: port to the new private api
Comment 22 Ignacio Casal Quinteiro (nacho) 2016-11-10 10:02:22 UTC
Created attachment 339463 [details] [review]
cookie-jar-db: port to the new private api
Comment 23 Ignacio Casal Quinteiro (nacho) 2016-11-10 10:02:27 UTC
Created attachment 339464 [details] [review]
cookie-jar-text: port to the new private api
Comment 24 Ignacio Casal Quinteiro (nacho) 2016-11-10 10:02:33 UTC
Created attachment 339465 [details] [review]
filter-input-stream: port to the new private api
Comment 25 Ignacio Casal Quinteiro (nacho) 2016-11-10 10:02:38 UTC
Created attachment 339466 [details] [review]
io-stream: port to the new private api
Comment 26 Ignacio Casal Quinteiro (nacho) 2016-11-10 10:02:43 UTC
Created attachment 339467 [details] [review]
logger: port to the new private api
Comment 27 Dan Winship 2016-11-10 13:16:15 UTC
oof. could you either squash that or push it as a branch somewhere?
Comment 28 Ignacio Casal Quinteiro (nacho) 2016-11-10 13:21:36 UTC
Sure: wip/withprivate
Comment 29 Dan Winship 2016-11-13 16:09:49 UTC
Sure, looks fine, and we already depend on a new-enough glib.

I don't think there's any reason to commit the changes file-by-file though. Just squash it all together when you're done and commit it.
Comment 30 Ignacio Casal Quinteiro (nacho) 2016-11-14 16:26:34 UTC
Created attachment 339817 [details] [review]
Port some of the classes to the new glib private api

We are already depending on the a newly enough glib so
we are now allowed to clean up a bit and use the new private
api.
Comment 31 Ignacio Casal Quinteiro (nacho) 2016-11-14 16:32:10 UTC
Attachment 339817 [details] pushed as bd93c27 - Port some of the classes to the new glib private api
Comment 32 Allison Karlitskaya (desrt) 2016-12-06 12:11:59 UTC
This broke the build if LIBSOUP_HAVE_GSSAPI is missing, due to moving the DEFINE_TYPE inside of the #ifdef in soup-auth-negotiate.c.  I'm assuming you did that because the Private struct contains gss types, and (now) needs to be defined before the class is defined.

Suggested fix: #ifdef only around the gss-specific types in the private struct, and declare the class unconditionally.
Comment 33 Allison Karlitskaya (desrt) 2016-12-06 12:17:49 UTC
Created attachment 341475 [details] [review]
Define SoupAuthNegotiate unconditionally

This class doesn't do much if LIBSOUP_HAVE_GSSAPI is not defined, but
the type itself still needs to exist, or (among other things) the
introspection build will fail.
    
bd93c273ea787df4f3fe03c9cf6c8e53d8fc5fc9 broke that, by making the
G_DEFINE_TYPE() condition on #ifdef LIBSOUP_HAVE_GSSAPI.  This was done
because the Private struct contains gss types.
    
Reorder things a bit to make sure we always do the G_DEFINE_TYPE() even
if we have no GSSAPI.
Comment 34 Ignacio Casal Quinteiro (nacho) 2016-12-06 12:28:05 UTC
Review of attachment 341475 [details] [review]:

Looks good.
Comment 35 Allison Karlitskaya (desrt) 2016-12-06 12:57:22 UTC
Review of attachment 341475 [details] [review]:

To ssh://git.gnome.org/git/libsoup
   cf21cfa..975e6f5  master -> master
Comment 36 Tomas Popela 2018-04-16 08:40:40 UTC
Is there any reason why this bug is not closed? Looks like it's already fixed. Ignacio, can you please close this bug if it's indeed fixed?
Comment 37 Ignacio Casal Quinteiro (nacho) 2018-04-16 08:44:52 UTC
I guess we can close it. There was still some class that was not ported but it was a bit difficult to port it.
Thanks for pointing it out.