Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 859583

Summary: mail-client/claws-mail-3.19.0-r1[-gnutls] - In function 'oauth2_obtain_tokens': oauth2.c:253:13: error: 'SockInfo' {aka 'struct _SockInfo'} has no member named 'gnutls_priority'
Product: Gentoo Linux Reporter: ernsteiswuerfel <erhard_f>
Component: Current packagesAssignee: Bernard Cafarelli <voyageur>
Status: RESOLVED FIXED    
Severity: normal CC: toralf
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
URL: https://www.thewildbeast.co.uk/claws-mail/bugzilla/show_bug.cgi?id=4615
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: build.log
emerge --info

Description ernsteiswuerfel archtester 2022-07-20 21:12:15 UTC
Created attachment 792659 [details]
build.log

Found out during tatt-testing claws-mail-3.19.0-r1 won'T build with USE='-gnutls'.

[...]
powerpc64-unknown-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I..  -DG_LOG_DOMAIN=\"Claws-Mail\" -DLOCALEDIR=\""/usr/share/locale"\" -DPIXMAP_DIR=\""/usr/share/icons/hicolor/48x48/apps"\" -DMANUALDIR=\""/usr/share/doc/claws-mail-3.19.0-r1/manual"\" -DTARGET_ALIAS=\""powerpc64-unknown-linux-gnu"\" -DSYSCONFDIR=\""/etc"\" -DDATAROOTDIR=\""/usr/share"\" -I./common -Icommon -I./gtk -I./etpan -I/usr/include/enchant-2 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread  -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/atk-1.0 -pthread  -DGTK_DISABLE_SINGLE_INCLUDES -DGSEAL_ENABLE    -I/usr/include/startup-notification-1.0  -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi/include  -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -pthread -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/harfbuzz  -I/usr/include/libnm -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi/include -pthread -I/usr/include/libmount -I/usr/include/blkid     -Wall -Wno-pointer-sign -O2 -mcpu=970 -mtune=970 -pipe -c -o oauth2.o oauth2.c
In file included from /usr/include/gtk-2.0/gtk/gtkobject.h:37,
                 from /usr/include/gtk-2.0/gtk/gtkwidget.h:36,
                 from /usr/include/gtk-2.0/gtk/gtkcontainer.h:35,
                 from /usr/include/gtk-2.0/gtk/gtkbin.h:35,
                 from /usr/include/gtk-2.0/gtk/gtkwindow.h:36,
                 from /usr/include/gtk-2.0/gtk/gtkdialog.h:35,
                 from /usr/include/gtk-2.0/gtk/gtkaboutdialog.h:32,
                 from /usr/include/gtk-2.0/gtk/gtk.h:33,
                 from gtk/prefswindow.h:24,
                 from prefs_account.h:54,
                 from oauth2.h:29,
                 from oauth2.c:36:
/usr/include/gtk-2.0/gtk/gtktypeutils.h:236:1: warning: 'GTypeDebugFlags' is deprecated [-Wdeprecated-declarations]
  236 | void            gtk_type_init   (GTypeDebugFlags    debug_flags);
      | ^~~~
In file included from /usr/include/glib-2.0/gobject/gobject.h:24,
                 from /usr/include/glib-2.0/gobject/gbinding.h:29,
                 from /usr/include/glib-2.0/glib-object.h:22,
                 from /usr/include/glib-2.0/gio/gioenums.h:28,
                 from /usr/include/glib-2.0/gio/giotypes.h:28,
                 from /usr/include/glib-2.0/gio/gio.h:26,
                 from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
                 from /usr/include/gtk-2.0/gdk/gdk.h:32,
                 from /usr/include/gtk-2.0/gtk/gtk.h:32,
                 from gtk/prefswindow.h:24,
                 from prefs_account.h:54,
                 from oauth2.h:29,
                 from oauth2.c:36:
/usr/include/glib-2.0/gobject/gtype.h:698:1: note: declared here
  698 | {
      | ^
In file included from /usr/include/gtk-2.0/gtk/gtktoolitem.h:31,
                 from /usr/include/gtk-2.0/gtk/gtktoolbutton.h:30,
                 from /usr/include/gtk-2.0/gtk/gtkmenutoolbutton.h:30,
                 from /usr/include/gtk-2.0/gtk/gtk.h:126,
                 from gtk/prefswindow.h:24,
                 from prefs_account.h:54,
                 from oauth2.h:29,
                 from oauth2.c:36:
/usr/include/gtk-2.0/gtk/gtktooltips.h:73:3: warning: 'GTimeVal' is deprecated: Use 'GDateTime' instead [-Wdeprecated-declarations]
   73 |   GTimeVal last_popdown;
      |   ^~~~~~~~
In file included from /usr/include/glib-2.0/glib/galloca.h:32,
                 from /usr/include/glib-2.0/glib.h:30,
                 from oauth2.c:25:
/usr/include/glib-2.0/glib/gtypes.h:553:8: note: declared here
  553 | struct _GTimeVal
      |        ^~~~~~~~~
oauth2.c: In function 'oauth2_obtain_tokens':
oauth2.c:253:13: error: 'SockInfo' {aka 'struct _SockInfo'} has no member named 'gnutls_priority'
  253 |         sock->gnutls_priority = "NORMAL:!VERS-SSL3.0:!VERS-TLS1.0:!VERS-TLS1.1";
      |             ^~
oauth2.c:254:13: warning: implicit declaration of function 'ssl_init_socket' [-Wimplicit-function-declaration]
  254 |         if (ssl_init_socket(sock) == FALSE) {
      |             ^~~~~~~~~~~~~~~
oauth2.c: In function 'oauth2_use_refresh_token':
oauth2.c:405:13: error: 'SockInfo' {aka 'struct _SockInfo'} has no member named 'gnutls_priority'
  405 |         sock->gnutls_priority = "NORMAL:!VERS-SSL3.0:!VERS-TLS1.0:!VERS-TLS1.1";
      |             ^~
make[4]: *** [Makefile:1610: oauth2.o] Error 1
Comment 1 ernsteiswuerfel archtester 2022-07-20 21:12:58 UTC
Created attachment 792662 [details]
emerge --info
Comment 2 Bernard Cafarelli gentoo-dev 2022-07-21 20:20:33 UTC
Interesting one, and reproduced on latest 4.1.0 and master branch.

The 2 relevant calls on sock->gnutls_priority could be wrapped under "#ifdef USE_GNUTLS" but I am pretty sure oauth2 will not work without TLS. So the fix may rather be to disable oauth2 without gnutls. I will fill a bug upstream.

Though I am wondering if we should just force enable gnutls support (which is the only TLS support now in claws-mail), a visual mail client without TLS support does not make a lot of sense these days security-wise
Comment 3 Larry the Git Cow gentoo-dev 2022-07-23 20:21:51 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6991b46ae6606e1ff7c74ed02883d105f2bef970

commit 6991b46ae6606e1ff7c74ed02883d105f2bef970
Author:     Bernard Cafarelli <voyageur@gentoo.org>
AuthorDate: 2022-07-23 20:21:18 +0000
Commit:     Bernard Cafarelli <voyageur@gentoo.org>
CommitDate: 2022-07-23 20:21:49 +0000

    mail-client/claws-mail: fix build with USE=-gnutls
    
    Closes: https://bugs.gentoo.org/859583
    Signed-off-by: Bernard Cafarelli <voyageur@gentoo.org>

 mail-client/claws-mail/claws-mail-4.1.0-r1.ebuild  |   1 +
 .../files/claws-mail-4.1.0-disable_gnutls.patch    | 641 +++++++++++++++++++++
 2 files changed, 642 insertions(+)
Comment 4 Bernard Cafarelli gentoo-dev 2022-11-18 15:05:42 UTC
*** Bug 830288 has been marked as a duplicate of this bug. ***